Lab-Brat / gentoo_update

Gentoo Linux system updater
MIT License
47 stars 5 forks source link

Compare against `genup` and consider implementing any features #20

Open jonesmz opened 1 year ago

jonesmz commented 1 year ago

Sakaki authored the genup program which is intended to handle a subset of this gentoo_update program's functionality.

Consider taking a look and implementing any features covered by genup but not gentoo_update.

The GenPi64 project would love to ditch genup entirely, if gentoo_update will be maintained going forward.

See genup's source code here: https://github.com/GenPi64/genup

Lab-Brat commented 1 year ago

I think it will take a while to implement all features from genup, Sakaki put an impressive amount of effort into their work.

For instance, genup uses at least 2 other tools developed by the same author - emtee and buildkernel.

I'll need some time to study their work to be able answer you in more detail. Meanwhile, what features on genup are you most interested in?

jonesmz commented 1 year ago

I'm not sure that buildkernel is a feature worth considering. It is likely superseded by Gentoo's existing sys-kernel/gentoo-kernel package

My interest in the gentoo_update script is to replace the automated update aspect of the genup program for the genpi64 image that I work on.

I'm not particularly for or against any of the genup features beyond recognizing that genup is effectively unmaintained, and i'd like something that has a real maintainer behind it.

southern-tools commented 11 months ago

Hi, maybe cheking at the beggining portage itself is up to date could be a good idea. Also having "perl-cleaner --all" somewhere in the process I think could be good. This is how I run the script right now (with a wrapper):

eix-sync ;
gentoo-update update -m full -e -l -n -a "--color=y --deep --with-bdeps=y --changed-use --update --backtrack=50" ;
haskell-updater ;
perl-cleaner --all ;
eclean --deep packages ;
eclean --deep distfiles ;
smart-live-rebuild ;
recover-broken-vdb ;
rm -vfr /var/tmp/portage/*

But probably is a lazy workaround (e.g. eix-sync could be redundant, I did not check your script in deep). I was thinking about getting some from genup myself, relied on it for years (without buildkernel nor emtee). Anyways, thank you very much for your work.

Lab-Brat commented 10 months ago

Hey @southern-tools! Thank you for your support ❤️

cheking at the beggining portage itself is up to date could be a good idea.

gentoo_update does sync the Portage tree before update via emerge --sync (code is here).

It's not redundant to use eix-sync if you are also using some other functionalities of eix, since this command is a summation of multiple commands, namely emerge --sync + eix-update + eix-diff (doc). However if you use eix only to sync packages then just running gentoo_update should be enough.

perl-cleaner --all

Do you need to clean old perl installations regularly?

I see no harm in adding perl-cleaner to the updater, tho whole thing is a 500+ line Bash script, and I can add it as an optional dependency, like needrestart is used now (code is here).

southern-tools commented 9 months ago

Hi, @Lab-Brat,

I agree, probably perl-cleaner is an overkill. It is the result of a not very careful migration from Sakaki's Genup to your script (which I am now running on a daily basis through a systemd timer). Looking into the logs, perl-cleaner does not trigger any update for more than 2 yrs... so probably I could remove it.

Thank you again for your work.