Subject: pkg/10094: make makesum won;t insert IGNORE for checksum --- bsd.pkg.mk wrong???
To: None <gnats-bugs@gnats.netbsd.org>
From: None <refling@comet.lbl.gov>
List: netbsd-bugs
Date: 05/10/2000 15:00:14
>Number:         10094
>Category:       pkg
>Synopsis:       make makesum won;t insert IGNORE for checksum --- bsd.pkg.mk wrong???
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed May 10 15:01:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     John Refling
>Release:        1.4.1 but looked at latest in cvs
>Organization:
LBNL
>Environment:
i386 & sparc

>Description:


I'm working on a package where SOME of the files need to have
the checksum ignored.  I have added IGNOREFILES= <list> to the
Makefile.  When I "make makesum" the ones NOT in the IGNOREFILES
list are checksummed and inserted in the files/md5, (as normal)
and that's it.  The ones IN the list are ignored.

I think that the desired result is to have the ones IN the
IGNOREFILES list inserted in the files/md5 with a "= IGNORE"
for the checksum.

This result is achieved if the following change/correction is
make to bsd.pkg.mk:



version bsd.pkg.mk version 1.432 (May 3, 2000), excerpt:

# Checksumming utilities

.if !target(makesum)
makesum: fetch
        ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${FILESDIR}
        ${_PKG_SILENT}${_PKG_DEBUG}if [ -f ${MD5_FILE} ]; then ${RM} -f ${MD5_FILE}; fi
        @${ECHO} -n "$$" > ${MD5_FILE};                                 \
                ${ECHO} -n "NetBSD" >> ${MD5_FILE};                     \
                ${ECHO} "$$" >> ${MD5_FILE};                            \
                ${ECHO} "" >> ${MD5_FILE}
        ${_PKG_SILENT}(${_PKG_DEBUG}cd ${DISTDIR};                      \
        for sumfile in "" ${_CKSUMFILES}; do                            \
                if [ "X$$sumfile" = X"" ]; then continue; fi;           \
                ${MD5} $$sumfile >> ${MD5_FILE};                        \
        done)
        ${_PKG_SILENT}${_PKG_DEBUG}                                     \
        for ignore in "" ${_IGNOREFILES}; do                            \
                if [ "X$$sumfile" = X"" ]; then continue; fi;           \
                ${ECHO} "MD5 ($$ignore) = IGNORE" >> ${MD5_FILE};       \
        done               ^
.endif                     |
                           |
                           +---  "X$$sumfile"  changed to "X$$ignore"
                                  2 lines up.

I'm second guessing at what is supposed to be going on here, but do we
really want to be checking a variable left over from the previous
loop ("for sumfile....").

>How-To-Repeat:
above

>Fix:
change $$sumfile to $$ignore, if $$sumfile is not what is intended.


>Release-Note:
>Audit-Trail:
>Unformatted: