Title:

Gentoo World Update Portage System (GWUPS)

Author:

and t35t0r on irc.freenode.net

Why:

I got sick of manually inserting packages into package.keywords, package.unmask, etc. Ever try to do a xorg-x11 split builds upgrade manually?!

Purpose:

This program is a command line front end for Gentoo's portage emerge program for when you want to do a world update. It makes it easier to handle blocked packages, uses a file called gwupsMasks for more powerful package masking, and let's you identify problems with your world file that prevents you from doing world updates.

Usage:

./gwups.pl or ./gwups.pl packageNames . Running ./gwups.pl by itself does an "emerge -vtuDNp world" and running ./gwups.pl NamesOfPackagesToInstall applies its processing only to the ebuilds you specify. The file gwupsMasks allows you to give perl style regular expressions for packages you do not want to install (e.g. rc's or x.x.x.x builds of vanilla-sources that are ~x86 when I want to only install final minor versions x.x.x).

Language:

Currently written in Perl as a command line tool. en-US is currently the only translation.

Versions:

[Download v0.06 - 04/13/06 gwups-0.06.tar.bz2 MD5 = cf4b252fda8397a0d081cf4f0a60ec9e SHA1 = ee87aac771d8e4d69e188ab368478bc5e5f2675b] Fixed problem with upgrading to split builds xorg if you need to uninstall xorg-x11 <= 6.9 (e.g. xorg-x11-6.8.2).

[Download v0.05 - 03/30/06 gwups-0.05.tar.bz2, MD5 = b40dcc0e4658420bffa127203d2a184d] Fixed a problem with having a masked package and keyworded package blocking an emerge at the same time.

[Download v0.04 - 03/21/06 gwups-0.04.tar.bz2, MD5 = b292e2d8a7073332e37a2ec401a34e86] Added an extra regexp to match some blocking packages.

[Download v0.03 - 03/07/06 gwups-0.03.tar.bz2, MD5 = cf487c6bb03a5efa7b8a0a5c3babc827] Fixed some typos which caused problems in recognizing input from the user when dealing with masked packages.

[Download v0.02 - 02/28/06 gwups-0.02.tar, MD5 = b1b64e0091dcc5e14bcfa62a73dee4ce] First public release.

Todo:

1) Algorithm for actually fixing the world file rather than just telling the user what's wrong with it.
2) Tk interface for handling package.use and use flags.


Optional Stuff:

Title:

Emerge Until Done (eud).

Purpose

Keeps doing the emerge until it has exhausted all packages to be emerged in the queue even if there are errors in emerging certain packages that keep the queue from progressing. This is useful when yo u have lots of packages to emerge but can't monitor the progress of the emerge (you're AFK). The script will dump all broken packages to the file brokenPackages.txt in the working directory. You should probably have PORT_LOGDIR set in /etc/make.conf so that you can look at the emerge log files for the failed packages logged in brokenPackages.txt.

Usage Examples:

1) /eud.pl
2) ./gwups.pl ; ./eud.pl

Line (2) above theoretically does a large world update while continuing the emerge even if there is a failure in a certain package that would have otherwise killed the entire update. There must be at least two packages to emerge in the queue since basically this script is a wrapper for emerge --resume --skipfirst.

Versions:

[Download v0.01 - 01/24/08 eud-0.01.tar.bz2. MD5 = fbbcce30a45837d5f7ca490bb15cb076 SHA1 = bccb7f28d7b8cdbf09265b553d0705c9b6a7b062]. This code may eventually be implemented in GWUPS as an optional flag.

License:

GWUPS is licensed under the GNU GPL v2. If you make any modifications to this script then let me know!


50% of donations go to kde.org SourceForge.net Logo http://www.gentoo.org http://www.gentoo-portage.com