sakaki- / genup Goto Github PK
View Code? Open in Web Editor NEWUtility to update the Portage tree, all installed packages, and kernel, under Gentoo Linux.
License: GNU General Public License v3.0
Utility to update the Portage tree, all installed packages, and kernel, under Gentoo Linux.
License: GNU General Public License v3.0
Directory /etc/genup/updaters.d
has been created for custom updaters. So I think python-updater
and perl-cleaner
commands should go (as scripts) there. It would be more consistent.
Genup is written in bash so moving these commands to the end shouldn't break anything...
I have feature request: when running script with flag --ask
add bell sound alert every time the interaction is needed (for example: when appears question Continue (y/n)?
). It would be very convenient.
I found that's very easy to implement:
http://rosettacode.org/wiki/Terminal_control/Ringing_the_terminal_bell#UNIX_Shell
Between lines 71 and 82, genup
tests whether certain variables including MAKEOPTS
are defined in the environment and explicitly sets MAKEOPTS
to -j${NUMCPUSPLUSONE} -l${NUMCPUS}
. This means settings in /etc/portage/make.conf
or in /etc/portage/package.env/
are ignored. This is a problem because I specifically set a less aggressive MAKEOPTS
for big packages (such as chromium or any other webkit/blink package) that start swapping heavily when -j
is too high.
The easiest solution would be to get rid of these lines and let the user handle MAKEOPTS
and EMERGE_DEFAULT_OPTS
entirely by themselves.
I'm running Gentoo within a container and using genup to keep everything up-to-date. To update I run 'genup -n' as the kernel is managed by the host system instead of this container guest. However, genup still tries to run 'buildkernel --is-new-kernel-available' which fails unless I have buildkernel installed.
Would it be possible to make this conditional so that buildkernel is not ran at all if '-n' is passed to genup?
I noticed that after world update selection of python2/3 interpreter isn't updated. I'm talking about small version bumps like from 3.3 to 3.4. It is easy to update through command line: eselect python update --python2
and eselect python update --python3
. After running emerge --depclean
without this update symlink could become invalid.
For clarification: I'm not talking about global python interpreter selection (which should be untouched).
What do you think?
Thank you for your hard work @sakaki- on genup script! I'm using it all the time. Even if it's EOL I believie it will be useful to others for at lest few more years. I appreciate that you shared your script with the world! Thank you!
genup was working fine until a few months ago.
Now I keep seeing messages like in genup's log:
genup -v -n gives:
genup.log
Currently, genup
syncs and updates the portage tree, overlays, and packages, rebuilds modules, and then explicitly updates perl and python modules using perl-cleaner
and python-updater
.
Other languages/environments maintain their own updaters- haskell-updater
is the one giving rise to this issue.
I'll see if I can get around to throwing together a pull request for adding a call to haskell-updater
in the script, but is that the correct approach to take?
Can/should the addition of other package management tools be incorporated in a more coherent fashion?
First of all, thank you for making this. It makes updating Gentoo pretty simple.
The only problem I have with it is that it removes older kernel sources before upgrading to the new one causing module-rebuild
to fail. I figure doing the kernel upgrade phase before doingemerge --depclean
could prevent this from happening.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.