proper spec file format for designating systemd service files?

Robert P. J. Day rpjday at crashcourse.ca
Fri Mar 7 12:22:29 UTC 2014


  kind of a general fedora packaging question, so forgive me if this
sounds silly -- i'm still getting back into rpm stuff after years with
ubuntu.

  just noticed on my fully-updated f20 system that there are a few
systemd service files under /usr/lib/systemd/system that are marked
executable:

$ find . -type f -name "*.service" -perm /0111
./isdn.service
./pppoe-server.service
./wpa_supplicant.service
./capi.service
$

sure enough:

$ ls -l capi.service
-rwxr-xr-x. 1 root root 184 Aug  3  2013 capi.service
$

doesn't hurt, of course, just unnecessary. so being inherently
curious, i popped over to the package git repo:

http://pkgs.fedoraproject.org/cgit/isdn4k-utils.git/tree/

and took a look at the spec file to see what was happening:

http://pkgs.fedoraproject.org/cgit/isdn4k-utils.git/tree/isdn4k-utils.spec

and the relevant parts seem to be, first this at line 249:

# install isdn startup script
mkdir -p %{buildroot}%{_libexecdir}
install -m0755 %{SOURCE2} %{buildroot}%{_libexecdir}/isdn
install -m0755 -d %{buildroot}%{_unitdir}
install -m0644 %{SOURCE11} %{buildroot}%{_unitdir}/isdn.service
install -m0644 %{SOURCE8} %{buildroot}%{_unitdir}/capi.service

followed by this further down starting at line 299:

%files
%defattr(-,root,root,755)
%dir /etc/isdn
%dir /var/spool/vbox
%dir /var/log/vbox
%dir %{_datadir}/isdn
%dir %{_libdir}/capi
%verify(not md5 size mtime) %config(noreplace) /etc/isdn/*
%verify(not md5 size mtime) %config(noreplace) /etc/ppp/ioptions
%config(noreplace) /etc/ppp/peers/*
%config(noreplace) /etc/capi.conf
%config(noreplace) /etc/capi20.conf
%if 0%{?fedora} > 13 || 0%{?rhel} > 6
%{_libdir}/udev/rules.d/40-isdn.rules
%endif
%{_libdir}/pppd
%{_datadir}/isdn/*.dat
%{_datadir}/isdn/dest.cdb
%{_libdir}/*.so.*
%{_libdir}/capi/*.so.*
%defattr(755,root,root,755)    <---
%{_sbindir}/avmcapictrl
%{_sbindir}/hisaxctrl
%{_sbindir}/icnctrl
%{_sbindir}/isdnctrl
%{_sbindir}/pcbitctl
%{_libexecdir}/isdn
%{_unitdir}/isdn.service       <--- aha
%{_unitdir}/capi.service       <--- him, too
... snip ...

  based on what i see, it would *seem* to make more sense to move
those two lines further down the spec file, after line 340:

%defattr(644,root,root,755)
%doc COPYING README isdnlog/README.*
%doc isdnlog/tools/zone/de/01033/zred.dtag.bz2
%ghost %{_datadir}/isdn/zone-de-dtag.cdb
... snip ...

  does that make sense? as i said, not a big deal and certainly
doesn't affect operation, just wanting to clarify that i'm reading the
spec file correctly and understanding how it would have been written
properly.

  and if i'm right, tempted to BZ it just cuz.

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================


More information about the users mailing list