From b4d412f490bc56601d930ae93362068dc11a7d26 Mon Sep 17 00:00:00 2001 From: Mate Farkas <mate.farkas@sch.hu> Date: Mon, 11 Jun 2018 22:04:57 +0100 Subject: [PATCH] xenial:repogen has been added. --- docker/xenial/repogen/.gitignore | 4 +++ docker/xenial/repogen/Dockerfile | 13 +++++++ docker/xenial/repogen/Makefile | 8 +++++ docker/xenial/repogen/README.md | 8 +++++ docker/xenial/repogen/repodir/indeed.key | 29 ++++++++++++++++ docker/xenial/repogen/repodir/indeed.list | 2 ++ .../repogen/repodir/pool/hello_1.0.0_all.deb | Bin 0 -> 710 bytes .../usr/local/bin/generate-apt-metadata | 32 ++++++++++++++++++ 8 files changed, 96 insertions(+) create mode 100644 docker/xenial/repogen/.gitignore create mode 100644 docker/xenial/repogen/Dockerfile create mode 100644 docker/xenial/repogen/Makefile create mode 100644 docker/xenial/repogen/README.md create mode 100644 docker/xenial/repogen/repodir/indeed.key create mode 100644 docker/xenial/repogen/repodir/indeed.list create mode 100644 docker/xenial/repogen/repodir/pool/hello_1.0.0_all.deb create mode 100644 docker/xenial/repogen/usr/local/bin/generate-apt-metadata diff --git a/docker/xenial/repogen/.gitignore b/docker/xenial/repogen/.gitignore new file mode 100644 index 0000000..89ca4e5 --- /dev/null +++ b/docker/xenial/repogen/.gitignore @@ -0,0 +1,4 @@ +repodir/Packages +repodir/Release +repodir/Release.gpg + diff --git a/docker/xenial/repogen/Dockerfile b/docker/xenial/repogen/Dockerfile new file mode 100644 index 0000000..8916236 --- /dev/null +++ b/docker/xenial/repogen/Dockerfile @@ -0,0 +1,13 @@ +FROM ubuntu:16.04 +MAINTAINER Mate Farkas <mate.farkas@sch.hu> + +ARG DEBIAN_FRONTEND=noninteractive + +RUN apt-get -y update && apt-get install -y \ + apt-utils + +ADD usr/local/bin/generate-apt-metadata /usr/local/bin/generate-apt-metadata +RUN chmod a+x /usr/local/bin/generate-apt-metadata + +CMD /usr/local/bin/generate-apt-metadata + diff --git a/docker/xenial/repogen/Makefile b/docker/xenial/repogen/Makefile new file mode 100644 index 0000000..e21ef97 --- /dev/null +++ b/docker/xenial/repogen/Makefile @@ -0,0 +1,8 @@ +TAG='matefarkas/xenial:repogen' + +all: + docker build --tag ${TAG} ${PWD} + +test: + docker run -it --rm --volume ${PWD}/repodir/:/build/ --volume ~/.gnupg/:/root/.gnupg/:ro ${TAG} + diff --git a/docker/xenial/repogen/README.md b/docker/xenial/repogen/README.md new file mode 100644 index 0000000..ce3d783 --- /dev/null +++ b/docker/xenial/repogen/README.md @@ -0,0 +1,8 @@ +# matefarkas/xenial:repogen + +DEB repo metadata generator. + +## alias + + alias repogen-apt='docker run -it --rm --volume $PWD:/build/ --volume ~/.gnupg/:/root/.gnupg/:ro matefarkas/xenial:repogen' + diff --git a/docker/xenial/repogen/repodir/indeed.key b/docker/xenial/repogen/repodir/indeed.key new file mode 100644 index 0000000..446d38d --- /dev/null +++ b/docker/xenial/repogen/repodir/indeed.key @@ -0,0 +1,29 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 + +mQINBFjmwNEBEACpG3M2mxamjG2w8o4Ll+qI0YkhldMfKCjjr/3T3P+mT+7QNmCS +2eK6esmyrlpOwBk2uAAcD28iuewxfbMK1MXQVWZ1KP/XE9zzVgjenuu4bvaPfQ1G +YMl5q6pxy4AWeBnMiOzDGiZ7uoa2Hx79aUg9HWR63lygZcqGaioPm2td57wTiwXf +zqJiFSFL0zLqUwUVV/SkwWuVFd1tApWcz5Fj0JJKcP/OTj3i6ZBbCunwsWvab4Dq +9IO9SLzXFkges35wZCbe3SWimj43l//kEsEE3gT9gCumaAifOPUUWy9OmwHrNs3Z +s+qku8wKMP7IOFW2OjttDiTcAW8b2ioLSuIl5HFRiond9QO2CzrHKErajtbV+f/F +L/wMrUSdvqJt7ECeMfOdK4g5szDaO7wjdg8gqFUp4Frivt81onzB7u0m3ihfqoZ1 +qNRTswRknGI49o21SHDzt1Game/SAiencqSuqlNYSDdEn+84/aLjZe9jLF4FS9hg +jCRJT/ZAtKpAgj7/VTxdx/PaCR6t/WtHbv/fxxUGZ9nVzdN4Dw4BphganyNobHrJ +4mLqEsrndaVTROQyuOM83TeEeR1IDopiK057CI/cxJFajj7L7OQ2SNV++JtZkA/2 +1XEhJjAff5Jw1d/ZCG+ARNR6inPHqDTZSUFh7vfhmWfbXMRqDWC6ut2t8wARAQAB +tCBNYXRlIEZhcmthcyA8bWF0ZS5mYXJrYXNAc2NoLmh1PokCOAQTAQIAIgUCWObA +0QIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQw6OkRgNq+pNW3w/+LZ7u +iLmnjWcfMNUDQwmJzMt3f/SkEqEp9F/osYlVqQSFyx5mbhYLAZ0HAe1c5wed4LQ5 +H3m+dbcgXs3dp3YxMxA15fkPfbP65gy+KLR03kGstrINZb2zQtc7K6QGGzf6l7Ys +OwHm0pku5iFR97QYf8k8/givImNqc00P4dpG2RqMV2EfIszDcevCrAOnQ+D/uww0 +3M7VQU5fB817cHTvjO7SRuAX5lJ/pAtE9kDYS2q0yNUvp60UoV3WoxDbrPNHdSYa +MmumdjQvWsOmGChKKUjHsrWSf1wn+JKpzWf0pD4wchBeQGgWPr8eqb8yRj0fk/H/ +MAv2V7sqK3DMNnEMxdavKBD0ZWuRzlL0Bok7QWs/oDm2XVYFvrAj4Vg7GOKYyvqI +4YtWMj36Vjb5bR7ZR6bg+sb6joOGLXoF3VZfdppbxvO+cXAsoGcZIedDEAtaASeq +ZD53aoF8blmucpcIJZiobInsMp/oevp7nf3u6Ep0YItlsJ0JOkNi3DCS5XXqsOxY +uo90gwOVwWsAX/O1x3vIi17M6+THB8TqqvOkB4QUCah4S01w84j97atJA5TM06XZ +bO2/syBsfDly8piZ/vkJ8gidfBx6o6vp5A9lhukfEOwNe0t2RMUN1k5X1wduXOew +ulkpoRHCkvxxZccI3JwAOQhaaUDQLJF6dl0Pw9c= +=D1iS +-----END PGP PUBLIC KEY BLOCK----- diff --git a/docker/xenial/repogen/repodir/indeed.list b/docker/xenial/repogen/repodir/indeed.list new file mode 100644 index 0000000..ad3fc00 --- /dev/null +++ b/docker/xenial/repogen/repodir/indeed.list @@ -0,0 +1,2 @@ +deb http://indeed.sch.bme.hu/apt/ / + diff --git a/docker/xenial/repogen/repodir/pool/hello_1.0.0_all.deb b/docker/xenial/repogen/repodir/pool/hello_1.0.0_all.deb new file mode 100644 index 0000000000000000000000000000000000000000..37c0363ed248d754025cd7da59f7ca5136ec98ec GIT binary patch literal 710 zcmY$iNi0gvu;WTeP0CEn(@o0EODw8XP*5;5HL@@_u{1X}QBW{Y009VTXkcJwVxpj6 z0uln_1TG^z1Fq!!ypp2)9KDjnBE9q~!upL&Ex@`J6cV`PyEzy@fQk9-#e-f)3<TI7 z%=s+xndRoTOkEK{*2r(09yorH*;E*9c6*BFtIxC7s<U1XW_|cy!ADIpjc>78QmN}T zv$H~*-xuzj9u=SUYSqP`dvjMi1t|YJATv2p>7e40?9%;z{|9F!AD&_HW9s+%;OqA9 z_Fww-`rqlG@TCiwe#hUPyivWlME2{s-wN?E#}#{Ir>+WUy)!$}=cmQHjQmN9*FK!w zSyFwjvnqPh?~LlJ=gU7e=Gv>IUp}*Q{>M1GT^W@#E?p`tmvmU)_}B4LvAxSIyY%3a zKkt-e?^s?i`7E-i+slg)<U<sEy_R9GN>c!X1_MJ%Vo4%6=qjqfp+YG1jm#ji0Sdjp z=2a0<3=AyKu5EE+Vo+ohV_;w?(SN%5f%<=j!?6tF+<Rnd8K)jFbct$S6<xjj^!kX` ze6H7j9Fvo8DJ^{xyteXfy8l~&cF7>+2-()9_E*CHgod#uYh6=}=(maMa!7r`HTzPS z;px9|)Alw>$r{)!by+N^vL#n_huF@I&BAWe`^@iaZBZ_jNV<_HyJlH${L74(yDwx{ zI9!PQ5Pxt{g~A^}6@FIB^35AG?PrF@-Qu{+(R3p4$zDtLB`0p0EjyqgJ?)WYPSwq< zsW0+wc&s+t-4XWd<%@63EwYK1PBvf9)>^~Bz@Tt!{kfvU{B;bB_Zb@k7#L(u@0hdk ONcwLkP=K;TMgaihM-rC+ literal 0 HcmV?d00001 diff --git a/docker/xenial/repogen/usr/local/bin/generate-apt-metadata b/docker/xenial/repogen/usr/local/bin/generate-apt-metadata new file mode 100644 index 0000000..b84d544 --- /dev/null +++ b/docker/xenial/repogen/usr/local/bin/generate-apt-metadata @@ -0,0 +1,32 @@ +#!/bin/bash + +REPO_DIR=/build/ +PERMISSIONS=0444 + +if [ ! -d $REPO_DIR ] +then + echo "ERROR: ${REPO_DIR} doesn't exist." + exit 1 +fi + +uid=`stat -c '%u' $REPO_DIR` +gid=`stat -c '%g' $REPO_DIR` + +cd $REPO_DIR +apt-ftparchive packages $REPO_DIR > Packages +sed -i "s|^Filename: ${REPO_DIR}|Filename: |" Packages +apt-ftparchive release $REPO_DIR > Release + +chown $uid:$gid Packages Release +chmod $PERMISSIONS Packages Release + +if [ ! -d ~/.gnupg/ ] +then + echo "ERROR: GPG config is missing." + exit 1 +fi + +gpg --armor --detach-sign --digest-algo SHA256 --sign --no-random-seed-file --output Release.gpg Release +chown $uid:$gid Release.gpg +chmod $PERMISSIONS Release.gpg + -- GitLab