WezM.net The weblog of Wesley Moore

16Aug/090

Local Package Management with GNU Stow

I’m a bit of a purist when it comes to installing UNIX style software. I prefer to install it via the package manager on the platform of choice (E.g. apt on Debian or Mac Ports on Mac OS X). However these repositories don’t always contain the particular package you’re after or may contain an outdated version.

In situations like these where you end up building the package yourself I used to employ a system where I would install it into a subdirectory within my home directory. I did this because it doesn’t overwrite a pre-existing system installed version, doesn’t require root privileges and permits quick removal. To achieve this I just passed the --prefix option to the configure script before building. For example if I was building vala I might run the configure script as follows:

./configure --prefix=$HOME/Local/vala

Following that with the typical make, make install sees the package built and installed into that directory. The problem with this approach is that for every package you build you have to add the target directory to search paths such as: PATH, LD_LIBRARY_PATH, MANPATH, PKG_CONFIG_PATH. After a while this gets a bit unwieldy. This is where GNU Stow comes in.

Stow manages these separate target directories by creating symlinks into the parent directories. For example to build vala I would pass a prefix of $HOME/Local/stow/vala to the configure script. After vala is built and installed, change to the $HOME/Local/stow directory and run stow vala. This results in symlinks to the files in $HOME/Local/stow/vala being created in $HOME/Local, with directory structure preserved. So if vala installs files to bin and lib these files will end up under $HOME/Local/bin and $HOME/Local/lib respectively.

Stow can also delete the symlinks to support uninstalling. The end result is that you only need to add one extra directory to each of the search paths and custom software can be built, installed and uninstalled all without messing with the standard system and root privileges.

4Mar/091

Mac Remote Desktop Connection Without Installer

Microsoft provide a Remote Desktop Connection (RDC) client for the Mac. This is a good thing. However it is packaged as an Installer meta package, which to me seemed unnecessary, so I went digging. Viewing the Packages folder within the meta package shows that Microsoft have thoughtfully included an Office updater, error reporter and help viewer as well as the RDC client itself:

  1. Office2008_en_autoupdate.pkg
  2. Office2008_en_errorreporting.pkg
  3. Office2008_en_helpviewer.pkg
  4. Remote Desktop Connection 2.pkg
  5. Remote Desktop Connection.pkg

Note: From what I can tell the second RDC package (the one with 2 on the end) exists to provide internationalisation, something I don’t need. If you aren’t an English speaker (yes I’m aware of the irony of this post being written in English) then you may not want to follow these directions.

3Mar/0910

Install Microsoft’s Consolas Font on Mac OS X

With the introduction of Windows Vista and Office 2007 Microsoft included some new fonts, which became the defaults in Office. Their names all start with ‘C’ and they are quite attractive. In particular there is a monospaced font called Consolas that is nice to use as a text editor font and Terminal font. The problem is they aren’t technically free, although Microsoft does include them in a number of freely available updaters. What follows is how I went about installing the fonts on my Mac.

   

Recent Comments

Categories

Links

Archives

Tags

adaptive atom awk bash benchmark books cake consolas core-audio debian decoder delivery expand feed font fonts git glob gripe installer iPhone ipod Linux mad melbourne microsoft mp3 mpg123 music package pocket-reference rss ruby script sed shell smoothing snow-leopard textmate title tux UNIX uri-scheme variable virtualbox

Meta

Contact