• [gentoo-user] Re: Compile large packages as last package

    From Ramon Fischer@21:1/5 to Nikos Chantziaras on Wed Sep 8 14:20:01 2021
    --CnM7kFygTcetsIio77EF85oHHjeMfogIq
    Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable
    Content-Language: en-US

    Thank you for your ideas!

    I was actually hoping for a neat hack with "/etc/portage/env/" and "/etc/portage/package.env/", where you can set environment variables.

    I will try out the following solution:

    $ < "/etc/portage/package.env/no_tmpfs.conf
    # custom - 20181121 - rfischer: list packages, which are too big for
    tmpfs
    #app-emulation/qemu-kv no_tmpfs.conf
    #app-office/libreoffice no_tmpfs.conf
    #dev-java/icedtea no_tmpfs.conf
    #dev-lang/ghc no_tmpfs.conf
    #dev-lang/rust no_tmpfs.conf
    #mail-client/thunderbird no_tmpfs.conf
    #sci-libs/tensorflow no_tmpfs.conf
    #sys-devel/gcc no_tmpfs.conf
    #www-client/firefox no_tmpfs.conf
    #www-client/ungoogled-chromium no_tmpfs.conf #throttle_make_emerge.conf

    $ < "${HOME}/bin/update.sh"
    [...]
    large_package_list=$(/bin/grep --extended-regexp --only-matching
    "[a-z]+-[a-z]+\/[-0-9a-zA-Z]+" "/etc/portage/package.env/no_tmpfs.conf")
    [...]
    /usr/bin/emerge --ask --update --deep --newuse --tree --verbose
    --exclude="${large_package_list//$'\n'/ }" @world
    /usr/bin/emerge --ask --update --deep --newuse --tree --verbose @world

    -Ramon

    On 15/08/2021 17:48, Nikos Chantziaras wrote:
    On 14/08/2021 22:20, Ramon Fischer wrote:
    Is there any way to tell "portage", that packages like "qtwebengine",
    "(ungoogled-)chromium", "firefox" and so on are always compiled as
    last package?

    The simplest way is to exclude those packages in the first update, and
    then allow them in the second:

    emerge -uDU @world --exclude "qtwebengine firefox chromium" && emerge
    -uDU @world

    The dependency tracker of portage will of course also exclude packages
    that depend on the excluded packages, unless they themselves have
    updates pending. In that case, they *might* get built twice; once
    against the current version of the excluded packages, and then perhaps
    again on the second run, if there's rebuild triggers involved.

    Most of the time though, you won't run into cases of redundant
    rebuilds. Rebuild triggers are not very common.



    --
    GPG public key: 5983 98DA 5F4D A464 38FD CF87 155B E264 13E6 99BF



    --CnM7kFygTcetsIio77EF85oHHjeMfogIq--

    -----BEGIN PGP SIGNATURE-----

    wsF5BAABCAAjFiEEWYOY2l9NpGQ4/c+HFVviZBPmmb8FAmE4qJ8FAwAAAAAACgkQFVviZBPmmb/9 PBAAxNYMdNAtUK5FhQtSD+g8xgDNX4NCnmVptU0mXLtk6Fco2MIVT0zjlzrpli4ULFGdFpTk7E9g vY55odqSS522bjhxvAfdeaOj67ywuDiuwXNwMDTxgBfZkcBOu37h/7rKAREIBtaN3OS2LeyZ6r5H ipNx55e2QA0Vign9zvsg1hHa+b1ZX0KCsHnD5t0ci7ccmeNtYM9pLBBm06ixcTz0r/vSZEJmFejh KvJdJAkAoGrqU/yWcfYs68AOsnA5HGgR89yb0C1Sq2BdeXZCS44nFpQREcsS0EZ8J7aypsdFY/P+ KI9kv3Y0EaSrW64VlznqzxWCTF9tydc6QGBAYfEueA9veLTPGZ+yOoZiaZKo2yL6yGrRKpUMIpVo dIhHd2ktmIl8+YmtZj985KnLr66660ApnlT+PU0CejFS+nZZ8Qg4YuT1HQ4SPus9UHbrT2j0niLI +QRYNoiNX5PNTmcSFkdh4uqAK0Yee6uwSFY30C4Ui1/tsSEGKqtuzCzH8EDXTvYSBCjm6u4QW/Dd XFfVFowBwJyWfX7DFThVYLF+Gp3oHXWci8dDz0Sre1n61nu4O3ekfo4DWPVNoeYSqQcd6/IMDZxy Mm/YhqvGoZD5d2IZp4U/FTcpQGtRT7Hq59KHRvUBosjc37VPAbP5wM20jMqQP6WrBUo22MLKqmG4 sao=
    =Dr55
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usen
  • From David M. Fellows@21:1/5 to All on Wed Sep 8 17:30:02 2021
    Thank you for your ideas!

    I was actually hoping for a neat hack with "/etc/portage/env/" and >"/etc/portage/package.env/", where you can set environment variables.

    Did you look at example 2 in https://wiki.gentoo.org/wiki//etc/portage/package.env ?

    It seems to address your problem.
    DaveF

    I will try out the following solution:

    $ < "/etc/portage/package.env/no_tmpfs.conf
    # custom - 20181121 - rfischer: list packages, which are too big for
    tmpfs
    #app-emulation/qemu-kv no_tmpfs.conf
    #app-office/libreoffice no_tmpfs.conf
    #dev-java/icedtea no_tmpfs.conf
    #dev-lang/ghc no_tmpfs.conf
    #dev-lang/rust no_tmpfs.conf
    #mail-client/thunderbird no_tmpfs.conf
    #sci-libs/tensorflow no_tmpfs.conf
    #sys-devel/gcc no_tmpfs.conf
    #www-client/firefox no_tmpfs.conf
    #www-client/ungoogled-chromium no_tmpfs.conf #throttle_make_emerge.conf

    $ < "${HOME}/bin/update.sh"
    [...]
    large_package_list=$(/bin/grep --extended-regexp --only-matching
    "[a-z]+-[a-z]+\/[-0-9a-zA-Z]+" "/etc/portage/package.env/no_tmpfs.conf")
    [...]
    /usr/bin/emerge --ask --update --deep --newuse --tree --verbose
    --exclude="${large_package_list//$'\n'/ }" @world
    /usr/bin/emerge --ask --update --deep --newuse --tree --verbose @world

    -Ramon

    On 15/08/2021 17:48, Nikos Chantziaras wrote:
    On 14/08/2021 22:20, Ramon Fischer wrote:
    Is there any way to tell "portage", that packages like "qtwebengine",
    "(ungoogled-)chromium", "firefox" and so on are always compiled as
    last package?

    The simplest way is to exclude those packages in the first update, and
    then allow them in the second:

    emerge -uDU @world --exclude "qtwebengine firefox chromium" && emerge
    -uDU @world

    The dependency tracker of portage will of course also exclude packages
    that depend on the excluded packages, unless they themselves have
    updates pending. In that case, they *might* get built twice; once
    against the current version of the excluded packages, and then perhaps
    again on the second run, if there's rebuild triggers involved.

    Most of the time though, you won't run into cases of redundant
    rebuilds. Rebuild triggers are not very common.



    --
    GPG public key: 5983 98DA 5F4D A464 38FD CF87 155B E264 13E6 99BF



    application/pgp-signature attachment, name=OpenPGP_signature

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)