This is a guide for creating Debian packages for ceo. The instructions below probably do not follow best practices, but at least I am confident that they work.
Make sure your GPG key is in /srv/debian/gpg on potassium-benzoate. See here for instructions.
Make sure you are in the
csc-mirror group too.
Creating the package
Make sure you have Podman installed.
VERSION.txt to the next version,
debian/changelog with the new changes and do a git commit.
make package to build the package and create the tarball
pyceo.tar.gz in the repo root.
Important: Make sure the container image for the same distribution which you're packaging. For example, if you're creating a package for bullseye, you should be using the debian:bullseye Docker image (this is because the virtualenv symlinks python to the OS' version of python). Also make sure that all of the packages in the 'Build-Depends' section in debian/control are installed in the container.
At some point before actually uploading, you'll need to the sign the package. On the extracted tarball,
run the following while placing your key ID after the
-k argument, e.g.
debsign -k8E5568ABB0CF96BC367806ED127923BE10DA48DC *.changes
Uploading the package
Upload the tarball to a CSC machine, e.g.
scp pyceo.tar.gz mannitol:~
SSH into that machine and extract the tarball into a separate directory:
ssh mannitol mkdir pyceo-parent mv pyceo.tar.gz pyceo-parent/ cd pyceo-parent tar zxvf pyceo.tar.gz
At this point, you will need a dupload.conf file. Ask someone on syscom for a copy.
Now upload the package to potassium-benzoate:
kinit dupload --to debian.csclub *.changes
Now SSH into potassium-benzoate and run the following:
There, that wasn't so bad...right? :')