DO NOT REPLY [Bug 5506] New: support utime differences at runtime, not configure/build time

samba-bugs at samba.org samba-bugs at samba.org
Sat May 31 06:35:52 GMT 2008


https://bugzilla.samba.org/show_bug.cgi?id=5506

           Summary: support utime differences at runtime, not
                    configure/build time
           Product: rsync
           Version: 3.0.3
          Platform: All
               URL: http://thread.gmane.org/gmane.network.rsync.general/1794
                    8
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P3
         Component: core
        AssignedTo: wayned at samba.org
        ReportedBy: vapier at gentoo.org
         QAContact: rsync-qa at samba.org


http://bugs.gentoo.org/218577

the rsync code currently does things like:
#ifdef HAVE_UTIMES
        <do utimes stuff>
#elif defined HAVE_UTIME
        <do utime stuff>
#else
        fail!
#endif

the problem here is when rsync detects the utimes function.  the older utime 
code is ifdef-ed away so it isnt available at runtime.  that means rsync will 
only be runtime usable on newer systems.  if you take a recent glibc and 
compile it against recent kernel headers, you get a C library that supports 
both utimes and utime, and will run fine regardless of the kernel.  if it 
supports utimes(), glibc will return the expected values.  if it doesnt, 
glibc will return ENOSYS.

what i'm proposing is decoupling of the #if logic so that it isnt an if;else:
#ifdef HAVE_UTIMES
        <do utimes stuff and return if successful>
#endif
#ifdef HAVE_UTIME
        <do utime stuff and return if successful>
#endif
        <return failure>


-- 
Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.


More information about the rsync mailing list