java-1.6.0-sun не работает без /proc. она его requires: rpmquery --requires java-1.6.0-sun | grep proc /proc в %post скриптах многих пакетов вызывается java -version: например tomcat5. допустим я хочу собрать java'й-1.6.0-sun пакет foo. Во время сборки java работает корректно, так как /proc смонтирован. но до сборки, на этапе установки зависимостей /proc не смонтирован, и %post скрипты отрабатывают с ошибкой. Следствие: /proc нужно монтировать до установки в chroot пакетов. Это вылезло недавно, как только я стал собирать с 1.6.0-sun. В преспективе таких пакетов будет много. этот баг потенциально блокирует их сборку.
Это не бага. hasher сам ничего не монтирует. Посмотрите /usr/share/doc/hasher-1.3.6/FAQ пункт 4.2.1.
Эти все условия у меня выполнены. First, you have to configure hasher-priv for the user, to allow allowed_mountpoints=/proc Second, the package you are going to build should include /proc in its build dependencies, e.g. BuildPreReq: /proc Alternatively, at least one of packages installed to build environment should include /proc in its dependencies. Third, hsh should be run with parameter --mountpoints=/proc.
Подчеркну - вы неправильно поняли. Как раз грабли в том, что /proc _монтируется_, _монтируется_ перед началом _сборки_ пакета, а не перед началом установки зависимостей. В зависмостях зависимостей requires: /proc гвоздями прибит! это видно через ls <hasherdir>/chroot/proc. пока идет install, там пусто. как начался rpmbuild -ba, он смонтирован. поздно, однако.
как с этой проблемой hasher дела?
(In reply to comment #4) > как с этой проблемой hasher дела? Я не готов считать это _проблемой_ hasher. С момента создания и влоть до совсем недавних пор hasher не монтировал файловые системы во время установки пакетов, поскольку это никому не было нужно. Видимо, совсем недавно ситуация изменилась, если появились пакеты, которым нужен /proc для выполнения %post-скриптов. Но hasher этого не умел никогда и не умеет сейчас. Я подумаю, как это можно реализовать без ущерба для тех сборок, для которых ничего монтировать всё ещё не требуется.
эта ошибка проявилась в girar install check. приводит к частичному блокированию заливки java-пакетов.
А в чем причина паранои насчет /proc? если он кому-то не нужен, то от того, что его смонтируют ничего же неизменится. Может его просто всегда монтировать и всё?
(In reply to comment #7) > А в чем причина паранои насчет /proc? если он кому-то не нужен, то от того, что > его смонтируют ничего же неизменится. Может его просто всегда монтировать и > всё? См. раздел SECURITY в hasher-priv(8).
(In reply to comment #6) > эта ошибка проявилась в girar install check. > приводит к частичному блокированию заливки java-пакетов. http://git.altlinux.org/people/ldv/packages/?p=hasher.git;a=commit;h=1.3.11-alt1 Для истории и статистики: желание фичи -- это enhancement. Если кто-то заложился на несуществующую фичу, то это его блокер, а не пакета, в котором этой фичи ещё нет.
А чего ей надо-то, жаве, в /proc? Может ей туда просто статические файлы которые ей нужны подложить? Ну скажем, затарить какой-нибудь работающий proc и выложить?
> Для истории и статистики: желание фичи -- это enhancement. > Если кто-то заложился на несуществующую фичу, то это его блокер, а не пакета, в > котором этой фичи ещё нет. install check предполагает, что hsh-install корректно эмулирует установку в рабочую систему. Если /proc не монтируется, install check не корректный и дает ложные срабатывания. Поставлю вопрос проще: когда я смогу заливать java-пакеты, не рискуя напороться на ложное срабатывание install check?
(In reply to comment #11) > Поставлю вопрос проще: > когда я смогу заливать java-пакеты, не рискуя напороться > на ложное срабатывание install check? Когда угодно.
(В ответ на комментарий №12) > (In reply to comment #11) > > Поставлю вопрос проще: > > когда я смогу заливать java-пакеты, не рискуя напороться > > на ложное срабатывание install check? > > Когда угодно. Это не шутка? хорошо, тогда заливаю jradius-1.0.0-alt2_1jpp6.src.rpm повторно.
hasher-1.3.11-alt1 -> sisyphus: * Thu May 07 2009 Dmitry V. Levin <ldv@altlinux> 1.3.11-alt1 - hsh-sh-functions.in: Pass --bloat option to genbasedir (Alexey Tourbin). - hsh-install: Calculate and apply mountpoints (closes: #16645).
hurray!
hasher-1.3.11-alt1 hasher-priv-1.3.3-alt0.M41.1 Есть еще токость, что вот так работает, hsh --mountpoints=/proc --ini && hsh-install --mountpoints=/proc jdkgcj а так hsh --mountpoints=/proc --ini && hsh-install jdkgcj не работает - куча ругани вида GC Warning: Couldn't read /proc/stat Couldn't read /proc/self/stat неплохо было бы запоминать --mountpoints, как это делается для --apt-config, --with-stuff.
(In reply to comment #16) > hasher-1.3.11-alt1 > hasher-priv-1.3.3-alt0.M41.1 > > Есть еще токость, что вот так работает, > hsh --mountpoints=/proc --ini && hsh-install --mountpoints=/proc jdkgcj > > а так > hsh --mountpoints=/proc --ini && hsh-install jdkgcj > не работает - Я обычно делаю в точности наоборот: hsh --mountpoints=/proc && hsh-install --mountpoints=/proc jdkgcj Не говоря уже о known_mountpoints=/proc,/dev/pts в файле ~/.hasher/config Так что это уже совсем другой, гораздо менее насущный FR, хорошо бы оформить его отдельно.
(In reply to comment #16) > hasher-1.3.11-alt1 > hasher-priv-1.3.3-alt0.M41.1 > > Есть еще токость, что вот так работает, > hsh --mountpoints=/proc --ini && hsh-install --mountpoints=/proc jdkgcj > > а так > hsh --mountpoints=/proc --ini && hsh-install jdkgcj > не работает - Я обычно делаю в точности наоборот: hsh --init && hsh-install --mountpoints=/proc jdkgcj Не говоря уже о known_mountpoints=/proc,/dev/pts в файле ~/.hasher/config Так что это уже совсем другой, гораздо менее насущный FR, хорошо бы оформить его отдельно.
https://bugzilla.altlinux.org/show_bug.cgi?id=20409