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

ms1984

  • Гость
Продолжение от 9 страницы 121 пост. (ветки Куда бы обратиться) по программе Douane (http://douaneapp.com/). Ссылка на руководство как собирать - https://github.com/Douane/Douane/wiki/Compilation

Опять же с разрешения модеров пошаговые действия и попытка сделать рабочую софтину из набора буковок.

P.S. проделывать буду данные действия в первые. Если кто соизволит подсказать/помочь/поправить буду рад.Спасибо.


ms1984

  • Гость
1. готовлю софт согласно руководства
 (предварительно не забываем закрыть синаптик если запущен) -
Спойлер
[abra@comp-core-i7-4700mq-070d27 ~]$ su -
Password:
[root@comp-core-i7-4700mq-070d27 ~]# apt-get update
Получено: 1 http://ftp.altlinux.org p8/branch/x86_64 release [896B]
Получено: 2 http://ftp.altlinux.org p8/branch/noarch release [691B]
Получено: 3 http://ftp.altlinux.org p8/branch/x86_64-i586 release [555B]
Получено 2142B за 4s (468B/s).             
Найдено http://ftp.altlinux.org p8/branch/x86_64/classic pkglist
Найдено http://ftp.altlinux.org p8/branch/x86_64/classic release
Найдено http://ftp.altlinux.org p8/branch/noarch/classic pkglist
Найдено http://ftp.altlinux.org p8/branch/noarch/classic release
Найдено http://ftp.altlinux.org p8/branch/x86_64-i586/classic pkglist
Найдено http://ftp.altlinux.org p8/branch/x86_64-i586/classic release
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
[root@comp-core-i7-4700mq-070d27 ~]# apt-get install rpm-build gear
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие дополнительные пакеты будут установлены:
  autoconf-common autoconf_2.60 automake-common automake_1.14 bison
  bison-runtime elfutils emacs-base faketime gettext-tools gnu-config
  libtool-common libtool_2.4 libunistring2 m4 patch perl-threads
  rpm-build-perl rpm-build-python
Следующие НОВЫЕ пакеты будут установлены:
  autoconf-common autoconf_2.60 automake-common automake_1.14 bison
  bison-runtime elfutils emacs-base faketime gear gettext-tools gnu-config
  libtool-common libtool_2.4 libunistring2 m4 patch perl-threads rpm-build
  rpm-build-perl rpm-build-python
0 будет обновлено, 21 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено.
E: Невозможно заблокировать /var/cache/apt/archives/lock - open (11 Ресурс временно недоступен)
E: Невозможно разблокировать временный каталог для скачиваемых файлов
[root@comp-core-i7-4700mq-070d27 ~]# apt-get install rpm-build gear
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие дополнительные пакеты будут установлены:
  autoconf-common autoconf_2.60 automake-common automake_1.14 bison bison-runtime elfutils emacs-base faketime
  gettext-tools gnu-config libtool-common libtool_2.4 libunistring2 m4 patch perl-threads rpm-build-perl
  rpm-build-python
Следующие НОВЫЕ пакеты будут установлены:
  autoconf-common autoconf_2.60 automake-common automake_1.14 bison bison-runtime elfutils emacs-base faketime
  gear gettext-tools gnu-config libtool-common libtool_2.4 libunistring2 m4 patch perl-threads rpm-build
  rpm-build-perl rpm-build-python
0 будет обновлено, 21 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено.
Необходимо получить 0B/5384kB архивов.
После распаковки потребуется дополнительно 19,4MB дискового пространства.
Продолжить? [Y/n] Y

Совершаем изменения...
Preparing...                 ############################################################################### [100%]
 1: m4                       ############################################################################### [  4%]
 2: automake-common          ############################################################################### [  9%]
 3: gnu-config               ############################################################################### [ 14%]
 4: autoconf-common          ############################################################################### [ 19%]
 5: autoconf_2.60            ############################################################################### [ 23%]
 6: rpm-build-python         ############################################################################### [ 28%]
 7: rpm-build-perl           ############################################################################### [ 33%]
 8: perl-threads             ############################################################################### [ 38%]
 9: automake_1.14            ############################################################################### [ 42%]
10: patch                    ############################################################################### [ 47%]
11: libtool-common           ############################################################################### [ 52%]
12: libtool_2.4              ############################################################################### [ 57%]
13: libunistring2            ############################################################################### [ 61%]
14: faketime                 ############################################################################### [ 66%]
15: emacs-base               ############################################################################### [ 71%]
16: gettext-tools            ############################################################################### [ 76%]
17: elfutils                 ############################################################################### [ 80%]
18: bison                    ############################################################################### [ 85%]
19: gear                     ############################################################################### [ 90%]
20: rpm-build                ############################################################################### [ 95%]
Running /usr/lib/rpm/posttrans-filetriggers
Завершено.
[root@comp-core-i7-4700mq-070d27 ~]#

2. Tmpsfs  (....но при странностях следует попробовать воспроизвести сборку на реальной ФС...https://www.altlinux.org/Tmpfs) у меня 16гб оперативки = проблем с ней в теории не должно быть. Пойду по пути меньшего сопротивления - без тмрfs - если будут проблемы буду пробовать решить по мере их поступления.

3. Настройте rpm: https://yadi.sk/i/8vqDuvr0tAL4P  имеется.

на работу бы скорее) там хорошо... компутер, тишина, ну пару тройку раз в день "стимуляция" и "мотивация" от шефа, а в остальном спокойнее, может уже старею   )))

4. из прочитанного и переведенного понял, что надо найти все зависимости и их установить.
git  - https://github.com/Douane/Douane/wiki/Compilation
 из него буду импортировать пакеты (https://www.altlinux.org/Gear/old) пока ищу куда.команды как указаны.до импорта пакетов решаю вопрос с зависимостями на странице - https://github.com/Douane/Douane/wiki/Dependencies
+++++++++++++++++Зависимости++++++++++++++++++++
http://linux.dell.com/dkms/ - тоже качаю рпм
качаю - Boost
          - policykit  https://www.freedesktop.org/wiki/Software/polkit/ - млин его тоже что ли собирать (
          - dbus-c++
          - log4cxx

блин жопа то какая читаю (
 полез искать добрых людей в скайп . один не подниму по любому как это не печально (
« Последнее редактирование: 10.07.2016 20:09:35 от ms1984 »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259

$ su -
Password:
[root@comp-core-i7-4700mq-070d27 ~]# apt-get update

[root@comp-core-i7-4700mq-070d27 ~]# apt-get install rpm-build gear
...
E: Невозможно заблокировать /var/cache/apt/archives/lock - open (11 Ресурс временно недоступен)
E: Невозможно разблокировать временный каталог для скачиваемых файлов

...

Старый как мир, но безотказно работающий рецепт:
https://forum.altlinux.org/index.php?topic=12377.msg153148#msg153148

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

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
hasher  настроили? Пользователя создать не забудьте:
hasher-useradd <USER>
Можете воспользоваться моими настройками. Распакуйте приложенный архив в ваш домашний каталог. Затем поправьте фалы ~/.rpmmacros ~/.hasher/config В них нужно исправить packager на ваше имя, а email@domen на ваш email адрес. Также нужно $HOME исправить на путь к вашему домашнему каталогу. Изменить можно одной командой:
sed 's/$HOME/\/home\/имя_вашего_пользователя/' -i $HOME/.apt/*-apt.conf
Для сборки пакета предлагаю использовать gear.

В каталоге ~/gear есть файл command_gear - это моя шпаргалка по работе с ним, без которой я никуда.

Файл ~/gear/hasher-init.sh создаёт в $TMP каталог хэшер, а в домашнем каталоге символическую ссылку на него.

Командой:
gear -v --hasher -- hsh --lazy-cleanup --apt-config=$HOME/.apt/sisyphus-64-apt.conf --no-sisyphus-check=packager,gpg,changelog --target=x86_64 --repo=$HOME/hasher-repo/sisyphus -v ~/hasher
вы очищаете директорию ~/hasher (симлинк на на $TMP/hasher), указываете путь до файла с репозиториями, указываете сохранить пакет в каталог $HOME/hasher-repo/sisyphus. Команду эту отдаёте в готовом gear-репозитории. Для того, чтобы убедиться, что всё настроено, предлагаю склонировать готовый gear-репозиторий у майнтейнера и попробовать его собрать командами из шпаргалки.
« Последнее редактирование: 13.07.2016 01:33:25 от Антон Мидюков »

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

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Забыл. Так как вы не в Team, вы должны в ~/.hasher/config такую строчку добавить:
no-sisyphus-check=packager,gpg
« Последнее редактирование: 12.07.2016 07:11:45 от Антон Мидюков »

ms1984

  • Гость
Спасибо.

1. apt-get install hasher
2. добавил юзеров - hasher-useradd USER
3. создал $ mkdir ~/hasher
4. прелогинился
5. скачал архив хешер_сеттингс распоковал. В зипе был еще архив tar его рапаковал и эти файлы (папки  и скрытые файлы закинул уже в домашний каталог. получилось так- https://yadi.sk/i/gqTyfLGVtBDzm)
6. правлю мыло смотрю шпаргалку.пытаюсь осмыслить. чтобы сообщений и ветку сильно не раздувать суда пока продолжу.
 7 . поправил файлы - ~/.rpmmacros ~/.hasher/config https://yadi.sk/i/JfpDn5XGtBL5R
 8. Выполнил команду 
Спойлер
[root@comp-core-i7-4700mq-070d27 ~]# apt-get install gear
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Последняя версия gear уже установлена.
0 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено.
[root@comp-core-i7-4700mq-070d27 ~]# exit

[root@comp-core-i7-4700mq-070d27 ~]# gear -v --hasher -- hsh --lazy-cleanup --apt-config=$HOME/.apt/sisyphus-64-apt.conf --repo=$HOME/hasher-repo/sisyphus -v ~/hasher
fatal: Not a git repository (or any of the parent directories): .git
[root@comp-core-i7-4700mq-070d27 ~]#
говорит нет гитрепозитория.что-то не так сделал.
« Последнее редактирование: 11.07.2016 10:47:52 от ms1984 »

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Не имея под рукой репозитория, я бы начал с простой сборки через rpmbuild. Некрасиво, но проще. Поищите на wiki и форуме примеры.
Андрей Черепанов (cas@)

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

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
1. apt-get install hasher

ещё надо: apt-get install gear

смотрю шпаргалку.пытаюсь осмыслить

Лучше вики читать для осмысления, шпаргалка это выжимка. Вам из неё лишь несколько команд нужно.

Давайте на примере deadbeef попробуем.
1. Клонируем gear-репозиторий. Открываем терминал в ~/gear, и отдаём команду:
git clone http://git.altlinux.org/people/antohami/packages/deadbeef.git2. Заходим в директорию deadbeef:
cd deadbeef3. Запускаем на сборку:
gear -v --hasher -- hsh --lazy-cleanup --apt-config=$HOME/.apt/sisyphus-64-apt.conf --repo=$HOME/hasher-repo/sisyphus -v ~/hasher

ms1984

  • Гость
Давайте на примере deadbeef попробуем.
1. Клонируем gear-репозиторий. Открываем терминал в ~/gear, и отдаём команду:
Код: [Выделить]

git clone http://git.altlinux.org/people/antohami/packages/deadbeef.git

2. Заходим в директорию deadbeef:
Код: [Выделить]

cd deadbeef

3. Запускаем на сборку:
Код: [Выделить]

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


выполняю.
 получаю -
Спойлер
[abra@comp-core-i7-4700mq-070d27 ~]$ ~/gear
bash: /home/abra/gear: является директорией
[abra@comp-core-i7-4700mq-070d27 ~]$ cd ~/gear
[abra@comp-core-i7-4700mq-070d27 gear]$ git clone http://git.altlinux.org/people/antohami/packages/deadbeef.git
Cloning into 'deadbeef'...
Checking connectivity... done.
[abra@comp-core-i7-4700mq-070d27 gear]$
[abra@comp-core-i7-4700mq-070d27 gear]$ ls
command_gear.txt  deadbeef  hasher-init.sh  hsh-buildreq.sh
[abra@comp-core-i7-4700mq-070d27 gear]$ cd deadbeef/
[abra@comp-core-i7-4700mq-070d27 deadbeef]$
[abra@comp-core-i7-4700mq-070d27 gear]$ cd deadbeef/
[abra@comp-core-i7-4700mq-070d27 deadbeef]$ gear -v --hasher -- hsh --lazy-cleanup --apt-config=$HOME/.apt/sisyphus-64-apt.conf --repo=$HOME/hasher-repo/sisyphus -v ~/hasher
mkdir: создан каталог «/tmp/.private/abra/gear.XPKAskYN/out»
gear: Extracted archive: deadbeef-0.7.1.tar
gear: Extracted file by pattern "*.patch": deadbeef-0.5.1-alt-libav-using.patch
gear: Extracted file by pattern "*.patch": deadbeef-0.5.1-fr-fix-build.patch
gear: Extracted file by pattern "*.patch": deadbeef-0.5.1-using-tt.patch
gear: Extracted file by pattern "*.patch": deadbeef-0.5.4-alt-categories-desktop-file.patch
gear: Extracted file by pattern "*.patch": deadbeef-0.5.6-alt-gdk-threads.patch
gear: Extracted file by pattern "*.patch": deadbeef-plugins-ffmpeg-aac-support.patch
gear: Extracted file by pattern "*.patch": deadbeef-repocop-desktop-file.patch
gear: Extracted specfile: deadbeef.spec
gear: Executing: gear-command-hasher hsh --lazy-cleanup --apt-config=/home/abra/.apt/sisyphus-64-apt.conf --repo=/home/abra/hasher-repo/sisyphus -v /home/abra/hasher
gear-command-tar: Created output tarball: /tmp/.private/abra/gear.XPKAskYN/work/pkg.tar
gear-command-hasher: Executing: hsh --lazy-cleanup --apt-config=/home/abra/.apt/sisyphus-64-apt.conf --repo=/home/abra/hasher-repo/sisyphus -v /home/abra/hasher /tmp/.private/abra/gear.XPKAskYN/work/pkg.tar
/home/abra/.hasher/config: line 11: no-sisyphus-check=packager,gpg: команда не найдена
[abra@comp-core-i7-4700mq-070d27 deadbeef]$


« Последнее редактирование: 11.07.2016 10:59:14 от ms1984 »

ms1984

  • Гость
Полез читать вики.
У нас ведь в России сначала делают и если не получается идут читать руководство по эксплуатации...  :-(
« Последнее редактирование: 11.07.2016 11:13:24 от ms1984 »

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Андрей Черепанов (cas@)

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

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
/home/abra/.hasher/config: line 11: no-sisyphus-check=packager,gpg: команда не найдена

Исправьте no-sisyphus-check=packager,gpg на no-sisyphus-check в файле /home/abra/.hasher/config. Не помню, как правильно прописать в файле отключение части проверок. no-sisyphus-check отключает все сизифные проверки

Тоже не то. Надо вспоминать...
« Последнее редактирование: 11.07.2016 11:39:09 от Антон Мидюков »

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

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Удалите строчку 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

ms1984

  • Гость
Удалите строчку 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

Строку удалил осталось, в конфиге осталось: -
Спойлер
known_mountpoints=/proc

# target
if [ `uname -m` = "i686" ]; then
    def_target=i586
fi
packager="Mikhail Testov <msprofitm15@gmail.com>"
def_repo=$HOME/hasher_repo
wlimit_time_short=10000
wlimit_time_long=100000
сохранил закрыл.

Иду в каталог без рута, прописываю правленную команду: получаю:

Спойлер
[abra@comp-core-i7-4700mq-070d27 ~]$ cd ~/gear
[abra@comp-core-i7-4700mq-070d27 gear]$ ls
command_gear.txt  deadbeef  hasher-init.sh  hsh-buildreq.sh
[abra@comp-core-i7-4700mq-070d27 gear]$ cd deadbeef/
[abra@comp-core-i7-4700mq-070d27 deadbeef]$ 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
mkdir: создан каталог «/tmp/.private/abra/gear.dBn2iPFS/out»
gear: Extracted archive: deadbeef-0.7.1.tar
gear: Extracted file by pattern "*.patch": deadbeef-0.5.1-alt-libav-using.patch
gear: Extracted file by pattern "*.patch": deadbeef-0.5.1-fr-fix-build.patch
gear: Extracted file by pattern "*.patch": deadbeef-0.5.1-using-tt.patch
gear: Extracted file by pattern "*.patch": deadbeef-0.5.4-alt-categories-desktop-file.patch
gear: Extracted file by pattern "*.patch": deadbeef-0.5.6-alt-gdk-threads.patch
gear: Extracted file by pattern "*.patch": deadbeef-plugins-ffmpeg-aac-support.patch
gear: Extracted file by pattern "*.patch": deadbeef-repocop-desktop-file.patch
gear: Extracted specfile: deadbeef.spec
gear: Executing: gear-command-hasher hsh --lazy-cleanup --apt-config=/home/abra/.apt/sisyphus-64-apt.conf --no-sisyphus-check=packager,gpg,changelog --repo=/home/abra/hasher-repo/sisyphus -v /home/abra/hasher
gear-command-tar: Created output tarball: /tmp/.private/abra/gear.dBn2iPFS/work/pkg.tar
gear-command-hasher: Executing: hsh --lazy-cleanup --apt-config=/home/abra/.apt/sisyphus-64-apt.conf --no-sisyphus-check=packager,gpg,changelog --repo=/home/abra/hasher-repo/sisyphus -v /home/abra/hasher /tmp/.private/abra/gear.dBn2iPFS/work/pkg.tar
hsh: changed working directory to `/home/abra/hasher'
hsh: Locked working directory `/home/abra/hasher'
mkaptbox: changed working directory to `/home/abra/hasher'
mkdir: создан каталог «/home/abra/hasher-repo/sisyphus/SRPMS.hasher»
mkdir: создан каталог «/home/abra/hasher-repo/sisyphus/x86_64»
mkdir: создан каталог «/home/abra/hasher-repo/sisyphus/x86_64/RPMS.hasher»
mkdir: создан каталог «aptbox»
mkaptbox: Changed working directory to `/home/abra/hasher/aptbox'.
mkdir: создан каталог «./etc»
mkdir: создан каталог «./etc/apt»
mkdir: создан каталог «./etc/apt/apt.conf.d»
mkdir: создан каталог «./etc/apt/sources.list.d»
mkdir: создан каталог «./etc/apt/vendors.list.d»
mkdir: создан каталог «./home»
mkdir: создан каталог «./home/user»
mkdir: создан каталог «./var»
mkdir: создан каталог «./var/cache»
mkdir: создан каталог «./var/cache/apt»
mkdir: создан каталог «./var/cache/apt/archives»
mkdir: создан каталог «./var/cache/apt/archives/partial»
mkdir: создан каталог «./var/lib»
mkdir: создан каталог «./var/lib/apt»
mkdir: создан каталог «./var/lib/apt/lists»
mkdir: создан каталог «./var/lib/apt/lists/partial»
mkdir: создан каталог «./var/lib/rpm»
права доступа «setarch» изменены с 0644 (rw-r--r--) на 0755 (rwxr-xr-x)
mkaptbox: created apt-cache wrapper
права доступа «apt-cache» изменены с 0644 (rw-r--r--) на 0755 (rwxr-xr-x)
mkaptbox: created apt-config wrapper
права доступа «apt-config» изменены с 0644 (rw-r--r--) на 0755 (rwxr-xr-x)
mkaptbox: created apt-get wrapper
права доступа «apt-get» изменены с 0644 (rw-r--r--) на 0755 (rwxr-xr-x)
mkaptbox: created regenbasedir
права доступа «regenbasedir» изменены с 0644 (rw-r--r--) на 0755 (rwxr-xr-x)
mkaptbox: apt-config: broken Dir::Etc::SourceList: /home/anton/.apt/sisyphus-64.list
[abra@comp-core-i7-4700mq-070d27 deadbeef]$

судя по тексту все прошло удачно.Осмелюсь предположить, что данная процедура это подготовка и проверка правильности настроек?
« Последнее редактирование: 11.07.2016 12:50:32 от ms1984 »