[BACK]Return to bsd.pkg.mk CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / mk

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /pkgsrc/mk/bsd.pkg.mk between version 1.1540.2.10 and 1.1540.2.26

version 1.1540.2.10, 2005/01/10 16:15:25 version 1.1540.2.26, 2005/03/21 15:43:00
Line 7 
Line 7 
 # Please see the pkgsrc/doc/guide manual for details on the  # Please see the pkgsrc/doc/guide manual for details on the
 # variables used in this make file template.  # variables used in this make file template.
 #  #
   # XXX tv: rev 1.1554 is not merged yet (phase "error handlers")
   #
   
 ############################################################################  ############################################################################
 # Include any preferences, if not already included, and common definitions  # Include any preferences, if not already included, and common definitions
Line 23  _PKG_PHASES_ALL= fetch checksum ${_PKG_P
Line 25  _PKG_PHASES_ALL= fetch checksum ${_PKG_P
 _PKG_PHASES_WRKDIR=     depends extract patch tools wrapper \  _PKG_PHASES_WRKDIR=     depends extract patch tools wrapper \
                         configure build test install package                          configure build test install package
   
 # PATH is recalculated below, so save its original incarnation here.  
 .if !defined(_PATH_ORIG)  
 _PATH_ORIG:=            ${PATH}  
 MAKEFLAGS+=             _PATH_ORIG=${_PATH_ORIG:Q}  
 .endif  
   
 ############################################################################  ############################################################################
 # Transform package Makefile variables and set defaults  # Transform package Makefile variables and set defaults
 ############################################################################  ############################################################################
   
   CHECK_FILES?=           NO      # run check-files after install
   CHECK_FILES_STRICT?=    NO      # make check-files very strict on errors
 CHECK_SHLIBS?=          YES     # run check-shlibs after install  CHECK_SHLIBS?=          YES     # run check-shlibs after install
 CLEANDEPENDS?=          NO  CLEANDEPENDS?=          NO
 DEINSTALLDEPENDS?=      NO      # add -R to pkg_delete  DEINSTALLDEPENDS?=      NO      # add -R to pkg_delete
Line 80  PLIST_SRC+=  ${PKGDIR}/PLIST.common
Line 78  PLIST_SRC+=  ${PKGDIR}/PLIST.common
 .  endif  .  endif
 .  if exists(${PKGDIR}/PLIST.${OPSYS})  .  if exists(${PKGDIR}/PLIST.${OPSYS})
 PLIST_SRC+=             ${PKGDIR}/PLIST.${OPSYS}  PLIST_SRC+=             ${PKGDIR}/PLIST.${OPSYS}
 .  elif exists(${PKGDIR}/PLIST)  .  endif
   .  if exists(${PKGDIR}/PLIST.${MACHINE_ARCH:C/i[3-6]86/i386/g})
   PLIST_SRC+=             ${PKGDIR}/PLIST.${MACHINE_ARCH:C/i[3-6]86/i386/g}
   .  endif
   .  if exists(${PKGDIR}/PLIST.${OPSYS}-${MACHINE_ARCH:C/i[3-6]86/i386/g})
   PLIST_SRC+=             ${PKGDIR}/PLIST.${OPSYS}-${MACHINE_ARCH:C/i[3-6]86/i386/g}
   .  endif
   .  if exists(${PKGDIR}/PLIST)
 PLIST_SRC+=             ${PKGDIR}/PLIST  PLIST_SRC+=             ${PKGDIR}/PLIST
 .  endif  .  endif
 .  if exists(${PKGDIR}/PLIST.common_end)  .  if exists(${PKGDIR}/PLIST.common_end)
 PLIST_SRC+=             ${PKGDIR}/PLIST.common_end  PLIST_SRC+=             ${PKGDIR}/PLIST.common_end
 .  endif  .  endif
 .endif  # !PLIST_SRC  .endif # !PLIST_SRC
   
 ##### Others  ##### Others
   
Line 94  _DISTDIR?=  ${DISTDIR}/${DIST_SUBDIR}
Line 99  _DISTDIR?=  ${DISTDIR}/${DIST_SUBDIR}
 BUILD_DEFS?=            # empty  BUILD_DEFS?=            # empty
 BUILD_DEPENDS?=         # empty  BUILD_DEPENDS?=         # empty
 BUILD_TARGET?=          all  BUILD_TARGET?=          all
   COMMENT?=               (no description)
   CONFIGURE_DIRS?=        ${WRKSRC}
   CONFIGURE_SCRIPT?=      ./configure
 DEPENDS?=               # empty  DEPENDS?=               # empty
 DESCR_SRC?=             ${PKGDIR}/DESCR  DESCR_SRC?=             ${PKGDIR}/DESCR
 DIGEST_ALGORITHM?=      SHA1  DIGEST_ALGORITHMS?=     SHA1 RMD160
 DISTFILES?=             ${DISTNAME}${EXTRACT_SUFX}  DISTFILES?=             ${DISTNAME}${EXTRACT_SUFX}
 DISTINFO_FILE?=         ${PKGDIR}/distinfo  DISTINFO_FILE?=         ${PKGDIR}/distinfo
 COMMENT?=               (no description)  
 CONFIGURE_DIRS?=        ${WRKSRC}  
 CONFIGURE_SCRIPT?=      ./configure  
 EXTRACT_ONLY?=          ${DISTFILES}  EXTRACT_ONLY?=          ${DISTFILES}
 EXTRACT_SUFX?=          .tar.gz  EXTRACT_SUFX?=          .tar.gz
 INSTALL_DIRS?=          ${BUILD_DIRS}  INSTALL_DIRS?=          ${BUILD_DIRS}
Line 111  INTERACTIVE_STAGE?= none
Line 116  INTERACTIVE_STAGE?= none
 MAINTAINER?=            tech-pkg@NetBSD.org  MAINTAINER?=            tech-pkg@NetBSD.org
 MAKE_FLAGS?=            # empty  MAKE_FLAGS?=            # empty
 MAKEFILE?=              Makefile  MAKEFILE?=              Makefile
   PATCH_DIGEST_ALGORITHM?=SHA1
 PKG_SUFX?=              .tgz  PKG_SUFX?=              .tgz
 PKGFILE?=               ${PKGREPOSITORY}/${PKGNAME}${PKG_SUFX}  PKGFILE?=               ${PKGREPOSITORY}/${PKGNAME}${PKG_SUFX}
 PKGREPOSITORY?=         ${PACKAGES}/${PKGREPOSITORYSUBDIR}  PKGREPOSITORY?=         ${PACKAGES}/${PKGREPOSITORYSUBDIR}
Line 130  BUILD_DEFS_FIXED+= NO_SRC_ON_FTP NO_SRC_
Line 136  BUILD_DEFS_FIXED+= NO_SRC_ON_FTP NO_SRC_
 BUILD_DEFS_FIXED+=      NO_BIN_ON_FTP NO_BIN_ON_CDROM  BUILD_DEFS_FIXED+=      NO_BIN_ON_FTP NO_BIN_ON_CDROM
 BUILD_DEFS_FIXED+=      ${OSVERSION_SPECIFIC:DOSVERSION_SPECIFIC}  BUILD_DEFS_FIXED+=      ${OSVERSION_SPECIFIC:DOSVERSION_SPECIFIC}
   
   .if (defined(INSTALL_UNSTRIPPED) && !empty(INSTALL_UNSTRIPPED:M[yY][eE][sS])) || defined(DEBUG_FLAGS)
   _INSTALL_UNSTRIPPED=    # set (flag used by platform/*.mk)
   .endif
   
 ##### Non-overridable constants  ##### Non-overridable constants
   
 # Latest versions of tools required for correct pkgsrc operation.  # Latest versions of tools required for correct pkgsrc operation.
 DIGEST_REQD=            20010302  DIGEST_REQD=            20010302
 PKGTOOLS_REQD=          ${_OPSYS_PKGTOOLS_REQD:U20030918}  PKGTOOLS_REQD=          ${_OPSYS_PKGTOOLS_REQD:U20050204}
   
   PKG_DB_TMPDIR=          ${WRKDIR}/.pkgdb
 DDIR=                   ${WRKDIR}/.DDIR  DDIR=                   ${WRKDIR}/.DDIR
 DESCR=                  ${WRKDIR}/.DESCR  DESCR=                  ${PKG_DB_TMPDIR}/+DESC
 DLIST=                  ${WRKDIR}/.DLIST  DLIST=                  ${WRKDIR}/.DLIST
 PLIST=                  ${WRKDIR}/.PLIST  PLIST=                  ${WRKDIR}/.PLIST
   
 # Files to create for versioning and build information  # Files to create for versioning and build information
 BUILD_VERSION_FILE=     ${WRKDIR}/.build_version  BUILD_VERSION_FILE=     ${PKG_DB_TMPDIR}/+BUILD_VERSION
 BUILD_INFO_FILE=        ${WRKDIR}/.build_info  BUILD_INFO_FILE=        ${PKG_DB_TMPDIR}/+BUILD_INFO
   
 # Files containing size of pkg w/o and w/ all required pkgs  # Files containing size of pkg w/o and w/ all required pkgs
 SIZE_PKG_FILE=          ${WRKDIR}/.SizePkg  SIZE_PKG_FILE=          ${PKG_DB_TMPDIR}/+SIZE_PKG
 SIZE_ALL_FILE=          ${WRKDIR}/.SizeAll  SIZE_ALL_FILE=          ${PKG_DB_TMPDIR}/+SIZE_ALL
   
 # File to denote "no deletion of a package"  # File to denote "no deletion of a package"
 PRESERVE_FILE=          ${WRKDIR}/.PRESERVE  PRESERVE_FILE=          ${PKG_DB_TMPDIR}/+PRESERVE
   
 .for targ in ${_PKG_PHASES_WRKDIR}  .for targ in ${_PKG_PHASES_WRKDIR}
 ${targ}_COOKIE=         ${WRKDIR}/.${targ}_done  ${targ}_COOKIE=         ${WRKDIR}/.${targ}_done
Line 197  PKG_FAIL_REASON+='them to at least ${PKG
Line 208  PKG_FAIL_REASON+='them to at least ${PKG
 PKG_FAIL_REASON+=''  PKG_FAIL_REASON+=''
 PKG_FAIL_REASON+='      cd ${PKGSRCDIR}/pkgtools/pkg_install && ${MAKE} clean && ${MAKE} install'  PKG_FAIL_REASON+='      cd ${PKGSRCDIR}/pkgtools/pkg_install && ${MAKE} clean && ${MAKE} install'
 .  endif  .  endif
 .endif # NO_PKGTOOLS_REQD_CHECK  .endif # !NO_PKGTOOLS_REQD_CHECK
   
 .if defined(ALL_TARGET)  .if defined(ALL_TARGET)
 PKG_FAIL_REASON+='ALL_TARGET is deprecated and must be replaced with BUILD_TARGET.'  PKG_FAIL_REASON+='ALL_TARGET is deprecated and must be replaced with BUILD_TARGET.'
Line 351  ${var}+= ${${var}.*}
Line 362  ${var}+= ${${var}.*}
   
 CPPFLAGS+=      ${CPP_PRECOMP_FLAGS}  CPPFLAGS+=      ${CPP_PRECOMP_FLAGS}
   
 .if !empty(USE_BUILDLINK3:M[nN][oO])  .  if !empty(USE_BUILDLINK3:M[nN][oO])
 LDFLAGS+=       ${COMPILER_RPATH_FLAG}${LOCALBASE}/lib  LDFLAGS+=       ${COMPILER_RPATH_FLAG}${LOCALBASE}/lib
 LDFLAGS+=       -L${LOCALBASE}/lib  LDFLAGS+=       -L${LOCALBASE}/lib
 .endif  .  endif
   
 ALL_ENV+=       CC=${CC:Q}  ALL_ENV+=       CC=${CC:Q}
 ALL_ENV+=       CFLAGS=${CFLAGS:Q}  ALL_ENV+=       CFLAGS=${CFLAGS:Q}
Line 362  ALL_ENV+= CPPFLAGS=${CPPFLAGS:Q}
Line 373  ALL_ENV+= CPPFLAGS=${CPPFLAGS:Q}
 ALL_ENV+=       CXX=${CXX:Q}  ALL_ENV+=       CXX=${CXX:Q}
 ALL_ENV+=       CXXFLAGS=${CXXFLAGS:Q}  ALL_ENV+=       CXXFLAGS=${CXXFLAGS:Q}
 ALL_ENV+=       COMPILER_RPATH_FLAG=${COMPILER_RPATH_FLAG:Q}  ALL_ENV+=       COMPILER_RPATH_FLAG=${COMPILER_RPATH_FLAG:Q}
 ALL_ENV+=       F77=${F77:Q}  ALL_ENV+=       F77=${FC:Q}
 ALL_ENV+=       FC=${FC:Q}  ALL_ENV+=       FC=${FC:Q}
 ALL_ENV+=       FFLAGS=${FFLAGS:Q}  ALL_ENV+=       FFLAGS=${FFLAGS:Q}
   ALL_ENV+=       LANG=C
   ALL_ENV+=       LC_COLLATE=C
   ALL_ENV+=       LC_CTYPE=C
   ALL_ENV+=       LC_MESSAGES=C
   ALL_ENV+=       LC_MONETARY=C
   ALL_ENV+=       LC_NUMERIC=C
   ALL_ENV+=       LC_TIME=C
 ALL_ENV+=       LDFLAGS=${LDFLAGS:Q}  ALL_ENV+=       LDFLAGS=${LDFLAGS:Q}
 ALL_ENV+=       LINKER_RPATH_FLAG=${LINKER_RPATH_FLAG:Q}  ALL_ENV+=       LINKER_RPATH_FLAG=${LINKER_RPATH_FLAG:Q}
 ALL_ENV+=       PATH=${PATH:Q}:${LOCALBASE}/bin:${X11BASE}/bin  ALL_ENV+=       PATH=${PATH:Q}:${LOCALBASE}/bin:${X11BASE}/bin
Line 606  MESSAGE_SRC+= ${PKGDIR}/MESSAGE.${OPSYS}
Line 624  MESSAGE_SRC+= ${PKGDIR}/MESSAGE.${OPSYS}
 .  endif  .  endif
   
 .  if defined(MESSAGE_SRC)  .  if defined(MESSAGE_SRC)
 MESSAGE=                ${WRKDIR}/.MESSAGE  MESSAGE=                ${PKG_DB_TMPDIR}/+DISPLAY
   
 # Set MESSAGE_SUBST to substitute "${variable}" to "value" in MESSAGE  # Set MESSAGE_SUBST to substitute "${variable}" to "value" in MESSAGE
 MESSAGE_SUBST+= LOCALBASE=${LOCALBASE}  MESSAGE_SUBST+= LOCALBASE=${LOCALBASE}
Line 728  _CHECK_VULNERABLE=       \
Line 746  _CHECK_VULNERABLE=       \
                   PKGBASE="${PKGBASE}"                                  \                    PKGBASE="${PKGBASE}"                                  \
                 ${AWK} '/^$$/ { next }                                  \                  ${AWK} '/^$$/ { next }                                  \
                         /^\#.*/ { next }                                \                          /^\#.*/ { next }                                \
                         $$1 !~ ENVIRON["PKGBASE"] { next }              \                          $$1 !~ ENVIRON["PKGBASE"] && $$1 !~ /\{/ { next } \
                         { s = sprintf("${PKG_ADMIN} pmatch \"%s\" %s && ${ECHO} \"*** WARNING - %s vulnerability in %s - see %s for more information ***\"", $$1, ENVIRON["PKGNAME"], $$2, ENVIRON["PKGNAME"], $$3); system(s); } \                          { s = sprintf("${PKG_ADMIN} pmatch \"%s\" %s && ${ECHO} \"*** WARNING - %s vulnerability in %s - see %s for more information ***\"", $$1, ENVIRON["PKGNAME"], $$2, ENVIRON["PKGNAME"], $$3); system(s); } \
                 ' < ${PKGVULNDIR}/pkg-vulnerabilities || ${ECHO} 'could not check pkg-vulnerabilities file'                  ' < ${PKGVULNDIR}/pkg-vulnerabilities || ${ECHO} 'could not check pkg-vulnerabilities file'
   
Line 814  do-checksum: uptodate-digest
Line 832  do-checksum: uptodate-digest
         if [ ! -f ${DISTINFO_FILE} ]; then                              \          if [ ! -f ${DISTINFO_FILE} ]; then                              \
                 ${ECHO_MSG} "=> No checksum file.";                     \                  ${ECHO_MSG} "=> No checksum file.";                     \
         else                                                            \          else                                                            \
                 (cd ${DISTDIR}; OK="true";                              \                  (cd ${DISTDIR}; OK="true"; missing="";                  \
                   for file in "" ${_CKSUMFILES}; do                     \                    for file in "" ${_CKSUMFILES}; do                     \
                         if [ "X$$file" = X"" ]; then continue; fi;      \                          if [ "X$$file" = X"" ]; then continue; fi;      \
                         alg=`${AWK} 'NF == 4 && $$2 == "('$$file')" && $$3 == "=" {print $$1;}' ${DISTINFO_FILE}`; \                          filesummed=false;                               \
                         if [ "X$$alg" = "X" ]; then                     \                          for a in ${DIGEST_ALGORITHMS}; do               \
                                 ${ECHO_MSG} "=> No checksum recorded for $$file."; \                                  CKSUM2=`${AWK} 'NF == 4 && $$1 == "'$$a'" && $$2 == "('$$file')" && $$3 == "=" {print $$4;}' ${DISTINFO_FILE}`; \
                                 OK="false";                             \                                  case "$${CKSUM2}" in                    \
                         else                                            \                                  "")     ${ECHO_MSG} "=> No $$a checksum recorded for $$file."; \
                                 CKSUM=`${DIGEST} $$alg < $$file`;       \                                          ;;                              \
                                 CKSUM2=`${AWK} '$$1 == "'$$alg'" && $$2 == "('$$file')"{print $$4;}' ${DISTINFO_FILE}`; \                                  *)      filesummed=true;                \
                                 if [ "$$CKSUM2" = "IGNORE" ]; then      \                                          CKSUM=`${DIGEST} $$a < $$file`; \
                                         ${ECHO_MSG} "=> Checksum for $$file is set to IGNORE in checksum file even though"; \                                          if [ "$$CKSUM2" = "IGNORE" ]; then \
                                         ${ECHO_MSG} "   the file is not in the "'$$'"{IGNOREFILES} list."; \                                                  ${ECHO_MSG} "=> Checksum for $$file is set to IGNORE in checksum file even though"; \
                                         OK="false";                     \                                                  ${ECHO_MSG} "   the file is not in the "'$$'"{IGNOREFILES} list."; \
                                 elif [ "$$CKSUM" = "$$CKSUM2" ]; then   \                                                  OK="false";             \
                                         ${ECHO_MSG} "=> Checksum OK for $$file."; \                                          elif [ "$$CKSUM" = "$$CKSUM2" ]; then   \
                                 else                                    \                                                  ${ECHO_MSG} "=> Checksum $$a OK for $$file."; \
                                         ${ECHO_MSG} "=> Checksum mismatch for $$file."; \                                          else                            \
                                         OK="false";                     \                                                  ${ECHO_MSG} "=> Checksum $$a mismatch for $$file."; \
                                 fi;                                     \                                                  OK="false";             \
                         fi;                                             \                                          fi ;;                           \
                                   esac;                                   \
                           done;                                           \
                           case "$$filesummed" in                          \
                           false)  missing="$$missing $$file";             \
                                   OK=false ;;                             \
                           esac;                                           \
                   done;                                                 \                    done;                                                 \
                   for file in "" ${_IGNOREFILES}; do                    \                    for file in "" ${_IGNOREFILES}; do                    \
                         if [ "X$$file" = X"" ]; then continue; fi;      \                          if [ "X$$file" = X"" ]; then continue; fi;      \
Line 849  do-checksum: uptodate-digest
Line 873  do-checksum: uptodate-digest
                         fi;                                             \                          fi;                                             \
                   done;                                                 \                    done;                                                 \
                   if [ "$$OK" != "true" ]; then                         \                    if [ "$$OK" != "true" ]; then                         \
                           case "$$missing" in                             \
                           "")     ;;                                      \
                           *)      ${ECHO_MSG} "Missing checksums for $$missing";; \
                           esac;                                           \
                         ${ECHO_MSG} "Make sure the Makefile and checksum file (${DISTINFO_FILE})"; \                          ${ECHO_MSG} "Make sure the Makefile and checksum file (${DISTINFO_FILE})"; \
                         ${ECHO_MSG} "are up to date.  If you want to override this check, type"; \                          ${ECHO_MSG} "are up to date.  If you want to override this check, type"; \
                         ${ECHO_MSG} "\"${MAKE} NO_CHECKSUM=yes [other args]\"."; \                          ${ECHO_MSG} "\"${MAKE} NO_CHECKSUM=yes [other args]\"."; \
Line 1111  CONFIG_SHELL?=  ${SH}
Line 1139  CONFIG_SHELL?=  ${SH}
 CONFIGURE_ENV+=         CONFIG_SHELL=${CONFIG_SHELL}  CONFIGURE_ENV+=         CONFIG_SHELL=${CONFIG_SHELL}
 CONFIGURE_ENV+=         install_sh=${INSTALL:Q}  CONFIGURE_ENV+=         install_sh=${INSTALL:Q}
 CONFIGURE_ENV+=         LIBS=${LIBS:Q}  CONFIGURE_ENV+=         LIBS=${LIBS:Q}
 CONFIGURE_ENV+=         ${USE_LIBTOOL:Dlt_cv_sys_max_cmd_len=${_OPSYS_MAX_CMDLEN}}  CONFIGURE_ENV+=         ${USE_LIBTOOL:Dlt_cv_sys_max_cmd_len=${_OPSYS_MAX_CMDLEN_CMD:D${_OPSYS_MAX_CMDLEN_CMD:sh}}}
 #  #
 # GNU_CONFIGURE_PREFIX is the argument to the --prefix option passed to the  # GNU_CONFIGURE_PREFIX is the argument to the --prefix option passed to the
 # GNU configure script.  # GNU configure script.
Line 1137  CONFIG_GUESS_OVERRIDE?=  \
Line 1165  CONFIG_GUESS_OVERRIDE?=  \
         config.guess */config.guess */*/config.guess          config.guess */config.guess */*/config.guess
 CONFIG_SUB_OVERRIDE?=           \  CONFIG_SUB_OVERRIDE?=           \
         config.sub */config.sub */*/config.sub          config.sub */config.sub */*/config.sub
   CONFIG_RPATH_OVERRIDE?=         # set by platform file as needed
 #  #
 # By default, override config.status for GNU configure packages.  We  # By default, override config.status for GNU configure packages.  We
 # never want it to execute after the configure phase has ended as it  # never want it to execute after the configure phase has ended as it
Line 1181  _REAL_TARGETS.test+= test-message pre-te
Line 1210  _REAL_TARGETS.test+= test-message pre-te
   
 .  include "../../mk/plist.mk"  .  include "../../mk/plist.mk"
   
   ##### Handle alternatives
   
   .  include "../../mk/alternatives.mk"
   
 ##### Make subtargets for non-su portion of "install".  ##### Make subtargets for non-su portion of "install".
   
 #===> "install-check-pkgname"  #===> "install-check-pkgname"
Line 1265  init-install:
Line 1298  init-install:
                 ${ECHO_MSG} "***    dependencies, risking various problems."; \                  ${ECHO_MSG} "***    dependencies, risking various problems."; \
                 exit 1;                                                 \                  exit 1;                                                 \
         fi          fi
 .  endif # !NO_PKG_REGISTER && !NO_FORCE_REGISTER && overwrite  .  endif # !NO_PKG_REGISTER && !FORCE_PKG_REGISTER && overwrite
 .  if ${PKG_INSTALLATION_TYPE} == "pkgviews"  .  if ${PKG_INSTALLATION_TYPE} == "pkgviews"
         ${_PKG_SILENT}${_PKG_DEBUG}                                     \          ${_PKG_SILENT}${_PKG_DEBUG}                                     \
         found="`${PKG_INFO} -e ${PKGNAME} || ${TRUE}`";                 \          found="`${PKG_INFO} -e ${PKGNAME} || ${TRUE}`";                 \
Line 1275  init-install:
Line 1308  init-install:
         fi          fi
 .  endif  .  endif
         ${_PKG_SILENT}${_PKG_DEBUG}if [ `${SH} -c umask` -ne ${DEF_UMASK} ]; then \          ${_PKG_SILENT}${_PKG_DEBUG}if [ `${SH} -c umask` -ne ${DEF_UMASK} ]; then \
                 ${ECHO_MSG} "${_PKGSRC_IN}>  Warning: your umask is \"`${SH} -c umask`"\".; \                  ${ECHO_MSG} "${_PKGSRC_IN}> Warning: your umask is \"`${SH} -c umask`"\".; \
                 ${ECHO_MSG} "If this is not desired, set it to an appropriate value (${DEF_UMASK})"; \                  ${ECHO_MSG} "If this is not desired, set it to an appropriate value (${DEF_UMASK})"; \
                 ${ECHO_MSG} "and install this package again by \`\`${MAKE} deinstall reinstall''."; \                  ${ECHO_MSG} "and install this package again by \`\`${MAKE} deinstall reinstall''."; \
         fi          fi
   .  if defined(PKG_DEVELOPER) && (${CHECK_FILES} == "YES")
           ${_PKG_SILENT}${_PKG_DEBUG}${ECHO_MSG} "${_PKGSRC_IN}> Generating pre-install file lists"
           ${_PKG_SILENT}${_PKG_DEBUG}${FIND} ${PREFIX} -type f -or -type l -print \
                   2>/dev/null ${CHECK_FILES_SKIP_CMD} >${WRKDIR}/.prefix.pre \
                   || ${TRUE}
   .    if ${CHECK_FILES_STRICT} == "YES"
           ${_PKG_SILENT}${_PKG_DEBUG}${FIND} ${PKG_SYSCONFDIR} -print \
                   2>/dev/null ${CHECK_FILES_SKIP_CMD} >${WRKDIR}/.sysconfdir.pre \
                   || ${TRUE}
           ${_PKG_SILENT}${_PKG_DEBUG}${FIND} ${VARBASE} -print \
                   2>/dev/null ${CHECK_FILES_SKIP_CMD} >${WRKDIR}/.varbase.pre \
                   || ${TRUE}
   .    endif
   .  endif
 .  if defined(INSTALLATION_DIRS) && !empty(INSTALLATION_DIRS)  .  if defined(INSTALLATION_DIRS) && !empty(INSTALLATION_DIRS)
         ${_PKG_SILENT}${_PKG_DEBUG}${ECHO_MSG} "${_PKGSRC_IN}> Creating installation directories"          ${_PKG_SILENT}${_PKG_DEBUG}${ECHO_MSG} "${_PKGSRC_IN}> Creating installation directories"
         ${_PKG_SILENT}${_PKG_DEBUG}                                     \          ${_PKG_SILENT}${_PKG_DEBUG}                                     \
Line 1313  init-install:
Line 1360  init-install:
         ${_PKG_SILENT}${_PKG_DEBUG}[ -d ${PREFIX} ] || ${MKDIR} ${PREFIX}          ${_PKG_SILENT}${_PKG_DEBUG}[ -d ${PREFIX} ] || ${MKDIR} ${PREFIX}
 .  endif # !NO_MTREE  .  endif # !NO_MTREE
   
   #===> "pre-install-fake-pkg"
   
   .  if !defined(NO_PKG_REGISTER)
   _REAL_TARGETS.su-install+=      pre-install-fake-pkg
   .  endif # !NO_PKG_REGISTER
   
 #===> "pre-install-script"  #===> "pre-install-script"
   
 _REAL_TARGETS.su-install+=      pre-install-script  _REAL_TARGETS.su-install+=      pre-install-script
Line 1357  _REAL_TARGETS.su-install+= plist
Line 1410  _REAL_TARGETS.su-install+= plist
 .PHONY: plist  .PHONY: plist
 plist: ${PLIST}  plist: ${PLIST}
   
   #===> "post-install-check-files"
   
   .if defined(PKG_DEVELOPER) && (${CHECK_FILES} == "YES")
   _REAL_TARGETS.su-install+=      post-install-check-files
   .PHONY: post-install-check-files
   post-install-check-files:
           ${_PKG_SILENT}${_PKG_DEBUG}${ECHO_MSG} "${_PKGSRC_IN}> Generating post-install file lists"
           ${_PKG_SILENT}${_PKG_DEBUG}${FIND} ${PREFIX} -type f -or -type l -print \
                   2>/dev/null ${CHECK_FILES_SKIP_CMD} >${WRKDIR}/.prefix.post \
                   || ${TRUE}
   .  if ${CHECK_FILES_STRICT} == "YES"
           ${_PKG_SILENT}${_PKG_DEBUG}${FIND} ${PKG_SYSCONFDIR} -print \
                   2>/dev/null ${CHECK_FILES_SKIP_CMD} >${WRKDIR}/.sysconfdir.post\
                   || ${TRUE}
           ${_PKG_SILENT}${_PKG_DEBUG}${FIND} ${VARBASE} -print \
                   2>/dev/null ${CHECK_FILES_SKIP_CMD} >${WRKDIR}/.varbase.post \
                   || ${TRUE}
   .  endif
   .endif
   
 #===> "post-install-script"  #===> "post-install-script"
   
 _REAL_TARGETS.su-install+=      post-install-script  _REAL_TARGETS.su-install+=      post-install-script
Line 1446  post-install-message:
Line 1519  post-install-message:
 .    endif  .    endif
 .  endif  .  endif
   
 #===> "fake-pkg"  #===> "register-pkg"
   
 _REAL_TARGETS.su-install+=      fake-pkg  .  if !defined(NO_PKG_REGISTER)
   _REAL_TARGETS.su-install+=      register-pkg
   .  endif # !NO_PKG_REGISTER
   
 #===> "check-shlibs"  #===> "check-shlibs"
   
Line 1456  _REAL_TARGETS.su-install+= fake-pkg
Line 1531  _REAL_TARGETS.su-install+= fake-pkg
 _REAL_TARGETS.su-install+=      check-shlibs  _REAL_TARGETS.su-install+=      check-shlibs
 .  endif  .  endif
   
   #===> "check-files"
   
   .  if defined(PKG_DEVELOPER) && (${CHECK_FILES} == "YES")
   _REAL_TARGETS.su-install+=      check-files
   .  endif
   
 .endif  # !empty(PKG_PHASES:Minstall)  .endif  # !empty(PKG_PHASES:Minstall)
   
 ############################################################################  ############################################################################
Line 1518  show-vars show-vars-noeval:
Line 1599  show-vars show-vars-noeval:
 .  for def in ${EVAL_PREFIX}  .  for def in ${EVAL_PREFIX}
 .    if !defined(${def:C/=.*$//})  .    if !defined(${def:C/=.*$//})
 ${def:C/=.*$//}_DEFAULT?=${LOCALBASE}  ${def:C/=.*$//}_DEFAULT?=${LOCALBASE}
 _${def:C/=.*$//}_CMD=   ${PKG_INFO} -qp ${def:C/^.*=//} 2>/dev/null | ${AWK} '{ print $$2; exit }' | grep '' || ${ECHO} ${${def:C/=.*$//}_DEFAULT}  _${def:C/=.*$//}_CMD=   ${PKG_INFO} -qp ${def:C/^.*=//} 2>/dev/null | ${AWK} '{ print $$2; exit }' | ${GREP} . || ${ECHO} ${${def:C/=.*$//}_DEFAULT}
 ${def:C/=.*$//}=        ${_${def:C/=.*$//}_CMD:sh}  ${def:C/=.*$//}=        ${_${def:C/=.*$//}_CMD:sh}
 .    endif  .    endif
 .  endfor  .  endfor
 .endif  .endif
   
 PREPEND_PATH?=          # empty  .if !defined(_PATH_ORIG)
   _PATH_ORIG:=            ${PATH}
   MAKEFLAGS+=             _PATH_ORIG=${_PATH_ORIG:Q}
   .endif
   
 .if !empty(PREPEND_PATH)  .if !empty(PREPEND_PATH)
 # This is very Special.  Because PREPEND_PATH is set with += in reverse order,  # This is very Special.  Because PREPEND_PATH is set with += in reverse order,
 # the awk expression reverses the order again (since bootstrap bmake doesn't  # the awk expression reverses the order again (since bootstrap bmake doesn't
 # yet support the :[-1..1] construct).  # yet support the :[-1..1] construct).
 _PATH_CMD=              ${ECHO} `${ECHO} ${PREPEND_PATH:Q} | ${AWK} '{for (i=NF;i>0;i--) print $$i}'`:${_PATH_ORIG} | ${TR} ' ' :  _PATH_CMD=              ${ECHO} `${ECHO} ${PREPEND_PATH:Q} | ${AWK} '{ORS=":";for (i=NF;i>0;i--) print $$i}'`${_PATH_ORIG}
 PATH=                   ${_PATH_CMD:sh} # DOES NOT use :=, to defer evaluation  PATH=                   ${_PATH_CMD:sh} # DOES NOT use :=, to defer evaluation
 .endif  .endif
   
Line 1771  makesum: recurse-fetch uptodate-digest
Line 1856  makesum: recurse-fetch uptodate-digest
         cd ${DISTDIR};                                                  \          cd ${DISTDIR};                                                  \
         for sumfile in "" ${_CKSUMFILES}; do                            \          for sumfile in "" ${_CKSUMFILES}; do                            \
                 if [ "X$$sumfile" = "X" ]; then continue; fi;           \                  if [ "X$$sumfile" = "X" ]; then continue; fi;           \
                 ${DIGEST} ${DIGEST_ALGORITHM} $$sumfile >> $$newfile;   \                  for a in "" ${DIGEST_ALGORITHMS}; do                    \
                           if [ "X$$a" = "X" ]; then continue; fi;         \
                           ${DIGEST} $$a $$sumfile >> $$newfile;           \
                   done;                                                   \
                 ${WC} -c $$sumfile | ${AWK} '{ print "Size (" $$2 ") = " $$1 " bytes" }' >> $$newfile; \                  ${WC} -c $$sumfile | ${AWK} '{ print "Size (" $$2 ") = " $$1 " bytes" }' >> $$newfile; \
         done;                                                           \          done;                                                           \
         for ignore in "" ${_IGNOREFILES}; do                            \          for ignore in "" ${_IGNOREFILES}; do                            \
                 if [ "X$$ignore" = "X" ]; then continue; fi;            \                  if [ "X$$ignore" = "X" ]; then continue; fi;            \
                 ${ECHO} "${DIGEST_ALGORITHM} ($$ignore) = IGNORE" >> $$newfile; \                  for a in "" ${DIGEST_ALGORITHMS}; do                    \
                           if [ "X$$a" = "X" ]; then continue; fi;         \
                           ${ECHO} "$$a ($$ignore) = IGNORE" >> $$newfile; \
                   done;                                                   \
         done;                                                           \          done;                                                           \
         if [ -f ${DISTINFO_FILE} ]; then                                \          if [ -f ${DISTINFO_FILE} ]; then                                \
                 ${AWK} '$$2 ~ /\(patch-[a-z0-9]+\)/ { print $$0 }' < ${DISTINFO_FILE} >> $$newfile; \                  ${AWK} '$$2 ~ /\(patch-[a-z0-9]+\)/ { print $$0 }' < ${DISTINFO_FILE} >> $$newfile; \
Line 1808  makepatchsum mps: uptodate-digest
Line 1899  makepatchsum mps: uptodate-digest
                         case $$sumfile in                               \                          case $$sumfile in                               \
                                 patch-local-*) ;;                       \                                  patch-local-*) ;;                       \
                                 *.orig|*.rej|*~) continue ;;            \                                  *.orig|*.rej|*~) continue ;;            \
                                 *)      ${ECHO} "${DIGEST_ALGORITHM} ($$sumfile) = `${SED} -e '/\$$NetBSD.*/d' $$sumfile | ${DIGEST} ${DIGEST_ALGORITHM}`" >> $$newfile;; \                                  *)      ${ECHO} "${PATCH_DIGEST_ALGORITHM} ($$sumfile) = `${SED} -e '/\$$NetBSD.*/d' $$sumfile | ${DIGEST} ${DIGEST_ALGORITHM}`" >> $$newfile;; \
                         esac;                                           \                          esac;                                           \
                 done);                                                  \                  done);                                                  \
         fi;                                                             \          fi;                                                             \
Line 1915  _FETCH_FILE=        \
Line 2006  _FETCH_FILE=        \
                         fi;                                             \                          fi;                                             \
                         if ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${site}$${bfile} ${FETCH_AFTER_ARGS}; then \                          if ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${site}$${bfile} ${FETCH_AFTER_ARGS}; then \
                                 if [ -n "${FAILOVER_FETCH}" -a -f ${DISTINFO_FILE} -a -f ${_DISTDIR}/$$bfile ]; then \                                  if [ -n "${FAILOVER_FETCH}" -a -f ${DISTINFO_FILE} -a -f ${_DISTDIR}/$$bfile ]; then \
                                         alg=`${AWK} 'NF == 4 && $$2 == "('$$file')" && $$3 == "=" {print $$1;}' ${DISTINFO_FILE}`; \                                          alg=`${AWK} 'NF == 4 && $$2 == "('$$file')" && $$3 == "=" {print $$1; exit}' ${DISTINFO_FILE}`; \
                                         if [ -z "$$alg" ]; then         \                                          if [ -z "$$alg" ]; then         \
                                                 alg=${DIGEST_ALGORITHM};\                                                  alg=${PATCH_DIGEST_ALGORITHM};\
                                         fi;                             \                                          fi;                             \
                                         CKSUM=`${DIGEST} $$alg < ${_DISTDIR}/$$bfile`; \                                          CKSUM=`${DIGEST} $$alg < ${_DISTDIR}/$$bfile`; \
                                         CKSUM2=`${AWK} '$$1 == "'$$alg'" && $$2 == "('$$file')" {print $$4;}' <${DISTINFO_FILE}`; \                                          CKSUM2=`${AWK} '$$1 == "'$$alg'" && $$2 == "('$$file')" {print $$4;}' <${DISTINFO_FILE}`; \
Line 2068  ${WRKDIR}:
Line 2159  ${WRKDIR}:
 .  endif  .  endif
 .endif  .endif
         ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${WRKDIR}          ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${WRKDIR}
           ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${PKG_DB_TMPDIR}
 .ifdef WRKOBJDIR  .ifdef WRKOBJDIR
 .  if ${PKGSRC_LOCKTYPE} == "sleep" || ${PKGSRC_LOCKTYPE} == "once"  .  if ${PKGSRC_LOCKTYPE} == "sleep" || ${PKGSRC_LOCKTYPE} == "once"
 .    if !exists(${LOCKFILE})  .    if !exists(${LOCKFILE})
Line 2405  do-ltconfig-override:
Line 2497  do-ltconfig-override:
 .  endfor  .  endfor
 .endif  .endif
   
 .if defined(CONFIG_GUESS_OVERRIDE) || defined(CONFIG_SUB_OVERRIDE)  
 _CONFIGURE_PREREQ+=     do-config-star-override  _CONFIGURE_PREREQ+=     do-config-star-override
 .PHONY: do-config-star-override  .PHONY: do-config-star-override
 do-config-star-override:  do-config-star-override:
 .  if defined(CONFIG_GUESS_OVERRIDE) && !empty(CONFIG_GUESS_OVERRIDE)  .if defined(GNU_CONFIGURE)
   .  if !empty(CONFIG_GUESS_OVERRIDE)
 .    for _pattern_ in ${CONFIG_GUESS_OVERRIDE}  .    for _pattern_ in ${CONFIG_GUESS_OVERRIDE}
         ${_PKG_SILENT}${_PKG_DEBUG}cd ${WRKSRC};                        \          ${_PKG_SILENT}${_PKG_DEBUG}cd ${WRKSRC};                        \
         for file in ${_pattern_}; do                                    \          for file in ${_pattern_}; do                                    \
Line 2421  do-config-star-override:
Line 2513  do-config-star-override:
         done          done
 .    endfor  .    endfor
 .  endif  .  endif
 .  if defined(CONFIG_SUB_OVERRIDE) && !empty(CONFIG_SUB_OVERRIDE)  .  if !empty(CONFIG_SUB_OVERRIDE)
 .    for _pattern_ in ${CONFIG_SUB_OVERRIDE}  .    for _pattern_ in ${CONFIG_SUB_OVERRIDE}
         ${_PKG_SILENT}${_PKG_DEBUG}cd ${WRKSRC};                        \          ${_PKG_SILENT}${_PKG_DEBUG}cd ${WRKSRC};                        \
         for file in ${_pattern_}; do                                    \          for file in ${_pattern_}; do                                    \
Line 2433  do-config-star-override:
Line 2525  do-config-star-override:
         done          done
 .    endfor  .    endfor
 .  endif  .  endif
   .  if !empty(CONFIG_RPATH_OVERRIDE)
   .    for _pattern_ in ${CONFIG_RPATH_OVERRIDE}
           ${_PKG_SILENT}${_PKG_DEBUG}cd ${WRKSRC};                        \
           for file in ${_pattern_}; do                                    \
                   if [ -f "$$file" ]; then                                \
                           ${RM} -f $$file;                                \
                           ${LN} -s ${PKGSRCDIR}/mk/gnu-config/config.rpath \
                                   $$file;                                 \
                   fi;                                                     \
           done
   .    endfor
   .  endif
 .endif  .endif
   
 PKGCONFIG_OVERRIDE_SED= \  PKGCONFIG_OVERRIDE_SED= \
Line 2666  check-shlibs:
Line 2770  check-shlibs:
                 ${SHCOMMENT} Might not error-out for non-pkg-developers; \                  ${SHCOMMENT} Might not error-out for non-pkg-developers; \
                 exit 1;                                                 \                  exit 1;                                                 \
         fi          fi
 .endif # NO_PKG_REGISTER  .endif # !NO_PKG_REGISTER
   
   # CHECK_FILES_SKIP is a list of file names that will be skipped when
   # analyzing file lists in the check-files target.  This is useful to
   # avoid getting errors triggered by changes in directories not really
   # handled by pkgsrc.
   #
   # We have to do this here, i.e., quite late in bsd.pkg.mk parsing, so
   # that the variables used in them are defined.  Otherwise we may get
   # problems with the 'for' expressions.
   .if defined(INFO_DIR)
   CHECK_FILES_SKIP+=      ${PREFIX}/${INFO_DIR}/dir
   .endif
   CHECK_FILES_SKIP+=      ${PREFIX}/emul/linux/proc
   
   .for e c in ${CONF_FILES} ${SUPPORT_FILES}
   CHECK_FILES_SKIP+=      ${c}/.pkgsrc
   .endfor
   .for e c o g m in ${CONF_FILES_PERMS} ${SUPPORT_FILES_PERMS}
   CHECK_FILES_SKIP+=      ${c}/.pkgsrc
   .endfor
   .for d in ${MAKE_DIRS} ${OWN_DIRS}
   CHECK_FILES_SKIP+=      ${d}
   .endfor
   .for d o g m in ${MAKE_DIRS_PERMS} ${OWN_DIRS_PERMS}
   CHECK_FILES_SKIP+=      ${d}
   .endfor
   
   CHECK_FILES_SKIP_CMD=   | ${GREP} -v ${CHECK_FILES_SKIP:@f@-e ${f:Q}@}
   
   # Check if the generated PLIST matches the list of really installed files.
   #
   .PHONY: check-files
   check-files:
   .if !defined(NO_PKG_REGISTER)
           ${_PKG_SILENT}${_PKG_DEBUG}                                     \
           errors=0;                                                       \
           diff -u ${WRKDIR}/.prefix.pre ${WRKDIR}/.prefix.post            \
                   >${WRKDIR}/.files.diff || ${TRUE};                      \
           ${GREP} '^+/' ${WRKDIR}/.files.diff | ${SED} "s|^+||" | ${SORT} \
                   >${WRKDIR}/.files.added;                                \
           ${GREP} '^-/' ${WRKDIR}/.files.diff | ${SED} "s|^-||" | ${SORT} \
                   >${WRKDIR}/.files.deleted;                              \
           if ${TEST} `${WC} -l ${WRKDIR}/.files.deleted |                 \
                   ${AWK} '{ print $$1; }'` -gt 0;                         \
           then                                                            \
                   echo "*** The following files have been deleted from"   \
                        "${PREFIX}!";                                      \
                   ${SED} "s|^|        |" <${WRKDIR}/.files.deleted;       \
                   errors=1;                                               \
           fi;                                                             \
           ${GREP} '^[A-Za-z]' ${PLIST} | ${SED} "s|^|${PREFIX}/|" |       \
                   ${SORT} >${WRKDIR}/.files.expected;                     \
           if ! ${CMP} -s ${WRKDIR}/.files.expected ${WRKDIR}/.files.added; then \
                   echo "*** The PLIST does not match installed files!";   \
                   echo "    The following files were not expected in ${PREFIX}:";\
                   diff -u ${WRKDIR}/.files.expected ${WRKDIR}/.files.added | \
                           ${GREP} '^+[^+]' | ${SED} "s|^+|        |";     \
                   errors=1;                                               \
           fi;                                                             \
           if [ ${CHECK_FILES_STRICT} = "YES" ] &&                         \
              ! ${CMP} -s ${WRKDIR}/.sysconfdir.pre ${WRKDIR}/.sysconfdir.post; \
           then                                                            \
                   echo "*** The package has modified ${PKG_SYSCONFDIR}"   \
                        "contents directly!";                              \
                   echo "    The offending files/directories are:";        \
                   diff -u ${WRKDIR}/.sysconfdir.pre ${WRKDIR}/.sysconfdir.post | \
                           ${GREP} '^+[^+]' | ${SED} "s|^+|        |";     \
                   errors=1;                                               \
           fi;                                                             \
           if [ ${CHECK_FILES_STRICT} = "YES" ] &&                         \
              ! ${CMP} -s ${WRKDIR}/.varbase.pre ${WRKDIR}/.varbase.post; then \
                   echo "*** The package has modified ${VARBASE} contents" \
                        "directly!";                                       \
                   echo "    The offending files/directories are:";        \
                   diff -u ${WRKDIR}/.varbase.pre ${WRKDIR}/.varbase.post |\
                           ${GREP} '^+[^+]' | ${SED} "s|^+|        |";     \
                   errors=1;                                               \
           fi;                                                             \
           ${RM} -f ${WRKDIR}/.files.added ${WRKDIR}/.files.deleted        \
                    ${WRKDIR}/.files.diff ${WRKDIR}/.files.expected;       \
           ${TEST} $$errors -eq 0
   .endif
   
 LOCKFILE=       ${WRKDIR}/.lockfile  LOCKFILE=       ${WRKDIR}/.lockfile
 .for targ in ${_PKG_PHASES_WRKDIR}  .for targ in ${_PKG_PHASES_WRKDIR}
Line 2683  acquire-${targ}-lock:
Line 2869  acquire-${targ}-lock:
                 ${FALSE};                                               \                  ${FALSE};                                               \
         fi;                                                             \          fi;                                                             \
         while true; do                                                  \          while true; do                                                  \
                 if ${TEST} -f /var/run/dmesg.boot -a -f ${LOCKFILE} -a  \                  : "Remove lock files older than the last reboot";       \
                      /var/run/dmesg.boot -nt ${LOCKFILE}; then          \                  if ${TEST} -f /var/run/dmesg.boot -a -f ${LOCKFILE}; then \
                         ${ECHO} "=> Removing stale ${LOCKFILE}";        \                          rebooted=`${FIND} /var/run/dmesg.boot -newer ${LOCKFILE} -print`; \
                         ${RM} ${LOCKFILE};                              \                          if ${TEST} x"$$rebooted" != x; then             \
                                   ${ECHO} "=> Removing stale ${LOCKFILE}"; \
                                   ${RM} ${LOCKFILE};                      \
                           fi;                                             \
                 fi;                                                     \                  fi;                                                     \
                 ${SHLOCK} -f ${LOCKFILE} -p $$ppid && break;            \                  ${SHLOCK} -f ${LOCKFILE} -p $$ppid && break;            \
                 ${ECHO} "=> Lock is held by pid `cat ${LOCKFILE}`";     \                  ${ECHO} "=> Lock is held by pid `cat ${LOCKFILE}`";     \
Line 3213  print-pkg-size-this:
Line 3402  print-pkg-size-this:
         | ${SORT} -u                                                    \          | ${SORT} -u                                                    \
         | ${SED} -e "s/'/'\\\\''/g" -e "s/.*/'&'/"                      \          | ${SED} -e "s/'/'\\\\''/g" -e "s/.*/'&'/"                      \
         | ${XARGS} -n 256 ${LS} -ld                                     \          | ${XARGS} -n 256 ${LS} -ld                                     \
         | ${AWK} 'BEGIN { print("0 "); }                                \          | ${AWK} '{ s += $$5; } END { print s; }'                       \
                   { print($$5, " + "); }                                \  
                   END { print("p"); }'                                  \  
         | ${DC}  
   
 # Sizes of required pkgs (only)  # Sizes of required pkgs (only)
 #  #
Line 3230  print-pkg-size-depends:
Line 3416  print-pkg-size-depends:
                 | ${XARGS} -n 1 ${SETENV} ${PKG_BEST_EXISTS}            \                  | ${XARGS} -n 1 ${SETENV} ${PKG_BEST_EXISTS}            \
                 | ${SORT} -u                                            \                  | ${SORT} -u                                            \
                 | ${XARGS} -n 256 ${SETENV} ${PKG_INFO} -qs             \                  | ${XARGS} -n 256 ${SETENV} ${PKG_INFO} -qs             \
                 | ${AWK} -- 'BEGIN { print("0 "); }                     \                  | ${AWK} '/^[0-9]+$$/ { s += $$1; } END { print s; }';  \
                         /^[0-9]+$$/ { print($$1, " + "); }              \  
                         END { print("p"); }'                            \  
                 | ${DC};                                                \  
         else                                                            \          else                                                            \
                 ${ECHO} "0";                                            \                  ${ECHO} "0";                                            \
         fi          fi
Line 3260  MAKE_ENV+= VIEWBASE=${VIEWBASE}
Line 3443  MAKE_ENV+= VIEWBASE=${VIEWBASE}
   
 PKGVIEWS+=      ${DEFAULT_VIEW.${PKGBASE}}  PKGVIEWS+=      ${DEFAULT_VIEW.${PKGBASE}}
   
 # Fake installation of package so that user can pkg_delete it later.  .PHONY: pre-install-fake-pkg
 # Also, make sure that an installed package is recognized correctly in  pre-install-fake-pkg:
 # accordance to the @pkgdep directive in the packing lists.  
   
 .PHONY: fake-pkg  
 fake-pkg: ${PLIST} ${DESCR} ${MESSAGE}  
         ${_PKG_SILENT}${_PKG_DEBUG}                                     \  
         if [ ! -f ${PLIST} -o ! -f ${DESCR} ]; then                     \  
                 ${ECHO} "** Missing package files for ${PKGNAME} - installation not recorded."; \  
                 exit 1;                                                 \  
         fi  
         ${_PKG_SILENT}${_PKG_DEBUG}                                     \  
         if [ ! -d ${_PKG_DBDIR} ]; then                                 \  
                 ${RM} -f ${_PKG_DBDIR};                                 \  
                 ${MKDIR} ${_PKG_DBDIR};                                 \  
         fi  
 .if defined(FORCE_PKG_REGISTER)  
         ${_PKG_SILENT}${_PKG_DEBUG}${PKG_ADMIN} delete ${PKGNAME}  
 .  if ${PKG_INSTALLATION_TYPE} == "overwrite"  
         ${_PKG_SILENT}${_PKG_DEBUG}${RM} -rf ${_PKG_DBDIR}/${PKGNAME}  
 .  endif  
 .endif  
         ${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${BUILD_VERSION_FILE} ${BUILD_INFO_FILE}  
         ${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${SIZE_PKG_FILE} ${SIZE_ALL_FILE}  
         ${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${PRESERVE_FILE}          ${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${PRESERVE_FILE}
 .if defined(PKG_PRESERVE)  .if defined(PKG_PRESERVE)
         ${_PKG_SILENT}${_PKG_DEBUG}${DATE} > ${PRESERVE_FILE}          ${_PKG_SILENT}${_PKG_DEBUG}${DATE} > ${PRESERVE_FILE}
Line 3312  fake-pkg: ${PLIST} ${DESCR} ${MESSAGE}
Line 3473  fake-pkg: ${PLIST} ${DESCR} ${MESSAGE}
                 done;                                                   \                  done;                                                   \
         fi;                                                             \          fi;                                                             \
         eval ${GREP} '\$$NetBSD' $$files | ${SED} -e 's|^${PKGSRCDIR}/||' > ${BUILD_VERSION_FILE}          eval ${GREP} '\$$NetBSD' $$files | ${SED} -e 's|^${PKGSRCDIR}/||' > ${BUILD_VERSION_FILE}
           ${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${BUILD_INFO_FILE}
 .for def in ${BUILD_DEFS} ${BUILD_DEFS_FIXED}  .for def in ${BUILD_DEFS} ${BUILD_DEFS_FIXED}
         @${ECHO} ${def}=${${def}:Q} | ${SED} -e 's|^PATH=[^     ]*|PATH=...|' >> ${BUILD_INFO_FILE}          @${ECHO} ${def}=${${def}:Q} | ${SED} -e 's|^PATH=[^     ]*|PATH=...|' >> ${BUILD_INFO_FILE}
 .endfor  .endfor
Line 3324  fake-pkg: ${PLIST} ${DESCR} ${MESSAGE}
Line 3486  fake-pkg: ${PLIST} ${DESCR} ${MESSAGE}
 .if !empty(USE_GNU_TOOLS:Mmake)  .if !empty(USE_GNU_TOOLS:Mmake)
         @${ECHO} "GMAKE=`${GMAKE} --version | ${GREP} Make`" >> ${BUILD_INFO_FILE}          @${ECHO} "GMAKE=`${GMAKE} --version | ${GREP} Make`" >> ${BUILD_INFO_FILE}
 .endif  .endif
           ${_PKG_SILENT}${_PKG_DEBUG}                                     \
           ${ECHO} "_PKGTOOLS_VER=${PKGTOOLS_VERSION}" >> ${BUILD_INFO_FILE}
   
   .PHONY: post-install-fake-pkg
   post-install-fake-pkg: ${PLIST} ${DESCR} ${MESSAGE}
           ${_PKG_SILENT}${_PKG_DEBUG}                                     \
           if [ ! -f ${PLIST} -o ! -f ${DESCR} ]; then                     \
                   ${ECHO} "** Missing package files for ${PKGNAME} - installation not recorded."; \
                   exit 1;                                                 \
           fi
           ${_PKG_SILENT}${_PKG_DEBUG}                                     \
           if [ ! -d ${_PKG_DBDIR} ]; then                                 \
                   ${RM} -f ${_PKG_DBDIR};                                 \
                   ${MKDIR} ${_PKG_DBDIR};                                 \
           fi
   .if defined(FORCE_PKG_REGISTER)
           ${_PKG_SILENT}${_PKG_DEBUG}${PKG_ADMIN} delete ${PKGNAME}
   .endif
           ${_PKG_SILENT}${_PKG_DEBUG}                                     \
           ${ECHO} ${COMMENT:Q} > ${PKG_DB_TMPDIR}/+COMMENT
           ${_PKG_SILENT}${_PKG_DEBUG}                                     \
           case "${DESCR}" in                                              \
           ${PKG_DB_TMPDIR}/*|"") ;;                                       \
           *)      if ${TEST} -f ${DESCR}; then                            \
                           ${CP} ${DESCR} ${PKG_DB_TMPDIR}/+DESC;          \
                   fi ;;                                                   \
           esac
           ${_PKG_SILENT}${_PKG_DEBUG}                                     \
           case "${MESSAGE}" in                                            \
           ${PKG_DB_TMPDIR}/*|"") ;;                                       \
           *)      if ${TEST} -f ${MESSAGE}; then                          \
                           ${CP} ${MESSAGE} ${PKG_DB_TMPDIR}/+DISPLAY;     \
                   fi ;;                                                   \
           esac
           ${_PKG_SILENT}${_PKG_DEBUG}                                     \
           case ${PKG_INSTALLATION_TYPE} in                                \
           pkgview)        ${TOUCH} ${PKG_DB_TMPDIR}/+VIEWS ;;             \
           esac
           ${_PKG_SILENT}${_PKG_DEBUG}                                     \
           case "${INSTALL_FILE}" in                                       \
           ${PKG_DB_TMPDIR}/*|"") ;;                                       \
           *)      if ${TEST} -f ${INSTALL_FILE}; then                     \
                           ${CP} ${INSTALL_FILE} ${PKG_DB_TMPDIR}/+INSTALL; \
                   fi ;;                                                   \
           esac
           ${_PKG_SILENT}${_PKG_DEBUG}                                     \
           case "${DEINSTALL_FILE}" in                                     \
           ${PKG_DB_TMPDIR}/*|"") ;;                                       \
           *)      if ${TEST} -f ${DEINSTALL_FILE}; then                   \
                           ${CP} ${DEINSTALL_FILE} ${PKG_DB_TMPDIR}/+DEINSTALL; \
                   fi ;;                                                   \
           esac
           ${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${SIZE_PKG_FILE} ${SIZE_ALL_FILE}
 .if ${SHLIB_HANDLING} == "YES" && ${CHECK_SHLIBS} == "YES"  .if ${SHLIB_HANDLING} == "YES" && ${CHECK_SHLIBS} == "YES"
         ${_PKG_SILENT}${_PKG_DEBUG}                                     \          ${_PKG_SILENT}${_PKG_DEBUG}                                     \
         case "${LDD}" in                                                \          case "${LDD}" in                                                \
Line 3362  fake-pkg: ${PLIST} ${DESCR} ${MESSAGE}
Line 3577  fake-pkg: ${PLIST} ${DESCR} ${MESSAGE}
         done          done
 .endif  .endif
         ${_PKG_SILENT}${_PKG_DEBUG}                                     \          ${_PKG_SILENT}${_PKG_DEBUG}                                     \
         ${ECHO} "_PKGTOOLS_VER=${PKGTOOLS_VERSION}" >> ${BUILD_INFO_FILE}  
         ${_PKG_SILENT}${_PKG_DEBUG}                                     \  
         size_this=`${MAKE} ${MAKEFLAGS} print-pkg-size-this`;           \          size_this=`${MAKE} ${MAKEFLAGS} print-pkg-size-this`;           \
         size_depends=`${MAKE} ${MAKEFLAGS} print-pkg-size-depends`;     \          size_depends=`${MAKE} ${MAKEFLAGS} print-pkg-size-depends`;     \
         ${ECHO} $$size_this >${SIZE_PKG_FILE};                          \          ${ECHO} $$size_this >${SIZE_PKG_FILE};                          \
         ${ECHO} $$size_this $$size_depends + p | ${DC} >${SIZE_ALL_FILE}          ${ECHO} $$size_this $$size_depends                              \
                   | ${AWK} '{ print $$1 + $$2; }' >${SIZE_ALL_FILE}
   
   # Fake installation of package so that user can pkg_delete it later.
   # Also, make sure that an installed package is recognized correctly in
   # accordance to the @pkgdep directive in the packing lists.
   #
   .PHONY: register-pkg
   register-pkg: post-install-fake-pkg
         ${_PKG_SILENT}${_PKG_DEBUG}                                     \          ${_PKG_SILENT}${_PKG_DEBUG}                                     \
         doit=yes;                                                       \          doit=yes;                                                       \
         case ${PKG_INSTALLATION_TYPE} in                                \          case ${PKG_INSTALLATION_TYPE} in                                \
Line 3378  fake-pkg: ${PLIST} ${DESCR} ${MESSAGE}
Line 3599  fake-pkg: ${PLIST} ${DESCR} ${MESSAGE}
         case $$doit in                                                  \          case $$doit in                                                  \
         yes)                                                            \          yes)                                                            \
                 ${ECHO_MSG} "${_PKGSRC_IN}> Registering installation for ${PKGNAME}"; \                  ${ECHO_MSG} "${_PKGSRC_IN}> Registering installation for ${PKGNAME}"; \
                 ${MKDIR} ${_PKG_DBDIR}/${PKGNAME};                      \                  ${PKG_CREATE} ${PKG_ARGS_INSTALL} -O ${PKGFILE} > ${PKG_DB_TMPDIR}/+CONTENTS; \
                 ${PKG_CREATE} ${PKG_ARGS_INSTALL} -O ${PKGFILE} > ${_PKG_DBDIR}/${PKGNAME}/+CONTENTS; \  
                 ${CP} ${DESCR} ${_PKG_DBDIR}/${PKGNAME}/+DESC;  \  
                 ${ECHO} ${COMMENT:Q} > ${_PKG_DBDIR}/${PKGNAME}/+COMMENT; \  
                 ${CP} ${BUILD_VERSION_FILE} ${_PKG_DBDIR}/${PKGNAME}/+BUILD_VERSION; \  
                 ${CP} ${BUILD_INFO_FILE} ${_PKG_DBDIR}/${PKGNAME}/+BUILD_INFO; \  
                 if ${TEST} -f ${SIZE_PKG_FILE}; then                    \  
                         ${CP} ${SIZE_PKG_FILE} ${_PKG_DBDIR}/${PKGNAME}/+SIZE_PKG; \  
                 fi ;                                                    \  
                 if ${TEST} -f ${SIZE_ALL_FILE}; then                    \  
                         ${CP} ${SIZE_ALL_FILE} ${_PKG_DBDIR}/${PKGNAME}/+SIZE_ALL; \  
                 fi ;                                                    \  
                 if ${TEST} -f ${PRESERVE_FILE}; then                    \  
                         ${CP} ${PRESERVE_FILE} ${_PKG_DBDIR}/${PKGNAME}/+PRESERVE; \  
                 fi ;                                                    \  
                 if [ "${PKG_INSTALLATION_TYPE}" = "pkgviews" ]; then    \  
                         ${TOUCH} ${_PKG_DBDIR}/${PKGNAME}/+VIEWS;       \  
                 fi ;                                                    \  
                 if [ -n "${INSTALL_FILE}" ]; then                       \  
                         if ${TEST} -f ${INSTALL_FILE}; then             \  
                                 ${CP} ${INSTALL_FILE} ${_PKG_DBDIR}/${PKGNAME}/+INSTALL; \  
                         fi;                                             \  
                 fi;                                                     \  
                 if [ -n "${DEINSTALL_FILE}" ]; then                     \  
                         if ${TEST} -f ${DEINSTALL_FILE}; then           \  
                                 ${CP} ${DEINSTALL_FILE} ${_PKG_DBDIR}/${PKGNAME}/+DEINSTALL; \  
                         fi;                                             \  
                 fi;                                                     \  
                 if [ -n "${MESSAGE}" ]; then                            \  
                         if ${TEST} -f ${MESSAGE}; then                  \  
                                 ${CP} ${MESSAGE} ${_PKG_DBDIR}/${PKGNAME}/+DISPLAY; \  
                         fi;                                             \  
                 fi;                                                     \  
                 list="`${MAKE} ${MAKEFLAGS} run-depends-list ECHO_MSG=${TRUE} | ${SORT} -u`" ; \                  list="`${MAKE} ${MAKEFLAGS} run-depends-list ECHO_MSG=${TRUE} | ${SORT} -u`" ; \
                 for realdep in `${ECHO} $$list | ${XARGS} -n 1 ${SETENV} ${PKG_BEST_EXISTS} | ${SORT} -u`; do \                  for realdep in `${ECHO} $$list | ${XARGS} -n 1 ${SETENV} ${PKG_BEST_EXISTS} | ${SORT} -u`; do \
                         if ${TEST} -z "$$realdep"; then                 \                          if ${TEST} -z "$$realdep"; then                 \
Line 3427  fake-pkg: ${PLIST} ${DESCR} ${MESSAGE}
Line 3616  fake-pkg: ${PLIST} ${DESCR} ${MESSAGE}
                                 ${MV} ${_PKG_DBDIR}/$$realdep/reqby.$$$$ ${_PKG_DBDIR}/$$realdep/+REQUIRED_BY; \                                  ${MV} ${_PKG_DBDIR}/$$realdep/reqby.$$$$ ${_PKG_DBDIR}/$$realdep/+REQUIRED_BY; \
                                 ${ECHO} "${PKGNAME} requires installed package $$realdep"; \                                  ${ECHO} "${PKGNAME} requires installed package $$realdep"; \
                         fi;                                             \                          fi;                                             \
                 done ;;                                                 \                  done;                                                   \
                   case ${PKG_INSTALLATION_TYPE} in                        \
                   overwrite)      ${RM} -rf ${_PKG_DBDIR}/${PKGNAME} ;;   \
                   esac;                                                   \
                   ${MKDIR} ${_PKG_DBDIR}/${PKGNAME};                      \
                   ${CP} ${PKG_DB_TMPDIR}/+* ${_PKG_DBDIR}/${PKGNAME};     \
                   ;;                                                      \
         esac          esac
 .if (${PKG_INSTALLATION_TYPE} == "pkgviews") && \  .if (${PKG_INSTALLATION_TYPE} == "pkgviews") && \
       !empty(BUILD_VIEWS:M[yY][eE][sS])        !empty(BUILD_VIEWS:M[yY][eE][sS])

Legend:
Removed from v.1.1540.2.10  
changed lines
  Added in v.1.1540.2.26

CVSweb <webmaster@jp.NetBSD.org>