New eclipse reconfiguration filetrigger is written in java which in turn requires /proc to be present. check-install test will always fail for them without --mountpoint=/proc. proposed patch: http://git.altlinux.org/people/viy/packages/?p=girar-builder.git;a=commit;h=129277b04f8866dd23a5cef4f27f121b63379159
$ git grep known_mountpoints= remote/gb-remote-plant:known_mountpoints=/proc,/dev/pts
Напомню, этого недостаточно. Это не работает :( Дмитрий, я понимаю, что это ваш код, но факты - упрямая вещь: у меня уже год прописан $ cat ~/.hasher/config workdir=/tmp/hasher packager="`rpm --eval %packager`" known_mountpoints=/proc но если сделать hsh --initroot-only hsh-install eclipse-jdt hsh-run ls /proc $ hsh-run ls /proc filesystems Proc пустой :( $ rpm -q hasher hasher-1.3.21-alt1
(In reply to comment #2) > Напомню, этого недостаточно. Это не работает :( > Дмитрий, я понимаю, что это ваш код, но факты - упрямая вещь: > у меня уже год прописан > $ cat ~/.hasher/config > workdir=/tmp/hasher > packager="`rpm --eval %packager`" > known_mountpoints=/proc > > но если сделать > hsh --initroot-only > hsh-install eclipse-jdt > hsh-run ls /proc А зачем нужен /proc для hsh-run? В girar-builder есть только одно место, в котором hsh-run запускает команду, поведение которой может зависеть от /proc: hsh-run --rooter -- \ rpm -ev -- ${what:?} </dev/null >out 2>&1 || Если в этом месте действительно нужен смонтированный /proc, то мне хотелось бы включать его только в тех случаях, когда до этого /proc был смонтирован во время hsh-install.
(В ответ на комментарий №3) > (In reply to comment #2) > А зачем нужен /proc для hsh-run? > В girar-builder есть только одно место, в котором hsh-run запускает команду, > поведение которой может зависеть от /proc: в этом месте во время rpm -e eclipse-jdt будет вызван файлтриггер на переконфигурирование eclipse :( файлтриггеру для работы нужна java, а ей /proc. > В girar-builder есть только одно место В остальных местах, которые я пометил, тоже будут вызываться %postun и файлтриггер. например, eclipsr-jdt по зависимостям вытянет eclipse-platform, которому желательно пройти корректное конфигурирование. поэтому в hsh-install тоже нужно --mountpoint=/proc А в hsh -init нужно --mountpoint=/proc указать, поскольку там вроде был какой-то глюк, что если эту опцию во время -init не указать, то потом дальше везде --mountpoint=/proc работать не будет.
(В ответ на комментарий №4) > А в hsh -init нужно --mountpoint=/proc указать, поскольку > там вроде был какой-то глюк, что если эту опцию во время > -init не указать, то потом дальше везде --mountpoint=/proc > работать не будет. Проверил, в init --mountpoint=/proc можно не указывать, hsh-run --mountpoint=/proc ls /proc работает. т.е. нужно только при установке пакетов и при удалении.
(In reply to comment #5) > (В ответ на комментарий №4) > > А в hsh -init нужно --mountpoint=/proc указать, поскольку > > там вроде был какой-то глюк, что если эту опцию во время > > -init не указать, то потом дальше везде --mountpoint=/proc > > работать не будет. > > Проверил, в init --mountpoint=/proc можно не указывать, > hsh-run --mountpoint=/proc ls /proc работает. > > т.е. нужно только при установке пакетов и при удалении. Все hsh-команды, которые работают с пакетами, используют $known_mountpoints. hsh-run/hsh-shell не используют $known_mountpoints, потому что у них --mountpoints имеет немного другой смысл. Думаю приложить такой патч: @@ -210,4 +210,5 @@ # Remove the package. +mountpoints="$(hsh-run -- rpmquery -aR | grep -E '^/(proc|dev/pts)$' | sort -u | tr '\n' ,)" what=$(perl -pe 's/=\d+:/-/ or s/=/-/' <new-packages) -hsh-run --rooter -- \ +hsh-run --rooter --mountpoints="$mountpoints" -- \ rpm -ev -- ${what:?} </dev/null >out 2>&1 ||
спасибо!
(В ответ на комментарий №6) > Думаю приложить такой патч: А что с этим патчем? он еще не приложен? А то я не могу новый eclipse собрать :(
Патч приложен.