Re: Okay, this is my 3rd package, now I need help...
On Sep 10, Terry Hancock (email@example.com) wrote:
> Thanks for all the replies, this one brings up some related questions...
> On Tuesday 09 September 2003 07:55 pm, Neil Roeth wrote:
> > The approach I took with a multi-binary package that I created from scratch
> > was to do the configure and make, then set DESTDIR to $(CURDIR)/debian/tmp,
> > export it, and do the make install. [...]
> So, there's never <packagename>.rules files, then? Or just in the method
> that Neil describes?
Never. I think of two sets of files, some of which there is one per source
package (rules, control and changelog), and others of which there can be one
per binary package, i.e., the debhelper files, which follow the
<package>.<extension> convention. (You can deduce that there needs to be one
debian/rules file from looking at the dpkg-buildpackage script.)
> Actually, in my case there is no "make install" -- it's a very simple Makefile.
> As shipped, the package builds a bunch of binaries in "bin/" (which means
> $DISTDIR/bin if $DISTDIR is the distribution directory), there's suggestions in the
> "Install" document about what to do after that, but no automation.
> Is it better practice to alter the Makefile to add an "install" target, or to put
> that code directly into the debian/rules file? And are those in fact, my only
> two options?
See the policy doc, it specifies the required targets in debian/rules, and
install is not one of them. So, do what you like. dh_install will move the
files from wherever the upstream makefile puts them to wherever you need them
to be when you build the package.
As far as altering upstream files like the Makefile, the general idea is that
if you are doing something Debian specific, either do it in debian/rules, or
make the change in a way that is compatible with upstream, and then forward it