[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

kill IGNOREFILES



I'm fed up with ports that use IGNOREFILES. They can't be packaged
correctly. It means that the maintainer did not talk to the software
author, or that the software author is stupid. In almost all cases, it's
possible to mirror a known version of the software package. If it's not
possible, it means the software package is not free, so we don't really
care.

Okay ?

Index: bsd.port.mk
===================================================================
RCS file: /spare/mirrors/openbsd/cvs/ports/infrastructure/mk/bsd.port.mk,v
retrieving revision 1.619
diff -u -p -u -r1.619 bsd.port.mk
--- bsd.port.mk	22 Jun 2004 20:05:46 -0000	1.619
+++ bsd.port.mk	11 Jul 2004 12:04:43 -0000
@@ -796,18 +796,14 @@ __CKSUMFILES+=${_file}
 ALLFILES:=${__CKSUMFILES}
 
 .if defined(IGNOREFILES)
-.  for _file in ${IGNOREFILES}
-__CKSUMFILES:=${__CKSUMFILES:N${_file}}
-.  endfor
+ERRORS+= "Fatal: don't use IGNOREFILES"
 .endif
 
 # List of all files, with ${DIST_SUBDIR} in front.  Used for checksum.
 .if !empty(DIST_SUBDIR)
 _CKSUMFILES=	${__CKSUMFILES:S/^/${DIST_SUBDIR}\//}
-_IGNOREFILES=	${IGNOREFILES:S/^/${DIST_SUBDIR}\//}
 .else
 _CKSUMFILES=	${__CKSUMFILES}
-_IGNOREFILES=	${IGNOREFILES}
 .endif
 
 # This is what is actually going to be extracted, and is overridable
@@ -1213,9 +1209,6 @@ makesum: fetch-all
 		for cipher in ${_CIPHERS}; do \
 			$$cipher ${_CKSUMFILES} >> ${CHECKSUM_FILE}; \
 	    done
-	@for file in ${_IGNOREFILES}; do \
-		echo "MD5 ($$file) = IGNORE" >> ${CHECKSUM_FILE}; \
-	done
 	@sort -u -o ${CHECKSUM_FILE} ${CHECKSUM_FILE}
 .endif
 
@@ -1227,9 +1220,6 @@ addsum: fetch-all
 	 	for cipher in ${_CIPHERS}; do \
 			$$cipher ${_CKSUMFILES} >> ${CHECKSUM_FILE}; \
 	    done
-	@for file in ${_IGNOREFILES}; do \
-		echo "MD5 ($$file) = IGNORE" >> ${CHECKSUM_FILE}; \
-	done
 	@sort -u -o ${CHECKSUM_FILE} ${CHECKSUM_FILE}
 	@if [ `sed -e 's/\=.*$$//' ${CHECKSUM_FILE} | uniq -d | wc -l` -ne 0 ]; then \
 		echo "Inconsistent checksum in ${CHECKSUM_FILE}"; \
@@ -1423,8 +1413,7 @@ checksum: fetch
 			  ${ECHO_MSG} ">> No checksum recorded for $$file."; \
 			  OK=false;; \
 			"IGNORE") \
-			  echo ">> Checksum for $$file is set to IGNORE in md5 file even though"; \
-			  echo "   the file is not in the "'$$'"{IGNOREFILES} list."; \
+			  echo ">> Error: checksum for $$file is set to IGNORE in distinfo"; \
 			  OK=false;; \
 			*) \
 			  CKSUM=`$$cipher < $$file`; \
@@ -1439,18 +1428,6 @@ checksum: fetch
 		  esac; \
 		done; \
 		set --; \
-		for file in ${_IGNOREFILES}; do \
-		  set -- `grep "($$file)" $$checksum_file` || \
-			  { echo ">> No checksum recorded for $$file, file is in "'$$'"{IGNOREFILES} list." && \
-			  OK=false; } ; \
-		  case "$$4" in \
-		  	"IGNORE") : ;; \
-			*) \
-			  echo ">> Checksum for $$file is not set to IGNORE in md5 file even though"; \
-			  echo "   the file is in the "'$$'"{IGNOREFILES} list."; \
-			  OK=false;; \
-		  esac; \
-		done; \
 		if ! $$OK; then \
 		  if ${REFETCH}; then \
 		  	cd ${.CURDIR} && ${MAKE} _refetch _PROBLEMS="$$list"; \
Index: bsd.port.mk.5
===================================================================
RCS file: /spare/mirrors/openbsd/cvs/src/share/man/man5/bsd.port.mk.5,v
retrieving revision 1.142
diff -u -p -u -r1.142 bsd.port.mk.5
--- bsd.port.mk.5	28 Jun 2004 18:14:11 -0000	1.142
+++ bsd.port.mk.5	11 Jul 2004 12:13:15 -0000
@@ -116,10 +116,8 @@ target that simulates invoking
 Check distribution archives and distribution patches control sum against
 the results recorded in ${CHECKSUM_FILE},
 using the cryptographic signature utilities listed in ${PREFERRED_CIPHERS}.
-Normally ${ALLFILES}
-are checksummed, unless
-.Ev IGNOREFILES
-is set to a list of files to ignore.
+All the files needed to recreate a port should be in ${ALLFILES} and
+checksummed.
 Invoking
 .Ar checksum
 with REFETCH=true
@@ -292,8 +290,7 @@ See also
 .Ar unlink-categories .
 .It Ar makesum
 Create the ${CHECKSUM_FILE} list of recorded checksums by running the
-cryptographic fingerprints sha1, md5 and rmd160 on ${ALLFILES} minus
-${IGNOREFILES}.
+cryptographic fingerprints sha1, md5 and rmd160 on ${ALLFILES}.
 .Ev NO_CHECKSUM
 can be used to avoid all checksumming steps.
 .It Ar manpages-check
@@ -942,11 +939,6 @@ Location of the gnu make binary, if need
 Defaults to gmake.
 .It Ev HOMEPAGE
 Set to a link to the homepage of the software, if applicable.
-.It Ev IGNOREFILES
-Set to the list of files that cannot be checksummed.
-For use by ports which
-fetch dynamically generated archives that can't be checksummed.
-Avoid using IGNOREFILES whenever possible.
 .It Ev LIB_DEPENDS
 Libraries this port depends upon.
 Each item has the form
@@ -1732,6 +1724,10 @@ instead.
 .It Ev HAVE_MOTIF
 Old user settings.
 No longer needed since OpenMotif is now free.
+.It Ev IGNOREFILES
+Set to the list of files that can't be checksummed.
+All uses of it have led to postponing the correct action: talking
+to the software author and getting him to provide versioned archives.
 .It Ev MANn
 List of unformatted manpages, per section.
 .It Ev MANPREFIX



Visit your host, monkey.org