1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
Running dpkg-source -x on this source package (when downloaded from the Debian
archive) produces the source of the package, ready for editing, and running
dpkg-buildpackage will produce a modified package without any additional steps.
However, I do my package maintenence in a git repository stored at
git://git.debian.org/git/collab-maint/link-grammar.git (and viewable on the web
at http://git.debian.org/?p=collab-maint/link-grammar.git;a=summary). When
cloning the source from there, some preparatory steps are needed before
building and uploading the package, because automatically generated autoconf
files are intentionally missing from the git repository.
An overview of the git repository:
The `upstream` branch contains AbiSource's releases of link-grammar, taken from
their subversion repository at http://svn.abisource.com/link-grammar/tags/. I
export the tagged version and commit the result directly into the `upstream`
branch. I use the `git archive` command to create a .orig tarball, and then I
use `pristine-tar` to commit the tarball's diff files into the `pristine-tar`
branch.
After this, I merge the `upstream` branch into the `master` branch, which
contains the debian/directory, and any other local modifications to the
link-grammar sources. (This has been known to include modifications to
upstream's build system, bug fixes, and the inclusion of files that upstream
has packaged in their release tarballs but forgotten to commit into their svn
repository.) Because frequently it is necessary to fix Makefile.am or
configure.in files, my git repository never contains files that are
automatically generated by autotools (to include these would interfere greatly
with merging changes when I have to change things).
To create a shipping sources suitable for upload to the Debian archive from the
git repository, use pristine-tar to regenerate the .orig tarball. Then run
`./autogen.sh --no-configure` to generate the ./configure file and the
Makefile.am's. Once your working tree is populated with the automatically
generated files, you can use `dpkg-buildpackage -S -I.git` to create suitable
source packages for Debian, or you can use your favorite build command (I use
`pdebuild`) to build binary packages.
Summary: when running `dpkg-source -x` to expand a Debian source package,
nothing additional need be done to have a buildable source tree. When working
from the git repository, use `./autogen.sh --no-configure` to generate the
configure script.
|