Автор Тема: Сборка пакета из svn  (Прочитано 4134 раз)

Оффлайн Connie

  • Завсегдатай
  • *
  • Сообщений: 147
    • DiaCalc
    • Email
Сборка пакета из svn
« : 27.09.2009 16:02:50 »
Хочу собрать rpm игрушки lincity-ng http://lincity-ng.berlios.de/wiki/index.php/Main_Page
Ранее в Alt'е была версия 1.0.3, сейчас текущая на сайте разработчика 2.0.0, там появился перевод на Русский.

Что я делаю.
1, скачал как указано тут
http://lincity-ng.berlios.de/wiki/index.php/Download_and_Compilation
$ svn checkout svn://svn.berlios.de/lincity-ng/trunk lincity-ngУ меня появился репозитарий игры, я ее скомпилировал, установил, работает. Но я на этой игре хочу научится собирать rpm.

Далее я делаю следующее
Ищу в архиве предыдущий пакет скачиваю его, как написано в инструкции  в отдельный каталог, у меня появляется структура:
.git - каталог
lincity-ng - каталог
lincity-ng.spec
.gear-rules
Я правлю спек, указываю там номер новой версии, остальное там вроде без изменений и заменяю каталог lincity-ng новым, тем который получил на сайте разработчика, после этого пытаюсь выполнить
$ gear -vvv --hasher -- hsh --target=i586 ~/hasher/
mkdir: создан каталог `/home/connie/tmp/gear.0SJPgBmY/out'
gear: Extracted archive: lincity-ng-1.0.3.tar
Тут я прерываю, т.к. боюсь, что процесс пошел "не туда"
Почему он пытается создать архив 1.0.3? Я так понимаю нужно обновить информацию в каталоге .git, а как?

Кроме того, догадается ли сборщик пакетов вытащить из svn последнюю версию исходных кодов?

И, я так понял, сейчас .gear-rules должны находится в каталоге .gear/rules это  руками перенести?  ???
ALTLinux Sisyphus

Drool

  • Гость
Re: Сборка пакета из svn
« Ответ #1 : 27.09.2009 16:09:07 »
После внесения всех изменений в гит-репозиторий (новые исходники, правка спека и все такое) нужно закоммитить изменения. Сначала делаете
git statusТам будет видно изменения, если появились новые файлы - делаете
git add имя_файлаПотом делаете
gear-commit -aИ после этого уже можно собирать.

Оффлайн Connie

  • Завсегдатай
  • *
  • Сообщений: 147
    • DiaCalc
    • Email
Re: Сборка пакета из svn
« Ответ #2 : 27.09.2009 16:22:13 »

git statusТам будет видно изменения, если появились новые файлы - делаете
git add имя_файла.
Дело в том, что там ооооочень длинный список, как то автоматом нельзя обновить?  :)

ALTLinux Sisyphus

Drool

  • Гость
Re: Сборка пакета из svn
« Ответ #3 : 27.09.2009 17:19:13 »
Дело в том, что там ооооочень длинный список, как то автоматом нельзя обновить?  :)

gear-commit -a именно это и сделает. git add имя_файла нужен только для новых файлов.

kda

  • Гость
Re: Сборка пакета из svn
« Ответ #4 : 27.09.2009 18:35:38 »
Дело в том, что там ооооочень длинный список, как то автоматом нельзя обновить?  :)

Так же можно делать git add . Эта команда рекурсивно добавит все файлы и и каталоги существующие в паке с репозиторием git.

Оффлайн Connie

  • Завсегдатай
  • *
  • Сообщений: 147
    • DiaCalc
    • Email
Re: Сборка пакета из svn
« Ответ #5 : 27.09.2009 19:39:23 »
Цитировать
Так же можно делать

git add .
ага, я уже догадался :) точнее подсказку увидел, но вот что выдалось
...
gear: Extracted archive: lincity-ng-2.0.0.tar

bzip2: Caught a SIGSEGV or SIGBUS whilst compressing.

   Possible causes are (most likely first):
   (1) This computer has unreliable memory or cache hardware
       (a surprisingly common problem; try a different machine.)
   (2) A bug in the compiler used to create this executable
       (unlikely, if you didn't compile bzip2 yourself.)
   (3) A real bug in bzip2 -- I hope this should never be the case.
   The user's manual, Section 4.3, has more info on (1) and (2).

   If you suspect this is a bug in bzip2, or are unsure about (1)
   or (2), feel free to report it to me at: jseward@bzip.org.
   Section 4.3 of the user's manual describes the info a useful
   bug report should have.  If the manual is available on your
   system, please try and read it before mailing me.  If you don't
   have the manual or can't be bothered to read it, mail me anyway.

        Input file = /home/connie/tmp/gear.xiHf0BvF/out/lincity-ng-2.0.0.tar, output file = /home/connie/tmp/gear.xiHf0BvF/out/lincity-ng-2.0.0.tar.bz2
bzip2: Deleting output file /home/connie/tmp/gear.xiHf0BvF/out/lincity-ng-2.0.0.tar.bz2, if it exists.
gear: Wrote archive:
gear: Extracted specfile: lincity-ng.spec
gear: Executing: gear-command-hasher hsh --target=i586 /home/connie/hasher/
gear-command-hasher: Created output tarball: /home/connie/tmp/gear.xiHf0BvF/work/pkg.tar
gear-command-hasher: Executing: hsh --target=i586 /home/connie/hasher/ /home/connie/tmp/gear.xiHf0BvF/work/pkg.tar
<86>Sep 27 14:17:25 userdel[20054]: delete user `rooter'
<86>Sep 27 14:17:25 userdel[20054]: remove group `rooter'
<86>Sep 27 14:17:26 groupadd[20055]: new group: name=rooter, gid=503
<86>Sep 27 14:17:26 useradd[20056]: new user: name=rooter, uid=503, gid=503, home=/root, shell=/bin/bash
<86>Sep 27 14:17:26 userdel[20058]: delete user `builder'
<86>Sep 27 14:17:26 userdel[20058]: remove group `builder'
<86>Sep 27 14:17:26 groupadd[20059]: new group: name=builder, gid=504
<86>Sep 27 14:17:27 useradd[20060]: new user: name=builder, uid=504, gid=504, home=/usr/src, shell=/bin/bash

hasher-priv: master: idle time limit (60 seconds) exceeded
hsh-rebuild: pkg.tar: failed to install source file.

Я так понимаю hasher не нашел в удобоваримой для себя форме сырцы
ALTLinux Sisyphus

Оффлайн Connie

  • Завсегдатай
  • *
  • Сообщений: 147
    • DiaCalc
    • Email
Re: Сборка пакета из svn
« Ответ #6 : 28.09.2009 11:22:01 »
Подскажите еще немного :)
Когда выполняю
gear-commit -aто открывается vim, как я понял, но строчки с новыми файлами все начинаются с решетки ( # ) так и должно быть? Я просто не нашел инфы по тому, что делать в этом редакторе (не как, а что)
Везде говорится, что после gear-commit -a изменения будут приняты, а в мане к git-commit говорится, что строки, начинающиеся с решетки будут проигнорированы и нигде не сказано про vim  ???

--------------

Вроде нашел то, что мне нужно
http://www.altlinux.org/Git-svn
попробую еще так.
« Последнее редактирование: 28.09.2009 11:28:13 от Connie »
ALTLinux Sisyphus

kda

  • Гость
Re: Сборка пакета из svn
« Ответ #7 : 28.09.2009 12:03:18 »
Все верно. По умолчанию открывается тот редактор, который указан в переменной gear (запамятовал какой). Просто впишите изменения (вообще, они автоматически подтягиваются из changelog) и наберите :wq.

NotHAM

  • Гость
Re: Сборка пакета из svn
« Ответ #8 : 28.09.2009 13:26:05 »
... то открывается vim, как я понял, но строчки с новыми файлами все начинаются с решетки ( # ) так и должно быть? ...

Если сделать так ...
...$ export EDITOR=mceditТо будет открываться mcedit, с ним попроще ...

.....
Потом делаете
gear-commit -aИ после этого уже можно собирать.

Там еще спек нужно бы переделать (который от старых пакетов), у меня с переделанным
всё легко собралось и заработало.

Оффлайн Connie

  • Завсегдатай
  • *
  • Сообщений: 147
    • DiaCalc
    • Email
Re: Сборка пакета из svn
« Ответ #9 : 28.09.2009 13:31:05 »
NotHAM
Цитировать
Если сделать так ...
Код:

...$ export EDITOR=mcedit
То будет открываться mcedit, с ним попроще ...
ага, спасибо, я это нашел

Цитировать
Там еще спек нужно бы переделать (который от старых пакетов), у меня с переделанным
всё легко собралось и заработало.
да, я в курсе, хочу сам разобраться (если не получится, тогда спрошу файл у Вас ;) ), сейчас заново делаю git репозитарий по этой инструкции
http://www.altlinux.org/Git-svn
Оставлю дома качать, приду с работы и буду дальше до ума доводить.
ALTLinux Sisyphus

Drool

  • Гость
Re: Сборка пакета из svn
« Ответ #10 : 28.09.2009 13:32:35 »
Там еще спек нужно бы переделать (который от старых пакетов)...

После внесения всех изменений в гит-репозиторий (новые исходники, правка спека и все такое) нужно закоммитить изменения....

NotHAM

  • Гость
Re: Сборка пакета из svn
« Ответ #11 : 28.09.2009 13:49:32 »
... сейчас заново делаю git репозитарий по этой инструкции
http://www.altlinux.org/Git-svn
Оставлю дома качать, приду с работы и буду дальше до ума доводить.

Качать весь svn - это наверное зря. Я брал ...tar.bz2 с оффсайта (v2.0 - 38 МВ),
сделал ...spec, потом ...src.rpm и запихал всё это в hasher.
А svn - наверное много трафика потребует ...

Оффлайн Connie

  • Завсегдатай
  • *
  • Сообщений: 147
    • DiaCalc
    • Email
Re: Сборка пакета из svn
« Ответ #12 : 28.09.2009 14:07:22 »
Цитировать
Качать весь svn - это наверное зря. Я брал ...tar.bz2 с оффсайта (v2.0 - 38 МВ),
сделал ...spec, потом ...src.rpm и запихал всё это в hasher.
А svn - наверное много трафика потребует ...
Ну что ж, попробую разные способы :) svn около 150 метров
ALTLinux Sisyphus

Оффлайн Connie

  • Завсегдатай
  • *
  • Сообщений: 147
    • DiaCalc
    • Email
Re: Сборка пакета из svn
« Ответ #13 : 29.09.2009 12:27:18 »
еще спрошу, после выполнения манипуляций по добавлению в git спека (git add lincity-ng.spec) пробую выполнить
$ gear-commit -a
gear-commit: No specfiles found
Чего ему надо?  ???
с этим разобрался

$ ls -al
итого 28
drwxr-xr-x  5 connie connie 4096 Сен 29 12:10 .
drwx------ 86 connie connie 4096 Сен 29 12:12 ..
-rw-r--r--  1 connie connie  280 Сен 28 15:37 .cvsignore
drwxr-xr-x  2 connie connie 4096 Сен 28 19:22 .gear
drwxr-xr-x  9 connie connie 4096 Сен 29 12:12 .git
drwxr-xr-x  7 connie connie 4096 Сен 29 12:10 lincity-ng
-rw-r--r--  1 connie connie 2118 Сен 28 19:31 lincity-ng.spec

И никак не пойму, как создать src.rpm, вот тут написано
Сборочные зависимости, что нужно выполнить
rpm -bs --nodeps foo.specНо этот код говорит, что сырцов нет в каталоге ~/RPM/SOURCES разумеется нет, я же репозитарий git делаю в отдельном каталоге ~lincity-ng
Мне нужно скопировать что ли в каталог  ~/RPM/SOURCES сырцы? А в каталог ~/RPM/SPEC/ спек положить? А чего копировать? Ведь там нужно все и сырцы и дата файлы

Как все таки сделать src.rpm?
« Последнее редактирование: 29.09.2009 12:48:48 от Connie »
ALTLinux Sisyphus

kda

  • Гость
Re: Сборка пакета из svn
« Ответ #14 : 29.09.2009 12:55:27 »
Но этот код говорит, что сырцов нет в каталоге ~/RPM/SOURCES разумеется нет, я же репозитарий git делаю в отдельном каталоге ~lincity-ng
Мне нужно скопировать что ли в каталог  ~/RPM/SOURCES сырцы? А в каталог ~/RPM/SPEC/ спек положить? А чего копировать? Ведь там нужно все и сырцы и дата файлы

Как все таки сделать src.rpm?

А зачем вам src.rpm если вы работаете с git репозиторием? А вообще, да, если делаете src.rpm вручную, нужно все разложить по папкам, которые Вы указали. В SOURCES положить архив(ы) указанный(е)  в спеке в секции(ях) Source и все патчи, если они есть.