These are files I use for creating Ubuntu Packages. It's a semi automated system, including docker images for building the packages.
- My general directory for packaging is
/d1/development/packaging
. - Each package has it's own directory, as an example I'll be using Dovecot.
- The directory
/d1/development/packaging
contains the filebuild_package
. - In the directory
/d1/development/packaging/dovecot
, there are three directoriesbin
,source
,upstream
. - The
bin
directory contains the filesvars
,update_branches
,4_start_packaging
. - The
source
directory is a git repository. Each distro I build a package for has it's own branch, the master branch is the lastest upstream release. - The
upstream
directory contains the upstream files of the package and theorig
file for Ubuntu packaging will be created here as well. - Packages will be created in
/d3/packaging/
where each distro has it's own directory. as an example I'll be usingzesty
- Within the
/d3/packaging/zesty
directory are directories for each package build for that distro.
- Download the latest upstream release and unpack it.
- Merge the upstream release in the
master
branch. - Tag with the upstream version.
- Update the file
vars
. - In the
source
directory run../bin/update_branches
. - Checkout the latest distro branch.
- Using quilt, check all the patches, update, refresh them if needed.
- Pop all the quilt patches.
- If patches are refreshed commit them.
- Repeat the previous three steps for all distro branches.
- Run the file
../bin/4_start_packaging
. Update thechangelog
as needed during this process, correct the version. - Upload the packages to Launchpad for building.