I'd like to weigh in on this again.  I played around for a while today with
making shar archives out of a combination of info and patch files, using
/usr/bin/shar (which is BSD shar).  The resulting file is quite similar
to the original proposal of tacking the patch file on to the info file,
but because it is a shar archive there is no ambiguity about it.  And as
you can see from the example I will paste below, it is quite readable
(by humans): after a bit of header stuff, you see the original info file
with an X at the beginning of each line... then there is some intermediate
stuff, and you see the patch file with an X at the beginning of each line.

In fact, I would venture to say that if you were only trying to make small
changes to the info file, you could edit this file directly, without
unshar-ing it to its component parts.

I agree with Max, up to a point, that anybody somebody sends you the info
file they should send you the corresponding patch file, and that checking
out from CVS by date could deliver you the appropriate pair.  But this is
not so robust, it seems to me... somebody could forget, you could store the
files someplace where it wasn't obvious what corresponded to what, it could
be tricky to determine the date you need, and so on.

The shar archive solution is not a bad compromise.

  -- Dave

P.S. I picked zip because the info and patch were not too big.



# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#       zip.info
#       zip.patch
#
echo x - zip.info
sed 's/^X//' >zip.info << 'END-of-zip.info'
XPackage: zip
XVersion: 2.3
XRevision: 2
XMaintainer: Dave Vasilevsky <[EMAIL PROTECTED]>
XLicense: BSD
XCustomMirror: <<
Xnam-US: http://uiarchive.uiuc.edu/mirrors/ftp/ftp.info-zip.org/pub/infozip/src/
Xnam-US: ftp://uiarchive.cso.uiuc.edu/pub/ftp/ftp.info-zip.org/pub/infozip/src/
Xeur-UK: http://www.mirror.ac.uk/sites/ftp.info-zip.org/pub/infozip/src/
Xeur-PL: ftp://sunsite.icm.edu.pl/pub/unix/archiving/info-zip/src/
Xeur-CH: http://sunsite.cnlab-switch.ch/ftp/mirror/infozip/src/
Xeur-CH: ftp://sunsite.cnlab-switch.ch/mirror/infozip/src/
XPrimary: ftp://ftp.info-zip.org/pub/infozip/src/
X<<
XSource: mirror:custom:%n23.tar.gz
XSource-MD5: 5206a99541f3b0ab90f1baa167392c4f
XSourceDirectory: %n-%v
XDocFiles: BUGS CHANGES INSTALL LICENSE MANUAL README TODO WHATSNEW WHERE
XHomepage: http://www.info-zip.org/pub/infozip/Zip.html
XDescription: Compression compatible with pkzip
XDescDetail: <<
XZip is different from gzip in that it allows packing multiple files into a
Xsingle archive (without the assistance of tar). It is compatible with pkzip,
Xpkunzip, and other Windows zip utilities.
X
XThis utility is necessary to install several packages in a pure Darwin
Xinstallation, as Darwin does not come with zip/unzip.
X<<
XPatch: %n.patch
XCompileScript: make CC='gcc -prebind' -f unix/Makefile generic
XInstallScript: make -f unix/Makefile install BINDIR=%i/bin MANDIR=%i/share/man/man1
XRecommends: unzip
END-of-zip.info
echo x - zip.patch
sed 's/^X//' >zip.patch << 'END-of-zip.patch'
Xdiff -Naur zip-2.3/unix/Makefile zip-new/unix/Makefile
X--- zip-2.3/unix/Makefile      Sun Nov 28 21:22:42 1999
X+++ zip-new/unix/Makefile      Thu May 16 21:19:17 2002
X@@ -47,7 +47,7 @@
X #   LFLAGS2   flags after obj file list (libraries, etc)
X CFLAGS = -O2 -I. -DUNIX $(LOCAL_ZIP)
X LFLAGS1 =
X-LFLAGS2 = -s
X+LFLAGS2 =
X 
X # object file lists
X OBJZ = zip.o zipfile.o zipup.o fileio.o util.o globals.o crypt.o ttyio.o \
Xdiff -Naur zip-2.3/unix/configure zip-new/unix/configure
X--- zip-2.3/unix/configure     Tue Apr 27 12:49:05 1999
X+++ zip-new/unix/configure     Thu May 16 21:42:46 2002
X@@ -13,7 +13,7 @@
X 
X CC=${1-cc}
X CFLAGS=${2-"-O2 -I. -DUNIX"}
X-LFLAGS1="-s"
X+LFLAGS1=
X LN="ln -s"
X 
X echo Check for the C preprocessor
Xdiff -Naur zip-2.3/zip.c zip-new/zip.c
X--- zip-2.3/zip.c      Tue Nov 16 12:08:10 1999
X+++ zip-new/zip.c      Thu May 16 21:33:45 2002
X@@ -248,7 +248,7 @@
X     if (PERR(c))
X       perror("zip I/O error");
X     fflush(mesg);
X-    fprintf(stderr, "\nzip error: %s (%s)\n", errors[c-1], h);
X+    fprintf(stderr, "\nzip error: %s (%s)\n", zip_errors[c-1], h);
X   }
X   if (tempzip != NULL)
X   {
Xdiff -Naur zip-2.3/zipcloak.c zip-new/zipcloak.c
X--- zip-2.3/zipcloak.c Sun Nov  7 02:29:59 1999
X+++ zip-new/zipcloak.c Thu May 16 21:48:20 2002
X@@ -55,7 +55,7 @@
X     char *msg;              /* message about how it happened */
X {
X     if (PERR(code)) perror("zipcloak error");
X-    fprintf(stderr, "zipcloak error: %s (%s)\n", errors[code-1], msg);
X+    fprintf(stderr, "zipcloak error: %s (%s)\n", zip_errors[code-1], msg);
X     if (tempzf != NULL) fclose(tempzf);
X     if (tempzip != NULL) {
X         destroy(tempzip);
Xdiff -Naur zip-2.3/ziperr.h zip-new/ziperr.h
X--- zip-2.3/ziperr.h   Sun Nov  7 02:31:27 1999
X+++ zip-new/ziperr.h   Thu May 16 21:33:04 2002
X@@ -39,7 +39,7 @@
X 
X #ifdef GLOBALS
X /* Error messages for the ziperr() function in the zip programs */
X-char *errors[ZE_MAXERR] = {
X+char *zip_errors[ZE_MAXERR] = {
X /*  1 */  "",
X /*  2 */  "Unexpected end of zip file",
X /*  3 */  "Zip file structure invalid",
X@@ -63,5 +63,5 @@
X #  endif
X };
X #else /* !GLOBALS */
X-extern char *errors[ZE_MAXERR]; /* Error messages for ziperr() */
X+extern char *zip_errors[ZE_MAXERR]; /* Error messages for ziperr() */
X #endif /* ?GLOBALS */
Xdiff -Naur zip-2.3/zipnote.c zip-new/zipnote.c
X--- zip-2.3/zipnote.c  Sun Nov  7 02:30:22 1999
X+++ zip-new/zipnote.c  Thu May 16 21:45:56 2002
X@@ -59,7 +59,7 @@
X {
X   if (PERR(c))
X     perror("zipnote error");
X-  fprintf(stderr, "zipnote error: %s (%s)\n", errors[c-1], h);
X+  fprintf(stderr, "zipnote error: %s (%s)\n", zip_errors[c-1], h);
X   if (tempzf != NULL)
X     fclose(tempzf);
X   if (tempzip != NULL)
Xdiff -Naur zip-2.3/zipsplit.c zip-new/zipsplit.c
X--- zip-2.3/zipsplit.c Sun Nov  7 02:30:31 1999
X+++ zip-new/zipsplit.c Thu May 16 21:48:30 2002
X@@ -139,7 +139,7 @@
X {
X   if (PERR(c))
X     perror("zipsplit error");
X-  fprintf(stderr, "zipsplit error: %s (%s)\n", errors[c-1], h);
X+  fprintf(stderr, "zipsplit error: %s (%s)\n", zip_errors[c-1], h);
X   if (indexmade)
X   {
X     strcpy(name, INDEX);
END-of-zip.patch
exit



-------------------------------------------------------
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing & more.
Download & eval WebKing and get a free book.
www.parasoft.com/bulletproofapps1
_______________________________________________
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to