#18 Rearrange tmpfiles following packaging guidelines
Closed 2 years ago by sergiomb. Opened 2 years ago by sergiomb.
rpms/ sergiomb/clamav rawhide  into  rawhide

@@ -5,7 +5,7 @@ 

   Documentation=man:freshclam(1) man:freshclam.conf(5) https://www.clamav.net/documents

   # If user wants it run from cron, don't start the daemon.

  -ConditionPathExists=!/etc/cron.d/clamav-freshclam

- +ConditionPathExists=!/etc/cron.d/clamav-update

+ +# ConditionPathExists=!/etc/cron.d/clamav-update

   Wants=network-online.target

   After=network-online.target

   

file modified
+60 -74
@@ -4,7 +4,6 @@ 

  

  ## Fedora specific customization below...

  %bcond_without  clamonacc

- %bcond_without  tmpfiles

  %bcond_with     unrar

  %ifnarch ppc64

  %bcond_without  llvm
@@ -24,25 +23,26 @@ 

  %global have_ocaml  0

  %endif

  

- %{!?_rundir:%global _rundir /var/run}

- %{!?_unitdir:%global _unitdir /lib/systemd/system}

+ %{!?_rundir:%global _rundir /run}

+ %{!?_unitdir:%global _unitdir /usr/lib/systemd/system}

  

+ %global scanuser    clamscan

  %global updateuser  clamupdate

- %global homedir     %_var/lib/clamav

- %global freshclamlog    %_var/log/freshclam.log

  %global milteruser  clamilt

- %global milterlog   %_var/log/clamav-milter.log

- %global milterstatedir  %_rundir/clamav-milter

- %global pkgdatadir  %_datadir/%name

- %global quarantinedir %_var/spool/quarantine

- %global scanuser    clamscan

+ 

+ %global homedir         %_var/lib/clamav

  %global scanstatedir    %_rundir/clamd.scan

+ %global quarantinedir   %_var/spool/quarantine

+ %global milterstatedir  %_rundir/clamav-milter

  

+ %global pkgdatadir  %_datadir/%name

+ %global freshclamlog    %_var/log/freshclam.log

+ %global milterlog   %_var/log/clamav-milter.log

  

  Summary:    End-user tools for the Clam Antivirus scanner

  Name:       clamav

  Version:    0.103.3

- Release:    3%{?dist}

+ Release:    4%{?dist}

  License:    %{?with_unrar:proprietary}%{!?with_unrar:GPLv2}

  URL:        https://www.clamav.net/

  %if %{with unrar}
@@ -272,7 +272,6 @@ 

  

  %build

  # add -Wl,--as-needed if not exist

- echo %{?__global_ldflags} | sed '/-Wl,--as-needed/!s/$/ -Wl,--as-needed/'

  export LDFLAGS=$(echo %{?__global_ldflags} | sed '/-Wl,--as-needed/!s/$/ -Wl,--as-needed/')

  # IPv6 check is buggy and does not work when there are no IPv6 interface on build machine

  export have_cv_ipv6=yes
@@ -312,45 +311,17 @@ 

  %make_install

  

  install -d -m 0755 \

-     $RPM_BUILD_ROOT%_sysconfdir/{mail,clamd.d,logrotate.d} \

      $RPM_BUILD_ROOT%_tmpfilesdir \

-     $RPM_BUILD_ROOT%_rundir \

-     $RPM_BUILD_ROOT%_var/log \

-     $RPM_BUILD_ROOT%milterstatedir \

      $RPM_BUILD_ROOT%homedir \

-     $RPM_BUILD_ROOT%quarantinedir \

-     $RPM_BUILD_ROOT%scanstatedir

+     $RPM_BUILD_ROOT%quarantinedir

  

  rm -f $RPM_BUILD_ROOT%_libdir/*.la

  

- touch $RPM_BUILD_ROOT%homedir/{daily,main,bytecode}.cld

- touch $RPM_BUILD_ROOT%homedir/mirrors.dat

- 

+ ### data

  install -D -m 0644 -p %SOURCE10     $RPM_BUILD_ROOT%homedir/main.cvd

  install -D -m 0644 -p %SOURCE11     $RPM_BUILD_ROOT%homedir/daily.cvd

  install -D -m 0644 -p %SOURCE12     $RPM_BUILD_ROOT%homedir/bytecode.cvd

  

- ## prepare the clamd-files

- install -D -m 0644 -p %SOURCE3      _doc_server/clamd.logrotate

- install -D -m 0644 -p %SOURCE5      _doc_server/README

- ## Fixup URL for EPEL

- %{?epel:sed -i -e s/product=Fedora/product=Fedora%20EPEL/ _doc_server/README}

- 

- ## For compatibility with 0.102.2-7

- ln -s clamav-clamonacc.service      $RPM_BUILD_ROOT%_unitdir/clamonacc.service

- 

- install -D -p -m 0644 %SOURCE530    $RPM_BUILD_ROOT%_unitdir/clamd@.service

- 

- ## prepare the update-files

- install -D -m 0644 -p %SOURCE203    $RPM_BUILD_ROOT%_sysconfdir/logrotate.d/clamav-update

- touch $RPM_BUILD_ROOT%freshclamlog

- 

- %if %{with old_freshclam}

- install -D -p -m 0755 %SOURCE200    $RPM_BUILD_ROOT%pkgdatadir/freshclam-sleep

- install -D -p -m 0644 %SOURCE201    $RPM_BUILD_ROOT%_sysconfdir/sysconfig/freshclam

- install -D -p -m 0600 %SOURCE202    $RPM_BUILD_ROOT%_sysconfdir/cron.d/clamav-update

- %endif

- 

  ### The freshclam stuff

  sed -ri \

      -e 's!^Example!#Example!' \
@@ -362,6 +333,13 @@ 

  chmod 600 $RPM_BUILD_ROOT%_sysconfdir/freshclam.conf

  

  %if %{with old_freshclam}

+ install -d -m 0755 $RPM_BUILD_ROOT%_var/log

+ install -d -m 0755 $RPM_BUILD_ROOT%_sysconfdir/logrotate.d

+ install -D -p -m 0755 %SOURCE200    $RPM_BUILD_ROOT%pkgdatadir/freshclam-sleep

+ install -D -p -m 0644 %SOURCE201    $RPM_BUILD_ROOT%_sysconfdir/sysconfig/freshclam

+ install -D -p -m 0600 %SOURCE202    $RPM_BUILD_ROOT%_sysconfdir/cron.d/clamav-update

+ install -D -m 0644 -p %SOURCE203    $RPM_BUILD_ROOT%_sysconfdir/logrotate.d/clamav-update

+ 

  function smartsubst() {

      local tmp

      local regexp=$1
@@ -383,6 +361,16 @@ 

  %endif

  

  ### The scanner stuff

+ install -D -m 0644 -p %SOURCE3      _doc_server/clamd.logrotate

+ install -D -m 0644 -p %SOURCE5      _doc_server/README

+ ## Fixup URL for EPEL

+ %{?epel:sed -i -e s/product=Fedora/product=Fedora%20EPEL/ _doc_server/README}

+ 

+ ## For compatibility with 0.102.2-7

+ ln -s clamav-clamonacc.service      $RPM_BUILD_ROOT%_unitdir/clamonacc.service

+ 

+ install -D -p -m 0644 %SOURCE530    $RPM_BUILD_ROOT%_unitdir/clamd@.service

+ 

  sed -ri \

      -e 's!^Example!#Example!' \

      -e 's!^#?(LogFile ).*!#\1/var/log/clamd.<SERVICE>!g' \
@@ -393,6 +381,7 @@ 

      -e 's! /usr/local/share/clamav,! %homedir,!g' \

      $RPM_BUILD_ROOT%_sysconfdir/clamd.conf.sample

  

+ install -d -m 0755 $RPM_BUILD_ROOT%_sysconfdir/clamd.d

  sed -e 's!<SERVICE>!scan!g;s!<USER>!%scanuser!g' \

      $RPM_BUILD_ROOT%_sysconfdir/clamd.conf.sample > $RPM_BUILD_ROOT%_sysconfdir/clamd.d/scan.conf

  
@@ -412,6 +401,7 @@ 

      -e 's! /tmp/clamav-milter.log! %milterlog!g' \

      $RPM_BUILD_ROOT%_sysconfdir/clamav-milter.conf.sample

  

+ install -d -m 0755 $RPM_BUILD_ROOT%_sysconfdir/mail

  mv $RPM_BUILD_ROOT%_sysconfdir/clamav-milter.conf.sample $RPM_BUILD_ROOT%_sysconfdir/mail/clamav-milter.conf

  

  install -D -p -m 0644 %SOURCE330 $RPM_BUILD_ROOT%_unitdir/clamav-milter.service
@@ -420,8 +410,6 @@ 

  d %milterstatedir 0710 %milteruser %milteruser

  EOF

  

- %{!?with_tmpfiles: rm -rf $RPM_BUILD_ROOT%_tmpfilesdir}

- 

  # TODO: Evaluate using upstream's unit with clamav-daemon.socket

  rm $RPM_BUILD_ROOT%_unitdir/clamav-daemon.*

  
@@ -463,7 +451,6 @@ 

  [ -L /etc/systemd/system/multi-user.target.wants/clamd@scan.service ] &&

      ln -sf /usr/lib/systemd/system/clamd@.service /etc/systemd/system/multi-user.target.wants/clamd@scan.service || :

  %systemd_post clamd@scan.service

- %{?with_tmpfiles:/bin/systemd-tmpfiles --create %_tmpfilesdir/clamd.scan.conf || :}

  

  %preun -n clamd

  %systemd_preun clamd@scan.service
@@ -493,7 +480,6 @@ 

      ! test -x /sbin/restorecon || /sbin/restorecon %milterlog

  }

  %systemd_post clamav-milter.service

- %{?with_tmpfiles:/bin/systemd-tmpfiles --create %_tmpfilesdir/clamav-milter.conf || :}

  

  %preun milter

  %systemd_preun clamav-milter.service
@@ -509,13 +495,13 @@ 

      %__chown root:%updateuser %freshclamlog

      ! test -x /sbin/restorecon || /sbin/restorecon %freshclamlog

  }

- %else

- if [ $1 -eq 2 ] ; then

-    echo "Warning: clamav-update package changed"

-    echo "Now we provide clamav-freshclam.service systemd unit instead old scripts and the cron.d entry."

-    echo "Unfortunately this may break existing unattended installations."

-    echo "Please run 'systemctl enable clamav-freshclam --now' to enable freshclam updates again."

- fi

+ #%%else

+ #if [ $1 -eq 2 ] ; then

+ #   echo "Warning: clamav-update package changed"

+ #   echo "Now we provide clamav-freshclam.service systemd unit instead old scripts and the cron.d entry."

+ #   echo "Unfortunately this may break existing unattended installations."

+ #   echo "Please run 'systemctl enable clamav-freshclam --now' to enable freshclam updates again."

+ #fi

  %endif

  %systemd_post clamav-freshclam.service

  
@@ -590,11 +576,14 @@ 

  %pkgdatadir/freshclam-sleep

  %config(noreplace) %_sysconfdir/cron.d/clamav-update

  %config(noreplace) %_sysconfdir/sysconfig/freshclam

- %endif

- %config(noreplace) %verify(not mtime)    %_sysconfdir/logrotate.d/*

+ %config(noreplace) %verify(not mtime)  %_sysconfdir/logrotate.d/*

+ # freshclamlog file is created in post

  %ghost %attr(0664,root,%updateuser) %verify(not size md5 mtime) %freshclamlog

- %ghost %attr(0664,%updateuser,%updateuser) %homedir/*.cld

- %ghost %attr(0664,%updateuser,%updateuser) %homedir/mirrors.dat

+ %endif

+ %ghost %attr(0664,%updateuser,%updateuser) %homedir/main.cvd

+ %ghost %attr(0664,%updateuser,%updateuser) %homedir/freshclam.dat

+ %ghost %attr(0664,%updateuser,%updateuser) %homedir/daily.cld

+ %ghost %attr(0664,%updateuser,%updateuser) %homedir/bytecode.cld

  

  

  %files -n clamd
@@ -603,35 +592,32 @@ 

  %_mandir/man8/clamd.8*

  %_sbindir/clamd

  %_unitdir/clamd@.service

- 

- %ghost %scanstatedir/clamd.sock

- %if %{with tmpfiles}

-   %_tmpfilesdir/clamd.scan.conf

-   %ghost %dir %attr(0710,%scanuser,virusgroup) %scanstatedir

- %else

-   %dir %attr(0710,%scanuser,virusgroup) %scanstatedir

- %endif

+ %_tmpfilesdir/clamd.scan.conf

  

  

  %files milter

  %doc clamav-milter/README.fedora

  %_sbindir/*milter*

+ %_unitdir/clamav-milter.service

  %_mandir/man8/clamav-milter*

  %dir %_sysconfdir/mail

  %config(noreplace) %_sysconfdir/mail/clamav-milter.conf

+ # milterlog file is created in post

  %ghost %attr(0620,root,%milteruser) %verify(not size md5 mtime) %milterlog

- %ghost %milterstatedir/clamav-milter.socket

- 

- %if %{with tmpfiles}

-   %_tmpfilesdir/clamav-milter.conf

-   %ghost %dir %attr(0710,%milteruser,%milteruser) %milterstatedir

- %else

-   %dir %attr(0710,%milteruser,%milteruser) %milterstatedir

- %endif

- %_unitdir/clamav-milter.service

+ %_tmpfilesdir/clamav-milter.conf

  

  

  %changelog

+ * Sat Aug 14 2021 Sérgio Basto <sergio@serjux.com> - 0.103.3-4

+ - Rearrange tmpfiles following packaging guidelines

+   https://docs.fedoraproject.org/en-US/packaging-guidelines/Tmpfiles.d/

+   not running systemd-tmpfiles on post

+ - Drop build without tmpfiles because we don't have Systemd without tmpfiles

+ - not ghost .socket files they are tmptifles

+ - Rearrange some files of milter package

+ - Move to old_freshclam files %_sysconfdir/logrotate.d/* and %freshclamlog

+ - Drop ConditionPathExists doesn't work as we expect

+ 

  * Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.103.3-3

  - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

  

file modified
+2
@@ -1,3 +1,5 @@ 

+ Update 2021: Log to syslog is obsolete, journalctl superseded it

+ 

    By default, clamd provides a general "scan" service that requires minimal

  configuration.  To configure, edit /etc/clamd/scan.conf and:

  

rebased onto 65bfd829ad208ca412f1043002aaa1fe8dd9e2c8

2 years ago

rebased onto 9c0bb72baa554f3cbf70499d9a2e276ef261834b

2 years ago

2 new commits added

  • Rearrange some files of milter package
  • Drop ConditionPathExists doesn't work as we expect
2 years ago

rebased onto facac98

2 years ago

this is last version that I intend to merge soon

I think not running /bin/systemd-tmpfiles --create %_tmpfilesdir/clamd.scan.conf on post can fix https://bugzilla.redhat.com/show_bug.cgi?id=1821973#c2

Other things is just simplify creation of files and directories , forgot case withou tmpfiles and not %ghost files of tmpfiles

Pull-Request has been closed by sergiomb

2 years ago