diff options
-rw-r--r-- | Packages.txt | 35 | ||||
-rw-r--r-- | mk/bsd.pkg.defaults.mk | 10 | ||||
-rw-r--r-- | mk/bsd.pkg.mk | 15 | ||||
-rw-r--r-- | mk/buildlink2/bsd.buildlink2.mk | 12 | ||||
-rw-r--r-- | mk/buildlink3/bsd.buildlink3.mk | 12 |
5 files changed, 78 insertions, 6 deletions
diff --git a/Packages.txt b/Packages.txt index 8886733f3ba..cdcf608565e 100644 --- a/Packages.txt +++ b/Packages.txt @@ -1,4 +1,4 @@ -# $NetBSD: Packages.txt,v 1.320 2003/12/14 21:47:32 kristerw Exp $ +# $NetBSD: Packages.txt,v 1.321 2004/01/14 06:57:45 rh Exp $ ########################################################################### ========================== @@ -2053,6 +2053,34 @@ Wildcard dependencies should be used with care. The -[0-9]* should be used instead of -* to avoid potentially ambiguous matches such as tk-postgresql matching a tk-* DEPEND. +Wildcards can also be used to specify that a package will only build against +a certain minimum version of a pre-requisite: + + DEPENDS+= tiff>=3.5.4:../../graphics/tiff + +This means that the package will build against version 3.5.4 of the tiff library +or newer. Such a dependency may be warranted if, for example, the API of the +library has changed with version 3.5.4 and a package would not compile against +an earlier version of tiff. + +Please note that such dependencies should only be updated if a package requires +a newer pre-requisite, but not to denote recommendations such as security +updates or ABI changes that do not prevent a package from building correctly. +Such recommendations can be expressed using RECOMENDED: + + RECOMMENDED+= tiff>=3.6.1:../../graphics/tiff + +In addition to the above DEPENDS line, this denotes that while a package will +build against tiff>=3.5.4, at least version 3.6.1 is recommended. RECOMMENDED +entries will be turned into dependencies unless explicitly ignored (in which +case a warning will be printed). Packages that are built with recommendations +ignored may not be uploaded to ftp.netbsd.org by developers and should not be +used across different systems that may have different versions of binary +packages installed. + +For security fixes, please update the package vulnerabilities file as well as +setting RECOMMENDED (see section 10.21 for more information). + (c) If your package needs some executable to be able to run correctly, this is specified using the DEPENDS definition. The pkgsrc/print/lyx package needs to be able to execute the latex binary from the teTeX package when it runs, @@ -2286,7 +2314,10 @@ Note to package developers: When a vulnerability is found, this should be noted in localsrc/security/advisories/pkg-vulnerabilities, and after the commit of that file, it should be copied to both /pub/NetBSD/packages/distfiles/pkg-vulnerabilities and vulnerabilities -on ftp.netbsd.org by localsrc/security/advisories/Makefile. +on ftp.netbsd.org by localsrc/security/advisories/Makefile. In addition, if +a buildlink2.mk or buildlink3.mk file exists for an affected package, bumping +PKGREVISION and creating a corresponding BUILDLINK_RECOMMENDED.<pkg> entry +should be considered. 10.22 What's the proper way to create an account from a package? diff --git a/mk/bsd.pkg.defaults.mk b/mk/bsd.pkg.defaults.mk index fef1556b03a..5497809d5a0 100644 --- a/mk/bsd.pkg.defaults.mk +++ b/mk/bsd.pkg.defaults.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.pkg.defaults.mk,v 1.203 2004/01/11 17:03:47 kim Exp $ +# $NetBSD: bsd.pkg.defaults.mk,v 1.204 2004/01/14 06:57:45 rh Exp $ # # A file providing defaults for pkgsrc and the packages collection. @@ -85,6 +85,14 @@ PKGSRC_SLEEPSECS?= 5 # Possible: defined, not defined # Default: not defined +IGNORE_RECOMMENDED?= no +# ignore package prerequisite recommendations. If this is set to +# "no", all entries in RECOMMENDED will be added to DEPENDS. +# If set to "yes", a warning will be printed if recommendations +# are possibly ignored. +# Possible: yes, no +# Default: no + #PKG_REGISTER_SHELLS= YES # Automatically register shells in /etc/shells # Possible: YES, NO diff --git a/mk/bsd.pkg.mk b/mk/bsd.pkg.mk index 99d5377b38d..32016454bc3 100644 --- a/mk/bsd.pkg.mk +++ b/mk/bsd.pkg.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.pkg.mk,v 1.1344 2004/01/13 00:40:25 jlam Exp $ +# $NetBSD: bsd.pkg.mk,v 1.1345 2004/01/14 06:57:45 rh Exp $ # # This file is in the public domain. # @@ -406,6 +406,14 @@ MAKE_ENV+= LIBTOOL="${PKGLIBTOOL} ${LIBTOOL_FLAGS}" BUILD_DEPENDS+= gettext>=0.10.35nb1:../../devel/gettext .endif +.if defined(RECOMMENDED) +. if !empty(IGNORE_RECOMMENDED:M[nN][oO]) +DEPENDS+= ${RECOMMENDED} +. else +BUILD_DEFS+= IGNORE_RECOMMENDED +. endif +.endif + EXTRACT_COOKIE= ${WRKDIR}/.extract_done BUILDLINK_COOKIE= ${WRKDIR}/.buildlink_done CONFIGURE_COOKIE= ${WRKDIR}/.configure_done @@ -2480,6 +2488,11 @@ real-su-package: ${PLIST} ${DESCR} @${ECHO_MSG} "${_PKGSRC_IN}> Warning: ${PKGNAME} may not be made available through FTP:" @${ECHO_MSG} "${_PKGSRC_IN}> " ${NO_BIN_ON_FTP:Q} . endif +. if defined(RECOMMENDED) && !empty(IGNORE_RECOMMENDED:M[yY][eE][sS]) + @${ECHO_MSG} "${_PKGSRC_IN}> Warning: dependency recommendations are being ignored!" + @${ECHO_MSG} "${_PKGSRC_IN}> ${PKGNAME} should not be uploaded nor" + @${ECHO_MSG} "${_PKGSRC_IN}> otherwise be used as a binary package!" +. endif .endif # Some support rules for real-su-package diff --git a/mk/buildlink2/bsd.buildlink2.mk b/mk/buildlink2/bsd.buildlink2.mk index 167d5f78a13..55343b636b7 100644 --- a/mk/buildlink2/bsd.buildlink2.mk +++ b/mk/buildlink2/bsd.buildlink2.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.buildlink2.mk,v 1.104 2003/12/19 19:22:28 veego Exp $ +# $NetBSD: bsd.buildlink2.mk,v 1.105 2004/01/14 06:57:45 rh Exp $ # # An example package buildlink2.mk file: # @@ -6,6 +6,7 @@ # BUILDLINK_PACKAGES+= foo # BUILDLINK_PKGBASE.foo= foo-lib # BUILDLINK_DEPENDS.foo?= foo-lib>=1.0 +# BUILDLINK_RECOMMENDED.foo?= foo-lib>=1.0nb1 # BUILDLINK_PKGSRCDIR.foo?= ../../category/foo-lib # # EVAL_PREFIX+= BUILDLINK_PREFIX.foo=foo-lib @@ -140,6 +141,7 @@ BUILDLINK_DEPMETHOD.${_pkg_}= full . endif . if !empty(BUILDLINK_DEPMETHOD.${_pkg_}:Mfull) _BUILDLINK_DEPMETHOD.${_pkg_}= DEPENDS +_BUILDLINK_RECMETHOD.${_pkg_}= RECOMMENDED . elif !empty(BUILDLINK_DEPMETHOD.${_pkg_}:Mbuild) _BUILDLINK_DEPMETHOD.${_pkg_}= BUILD_DEPENDS . endif @@ -150,6 +152,14 @@ ${_BUILDLINK_DEPMETHOD.${_pkg_}}+= \ ${_depends_}:${BUILDLINK_PKGSRCDIR.${_pkg_}} . endfor . endif +. if defined(BUILDLINK_RECOMMENDED.${_pkg_}) && \ + defined(_BUILDLINK_RECMETHOD.${_pkg_}) && \ + defined(BUILDLINK_PKGSRCDIR.${_pkg_}) +. for _rec_ in ${BUILDLINK_RECOMMENDED.${_pkg_}} +${_BUILDLINK_RECMETHOD.${_pkg_}}+= \ + ${_rec_}:${BUILDLINK_PKGSRCDIR.${_pkg_}} +. endfor +. endif # # BUILDLINK_PLIST_CMD.<pkg> is a sequence of shell commands that extracts # a list of all of the files installed by <pkg>. This list is relative to diff --git a/mk/buildlink3/bsd.buildlink3.mk b/mk/buildlink3/bsd.buildlink3.mk index 28a3d30d84c..d484dfb244f 100644 --- a/mk/buildlink3/bsd.buildlink3.mk +++ b/mk/buildlink3/bsd.buildlink3.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.buildlink3.mk,v 1.48 2004/01/13 07:52:37 jlam Exp $ +# $NetBSD: bsd.buildlink3.mk,v 1.49 2004/01/14 06:57:46 rh Exp $ # # An example package buildlink3.mk file: # @@ -12,6 +12,7 @@ # # .if !empty(FOO_BUILDLINK3_MK:M+) # BUILDLINK_DEPENDS.foo?= foo-lib>=1.0 +# BUILDLINK_RECOMMENDED.foo?= foo-lib>=1.0nb1 # BUILDLINK_PKGSRCDIR.foo?= ../../category/foo-lib # BUILDLINK_PACKAGES+= foo # @@ -110,6 +111,7 @@ BUILDLINK_DEPMETHOD.${_pkg_}= full . endif . if !empty(BUILDLINK_DEPMETHOD.${_pkg_}:Mfull) _BLNK_DEPMETHOD.${_pkg_}= DEPENDS +_BLNK_RECMETHOD.${_pkg_}= RECOMMENDED . elif !empty(BUILDLINK_DEPMETHOD.${_pkg_}:Mbuild) _BLNK_DEPMETHOD.${_pkg_}= BUILD_DEPENDS . endif @@ -120,6 +122,14 @@ ${_BLNK_DEPMETHOD.${_pkg_}}+= \ ${_depends_}:${BUILDLINK_PKGSRCDIR.${_pkg_}} . endfor . endif +. if defined(BUILDLINK_RECOMMENDED.${_pkg_}) && \ + defined(_BLNK_RECMETHOD.${_pkg_}) && \ + defined(BUILDLINK_PKGSRCDIR.${_pkg_}) +. for _rec_ in ${BUILDLINK_RECOMMENDED.${_pkg_}} +${_BLNK_RECMETHOD.${_pkg_}}+= \ + ${_rec_}:${BUILDLINK_PKGSRCDIR.${_pkg_}} +. endfor +. endif .endfor # Generate default values for: |