Mika/Notes/Computer Stuff/Debian Maintenance: Difference between revisions
(→Basic Steps: rfakeroot) |
|||
Line 105: | Line 105: | ||
::debian/rules build | ::debian/rules build | ||
* clean the source tree? (fakeroot debian/rules clean) |
Revision as of 04:14, 4 April 2012
I maintain bubblefishymon.
Basic Steps
- Use fakeroot, not root.
1. apt-get source bubblefishymon: get the source
2. Fix the bugs. See below for specific examples.
3. Build package after some fixes:
- dpkg-buildpackage (-us -uc skips the signing stage) rfakeroot: This makes dsc and changes and diff.gz files in the *parent* directory (i.e. /home/mika/).
4. Run lintian on changes to check errors in the directory where .changes files exist:
- lintian -i -I *changes (if there are multiple changes files in the same folder, specify here.)
5. Test the package by:
- sudo debi (the change file name)
6. Make (dch -i (change description)) or edit in editor the changelog file in the debian folder. The format is:
- bfm (0.6.4-3) unstable; urgency=low
- * (Change description. Make sure to add (Closes: #bugnumber) if the change fixes the bug.
- -- Mika Matsuzaki <mika@yukidoke.org> (Timestamp, automatic by dch)
Note: dch -i added *Non-Maintainer upload automatically because it saw my laptop's ID instead of my maintainer email. I can edit /home/mika/.bashrc to specify DEBFULLNAME="" and DEBEMAIL="" .
7. Upload .dsc and .diff.gz somewhere, so that the sponsor can get it.
8. pbuilder can help simulate the problems in sid (problems if using Ubuntu. Just use Debian):
- sudo pbuilder create --distribution sid
Bug reports
- 667112 on gcc command line option -Wl
Removed -Wl from: LDFLAGS = -shared -Wl
-Wl means "pass the following option to the linker"
- Delete in debian/control file:
. Homepage: http://www.jnrowe.ukfsn.org/projects/bfm.html And add after Standards-Version: Homepage: http://www.jnrowe.ukfsn.org/projects/bfm.html
# Updated to Standards-Version: 3.9.1 in debian/control file
- Fixed black background in WindowMaker. Someone had a patch on github. Downloded the patch and in the bfm folder:
patch <- (patch file)
- Fixed FTBFS bug with binutils-gold. It said that I had to specify the library (libX11). Changed 2 times in bfm-0.4.4/Makefile (Mako):
GTK_LIBS = -lX11 $(shell gtk-config --libs)
- Fixed menu as directed by lintian in 2 steps:
Instead of Apps/Systems --> Applications/Systems Instead of Applications/Systems --> Applications/Systems/Monitoring When I search for the lintian error messages, I get a page that has a list of packages with the same error plus the suggested solution on top.
- Fixed Copyright by adding in debian/copyright:
Copyright:
Copyright (C) 1999 Merlin Hughes Copyright (C) 1999-2000 Johan Walles <d92-jwa@nada.kth.se>
Copyright (C) 2001 Pigeon Copyright (c) 2009 James Rowe <Jay@jnrowe.ukfsn.org>
- Fixed the nonstrip option problem by editing debian/rules (Clint):
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
INSTALL_PROGRAM += -s
STRIP_PROGRAM = strip else STRIP_PROGRAM = true endif
- Fixed watch accordingly to the suggestion on BTS so as to report the upstream update (though it's not happening now since there's no upstream developer):
version=3 http://www.jnrowe.ukfsn.org/projects/bfm.html../_downloads/bfm-(.*)\.tar\.bz2
Miscellaneous things
- If you want to build a binary package, the package has to be 'installed'. The correct way to do this is by using the utility fakeroot, which fakes an install, so that you can build a binary package as non-root and without really installing it. The following command should build a binary package:
- fakeroot debian/rules binary
The binary target is yet another Makefile target that will first execute a configure, build and install if still necessary. If you already did build the package, then only an install would first be done, etc.
- While testing changes that you make to the code, you can (re)build the package with the command:
- debian/rules build
- clean the source tree? (fakeroot debian/rules clean)