zaufi / paludis-hooks

This repository has moved to other hosting
https://gitlab.exherbo.org/living-in-exherbo/paludis-hooks
Other
11 stars 4 forks source link

package_env not applied in world update #8

Open peperunas opened 9 years ago

peperunas commented 9 years ago

I've created a env configuration to compile in another directory and applied it to app-office/libreoffice. It seems that paludis checks for it in the first --pretend phase but discards it when it actually starts to compile the package.

Log:

These are the actions I will take, in order:

u   app-office/libreoffice:0::gentoo 5.0.2.2 to ::installed replacing 5.0.1.2 [cycle 1]
    (-aqua) -bluetooth* branding -coinmp -collada cups dbus -debug eds (-firebird) -gltf gnome gstreamer gtk -gtk3 -java -jemalloc -kde -mysql -odk -postgres (-telepathy) -vlc (-test) LIBREOFFICE_EXTENSIONS: -nlpsolver -scripting-beanshell -scripting-javascript -wiki-publisher PYTHON_SINGLE_TARGET: python2_7 -python3_3 -python3_4 PYTHON_TARGETS: python2_7 -python3_3 python3_4 build_options: symbols=strip -dwarf_compress -optional_tests -trace work=remove
    Reasons: target (world::environment)
    In dependency cycle with existing packages: app-office/libreoffice:0, media-sound/pulseaudio:0, dev-libs/folks:0, sys-apps/sandbox:0, gnome-base/gnome-control-center:2, gnome-base/gnome-shell:0, net-misc/networkmanager:0, gnome-extra/nm-applet:0, media-tv/kodi:0
[snip...]

Total: 12 reinstalls, 8 upgrades, 32 uninstalls

Executing pretend actions: 1 of 20 pretend app-office/libreoffice-5.0.2.2:0::gentoo

Here's the first correct check, where paludis correctly loads the no_ram_compiling.conf env mod:

libreoffice-5.0.2.2> Loaded custom configuration: enable_ccache
libreoffice-5.0.2.2> Loaded custom configuration: no_ram_compiling
libreoffice-5.0.2.2>  Checking for at least 512 MiB RAM ...
libreoffice-5.0.2.2>  Checking for at least 6 GiB disk space at "/var/tmp/notmpfs" ...
[snip...]

Further output:

Output from installing app-office/libreoffice-5.0.2.2:0::gentoo to ::installed replacing 5.0.1.2:0::installed:

Running ebuild phase killold as root:root...
Starting builtin_killold
 Done builtin_killold
 Completed ebuild phase killold
 Running ebuild phases init saveenv as paludisbuild:paludisbuild...
 Starting builtin_init

Output from installing app-office/libreoffice-5.0.2.2:0::gentoo to ::installed replacing 5.0.1.2:0::installed:

Done builtin_init
Starting builtin_saveenv
Done builtin_saveenv
Completed ebuild phases init saveenv
Running ebuild phases loadenv setup saveenv as root:root...
Starting builtin_loadenv
Done builtin_loadenv
Starting pkg_setup

Here's the actual check before compiling it:

Checking for at least 512 MiB RAM ...
Checking for at least 6 GiB disk space at "/var/tmp/paludis/app-office-libreoffice-5.0.2.2/temp/" ...
There is NOT at least 6 GiB disk space at "/var/tmp/paludis/app-office-libreoffice-5.0.2.2/temp/"
Space constraints set in the ebuild were not met!
The build will most probably fail, you should enhance the space
as per failed tests.

Final output:

Done pkg_setup
Starting builtin_saveenv
Done builtin_saveenv
Completed ebuild phases loadenv setup saveenv
Running ebuild phases loadenv unpack saveenv as paludisbuild:paludisbuild...
Starting builtin_loadenv
Done builtin_loadenv
Starting src_unpack
Done src_unpack
Starting builtin_saveenv
Done builtin_saveenv
Completed ebuild phases loadenv unpack saveenv
Running ebuild phases loadenv prepare saveenv as paludisbuild:paludisbuild...
Starting builtin_loadenv
Done builtin_loadenv
Starting src_prepare
Applying libreoffice-4.4-system-pyuno.patch ...
Running eautoreconf in '/var/tmp/paludis/app-office-libreoffice-5.0.2.2/work/libreoffice-5.0.2.2' ...
Running aclocal -I m4 ...
Running autoconf -I m4 --force ...
Running autoheader -I m4 ...
Running elibtoolize in: libreoffice-5.0.2.2/
Done src_prepare
Starting builtin_saveenv
Done builtin_saveenv
Completed ebuild phases loadenv prepare saveenv
Running ebuild phases loadenv configure saveenv as paludisbuild:paludisbuild...
Starting builtin_loadenv
Done builtin_loadenv
Starting src_configure
Running ebuild phases loadenv tidyup as root:root...
Starting builtin_loadenv
Done builtin_loadenv
Starting builtin_tidyup
Done builtin_tidyup
Completed ebuild phases loadenv tidyup

Checking whether the GNU info directory needs updating...
No updates needed
Failed install to / for app-office/libreoffice-5.0.2.2:0::gentoo replacing 5.0.1.2:0::installed
zaufi commented 9 years ago

please show me the env file mentioned... I'll try to reproduce.

peperunas commented 9 years ago

With some env call in /etc/paludis/bashrc I found out that the tempdir variable referred by paludis was T.

The env file is simple as:

T=/new/directory

zaufi commented 9 years ago

I'm not sure that setting T is a good idea (allowed at all) -- please read PMS about it (and a footnote about its consistency). Maybe you can try to play with WORKDIR instead?

and by the way, I have a plugin for that :) -- please read about "Working Directory in a RAM" section -- I think it it that you actually need :)

peperunas commented 9 years ago

I've just read the /usr/portage/eclass/check-reqs.eclass and the size check is done on T. I'm trying to figure out why Portage uses PORTAGE_BUILDDIR(https://wiki.gentoo.org/wiki/Portage_TMPDIR_on_tmpfs) and what Paludis uses. (trying to learn here :) )