# Rebuilds bei world-Updates

## l3u

Mahlzeit!

Geht's nur mir so, oder baut Portage bei euch auch gefühlt bei jedem einzelnen besch… world-Update qtwebkit, qtwebengine, webkit-gtk und am besten noch llvm und was es noch so alles mit > 10.000 Quelldateien gibt neu?! Das war doch früher nicht so schlimm?

Ich bringe die letzten Wochen/Monate mehr Zeit damit zu, meinem Rechner beim Kompilieren zuzusehen, als dass ich ihn benutze … na gut, da fühlt man sich an die gute, alte Zeit (2005 rum) erinnert, als es sowieso immer nächte- und tagelang gedauert hat, bis ein Update fertig war.

Aber mal im Ernst: Hat sich da irgendwas geändert, dass Portage gefühlt jedes Mal riesige Pakete neu bauen (nicht etwa updaten) muss?

----------

## Josef.95

Hm nein, aber vermutlich sind das dann nötige rebuilds aufgrund geänderter Subslots. Das steht in der emerge Ausgabe dann aber auch mit dabei.

Hier mal ein Beispiel anhand eines geänderten Subslots bei dev-libs/icu von :0/64.2 auf :0/63.1 

```
lucy /tmp # echo "dev-libs/icu:0/64.2" >> /etc/portage/package.mask 

lucy /tmp # emerge -avuDN @world --backtrack=40

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild  r  UD ] dev-libs/icu-63.1-r1:0/63.1::gentoo [64.2:0/64.2::gentoo] USE="-debug -doc -examples -static-libs" ABI_X86="(64) -32 (-x32)" 23,191 KiB

[ebuild  rR    ] dev-libs/libxml2-2.9.9-r1:2::gentoo  USE="icu ipv6 python readline -debug -examples -lzma -static-libs -test" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS="python2_7 python3_6 -python3_5 -python3_7" 0 KiB

[ebuild  rR    ] dev-lang/spidermonkey-60.5.2_p0-r2:60::gentoo  USE="jit system-icu -custom-cflags -custom-optimization -debug -minimal -test" 0 KiB

[ebuild  rR    ] dev-libs/libical-3.0.5:0/3::gentoo  USE="berkdb -doc -examples -static-libs -test" 0 KiB

[ebuild  rR    ] dev-qt/qtcore-5.12.3:5/5.12::gentoo  USE="icu systemd -debug -test" 0 KiB

[ebuild  rR    ] dev-qt/qtwebengine-5.12.3:5/5.12::gentoo  USE="alsa jumbo-build pulseaudio system-ffmpeg system-icu widgets -bindist -debug -designer -geolocation -pax_kernel -test" 0 KiB

[ebuild  rR    ] mail-client/thunderbird-60.7.0::mozilla [60.7.0::gentoo] USE="dbus pulseaudio startup-notification system-harfbuzz system-icu system-jpeg system-libevent system-sqlite -bindist -clang -custom-cflags -custom-optimization -debug -hardened -jack -lightning (-neon) (-selinux) -system-libvpx -wifi" L10N="de -ar -ast -be -bg -br -ca -cs -cy -da -el -en-GB -es-AR -es-ES -et -eu -fi -fr -fy -ga -gd -gl -he -hr -hsb -hu -hy -id -is -it -ja -ko -lt -nb -nl -nn -pl -pt-BR -pt-PT -rm -ro -ru -si -sk -sl -sq -sr -sv -tr -uk -vi -zh-CN -zh-TW" 0 KiB

[ebuild  rR    ] www-client/firefox-68.0_beta7::mozilla  USE="clang dbus gmp-autoupdate hwaccel lto pulseaudio startup-notification system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-sqlite system-webp -bindist -custom-cflags -custom-optimization -debug -eme-free -geckodriver -hardened -jack (-neon) -pgo -screenshot (-selinux) -test -wayland -wifi" CPU_FLAGS_X86="-avx2" 0 KiB

Total: 8 packages (1 downgrade, 7 reinstalls), Size of downloads: 23,191 KiB

The following packages are causing rebuilds:

  (dev-libs/icu-63.1-r1:0/63.1::gentoo, ebuild scheduled for merge) causes rebuilds for:

    (mail-client/thunderbird-60.7.0:0/0::mozilla, ebuild scheduled for merge)

    (dev-libs/libical-3.0.5:0/3::gentoo, ebuild scheduled for merge)

    (dev-libs/libxml2-2.9.9-r1:2/2::gentoo, ebuild scheduled for merge)

    (dev-qt/qtwebengine-5.12.3:5/5.12::gentoo, ebuild scheduled for merge)

    (www-client/firefox-68.0_beta7:0/0::mozilla, ebuild scheduled for merge)

    (dev-qt/qtcore-5.12.3:5/5.12::gentoo, ebuild scheduled for merge)

    (dev-lang/spidermonkey-60.5.2_p0-r2:60/60::gentoo, ebuild scheduled for merge)

Would you like to merge these packages? [Yes/No] No

Quitting.
```

----------

## mike155

 *Quote:*   

> qtwebkit, qtwebengine, webkit-gtk

 

Diese Pakete werden gerne von anderen Paketen hereingezogen - aber die meisten Anwender brauchen sie nicht.

Mein Tipp: prüfen, ob man diese Pakete braucht. Wenn nicht: ein paar USE Flags ändern - und schon ist man sie los.

----------

## asturm

Vor der Zeit von Slot Operatoren (die für die rebuilds verantwortlich sind) war es eben nach dem Update nötig, um die @preserved-rebuild Nachricht los zu werden. Und vor der Zeit von @preserved-rebuild war das System womöglich unbenutzbar vor einem revdep-rebuild.sh Scan.

 *mike155 wrote:*   

> aber die meisten Anwender brauchen sie nicht.

 

So weit würde ich jetzt nicht gehen... eins von den dreien wird auf den meisten Desktopsystemen zu finden sein. Auf meinen KDE/Qt fokussierten Systemen findet sich z.b. keine Spur von webkit-gtk. qtwebkit wird von qtwebengine abgelöst und wird nur noch von wenigen Paketen benötigt - das kann man schnell loswerden. Ein paar Minuten zusätzlicher CPU-Zeit und schon hat man mit Falkon einen guten Qt-basierten Browser der auf qtwebengine aufsetzt.

----------

## l3u

Dummerweise brauche ich alle drei von den Monstern tatsächlich … qtwebengine für Falkon, qtwebkit für Trojitá und webkit-gtk für GnuCash (für das es leider Gottes keine vernünftige Qt-Alternative gibt …)

----------

## asturm

 *l3u wrote:*   

> webkit-gtk für GnuCash (für das es leider Gottes keine vernünftige Qt-Alternative gibt …)

 

skrooge, kmymoney? Falls Funktionalität fehlen sollte, könntest du auch Featurerequests @bugs.kde.org deponieren.

----------

## l3u

Ich hab mir die damals mal angeschaut, aber ich brauch nen richtigen DATEV-Kontenrahmen (ist für meine Praxis, nicht für Privatkram), und das konnten die damals nicht oder nicht so gut. Aber vielleicht sollte ich das mal reevaluieren. Sind schon paar Jahre. Jedenfalls hab ich mittlerweile auch paar nette Python-Scripts, die CSV-Daten aus der GnuCash-SQLite-Datenbank rausziehen, damit mein Steuerberater/Wirtschaftsprüfer mir nen Jahresabschluss fürs Finanzamt draus machen kann.

----------

## mike155

 *Josef.95 wrote:*   

> 
> 
> ```
>   (dev-libs/icu-63.1-r1:0/63.1::gentoo, ebuild scheduled for merge) causes rebuilds for:
> 
> ...

 

Wenn ich's richtig sehe, hängt das mit dem USE Flag "system-icu" zusammen. Wäre das nicht gesetzt, würde es keinen Rebuild dieser Pakete geben.

----------

## Josef.95

 *mike155 wrote:*   

>  *Josef.95 wrote:*   [...] 
> 
> Wenn ich's richtig sehe, hängt das mit dem USE Flag "system-icu" zusammen. Wäre das nicht gesetzt, würde es keinen Rebuild dieser Pakete geben.

 

Ja, das ist ja das schöne an den Useflags, damit lassen sich deps recht gut steuern :)

Aber wenn man nicht grad jede testing icu Version mitnimmt, dann gibt es solche großen mengen rebuilds auch nur selten. Hab aber auch einen Rechner der die Pakete flott durchbaut, von daher machen mir solche nötigen rebuilds nichts aus.

----------

## l3u

Also sehe ich das richtig, dass man auf schwachen Maschinen eher USE="-system-ffmpeg -system-icu" für die qtwebengine setzen sollte?

----------

## ulenrich

Auf meiner schwachen und 10 Jahre alten Maschine benutze ich jetzt

firefox-bin

thunderbird-bin

recht ordentlich. Spricht etwas dagegen?

----------

