Description
glcu - gentoo linux cron update is a
rich featured program that semi-automatically updates your gentoo
box.
glcu runs in the night via cron, prebuilds new packages and sends you an
eMail if there are new packages available. The eMail provides also an
easy command to fully update your gentoo box and information about the
prebuilding processes.
glcu was initially a bash script, published in the gentoo forums. Now a
new glcu was programmed in python (>=version 0.9).
The actual
version is not stable and shouldn't be used on production
systems. glcu is not officially supported by gentoo, and
may never will. For now, this is just a private project, an itch that
I started to scratch.
If you use glcu, you do it on your own responsibility. I won't take any
blame if it will break you computer or steal your wife. And you don't
need to blame me, when all your collegues admire your
always-up-to-date-gentoo-box ;-).
glcu is written by Michael Schilling and licensed under the
GPL-2.
(The Gentoo name and logos are a trademark of The Gentoo Foundation.)
Features
- weekly (or daily) sync via cron
- updating esearch or eix (or both) databases
- running fixpackages (if needed)
- checking emerge system/world and glsa's for new packages and
prebuilding them
- easy update of your gentoo box with one single command,
e.g.:
glcu /tmp/glcuUpdate.12345
- ...
As I don't have the time to develop glcu any further, I will only try to
keep the actual code alive and working. But don't expect very quick updates.
TODO
- add a --test option (or at least a --testmail option)
- change configurations to /etc/glcu directory
- glcu installs the packages in reverse order as shown (portage thing)
- add an option to create a symbolic link from /tmp/glcuUpdate to
the newest /tmp/glcuUpdate-12345 file.
- used standard sets (don't import it) and require >=python-2.4 in ebuild
- add the spinner from emerge to the update function
- add a option for PORTAGE_NICENESS ?
- only sync if last sync was at least 23 hours earlier (using
/usr/portage/metadata/timestamp ?)
- write a man page
- add a recovery option (build binary packages of the actual
installed packages together with the possibility to --recover to the
old versions (if somethings going wrong).
- Use SMTPlib to send eMails (remove the need of mailx)***
- directly interface with the portage API (not running the actual
commands in a shell) and make the code really OO!
- add a option to define the output in the eMails, e.g.: %S %n %U for
[ U]
Name-of-the-Package [USE-flags] success
- add an full automatic option (incl. etc-update test)? It would
be only for the brave...
- Full color support in the easy update feature
- hourly check for security updates via the RDF-feed, prebuilding
needed packages and send an eMail (if you can't wait a whole day for
your fix)
- wait for suggestions from you :-)
*** already done in the CVS version
Known Bugs
- --automatic doesn't work for portage update question...
- glsa-check does not (always) run during the update feature, even
when you explicitely say 'y' to it
- Only Updated packages [U] are found by glcu and not packages that
will be installed in a new Slot [NS]. This isn't a problem in nearly all
cases and won't be fixed before the new API version, but it's still a
bug. **
- some packages from glsa's can't be split by whitespace. I don't
know if it's a glcu problem or a glsa-check problem, because it only
occurs about once in a month. **
- related to the bug above, the dependency check does not fully work
**
** will only be fixed in the new development branch
*** already fixed in the CVS version
ChangeLog
- 07.08.2008: new release of glcu - Version 0.9.7.2
- Because of the python switch from sre to re, I made a new
version. I fixed some more bugs on the way and changed the place of
the config file. I hope everything works fine for the next three
years ;-)
- 27.02.2006: Declared Version 0.9.7.1 stable
- Because I change the code of glcu a lot at the moment, I marked
version 0.9.7.1 stable. This version worked very well for over about
6 months, and I fear it is a lot more stable than the next
releases will be.
- Added sparc support to the ebuild. Thanx to coutts99!
- 02.09.2005: new release of glcu - Version 0.9.7.1
- Only minor bugfixes (FulllogHeader)
- Trying to fully stabilize this version!
- 09.08.2005: new release of glcu - Version 0.9.7
- Several minor bugfixes (package-check, portage-update, use
PKGDIR for deleting package)
- Better handling of big logs (FullLog)
- 26.05.2005: new release of glcu - Version 0.9.6.3
- Several minor bugfixes (print statements and for the etc-update feature)
- Added ~amd64 support to the ebuild. Thanx to Puca!
- 17.05.2005: new release of glcu - Version 0.9.6.2
- Directly a new bugfix release *damn* to correct the etc-update
option...
- 17.05.2005: new release of glcu - Version 0.9.6
- opened up a sourceforge project for glcu, so you can get a
notification via sourceforge and I get a download statistic
- Some more bugfixes for the quite complicated inject code
- added simple 'etc-update' and 'revdep-rebuild' functionality
- added 'emerge --resume --skipfirst' functionality for the second
manual update step
- plus extra check if glcu is already running
- 09.05.2005: new release of glcu - Version 0.9.5.3
- This is another quick bugfix release!
- fixing the new injection method...
- I don't have the time to implement new things, therefore I only
try to stabilize glcu
- 07.05.2005: new release of glcu - Version 0.9.5.2
- This is another bugfix release!
- bugfixes include: better root check, fix for portage upgrade,
fixed ask subroutine and reinstate two internal RegExp matches
- added new inject support - injecting now in profile/package.provided
- 26.04.2005: new release of glcu - Version 0.9.5.1
- This is just a bugfix release, to get rid of the hostname problem!
- done several minor changes (--oneshot option, renice glsa-check output)
- 06.04.2005: new release of glcu - Version 0.9.5
- ebuild changed for this version!
- chooser for the easy update feature - Gentoo is about choice!
- added USE-flags for esearch and eix support
- several bugfixes/enhancements (hostname, PKGDIR, rerunconfig,...)
- 26.03.2005: new release of glcu - Version 0.9.4
- enhanced the easy update feature
- removed many commandline options (there won't be a manual mode
for glcu)
- extra check for portage updates
- new ask subroutine for cleaner code
- added rerunconfig option for more flexibility
- added support for eix (as alternativ to esearch) updateix option
- minor bugfixes
- 14.03.2005: new release of glcu - Version 0.9.3
- some minor bugfixes, incl. the repair of 'glsa-check --fix'
- 11.03.2005: new release of glcu - Version 0.9.2
- a lot of bugfixes that were related to the different environment
in cron
- minor enhancements on handling the logs etc.
- 02.03.2005: new release of glcu - Version 0.9.1
- some bugfixes - Please update!
- new sysworldoptions - option added to config file
- 23.02.2005: Initial release of glcu (the python version) - Version 0.9