A while back I’d created a Perl module to hold two “odds & ends” subroutines that I used in a lot of my programs. I gave it the unfortunate name of “Misc.pm”. Of course, it lived up to its name & grew over time to contain many more functions; I should have just named it JunkDrawer.pm and been done with it. I decided it was time for a cleanup, and I split everything out into more appropriately-named modules. But then I had the problem of what to do with existing programs that referenced Misc.pm. I could have just loaded all the new modules, but that seemed messy. I had to have a way to figure out which functions each program used & thus track them back to their shiny new module. jshirley suggested I try ctags.
Fun with ctags
git on Solaris
Boy howdy, was this a trial. Sheesh. (I am in no way pointing fingers at git for this mess…really, it’s this server [that I don’t have admin rights on] that doesn’t behave the way I expect.)
Solaris 10 on x86. (uname -a: SunOS princess 5.10 Generic_125101-10 i86pc i386 i86pc)
git 1.5.6.2
Here’s what I had to do, gathered from various places around the web (the Makefile editing was gleaned mainly from http://discuss.joyent.com/viewtopic.php?pid=175313).
First, I had to install my own gmake, openssl, curl, and a couple of other required libraries.
Then:
./configure --prefix=/home/gabrielle/usr/local
--with-openssl=/home/gabrielle/usr/local/include
--without-tcltk
--without-expat
Edit the makefile:
:::-->diff Makefile Makefile.orig
167,168c167,168
< CFLAGS = -g -O2 -Wall -I/home/gabrielle/usr/local/include
CFLAGS = -g -O2 -Wall
> LDFLAGS =
172d171
< CURLDIR=/home/gabrielle/usr/local
891d889
< NO_ICONV=1
Make sure we’re using gnu make:
:::-->/home/gabrielle/usr/local/bin/make -v
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for i386-pc-solaris2.10
Then install like so:
/home/gabrielle/usr/local/bin/make INSTALL=/usr/ucb/install
/home/gabrielle/usr/local/bin/make INSTALL=/usr/ucb/install install
Voila doesn’t really seem the appropriate thing to say here.
vim tidbits of the day
:::–>vim
:grep [regexp] [file list]
vim will then load the files that match the regexp & position the cursor on the matching line.
use :cn and :cp to move between instances of the match.
OSBridge: Call for Proposals
Read about it here:
http://opensourcebridge.org/2009/02/call-for-proposals-we-welcome-your-ideas-until-march-31/
And then submit your proposal!