[vox-tech] Debian Package Tools

Richard Harke rharke at earthlink.net
Mon Jan 10 20:19:17 PST 2005


On Monday 10 January 2005 08:57, Ken Bloom wrote:
> On Sun, Jan 09, 2005 at 10:44:10PM -0800, Richard Harke wrote:
> > I have downloaded a source package and I'm trying to get it set
> > up to look at. I used apt-get source package-name
> > Now I have a directory with a diff.gz, a .dsc and a orig.tar.gz
> > There is also a sub-directory with 3 .bz2 files, a shell script
> > called prep.sh and a version file. Also a sub-directory called
> > debian. At this point everything is very old, June 2003.
> > Clearly patches have not been applied.
> >
> > Isn't there a debian tool for extracting the entire source archive
> > into its usual tree and applying the patches? I've tried
> > dpkg-source -x name.dsc but what I described is what I get.
> > Running prep.sh does unpack a couple of the bz2 files but does
> > not apply the patches.
> >
> > Along with wanting to look at this source, I am trying to
> > learn to use the debian tools better.
>
> The diff.gz, the .dsc, and the .orig.tar.gz are the files that
> Debian's packaging tools know about. Together, they are used by the
> tool dpkg-source to create the directory you recieved.
>
> There are two common ways a build directory is laid out. One is to
> have the .orig.tar.gz be the upstream sources, and the diff.gz
> contains the debian/ directory and it may contain modifications made
> to the upstream source code. (Or these modifications may be stored in
> patch files in the debian/directory, in which case the diff.gz
> contains them as a diff within a diff)
>
> The other common way that a build directory is laid out is "tarball
> within a tarball" form. This is what you've got here. This is created
> and managed with the "dbs" build system (apt-get install dbs) and
> small example of a dbs-packaged package is hello-dbs. (I'm not sure,
> but there might also be other systems that do this). There should be a
> rule in debian/rules (or in a makefile included by debian/rules) whose
> job is to unpack the interior tarball and apply the patches. In the
> case of dbs, this rule is named "setup", and to get the expanded build
> tree you need to run the following from inside the directory.
>
> $ debian/rules setup
I tried this but I get the "no rule for target" error
There are some comments in the rules file about unpacking and building.
I guess the steps are to be carried out manually. The prep.sh script
appears to unpack but does not apply patches. Interestingly, prep.sh does
contain a "subroutine" for patching but it is not called.
Thanks,
Richard
>
> --Ken Bloom


More information about the vox-tech mailing list