HOWTO: Ubuntu Packaging on Jaunty
I wanted to try and create an "official" Ubuntu package of an application that I used almost daily: gvpndialer
First, I read over the following:
https://wiki.ubuntu.com/PackagingGuide/Complete
OK, I now had a decent idea of what to do, so I set out to complete the task. First, I downloaded the source for gvpndialer from here:
http://gvpn-dialer.sourceforge.net/
Next, I extracted it and tried to compile, but found that I needed some packages:
sudo apt-get install libpcre3-dev
sudo apt-get install libgnomeui-dev
After getting those dependencies out of the way, I tried again but found it was still failing on pcre.h issues. I checked over the source, and in the end the following command fixed all the pcre.h issues:
grep -lre 'pcre/pcre.h' . | xargs -d'\n' sed -i 's/pcre\/pcre.h/pcre.h/g'
Ok, try it again...and this time it completed:
./autogen.sh --prefix=/usr
make
sudo make install
...and then tried to launch it, and it worked.
So far so good, next I wanted to clean things up and begin the Ubuntu packaging
make clean
cd ..
tar -cvzf gvpndialer_1.1.orig.tar.gz gvpndialer-1.1
cd gvpndialer-1.1
Next, I'll use dh_make with some specific settings
dh_make -c gpl -s -b
And now it's time to clean up some extra files and edit others
cd debian
rm *ex *EX README.Debian dirs
gedit control&
I pasted in this example into the control file:
Source: gvpndialer
Section: misc
Priority: optional
Maintainer: thelupine
Build-Depends: cdbs, debhelper (>= 7), autotools-dev, libpcre3-dev, libgnomeui-dev
Standards-Version: 3.8.0
Homepage: http://gvpn-dialer.sourceforge.net/
Package: gvpndialer
Architecture: i386
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: This is a GNOME2 GUI for the Cisco VPN client
This is a GNOME2 GUI for the Cisco VPN client
Next, I edited the rules file:
gedit rules
#!/usr/bin/make -f
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/autotools.mk
--prefix=/usr
Next was the changelog file:
gedit changelog
gvpndialer (1.1-1) jaunty; urgency=low
* Initial Jaunty release, with fixed pcre.h settings to build properly
-- thelupine Thu, 04 Jun 2009 21:02:09 -0400
Finally I edited the copyright file:
gedit copyright
This package was debianized by:
thelupine on Thu, 04 Jun 2009 21:02:09 -0400
It was downloaded from:
http://gvpn-dialer.sourceforge.net/
Upstream Author(s):
Stanley Kamithi
Copyright:
License:
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this package; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
On Debian systems, the complete text of the GNU General
Public License can be found in `/usr/share/common-licenses/GPL'.
The Debian packaging is:
Copyright C) 2009, thelupine
and is licensed under the GPL, see above.
# Please also look if there are files or directories which have a
# different copyright/license attached and list them here.
Almost done, just need to cd out and create the buildpackage
cd ..
dpkg-buildpackage -S -k########
....replace ######## with the gpg keyID, found by entering the command:
gpg --list-keys
I was prompted for, and entered my GPG key.
Last but not least, I changed out one more directory and dput my complated package:
cd ..
dput thelupine-ppa gvpndialer_1.1-1_source.changes
I then watched my PPA site, and waited for the file to completely upload and build: https://launchpad.net/~thelupine/+archive/ppa
That was about it. I now have a Jaunty enabled gvpndialer, that I can install anywhere I have my PPA setup and run:
sudo apt-get install gvpndialer
That's about it.
- lupine's blog
- Login or register to post comments
Recent blog posts
- Hacks to Make Firefox Faster than Google Chrome
- Ubuntu 10.04 Lucid Lynx update
- pyscreenie 1.8 update
- pssh - parallel ssh
- First Space Coast Linux & OSS Meetup
- pyconnmgr 2.8 update
- pystromo-frontend: Python front-end to Pystromo
- Ubuntu: Re-enable Old Style Update Notifier
- Compiz Causing Transparency In Applications
- Ubuntu: BIND and MySQL with SDB
