Dies ist eine alte Version des Dokuments!
Big thanks to https://earthly.dev/blog/creating-and-hosting-your-own-deb-packages-and-apt-repo/
Live system at pkg.julian-lemmerich.de/deb
sudo apt-get install -y dpkg-dev gpg
Start at Step 2, i already have built .deb packages
~
is root of webserver, like pkg.julian-lemmerich.de
This Folder (~/deb/pool/main/
) contains all the packages. Create subfolder for the packages for easier management. Like ./i/ical-relay/
Create Packages file. dpkg-scanpackges to the newest file manually, if there are beta and stable files at the same time.
dpkg-scanpackages --arch amd64 pool/main/i/ical-relay/ical-relay_1.3.1_amd64.deb > dists/stable/main/binary-amd64/Packages cat dists/stable/main/binary-amd64/Packages | gzip -9 > dists/stable/main/binary-amd64/Packages.gz
Create release file with this script
#!/bin/sh set -e do_hash() { HASH_NAME=$1 HASH_CMD=$2 echo "${HASH_NAME}:" for f in $(find -type f); do f=$(echo $f | cut -c3-) # remove ./ prefix if [ "$f" = "Release" ]; then continue fi echo " $(${HASH_CMD} ${f} | cut -d" " -f1) $(wc -c $f)" done } cat << EOF Origin: Example Repository Label: Example Suite: stable Codename: stable Version: 1.0 Architectures: amd64 arm64 arm7 Components: main Description: An example software repository Date: $(date -Ru) EOF do_hash "MD5Sum" "md5sum" do_hash "SHA1" "sha1sum" do_hash "SHA256" "sha256sum"
cd ~/dists/stable generate_release.sh > Release
I think the last two steps have to be repeated after every release.
pubkey into the root directory
gpg --armor --export 5472160F9992859FC5E542A73BACACF9D35CFBFC > pgp-key.public
Then sign Release files
https://github.com/keybase/keybase-issues/issues/2798
export GPG_TTY=$(tty) cat dists/stable/Release | gpg -abs > dists/stable/Release.gpg cat dists/stable/Release | gpg -abs --clearsign > dists/stable/InRelease
echo "deb [arch=amd64] http://pkg.julian-lemmerich.de/deb stable main" | tee /etc/apt/sources.list.d/jm-lemmi.list curl http://pkg.julian-lemmerich.de/deb/gpg.key | apt-key add - apt update apt install ical-relay