Автор Тема: Сборка пакетов из исходников (hasher, spec, checkinstall)?  (Прочитано 35286 раз)

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....

Оффлайн winhex

  • Участник
  • *
  • Сообщений: 19

Оффлайн Koi

  • alt linux team
  • ***
  • Сообщений: 1 893
  • валар дохаэрис
    • Канал на youtube
Можно ли собрать пакет которому будет разрешено переписывать файлы уже установленных других пакетов? Возможно что-то похожее на...

--replacefiles
              Устанавливать пакеты, даже если они перепишут файлы  из  других,
              уже установленных пакетов.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Собрать можно что угодно, но эти пакеты будут конфликтовать по файлам, и в результате (как вариант) - один пакет при установке через apt будет сносить другой. 
« Последнее редактирование: 02.12.2016 21:26:30 от ruslandh »

Оффлайн kostyalamer

  • Мастер
  • ***
  • Сообщений: 432
    • Сайт клуба активных пользователей ALT Linux
Можно ли собрать пакет которому будет разрешено переписывать файлы уже установленных других пакетов?
Евгений, так как ты занялся дистростроем, думаю тебе будет полезно почитать тему про скелетоны :
http://forum.russ2.com/index.php?showtopic=3538 проще запихать то что ты хочешь перезаписать в скелетон и заставить его сделать это
на стадии первого запуска положив соответствующий скрипт в
/etc/firsttime.d/ . Для особо клинических случаев можно написать хук инсталлера, но это чуть-чуть сложнее. Пакеты, которые перезаписывают другие пакеты лучше не собирать, они в один прекрасный момент при обновлении вынесут половину системы .
Archlinux  / Altlinux Free Mate p8

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 159
    • Домашняя страница
Скриптами можно так гадить.
Андрей Черепанов (cas@)

Оффлайн kostyalamer

  • Мастер
  • ***
  • Сообщений: 432
    • Сайт клуба активных пользователей ALT Linux
Скриптами можно так гадить.
Точно, примерно так оно и называется  ;-D
Или если помягче, то " напихать костылей "
Archlinux  / Altlinux Free Mate p8

Оффлайн Koi

  • alt linux team
  • ***
  • Сообщений: 1 893
  • валар дохаэрис
    • Канал на youtube
Евгений, так как ты занялся дистростроем, думаю тебе будет полезно почитать тему про скелетоны :
http://forum.russ2.com/index.php?showtopic=3538 проще запихать то что ты хочешь перезаписать в скелетон и заставить его сделать это
на стадии первого запуска положив соответствующий скрипт в
/etc/firsttime.d/ . Для особо клинических случаев можно написать хук инсталлера, но это чуть-чуть сложнее. Пакеты, которые перезаписывают другие пакеты лучше не собирать, они в один прекрасный момент при обновлении вынесут половину системы .
Скелетон не виновен для него у меня отдельный пакет desktop-lxqt-settings-base.
Что касается сервисов, то с этим вроде тоже проблем нет, на вики вычитал что рекомендуется для каждого сервиса делать отдельный пакет типа installer-feature-*.
https://www.altlinux.org/Installer/common
Делаю так создаю пакет installer-feature-desktop-enabled-vhba
в нем в /usr/share/install2/preinstall.d/ скрипт
#!/bin/sh -efu

. install2-init-functions
chroot $destdir systemctl enable vhba ||:

А вот например строчки в конвигах раскоментировать или изменить группу в sudoers как?
Скриптами можно так гадить.
Была такая мысль не вышло. Сейчас глянул пакет installer-feature-repo-add

#!/bin/sh -efu

a= . install2-init-functions

cdrom_dir="/media/ALTLinux"

# setup apt sources
sources_list()
{
local url="$1";shift;
local comps="$1";shift;

mkdir -p -- "$destdir/etc/apt/sources.list.d"
printf 'rpm %s ALTLinux %s\n' "$url" "${comps% }" > "$destdir/etc/apt/sources.list.d/sources.installer.list"
}
....
Оказывается я пути не так писал.

Оффлайн kostyalamer

  • Мастер
  • ***
  • Сообщений: 432
    • Сайт клуба активных пользователей ALT Linux
Евгений, по поводу сервисов ,гораздо проще сделать свой инсталлер и там включать / выключать какие тебе нужны, настроить группы пользователям, автоматическое разбиение диска и  выбросить лишние шаги . Все равно к этому придешь , долго расписывать не буду посмотри тут для примера:
http://altlinuxclub.ru/repo/Repo_P7/SRPMS.hasher/installer-distro-club-8.0-alt1.src.rpm
Archlinux  / Altlinux Free Mate p8