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

Re: Debian package && New developer question



Mr Watson and others.

Comments inline,


On Mon, 8 May 2000, Colin Watson wrote:
|On Mon, 08 May 2000 at 10:09:34 +0200, Fredrik Steen wrote:
|> I have uploaded these files to: http://www.stone.nu/debian/dl/
|> 
|> mp3html_1.3.8-1.diff.gz
|> mp3html_1.3.8-1.dsc
|> mp3html_1.3.8-1_i386.changes
|> mp3html_1.3.8-1_i386.deb
|> mp3html_1.3.8.orig.tar.gz
|
|The main problem that's going to bite you as soon as this starts to be
|ported to other Debian architectures is that you don't seem to be
|actually building the mp3html binary here; $(MAKE) is commented out in
|debian/rules, yet the binary is there. If it was in the upstream
|distribution then you'll have to remove it in the build stage of
|debian/rules (and preferably ask the upstream maintainer to distribute a
|clean source tree); in any case you certainly need to build it yourself,
|since otherwise your package will only work for one architecture.
I have taken care of this. So now the tree is clean without any
precompiled binaries.


|Another thing is I don't think you need to duplicate mp3html.1 in
|debian/; it's already in the top-level directory of the source tree.
Good point there,
I have removed the mp3html.1 file in the debian directory.


|
|The most awkward thing to fix is that the .orig.tar.gz is a bit of a
|mess: it has a lot of debian/ stuff in it, whereas it's supposed to be
|the same as the tarball the upstream author distributed if at all
|possible. If you don't keep an upstream tarball (in an .orig.tar.gz) or
|an original source tree (in an .orig directory) around then the build
|process can end up producing something like this.
|
|What I'd do here to fix this up is get a fresh upstream tarball, unpack
|it, and rename the tarball to mp3html_1.3.8.orig.tar.gz. Then copy only
|the files in debian/ that weren't created by debian/rules from the tree
|you have at the moment (I think that should be debian/changelog,
|debian/control, debian/copyright, debian/docs, and debian/rules itself).
|At this point you should have a directory tree that, at the minimum,
|looks like this:
|
|  . -+- mp3html_1.3.8.orig.tar.gz
|     \- mp3html-1.3.8/
|         +- (stuff)
|         \- debian/
|             \- (stuff)
|
|Now change into the mp3html-1.3.8/ directory and run 'debuild' or
|'dpkg-buildpackage -rfakeroot' or whatever way you normally build
|packages. What you should end up with is an .orig.tar.gz that's exactly
|the same as what the mp3html author distributed, and a Debian diff
|(.diff.gz) that contains exactly your changes (in this case, the five
|files in debian/ mentioned above, though sometimes it involves changes
|to the main source tree as well to fix up filenames and the like). It
|sounds picky, but it makes life a lot easier in certain circumstances.
|
|If you take a few moments to learn about tools like 'uscan' then you
|should find that it's a lot easier to maintain this system than it is to
|patch it up when you get it wrong; using 'dh_make' from the start will
|also get this right, if you don't delete the extra .orig directory it
|gives you.
|
|Good luck!
|
|-- 
|Colin Watson                                     [cjw44@flatline.org.uk]

I spent a couple of days reading the docs and checked how other people
do. Now I think I got a valid package with all important files
ofcourse I can't be 100% sure but I have checked it many times and
tried to install it to many diffrent boxes (colleuges). I have
uploaded the packages and other files to:
http://www.stone.nu/debian/dl/

Thank you for your time.

---
Fredrik Steen,





Reply to: