It’s quite simple but I forget so many times. This short blog post is for all forgetful port monkeys.
Let’s try to re-add net/ktorrent in four simple steps.
First of all checkout whether your port is already imported or in Attic. The easiest way to do this is by checking webcvs. For example net/ktorrent in cvsweb. If you read (in the Attic), you know it was imported but now it’s deleted.
Make sure you do not have “update -P” in your ~/.cvsrc or a shell alias otherwise you won’t see what cvs(1) tells you.
- Initial preparation
$ cd /usr/ports/ $ rm -rf net/ktorrent $ cvs up -d net/ktorrent cvs server: Updating net/ktorrent cvs server: Updating net/ktorrent/patches cvs server: Updating net/ktorrent/pkg
If you can’t read the cvs(1) server output, you did something wrong in step 2. Be warned! mkdir(1) -p net/ktorrent/pkg would not be sufficient because it would not create the administrative directories net/ktorrent/CVS and net/ktorrent/pkg/CVS.
$ tar -xzvf ~/ktorrent.tar.gz (cvs)-[ports] net/ktorrent net/ktorrent/Makefile net/ktorrent/distinfo net/ktorrent/pkg net/ktorrent/pkg/PLIST net/ktorrent/pkg/DESCR $ cd net/ktorrent $ cvs add Makefile distinfo pkg/DESCR pkg/PLIST cvs server: re-adding file Makefile (in place of dead revision 1.39) cvs server: re-adding file distinfo (in place of dead revision 1.8) cvs server: re-adding file pkg/DESCR (in place of dead revision 1.2) cvs server: re-adding file pkg/PLIST (in place of dead revision 1.12) cvs server: use 'cvs commit' to add these files permanently
Now is the best time for a brief, final build and review of the port, to make sure everything works fine.
This little ZSH function helps me to clean up my ports tree. I often use this function after a big wip-update task to reinstall my standard applications.
My experience taught me, don’t delete the distfiles
make distcleanunless you need storage. You’ll save so much time.
The following list includes all my standard OpenBSD ports. That’s my absolute minimum, my core desktop system. I use exclusively the ports system for all my 3rd party software on OpenBSD. It takes ~16 hours to build the hole list. More or less, next time I’ll measure it.