Still, this project couldn't wait till then. Thankfully, I found a good article on how to roll your own Debian packages for perl modules. There were only 2 hangups. First, the "make test" step fails because it can't do the authentication for AWS. I've disabled the "make test" step in my procedure by exporting the variable DEB_BUILD_OPTIONS="nocheck". After that the module package builds fine, but there's no dependencies set so when installing it, it can't be used without a few rounds of dependency hell. To solve this, I just borrowed the dependency list from the current 0.14 version of the package. The borrowed dependencies were "perl, libmoose-perl, libparams-validate-perl, liburi-perl, libwww-perl, libxml-simple-perl".
Note, this is not a well-tuned setup. There's lots of peculiarities that the dh-make-perl and debuild process wants that can be glossed over. For example - if you don't have a pgp key for your $DEBEMAIL address in you private keychain, the .deb package will still build, but it won't be signed. This may or may not be a problem for you, YMMV.
Here's the steps I took for building the .deb:
# # install some packages # sudo apt-get update sudo apt-get install dh-make-perl libmodule-build-perl debhelper devscripts sudo apt-file update # # do the build # # note: disable "make test" so you don't need valid AWS keys # (I couldn't make it work because even though I set the end variables, # I think dh-make-build cleans the environment before running make) export DEB_BUILD_OPTIONS="nocheck" export DEBFULLNAME="John Smith" git config --global user.name $DEBFULLNAME export DEBEMAIL="jsmith@example.com" git config --global user.email $DEBEMAIL wget http://search.cpan.org/CPAN/authors/id/M/MA/MALLEN/Net-Amazon-EC2-0.23.tar.gz mkdir builder cd builder # debian is particular how original tar files are named ln -s ../Net-Amazon-EC2-0.23.tar.gz libnet-amazon-ec2-perl_0.23.orig.tar.gz tar -pzxvf libnet-amazon-ec2-perl_0.23.orig.tar.gz cd Net-Amazon-EC2-0.23/ dh-make-perl --depends "perl, libmoose-perl, libparams-validate-perl, liburi-perl, libwww-perl, libxml-simple-perl" . debuild cd .. # viola, a .deb package dpkg --info libnet-amazon-ec2-perl_0.23-1_all.deb
No comments:
Post a Comment