Автор Тема: Учимся собирать пакеты из исходников  (Прочитано 12224 раз)

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
У вас 2 раза одно и то же написано.

Это я вчера очепятался :-( В своём сообщении поправил.

ms1984

  • Гость
Это я вчера очепятался :-( В своём сообщении поправил

« Ответ #57 : Сегодня в 11:28:13 » два вложения. Там логи полностью закопировал 1.лог это создание окружения. второй лог пересборка.
Ошибок не увидел.Прошу проверить. чтобы знать, что все настроено и что можно закапываться в литературу.
Спасибо!

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
Запустил эту команду на пересборку. Пошла мазута ) . проц грузит на 20%

Создавать hasher-окружение заново нужно, только, если вы собираетесь собирать пакет для другого репозитория или под другую архитектуру. Либо если вы хотите удостовериться, что тех сборочных зависимостей, которые у вас прописаны в спеке достаточно. Так как появилась утилита buildreq-src, это уже не так актуально. Эта утилита с большой долей вероятности все сборочные зависимости найдёт. Перед её использованием нужно обязательно обновить сведения о пакетах в Сизифе командой:
distrodb-update-repocop-db-altlinux-sisyphusА сама команда выглядит вот так:
buildreq-src --spec путь/к/спеку путь/к/исходникамНа примере deadbeef:
buildreq-src --spec deadbeef.spec deadbeef
WARNING: dynamic repository data for altlinux:sisyphus is too old. run distrodb-update-repocop-db-altlinux-sisyphus
INFO: SourceAnalyzer: nothing in headers provides CoreAudio/AudioHardware.h.
INFO: SourceAnalyzer: nothing in headers provides cdda/cdda_interface.h.
INFO: SourceAnalyzer: nothing in headers provides ffmpeg/avformat.h.
INFO: SourceAnalyzer: nothing in headers provides sys/syslimits.h.
INFO: SourceAnalyzer: nothing in pkg-config provides gtk-mac-integration.
SourceAnalyzer: some deps weren't found. Is DistroMap database outdated?
# BEGIN SourceDeps(oneline):
BuildRequires: glib2-devel libX11-devel libatk-devel libcairo-devel libgdk-pixbuf-devel libgtk+2-devel libogg-devel perl(Exporter.pm) perl(FindBin.pm) perl(IO/Handle.pm) perl(IPC/Open2.pm) perl(IPC/Open3.pm) perl(Locale/Country.pm) perl(Locale/Language.pm) perl(base.pm) pkgconfig(gio-2.0) pkgconfig(gtk+-3.0) pkgconfig(libavcodec) pkgconfig(libavutil) pkgconfig(libzip) zlib-devel
# END SourceDeps(oneline)

Как видим, пакет сильно недособран, и часть функционала его возможно недоступна, так как не все сборочные зависимости прописаны. Есть над чем подумать...

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
Ошибок не увидел.Прошу проверить.

Да, собрался пакет. Собрали мы его для Сизифа для 64 битной архитектуры. Собранные пакеты находятся в /home/abra/hasher-repo/sisyphus/x86_64/RPMS.hasher/
Если вы на p7, ставить их разумеется нельзя. Теперь к вам вопрос, как должна выглядеть команда для сборки на p7 32 бита?

ms1984

  • Гость
Если вы на p7, ставить их разумеется нельзя. Теперь к вам вопрос, как должна выглядеть команда для сборки на p7 32 бита?

По умолчанию на ноуте стоял P7. Позднее на второй вроде день жизни Альты на моем ноуте система была обновлена на Р8 и на сегодняшний день еще пока жива... сегодня буду бэкап делать ее полный на всякий случай.

Так как предварительно мы готовим среду, то соот-но нам для другой архитектуры (для 32бит) надо предустановить 32х битную среду командой  :
gear -v --hasher -- hsh --lazy-cleanup --apt-config=$HOME/.apt/sisyphus-32-apt.conf --target=i586 --repo=$HOME/hasher-repo/sisyphus -v  ~/hasher

правильная на окружение :
gear -v --hasher -- hsh --lazy-cleanup --apt-config=$HOME/.apt/p7-32-apt.conf --no-sisyphus-check=packager,gpg,changelog --target=i586 --repo=$HOME/hasher-repo/p7 -v  ~/hasher

и потом после того как увидим, что ошибок в создании среды не будет можно давать команду на сборку - она идентичная для 64хбитной системы :
gear --hasher -- hsh-rebuild --no-sisyphus-check=packager,gpg,changelog --repo=$HOME/hasher-repo/sisyphus -v  ~/hasher

правильная на сборку:

gear --hasher -- hsh-rebuild --no-sisyphus-check=packager,gpg,changelog --repo=$HOME/hasher-repo/p7 -v ~/hasher

вот.команда на сборку.32 бита на р7
вроде так все.



P.S. достал из файла command_gear.txt . удобно. НО прошу пока строго не судить. Сижу читаю. Для меня пока еще это набор букв, а не команды для исполнения.Материи накидали много. Прошу хотя бы пару дней для освоения и ознакомления! а то стыдно вбивать команду в которой явные ошибки.Как было пару постов назад!спасибо.
Даже блин сифиз не знаю, что такое.. вернее банально не успеваю прочитать ;)

« Последнее редактирование: 13.07.2016 17:21:04 от ms1984 »

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
и потом после того как увидим, что ошибок в создании среды не будет можно давать команду на сборку - она идентичная для 64хбитной системы :

Если сборка завершилась с первого раза удачно, пересобирать её не надо.

gear -v --hasher -- hsh --lazy-cleanup --apt-config=$HOME/.apt/sisyphus-32-apt.conf --target=i586 --repo=$HOME/hasher-repo/sisyphus -v  ~/hasher

Блин, вы для p7 собираете по условиям задачки! С какого фига присутствует слово sisyphus? А ещё забыли --no-sisyphus-check=packager,gpg,changelog указать, пока вы не станенте майнтейнером, этот параметр будет вашим постоянным спутником.
« Последнее редактирование: 13.07.2016 15:38:23 от Антон Мидюков »

ms1984

  • Гость
Блин, вы для p7 собираете по условиям задачки! С какого фига присутствует слово sisyphus?

gear -v --hasher -- hsh --lazy-cleanup --apt-config=$HOME/.apt/p7-32-apt.conf --target=i586 --repo=$HOME/hasher-repo/p7 -v  ~/hasher

вот gear --hasher -- hsh-rebuild --no-sisyphus-check=packager,gpg,changelog --repo=$HOME/hasher-repo/p7 -v ~/hasher

gear -v --hasher -- hsh --lazy-cleanup --apt-config=$HOME/.apt/p7-32-apt.conf --no-sisyphus-check=packager,gpg,changelog --target=i586 --repo=$HOME/hasher-repo/p7 -v  ~/hasher

добавил отключение проверки.

А ещё забыли --no-sisyphus-check=packager,gpg,changelog указать

делаю.счас поправлю.

Удалите строчку no-sisyphus-check=packager,gpg в файле /home/abra/.hasher/config. Команда для сборки будет выглядеть так:
gear -v --hasher -- hsh --lazy-cleanup --apt-config=$HOME/.apt/sisyphus-64-apt.conf --no-sisyphus-check=packager,gpg,changelog --repo=$HOME/hasher-repo/sisyphus -v ~/hasher

файл проверил там данная строчка удалена.как понимаю в каждой соот-щей команде надо прописывать параметр - --no-sisyphus-check=packager,gpg,changelog ?
т.е. соответственно в шпаргалке надо добавить соответствующую запись в команды на сборку?
« Последнее редактирование: 13.07.2016 16:46:54 от ms1984 »

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
т.е. соответственно в шпаргалке надо добавить соответствующую запись в команды?

Да. Я вам об этом говорил выше, помнится.

оно?  ???

Оно, только забыли --no-sisyphus-check=packager,gpg,changelog Неужели не уловили в чём отличие команд?
--apt-config указывает путь до файла конфигурации репозитория, для которого собираем пакет.
--target указывает архитектуру процессора. Если не указать, соберёт для текущей архитектуры
--no-sisyphus-check отключает проверки, так как вы не майнтейнер
--repo указывает каталог, куда будут помещены собранные пакеты. Кроме того, пакеты в этом каталоге представляют собой дополнительный репозиторий. Иногда для того, чтобы собрать один пакет, приходится собирать ещё один пакет. Собираете недостающий пакет для сборки нужного пакета, и он у вас есть в репозитории, можно собирать целевой. А затем устанавливаете оба пакета.
-v подробный вывод сообщений
~/hasher путь до сборочницы. Можете рядом создать hasher2, hasher3 и иметь одновременно несколько сборочниц, указывая при сборке нужную.

ms1984

  • Гость
Оно, только забыли --no-sisyphus-check=packager,gpg,changelog Неужели не уловили в чём отличие команд?

догнал прям перед вашей мессагой!
поправил выше.плиз проверьте
« Последнее редактирование: 13.07.2016 16:18:18 от ms1984 »

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
поправил выше.плиз проверьте

target не указали, соберётся на 64 бита, а в задании было собрать под 32 бита
apt-config убрали зачем?
В зачёркнутой команде было всё правильно, не хватало только --no-sisyphus-check

ms1984

  • Гость
В зачёркнутой команде было всё правильно, не хватало только --no-sisyphus-check

« Ответ #64 : Сегодня в 15:03:24 »  там поправил. Вроде бы так все.
капец стопарю по полной.

Еще раз для себя:
задача дать две команды:
одна команда на создание рабочего окружения для 32 бита р7.
 
вторая дать команду на сборку 32 бита архитектура.
 решаю... обязательно с отключением проверки так как я не майнтейнер.

надо распечатывать на бумагу. так путаюсь.
« Последнее редактирование: 13.07.2016 17:09:21 от ms1984 »

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
« Ответ #64 : Сегодня в 15:03:24 »  там поправил. Вроде бы так все.

Понимаете теперь, что каждая команда делает. Вопроса не возникнет, как для p8 команда выглядеть будет?

ms1984

  • Гость
Понимаете теперь, что каждая команда делает. Вопроса не возникнет, как для p8 команда выглядеть будет?

не не не.пока еще туплю. обождите.

ms1984

  • Гость
Понимаете теперь, что каждая команда делает.
это по поводу задания 32архитектура, р7

разворачиваем окружение  командой:

gear -v --hasher -- hsh --lazy-cleanup --apt-config=$HOME/.apt/p7-32-apt.conf --no-sisyphus-check=packager,gpg,changelog --target=i586 --repo=$HOME/hasher-repo/p7 -v  ~/hasher

проводим сборку 32бита командой:

gear --hasher -- hsh-rebuild --no-sisyphus-check=packager,gpg,changelog --repo=$HOME/hasher-repo/p7 -v ~/hasher

если верно пробую для Р8 *64 аналогично только репы другие добавлю ? ок? хешеры (hesher)

кстати в тему: видел статью как юбунта будет уходить от 32 бит на 64.

мало ли Альт тоже уходить будет планы есть? http://vasilisc.com/ubuntu-32-bit-plan
« Последнее редактирование: 13.07.2016 17:34:37 от ms1984 »

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
кстати в тему: видел статью как юбунта будет уходить от 32 бит на 64.

мало ли Альт тоже уходить будет планы есть? http://vasilisc.com/ubuntu-32-bit-plan

Не в тему.

если верно пробую для Р8 *64 аналогично только репы другие добавлю ? ок? хешеры (hesher)

Верно. Приступайте.