[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Request for someone to review my deb packages, and get themmerge into unstable

On Tue, 2009-06-16 at 04:30 -0600, Ray Wang wrote:
> >>> On 6/15/2009 at  7:02 PM, in message <1245063729.21358.162.camel@osc-bigmac>,
> Jo Shields <directhex@apebox.org> wrote: 
> Hi, Jo
> Thanks for you spending your time to review my package. 
> I have updated files which are followed with your suggestion. 
> hopefully you could kindly have time to review it again. ;)

Okay, as before:

* Still isn't closing correctly. The "s" in "(Closes: #123456)" is
important. Lintian is warning you about this with
new-package-should-close-itp-bug messages

* Try to improve the package description a little - "Parts of winfx"
won't mean anything to anyone doing a package search

* Add a call to dh_clistrip in your binary-indep rule - this will
erase .mdb files. Whilst this may seem silly, most users don't want
debug info. Don't be tempted to simply skip mdb files in your .install
files - we want to make sure the mdb files are in the correct location,
then delete them with dh_clistrip (because dh_clistrip can be commanded
at a later date to produce a debug package for no extra work).

Take care of the above, and you meet "good enough for Debian" standard.
But we can take it a little further, and meet meebey's personal
policy-compliant standards (which are a little higher).

First, I'm going to let you in on a secret - you could save yourself a
lot of work here, by not bothering to add dh_clistrip to debian/rules -
instead, we're going to rewrite your debian/rules file, using the
current (7) format rather than the old (5) format you use. Okay? Step 1:
change debian/compat to "7" instead of "5". Step 2: replace your ENTIRE
debian/rules file with:
#!/usr/bin/make -f
include /usr/share/cli-common/cli.make
	dh $@

That's really the whole file. In v7 mode, the the dh (debhelper) command
runs lots of things automagically for you based on your other input, and
the include directive pulls in the Mono specific things like dh_clistrip
automatically. It does NOT, however, cover you for the second thing we'd
like to see: a watch file and a get-orig-source.

A debian/watch file is a file which details the URL where upstream
releases can be found - in the event that an upstream releases a new
tarball, all package maintainers receive an alert to tell them about it.
A debian/watch file is pretty simple, and your closest comparison is the
file for mono-basic, at

If you've got your watch file correct, then running "uscan
--report-status" in a package's folder should tell you what is available
upstream (and the same mechanism is used for automated alerts).

Next is the get-orig-source rule. Now, when a new release happens,
packagers don't want to have to hunt for upstream sources manually -
they want a convenient way to have everything they need. We do this by
adding a rule to debian/rules which will download the upstream source,
and make any required changes to it (such as renaming it or
recompressing it) to be usable as an .orig.tar.gz file. You do NOT need
to add uscan to any build-depends as it is not part of a standard rule.

Now, mono-uia is a slightly complex example, as Debian's archive
infrastructure does not support bz2 (only gzip) for archives - so your
get-orig-source rule's job is to download, then recompress, the file -
and do it in a way which is consistent every run (i.e. run it ten times,
get the same md5sum ten times, as md5sum mismatches cause a world of
hurt). It's best to lead with example here, so look at xsp's rule, at
http://svn.debian.org/wsvn/pkg-mono/xsp/trunk/debian/rules - pay close
attention to the use of variable substitution (e.g.
"$(DEB_SOURCE_NAME)") which is set up at the start of the rules file
(e.g. "MAKEFILE = $(firstword $(MAKEFILE_LIST))")

There's a lot of text here, but I want to be sure I'm thorough enough
that you understand what - and why - I'm suggesting things. If you can
make all the changes listed here, then poke meebey again - he'll create
a git repository on git.debian.org for you to use, give the package a
quick check himself, then upload it.

Attachment: signature.asc
Description: This is a digitally signed message part

Reply to: