Date: Fri, 13 Jul 2007 00:06:23 GMT From: Garrett Cooper <gcooper@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 123411 for review Message-ID: <200707130006.l6D06NPV040780@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=123411 Change 123411 by gcooper@optimus-revised_pkgtools on 2007/07/13 00:06:05 Not sure why but existing file never made it to the depot.. Affected files ... .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/lib/file.c#2 edit Differences ... ==== //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/lib/file.c#2 (text+ko) ==== @@ -268,6 +268,10 @@ { char cmd[FILENAME_MAX]; + static struct timespec before, after, time_diff; + + clock_gettime(CLOCK_REALTIME, &before); + if (fname[0] == '/') snprintf(cmd, FILENAME_MAX, "/bin/cp -r %s %s", fname, to); else @@ -276,6 +280,15 @@ cleanup(0); errx(2, "%s: could not perform '%s'", __func__, cmd); } + + clock_gettime(CLOCK_REALTIME, &after); + + time_diff.tv_nsec = after.tv_nsec - before.tv_nsec; + + time_diff.tv_sec = after.tv_sec - before.tv_sec; + + printf( "(%s) Difference: %3.20lf secs\n", "copy_file", (double) ( time_diff.tv_sec + time_diff.tv_nsec/1e9 ) ); + } void @@ -283,6 +296,10 @@ { char cmd[FILENAME_MAX]; + static struct timespec before, after, time_diff; + + clock_gettime(CLOCK_REALTIME, &before); + if (fname[0] == '/') snprintf(cmd, FILENAME_MAX, "/bin/mv %s %s", fname, to); else @@ -291,6 +308,15 @@ cleanup(0); errx(2, "%s: could not perform '%s'", __func__, cmd); } + + clock_gettime(CLOCK_REALTIME, &after); + + time_diff.tv_nsec = after.tv_nsec - before.tv_nsec; + + time_diff.tv_sec = after.tv_sec - before.tv_sec; + + printf( "(%s) Difference: %3.20lf secs\n", "move_file", (double) ( time_diff.tv_sec + time_diff.tv_nsec/1e9 ) ); + } /* @@ -306,16 +332,22 @@ { char cmd[FILENAME_MAX * 3]; + static struct timespec before, after, time_diff; + + clock_gettime(CLOCK_REALTIME, &before); + if (!to) { /* If absolute path, use it */ if (*fname == '/') dir = "/"; + snprintf(cmd, FILENAME_MAX * 3, "/usr/bin/tar cf - -C %s %s | /usr/bin/tar xpf -", dir, fname); } else snprintf(cmd, FILENAME_MAX * 3, "/usr/bin/tar cf - %s | /usr/bin/tar xpf - -C %s", fname, dir); + #ifdef DEBUG printf("Using '%s' to copy trees.\n", cmd); #endif @@ -323,16 +355,33 @@ cleanup(0); errx(2, "%s: could not perform '%s'", __func__, cmd); } + + clock_gettime(CLOCK_REALTIME, &after); + + time_diff.tv_nsec = after.tv_nsec - before.tv_nsec; + + time_diff.tv_sec = after.tv_sec - before.tv_sec; + + printf( "(%s) Difference: %3.20lf secs\n", "copy_heirarchy", (double) ( time_diff.tv_sec + time_diff.tv_nsec/1e9 ) ); + } /* Unpack a tar file */ int unpack(const char *pkg, const char *flist) { + + static struct timespec before, after, time_diff; + + clock_gettime(CLOCK_REALTIME, &before); + const char *comp, *cp; char suff[80]; - comp = ""; + int ret_code = 0; + + comp = "-j"; + /* * Figure out by a crude heuristic whether this or not this is probably * compressed and whichever compression utility was used (gzip or bzip2). @@ -341,25 +390,27 @@ cp = strrchr(pkg, '.'); if (cp) { strcpy(suff, cp + 1); - if (strchr(suff, 'z') || strchr(suff, 'Z')) { - if (strchr(suff, 'b')) - comp = "-j"; - else - comp = "-z"; + if ((strchr(suff, 'z') || strchr(suff, 'Z')) && !strchr(suff, 'b')) { + comp = "-z"; } } } - else -#if defined(__FreeBSD_version) && __FreeBSD_version >= 500039 - comp = "-j"; -#else - comp = "-z"; -#endif + if (vsystem("/usr/bin/tar -xp %s -f '%s' %s", comp, pkg, flist ? flist : "")) { warnx("tar extract of %s failed!", pkg); - return 1; + ret_code = 1; } - return 0; + + clock_gettime(CLOCK_REALTIME, &after); + + time_diff.tv_nsec = after.tv_nsec - before.tv_nsec; + + time_diff.tv_sec = after.tv_sec - before.tv_sec; + + printf( "(%s) Difference: %3.20lf secs\n", "unpack", (double) ( time_diff.tv_sec + time_diff.tv_nsec/1e9 ) ); + + return ret_code; + } /*
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200707130006.l6D06NPV040780>