Merge pull request #6 from delta523/master
Auto-configure reprepro-distributions from environment variables (#5)
This commit is contained in:
commit
c9b0d21d95
5 changed files with 60 additions and 5 deletions
|
@ -27,6 +27,11 @@ RUN chmod 755 /usr/local/sbin/reprepro-import
|
|||
RUN mkdir -p /var/lib/reprepro/conf
|
||||
ADD configs/reprepro-distributions /var/lib/reprepro/conf/distributions
|
||||
|
||||
# reprepro config generator
|
||||
ADD scripts/create-distros.sh /usr/local/sbin/create-distros
|
||||
RUN chmod 755 /usr/local/sbin/create-distros
|
||||
ADD configs/reprepro-distributions.temp /etc/reprepro-distributions.temp
|
||||
|
||||
# Configure nginx
|
||||
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
|
||||
RUN rm -f /etc/nginx/sites-enabled/default
|
||||
|
|
8
configs/reprepro-distributions.temp
Normal file
8
configs/reprepro-distributions.temp
Normal file
|
@ -0,0 +1,8 @@
|
|||
Origin: {{EASYREPO_ORIGIN}}
|
||||
Label: {{EASYREPO_LABEL}}
|
||||
Suite: {{EASYREPO_SUITE}}
|
||||
Codename: {{EASYREPO_CODENAME}}
|
||||
Version: 3.1
|
||||
Architectures: {{EASYREPO_ARCHITECTURES}}
|
||||
Components: main non-free contrib
|
||||
Description: {{EASYREPO_DESCRIPTION}}
|
32
scripts/create-distros.sh
Normal file
32
scripts/create-distros.sh
Normal file
|
@ -0,0 +1,32 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
REPREPRO_DIST="${REPREPRO_OVERRIDE:-/var/lib/reprepro/conf/distributions}"
|
||||
|
||||
# path to template file
|
||||
REPREPRO_DIST_TEMP="/etc/reprepro-distributions.temp"
|
||||
|
||||
# Default results to configs/reprepro-distributions
|
||||
EASYREPO_SUITES="${EASYREPO_SUITES:-unstable,sid/stable,buster/testing,bullseye}"
|
||||
EASYREPO_ORIGIN="${EASYREPO_ORIGIN:-Test Origin}"
|
||||
EASYREPO_LABEL="${EASYREPO_LABEL:-Easy Debian Repository}"
|
||||
EASYREPO_ARCHITECTURES="${EASYREPO_ARCHITECTURES:-i386 amd64 powerpc source}"
|
||||
EASYREPO_DESCRIPTION="${EASYREPO_LABEL:-Easy Debian Repository}"
|
||||
|
||||
# Empty the file
|
||||
echo -n > $REPREPRO_DIST
|
||||
|
||||
# Slash delimited
|
||||
for i in $(echo ${EASYREPO_SUITES} | sed "s/\// /g")
|
||||
do
|
||||
g=($(echo $i | sed "s/\,/ /g"))
|
||||
sed -e "s/{{EASYREPO_ORIGIN}}/${EASYREPO_ORIGIN}/" \
|
||||
-e "s/{{EASYREPO_LABEL}}/${EASYREPO_LABEL}/" \
|
||||
-e "s/{{EASYREPO_SUITE}}/${g[0]}/" \
|
||||
-e "s/{{EASYREPO_CODENAME}}/${g[1]}/" \
|
||||
-e "s/{{EASYREPO_ARCHITECTURES}}/${EASYREPO_ARCHITECTURES}/" \
|
||||
-e "s/{{EASYREPO_DESCRIPTION}}/${EASYREPO_DESCRIPTION}/" $REPREPRO_DIST_TEMP >> $REPREPRO_DIST
|
||||
echo "" >> $REPREPRO_DIST
|
||||
done
|
||||
|
||||
# Remove last line
|
||||
sed -i '$ d' $REPREPRO_DIST
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
|
||||
BASEDIR=/var/lib/reprepro
|
||||
INCOMING=/docker/incoming
|
||||
|
@ -11,10 +11,17 @@ cd $INCOMING
|
|||
cd ..
|
||||
|
||||
#set -x
|
||||
reprepro -V --basedir $BASEDIR --outdir $OUTDIR createsymlinks stable
|
||||
reprepro -V --basedir $BASEDIR --outdir $OUTDIR createsymlinks jessie
|
||||
reprepro -V --basedir $BASEDIR --outdir $OUTDIR createsymlinks unstable
|
||||
reprepro -V --basedir $BASEDIR --outdir $OUTDIR createsymlinks sid
|
||||
|
||||
# Check for EASYREPO_SUITES to create symlinks
|
||||
EASYREPO_SUITES="${EASYREPO_SUITES:-unstable,sid/stable,buster/testing,bullseye}"
|
||||
|
||||
for k in $(echo ${EASYREPO_SUITES} | sed "s/\// /g")
|
||||
do
|
||||
g=($(echo $k | sed "s/\,/ /g"))
|
||||
reprepro -V --basedir $BASEDIR --outdir $OUTDIR createsymlinks ${g[0]}
|
||||
done
|
||||
|
||||
|
||||
#
|
||||
# See if we found any new packages
|
||||
#
|
||||
|
|
|
@ -30,6 +30,9 @@ crontab <<EOF
|
|||
* * * * * /usr/local/sbin/reprepro-import >> /var/log/reprepro.log
|
||||
EOF
|
||||
|
||||
# run distro config generator
|
||||
/usr/local/sbin/create-distros
|
||||
|
||||
# run import once, to create the right directory structure
|
||||
/usr/local/sbin/reprepro-import
|
||||
|
||||
|
|
Loading…
Reference in a new issue