Skip to content

Commit

Permalink
rpm: fix integration with systemd (missing sysconfig file) and pam/gr…
Browse files Browse the repository at this point in the history
…oupadd

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
  • Loading branch information
fabbione committed Dec 31, 2012
1 parent 88b2c2c commit 2e687dd
Show file tree
Hide file tree
Showing 7 changed files with 35 additions and 6 deletions.
1 change: 1 addition & 0 deletions Makefile.am
Expand Up @@ -90,6 +90,7 @@ $(SPEC): $(SPEC).in .version
$< > $@-t; \
fi; \
if [ -z "$$dirty" ]; then sed -i -e "s#%glo.*dirty.*##g" $@-t; fi
sed -i -e "s#@defaultadmgroup@#$(DEFAULTADMGROUP)#g" $@-t
chmod a-w $@-t
mv $@-t $@

Expand Down
7 changes: 6 additions & 1 deletion TODO
@@ -1,7 +1,12 @@
0.1
---

Check debian policy on /etc/pam.d/* install/usage

debian:
Check policy on /etc/pam.d/* install/usage
Make groupadd kronosnetadm silent and dynamic
systemd packaging in debian?
install /etc/default/kronosnetd

review locking handling policies (attempt locks vs deadlocks and so on)

Expand Down
7 changes: 7 additions & 0 deletions configure.ac
Expand Up @@ -161,6 +161,11 @@ AC_ARG_ENABLE([publicandocs],
[ --enable-publicandocs enable docs build. ],
[ default="no" ])

AC_ARG_WITH([initdefaultdir],
[ --with-initdefaultdir : path to /etc/sysconfig/.. or /etc/default dir. ],
[ INITDEFAULTDIR="$withval" ],
[ INITDEFAULTDIR="$sysconfdir/default" ])

AC_ARG_WITH([initddir],
[ --with-initddir=DIR : path to init script directory. ],
[ INITDDIR="$withval" ],
Expand Down Expand Up @@ -201,9 +206,11 @@ DEFAULT_CONFIG_DIR=${sysconfdir}/kronosnet
AM_CONDITIONAL([BUILD_DOCS], [test "x${enable_publicandocs}" = xyes])

AC_SUBST([DEFAULT_CONFIG_DIR])
AC_SUBST([INITDEFAULTDIR])
AC_SUBST([INITDDIR])
AC_SUBST([SYSTEMDDIR])
AC_SUBST([LOGDIR])
AC_SUBST([DEFAULTADMGROUP])

AC_DEFINE_UNQUOTED([DEFAULT_CONFIG_DIR],
["$(eval echo ${DEFAULT_CONFIG_DIR})"],
Expand Down
12 changes: 11 additions & 1 deletion init/Makefile.am
Expand Up @@ -8,10 +8,12 @@

MAINTAINERCLEANFILES = Makefile.in

EXTRA_DIST = kronosnetd.in kronosnetd.service.in
EXTRA_DIST = kronosnetd.in kronosnetd.service.in \
kronosnetd.default

systemdconfdir = $(SYSTEMDDIR)
systemdconf_DATA = kronosnetd.service

initscriptdir = $(INITDDIR)
initscript_SCRIPTS = kronosnetd

Expand All @@ -25,6 +27,14 @@ initscript_SCRIPTS = kronosnetd
> $@-t
mv $@-t $@

install-exec-local:
$(INSTALL) -d $(DESTDIR)/$(INITDEFAULTDIR)
$(INSTALL) -m 644 kronosnetd.default $(DESTDIR)/$(INITDEFAULTDIR)/kronosnetd

uninstall-local:
rm -f $(DESTDIR)/$(INITDEFAULTDIR)/kronosnetd
rmdir $(DESTDIR)/$(INITDEFAULTDIR) || :;

all-local: $(initscript_SCRIPTS) $(systemdconf_DATA)

clean-local:
Expand Down
3 changes: 3 additions & 0 deletions init/kronosnetd.default
@@ -0,0 +1,3 @@
# kronosnetd startup options (see man kronosnetd.8)

KNETD_OPTS=""
2 changes: 1 addition & 1 deletion init/kronosnetd.service.in
Expand Up @@ -14,7 +14,7 @@ After=network.target syslog.target
[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/kronosnetd
ExecStart=@SBINDIR@/kronosnetd
ExecStart=@SBINDIR@/kronosnetd $KNETD_OPTS

[Install]
WantedBy=multi-user.target
9 changes: 6 additions & 3 deletions kronosnet.spec.in
Expand Up @@ -38,10 +38,12 @@ BuildRequires: libqb-devel nss-devel pam-devel
%setup -q -n %{name}-%{version}%{?numcomm:.%{numcomm}}%{?alphatag:-%{alphatag}}%{?dirty:-%{dirty}}

%build
%{configure} \
--with-initdefaultdir=%{_sysconfdir}/sysconfig/ \
%if %{defined _unitdir}
%{configure} --with-systemddir=%{_unitdir}
--with-systemddir=%{_unitdir}
%else
%{configure} --with-initddir=%{_sysconfdir}/rc.d/init.d/
--with-initddir=%{_sysconfdir}/rc.d/init.d/
%endif

make %{_smp_mflags}
Expand Down Expand Up @@ -113,7 +115,7 @@ Requires: pam, /etc/pam.d/passwd
%else
/sbin/chkconfig --add kronosnetd
%endif
/usr/sbin/groupadd --force --system kronosnetadm
/usr/sbin/groupadd --force --system @defaultadmgroup@

%preun -n kronosnetd
%if %{defined _unitdir}
Expand All @@ -137,6 +139,7 @@ fi
%doc COPYING.* COPYRIGHT
%dir %{_sysconfdir}/kronosnet
%dir %{_sysconfdir}/kronosnet/*
%config(noreplace) %{_sysconfdir}/sysconfig/kronosnetd
%config(noreplace) %{_sysconfdir}/pam.d/kronosnetd
%config(noreplace) %{_sysconfdir}/logrotate.d/kronosnetd
%if %{defined _unitdir}
Expand Down

0 comments on commit 2e687dd

Please sign in to comment.