From fdbcd09a680d58d87d2208f7be7c8c0fc2a5a222 Mon Sep 17 00:00:00 2001 From: Arthur Bols Date: Sat, 27 Apr 2024 12:39:04 +0200 Subject: [PATCH] Commit local changes --- Dockerfile | 18 --------------- Dockerfile.default | 32 ++++++++++++++++++++++++++ README.md | 14 ++++++++++++ build.sh | 20 +++++++++++++--- packages | 23 ++++++++----------- repos/element.repo | 7 ++++++ repos/rpmsphere.repo | 35 ++++++++++++++++++++++++++++ repos/signal.repo | 8 +++++++ repos/slack.repo | 10 ++++++++ repos/teams.repo | 6 +++++ repos/teamviewer.repo | 6 ++--- repos/yarn.repo | 6 ----- run.sh | 47 ++++++++++++++------------------------ run.sh.bak | 53 +++++++++++++++++++++++++++++++++++++++++++ 14 files changed, 212 insertions(+), 73 deletions(-) delete mode 100644 Dockerfile create mode 100644 Dockerfile.default create mode 100644 repos/element.repo create mode 100644 repos/rpmsphere.repo create mode 100644 repos/signal.repo create mode 100644 repos/slack.repo create mode 100644 repos/teams.repo delete mode 100644 repos/yarn.repo create mode 100755 run.sh.bak diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 5882f92..0000000 --- a/Dockerfile +++ /dev/null @@ -1,18 +0,0 @@ -FROM fedora:30 - -RUN dnf install -y createrepo https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm 'dnf-command(copr)' findutils rsync -RUN dnf copr -y enable johnseekins/sway -RUN dnf copr -y enable @sway-sig/sway-desktop -RUN dnf copr -y enable taw/Riot -RUN dnf copr -y enable abn/throttled -RUN dnf copr -y enable dgoerger/workstation -RUN dnf copr -y enable jmiven/gajim-omemo -RUN dnf clean all - -VOLUME [/data] -VOLUME [/rpmfusion] -ENV PACKAGES="" - -COPY run.sh /entrypoint.sh -COPY repos/*.repo /etc/yum/repos.d/ -ENTRYPOINT ["/entrypoint.sh"] diff --git a/Dockerfile.default b/Dockerfile.default new file mode 100644 index 0000000..87b9402 --- /dev/null +++ b/Dockerfile.default @@ -0,0 +1,32 @@ +FROM fedora:RELEASE + +COPY repos/*.repo /etc/yum/repos.d/ + + +RUN dnf --setopt=tsflags=nodocs -y install createrepo \ + https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \ + https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm \ + 'dnf-command(copr)' \ + 'dnf-command(config-manager)' \ + 'dnf-command(download)' \ + findutils \ + rsync \ + && dnf config-manager --set-disabled fedora fedora-modular updates-modular updates \ + ; dnf copr -y enable principis/howdy \ + ; dnf copr -y enable principis/NoiseTorch \ + ; dnf copr -y enable principis/tldr-sharp \ + ; dnf clean all && rm -rf /var/log/dnf* + +ARG USER=mirror +ARG UID=1001 +ARG GID=1001 + +RUN useradd -m ${USER} --uid=${UID} + +VOLUME /data +VOLUME /rpmfusion +VOLUME /cache +ENV PACKAGES="" + +COPY --chown=mirror:mirror run.sh /entrypoint.sh +ENTRYPOINT ["/entrypoint.sh"] diff --git a/README.md b/README.md index e69de29..73164f7 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,14 @@ +Hoe package toevoegen + +1. +- Copr repo: voeg toe aan `Dockerfile.default` +- Andere repo: zet .repo file in `repos` + +2. +Voeg nodige packages toe aan `packages` + +3. +Run `build.sh` + +4. +Run `podman start claque-31` diff --git a/build.sh b/build.sh index a1d0ca2..4bc8737 100755 --- a/build.sh +++ b/build.sh @@ -1,6 +1,20 @@ #!/bin/bash -docker container rm claque -docker build -t customrepo . +cd "$( dirname "${BASH_SOURCE[0]}" )" + +RELEASE=(38 39 40) + +for r in "${RELEASE[@]}"; do + sudo -u mirror mkdir -p /data/mirror/fedora/data/claque/releases/$r/x86_64/Packages + + docker container rm claque-$r + + sed "s/RELEASE/$r/" Dockerfile.default > Dockerfile + + docker build -t customrepo-$r . + + docker create --name claque-$r --privileged --user 978:978 -e PACKAGES="$(< packages)" -v /data/mirror/fedora/data/claque/releases/$r/x86_64:/data customrepo-$r + + rm -f Dockerfile +done -docker create --name claque -e PACKAGES="$(< packages)" -v /mnt/user/Data/fedora-mirror/data/claque/releases/30/x86_64:/data -v /mnt/user/Data/fedora-mirror/data/rpmfusion:/rpmfusion customrepo diff --git a/packages b/packages index a71b987..7b58b69 100644 --- a/packages +++ b/packages @@ -1,15 +1,12 @@ code -grim -python-axolotl -python2-axolotl -python2-axolotl-curve25519 -python3-axolotl -python3-axolotl-curve25519 -riot -sway -swaylock +element-desktop +howdy +nodejs-electron +noisetorch +pam_python +signal-desktop +signal-libringrtc +slack +teams teamviewer -throttled -wlroots -yarn -zotero +tldr-sharp diff --git a/repos/element.repo b/repos/element.repo new file mode 100644 index 0000000..f29b674 --- /dev/null +++ b/repos/element.repo @@ -0,0 +1,7 @@ +[home_jejb1_Element] +name=Multi Distribution builds of Element (Fedora_$releasever) +type=rpm-md +baseurl=https://download.opensuse.org/repositories/home:/jejb1:/Element/Fedora_$releasever/ +gpgcheck=1 +gpgkey=https://download.opensuse.org/repositories/home:/jejb1:/Element/Fedora_$releasever/repodata/repomd.xml.key +enabled=1 diff --git a/repos/rpmsphere.repo b/repos/rpmsphere.repo new file mode 100644 index 0000000..94db3aa --- /dev/null +++ b/repos/rpmsphere.repo @@ -0,0 +1,35 @@ +[rpmsphere] +name=RPM Sphere - Basearch +baseurl=https://github.com/rpmsphere/$basearch/raw/master/ +skip_if_unavailable=True +#repo_gpgcheck=0 +gpgcheck=0 +#sslverify=False +enabled=1 + +[rpmsphere-noarch] +name=RPM Sphere - Noarch +baseurl=https://github.com/rpmsphere/noarch/raw/master/ +skip_if_unavailable=True +#repo_gpgcheck=0 +gpgcheck=0 +#sslverify=False +enabled=1 + +[rpmsphere-source] +name=RPM Sphere - Source +baseurl=https://github.com/rpmsphere/source/raw/master/ +skip_if_unavailable=True +#repo_gpgcheck=0 +gpgcheck=0 +#sslverify=False +enabled=0 + +[rpmsphere-caution] +name=RPM Sphere - Caution +baseurl=https://github.com/rpmsphere/caution/raw/master/ +skip_if_unavailable=True +#repo_gpgcheck=0 +gpgcheck=0 +#sslverify=False +enabled=0 diff --git a/repos/signal.repo b/repos/signal.repo new file mode 100644 index 0000000..9f7eee0 --- /dev/null +++ b/repos/signal.repo @@ -0,0 +1,8 @@ +[network_im_signal] +name=Signal Messaging Devel Project (Fedora_$releasever) +type=rpm-md +baseurl=https://download.opensuse.org/repositories/network:/im:/signal/Fedora_$releasever/ +gpgcheck=1 +gpgkey=https://download.opensuse.org/repositories/network:/im:/signal/Fedora_$releasever/repodata/repomd.xml.key +enabled=1 + diff --git a/repos/slack.repo b/repos/slack.repo new file mode 100644 index 0000000..e6e5f22 --- /dev/null +++ b/repos/slack.repo @@ -0,0 +1,10 @@ +[slack] +name=Slack +baseurl=https://packagecloud.io/slacktechnologies/slack/fedora/21/$basearch +gpgcheck=1 +enabled=1 +gpgkey=https://slack.com/gpg/slack_pubkey_20210901.gpg +sslverify=1 +sslcacert=/etc/pki/tls/certs/ca-bundle.crt +metadata_expire=300 + diff --git a/repos/teams.repo b/repos/teams.repo new file mode 100644 index 0000000..ac4de7c --- /dev/null +++ b/repos/teams.repo @@ -0,0 +1,6 @@ +[teams] +name=teams +baseurl=https://packages.microsoft.com/yumrepos/ms-teams +enabled=1 +gpgcheck=1 +gpgkey=https://packages.microsoft.com/keys/microsoft.asc diff --git a/repos/teamviewer.repo b/repos/teamviewer.repo index 8388de3..b682676 100644 --- a/repos/teamviewer.repo +++ b/repos/teamviewer.repo @@ -1,8 +1,8 @@ [teamviewer] name=TeamViewer - $basearch -baseurl=http://linux.teamviewer.com/yum/stable/main/binary-$basearch/ -gpgkey=http://linux.teamviewer.com/pubkey/TeamViewer2017.asc +baseurl=https://linux.teamviewer.com/yum/stable/main/binary-$basearch/ +gpgkey=https://linux.teamviewer.com/pubkey/currentkey.asc gpgcheck=1 +repo_gpgcheck=1 enabled=1 type=rpm-md -failovermethod=priority diff --git a/repos/yarn.repo b/repos/yarn.repo deleted file mode 100644 index 367aa8c..0000000 --- a/repos/yarn.repo +++ /dev/null @@ -1,6 +0,0 @@ -[yarn] -name=Yarn Repository -baseurl=https://dl.yarnpkg.com/rpm/ -enabled=1 -gpgcheck=1 -gpgkey=https://dl.yarnpkg.com/rpm/pubkey.gpg diff --git a/run.sh b/run.sh index d68f2fe..97e99c9 100755 --- a/run.sh +++ b/run.sh @@ -1,39 +1,26 @@ #!/bin/bash +echo 'Cleaning up Claque...' -VERSION=30 -ARCH="x86_64" -REPO_DIR=/rpmfusion - -MIRROR=( - "rsync://download1.rpmfusion.org/rpmfusion/" -) +cd /data/Packages +FILES="$(rpm -qp --queryformat '%{NAME}\n' *.rpm 2> /dev/null | uniq)" -for ((i=0; i<${#MIRROR[@]}; i++)); do - rsync --progress -amH --numeric-ids --delete --delete-delay --delay-updates \ - --exclude='*/drpms' \ - --exclude='*/images' \ - --exclude='*/Docker' \ - --exclude='*/CloudImages' \ - --exclude='*/debug' \ - --exclude='*/iso' \ - --exclude='*/development'\ - --exclude='*/testing'\ - --exclude='*/tainted'\ - --exclude='*/rpi'\ - --exclude='*/steam'\ - --exclude='*/nvidia-driver'\ - --include="**/${VERSION}/**${ARCH}/***" \ - --include='*/' --exclude='*' \ - "${MIRROR[i]}" "${REPO_DIR}" +ARCH=('x86_64' 'i686' 'noarch') +ARCHES=$(printf ",%s" "${ARCH[@]}") +ARCHES="${ARCHES:1}" + +for i in $FILES; do + for a in "${ARCH[@]}"; do + ls $i-[0-9]*$a.rpm -rv 2> /dev/null | awk 'NR>1' | xargs -d '\n' -r rm -v -- + done done -find "${REPO_DIR}" -name "*comps-*.xml" -exec sh -c 'cp -av {} "$(dirname {})/../comps.xml"' \; +set -f +dnf download -y --skip-broken --arch "$ARCHES" --refresh --best --destdir /data/Packages/ $PACKAGES -for i in $(find "${REPO_DIR}" -type d -name 'repodata' -exec dirname '{}' \;); do - createrepo --update -g comps.xml "$i" -done +set +f -dnf download --refresh --best --destdir /data/Packages/ $PACKAGES -createrepo /data --verbose --database --deltas +createrepo -q /data --update + +echo 'Finished' \ No newline at end of file diff --git a/run.sh.bak b/run.sh.bak new file mode 100755 index 0000000..ad2e451 --- /dev/null +++ b/run.sh.bak @@ -0,0 +1,53 @@ +#!/bin/bash + +VERSION=30 +ARCH="x86_64" +REPO_DIR=/rpmfusion + +MIRROR=( + "rsync://download1.rpmfusion.org/rpmfusion/" +) + + +for ((i=0; i<${#MIRROR[@]}; i++)); do + rsync --progress -amH --numeric-ids --delete --delete-delay --delay-updates \ + --exclude='*/drpms' \ + --exclude='*/images' \ + --exclude='*/Docker' \ + --exclude='*/CloudImages' \ + --exclude='*/debug' \ + --exclude='*/iso' \ + --exclude='*/development'\ + --exclude='*/testing'\ + --exclude='*/tainted'\ + --exclude='*/rpi'\ + --exclude='*/steam'\ + --exclude='*/nvidia-driver'\ + --include="**/${VERSION}/**${ARCH}/***" \ + --include='*/' --exclude='*' \ + "${MIRROR[i]}" "${REPO_DIR}" +done + +find "${REPO_DIR}" -name "*comps-*.xml" -exec sh -c 'cp -av {} "$(dirname {})/../comps.xml"' \; + + +for i in $(find "${REPO_DIR}" -type d -name 'repodata' -exec dirname '{}' \;); do + createrepo --update --database --deltas -c /cache/rpmfusion -g comps.xml "$i" +done + + +echo 'Cleaning up Claque...' + +cd /data/Packages +FILES="$(rpm -qp --queryformat '%{NAME}\n' *.rpm 2> /dev/null | uniq)" +ARCH=('x86_64' 'i686' 'noarch' 'i386') + +for i in $FILES; do + for a in "${ARCH[@]}"; do + ls $i*$a.rpm -rv 2> /dev/null | awk 'NR>1' | xargs -d '\n' -r rm -v -- + done +done + +dnf download --refresh --best --destdir /data/Packages/ $PACKAGES + +createrepo /data --update --verbose --database --deltas -c /cache/claque