Hello community,

here is the log from the commit of package pwdutils for openSUSE:Factory 
checked in at 2012-09-01 22:01:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pwdutils (Old)
 and      /work/SRC/openSUSE:Factory/.pwdutils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pwdutils", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:Factory/pwdutils/pwdutils.changes        2012-07-30 
20:39:30.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.pwdutils.new/pwdutils.changes   2012-09-01 
22:01:10.000000000 +0200
@@ -1,0 +2,12 @@
+Thu Aug 30 09:22:26 CDT 2012 - [email protected]
+
+- update-file-times-when-copying.patch:
+  Keep the access and modification times of files when moving a
+  user's home directory (FATE#313757)
+
+-------------------------------------------------------------------
+Tue Aug 28 12:11:42 UTC 2012 - [email protected]
+
+- Add pwdutils-selinux.patch to fix compilation with new selinux 
+
+-------------------------------------------------------------------

New:
----
  pwdutils-selinux.patch
  update-file-times-when-copying.patch

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

Other differences:
------------------
++++++ pwdutils.spec ++++++
--- /var/tmp/diff_new_pack.aBD1Re/_old  2012-09-01 22:01:14.000000000 +0200
+++ /var/tmp/diff_new_pack.aBD1Re/_new  2012-09-01 22:01:14.000000000 +0200
@@ -29,7 +29,7 @@
 %if %{enable_selinux}
 BuildRequires:  libselinux-devel
 %endif
-Url:            http://www.thkukuk.de/pam/pwdutils/
+# There is no upstream anymore, so no URL to supply
 Version:        3.2.19
 Release:        0
 Summary:        Utilities to Manage User and Group Accounts
@@ -43,6 +43,8 @@
 Patch0:         0001-add-support-for-sha512.diff
 Patch1:         pwdutils-no-add-needed.patch
 Patch2:         pwdutils-glibc216.patch
+Patch3:         pwdutils-selinux.patch
+Patch4:         update-file-times-when-copying.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
 %description
@@ -81,6 +83,8 @@
 %patch0 -p1
 %patch1
 %patch2 -p1
+%patch3 -p1
+%patch4 -p1
 
 %build
 autoreconf -fiv

++++++ pwdutils-selinux.patch ++++++
--- pwdutils-3.2.19.orig/lib/public.h   2005-06-22 11:05:53.000000000 +0200
+++ pwdutils-3.2.19/lib/public.h        2012-05-26 07:35:09.397451177 +0200
@@ -115,7 +115,7 @@
 
 
 #ifdef WITH_SELINUX
-extern int selinux_check_access (const char *__chuser,
+extern int pwdu_selinux_check_access (const char *__chuser,
                                 unsigned int __selaccess) 
__attribute_warn_unused_result__;
 extern int set_default_context (const char *filename,
                                char **prev_context) 
__attribute_warn_unused_result__;
--- pwdutils-3.2.19.orig/lib/selinux_utils.c    2006-11-29 14:19:06.000000000 
+0100
+++ pwdutils-3.2.19/lib/selinux_utils.c 2012-05-26 07:35:09.397451177 +0200
@@ -33,7 +33,7 @@
 #include "public.h"
 
 int
-selinux_check_access (const char *chuser, unsigned int selaccess)
+pwdu_selinux_check_access (const char *chuser, unsigned int selaccess)
 {
   int status = -1;
   security_context_t user_context;
--- pwdutils-3.2.19.orig/src/chfn.c     2006-11-29 14:19:39.000000000 +0100
+++ pwdutils-3.2.19/src/chfn.c  2012-05-26 07:35:09.394117844 +0200
@@ -578,7 +578,7 @@
   if (is_selinux_enabled () > 0)
     {
       if ((uid == 0) &&
-          (selinux_check_access (pw_data->pw.pw_name, PASSWD__CHFN) != 0))
+          (pwdu_selinux_check_access (pw_data->pw.pw_name, PASSWD__CHFN) != 0))
         {
           security_context_t user_context;
           if (getprevcon (&user_context) < 0)
--- pwdutils-3.2.19.orig/src/chsh.c     2006-11-29 14:19:43.000000000 +0100
+++ pwdutils-3.2.19/src/chsh.c  2012-05-26 07:35:09.397451177 +0200
@@ -443,7 +443,7 @@
   if (is_selinux_enabled () > 0)
     {
       if ((uid == 0) &&
-          (selinux_check_access (pw_data->pw.pw_name, PASSWD__CHSH) != 0))
+          (pwdu_selinux_check_access (pw_data->pw.pw_name, PASSWD__CHSH) != 0))
         {
           security_context_t user_context;
           if (getprevcon (&user_context) < 0)
--- pwdutils-3.2.19.orig/src/passwd.c   2012-05-08 14:12:35.000000000 +0200
+++ pwdutils-3.2.19/src/passwd.c        2012-05-26 07:35:09.390784511 +0200
@@ -704,7 +704,7 @@
   if (is_selinux_enabled () > 0)
     {
       if ((uid == 0) &&
-         (selinux_check_access (pw->pw_name, PASSWD__PASSWD) != 0))
+         (pwdu_selinux_check_access (pw->pw_name, PASSWD__PASSWD) != 0))
        {
          security_context_t user_context;
          if (getprevcon (&user_context) < 0)
++++++ update-file-times-when-copying.patch ++++++
Index: pwdutils-3.2.19/lib/copy_dir_rec.c
===================================================================
--- pwdutils-3.2.19.orig/lib/copy_dir_rec.c     2010-10-11 10:30:50.000000000 
-0500
+++ pwdutils-3.2.19/lib/copy_dir_rec.c  2012-08-28 15:09:48.000000000 -0500
@@ -25,6 +25,7 @@
 #include <string.h>
 #include <dirent.h>
 #include <sys/stat.h>
+#include <sys/time.h>
 
 #include "i18n.h"
 #include "public.h"
@@ -57,6 +58,7 @@ copy_dir_rec (const char *src, const cha
          char dstfile[strlen (dst) + strlen (entry->d_name) + 2];
          struct stat st;
          char *cp;
+         struct timeval mt[2];
 
          /* create source and destination filename with full path.  */
          cp = stpcpy (srcfile, src);
@@ -70,6 +72,10 @@ copy_dir_rec (const char *src, const cha
          if (lstat (srcfile, &st) != 0)
            continue;
 
+         mt[0].tv_sec = st.st_atime;
+         mt[0].tv_usec = 0;
+         mt[1].tv_sec = st.st_mtime;
+         mt[1].tv_usec = 0;
          if (S_ISCHR(st.st_mode) || S_ISBLK(st.st_mode))
            {
              if (mknod (dstfile, st.st_mode & ~07777, st.st_rdev) != 0)
@@ -121,6 +127,11 @@ copy_dir_rec (const char *src, const cha
                      remove_dir_rec (dstfile);
                      retval = 1;
                    }
+                 else if (utimes (dstfile, mt) != 0)
+                   {
+                     remove_dir_rec (dstfile);
+                     retval = 1;
+                   }
                }
            }
          else if (S_ISLNK(st.st_mode))
@@ -154,6 +165,11 @@ copy_dir_rec (const char *src, const cha
                      unlink (dstfile);
                      retval = 1;
                    }
+                 else if (utimes (dstfile, mt) != 0)
+                   {
+                     remove_dir_rec (dstfile);
+                     retval = 1;
+                   }
                }
            }
          else if (S_ISREG(st.st_mode))
@@ -206,6 +222,11 @@ copy_dir_rec (const char *src, const cha
                      unlink (dstfile);
                      retval = 1;
                    }
+                 else if (utimes (dstfile, mt) != 0)
+                   {
+                     remove_dir_rec (dstfile);
+                     retval = 1;
+                   }
                }
            }
          else
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to