distro specific prep

This commit is contained in:
Filip Rojek 2023-05-08 11:08:25 +02:00
parent 01454e6521
commit d3f1349838
5 changed files with 59 additions and 34 deletions

17
debrepo
View File

@ -5,7 +5,6 @@ DIR="$(cd "$(dirname "$0")" && pwd)" # location of debrepo source path
# set vars
index=1
for arg in $@; do
# set REPODIR variable
if [ $arg = "--repodir" ]; then
ARGID="$((index+1))"
eval "REPODIR=\$$ARGID"
@ -16,6 +15,11 @@ for arg in $@; do
eval "GPG=\$$ARGID"
fi
if [ $arg = "--distro" ]; then
ARGID="$((index+1))"
eval "DISTRO=\$$ARGID"
fi
index=$((index+1))
done
@ -31,6 +35,13 @@ if [ "$1" = "init" ] || [ "$1" = "-i" ] || [ "$1" = "--init" ]; then
fi
if [ "$1" = "add" ] || [ "$1" = "-a" ] || [ "$1" = "--add" ]; then
# if distro specific package
if [ "$DISTRO" ]; then
echo "distro: $DISTRO"
exit
fi
exit
# copy deb file to repo folder structure
if [ "$2" = "--letter-based-structure" ] || [ "$2" = "-l" ];then
first_letter=$(echo "$3" | sed 's/.*\///' | cut -c 1 | tr '[:upper:]' '[:lower:]')
@ -42,8 +53,8 @@ if [ "$1" = "add" ] || [ "$1" = "-a" ] || [ "$1" = "--add" ]; then
fi
# generate package and release file
$DIR/scripts/genPkgRel.sh $REPODIR $2 && echo "debrepo: package $2 was successfully added"
$DIR/scripts/gpgSign.sh $REPODIR $GPG && echo "debrepo: repo was succesfully signed"
$DIR/scripts/genPkgRel.sh $REPODIR $2 $DISTRO && echo "debrepo: package $2 was successfully added"
$DIR/scripts/gpgSign.sh $REPODIR $GPG $DISTRO && echo "debrepo: repo was succesfully signed"
exit
fi

View File

@ -1,17 +1,22 @@
#!/bin/sh
DIR="$(cd "$(dirname "$0")" && pwd)"
LS="$(which ls)" # this prevents bugs when aliasing ls to tools like exa
DIR="$(cd "$(dirname "$0")" && pwd)"
REPODIR="$1"
ARCHS="$($LS -l $REPODIR/apt-repo/dists/stable/main/ | awk '{print $9}' | awk NF | awk -F - '{print $2}')"
DISTRO="$3"
if [ !$DISTRO ]; then
DISTRO="stable"
fi
ARCHS="$($LS -l $REPODIR/apt-repo/dists/$DISTRO/main/ | awk '{print $9}' | awk NF | awk -F - '{print $2}')"
# generate Packages file
for ARCH in $ARCHS; do
dpkg-scanpackages --multiversion --arch $ARCH "$REPODIR/apt-repo/pool/" > "$REPODIR/apt-repo/dists/stable/main/binary-$ARCH/Packages"
dpkg-scanpackages --multiversion --arch $ARCH "$REPODIR/apt-repo/pool/" > "$REPODIR/apt-repo/dists/$DISTRO/main/binary-$ARCH/Packages"
# compress Packages file
cat "$REPODIR/apt-repo/dists/stable/main/binary-$ARCH/Packages" | gzip -9 > "$REPODIR/apt-repo/dists/stable/main/binary-$ARCH/Packages.gz"
cat "$REPODIR/apt-repo/dists/$DISTRO/main/binary-$ARCH/Packages" | gzip -9 > "$REPODIR/apt-repo/dists/$DISTRO/main/binary-$ARCH/Packages.gz"
done
# generate Release file
cd "$REPODIR/apt-repo/dists/stable/"
$DIR/generate-release.sh > "Release"
cd "$REPODIR/apt-repo/dists/$DISTRO/"
$DIR/generate-release.sh $DISTRO > "Release"

View File

@ -2,6 +2,15 @@
set -e
. ../../config # this file is in /apt-repo/config
if [ ! $DISTRO ]; then
DISTRO="stable"
fi
if [ ! -f "../../config" ]; then
echo "error - config file does not exists"
exit 1;
fi
do_hash() {
HASH_NAME=$1
HASH_CMD=$2
@ -15,17 +24,11 @@ do_hash() {
done
}
if [ ! -f "../../config" ]; then
echo "error - config file does not exists"
exit 1;
fi
cat << EOF
Origin: $ORIGIN
Label: $LABEL
Suite: $SUITE
Codename: $CODENAME
Codename: $DISTRO
Version: $VERSION
Architectures: $ARCHITECTURES
Components: $COMPONENTS

View File

@ -1,21 +1,11 @@
#!/bin/sh
REPODIR="$1"
DISTRO="$3"
. $REPODIR/apt-repo/config
#KEY="$2"
#echo $KEY
#if [ $KEY = "--repodir" ]; then
# KEY=""
#fi
#
#if [ $KEY ]; then
# continue
#elif [ $DEFAULT_GPG ]; then
# KEY="$DEFAULT_GPG"
#else
# echo "error: no gpg key provided"
# exit 1
#fi
if [ ! $DISTRO ]; then
DISTRO="stable"
fi
if [ ! $DEFAULT_GPG ]; then
echo "error: no gpg key provided in config file"
@ -23,10 +13,8 @@ if [ ! $DEFAULT_GPG ]; then
fi
KEY=$DEFAULT_GPG
echo "debrepo: signing using $KEY"
cat $REPODIR/apt-repo/dists/stable/Release | gpg --default-key $KEY -abs > $REPODIR/apt-repo/dists/stable/Release.gpg
cat $REPODIR/apt-repo/dists/stable/Release | gpg --default-key $KEY -abs --clearsign > $REPODIR/apt-repo/dists/stable/InRelease
cat $REPODIR/apt-repo/dists/$DISTRO/Release | gpg --default-key $KEY -abs > $REPODIR/apt-repo/dists/$DISTRO/Release.gpg
cat $REPODIR/apt-repo/dists/$DISTRO/Release | gpg --default-key $KEY -abs --clearsign > $REPODIR/apt-repo/dists/$DISTRO/InRelease

View File

@ -9,3 +9,21 @@ fi
mkdir -p $1/apt-repo/dists/stable/main/binary-amd64/
mkdir -p $1/apt-repo/pool/main/
# make config file
echo \
"#!/bin/sh
# Repository preferences
DEFAULT_GPG=\"\"
# Repository info
ORIGIN=\"example.com\"
LABEL=\"example repository\"
SUITE=\"stable\"
CODENAME=\"stable\"
VERSION=\"1.0\"
ARCHITECTURES=\"amd64\"
COMPONENTS=\"main\"
DESCRIPTION=\"example repository\"
" > $1/apt-repo/config