Accepting request 457437 from home:kukuk:sysusers
Initial tool package for the new system user proposal OBS-URL: https://build.opensuse.org/request/show/457437 OBS-URL: https://build.opensuse.org/package/show/Base:System/sysuser-tools?expand=0&rev=1
This commit is contained in:
commit
20ab9219b9
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal 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
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
20
macros.sysusers
Normal file
20
macros.sysusers
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# -*- Mode: makefile; indent-tabs-mode: t -*- */
|
||||||
|
# RPM macros for packages creating system accounts
|
||||||
|
#
|
||||||
|
###
|
||||||
|
#
|
||||||
|
# When a package creates a system account, it should use the following macros:
|
||||||
|
#
|
||||||
|
# add %sysusers_requires in the package section
|
||||||
|
#
|
||||||
|
# add "%sysusers_generate_pre <source file> <account>" to build section
|
||||||
|
#
|
||||||
|
# add "%pre -f <account>.pre" to spec file
|
||||||
|
#
|
||||||
|
###
|
||||||
|
|
||||||
|
# This is for systemctl
|
||||||
|
%sysusers_requires Requires(pre): systemd
|
||||||
|
|
||||||
|
%sysusers_generate_pre() \
|
||||||
|
%{_prefix}/lib/rpm/sysusers-generate-pre "%1" > "%2".pre
|
10
sysuser-tools.changes
Normal file
10
sysuser-tools.changes
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jan 20 13:04:51 CET 2017 - kukuk@suse.de
|
||||||
|
|
||||||
|
- Add macros.sysusers
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Dec 21 16:09:05 UTC 2016 - lnussel@suse.de
|
||||||
|
|
||||||
|
- initial package
|
||||||
|
|
52
sysuser-tools.spec
Normal file
52
sysuser-tools.spec
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
#
|
||||||
|
# spec file for package sysuser-tools
|
||||||
|
#
|
||||||
|
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||||
|
#
|
||||||
|
# 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 http://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
Name: sysuser-tools
|
||||||
|
Version: 1.1
|
||||||
|
Release: 0
|
||||||
|
Summary: Auto provides for system users
|
||||||
|
License: MIT
|
||||||
|
Group: System/Packages
|
||||||
|
Source: sysusers.prov
|
||||||
|
Source1: sysusers.attr
|
||||||
|
Source2: sysusers-generate-pre
|
||||||
|
Source3: macros.sysusers
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description
|
||||||
|
Generate auto provides for system users.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -qcT
|
||||||
|
|
||||||
|
%build
|
||||||
|
|
||||||
|
%install
|
||||||
|
install -D -m 755 %{SOURCE0} %{buildroot}%{_prefix}/lib/rpm/sysusers.prov
|
||||||
|
install -D -m 644 %{SOURCE1} %{buildroot}%{_prefix}/lib/rpm/fileattrs/sysusers.attr
|
||||||
|
install -D -m 755 %{SOURCE2} %{buildroot}%{_prefix}/lib/rpm/sysusers-generate-pre
|
||||||
|
install -D -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/rpm/macros.sysusers
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%{_sysconfdir}/rpm/macros.sysusers
|
||||||
|
%{_prefix}/lib/rpm/sysusers.prov
|
||||||
|
%{_prefix}/lib/rpm/fileattrs/sysusers.attr
|
||||||
|
%{_prefix}/lib/rpm/sysusers-generate-pre
|
||||||
|
|
||||||
|
%changelog
|
24
sysusers-generate-pre
Normal file
24
sysusers-generate-pre
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# pass systemd sysusers config files a as argument to this script.
|
||||||
|
# It will output a shell script that creates those users by
|
||||||
|
# appending the data to itself.
|
||||||
|
|
||||||
|
tmpfile=`mktemp -q -t sysusers.XXXXXX`
|
||||||
|
cleanup()
|
||||||
|
{
|
||||||
|
rm -f "$tmpfile"
|
||||||
|
}
|
||||||
|
|
||||||
|
trap cleanup EXIT
|
||||||
|
|
||||||
|
for i in "$@"; do
|
||||||
|
grep -e '^[ug]' "$i" >> "$tmpfile"
|
||||||
|
done
|
||||||
|
|
||||||
|
lines=`wc -l < "$tmpfile"`
|
||||||
|
|
||||||
|
echo '#!/bin/bash'
|
||||||
|
echo "tail -n $lines \$0 | /usr/bin/systemd-sysusers - || :"
|
||||||
|
echo "exit 0"
|
||||||
|
echo '######## data below ########'
|
||||||
|
cat "$tmpfile"
|
2
sysusers.attr
Normal file
2
sysusers.attr
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
%__sysusers_provides %{_rpmconfigdir}/sysusers.prov
|
||||||
|
%__sysusers_path ^%{_prefix}/lib/sysusers.d/.*\\.conf$
|
20
sysusers.prov
Normal file
20
sysusers.prov
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
parse()
|
||||||
|
{
|
||||||
|
while read line; do
|
||||||
|
[ "${line:0:1}" != '#' ] || continue
|
||||||
|
line="${line## *}"
|
||||||
|
[ -n "$line" ] || continue
|
||||||
|
set -- $line
|
||||||
|
if [ "$1" = 'g' ]; then
|
||||||
|
echo "group($2)"
|
||||||
|
elif [ "$1" = 'u' ]; then
|
||||||
|
echo "user($2)"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
while read fn; do
|
||||||
|
parse < "$fn"
|
||||||
|
done
|
Loading…
Reference in New Issue
Block a user