on sep 25th, 2005
tagged mac, nerd
and
never commented on
share this page
i got tired of dealing with darwinports on here and i realized that netbsd's pkgsrc works on mac os. it has a bootstrap function to build the pkg* tools, a bsd make, and i can update the tree with cvs; everything i was looking for.
pkgsrc has a lot of conditionalizing in it compared to openbsd's ports tree, obviously because it's being used on many platforms other than netbsd. for example, a bunch of the core ports like openssl have m4 code that detects whether the base system already has a usable version of that package. so a port can simply depend on the openssl port and if the base system already has openssl, the port of it will not be built and everything else will just pretend like an openssl port was already installed. on mac os it does this for openssl and maybe some others, but for some reason it won't use the built-in readline, perl, or python.
the packing lists are handled a bit weird in pkgsrc compared to openbsd. in openbsd you do a 'make plist' and it does the fake-install of the port, scans the tree and builds the plist for you, and then you can do a 'make package' or 'make install'. in pkgsrc, it seems that you have to install the software, then build a plist out of it, then uninstall the software, then build a package from the plist, and install the package. if there's an easier way to do that that i'm not familiar with, someone please yell at me.
pkgsrc keeps checksums of its patches in the distinfo file which seems a bit odd. those patches come from the cvs server along with the makefile, so i don't see what the point is in verifying them (at least from a security standpoint). further, updating a port requires a 'make makesum' for the distfile, with a separate 'make makepatchsum' for the patches. this threw me for a loop when i had updated a patch and the build process kept telling me the patch was corrupt. i didn't realize that the patches were even being checked against the distinfo file until i read the m4 code.
i played around with automator today and it's not that great. it might be useful for some very basic stuff but lacking generic actions like string manipulation, it won't serve me much use.
i was importing things into iphoto and wanted to import all of the photos in a given directory, create a new library based on the name of the directory (with some small manipulations), and then copy those imported photos into that library. it just wasn't possible. i could get it to ask me to locate the directory and then pass that to iphoto, but i couldn't do anything with the directory name (like "replace underscores with spaces" or pipe to sed or something) to be usable.
i also played with applescript a little bit to write a script for itunes to apply sequential track numbers to a selected group of tracks. beware my applescript kung-fu.
leave the first comment or contact me