]> Zhao Yanbai Git Server - minix.git/commitdiff
remove utimes() workarounds
authorThomas Cort <tcort@minix3.org>
Wed, 10 Apr 2013 10:41:57 +0000 (10:41 +0000)
committerBen Gras <ben@minix3.org>
Fri, 12 Apr 2013 18:55:40 +0000 (18:55 +0000)
With the addition of utimes(), we can remove the workarounds
and use the original NetBSD code for timestamping files.

Also restore use of -p & -r for install while building

13 files changed:
bin/pax/file_subs.c
bin/pax/pax.h
commands/fetch/fetch.c
commands/touch/touch.c
external/bsd/file/include/config.h
external/bsd/libarchive/include/config_netbsd.h
external/public-domain/xz/include/config.h
share/mk/bsd.own.mk
usr.bin/ftp/fetch.c
usr.bin/ftp/ftp.c
usr.bin/gzip/gzip.c
usr.bin/xinstall/xinstall.c
usr.sbin/mtree/compare.c

index e6ba65e4998b067f675c8f41b62ab02ae7210561..f4e598dfd886e21ac6f58ec76bdb5204bdcb3f2b 100644 (file)
@@ -846,18 +846,8 @@ set_ftime(char *fnm, time_t mtime, time_t atime, int frc, int slk)
 #endif
        if (slk)
                return;
-#ifdef __minix
-       {
-               struct utimbuf timp;
-               timp.actime = atime;
-               timp.modtime = mtime;
-               if (utime(fnm, &timp) < 0)
-                       goto bad;
-       }
-#else
        if (utimes(fnm, tv) == -1)
                goto bad;
-#endif
        return;
 bad:
        syswarn(1, errno, "Access/modification time set failed on: %s", fnm);
index eb09e39e66410260cf28b99e3232dba77b2012fd..7e8ab1a21262725861d5f5cb22e9cd498910a7dd 100644 (file)
  *     @(#)pax.h       8.2 (Berkeley) 4/18/94
  */
 
-#if ! HAVE_NBTOOL_CONFIG_H && !defined(__minix)
+#if ! HAVE_NBTOOL_CONFIG_H
 #define HAVE_LUTIMES 1
+#ifndef __minix
 #define HAVE_STRUCT_STAT_ST_FLAGS 1
 #endif
+#endif
 
 /*
  * BSD PAX global data structures and constants.
index 03028da7168c59c8233f5b8818dc4316afbe8ae4..5b51d49f74acfa41344ca48b5ff4f940d109727f 100644 (file)
@@ -779,7 +779,6 @@ fetch(char *URL, const char *path)
         */
  signal:
        /* set mtime of local file */
-#ifndef __minix
        if (!n_flag && us.mtime && !o_stdout && of != NULL &&
            (stat(path, &sb) != -1) && sb.st_mode & S_IFREG) {
                struct timeval tv[2];
@@ -791,19 +790,6 @@ fetch(char *URL, const char *path)
                if (utimes(tmppath ? tmppath : path, tv))
                        warn("%s: utimes()", tmppath ? tmppath : path);
        }
-#else
-       if (!n_flag && us.mtime && !o_stdout && of != NULL &&
-                       (stat(path, &sb) != -1) && sb.st_mode & S_IFREG) {
-               struct utimbuf ut;
-
-               fflush(of);
-               ut.actime = (us.atime ? us.atime : us.mtime);
-               ut.modtime = us.mtime;
-
-               if (utime(tmppath ? tmppath : path, &ut))
-                       warn("%s: utime()", tmppath ? tmppath : path);
-       }
-#endif
 
        /* timed out or interrupted? */
        if (fetchLastErrCode == FETCH_TIMEOUT)
index efedae1e0b257c000302d6f02117cf0cd2dacb5b..c5d941939a759627582e7b87700da16784a27812 100644 (file)
@@ -59,7 +59,6 @@ main(int argc, char *argv[])
 {
        struct stat      sb;
        struct timeval   tv[2];
-       struct utimbuf   timbuf;
        int              aflag, cflag, mflag, ch, fd, len, rval, timeset;
        char            *p;
 
@@ -141,28 +140,14 @@ main(int argc, char *argv[])
                                continue;
                }
 
-#if 0
                if (!aflag)
                        TIMESPEC_TO_TIMEVAL(&tv[0], &sb.st_atimespec);
                if (!mflag)
                        TIMESPEC_TO_TIMEVAL(&tv[1], &sb.st_mtimespec);
-#else
-               if (!aflag)
-                       tv[0].tv_sec = sb.st_atime;
-               if (!mflag)
-                       tv[1].tv_sec = sb.st_mtime;
-#endif
 
                /* Try utimes(2). */
-#if 0
                if (!utimes(*argv, tv))
                        continue;
-#else
-               timbuf.actime = tv[0].tv_sec;
-               timbuf.modtime = tv[1].tv_sec;
-               if (!utime(*argv, &timbuf))
-                       continue;
-#endif
 
                /* If the user specified a time, nothing else we can do. */
                if (timeset) {
@@ -176,13 +161,8 @@ main(int argc, char *argv[])
                 * The permission checks are different, too, in that the
                 * ability to write the file is sufficient.  Take a shot.
                 */
-#if 0
                 if (!utimes(*argv, NULL))
                        continue;
-#else
-               if (!utime(*argv, NULL))
-                       continue;
-#endif
 
                rval = 1;
                warn("%s", *argv);
@@ -310,13 +290,8 @@ stime_file(char *fname, struct timeval *tvp)
 
        if (stat(fname, &sb))
                err(1, "%s", fname);
-#if 0
        TIMESPEC_TO_TIMEVAL(tvp, &sb.st_atimespec);
        TIMESPEC_TO_TIMEVAL(tvp + 1, &sb.st_mtimespec);
-#else
-       (tvp + 0)->tv_sec = sb.st_atime;
-       (tvp + 1)->tv_sec = sb.st_mtime;
-#endif
 }
 
 __dead void
index ebdf098a2ea1d62220d2a51fea139089cc2b2c88..6d552253799d3662ecaa826f33fb6cd5c5869b9f 100644 (file)
 #define HAVE_UTIME 1
 
 /* Define to 1 if you have the `utimes' function. */
-/* #undef HAVE_UTIMES */
+#define HAVE_UTIMES 1
 
 /* Define to 1 if you have the <utime.h> header file. */
 #define HAVE_UTIME_H 1
index f0432c28d78684af969ce181842e0feca6265ddf..75645ae9896eef0e645c989fedcde1b5419eda24 100644 (file)
 /* #undef HAVE_FUTIMENS */
 
 /* Define to 1 if you have the `futimes' function. */
-/* #define HAVE_FUTIMES 1 */
+#define HAVE_FUTIMES 1
 
 /* Define to 1 if you have the `geteuid' function. */
 #define HAVE_GETEUID 1
 /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */
 
 /* Define to 1 if you have the `lutimes' function. */
-/* #define HAVE_LUTIMES 1 */
+#define HAVE_LUTIMES 1
 
 /* Define to 1 if you have the <lzmadec.h> header file. */
 /* #undef HAVE_LZMADEC_H */
 /* #undef HAVE_UTIMENSAT */
 
 /* Define to 1 if you have the `utimes' function. */
-/* #define HAVE_UTIMES 1 */
+#define HAVE_UTIMES 1
 
 /* Define to 1 if you have the <utime.h> header file. */
 #define HAVE_UTIME_H 1
index 33544c5ea5084489b2448d46712a55ca9fa5d304..764d036aa12f5af9df4546255cec262c41dbfd38 100644 (file)
@@ -90,7 +90,7 @@
 #define HAVE_FCNTL_H 1
 
 /* Define to 1 if you have the `futimens' function. */
-/* #undef HAVE_FUTIMENS */
+#define HAVE_FUTIMENS 1
 
 /* Define to 1 if you have the `futimes' function. */
 #define HAVE_FUTIMES 1
 /* #undef HAVE_UTIME */
 
 /* Define to 1 if you have the `utimes' function. */
-/* #undef HAVE_UTIMES */
+#define HAVE_UTIMES 1
 
 /* Define to 1 if you have the `wcwidth' function. */
 #define HAVE_WCWIDTH 1
index c67e9a4175299aa4e4e419c47aee666a957753d1..c7e5190ae049cac7fa2c4bf2e156c2e515880a42 100644 (file)
@@ -1053,16 +1053,12 @@ MKTRACE:=       no
 # install(1) parameters.
 #
 COPY?=         -c
-.if ${HOST_OSTYPE:C/\-.*//} != "Minix"
 .if ${MKUPDATE} == "no"
 PRESERVE?=     
 .else
-#LSC: Not supported by MINIX install
 PRESERVE?=     -p
 .endif
-#XXX: Not supported by MINIX install
 RENAME?=       -r
-.endif # != "Minix"
 HRDLINK?=      -l h
 SYMLINK?=      -l s
 
index 4184765429c7a6ae6f5020a83f343be3ce256c36..e837d8f19c8405ee8ecc685f66c5c6a4c3bf7584 100644 (file)
@@ -64,10 +64,6 @@ __RCSID("$NetBSD: fetch.c,v 1.202 2013/02/23 13:47:36 christos Exp $");
 #include <unistd.h>
 #include <time.h>
 
-#ifdef __minix
-#include <utime.h>
-#endif
-
 #include "ssl.h"
 #include "ftp_var.h"
 #include "version.h"
@@ -1322,39 +1318,19 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
        progressmeter(1);
        (void)fflush(fout);
        if (closefunc == fclose && mtime != -1) {
-#ifdef __minix
-               struct utimbuf utb;
-#endif /* __minix */
-
                struct timeval tval[2];
 
                (void)gettimeofday(&tval[0], NULL);
-
-#ifdef __minix
-               utb.actime = tval[0].tv_sec;
-               utb.modtime = mtime;
-#else /* !__minix */
                tval[1].tv_sec = mtime;
                tval[1].tv_usec = 0;
-#endif /* !__minix */
-
                (*closefunc)(fout);
                fout = NULL;
 
-#ifdef __minix
-               if (utime(savefile, &utb) == -1) {
-                       fprintf(ttyout,
-                           "Can't change modification time to %s",
-                           rfc2822time(localtime(&mtime)));
-               }
-#else /* !__minix */
                if (utimes(savefile, tval) == -1) {
                        fprintf(ttyout,
                            "Can't change modification time to %s",
                            rfc2822time(localtime(&mtime)));
                }
-#endif /* !__minix */
-
        }
        if (bytes > 0)
                ptransfer(0);
index 88bc905b2ff91c9b2908a4ef0b14424887a40202..d4a5f8f5dadb7308ca78b8ca69b568d24d36cf1a 100644 (file)
@@ -123,10 +123,6 @@ __RCSID("$NetBSD: ftp.c,v 1.164 2012/07/04 06:09:37 is Exp $");
 #include <unistd.h>
 #include <stdarg.h>
 
-#ifdef __minix
-#include <utime.h>
-#endif
-
 #include "ftp_var.h"
 
 volatile sig_atomic_t  abrtflag;
@@ -914,10 +910,6 @@ recvrequest(const char *cmd, const char *volatile local, const char *remote,
        int oprogress;
        int opreserve;
 
-#ifdef __minix
-       struct utimbuf utb;
-#endif
-
        fout = NULL;
        din = NULL;
        hashbytes = mark;
@@ -1156,16 +1148,6 @@ recvrequest(const char *cmd, const char *volatile local, const char *remote,
                        mtime = remotemodtime(remote, 0);
                        if (mtime != -1) {
                                (void)gettimeofday(&tval[0], NULL);
-#ifdef __minix
-                               utb.actime = tval[0].tv_sec;
-                               utb.modtime = mtime;
-                               if (utime(local, &utb) == -1) {
-                                       fprintf(ttyout,
-                               "Can't change modification time on %s to %s",
-                                           local,
-                                           rfc2822time(localtime(&mtime)));
-                               }
-#else
                                tval[1].tv_sec = mtime;
                                tval[1].tv_usec = 0;
                                if (utimes(local, tval) == -1) {
@@ -1174,7 +1156,6 @@ recvrequest(const char *cmd, const char *volatile local, const char *remote,
                                            local,
                                            rfc2822time(localtime(&mtime)));
                                }
-#endif
                        }
                }
        }
index fdbdbc537c673dcc8fdce3d772a7da02af39c5fb..cd48378073d82d193ec4792d764170e15351e64a 100644 (file)
@@ -1081,10 +1081,8 @@ copymodes(int fd, const struct stat *sbp, const char *file)
 
        TIMESPEC_TO_TIMEVAL(&times[0], &sb.st_atimespec);
        TIMESPEC_TO_TIMEVAL(&times[1], &sb.st_mtimespec);
-#ifndef __minix
        if (futimes(fd, times) < 0)
                maybe_warn("couldn't utimes: %s", file);
-#endif
 }
 #endif
 
index 1d479fd65e78d8bbea6ef543fb75d8b409e64f62..47e6b2c7879100cf9dccfadd7ca9373900480a22 100644 (file)
@@ -251,9 +251,6 @@ main(int argc, char *argv[])
                        break;
                case 'p':
                        dopreserve = 1;
-#ifdef __minix
-                       warn("Minix lacks support for futimes(3)/utimes(2)");
-#endif
                        break;
                case 'r':
                        dorename = 1;
@@ -774,7 +771,6 @@ install(char *from_name, char *to_name, u_int flags)
        /*
         * Preserve the date of the source file.
         */
-#ifndef __minix
        if (dopreserve) {
 #if HAVE_FUTIMES
                if (futimes(to_fd, tv) == -1)
@@ -784,7 +780,6 @@ install(char *from_name, char *to_name, u_int flags)
                        warn("%s: utimes", to_name);
 #endif
        }
-#endif
 
        (void)close(to_fd);
 
index 0de6fcdccdd5630993808f672c7ce618b555c4c6..e2ccbf0164cd0d71113a0e25120a2161e258d17b 100644 (file)
@@ -140,14 +140,6 @@ lchown(const char *path, uid_t owner, gid_t group)
        return -1;
 }
 #endif
-
-static int
-fake_utimes(const char *path, const struct timeval times[2])
-{
-       return -1;
-}
-#undef utimes
-#define utimes(path, times) fake_utimes(path, times)
 #endif
 
 int