Discussion:
Question about using source format 3.0 (quilt)
(too old to reply)
Aidan
2024-11-07 16:40:02 UTC
Permalink
Hi,

I am developing a Debian package and I've had feedback from multiple people
online informing me I should be using source format 3.0 (quilt) instead of
3.0 (native) even though I don't have quilt patches.

When I use 3.0 (native) format I simply run `dpkg-buildpackage` to build
the package.

When I change it to 3.0 (quilt) format dpkg-buildpackage complains with
```
dpkg-source: error: can't build with source format '3.0 (quilt)': no
upstream tarball found at ../debpic_1.0.0.orig.tar.{bz2,gz,lzma,xz}
```

I can fix this by creating the tarball using
```
tar -czf ../debpic_1.0.0.orig.tar.gz .
```

Whenever I make a change to my program am I meant to run the tar command
before running dpkg-buildpackage. I'm not sure if I'm misunderstanding the
workflow.

Thank you for your help,
Aidan
Lucas Castro
2024-11-07 16:50:01 UTC
Permalink
Hi,
I am developing a Debian package and I've had feedback from multiple
people online informing me I should be using source format 3.0 (quilt)
instead of 3.0 (native) even though I don't have quilt patches.
When I use 3.0 (native) format I simply run `dpkg-buildpackage` to
build the package.
Actually, native package it's intended when the software was developed
for Debian distribution indeed.

Think about a software that manages Debian configuration, and so on.
When I change it to 3.0 (quilt) format dpkg-buildpackage complains with
```
dpkg-source: error: can't build with source format '3.0 (quilt)': no
upstream tarball found at ../debpic_1.0.0.orig.tar.{bz2,gz,lzma,xz}
```
Do you have the software source tarball?
I can fix this by creating the tarball using
```
tar -czf ../debpic_1.0.0.orig.tar.gz .
```
Whenever I make a change to my program am I meant to run the tar
command before running dpkg-buildpackage. I'm not sure if I'm
misunderstanding the workflow.
Thank you for your help,
Aidan
Andrey Rakhmatullin
2024-11-07 17:00:01 UTC
Permalink
Post by Aidan
I am developing a Debian package and I've had feedback from multiple people
online informing me I should be using source format 3.0 (quilt) instead of
3.0 (native) even though I don't have quilt patches.
Correct.
Post by Aidan
```
dpkg-source: error: can't build with source format '3.0 (quilt)': no
upstream tarball found at ../debpic_1.0.0.orig.tar.{bz2,gz,lzma,xz}
```
I can fix this by creating the tarball using
```
tar -czf ../debpic_1.0.0.orig.tar.gz .
```
This is wrong.

Both these questions are among the biggest reasons I always recommend:
- to not package your own software unless you are already familiar with
Debian packaging and are able to clearly distinguish roles and tasks of
an upstream author and a package maintainer
- and to not package your own software if it's not a properly managed and
published upstream project that uses at least the basic best practices.
Post by Aidan
Whenever I make a change to my program am I meant to run the tar command
before running dpkg-buildpackage. I'm not sure if I'm misunderstanding the
workflow.
The workflow implies downloading a properly published upstream tarball
from the upstream website and making your packaging on top of it. All
guides assume this.
--
WBR, wRAR
Soren Stoutner
2024-11-07 17:00:01 UTC
Permalink
Aidan,
Post by Aidan
Whenever I make a change to my program am I meant to run the tar command
before running dpkg-buildpackage. I'm not sure if I'm misunderstanding the
workflow.
It sounds like you have a question about how to best create a Debian package
for a program where you are also the upstream maintainer. This is a big topic
with lots of different workflows depending on the structure of the actual source
code. But by far, the most popular workflow in Debian is git-buildpackage
(abbreviated gbp).

The easiest way to do this is to keep two separate repositories, one for your
upstream code and the other for the Debian packaging. I would recommend you
keep the Debian packaging on:

https://salsa.debian.org/

Once it is setup, you can update the Debian package using the following
commands, which automatically sorts out all the pieces, including the upstream
tarball.

gbp import-orig --uscan
dch
gbp buildpackage
gbp tag
gbp push

I wrote a description of this in a previous mail on Mentors, including an
explanation of what these commands do, which you might find helpful.

https://lists.debian.org/debian-mentors/2024/09/msg00057.html
--
Soren Stoutner
***@debian.org
Loading...