:: Re: [DNG] Debianising my uploaded v…
Góra strony
Delete this message
Reply to this message
Autor: Rainer Weikusat
Data:  
Dla: dng
Temat: Re: [DNG] Debianising my uploaded version of netman.
Edward Bartolo <edbarx@???> writes:
> On 07/12/2015, Edward Bartolo <edbarx@???> wrote:
>> Hi Aitor,
>>
>> Thanks for granting me permission. I will now start editing some files
>> under netman/debian so that dpkg-buildpackage works.
>>
>> I am getting this error:
>> dpkg-source: error: can't build with source format '3.0 (quilt)': no
>> upstream tarball found at
>> ../netman_0.1.1~468c97d.orig.tar.{bz2,gz,lzma,xz}
>> dpkg-buildpackage: error: dpkg-source -b netman gave error exit status 255
>>
>> I do not have any .tar.* files.
>>
>> What should I do?


Some background: There's something called "a Debian source package"
which is a 'filing convention' for maintaining a so-called 'upstream
source tree' plus some Debian-specific metainformation plust a set of
patches supposed to be applied to the upstream source tree in order to
turn it into the source tree which will be used to build the Debian
package. Such a source package consists of three files.

Since you are 'upstream' here, you can just debianize your source tree
without bothering to pretend that you're left side maintains a Debian
package created from some code you're "abstract right side" happens to
have written. There's a program named dh_make (package dh-make) which
can be used to create some template files in order to get started.

It could be executed like this

dh_make -n -s -p netman_0.1

in the top-level source directory (another useful option could be -e to
set the maintainer e-mail address). This will create a debian
subdirectory containing template files for a package named netman,
version 0.1. The generated file can then be edited (or deleted) as
required in order to make the package functional. I usually build such a
package (also from the top-level source tree) with

fakeroot debian/rules binary

this being the "documented procedure" of 1998. I didn't find a reason to
go beyond this yet.

For this to work, the Makefile needs to contain an install target which
creates all directories files will be installed into and then installs
the files. The build system will supply a make-variable named DESTDIR
which should be used as top-level for the installation, eg,

TARGET_BASE :=          $(DESTDIR)/usr/local
TARGET_SBIN :=          $(TARGET_BASE)/sbin


[...]

install: all
        $(INSTALL_X) -d $(TARGET_SBIN)
        $(INSTALL_X) $(BIN)/cf-client $(TARGET_SBIN)/cf-client-2
        $(INSTALL_X) $(SCRIPTS)/run-cf-client $(TARGET_SBIN)


with INSTALL_X defined as

install -o root -g root -m 0755