Mika/Notes/Computer Stuff/Debian Maintenance: Difference between revisions

From WikiDotMako
(→‎Basic Steps: rfakeroot)
Line 105: Line 105:


::debian/rules build
::debian/rules build
* clean the source tree? (fakeroot debian/rules clean)

Revision as of 06: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)