Deb Packaging
Format defined between the policy manual and the dh suite of tools.
Best Practices
See hello
for a best practice example.
initializing a quick and hacky launchpad package
# mkdir <pkg-name>-<version>
cd foo-0.1
vim foo.c Makefile
dh_make --createorig
# edit at least these
vim debian/changelog debian/control
debuild -i -us -uc -b
debsign ../foo_0.1-1_amd64.changes
# upload
dput ppa:eslerm/foopackages ../foo_0.1-1_amd64.changes
ubuntu-archive-tools
ubuntu-archive-tools contains critical tools for Launchpad management.
git clone https://git.launchpad.net/ubuntu-archive-tools
copy-package
For moving between PPAs.
./copy-package --to ppa:eslerm/ubuntu/asahi-testing --suite noble --to-suite mantic libdrm
--include-binaries
fits certain situations.
--suite
is the pocket. PPAs can have different pockets. (--dry-run
does not catch this)
create orig tarball from git commit
git tag upstream/24.0_pre20240228 eebfe8416a6266bc1662f2d99485b2dce87a34f5
gbp export-orig
ls ../mesa_24.0~pre20240228.orig.tar.gz
get a debian source package
pull-debian-source -D debian xz-utils 5.6.1-1
Or check snapshot.debian.org.
compare package versions
$ dpkg --compare-versions 1.2.3 lt 1.2.4
$ echo $?
0