DesktopBSD Day 5 – Extending the system
I have been using open source software for quite some time, so I have a list of programs I want to have on my system. And I am a software glutton so it’s quite normal for me to have three different office suites or multiple personal information managers. If only to try them out and compare features. Besides being a glutton I am also lazy. Or -as a colleague once explained- extremely efficient. I don’t want to spend a lot of time or energy on installing the software. The more set-and-forget, the more I like it.
What did I want to install? Here’s the list.
Apart from this I wanted to make sure I have flash support while browsing the web.
The Package Manager has a separate button called Install software. The viewing pane shows the ports tree with familiar categories for *BSD users. When someone migrates from Linux it shouldn’t be a problem to find the programs. The search field automatically filters the ports tree when you type. I went through the list and clicked on â€œInstallâ€ once I found the right program.
When I looked for flash I found various entries, like linux-flashplugin9 and flashplugin-mozilla. I remembered from the PC-BSD series that linux-firefox would be nice to have in this regard, so I added it to the list.
With this I had quite a cue in Pending Operations and the whole install process commenced. Remember, I still had the sledgehammer settings (binary only with the three ‘force’ options enabled). I knew I had to be patient.
And? Did it work?
Well… Yes and no. First, it took an extremely long time, altogether about seven hours. Granted, I am running DesktopBSD in a virtual machine, but I do that all the time and compared with other operating systems this was slow. The ‘sledgehammer’ mode might have something to do with it as well, but that mode was used because of previous unsuccessful installs. Now I could see a plethora of other larger and smaller packages scrolling by and finish successfully, most of the time.
However, I ended up with quite a list of unsuccessful installs anyhow. For all of them it was reported that the package could not be found. After all those hours I still didn’t have Grisbi, Eqonomize, GNUCash, KMyMoney2, Pan, Kompozer, Abiword, Bluefish, Qcad, Liferea, Dia and the Flashplugin for Linux Firefox.
One other thing I noticed is the following. While installing Koffice the package manager also installed kde-base3 as a dependency, which is as it should be. But when it started to take care of kdepim it again downloaded kde-base3 and installed it again. If that happens multiple times with megabyte size packages, that could explain the amount of time it took to finish the install.
On day three we already got acquainted with the post-install information screen. One of the explanations given for failed installs is that the package might not be available yet. I decided to test this and went back to the command line. It was no problem to install the above-mentioned programs with a series of # pkg_add -r instructions. The versions that were fetched and installed were the same as the ones shown in the package manager. The only exception was the flashplugin. The package manager took care of that after I changed the settings to use source if needed.
I have been playing with software management for three days now and the results have been very mixed. The package manager provides a nice graphical interface to the ports collection and with some minor polishings it should be enough for a novice user. However, under the hood there are too many snags now. The default settings aren’t sufficient to take care of a full update/upgrade to bring the system up-to-date. Changing the default settings requires some more background knowledge which should be available with the click of a button.
The problem is that the success rate will increase if you enable the option to use source if a binary package isn’t available or a binary package isn’t recent enough. The drawback is that it will take even longer to install software, turning it into an overnight activity. This in itself doesn’t guarantee success, because some compile actions require user interaction, thus halting the process. One solution might be to make it clear via the package manager if a package requires to be installed from source or not, so the user can see the problem coming (instead of being confronted with a failed install).
The third major problem is that the package manager doesn’t seem smart enough. If you fill a cue with multiple installs, it processes them in order and doesn’t check the overall relationships. This lead to failed installs due to dependency problems (which were solved later in the cue) of re-installing already downloaded and installed dependencies.
Finally, I don’t understand why the package manager couldn’t find the binary packages for some programs I wanted to install, but which could be installed via # pkg_add -r without a glitch. Of course, I shouldn’t forget that I am playing with a release candidate. Maybe the team is making overtime to hammer out these problem already.