From b9d76698cf43d4620741329d024bc692f05c0528 Mon Sep 17 00:00:00 2001 From: Gustavo Yokoyama Ribeiro Date: Sun, 17 Jul 2022 21:39:01 -0300 Subject: [PATCH] Add relpkg support - Add script to run relpkg - Add systemd service and timer - Change SLSA user - Only run pkglistgen when build finishes --- Makefile | 2 +- generate-release-packages | 7 +++++++ systemd/{pkglistgen@.service => osrt-pkglistgen@.service} | 4 ++-- systemd/osrt-relpkggen@.service | 6 ++++++ systemd/osrt-relpkggen@.timer | 7 +++++++ verify-build-and-generatelists | 7 ++++--- 6 files changed, 27 insertions(+), 6 deletions(-) create mode 100755 generate-release-packages rename systemd/{pkglistgen@.service => osrt-pkglistgen@.service} (63%) create mode 100644 systemd/osrt-relpkggen@.service create mode 100644 systemd/osrt-relpkggen@.timer diff --git a/Makefile b/Makefile index 5fffd210..00ea1254 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ include Makefile.common pkgdata_BINS = $(shell find * -maxdepth 0 -executable -type f) pkgdata_SCRIPTS=$(wildcard *.py *.pl *.sh) -pkgdata_SCRIPTS+=findfileconflicts publish_distro verify-build-and-generatelists gocd/verify-repo-built-successful.py +pkgdata_SCRIPTS+=findfileconflicts publish_distro generate-release-packages verify-build-and-generatelists gocd/verify-repo-built-successful.py pkgdata_DATA+=bs_copy metrics osclib pkglistgen $(wildcard *.pm *.testcase) VERSION = "build-$(shell date +%F)" diff --git a/generate-release-packages b/generate-release-packages new file mode 100755 index 00000000..0f5522eb --- /dev/null +++ b/generate-release-packages @@ -0,0 +1,7 @@ +#!/usr/bin/env sh + +LOG_DIR="/var/log/openSUSE-release-tools/$1" + +[ ! -d "${LOG_DIR}" ] && mkdir ${LOG_DIR} + +/usr/bin/osrt-pkglistgen -A $API_URL update_and_solve -p SUSE:SLE-15-SP4:GA -s target --only-release-packages --force > ${LOG_DIR}/relpkggen-$(date -Is).log 2>&1 diff --git a/systemd/pkglistgen@.service b/systemd/osrt-pkglistgen@.service similarity index 63% rename from systemd/pkglistgen@.service rename to systemd/osrt-pkglistgen@.service index d4eed8ba..ce64d120 100644 --- a/systemd/pkglistgen@.service +++ b/systemd/osrt-pkglistgen@.service @@ -1,5 +1,5 @@ [Service] -User=sysuser -SyslogIdentifier=sysuser +User=openSUSE-release-tools +SyslogIdentifier=openSUSE-release-tools EnvironmentFile=/etc/openSUSE-release-tools/ibsapi ExecStart=/usr/bin/osrt-verify-build-and-generatelists %i diff --git a/systemd/osrt-relpkggen@.service b/systemd/osrt-relpkggen@.service new file mode 100644 index 00000000..7365b928 --- /dev/null +++ b/systemd/osrt-relpkggen@.service @@ -0,0 +1,6 @@ +[Service] +User=openSUSE-release-tools +SyslogIdentifier=openSUSE-release-tools +EnvironmentFile=/etc/openSUSE-release-tools/ibsapi +ExecStart=/usr/bin/osrt-generate-release-packages %i +RuntimeMaxSec=120 hour diff --git a/systemd/osrt-relpkggen@.timer b/systemd/osrt-relpkggen@.timer new file mode 100644 index 00000000..321ab2e4 --- /dev/null +++ b/systemd/osrt-relpkggen@.timer @@ -0,0 +1,7 @@ +[Timer] +OnBootSec=120 +OnCalendar=hourly +Unit=osrt-relpkggen@.service + +[Install] +WantedBy=timers.target diff --git a/verify-build-and-generatelists b/verify-build-and-generatelists index 77848eba..bdc14a1b 100755 --- a/verify-build-and-generatelists +++ b/verify-build-and-generatelists @@ -1,8 +1,9 @@ #!/usr/bin/env sh -LOG_DIR="/var/log//openSUSE-release-tools/$1" +LOG_DIR="/var/log/openSUSE-release-tools/$1" [ ! -d "${LOG_DIR}" ] && mkdir ${LOG_DIR} -/usr/share/openSUSE-release-tools/verify-repo-built-successful.py -A $API_URL -p $1 -r standard > ${LOG_DIR}/verify-build.log 2>&1 -/usr/bin/osrt-pkglistgen -A $API_URL --debug update_and_solve -p $1 -s target --force > ${LOG_DIR}/pkglistgen.log 2>&1 +if /usr/share/openSUSE-release-tools/verify-repo-built-successful.py -A $API_URL -p $1 -r standard > ${LOG_DIR}/verify-build-$(date -Is).log 2>&1 ; then + /usr/bin/osrt-pkglistgen -A $API_URL --debug update_and_solve -p $1 -s target --force > ${LOG_DIR}/pkglistgen-$(date -Is).log 2>&1 +fi