From 48eaedd08a94bfe3d54dc87620f8696bb1238db4 Mon Sep 17 00:00:00 2001 From: fake Date: Mon, 17 Jul 2006 13:31:30 +0000 Subject: [PATCH] fake: mine: update to 0.25 this is a BUGFIX update [2006071601111124917] (https://www.rocklinux.net/submaster) git-svn-id: http://www.rocklinux.org/svn/rock-linux/trunk@7742 c5f82cb5-29bc-0310-9cd0-bff59a50e3bc --- package/base/mine/helptext.patch | 30 --- package/base/mine/legacy-splits.patch | 238 ---------------------- package/base/mine/mine.desc | 4 +- package/base/mine/rocket-update-fix.patch | 11 - package/base/mine/special-files.patch | 185 ----------------- 5 files changed, 2 insertions(+), 466 deletions(-) delete mode 100644 package/base/mine/helptext.patch delete mode 100644 package/base/mine/legacy-splits.patch delete mode 100644 package/base/mine/rocket-update-fix.patch delete mode 100644 package/base/mine/special-files.patch diff --git a/package/base/mine/helptext.patch b/package/base/mine/helptext.patch deleted file mode 100644 index 08bfc99d6..000000000 --- a/package/base/mine/helptext.patch +++ /dev/null @@ -1,30 +0,0 @@ -# --- ROCK-COPYRIGHT-NOTE-BEGIN --- -# -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# Please add additional copyright information _after_ the line containing -# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by -# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! -# -# ROCK Linux: rock-src/package/base/mine/helptext.patch -# ROCK Linux is Copyright (C) 1998 - 2006 Clifford Wolf -# -# This patch file is dual-licensed. It is available under the license the -# patched project is licensed under, as long as it is an OpenSource license -# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms -# of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# -# --- ROCK-COPYRIGHT-NOTE-END --- - ---- ./mine.c~ 2005-08-09 12:57:29.000000000 +0200 -+++ ./mine.c 2005-09-19 18:03:50.000000000 +0200 -@@ -122,7 +122,7 @@ - "E.g. this will create a GEM file from the mine package installed in /:\n" - "\n" - " mine -T /var/adm / mine mine.tar.bz2\n" --" mine -C /var/adm mine.tar.bz2 mine.gem\n" -+" mine -C /var/adm mine.tar.bz2 mine mine.gem\n" - "\n" - "Hint: After installing, updating or removing packages you should run the\n" - " scripts 'cron.run' and 'postinstall'. This updates some important\n" diff --git a/package/base/mine/legacy-splits.patch b/package/base/mine/legacy-splits.patch deleted file mode 100644 index b4715b39d..000000000 --- a/package/base/mine/legacy-splits.patch +++ /dev/null @@ -1,238 +0,0 @@ -diff -dur mine-0.24/install.c mine-0.24-patch/install.c ---- mine-0.24/install.c 2006-04-27 20:14:38.000000000 +0200 -+++ mine-0.24-patch/install.c 2006-04-27 20:15:52.000000000 +0200 -@@ -54,16 +54,19 @@ - int gem2bunzip[2] = { -1, -1 }; - int bunzip2tar[2] = { -1, -1 }; - -- char * pname = NULL; -+ char *pname = NULL, *pbasename = NULL; - int gem_fd = -1; - struct cdb c; - int pos, len; - int rc; - -- char *filename; -+ char *filename = 0; - char buffer[1024]; - char buffer2[1024]; - char buffer3[1024]; -+ char buffer4[1024]; -+ char cksums_buf[1024]; -+ char md5sums_buf[1024]; - TAR *t = NULL; - BZFILE *b = NULL; - -@@ -77,8 +80,18 @@ - if ( rc <= 0 ) goto error; - pos = cdb_datapos(&c); len = cdb_datalen(&c); - pname = malloc(len+1); pname[len] = 0; -+ - if (cdb_read(&c, pname, len, pos) == -1) goto error; - -+ if ((pbasename = strchr(pname, ':')) != NULL) -+ { -+ int baselen = (pbasename - pname); -+ pbasename = malloc(baselen+1); -+ snprintf (pbasename, baselen+1, pname); -+ pbasename[baselen] = 0; -+ } else -+ pbasename = pname; -+ - pipe(gem2bunzip); - pipe(bunzip2tar); - -@@ -152,10 +165,88 @@ - } - } - -+ snprintf(buffer, sizeof(buffer), "%s/var/adm/flists/%s", root, pname); -+ FILE *old_flist = fopen(buffer, "r"); -+ snprintf(buffer, sizeof(buffer), "%s/var/adm/cksums/%s", root, pname); -+ FILE *old_cksums = fopen(buffer, "r"); -+ snprintf(buffer, sizeof(buffer), "%s/var/adm/md5sums/%s", root, pname); -+ FILE *old_md5sums = fopen(buffer, "r"); -+ -+ FILE *purgme_flist = 0, *purgme_cksums = 0, *purgme_md5sums = 0; - filename = 0; -+ char *old_filename = 0; -+ int old_file_printed = 0; - while (th_read(t) == 0) - { - filename = th_get_pathname(t); -+ -+ /* Here we check for 'obsolete' files, which are in the old -+ package version, but not in the new one. Obsolete files are -+ added to *:legacy packages for easy removal. */ -+ if (old_flist != NULL && old_filename == NULL && fgets(buffer4, 1024, old_flist) != NULL) -+ { -+ fgets(cksums_buf, 1024, old_cksums); -+ fgets(md5sums_buf, 1024, old_md5sums); -+ -+ strtok(buffer4, " \t\n"); -+ old_filename = strtok(NULL, "\n"); -+ old_file_printed = 0; -+ } -+ if (old_filename != NULL) -+ { -+ while (strcmp(old_filename, filename) < 0) -+ { -+ snprintf(buffer, sizeof(buffer), "%s/%s", root, old_filename); -+ struct stat statbuf; -+ if (stat (buffer, &statbuf) != 0) { /* Ignore */ } -+ if (! S_ISDIR(statbuf.st_mode)) -+ { -+ if (old_file_printed == 0 && purgme_flist == NULL) -+ { -+ snprintf(buffer, sizeof(buffer), "%s/var/adm/flists/%s:legacy", root, pbasename); -+ purgme_flist = fopen(buffer, "a"); -+ snprintf(buffer, sizeof(buffer), "%s/var/adm/cksums/%s:legacy", root, pbasename); -+ purgme_cksums = fopen(buffer, "a"); -+ snprintf(buffer, sizeof(buffer), "%s/var/adm/md5sums/%s:legacy", root, pbasename); -+ purgme_md5sums = fopen(buffer, "a"); -+ snprintf(buffer, sizeof(buffer), "%s/var/adm/packages/%s:legacy", root, pbasename); -+ FILE *purgme_packages = fopen(buffer, "w"); -+ snprintf(buffer, sizeof(buffer), "%s/var/adm/packages/%s", root, pname); -+ FILE *old_packages = fopen(buffer, "r"); -+ -+ snprintf(buffer, sizeof(buffer), "Package Name and Version: %s:legacy 0000 0\n", pbasename); -+ fputs(buffer, purgme_packages); -+ -+ fgets(buffer, 1024, old_packages); -+ while (fgets(buffer, 1024, old_packages)) { -+ if (fputs(buffer, purgme_packages) == EOF) goto error_errno; -+ } -+ -+ fclose(old_packages); -+ fclose(purgme_packages); -+ } -+ -+ if (old_file_printed == 0) -+ { -+ fprintf(purgme_flist, "%s:legacy: %s\n", pbasename, old_filename); -+ fprintf(purgme_cksums, "%s", cksums_buf); -+ fprintf(purgme_md5sums, "%s", md5sums_buf); -+ old_file_printed = 1; -+ } -+ } /* ! (S_ISDIR(statbuf.st_mode)) */ -+ -+ if (fgets(buffer4, 1024, old_flist) == NULL) break; -+ -+ fgets(cksums_buf, 1024, old_cksums); -+ fgets(md5sums_buf, 1024, old_md5sums); -+ -+ strtok(buffer4, " \t\n"); -+ old_filename = strtok(NULL, "\n"); -+ old_file_printed = 0; -+ } -+ if (strcmp(old_filename, filename) == 0) old_file_printed = 1; -+ } -+ - snprintf(buffer, sizeof(buffer), "%s/%s", root, filename); - snprintf(buffer2, sizeof(buffer), "%s.GEMnew", buffer); - snprintf(buffer3, sizeof(buffer), "%s.GEMold", buffer); -@@ -221,10 +312,83 @@ - } - } - -+ if (filename != NULL && old_filename != NULL && -+ strcmp(old_filename, filename) > 0) -+ { -+ if (purgme_flist == NULL) -+ { -+ snprintf(buffer, sizeof(buffer), "%s/var/adm/flists/%s:legacy", root, pbasename); -+ purgme_flist = fopen(buffer, "a"); -+ snprintf(buffer, sizeof(buffer), "%s/var/adm/cksums/%s:legacy", root, pbasename); -+ purgme_cksums = fopen(buffer, "a"); -+ snprintf(buffer, sizeof(buffer), "%s/var/adm/md5sums/%s:legacy", root, pbasename); -+ purgme_md5sums = fopen(buffer, "a"); -+ snprintf(buffer, sizeof(buffer), "%s/var/adm/packages/%s:legacy", root, pbasename); -+ FILE *purgme_packages = fopen(buffer, "w"); -+ snprintf(buffer, sizeof(buffer), "%s/var/adm/packages/%s", root, pname); -+ FILE *old_packages = fopen(buffer, "r"); -+ -+ snprintf(buffer, sizeof(buffer), "Package Name and Version: %s:legacy 0000 0\n", pbasename); -+ fputs(buffer, purgme_packages); -+ -+ fgets(buffer, 1024, old_packages); -+ while (fgets(buffer, 1024, old_packages)) { -+ if (fputs(buffer, purgme_packages) == EOF) goto error_errno; -+ } -+ -+ fclose(old_packages); -+ fclose(purgme_packages); -+ } -+ while (1) { -+ snprintf(buffer, sizeof(buffer), "%s/%s", root, old_filename); -+ struct stat statbuf; -+ if (stat (buffer, &statbuf) != 0) { /* Ignore */ } -+ if (! S_ISDIR(statbuf.st_mode)) -+ { -+ fprintf(purgme_flist, "%s:legacy: %s\n", pbasename, old_filename); -+ fprintf(purgme_cksums, "%s", cksums_buf); -+ fprintf(purgme_md5sums, "%s", md5sums_buf); -+ } -+ -+ if (fgets(buffer4, 1024, old_flist) == NULL) break; -+ -+ fgets(cksums_buf, 1024, old_cksums); -+ fgets(md5sums_buf, 1024, old_md5sums); -+ -+ strtok(buffer4, " \t\n"); -+ old_filename = strtok(NULL, "\n"); -+ old_file_printed = 0; -+ }; -+ } -+ -+ /* Finish *:legacy package, if existent */ -+ if (purgme_flist != NULL) -+ { -+ fclose(purgme_cksums); -+ snprintf(buffer, sizeof(buffer), "%s:legacy: var/adm/cksums/%s:legacy\n", pbasename, pbasename); -+ fprintf(purgme_flist, buffer); -+ snprintf(buffer, sizeof(buffer), "%s:legacy: var/adm/flists/%s:legacy\n", pbasename, pbasename); -+ fprintf(purgme_flist, buffer); -+ snprintf(buffer, sizeof(buffer), "%s:legacy: var/adm/md5sums/%s:legacy\n", pbasename, pbasename); -+ fprintf(purgme_flist, buffer); -+ snprintf(buffer, sizeof(buffer), "%s:legacy: var/adm/packages/%s:legacy\n", pbasename, pbasename); -+ fprintf(purgme_flist, buffer); -+ fclose(purgme_flist); -+ -+ snprintf(buffer2, sizeof(buffer2), "var/adm/flists/%s:legacy", pbasename); -+ snprintf(buffer, sizeof(buffer), "%s %s\n", md5sum_create(root, buffer2), buffer2); -+ fprintf(purgme_md5sums, buffer); -+ fclose(purgme_md5sums); -+ } -+ - tar_close(t); close(bunzip2tar[0]); - cdb_free(&c); close(gem_fd); - - if ( logfile != NULL ) fclose(logfile); -+ if ( old_flist != NULL ) fclose(old_flist); -+ -+ if (pname != pbasename) free(pbasename); -+ free(pname); - - return 0; - -@@ -233,7 +397,7 @@ - - error_errno: - fprintf(stderr, "While installing GEM file %s%s%s%s: %s\n", package, -- filename?" (":"", filename?filename:"", filename?"(":"", -+ filename?" (":"", filename?filename:"", filename?")":"", - errno ? strerror(errno) : "Unknown error"); - if ( t != NULL) tar_close(t); - if ( gem_fd != -1 ) { cdb_free(&c); close(gem_fd); } -diff -dur mine-0.24/TODO mine-0.24-patch/TODO ---- mine-0.24/TODO 2006-04-27 20:14:30.000000000 +0200 -+++ mine-0.24-patch/TODO 2006-04-27 20:15:56.000000000 +0200 -@@ -1,5 +1,7 @@ - - Todos: - -- - Remove old files when updating a package (?) -+ - When mine adds files to a legacy package, it does not remove possible -+ duplicate entries in var/adm/{flists,cksums,md5sums} resulting in -+ bogus shared files. - diff --git a/package/base/mine/mine.desc b/package/base/mine/mine.desc index 8af10e59c..09bb4783f 100644 --- a/package/base/mine/mine.desc +++ b/package/base/mine/mine.desc @@ -35,8 +35,8 @@ [L] GPL [S] Stable -[V] 0.24 +[V] 0.25 [P] X 01---5---9 112.100 -[D] 3983830394 mine-0.24.tar.bz2 http://www.rocklinux.net/people/clifford/GEM-MINE/ +[D] 2330456148 mine-0.25.tar.bz2 http://www.rocklinux.net/people/clifford/GEM-MINE/ diff --git a/package/base/mine/rocket-update-fix.patch b/package/base/mine/rocket-update-fix.patch deleted file mode 100644 index ba2e48107..000000000 --- a/package/base/mine/rocket-update-fix.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ./rocket.sh.orig 2006-07-13 20:14:25.000000000 +0200 -+++ ./rocket.sh 2006-07-13 20:14:33.000000000 +0200 -@@ -232,7 +232,7 @@ - while read keyword p1 p2 p3 p4 p5 rest; do - case "$keyword" in - archive) -- [ -n "$p2" ] || file="packages.db" -+ [ -n "$p2" ] || p2="packages.db" - upd_archive "$p1" "$p1/$p2" \ - "$ignore_list" "$ignore_list_deps" - ;; diff --git a/package/base/mine/special-files.patch b/package/base/mine/special-files.patch deleted file mode 100644 index f9fa05711..000000000 --- a/package/base/mine/special-files.patch +++ /dev/null @@ -1,185 +0,0 @@ -diff -dur mine-0.24/check.c mine-0.24-patch/check.c ---- mine-0.24/check.c 2005-09-30 12:34:36.000000000 +0200 -+++ mine-0.24-patch/check.c 2006-04-27 20:14:38.000000000 +0200 -@@ -72,9 +72,14 @@ - strtok(buffer, " \t\n"); - filename = strtok(NULL, "\n"); - -- if ( md5sum_check(root, filename) ) { -- printf("Modified/duplicate " -- "file: %s\n", filename); -+ int result = 0; -+ if ( result = md5sum_check(root, filename) ) { -+ switch (result) { -+ case MD5SUM_CHECK_DUPLICATE: printf("Duplicate "); break; -+ case MD5SUM_CHECK_MODIFIED: printf("Modified "); break; -+ case MD5SUM_CHECK_SHARED: printf("Shared "); break; -+ } -+ printf("file: %s\n", filename); - modified++; - } - } -diff -dur mine-0.24/install.c mine-0.24-patch/install.c ---- mine-0.24/install.c 2006-04-27 21:06:40.000000000 +0200 -+++ mine-0.24-patch/install.c 2006-04-27 20:15:52.000000000 +0200 -@@ -256,6 +256,7 @@ - unlink(buffer3); - } - -+ int result = 0; - if (patterns && glob_check(patterns, filename)) { - if ( mode_verbose ) { - printf("Exclude glob " -@@ -265,15 +266,22 @@ - if (TH_ISREG(t) && tar_skip_regfile(t) != 0) - goto error_errno; - } -- else if ( ! mode_force && md5sum_check(root, filename) ) { -+ else if ( ! mode_force && (result = md5sum_check(root, filename)) ) { -+ if ( ! mode_test || ! mode_verbose ) -+ printf("%s: ", pname); -+ printf("WARNING: Skip "); -+ switch (result) { -+ case MD5SUM_CHECK_DUPLICATE: printf("duplicate "); break; -+ case MD5SUM_CHECK_MODIFIED: printf("modified "); break; -+ case MD5SUM_CHECK_SHARED: printf("shared "); break; -+ } -+ printf("file %s", filename); - if ( mode_test && mode_verbose ) { -- printf("WARNING: Skip modified/duplicate " -- "file %s:\n", filename); -+ printf(":\n"); - th_print_long_ls(t); -- } else { -- printf("%s: WARNING: Skip modified/duplicate " -- "file: %s\n", pname, filename); -- } -+ } else -+ printf(".\n"); -+ - if ( mode_test ) { - if (TH_ISREG(t) && tar_skip_regfile(t) != 0) - goto error_errno; -diff -dur mine-0.24/md5sum.c mine-0.24-patch/md5sum.c ---- mine-0.24/md5sum.c 2005-08-09 12:57:29.000000000 +0200 -+++ mine-0.24-patch/md5sum.c 2006-04-27 21:11:22.000000000 +0200 -@@ -20,6 +20,7 @@ - #include - #include - #include -+#include - #include - #include - -@@ -37,35 +38,42 @@ - struct stat statbuf; - - snprintf(realfilename, 1024, "%s/%s", root, filename); -- return (stat(realfilename, &statbuf) != 0 || S_ISFIFO(statbuf.st_mode)) -- ? "" : md5_file(realfilename); -+ if (lstat(realfilename, &statbuf) != 0 || S_ISDIR(statbuf.st_mode)) -+ return ""; -+ else if (!S_ISREG(statbuf.st_mode)) -+ return "X"; -+ else -+ return md5_file(realfilename); - } - --/* Returns 1 if file is duplicate, 2 if file is modified. */ -+/* Returns if file is unmodified, modified, duplicate, or shared. */ - int md5sum_check(char * root, char * filename) - { - char *md5_f, *md5_d; - - md5_f = md5sum_create(root, filename); - md5_d = memdb_get(&md5_memdb, filename); -- -- if (md5_f == NULL || strcmp(md5_f, "") == 0) -- return 0; -+ -+/* printf ("md5sum_check(): md5_f: %s, md5_d: %s\n", -+ (md5_f) ? md5_f : "NULL", (md5_d) ? md5_d : "NULL"); -+*/ -+ if (strcmp(md5_f, "") == 0) -+ return MD5SUM_CHECK_OK; - else if (md5_d == NULL) -- return 1; -- else if (strcmp(md5_f, md5_d) == 0) -- return 0; -+ return MD5SUM_CHECK_DUPLICATE; -+ else if (strcmp(md5_f, md5_d) == 0 || strcmp(md5_d, "X") == 0) -+ return MD5SUM_CHECK_OK; -+ else if (strcmp(md5_d, "Duplicate entry") == 0) -+ return MD5SUM_CHECK_SHARED; - else -- return 2; -+ return MD5SUM_CHECK_MODIFIED; - } - - void md5sum_initdb(char * root, int verbose) - { - struct dirent *md5_dent; -- char buffer[1024], buffer2[1024]; -+ char buffer[1024]; - char *md5sum, *filename; -- const char const *admdirs[6] = -- {"cksums", "dependencies", "descs", "flists", "md5sums", "packages"}; - FILE *f; - DIR *d; - -@@ -81,16 +86,6 @@ - root, md5_dent->d_name); - f = fopen(buffer, "r"); - if ( f != NULL ) { -- /* Add the /var/adm files of each package to the -- md5sum memdb so md5sum_check() recognizes them. */ -- int n; -- for (n = 0; n < 6; n++) { -- snprintf(buffer2, 1024, "var/adm/%s/%s", -- admdirs[n], md5_dent->d_name); -- memdb_put(&md5_memdb, buffer2, -- md5sum_create(root, buffer2)); -- } -- - while (fgets(buffer, 1024, f) != NULL) { - md5sum = strtok(buffer, " \t\n"); - filename = strtok(NULL, "\n"); -diff -dur mine-0.24/md5sum.h mine-0.24-patch/md5sum.h ---- mine-0.24/md5sum.h 2005-03-23 09:51:06.000000000 +0100 -+++ mine-0.24-patch/md5sum.h 2006-04-27 20:14:38.000000000 +0200 -@@ -20,6 +20,11 @@ - #ifndef MD5SUM_H - #define MD5SUM_H - -+#define MD5SUM_CHECK_OK 0 -+#define MD5SUM_CHECK_DUPLICATE 1 -+#define MD5SUM_CHECK_MODIFIED 2 -+#define MD5SUM_CHECK_SHARED 3 -+ - char * md5sum_create(char * root, char * filename); - int md5sum_check(char * root, char * filename); - void md5sum_initdb(char * root, int verbose); -diff -dur mine-0.24/remove.c mine-0.24-patch/remove.c ---- mine-0.24/remove.c 2005-08-09 12:57:29.000000000 +0200 -+++ mine-0.24-patch/remove.c 2006-04-27 20:14:38.000000000 +0200 -@@ -120,11 +120,17 @@ - flist = (flist_tmp=flist)->next; - free(flist_tmp); - -- if ( ! mode_force && md5sum_check(root, filename) ) { -+ int result = 0; -+ if ( ! mode_force && (result = md5sum_check(root, filename)) ) { - if ( ! mode_test || ! mode_verbose ) - printf("%s: ", package); -- printf("WARNING: Skip modified/duplicate " -- "file: %s\n", filename); -+ printf("WARNING: Skip "); -+ switch (result) { -+ case MD5SUM_CHECK_DUPLICATE: printf("duplicate "); break; -+ case MD5SUM_CHECK_MODIFIED: printf("modified "); break; -+ case MD5SUM_CHECK_SHARED: printf("shared "); break; -+ } -+ printf("file %s:\n", filename); - } - else - if ( mode_test ) {