Sync from SUSE:SLFO:Main permissions revision c1d3efa6339f33945a86a8103df2c662

This commit is contained in:
Adrian Schröter 2024-05-03 19:18:56 +02:00
commit 8520b57cc1
8 changed files with 2296 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

12
_service Normal file
View File

@ -0,0 +1,12 @@
<services>
<service name="tar_scm" mode="disabled">
<param name="url">https://github.com/openSUSE/permissions.git</param>
<param name="scm">git</param>
<param name="versionformat">%cd</param>
<param name="changesgenerate">enable</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
</services>

4
_servicedata Normal file
View File

@ -0,0 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/openSUSE/permissions.git</param>
<param name="changesrevision">a1c704b3270658924bfb24991952e01f44206876</param></service></servicedata>

6
fix_version.sh Normal file
View File

@ -0,0 +1,6 @@
#!/bin/sh
version=`date '+%Y%m%d'`
echo "setting version to ${version}"
sed -E -i -e "s/^%define VERSION_DATE [0-9]+/%define VERSION_DATE ${version}/" permissions.spec

BIN
permissions-20240206.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

2108
permissions.changes Normal file

File diff suppressed because it is too large Load Diff

5
permissions.rpmlintrc Normal file
View File

@ -0,0 +1,5 @@
# the base package needs to have Arch, otherwise we get no -source and
# -debuginfo package (which we need for the chkstat sub package)
addFilter("no-binary")
# it's hard not to repeat "permissions" in the summary
addFilter("name-repeated-in-summary")

135
permissions.spec Normal file
View File

@ -0,0 +1,135 @@
#
# spec file for package permissions
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define VERSION_DATE 20240206
Name: permissions
Version: %{suse_version}_%{VERSION_DATE}
Release: 0
Summary: SUSE Linux Default Permissions
# Maintained in github by the security team.
License: GPL-2.0-or-later
Group: Productivity/Security
URL: http://github.com/openSUSE/permissions
Source: permissions-%{VERSION_DATE}.tar.xz
Source1: fix_version.sh
Source2: permissions.rpmlintrc
BuildRequires: gcc-c++
BuildRequires: libcap-devel
BuildRequires: libcap-progs
BuildRequires: python-rpm-macros
BuildRequires: tclap
# test suite
BuildRequires: python3-base
Requires: chkstat
Requires: permissions-config
Provides: aaa_base:%{_datadir}/permissions
%prep
%autosetup -n permissions-%{VERSION_DATE}
%build
make %{?_smp_mflags} CXXFLAGS="%{optflags}"
%install
%make_install fillupdir=%{_fillupdir}
# Fix shebang in scripts: Remove dependency on /usr/bin/python3,
# making scripts to depends on the real python3 binary, not the link.
# (bsc#1212476)
for f in %{buildroot}/usr/lib/zypp/plugins/commit/*
do
[ -f $f ] && sed -i "1s@#\!.*python.*@#\!$(realpath %__python3)@" $f
done
%check
# will fail on qemu with unshare: unshare failed: Invalid argument
%if !0%{?qemu_user_space_build}
tests/regtest.py --skip-make > /dev/null
%endif
%description
File and directory permission settings depending on the local security
settings. The local security setting ("easy", "secure", or "paranoid") can be
configured in /etc/sysconfig/security.
This package does not contain files, it just requires the necessary packages.
%files
%package config
Summary: SUSE Linux Default Permissions config files
Group: Productivity/Security
Requires(post): %fillup_prereq
Requires(post): chkstat
#!BuildIgnore: group(trusted)
Requires(pre): group(trusted)
Obsoletes: permissions-doc <= %{suse_version}_%{VERSION_DATE}
BuildArch: noarch
%description config
The actual permissions configuration files, /usr/share/permissions/permission.*.
%files config
%defattr(644, root, root, 755)
%dir %{_datadir}/permissions
%dir %{_datadir}/permissions/permissions.d
%{_datadir}/permissions/permissions
%{_datadir}/permissions/permissions.easy
%{_datadir}/permissions/permissions.secure
%{_datadir}/permissions/permissions.paranoid
%{_datadir}/permissions/variables.conf
%config(noreplace) %{_sysconfdir}/permissions.local
%{_fillupdir}/sysconfig.security
%{_mandir}/man5/permissions.5%{ext_man}
%post config
%{fillup_only -n security}
# apply all potentially changed permissions
%{_bindir}/chkstat --system || :
%package -n chkstat
Summary: SUSE Linux Default Permissions tool
Group: Productivity/Security
%description -n chkstat
Tool to check and set file permissions.
%files -n chkstat
%{_bindir}/chkstat
%{_mandir}/man8/chkstat.8%{ext_man}
%package -n permissions-zypp-plugin
BuildArch: noarch
Requires: permissions = %{version}
Requires: python3-zypp-plugin
Requires: libzypp(plugin:commit) = 1
Summary: A zypper commit plugin for calling chkstat
Group: Productivity/Security
%description -n permissions-zypp-plugin
This package contains a plugin for zypper that calls `chkstat --system` after
new packages have been installed. This is helpful for maintaining custom
entries in /etc/permissions.local.
%files -n permissions-zypp-plugin
%dir /usr/lib/zypp
%dir /usr/lib/zypp/plugins
%dir /usr/lib/zypp/plugins/commit
/usr/lib/zypp/plugins/commit/permissions.py
%changelog