Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
13aea1c654 |
Executable
+62
@@ -0,0 +1,62 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# ==============================================================================
|
||||||
|
# Update and sign Eendoe APT Repository
|
||||||
|
# ==============================================================================
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
REPO_DIR="/sites/repository/binaries"
|
||||||
|
DISTS_DIR="${REPO_DIR}/dists/stable"
|
||||||
|
MAIN_DIR="${DISTS_DIR}/main/binary-amd64"
|
||||||
|
KEY_ID="56499F920639F571"
|
||||||
|
|
||||||
|
echo "=== Updating Eendoe APT Repository ==="
|
||||||
|
|
||||||
|
cd "$REPO_DIR"
|
||||||
|
mkdir -p "$MAIN_DIR"
|
||||||
|
|
||||||
|
echo "Scanning packages in pool/main..."
|
||||||
|
dpkg-scanpackages --multiversion pool/main /dev/null > "$MAIN_DIR/Packages"
|
||||||
|
|
||||||
|
echo "Compressing Packages..."
|
||||||
|
gzip -9c "$MAIN_DIR/Packages" > "$MAIN_DIR/Packages.gz"
|
||||||
|
bzip2 -9c "$MAIN_DIR/Packages" > "$MAIN_DIR/Packages.bz2"
|
||||||
|
|
||||||
|
echo "Generating Release file..."
|
||||||
|
cd "$DISTS_DIR"
|
||||||
|
|
||||||
|
cat << EOF > Release
|
||||||
|
Origin: Eendoe
|
||||||
|
Label: Eendoe Repository
|
||||||
|
Suite: stable
|
||||||
|
Codename: stable
|
||||||
|
Date: $(date -Ru)
|
||||||
|
Architectures: amd64 all
|
||||||
|
Components: main
|
||||||
|
Description: Eendoe Private APT Package Repository
|
||||||
|
EOF
|
||||||
|
|
||||||
|
add_checksums() {
|
||||||
|
local algo="$1"
|
||||||
|
local cmd="$2"
|
||||||
|
echo "${algo}:" >> Release
|
||||||
|
for file in main/binary-amd64/Packages main/binary-amd64/Packages.gz main/binary-amd64/Packages.bz2; do
|
||||||
|
if [ -f "$file" ]; then
|
||||||
|
local size
|
||||||
|
size=$(stat -c%s "$file")
|
||||||
|
local hash
|
||||||
|
hash=$($cmd "$file" | awk '{print $1}')
|
||||||
|
printf " %s %16d %s\n" "$hash" "$size" "$file" >> Release
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
add_checksums "MD5Sum" "md5sum"
|
||||||
|
add_checksums "SHA1" "sha1sum"
|
||||||
|
add_checksums "SHA256" "sha256sum"
|
||||||
|
|
||||||
|
echo "Signing Release with GPG key $KEY_ID..."
|
||||||
|
rm -f Release.gpg InRelease
|
||||||
|
gpg --batch --yes --default-key "$KEY_ID" --armor --detach-sign -o Release.gpg Release
|
||||||
|
gpg --batch --yes --default-key "$KEY_ID" --clearsign -o InRelease Release
|
||||||
|
|
||||||
|
echo "=== Repository update & signing complete ==="
|
||||||
Reference in New Issue
Block a user