Hi there, In order to allow a smooth upgrade to 2.2, we need some extensions to setup. That's mainly three things: - installing udev and friends - renaming pkgconfig to pkg-config - and removing devfsd there are probably more of each kind, but those are the general use cases. I made a patch (currently untested) which allows the above. It's meant to get the discussion going. If we settle for a different solution I'm perfectly fine with that. Here's the patch: http://jw.tks6.net/files/crux/setup-upgrade-config.diff It basically allows to ship an additional file which defines packages to be injected, packages to be removed, and packages to be renamed. My test file looks like this: ------- [http://jw.tks6.net/files/crux/setup-2.2.conf] # update from 2.0/2.1 to 2.2 UPGRADE_INJECT="udev pciutils libusb" UPGRADE_REMOVE="devfsd" UPGRADE_RENAME="pkgconfig:pkg-config x11:xorg" ------- The x11 renaming is just a test case, obviously. Currently, the script checks for the existence of /etc/setup.conf, and sources it if it's there. The upgrade cleanup is ran after the regular update procedure, and prints some information to stdout, telling the user what it just did. A couple of notes: - I couldn't test this yet, I'll do it later today when I get home; my goal is that you can update from a clean 2.1 install directly to 2.2, assuming that you use a proper kernel. - We should probably have that for 2.2-test1, since otherwise manual interaction is needed when updating from 2.1 (even if it's already udev enabled); this unfortunately means that we have to delay it - I'm not sure if it's ever nice to remove packages; maybe we should rather tell the user to remove them manually, so he/she can backup configuration files if that's wanted If someone has the time to check my patch and comment, that would be great, since as I said before I think we should have that on 2.2-test1. Additionally, here's a trivial patch to not search for contrib ports on the ISO anymore: http://jw.tks6.net/files/crux/setup-no-contrib.diff If there are no objections, I'll commit that this evening. Best regards, Johannes -- Johannes Winkelmann mailto:jw@tks6.net Zurich, Switzerland http://jw.tks6.net
Hi, On Mon, Mar 20, 2006 at 09:38:30 +0100, Johannes Winkelmann wrote:
Hi there,
In order to allow a smooth upgrade to 2.2, we need some extensions to setup. That's mainly three things: [...] I made a patch (currently untested) which allows the above. I also wrote a separate script to do the above, to keep the impact on 'setup' lower and make it testable: http://jw.tks6.net/files/crux/post-setup
to test it, do: $ mkdir /tmp/setup $ cd /tmp/setup $ mkdir core opt $ touch core/udevd#1.0-1.pkg.tar.gz $ wget http://jw.tks6.net/files/crux/post-setup $ chmod +x post-setup $ ./post-setup / The script doesn't do any actual changes, since it's configured as PKGADD="echo pkgadd" PKGRM="echo pkgrm" MV="echo mv" It should print about the following (on an udev-enabled machine): ----- * Packages removed (obsolete): gcc pkgrm -r / gcc [1] * Packaged injected: udevd pkgadd -r -f / core/udevd#1.pkg.tar.gz [2] * Packages renamed: pkgconfig -> pkg-config mv /tmp/db /var/lib/pkg/db [3] ----- [1], [2] and [3] would be actual commands. Obviously, the actual package names are bogus and to be adjusted after testing. This should allow to test it without building an ISO. Feedback appreciated. Kind regards, Johannes -- Johannes Winkelmann mailto:jw@tks6.net Zurich, Switzerland http://jw.tks6.net
participants (1)
-
Johannes Winkelmann