Gentoo Archives: gentoo-user

From: Ramon Fischer <Ramon_Fischer@×××××××.de>
To: "David M. Fellows" <dmf@××××××××××××××.ca>, gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: Compile large packages as last package [SOLVED]
Date: Wed, 08 Sep 2021 19:58:23
Message-Id: AM6PR10MB24407425BBC882F98FA86339EFD49@AM6PR10MB2440.EURPRD10.PROD.OUTLOOK.COM
In Reply to: Re: [gentoo-user] Re: Compile large packages as last package by "David M. Fellows"
1 Thank you for the hint, but I am very aware of this.
2
3 As the subject says, I want to compile large packages as last package,
4 since it sometimes happens, that a large package may get compiled as
5 package 245 of 300 for example; blocking other small packages.
6
7 I just re-used "/etc/portage/package.env/no_tmpfs.conf", since it
8 already contains a list of large packages, which most likely need a long
9 time to compile.
10
11 I should have been more elaborate in my last e-mail:
12
13 I was actually hoping for a neat hack, where you can tag or
14 prioritise (not nice or renice) packages in "/etc/portage/env/" or
15 "/etc/portage/package.env/" to compile them as last packages.
16
17 The solution with "--exclude" is working well so far; I had no redundant
18 rebuilds. :)
19
20 Maybe I need to tweak it later on, if rebuilds occur frequently, but
21 this for another time.
22
23 -Ramon
24
25 On 08/09/2021 17:24, David M. Fellows wrote:
26 >> Thank you for your ideas!
27 >>
28 >> I was actually hoping for a neat hack with "/etc/portage/env/" and
29 >> "/etc/portage/package.env/", where you can set environment variables.
30 > Did you look at example 2 in
31 > https://wiki.gentoo.org/wiki//etc/portage/package.env ?
32 >
33 > It seems to address your problem.
34 > DaveF
35 >> I will try out the following solution:
36 >>
37 >> $ < "/etc/portage/package.env/no_tmpfs.conf
38 >> # custom - 20181121 - rfischer: list packages, which are too big for
39 >> tmpfs
40 >> #app-emulation/qemu-kv no_tmpfs.conf
41 >> #app-office/libreoffice no_tmpfs.conf
42 >> #dev-java/icedtea no_tmpfs.conf
43 >> #dev-lang/ghc no_tmpfs.conf
44 >> #dev-lang/rust no_tmpfs.conf
45 >> #mail-client/thunderbird no_tmpfs.conf
46 >> #sci-libs/tensorflow no_tmpfs.conf
47 >> #sys-devel/gcc no_tmpfs.conf
48 >> #www-client/firefox no_tmpfs.conf
49 >> #www-client/ungoogled-chromium no_tmpfs.conf #throttle_make_emerge.conf
50 >>
51 >> $ < "${HOME}/bin/update.sh"
52 >> [...]
53 >> large_package_list=$(/bin/grep --extended-regexp --only-matching
54 >> "[a-z]+-[a-z]+\/[-0-9a-zA-Z]+" "/etc/portage/package.env/no_tmpfs.conf")
55 >> [...]
56 >> /usr/bin/emerge --ask --update --deep --newuse --tree --verbose
57 >> --exclude="${large_package_list//$'\n'/ }" @world
58 >> /usr/bin/emerge --ask --update --deep --newuse --tree --verbose @world
59 >>
60 >> -Ramon
61 >>
62 >> On 15/08/2021 17:48, Nikos Chantziaras wrote:
63 >>> On 14/08/2021 22:20, Ramon Fischer wrote:
64 >>>> Is there any way to tell "portage", that packages like "qtwebengine",
65 >>>> "(ungoogled-)chromium", "firefox" and so on are always compiled as
66 >>>> last package?
67 >>> The simplest way is to exclude those packages in the first update, and
68 >>> then allow them in the second:
69 >>>
70 >>> emerge -uDU @world --exclude "qtwebengine firefox chromium" && emerge
71 >>> -uDU @world
72 >>>
73 >>> The dependency tracker of portage will of course also exclude packages
74 >>> that depend on the excluded packages, unless they themselves have
75 >>> updates pending. In that case, they *might* get built twice; once
76 >>> against the current version of the excluded packages, and then perhaps
77 >>> again on the second run, if there's rebuild triggers involved.
78 >>>
79 >>> Most of the time though, you won't run into cases of redundant
80 >>> rebuilds. Rebuild triggers are not very common.
81 >>>
82 >>>
83 >> --
84 >> GPG public key: 5983 98DA 5F4D A464 38FD CF87 155B E264 13E6 99BF
85 >>
86 >>
87 >>
88 >>>> application/pgp-signature attachment, name=OpenPGP_signature
89
90 --
91 GPG public key: 5983 98DA 5F4D A464 38FD CF87 155B E264 13E6 99BF

Attachments

File name MIME type
OpenPGP_signature.asc application/pgp-signature