Ruminations on the Digital Realm

Jan Stedehouder

PC- BSD Day 7: Ports of Call

Today I spend most of day on a Windows box. Alas, but my boss won’t allow anything but Windows on the workfloor. When the time to play is in short supply I automatically focus on the tools that are created to make life easy. That focus was on graphical front-ends for the ports collection. For this I switched to virtual box number 2 (remember, box no. 1 is the one I just play nice with according to the rules).

The line-up
As with many management tasks under *NIX you don’t really need a graphical front-end. The graphical user environment is nothing but a layer around the real system and it’s sole purpose should be to make things more attractive and easier accessible than the command-line tools. It is no problem to install software using the ports via the command-line. For, instance, installing Bluefish was simply a matter of opening a console (I choose Konsole with root shell access), cd-ing to /usr/ports/www/bluefish and typing #make install. And then wait.
PC-BSD-Day7-CLIPortsinstall

When it comes to graphical front-ends to this system I found some tools and received suggestion by some of you. Which reminds me: I can’t thank you people enough for helping me out and giving pointers and suggestions. It makes the whole series all the more complete and interesting. Good, the line-up of possible GUI tools for the ports collection: KPorts, portmaster, BPM, Barrry, pib and DesktopBSD-tools. I installed all of these via the pkg_add -r instruction.

Where to find them?
One of the first things I noticed is how differently the tools are located in the menu. In Settings->Software & Updates I found three entries among which “Online Update Manager” and the “PBI Update Manager”.

PC-BSD-Day7-PBIUpdateManager

The PBI Update Manager speaks for itself and it only deals with the PBI installed pacakges. As for the Online Update Manager I am not sure.

PC-BSD-Day7-OnlineUpdateManager

Under Settings -> System Administration you can fetch the system source via CVSup (tab Tasks) and the ports via Portsnap. If I understand Oliver’s suggestions properly I shouldn’t mix them.

PC-BSD-Day7-SystemManager-CVSup

I decided to stick with CVSup and to fetch the system source this way. Unfortunately I still think that wasn’t completely correct as I would later get error message that no ports collection existed in /usr/ports. But, don’t worry, I will hit the books on this one.

Via Settings -> System Administration I also found the entry “Software”. This appeared to be DesktopBSD-tools, which can also be found under System->Software Management. One tool, two names and two locations in the menu tree. This was the tool that was recommended the most, so I expected something good. The first step is to select a CVSup server. I clicked the “Find fastest server” button and was surprised to be offered a US based server instead of a Dutch server, but distance and speed are two different things. What I didn’t expect was to find an error message after OK saying that I should specify a server first.

PC-BSD-Day7-DesktopBSD-cvsup

BPM was located under “System”, Barry under “Utilities” and Kports again under “System”. Portmaster appears to be a command-line tool, so I left that for a later experiment.

Ports Ahoy….anyone….
Now that I found the location of the various front-ends it was time to try them out. BPM still wouldn’t work, so that one is out. DesktopBSD-tools was a bit of a disappointment due to the error with accepting the server.

Barry also left me with error messages that the /usr/ports directory seemed to be invalid and that there was no INDEX.db file. Weird, because I could see and browse the /usr/ports directory just fine.

PC-BSD-Day7-Barry_1

My earlier experience with Kports was okay, so I went back to that program and followed the three steps to get a proper and recent ports collection: (1) Update the ports directory, (2) Fetch a new index file and (3) update PortsDB. I knew for sure now that I had all the right components and wanted to check whether that made a difference with the other programs.

PC-BSD-Day7-KPorts-UpdatePortstree-1
It didn’t for Barry which still gave the same error messages, but it did make a huge difference for DesktopBSD-tools. The program ran a portaudit, which resulted in the advice to update two packages, and then the full graphical interface appeared in all it’s glory.

DesktopBSD-tools: a second chance for a first impression
PC-BSD-Day7-DesktopBSD-mainscreen

Like I wrote above, I want to see two things in a graphical tool: it should be attractive and make things easily accessible. DesktopBSD-tools’ main screen immediately told me that 47 packages could use an update in the sense that a more recent version was available. The Update List button should get me a more recent list of ports and the Clean button should help me to clean up after installing new software. For now I was interested in the tab Available Packages. You can search for your favorite programs by name and by description and the latter should come in handy if you know the functionality but not the name of a specific program.

When you have found the package you are only one click away from it’s website. That’s a feature I wouldn’t mind seeing in Synaptic or Adept. Clicking “Install” moves the packages to the right hand panel, aptly called “Pending operations”. Even better! You can set up a complete queue of software that needs to be installed.

PC-BSD-Day7-DesktopBSD-pending
Overall I found DesktopBSD-tools to meet the two criteria and in it’s functionality even surpassing Synaptic.

Some more structure?
One thing I did find very weird. Today I tried one category of tools, graphical front-ends for the ports collection, and the programs wound up at various locations in the menu tree. It’s nothing serious, but it did leave an impression of lack of structure, lack of agreement or sufficient guidelines on where to put certain categories of programs. Maybe it’s just me and have I used GNOME too much over the last year. The 30 days with PC-BSD also means the longest period working with the KDE desktop for me. Who knows what else I will learn in this month ;-).

Advertisements

Single Post Navigation

5 thoughts on “PC- BSD Day 7: Ports of Call

  1. Well I’m glad you finally got to use the DesktopBSD ports manager and finally got it to work, it does like to complain while on PC-BSD for some reason, but its my #1 dog GUI for the ports collection :P. And yea, collaboration (or lack thereof) between conflicting projects are one annoyance in the BSDs. Hope KDE isn’t too big of a hurdle for you, it’s my favourite dekstop environment, but….. to each ones own.;)

  2. Hi Jan,

    May I just clear up something here. Where you write “Under Settings -> System Administration you can fetch the system source via CVSup (tab Tasks) and the ports via Portsnap. If I understand Oliver’s suggestions properly I shouldn’t mix them.” you have misunderstood slightly.

    Oliver meant that you should not download/update your ports database using both cvsup/csup and portsnap. ie use csup on one day and portsnap the next day. The System Administration uses csup to download source and portsnap to download ports. These are different, completely separate things and there is no conflict with using csup to manage one and portsnap to manage the other. So when you elected to only use csup you only downloaded source and didn’t download ports at all.

    Regards,

    Ron

  3. Hi Ron, I am glad you came back to this. It was one of the things I still had to verify for myself and I suspected it was something like you wrote. May I ask, I understand the need to download the ports collection, but what function is provided by downloading the system source? Is it needed in order to compile the ports on your system?

  4. Short version is the last paragraph.
    The system source is the operating system to run the machine and the ports system (ports) provides extra applications in order to use the machine.
    You download the system source usually to update the kernel and userland — the operating system. Unlike linux, the kernel and userland (basic system applications) are tightly coupled so you just can’t update the kernel. You don’t compile just the kernel or userland programs individually but together. This increases stability and decreases the likelyhood of unexpected behavior between the various programs in the operating system. The procedure to compile the operating system consists of eight commands that are listed in chapter 23 in the freebsd handbook. As of freebsd 6.2 (the operating system part of pcbsd) a binary update program (freebsd-update) exists as well which will update the system in a quick and relatively painless manner.
    note: The windowing system,KDE interface, and the user applications that you see on the screen in pcbsd come from the ports system.
    You can use the ports system without updating the operating system but after so long you may need to recompile the operating system, to update drivers, correct detected security flaws, and add new functionality. You may need to update the operating system also to keep up with the constantly updating applications in the ports system but often it isn’t required. If I remember right, the freebsd maintainers have stated ‘that the ports system is synchonized to whatever version of freebsd is currently released'(newest one).It will still compile across releases but with varing degrees of success if used with really old releases.(several years)
    You can use either portsnap or cvsup to update the ports system and a program called portupgrade will update all your applications that are installed via ports. The procedures dealing with the ports system is in chapter 4 of the freebsd handbook.
    In shorthand, you download the source to update the operating system and you don’t need too for ports unless the ports won’t compile or operate properly without an operating system update. Its just good practice to keep everything current.

    Paul

  5. Thank you Paul, not just for taking the time to respond but also for you clear explanation. I am working my way through the FreeBSD handbook as I stumble into things. It might be a better way to first read and then try ;-).

    As a sidenote: your response is another good example of the difference between the Linux (without neglecting the many good examples that exist there as well, of course) and *BSD communities.

%d bloggers like this: