summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-07-09 07:18:12 +0000
committerCoprDistGit <infra@openeuler.org>2023-07-09 07:18:12 +0000
commit68bbe244bd12c6eaef4ef9d8ac2770e9b3611f6f (patch)
treead89dcc16731ba002c878ca6a0c1b1ffb9d77276
parent5c19956302ab500468aaccbcef458d8b5663193d (diff)
automatic import of dist-gitopeneuler23.03
-rw-r--r--.gitignore1
-rw-r--r--dist-git.spec228
-rw-r--r--sources1
3 files changed, 230 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..a6cb2a4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/dist-git-1.17.tar.gz
diff --git a/dist-git.spec b/dist-git.spec
new file mode 100644
index 0000000..0d77228
--- /dev/null
+++ b/dist-git.spec
@@ -0,0 +1,228 @@
+%global selinux_variants mls targeted
+%global modulename dist_git
+%global installdir /var/lib/dist-git
+
+Name: dist-git
+Version: 1.17
+Release: 1
+Summary: Package source version control system
+
+# upload.cgi uses GPLv1
+License: MIT AND GPL-1.0-only
+URL: https://github.com/release-engineering/dist-git
+# Source is created by
+# git clone https://github.com/release-engineering/dist-git.git
+# cd dist-git
+# tito build --tgz
+Source0: %{name}-%{version}.tar.gz
+BuildArch: noarch
+
+BuildRequires: systemd
+
+Requires: httpd
+Requires: perl(Sys::Syslog)
+Requires: (dist-git-selinux if selinux-policy-targeted)
+Requires: git
+Requires: git-daemon
+Requires: mod_ssl
+Requires: /usr/bin/crudini
+Requires(pre): shadow-utils
+
+Requires: python3-requests
+BuildRequires: python3-pytest
+BuildRequires: python3-parameterized
+BuildRequires: python3-requests
+
+%description
+DistGit is a Git repository specifically designed to hold RPM
+package sources.
+
+
+%package selinux
+Summary: SELinux support for dist-git
+
+BuildRequires: checkpolicy
+BuildRequires: policycoreutils
+BuildRequires: selinux-policy-devel
+BuildRequires: hardlink
+
+Requires: %name = %version-%release
+%if "%{_selinux_policy_version}" != ""
+Requires: selinux-policy >= %{_selinux_policy_version}
+%endif
+Requires(post): /usr/sbin/semodule, /sbin/restorecon
+Requires(postun): /usr/sbin/semodule, /sbin/restorecon
+
+
+%description selinux
+Dist Git is a remote Git repository specifically designed to hold RPM
+package sources.
+
+This package includes SELinux support.
+
+
+%prep
+%setup -q
+
+
+%build
+# ------------------------------------------------------------------------------
+# SELinux
+# ------------------------------------------------------------------------------
+cd selinux
+for selinuxvariant in %{selinux_variants}
+do
+ make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile
+ mv %{modulename}.pp %{modulename}.pp.${selinuxvariant}
+ make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile clean
+done
+cd -
+
+
+%pre
+# ------------------------------------------------------------------------------
+# Users and Groups
+# ------------------------------------------------------------------------------
+getent group packager > /dev/null || \
+ groupadd -r packager
+exit 0
+
+
+%check
+pytest -vv .
+
+
+%install
+# ------------------------------------------------------------------------------
+# /usr/share/ ........... scripts
+# ------------------------------------------------------------------------------
+install -d %{buildroot}%{_datadir}/dist-git/
+cp -a scripts/dist-git/* %{buildroot}%{_datadir}/dist-git/
+
+# ------------------------------------------------------------------------------
+# /etc/ .......... config files
+# ------------------------------------------------------------------------------
+install -d %{buildroot}%{_sysconfdir}/dist-git
+cp -a configs/dist-git/dist-git.conf %{buildroot}%{_sysconfdir}/dist-git/
+install -d %{buildroot}%{_sysconfdir}/httpd/conf.d/dist-git
+mkdir -p %{buildroot}%{_unitdir}
+
+cp -a configs/httpd/dist-git.conf %{buildroot}%{_sysconfdir}/httpd/conf.d/
+cp -a configs/httpd/dist-git/* %{buildroot}%{_sysconfdir}/httpd/conf.d/dist-git/
+cp -a configs/systemd/* %{buildroot}%{_unitdir}/
+
+# ------------------------------------------------------------------------------
+# /var/lib/ ...... dynamic persistent files
+# ------------------------------------------------------------------------------
+install -d %{buildroot}%{installdir}
+install -d %{buildroot}%{installdir}/git
+install -d %{buildroot}%{installdir}/cache
+install -d %{buildroot}%{installdir}/cache/lookaside
+install -d %{buildroot}%{installdir}/cache/lookaside/pkgs
+install -d %{buildroot}%{installdir}/web
+
+cp -a scripts/httpd/upload.cgi %{buildroot}%{installdir}/web/
+
+# ------------------------------------------------------------------------------
+# /usr/bin/ ...... links to executable files
+# ------------------------------------------------------------------------------
+install -d %{buildroot}%{_bindir}
+ln -s %{_datadir}/dist-git/setup_git_package %{buildroot}%{_bindir}/setup_git_package
+ln -s %{_datadir}/dist-git/mkbranch %{buildroot}%{_bindir}/mkbranch
+ln -s %{_datadir}/dist-git/mkbranch_branching %{buildroot}%{_bindir}/mkbranch_branching
+ln -s %{_datadir}/dist-git/remove_unused_sources %{buildroot}%{_bindir}/remove_unused_sources
+mv %{buildroot}%{_datadir}/dist-git/dist-git-gc %{buildroot}%{_bindir}/dist-git-gc
+
+# ------------------------------------------------------------------------------
+# SELinux
+# ------------------------------------------------------------------------------
+cd selinux
+for selinuxvariant in %{selinux_variants}
+do
+ install -d %{buildroot}%{_datadir}/selinux/${selinuxvariant}
+ install -p -m 644 %{modulename}.pp.${selinuxvariant} \
+ %{buildroot}%{_datadir}/selinux/${selinuxvariant}/%{modulename}.pp
+done
+cd -
+
+hardlink -cv %{buildroot}%{_datadir}/selinux
+
+%post selinux
+for selinuxvariant in %{selinux_variants}
+do
+ /usr/sbin/semodule -s ${selinuxvariant} -i \
+ %{_datadir}/selinux/${selinuxvariant}/%{modulename}.pp &> /dev/null || :
+done
+%{_sbindir}/restorecon -v %{installdir}/cache || :
+%{_sbindir}/restorecon -v %{installdir}/cache/lookaside || :
+%{_sbindir}/restorecon -v %{installdir}/cache/lookaside/pkgs || :
+%{_sbindir}/restorecon -v %{installdir}/git || :
+%{_sbindir}/restorecon -Rv %{installdir}/web/ || :
+
+%systemd_post dist-git.socket
+
+%preun
+%systemd_preun dist-git.socket
+
+%postun selinux
+if [ $1 -eq 0 ] ; then
+ for selinuxvariant in %{selinux_variants}
+ do
+ /usr/sbin/semodule -s ${selinuxvariant} -r %{modulename} &> /dev/null || :
+ done
+fi
+
+%systemd_postun dist-git.socket
+
+
+%files
+# ------------------------------------------------------------------------------
+# Docs
+# ------------------------------------------------------------------------------
+%license LICENSE
+%doc README.md
+
+# ------------------------------------------------------------------------------
+# /etc/ .......... config files
+# ------------------------------------------------------------------------------
+%dir %{_sysconfdir}/dist-git
+%config(noreplace) %{_sysconfdir}/dist-git/dist-git.conf
+%dir %{_sysconfdir}/httpd/conf.d/dist-git
+%config(noreplace) %{_sysconfdir}/httpd/conf.d/dist-git/*
+%config(noreplace) %{_sysconfdir}/httpd/conf.d/dist-git.conf
+
+%{_unitdir}/dist-git@.service
+%{_unitdir}/dist-git.socket
+%{_unitdir}/dist-git-gc.service
+%{_unitdir}/dist-git-gc.timer
+
+# ------------------------------------------------------------------------------
+# /var/lib/ ...... dynamic persistent files
+# ------------------------------------------------------------------------------
+
+# non-standard-dir-perm:
+# - git repositories and their contents must have w permission for their creators
+%dir %{installdir}
+%attr (2775, -, packager) %{installdir}/git
+%dir %{installdir}/web
+%attr (755, apache, apache) %{installdir}/web/upload.cgi
+%dir %{installdir}/cache
+%dir %{installdir}/cache/lookaside
+%attr (2775, apache, apache) %{installdir}/cache/lookaside/pkgs
+
+# ------------------------------------------------------------------------------
+# /usr/share ...... executable files
+# ------------------------------------------------------------------------------
+
+%dir %{_datadir}/dist-git
+%attr (775, -, -) %{_datadir}/dist-git/*
+
+
+%files selinux
+%doc selinux/*
+%{_datadir}/selinux/*/%{modulename}.pp
+%{_bindir}/*
+
+%changelog
+* Tue Jun 6 2023 lichaoran <pkwarcraft@hotmail.com> - 1.17-1
+- Init package
diff --git a/sources b/sources
new file mode 100644
index 0000000..08685bf
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+67a3e213d87e1dd9f74c30909ca7b07b dist-git-1.17.tar.gz