Hello community,

here is the log from the commit of package aaa_base for openSUSE:Factory 
checked in at 2014-04-06 09:54:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/aaa_base (Old)
 and      /work/SRC/openSUSE:Factory/.aaa_base.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "aaa_base"

Changes:
--------
--- /work/SRC/openSUSE:Factory/aaa_base/aaa_base.changes        2014-03-11 
17:25:39.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.aaa_base.new/aaa_base.changes   2014-04-06 
09:54:06.000000000 +0200
@@ -11,0 +12,6 @@
+Mon Mar  3 13:59:54 UTC 2014 - [email protected]
+
+- move tmp file removal parameters from cron to systemd (fate#314974)
+  fate-314974.patch
+
+-------------------------------------------------------------------

New:
----
  fate-314974.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ aaa_base.spec ++++++
--- /var/tmp/diff_new_pack.mfAYXC/_old  2014-04-06 09:54:07.000000000 +0200
+++ /var/tmp/diff_new_pack.mfAYXC/_new  2014-04-06 09:54:07.000000000 +0200
@@ -55,6 +55,7 @@
 #
 Source1:        README.packaging.txt
 Source99:       aaa_base-rpmlintrc
+Patch1:         fate-314974.patch
 
 %description
 This package installs several important configuration files and central 
scripts.
@@ -83,6 +84,8 @@
 
 %prep
 %setup -q
+%patch1 -p1
+chmod 755 files/usr/bin/systemd-tmpfiles-keep
 
 %build
 make CFLAGS="$RPM_OPT_FLAGS" CC="%{__cc}" %{?_smp_mflags}
@@ -191,6 +194,7 @@
 /usr/bin/safe-rm
 /usr/bin/safe-rmdir
 /usr/bin/setJava
+/usr/bin/systemd-tmpfiles-keep
 /usr/lib/restricted/bin/hostname
 /usr/sbin/Check
 /usr/sbin/sysconf_addword

++++++ aaa_base-13.2+git20140310.a57750d.tar.xz ++++++

++++++ fate-314974.patch ++++++
diff -Naur orig/aaa_base.pre mod/aaa_base.pre
--- orig/aaa_base.pre   2013-10-08 12:09:34.632146253 +0200
+++ mod/aaa_base.pre    2014-03-05 12:31:28.000000000 +0100
@@ -237,3 +237,147 @@
 if test -f /root/.gnupg/secring.gpg ; then
   cp -a /root/.gnupg/secring.gpg /root/.gnupg/secring.gpg.aaa_save
 fi
+
+# fate 314974: port tmpdir removal parameters from /etc/sysconfig/cron to 
/etc/tmpfiles.d/tmp.conf
+# we don't take action if /etc/sysconfig/cron is not present
+if [ -f /etc/sysconfig/cron ]; then
+   . /etc/sysconfig/cron
+
+# we need at least a skeleton of tmp.conf
+   if [ ! -f /etc/tmpfiles.d/tmp.conf ]; then
+      if [ -f /usr/lib/tmpfiles.d/tmp.conf ]; then
+         cp /usr/lib/tmpfiles.d/tmp.conf /etc/tmpfiles.d/tmp.conf
+      else
+         echo "#  This file is part of systemd.
+               #
+               #  systemd is free software; you can redistribute it and/or 
modify it
+               #  under the terms of the GNU Lesser General Public License as 
published by
+               #  the Free Software Foundation; either version 2.1 of the 
License, or
+               #  (at your option) any later version.
+
+               # See tmpfiles.d(5) for details
+
+               # Clear tmp directories separately, to make them easier to 
override
+               # SUSE policy: we don't clean those directories
+               d /tmp 1777 root root -
+               d /var/tmp 1777 root root -
+               #"  | sed 's/^ *//g' > /etc/tmpfiles.d/tmp.conf
+      fi
+   fi
+
+# transform settings from /etc/sysconfig/cron to /etc/tmpfiles.d/tmp.conf
+   if [ "${#MAX_DAYS_IN_TMP}" -gt 0 ] || [ "${#TMP_DIRS_TO_CLEAR}" -gt 0 ]; 
then
+      ISINTTMP=`test "$MAX_DAYS_IN_TMP" -eq "$MAX_DAYS_IN_TMP" 2>/dev/null ; 
echo $?`
+      if [ "$ISINTTMP" -eq 0 ]; then
+         for DIR in $TMP_DIRS_TO_CLEAR; do
+            DIRENT=`sed -n "\c^d $DIR cp" /etc/tmpfiles.d/tmp.conf`
+            if [ -n "$DIRENT" ]; then
+               AGE=`echo $DIRENT | cut -d " " -f 6`
+                  if [ $AGE == "-" ] && [ "$MAX_DAYS_IN_TMP" -gt 0 ]; then
+                     MODENT+=`sed -n "\c^d $DIR cs/-/"$MAX_DAYS_IN_TMP"d/p" 
/etc/tmpfiles.d/tmp.conf | sed 's/^d/\\\nd/'`
+                  else
+                     MODENT+=`echo $DIRENT | sed 's/^d/\\\nd/'`
+                  fi
+            elif [ "$MAX_DAYS_IN_TMP" -gt 0 ]; then
+               MODENT+=`echo "\nd $DIR 1777 root root "$MAX_DAYS_IN_TMP"d"`
+            elif [ "$MAX_DAYS_IN_TMP" -eq 0 ]; then
+               MODENT+=`echo "\nd $DIR 1777 root root -"`
+            fi
+         done
+         if [ ${#TMP_DIRS_TO_CLEAR} -eq 0 ] && [ "$MAX_DAYS_IN_TMP" -gt 0 ]; 
then
+            MODENT+=`echo "\nd /tmp 1777 root root "$MAX_DAYS_IN_TMP"d"`
+         fi
+      fi
+   fi
+
+   if [ -n "$MAX_DAYS_IN_LONG_TMP" ] || [ -n  "$LONG_TMP_DIRS_TO_CLEAR" ]; then
+      ISINTTMP=`test $MAX_DAYS_IN_LONG_TMP -eq $MAX_DAYS_IN_LONG_TMP 
2>/dev/null ; echo $?`
+      if [ "$ISINTTMP" -eq 0 ]; then
+         for DIR in $LONG_TMP_DIRS_TO_CLEAR; do
+            DIRENT=`sed -n "\c^d $DIR cp" /etc/tmpfiles.d/tmp.conf`
+            if [ -n "$DIRENT" ]; then
+               AGE=`echo $DIRENT | cut -d " " -f 6`
+                  if [ $AGE == "-" ] && [ "$MAX_DAYS_IN_LONG_TMP" -gt 0 ]; then
+                     MODENT+=`sed -n "\c^d $DIR 
cs/-/"$MAX_DAYS_IN_LONG_TMP"d/p" /etc/tmpfiles.d/tmp.conf | sed 's/^d/\\\nd/'`
+                  else
+                     MODENT+=`echo $DIRENT | sed 's/^d/\\\nd/'`
+                  fi
+            elif [ "$MAX_DAYS_IN_LONG_TMP" -gt 0 ]; then
+               MODENT+=`echo "\nd $DIR 1777 root root 
"$MAX_DAYS_IN_LONG_TMP"d"`
+            elif [ "$MAX_DAYS_IN_TMP" -eq 0 ]; then
+               MODENT+=`echo "\nd $DIR 1777 root root -"`
+            fi
+         done
+      fi
+   fi
+
+# keep additional directory entries that are already present in tmp.conf
+   for ENTRY in `sed -n '/^d\ \//p' /etc/tmpfiles.d/tmp.conf | cut -d " " -f 
2`; do
+       if [[ ! "$MODENT" =~ "d $ENTRY " ]]; then
+           MODENT+=`sed -n "\c^d $ENTRY cp" /etc/tmpfiles.d/tmp.conf | sed 
's/^d/\\\nd/'`
+        fi
+   done
+
+   sed -e '/^d\ \//d' -e '/^R\ \//d' -e '/# Clear tmp directories/,+2d' 
/etc/tmpfiles.d/tmp.conf | sed -re '$!N;/^\n$/!P;D' > 
/etc/tmpfiles.d/tmp.conf.tmp
+   echo -e "\n# Clear tmp directories separately, to make them easier to 
override" >>/etc/tmpfiles.d/tmp.conf.tmp
+   echo "# SUSE policy: we don't clean those directories" 
>>/etc/tmpfiles.d/tmp.conf.tmp
+   echo -e "$MODENT" >> /etc/tmpfiles.d/tmp.conf.tmp
+
+# address directories to be cleared at system boot
+   : ${TMP_DIRS_TO_CLEAR:=/tmp}
+   : ${CLEAR_TMP_DIRS_AT_BOOTUP:=no}
+   REMENT=`sed -n '/^R\ \//s/^/ /p' /etc/tmpfiles.d/tmp.conf`
+   CLEAR_DIRS="$TMP_DIRS_TO_CLEAR"
+   if [ "${CLEAR_TMP_DIRS_AT_BOOTUP:0:1}" == "/" ]; then
+      CLEAR_DIRS="$CLEAR_TMP_DIRS_AT_BOOTUP"
+      CLEAR_TMP_DIRS_AT_BOOTUP=yes
+   fi
+   if test "$CLEAR_TMP_DIRS_AT_BOOTUP" = yes; then
+      for DIR in $CLEAR_DIRS; do
+         if [[ ! "$REMENT" =~ "R $DIR/*" ]]; then
+            REMENT+=`echo " R $DIR/*"` 
+         fi
+      done
+   fi
+   echo -e "$REMENT" | sed -e 's/ R/\nR/g' | sed '/^$/d' >> 
/etc/tmpfiles.d/tmp.conf.tmp
+
+# take care of ownerkeep parameters
+# owner based keeping of files is not implemented in systemd, so we need to 
run a script
+# that creates keep entries before each scheduled removal run
+   OWNER_TO_KEEP_IN_TMP=`sed -n '/^OWNER_TO_KEEP_IN_TMP/p' /etc/sysconfig/cron`
+   if [ ${#OWNER_TO_KEEP_IN_TMP} -gt 0 ]; then
+      TMPDIR_TO_SEARCH_OWNER=`sed -n 
's/^TMP_DIRS_TO_CLEAR/TMPDIR_TO_SEARCH_OWNER/p' /etc/sysconfig/cron`
+
+      echo "
+      #########Moved sysconfig variables, do not delete leading 
hashes!#########
+      ## Type:        string
+      ## Default:     root
+      #
+      # In OWNER_TO_KEEP_IN_TMP, you can specify, whose files shall not be 
deleted.
+      #
+      #${OWNER_TO_KEEP_IN_TMP:-OWNER_TO_KEEP_IN_TMP=\"root\"}
+      
+      ## Type:         string
+      ## Default:      ""
+      #
+      # To which of the TMP directories should OWNER_TO_KEEP_IN_TMP apply.
+      # If empty it defaults to all directory entries in 
/etc/tmpfiles.d/tmp.conf.
+      #${TMPDIR_TO_SEARCH_OWNER:-TMPDIR_TO_SEARCH_OWNER=\"\"}
+      
##########################################################################
+      " | sed 's/^ *//g' >> /etc/tmpfiles.d/tmp.conf.tmp
+   fi
+   mv /etc/tmpfiles.d/tmp.conf.tmp /etc/tmpfiles.d/tmp.conf
+
+# clear old variables from /etc/sysconfig/cron
+   OLDVARS=`sed '1!G;h;$!d' /etc/sysconfig/cron | sed  -n 
'/^CLEAR_TMP_DIRS_AT_BOOTUP/,/Path:.*System\/Cron$/p'`
+   if [ ${#OLDVARS} -gt 0 ]; then
+      echo "## The Parameters MAX_DAYS_IN_TMP, MAX_DAYS_IN_LONG_TMP, 
TMP_DIRS_TO_CLEAR, 
+      ## LONG_TMP_DIRS_TO_CLEAR, CLEAR_TMP_DIRS_AT_BOOTUP and 
OWNER_TO_KEEP_IN_TMP have 
+      ## been converted to systemd-tmpfiles settings in 
/etc/tmpfiles.d/tmp.conf.
+      ## Please check and modify to your needs.
+      ## See 'man tmpfiles.d' for details.
+      " | sed 's/^ *//g' > /etc/sysconfig/cron.tmp
+      sed '1!G;h;$!d' /etc/sysconfig/cron | sed 
'/^CLEAR_TMP_DIRS_AT_BOOTUP/,/Path:.*System\/Cron$/d' | sed '1!G;h;$!d' >> 
/etc/sysconfig/cron.tmp
+      mv /etc/sysconfig/cron.tmp /etc/sysconfig/cron
+   fi
+fi
diff -Naur orig/files/usr/bin/systemd-tmpfiles-keep 
mod/files/usr/bin/systemd-tmpfiles-keep
--- orig/files/usr/bin/systemd-tmpfiles-keep    1970-01-01 01:00:00.000000000 
+0100
+++ mod/files/usr/bin/systemd-tmpfiles-keep     2014-03-05 12:22:56.000000000 
+0100
@@ -0,0 +1,50 @@
+#!/bin/sh
+#
+# Create exclude entries for files owned by $OWNER_TO_KEEP_IN_TMP in 
/etc/tmpfiles.d/tmp.conf
+#
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Germany.
+#
+# Author: Thomas Blume
+#
+# Please send feedback to http://www.suse.de/feedback
+#
+
+#
+# paranoia settings
+#
+umask 022
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+export PATH
+
+if [ -f /etc/tmpfiles.d/tmp.conf ]; then
+   OWNER_TO_KEEP_IN_TMP=`sed -n 
'/#OWNER_TO_KEEP_IN_TMP/s/#OWNER_TO_KEEP_IN_TMP=//p'  /etc/tmpfiles.d/tmp.conf 
| sed 's/\"//g'`
+   TMPDIR_TO_SEARCH_OWNER=`sed -n 
'/#TMPDIR_TO_SEARCH_OWNER/s/#TMPDIR_TO_SEARCH_OWNER=//p'  
/etc/tmpfiles.d/tmp.conf | sed 's/\"//g'`
+   
+   if [ "${TMPDIR_TO_SEARCH_OWNER:0:1}" == "/" ]; then
+      DIRENT="$TMPDIR_TO_SEARCH_OWNER"
+   else
+      DIRENT=`sed -n '/^d\ \//p' /etc/tmpfiles.d/tmp.conf | cut -d " " -f 2`
+   fi
+
+   for DIR in $DIRENT ; do
+      for OWNER in $OWNER_TO_KEEP_IN_TMP ; do
+         getent passwd $OWNER >/dev/null
+         if [ $? == 0 ] && [ -d $DIR ];  then
+            FILES_TO_KEEP+=`/usr/bin/find $DIR/* -user $OWNER 2>/dev/null` 
+         fi
+      done
+   done
+
+
+   if [ ${#FILES_TO_KEEP} -gt 0 ]; then
+      sed '/######Automatically generated part, please do not 
modify######/,/###############Automatically generated part 
end###############/d' /etc/tmpfiles.d/tmp.conf | sed -re '$!N;/^\n$/!P;D' > 
/etc/tmpfiles.d/tmp.conf.tmp
+      echo -e "\n######Automatically generated part, please do not 
modify######" >> /etc/tmpfiles.d/tmp.conf.tmp
+      echo "# Exclude files owned by OWNER_TO_KEEP_IN_TMP " 
>>/etc/tmpfiles.d/tmp.conf.tmp
+      for i in $FILES_TO_KEEP; do
+         echo "x $i" >> /etc/tmpfiles.d/tmp.conf.tmp
+      done
+      echo "###############Automatically generated part end###############" 
>>/etc/tmpfiles.d/tmp.conf.tmp
+      mv /etc/tmpfiles.d/tmp.conf.tmp /etc/tmpfiles.d/tmp.conf
+   fi
+fi
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to