This page gives an overview over the user visible changes caused by the server migration and merging of the former CLC project into the CRUX main project.
We did a major renaming of the ports collections. We now have three "branded" collections:
The ports tree is now hosted on crux.nu, developed in a Subversion repository and published via rsync. There's a guide below which shows how to convert a system to use those new rsync ports.
While semi-automatic update procedure would have been possible, we consider it dangerous since there are major changes which CRUX users have to understand to avoid problems and possible security problems in the future. We therefore preferred to provide a safe guide to switch, with important notes along the way. If you have questions on any of these points, please don't hesitate to contact us throught the mailing list, or on IRC.
In order to switch your system to rsync, perform the following actions:
The ports
utility contained support for the CVSUp ports (the former base, opt and contrib ports). We don't need that anymore, so let's install a new port for it:
$ cd /tmp $ wget http://crux.nu/files/ports.prt.tar.gz $ tar xvzf ports.prt.tar.gz $ cd ports as root: # pkgmk -d -u
The rsync
port contains support to get the new ports when running ports -u
.
$ cd /tmp $ wget http://crux.nu/files/rsync.prt.tar.gz $ tar xvzf rsync.prt.tar.gz $ cd rsync as root: # pkgmk -d -u or if you didn't have rsync installed before, run # pkgmk -d -i
To have a clean start with the new ports, remove the old port files:
as root: # cd /usr/ports/ # rm -rf base opt contrib .cvsup
One of the most important changes realized with the switch is the new contrib
collection: it merges selected ports from personal ports repositories into one collection, eliminating the sometimes painful process of subscribing to many different repos to get the ports you need. Assuming that in the future, the majority of ports maintainers will join this project, this will enable the users to subscribe to one single collection and have all the ports at their fingertips.
However, since the collection aims to be open to all serious contributors, there's no guarantee of usability whatsoever from the CRUX team; it's really the same as subscribing to personal collections. Please keep that in mind.
If you want to enable the new contrib, do the following:
as root: # cd /etc/ports # mv contrib.rsync.inactive contrib.rsync
Now it's time to get the shiny new ports:
as root: # ports -u
If you have a look at the contents in /usr/ports/
, you should see the new ports now:
$ ls -1 /usr/ports core opt ...
Depending on whether you chose to enable the new contrib collection, you should also see that one.
In order to let prt-get
know about the new hierarchy, open /etc/prt-get.conf
in a text editor, and change the section with the prtdir
listings from
prtdir /usr/ports/base prtdir /usr/ports/opt prtdir /usr/ports/contrib ...
to
prtdir /usr/ports/core prtdir /usr/ports/opt # prtdir /usr/ports/contrib ...
Uncomment the entry for /usr/ports/contrib
if you want to subscribe to that collection as well (see the previous section for more information in the new contrib collection)
Congratulations, you're almost done. Unless you're subscribing to any non official CVSUp repository (most of us don't), you can remove the cvsup
port now:
as root: $ pkgrm cvsup
The following list of commands is a summary of the actions listed above, for quick reference.
$ cd /tmp $ wget http://crux.nu/files/ports.prt.tar.gz $ tar xvzf ports.prt.tar.gz $ cd ports # pkgmk -d -u $ cd /tmp $ wget http://crux.nu/files/rsync.prt.tar.gz $ tar xvzf rsync.prt.tar.gz $ cd rsync # pkgmk -d [-i|-u] # cd /usr/ports/ # rm -rf base opt contrib .cvsup # cd /etc/ports # mv contrib.rsync.inactive contrib.rsync # ports -u # edit /etc/prt-get.conf # pkgrm cvsup
If you have questions or any kind of feedback, please don't hesitate to let us know.
If your firewall blocks rsync traffic, you'll need to use HttpUp to get the ports. For this, get the following files and put the into /etc/ports
:
and optionally
In addition, you'll need to install curl
and httpup
. If you don't have a ports tree from an earlier installation, you can get ports from
and compile and install them using pkgmk
and pkgadd
.
Also, it's a good idea to rename the .rsync files in /etc/ports
to .rsync.inactive to avoid timeouts during ports -u
.