From b036021bfbedc8229ebb175e5d48feb1ef2af60133e50018a69101532e17fb6a Mon Sep 17 00:00:00 2001 From: Matwey Kornilov Date: Sun, 4 Jul 2021 18:33:05 +0000 Subject: [PATCH] Accepting request 902534 from home:matwey:branches:devel:languages:erlang:Factory - Use sysusers-tools to provide epmd user - Fix directories not owned by the package (boo#1187546) OBS-URL: https://build.opensuse.org/request/show/902534 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=113 --- epmd-user.conf | 1 + erlang.changes | 6 ++++++ erlang.spec | 35 ++++++++++++++++++++++++----------- 3 files changed, 31 insertions(+), 11 deletions(-) create mode 100644 epmd-user.conf diff --git a/epmd-user.conf b/epmd-user.conf new file mode 100644 index 0000000..eb94f93 --- /dev/null +++ b/epmd-user.conf @@ -0,0 +1 @@ +u epmd - "Erlang Port Mapper Daemon" /var/lib/epmd /bin/false diff --git a/erlang.changes b/erlang.changes index 7a493f9..8a47e2d 100644 --- a/erlang.changes +++ b/erlang.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Sat Jun 26 11:26:43 UTC 2021 - Matwey Kornilov + +- Use sysusers-tools to provide epmd user +- Fix directories not owned by the package (boo#1187546) + ------------------------------------------------------------------- Mon Jun 14 10:27:13 UTC 2021 - Callum Farmer diff --git a/erlang.spec b/erlang.spec index 52ef472..c9b586a 100644 --- a/erlang.spec +++ b/erlang.spec @@ -35,10 +35,12 @@ Source6: macros.erlang Source7: epmd.service Source8: epmd.socket Source9: README.SUSE +Source10: epmd-user.conf # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch0: otp-R16B-rpath.patch # PATCH-FIX-OPENSUSE erlang-not-install-misc.patch - matwey.kornilov@gmail.com -- patch from Fedora, this removes unneeded magic Patch4: erlang-not-install-misc.patch +BuildRequires: sysuser-tools BuildRequires: Mesa-devel BuildRequires: autoconf BuildRequires: dejavu-fonts @@ -99,7 +101,7 @@ RFC 6733. %package doc Summary: Erlang documentation -Recommends: %{name} = %{version} +Requires: %{name} = %{version} %description doc Documentation for Erlang. @@ -108,6 +110,7 @@ Documentation for Erlang. Summary: Erlang Port Mapper daemon Requires: %{name} = %{version} Requires(post): %fillup_prereq +%{sysusers_requires} %{?systemd_requires} %description epmd @@ -274,6 +277,8 @@ export CXXFLAGS=$CFLAGS # to build the docs, just compiled erlang is required PATH=$PWD/bin:$PATH %make_build docs +%sysusers_generate_pre %{SOURCE10} epmd epmd-user.conf + %install %make_install install-docs @@ -322,16 +327,16 @@ find . -name "start_erl*" | xargs chmod 755 # %%doc macro copies the files to the package doc dir, hardlinks thus don't work %fdupes -s erlang_doc -install -d -m 0750 %{buildroot}%{epmd_home} -install -d -m 0755 %{buildroot}%{_sbindir} +install -d -m 0750 %{buildroot}%{epmd_home} +install -d -m 0755 %{buildroot}%{_sbindir} install -D -m 0644 %{SOURCE7} %{buildroot}%{_unitdir}/epmd.service install -D -m 0644 %{SOURCE8} %{buildroot}%{_unitdir}/epmd.socket -ln -s service %{buildroot}%{_sbindir}/rcepmd +ln -s service %{buildroot}%{_sbindir}/rcepmd install -D -m 0644 %{SOURCE6} %{buildroot}%{_rpmmacrodir}/macros.erlang +mkdir -p %{buildroot}%{_sysusersdir} +install -m 0644 %{SOURCE10} %{buildroot}%{_sysusersdir} -%pre epmd -getent group epmd || %{_sbindir}/groupadd -r epmd -getent passwd epmd || %{_sbindir}/useradd -g epmd -s /bin/false -r -c "Erlang Port Mapper Daemon" -d %{epmd_home} epmd +%pre epmd -f epmd.pre %service_add_pre epmd.service epmd.socket %post epmd @@ -360,10 +365,13 @@ getent passwd epmd || %{_sbindir}/useradd -g epmd -s /bin/false -r -c "Erlang Po %exclude %{_libdir}/erlang/lib/*/src %exclude %{_libdir}/erlang/lib/*/c_src %exclude %{_libdir}/erlang/lib/*/java_src -%{_libdir}/erlang/bin/ +%dir %{_libdir}/erlang/bin/ +%{_libdir}/erlang/bin/* %exclude %{_libdir}/erlang/bin/dialyzer %exclude %{_libdir}/erlang/bin/epmd -%{_libdir}/erlang/erts-*/ +%dir %{_libdir}/erlang/erts-*/ +%dir %{_libdir}/erlang/erts-*/bin/ +%{_libdir}/erlang/erts-*/* %exclude %{_libdir}/erlang/erts-*/bin/dialyzer %exclude %{_libdir}/erlang/erts-*/bin/epmd %{_libdir}/erlang/lib/asn1-*/ @@ -408,11 +416,11 @@ getent passwd epmd || %{_sbindir}/useradd -g epmd -s /bin/false -r -c "Erlang Po %exclude %{_libdir}/erlang/lib/debugger-*/src %files dialyzer -%{_libdir}/erlang/lib/dialyzer-*/ -%exclude %{_libdir}/erlang/lib/dialyzer-*/src %{_bindir}/dialyzer %{_libdir}/erlang/bin/dialyzer %{_libdir}/erlang/erts-*/bin/dialyzer +%{_libdir}/erlang/lib/dialyzer-*/ +%exclude %{_libdir}/erlang/lib/dialyzer-*/src %files diameter %{_libdir}/erlang/lib/diameter-*/ @@ -436,12 +444,17 @@ getent passwd epmd || %{_sbindir}/useradd -g epmd -s /bin/false -r -c "Erlang Po %files epmd %{_bindir}/epmd +%dir %{_libdir}/erlang/ +%dir %{_libdir}/erlang/bin/ %{_libdir}/erlang/bin/epmd +%dir %{_libdir}/erlang/erts-*/ +%dir %{_libdir}/erlang/erts-*/bin/ %{_libdir}/erlang/erts-*/bin/epmd %dir %attr(-,epmd,epmd) %{epmd_home} %{_unitdir}/epmd.service %{_unitdir}/epmd.socket %{_sbindir}/rcepmd +%{_sysusersdir}/epmd-user.conf %files jinterface %{_libdir}/erlang/lib/jinterface-*/