Packaging release and pkglistgen services (slsa-build-service)
This commit is contained in:
parent
b0c4abff68
commit
33d56465c9
5
Makefile
5
Makefile
@ -10,6 +10,9 @@ VERSION = "build-$(shell date +%F)"
|
|||||||
|
|
||||||
all:
|
all:
|
||||||
|
|
||||||
|
build:
|
||||||
|
%sysusers_generate_pre config/sysusers $(package_name) $(package_name).conf
|
||||||
|
|
||||||
install:
|
install:
|
||||||
install -d -m 755 $(DESTDIR)$(bindir) $(DESTDIR)$(pkgdatadir) $(DESTDIR)$(unitdir) $(DESTDIR)$(oscplugindir) $(DESTDIR)$(sysconfdir)/$(package_name) $(DESTDIR)$(grafana_provisioning_dir)/dashboards $(DESTDIR)$(grafana_provisioning_dir)/datasources $(DESTDIR)$(logdir)/$(package_name) $(DESTDIR)$(varlibdir)/osrt-slsa/pkglistgen $(DESTDIR)$(varlibdir)/osrt-slsa/relpkggen
|
install -d -m 755 $(DESTDIR)$(bindir) $(DESTDIR)$(pkgdatadir) $(DESTDIR)$(unitdir) $(DESTDIR)$(oscplugindir) $(DESTDIR)$(sysconfdir)/$(package_name) $(DESTDIR)$(grafana_provisioning_dir)/dashboards $(DESTDIR)$(grafana_provisioning_dir)/datasources $(DESTDIR)$(logdir)/$(package_name) $(DESTDIR)$(varlibdir)/osrt-slsa/pkglistgen $(DESTDIR)$(varlibdir)/osrt-slsa/relpkggen
|
||||||
for i in $(pkgdata_SCRIPTS); do install -m 755 $$i $(DESTDIR)$(pkgdatadir); done
|
for i in $(pkgdata_SCRIPTS); do install -m 755 $$i $(DESTDIR)$(pkgdatadir); done
|
||||||
@ -24,6 +27,8 @@ install:
|
|||||||
ln -s $(pkgdatadir)/metrics/access/aggregate.php $(DESTDIR)$(bindir)/osrt-metrics-access-aggregate
|
ln -s $(pkgdatadir)/metrics/access/aggregate.php $(DESTDIR)$(bindir)/osrt-metrics-access-aggregate
|
||||||
ln -s $(pkgdatadir)/metrics/access/ingest.php $(DESTDIR)$(bindir)/osrt-metrics-access-ingest
|
ln -s $(pkgdatadir)/metrics/access/ingest.php $(DESTDIR)$(bindir)/osrt-metrics-access-ingest
|
||||||
cp -R config/* $(DESTDIR)$(sysconfdir)/$(package_name)
|
cp -R config/* $(DESTDIR)$(sysconfdir)/$(package_name)
|
||||||
|
install -Dpm0644 config/logrotate $(DESTDIR)$(sysconfdir)/logrotate.d/$(package_name)
|
||||||
|
install -Dpm0644 config/$(package_name).conf $(DESTDIR)$(sysusersdir)/$(package_name).conf
|
||||||
for dir in dashboards datasources ; do ln -s $(pkgdatadir)/metrics/grafana/provisioning/$$dir.yaml \
|
for dir in dashboards datasources ; do ln -s $(pkgdatadir)/metrics/grafana/provisioning/$$dir.yaml \
|
||||||
$(DESTDIR)$(grafana_provisioning_dir)/$$dir/$(package_name).yaml ; done
|
$(DESTDIR)$(grafana_provisioning_dir)/$$dir/$(package_name).yaml ; done
|
||||||
sed -i "s|OSRT_DATA_DIR|$(pkgdatadir)|" \
|
sed -i "s|OSRT_DATA_DIR|$(pkgdatadir)|" \
|
||||||
|
@ -11,3 +11,4 @@ apachevhostsdir=$(sysconfdir)/apache2/vhosts.d
|
|||||||
tmpfilesdir=$(prefix)/lib/tmpfiles.d
|
tmpfilesdir=$(prefix)/lib/tmpfiles.d
|
||||||
logdir=/var/log
|
logdir=/var/log
|
||||||
varlibdir=/var/lib
|
varlibdir=/var/lib
|
||||||
|
sysusersdir=$(prefixi)/lib/sysusers.d
|
||||||
|
10
config/logrotate
Normal file
10
config/logrotate
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
/var/log/openSUSE-release-tools/*/*.log {
|
||||||
|
compress
|
||||||
|
dateext
|
||||||
|
maxage 365
|
||||||
|
rotate 99
|
||||||
|
size=+4096k
|
||||||
|
missingok
|
||||||
|
notifempty
|
||||||
|
delaycompress
|
||||||
|
}
|
2
config/sysusers
Normal file
2
config/sysusers
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# Type Name ID GECOS [HOME]
|
||||||
|
u osrt-slsa - "User for openSUSE SLSA release tool" /var/lib/osrt-slsa
|
55
dist/package/openSUSE-release-tools.spec
vendored
55
dist/package/openSUSE-release-tools.spec
vendored
@ -19,6 +19,7 @@
|
|||||||
%global __provides_exclude ^perl.*
|
%global __provides_exclude ^perl.*
|
||||||
%define source_dir openSUSE-release-tools
|
%define source_dir openSUSE-release-tools
|
||||||
%define announcer_filename factory-package-news
|
%define announcer_filename factory-package-news
|
||||||
|
%define services osrt-slsa.target osrt-relpkggen@.timer osrt-relpkggen@.service osrt-pkglistgen@.timer osrt-pkglistgen@.service
|
||||||
Name: openSUSE-release-tools
|
Name: openSUSE-release-tools
|
||||||
Version: 0
|
Version: 0
|
||||||
Release: 0
|
Release: 0
|
||||||
@ -49,6 +50,9 @@ BuildRequires: apache2-devel
|
|||||||
BuildRequires: rsyslog
|
BuildRequires: rsyslog
|
||||||
BuildRequires: systemd-rpm-macros
|
BuildRequires: systemd-rpm-macros
|
||||||
|
|
||||||
|
BuildRequires: sysuser-shadow
|
||||||
|
BuildRequires: sysuser-tools
|
||||||
|
|
||||||
Requires: python3-PyYAML
|
Requires: python3-PyYAML
|
||||||
Requires: python3-cmdln
|
Requires: python3-cmdln
|
||||||
Requires: python3-colorama
|
Requires: python3-colorama
|
||||||
@ -242,6 +246,19 @@ BuildArch: noarch
|
|||||||
Generates package lists based on 000package-groups and puts them
|
Generates package lists based on 000package-groups and puts them
|
||||||
in 000product, resp 000release-packages
|
in 000product, resp 000release-packages
|
||||||
|
|
||||||
|
%package slsa-build-service
|
||||||
|
Summary: Build service
|
||||||
|
Group: Development/Tools/Other
|
||||||
|
# TODO Update requirements, but for now base deps.
|
||||||
|
Requires: %{name} = %{version}
|
||||||
|
Requires: openSUSE-release-tools-pkglistgen
|
||||||
|
%sysusers_requires
|
||||||
|
Recommends: logrotate
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description slsa-build-service
|
||||||
|
Service to run repo-checker and pkglistgen.
|
||||||
|
|
||||||
%package -n osclib
|
%package -n osclib
|
||||||
Summary: Supplemental osc libraries
|
Summary: Supplemental osc libraries
|
||||||
Group: Development/Tools/Other
|
Group: Development/Tools/Other
|
||||||
@ -309,6 +326,9 @@ OSC plugin for the staging workflow, see `osc staging --help`.
|
|||||||
oscplugindir="%{osc_plugin_dir}" \
|
oscplugindir="%{osc_plugin_dir}" \
|
||||||
VERSION="%{version}"
|
VERSION="%{version}"
|
||||||
|
|
||||||
|
%pre -f %{name}.pre
|
||||||
|
%service_add_pre %{name}.service
|
||||||
|
|
||||||
%pre announcer
|
%pre announcer
|
||||||
getent passwd osrt-announcer > /dev/null || \
|
getent passwd osrt-announcer > /dev/null || \
|
||||||
useradd -r -m -s /sbin/nologin -c "user for openSUSE-release-tools-announcer" osrt-announcer
|
useradd -r -m -s /sbin/nologin -c "user for openSUSE-release-tools-announcer" osrt-announcer
|
||||||
@ -351,6 +371,18 @@ getent passwd osrt-repo-checker > /dev/null || \
|
|||||||
useradd -r -m -s /sbin/nologin -c "user for openSUSE-release-tools-repo-checker" osrt-repo-checker
|
useradd -r -m -s /sbin/nologin -c "user for openSUSE-release-tools-repo-checker" osrt-repo-checker
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
|
%pre slsa-build-service
|
||||||
|
%service_add_pre %{services}
|
||||||
|
|
||||||
|
%post slsa-build-service
|
||||||
|
%service_add_post %{services}
|
||||||
|
|
||||||
|
%preun slsa-build-service
|
||||||
|
%service_del_preun %{services}
|
||||||
|
|
||||||
|
%postun slsa-build-service
|
||||||
|
%service_del_postun_with_restart %{services}
|
||||||
|
|
||||||
%pre staging-bot
|
%pre staging-bot
|
||||||
getent passwd osrt-staging-bot > /dev/null || \
|
getent passwd osrt-staging-bot > /dev/null || \
|
||||||
useradd -r -m -s /sbin/nologin -c "user for openSUSE-release-tools-staging-bot" osrt-staging-bot
|
useradd -r -m -s /sbin/nologin -c "user for openSUSE-release-tools-staging-bot" osrt-staging-bot
|
||||||
@ -400,6 +432,9 @@ exit 0
|
|||||||
%exclude %{_datadir}/%{source_dir}/osc-staging.py
|
%exclude %{_datadir}/%{source_dir}/osc-staging.py
|
||||||
%exclude %{_datadir}/%{source_dir}/publish_distro
|
%exclude %{_datadir}/%{source_dir}/publish_distro
|
||||||
%exclude %{_datadir}/%{source_dir}/findfileconflicts
|
%exclude %{_datadir}/%{source_dir}/findfileconflicts
|
||||||
|
%exclude %{_datadir}/%{source_dir}/generate-release-packages
|
||||||
|
%exclude %{_datadir}/%{source_dir}/verify-build-and-generatelists
|
||||||
|
%exclude %{_datadir}/%{source_dir}/verify-repo-built-successful.py
|
||||||
%exclude %{_datadir}/%{source_dir}/write_repo_susetags_file.pl
|
%exclude %{_datadir}/%{source_dir}/write_repo_susetags_file.pl
|
||||||
%dir %{_sysconfdir}/openSUSE-release-tools
|
%dir %{_sysconfdir}/openSUSE-release-tools
|
||||||
|
|
||||||
@ -427,6 +462,26 @@ exit 0
|
|||||||
%{_unitdir}/osrt-docker-publisher.service
|
%{_unitdir}/osrt-docker-publisher.service
|
||||||
%{_unitdir}/osrt-docker-publisher.timer
|
%{_unitdir}/osrt-docker-publisher.timer
|
||||||
|
|
||||||
|
%files slsa-build-service
|
||||||
|
%{_bindir}/osrt-generate-release-packages
|
||||||
|
%{_bindir}/osrt-verify-build-and-generatelists
|
||||||
|
%{_datadir}/%{source_dir}/generate-release-packages
|
||||||
|
%{_datadir}/%{source_dir}/verify-build-and-generatelists
|
||||||
|
%{_datadir}/%{source_dir}/verify-repo-built-successful.py
|
||||||
|
%{_sysconfdir}/openSUSE-release-tools/ibsapi
|
||||||
|
%{_sysusersdir}/%{name}.conf
|
||||||
|
%{_unitdir}/osrt-pkglistgen@.service
|
||||||
|
%{_unitdir}/osrt-pkglistgen@.timer
|
||||||
|
%{_unitdir}/osrt-relpkggen@.service
|
||||||
|
%{_unitdir}/osrt-relpkggen@.timer
|
||||||
|
%{_unitdir}/osrt-slsa.target
|
||||||
|
%config(noreplace) %attr(0640,osrt-slsa,osrt-slsa) %{_sysconfdir}/openSUSE-release-tools/oscrc
|
||||||
|
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
|
||||||
|
%dir %attr(755,osrt-slsa,osrt-slsa) %{_localstatedir}/log/openSUSE-release-tools/
|
||||||
|
%dir %attr(750,osrt-slsa,osrt-slsa) %{_sharedstatedir}/osrt-slsa
|
||||||
|
%dir %attr(750,osrt-slsa,osrt-slsa) %{_sharedstatedir}/osrt-slsa/pkglistgen
|
||||||
|
%dir %attr(750,osrt-slsa,osrt-slsa) %{_sharedstatedir}/osrt-slsa/relpkggen
|
||||||
|
|
||||||
%files maintenance
|
%files maintenance
|
||||||
%{_bindir}/osrt-check_maintenance_incidents
|
%{_bindir}/osrt-check_maintenance_incidents
|
||||||
%{_datadir}/%{source_dir}/check_maintenance_incidents.py
|
%{_datadir}/%{source_dir}/check_maintenance_incidents.py
|
||||||
|
Loading…
x
Reference in New Issue
Block a user