LINUX.ORG.RU
ФорумTalks

Сюрприз при сборке через slacktrack

 


0

1

Есть такая утиль для сборки пакетов в slackware.

Знаете как она определяет наличие изменений в файловой системе при сборке кривых пакетов?
Правильно! Нужно изменить у всех файлов в {/opt,/bin,/boot,/dev,/etc,/install,/lib,/sbin,/usr,/var} время модификации через touch, собрать пакет и посмотреть не появились ли в системе новые файлы или не обновилось ли чего.

Такого идиотизма я не ожидал!

Отдельный звиздец это как выполняется touch:

find $touching -path '/lib/udev/devices' -prune -o -print | xargs -I '{}' touch -c '{}'
Это офигенно медленно, т.к. touch запускается отдельно на каждый файл.

Единственный пакет в слаке который собирается через slacktrack это linuxdoc-tools, который я и пересобрал :)

Комментарии внутри скрипта сборки этого пакета доставляют максимум удовольствия!

######## WARNING ###################################################
# This will touch nearly every file on your expendable development
# box.  You wouldn't try this on a production system, right?
######## WARNING ###################################################

Спасибо, #$%^&*() !

Теперь есть повод переставить систему, т.к. судя по бекапу установлена она в 2014 году :)

★★★★★

Думаю стоит написать в LQ по этому поводу.

luke ★★★★★
()

А у меня fakeroot перестала работать и пакеты вроде собираются, но владелец там юзер который собирал, а не root.

Xenius ★★★★★
()

slacktrack не используется для сборки пакетов идущих в оф. репу или даже в sbopkg.
Эта утилита, для тех кому прямо совсем лень писать slackbuids или пакует софт для собственного пользования.

Единственный пакет в слаке который собирается через slacktrack это linuxdoc-tools, который я и пересобрал :)

даже не ставил в систему, а почему slackbuild не написал?

splinter ★★★★★
()
Последнее исправление: splinter (всего исправлений: 1)
Ответ на: комментарий от splinter
 $ find slackware-current/ -name trackbuild.\*
slackware-current/source/ap/linuxdoc-tools/trackbuild.linuxdoc-tools

linuxdoc-tools.SlackBuild использует для сборки trackbuild.linuxdoc-tools который вызывает linuxdoc-tools.build

Который собирает

ASCIIDOCVER=10.2.0
DSSSLSTYLESHEETSVER=1.79
XSLSTYLESHEETSVER=1.79.2
DOCBOOKUTILSVER=0.6.14
SGMLDTD3VER=3.1
SGMLDTD4VER=4.5
XMLDTDVER=4.5
GNOMEDOCUTILSVER=0.20.10
GTKDOCVER=1.34.0
SGMLSPLVER=1.03ii
OPENJADEVER=1.3.2
OPENSPVER=1.5.2
SGMLCOMMONVER=0.6.3
XMLTOVER=0.0.28
DOCBOOK2XVER=0.8.8

Кто-то из них при установке не совсем понимает DESTDIR и ставит в систему кучку файлов (/etc/asccidoc /etc/sgml).

vel ★★★★★
() автор топика
Ответ на: комментарий от vel

Какой ужас, что за блоатварь? Я думал в слаке таким не страдают.

firkax ★★★★★
()
Ответ на: комментарий от vel

Кто-то из них при установке не совсем понимает DESTDIR

Натяните при сборке overlayfs поверх / — и сами узнаете, и будет повод зарепортить, если оно не by design (build and install to continue) ;-)

bormant ★★★★★
()
Ответ на: комментарий от thunar

Я в desktop заглядываю крайне редко...

Собственно вопрос один — как можно было додуматься до такого кривого решения!?

Достаточно было сделать find ... -type f -printf "%T@ %p\n" | sort до и после сборки, после чего сравнить и найти новые/изменённые файлы.
Это работает во много раз быстрее и безопаснее, чем тот идиотской вариант с touch.

vel ★★★★★
() автор топика
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)