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 |