diff options
author | wiz <wiz> | 2014-12-30 15:13:19 +0000 |
---|---|---|
committer | wiz <wiz> | 2014-12-30 15:13:19 +0000 |
commit | 0d2d40dde1f14e4fb43d302d93d462a07b1d2b78 (patch) | |
tree | 72a940b4201682de30eda8c9b0e307555f4681b7 | |
parent | 31cc7872d0b124ecb60336d12b994e18407c3758 (diff) | |
download | pkgsrc-0d2d40dde1f14e4fb43d302d93d462a07b1d2b78.tar.gz |
Remove pkg_views support, second part: infrastructure.
60 files changed, 129 insertions, 2413 deletions
diff --git a/doc/RESPONSIBLE b/doc/RESPONSIBLE index 31f94a0f00e..80bdc26e5ba 100644 --- a/doc/RESPONSIBLE +++ b/doc/RESPONSIBLE @@ -1,4 +1,4 @@ -$NetBSD: RESPONSIBLE,v 1.23 2014/05/06 04:13:53 rodent Exp $ +$NetBSD: RESPONSIBLE,v 1.24 2014/12/30 15:13:19 wiz Exp $ List of sections of the system, and who is responsible for them (or at least considered an expert on them). @@ -20,7 +20,6 @@ destdir joerg mk/check rillig mk/wrapper rillig pkg_install agc -pkgviews - unprivileged builds rillig pkgsrc platforms: diff --git a/doc/guide/files/buildlink.xml b/doc/guide/files/buildlink.xml index accd4b2f64a..085adc80e12 100644 --- a/doc/guide/files/buildlink.xml +++ b/doc/guide/files/buildlink.xml @@ -1,4 +1,4 @@ -<!-- $NetBSD: buildlink.xml,v 1.36 2013/07/30 07:14:09 wiz Exp $ --> +<!-- $NetBSD: buildlink.xml,v 1.37 2014/12/30 15:13:19 wiz Exp $ --> <chapter id="buildlink"> <title>Buildlink methodology</title> @@ -317,13 +317,11 @@ BUILDLINK_TREE+= -tiff <filename>+CONTENTS</filename> input into a list of files relative to <filename>${BUILDLINK_PREFIX.<replaceable>pkg</replaceable>}</filename> - on stdout. By default for overwrite packages, + on stdout. By default, <varname>BUILDLINK_CONTENTS_FILTER.<replaceable>pkg</replaceable></varname> outputs the contents of the <filename>include</filename> and <filename>lib</filename> directories in the package - <filename>+CONTENTS</filename>, and for pkgviews packages, - it outputs any libtool archives in - <filename>lib</filename> directories.</para> + <filename>+CONTENTS</filename>. </listitem> <listitem> diff --git a/doc/guide/files/faq.xml b/doc/guide/files/faq.xml index 367ede080ca..fa9772234f3 100644 --- a/doc/guide/files/faq.xml +++ b/doc/guide/files/faq.xml @@ -1,4 +1,4 @@ -<!-- $NetBSD: faq.xml,v 1.50 2014/02/03 16:09:34 wiz Exp $ --> +<!-- $NetBSD: faq.xml,v 1.51 2014/12/30 15:13:19 wiz Exp $ --> <chapter id="faq"> <?dbhtml filename="faq.html"?> <title>Frequently Asked Questions</title> @@ -61,17 +61,6 @@ it contains items for both pkgsrc users and developers.</para> <!-- ================================================================== --> -<sect1 id="pkgviews-docs"> -<title>Where's the pkgviews documentation?</title> - -<para>Pkgviews is tightly integrated with buildlink. You can find a -pkgviews User's guide in -<filename>pkgsrc/mk/buildlink3/PKGVIEWS_UG</filename>.</para> - -</sect1> - -<!-- ================================================================== --> - <sect1 id="faq-pkgtools"> <title>Utilities for package management (pkgtools)</title> diff --git a/lang/perl5/buildlink3.mk b/lang/perl5/buildlink3.mk index 4da3d7ead97..d8ae15de2bb 100644 --- a/lang/perl5/buildlink3.mk +++ b/lang/perl5/buildlink3.mk @@ -1,4 +1,4 @@ -# $NetBSD: buildlink3.mk,v 1.54 2014/05/29 07:57:07 adam Exp $ +# $NetBSD: buildlink3.mk,v 1.55 2014/12/30 15:13:19 wiz Exp $ BUILDLINK_TREE+= perl @@ -34,7 +34,6 @@ PERL5_OPTIONS?= # empty INSTALL_TEMPLATES+= ${.CURDIR}/../../lang/perl5/files/install_threads.tmpl .endif -.if ${PKG_INSTALLATION_TYPE} == "overwrite" # # Perl keeps headers and odd libraries in an odd path not caught by the # default BUILDLINK_FILES_CMD, so name them to be symlinked into @@ -42,7 +41,6 @@ INSTALL_TEMPLATES+= ${.CURDIR}/../../lang/perl5/files/install_threads.tmpl # .include "../../lang/perl5/vars.mk" BUILDLINK_FILES.perl= ${PERL5_SUB_INSTALLARCHLIB}/CORE/* -.endif .endif # PERL_BUILDLINK3_MK BUILDLINK_TREE+= -perl diff --git a/mail/mutt/Makefile b/mail/mutt/Makefile index 9261a6ad7a7..ba392046cf0 100644 --- a/mail/mutt/Makefile +++ b/mail/mutt/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.168 2014/10/09 14:06:39 wiz Exp $ +# $NetBSD: Makefile,v 1.169 2014/12/30 15:13:19 wiz Exp $ DISTNAME= mutt-1.4.2.3 PKGREVISION= 7 @@ -100,9 +100,4 @@ pre-install: ${RM} -f ${DESTDIR}${DOCDIR}/samples ${LN} -sf ${DESTDIR}${EGDIR} ${DESTDIR}${DOCDIR}/samples -post-install: -.if (${PKG_INSTALLATION_TYPE} == "pkgviews") - ${MV} ${PREFIX}/${PKGMANDIR}/man5/mutt-mbox.5 ${PREFIX}/${PKGMANDIR}/man5/mbox.5 -.endif - .include "../../mk/bsd.pkg.mk" diff --git a/mail/qmail/Makefile b/mail/qmail/Makefile index f3cf3c3d1ed..9cb1c0325e7 100644 --- a/mail/qmail/Makefile +++ b/mail/qmail/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.72 2014/11/23 19:08:22 schmonz Exp $ +# $NetBSD: Makefile,v 1.73 2014/12/30 15:13:19 wiz Exp $ # DISTNAME= ${PKGNAME_NOREV} @@ -169,17 +169,15 @@ post-install: post-install-viruscan ${CHMOD} 0755 ${DESTDIR}${PREFIX}/bin/${f} . endfor # qmail's installer sets strange permissions, set them back -. if (${PKG_INSTALLATION_TYPE} == "overwrite") -. for i in bin boot - ${CHGRP} ${BINGRP} ${DESTDIR}${QMAILDIR}/${i} -. endfor -. for i in doc - ${CHGRP} ${SHAREGRP} ${DESTDIR}${QMAILDIR}/${i} -. endfor -. for i in ${MANDIRS} - ${CHGRP} ${MANGRP} ${DESTDIR}${QMAILDIR}/${i} -. endfor -. endif +. for i in bin boot + ${CHGRP} ${BINGRP} ${DESTDIR}${QMAILDIR}/${i} +. endfor +. for i in doc + ${CHGRP} ${SHAREGRP} ${DESTDIR}${QMAILDIR}/${i} +. endfor +. for i in ${MANDIRS} + ${CHGRP} ${MANGRP} ${DESTDIR}${QMAILDIR}/${i} +. endfor ${INSTALL_DATA} ${WRKSRC}/README.pkgsrc ${DESTDIR}${DOCDIR} diff --git a/mk/bsd.pkg.mk b/mk/bsd.pkg.mk index a16022cad7f..af767bb06eb 100644 --- a/mk/bsd.pkg.mk +++ b/mk/bsd.pkg.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.pkg.mk,v 1.2006 2014/11/25 18:27:17 joerg Exp $ +# $NetBSD: bsd.pkg.mk,v 1.2007 2014/12/30 15:13:19 wiz Exp $ # # This file is in the public domain. # @@ -121,17 +121,6 @@ _INSTALL_UNSTRIPPED= # set (flag used by platform/*.mk) PKG_FAIL_REASON+= "Out-dated buildlink3.mk detected, please update" .endif -# PKG_INSTALLATION_TYPE can only be one of two values: "pkgviews" or -# "overwrite". -.if (${PKG_INSTALLATION_TYPE} != "pkgviews") && \ - (${PKG_INSTALLATION_TYPE} != "overwrite") -PKG_FAIL_REASON+= "PKG_INSTALLATION_TYPE must be \`\`pkgviews'' or \`\`overwrite''." -.endif - -.if empty(PKG_INSTALLATION_TYPES:M${PKG_INSTALLATION_TYPE}) -PKG_FAIL_REASON+= "This package doesn't support PKG_INSTALLATION_TYPE=${PKG_INSTALLATION_TYPE}." -.endif - .if !defined(CATEGORIES) PKG_FAIL_REASON+='CATEGORIES are mandatory.' .endif @@ -216,10 +205,6 @@ _BUILD_DEFS+= _USE_DESTDIR _BUILD_DEFS+= PKG_OPTIONS .endif -.if empty(DEPOT_SUBDIR) -PKG_FAIL_REASON+= "DEPOT_SUBDIR may not be empty." -.endif - # Store the build options for multi-packages, i.e. packages that can # be built with multiple versions of Apache, Python, Ruby, PHP etc. # @@ -349,19 +334,7 @@ FAIL?= ${SH} ${PKGSRCDIR}/mk/scripts/fail # PKG_SYSCONFVAR?= ${PKGBASE} PKG_SYSCONFSUBDIR?= # empty -.if ${PKG_INSTALLATION_TYPE} == "overwrite" -PKG_SYSCONFDEPOTBASE= # empty PKG_SYSCONFBASEDIR= ${PKG_SYSCONFBASE} -.else -. if !empty(PKG_SYSCONFBASE:M${PREFIX}) || \ - !empty(PKG_SYSCONFBASE:M${PREFIX}/*) -PKG_SYSCONFDEPOTBASE= # empty -PKG_SYSCONFBASEDIR= ${PKG_SYSCONFBASE} -. else -PKG_SYSCONFDEPOTBASE= ${PKG_SYSCONFBASE}/${DEPOT_SUBDIR} -PKG_SYSCONFBASEDIR= ${PKG_SYSCONFDEPOTBASE}/${PKGNAME} -. endif -.endif .if empty(PKG_SYSCONFSUBDIR) DFLT_PKG_SYSCONFDIR:= ${PKG_SYSCONFBASEDIR} .else @@ -371,7 +344,6 @@ PKG_SYSCONFDIR= ${DFLT_PKG_SYSCONFDIR} .if defined(PKG_SYSCONFDIR.${PKG_SYSCONFVAR}) PKG_SYSCONFDIR= ${PKG_SYSCONFDIR.${PKG_SYSCONFVAR}} PKG_SYSCONFBASEDIR= ${PKG_SYSCONFDIR.${PKG_SYSCONFVAR}} -PKG_SYSCONFDEPOTBASE= # empty .endif PKG_SYSCONFDIR_PERMS?= ${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 755 @@ -662,9 +634,6 @@ lint: # List of flags to pass to pkg_add(1) for bin-install: BIN_INSTALL_FLAGS?= # -v -.if ${PKG_INSTALLATION_TYPE} == "pkgviews" -PKG_ARGS_ADD= -W ${LOCALBASE} -w ${DEFAULT_VIEW} -.endif _BIN_INSTALL_FLAGS= ${BIN_INSTALL_FLAGS} .if defined(_AUTOMATIC) && !empty(_AUTOMATIC:M[Yy][Ee][Ss]) _BIN_INSTALL_FLAGS+= -A diff --git a/mk/bsd.pkg.use.mk b/mk/bsd.pkg.use.mk index 9bab4f26cd0..c0e44554075 100644 --- a/mk/bsd.pkg.use.mk +++ b/mk/bsd.pkg.use.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.pkg.use.mk,v 1.57 2014/10/01 19:14:21 joerg Exp $ +# $NetBSD: bsd.pkg.use.mk,v 1.58 2014/12/30 15:13:19 wiz Exp $ # # Turn USE_* macros into proper depedency logic. Included near the top of # bsd.pkg.mk, after bsd.prefs.mk. @@ -55,22 +55,14 @@ MAKE_FLAGS+= CC=${CC:Q} CXX=${CXX:Q} . include "x11.buildlink3.mk" .endif -.if ${PKG_INSTALLATION_TYPE} == "pkgviews" -PREFIX= ${DEPOTBASE}/${PKGNAME} -.elif ${PKG_INSTALLATION_TYPE} == "overwrite" -. if defined(INSTALLATION_PREFIX) +.if defined(INSTALLATION_PREFIX) PREFIX= ${INSTALLATION_PREFIX} -. elif defined(USE_X11BASE) +.elif defined(USE_X11BASE) PREFIX= ${X11PREFIX} -. elif defined(USE_CROSSBASE) +.elif defined(USE_CROSSBASE) PREFIX= ${CROSSBASE} -. else +.else PREFIX= ${LOCALBASE} -. endif -.endif - -.if (${PKG_INSTALLATION_TYPE} == "pkgviews") && defined(INSTALLATION_PREFIX) -PKG_FAIL_REASON= "INSTALLATION_PREFIX can't be used in a pkgviews package" .endif ############################################################################ diff --git a/mk/bsd.prefs.mk b/mk/bsd.prefs.mk index bcd1ae66082..7bf10df5823 100644 --- a/mk/bsd.prefs.mk +++ b/mk/bsd.prefs.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.prefs.mk,v 1.352 2014/12/07 06:22:52 obache Exp $ +# $NetBSD: bsd.prefs.mk,v 1.353 2014/12/30 15:13:19 wiz Exp $ # # This file includes the mk.conf file, which contains the user settings. # @@ -577,27 +577,6 @@ APPEND_ELF= elf . endif .endif -PKG_INSTALLATION_TYPES?= overwrite -# This is a whitespace-separated list of installation types supported -# by the package. -# -# *NOTE*: This variable *must* be set in the package Makefile *before* -# the inclusion of bsd.prefs.mk. -# -# Possible: any of: overwrite, pkgviews -# Default: overwrite - -# Set the style of installation to be performed for the package. The -# funky make variable modifiers just select the first word of the value -# stored in the referenced variable. -# -.for _pref_ in ${PKG_INSTALLATION_PREFS} -. if !empty(PKG_INSTALLATION_TYPES:M${_pref_}) -PKG_INSTALLATION_TYPE?= ${PKG_INSTALLATION_TYPES:M${_pref_}:S/^/_pkginsttype_/1:M_pkginsttype_*:S/^_pkginsttype_//} -. endif -.endfor -PKG_INSTALLATION_TYPE?= none - # if the system is IPv6-ready, compile with IPv6 support turned on. .if empty(_OPSYS_HAS_INET6:M[nN][oO]) IPV6_READY= YES @@ -668,9 +647,6 @@ IMAKE_MISCMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}7 IMAKE_MANNEWSUFFIX= ${IMAKE_MAN_SUFFIX} IMAKE_MANINSTALL?= maninstall -DEPOT_SUBDIR?= packages -DEPOTBASE= ${LOCALBASE}/${DEPOT_SUBDIR} - # LINK_RPATH_FLAG publicly exports the linker flag used to set the # run-time library search path. # diff --git a/mk/buildlink3/BUILDLINK3_DG b/mk/buildlink3/BUILDLINK3_DG index 6f7f4d05d4d..342afdd7e1d 100644 --- a/mk/buildlink3/BUILDLINK3_DG +++ b/mk/buildlink3/BUILDLINK3_DG @@ -1,4 +1,4 @@ -$NetBSD: BUILDLINK3_DG,v 1.7 2005/03/24 17:46:01 tv Exp $ +$NetBSD: BUILDLINK3_DG,v 1.8 2014/12/30 15:13:19 wiz Exp $ 0 Developer's guide to buildlink3 ================================= @@ -43,19 +43,6 @@ packages that want to add a dependency must directly include the buildlink3.mk file for that dependency. - 1.3 Support for pkgviews - ======================== - -When building pkgviews packages, buildlink3 doesn't symlink files -into ${BUILDLINK_DIR} since it can safely refer to only a specific -package's files by passing the appropriate -I<dir> and -L<dir> flags -to the compiler, where <dir> points to a location in the package's -depot directory. When building "overwrite" packages, buildlink3 will -act and feel very much like buildlink2 but with more advanced wrapper -scripts, and there are provisions for allowing an "overwrite" package -to build against the viewed instance of a depoted package. - - 2 Troubleshooting ================= diff --git a/mk/buildlink3/PKGVIEWS_UG b/mk/buildlink3/PKGVIEWS_UG deleted file mode 100644 index 703e9c54078..00000000000 --- a/mk/buildlink3/PKGVIEWS_UG +++ /dev/null @@ -1,222 +0,0 @@ -$NetBSD: PKGVIEWS_UG,v 1.4 2007/10/07 12:59:13 kano Exp $ - - 0 User's Guide to pkgviews - ========================== - -This is a tutorial for pkgsrc users who wish to experiment with the -new "pkgviews" implementation in pkgsrc. More information about -pkgviews may be found in pkgsrc/mk/buildlink3/README. That document -also explains why you might want to use pkgviews. Some reasons -include: - - * fully dynamic PLISTs - * multiple version of the same package can co-exist - * no or non-fatal conflicting packages - - - 0.1 CAVEAT (USE AT YOUR OWN RISK!) - ================================== - -Pkgviews is *completely experimental* at this point in time. Bug -reports on pkgviews will be treated with a fairly low priority by the -general pkgsrc developers, though I may personally be more responsive. -However, the major thrust of the next several weeks of pkgsrc -development for me will revolve around testing and integrating the -buildlink3 framework into pkgsrc and deprecating buildlink2. Any -work on pkgviews during that time is strictly happenstance. - - - 0.1 Preparing your system to use pkgviews - ========================================= - -You will need to start with a clean system to use pkgviews. Depoted -packages, a.k.a "pkgviews" packages (packages that are built using -pkgviews) cannot depend on non-depoted packages, a.k.a. "overwrite" -packages, although the reverse is possible. If you have _any_ -packages installed, you will need to pkg_delete them before you can -start building depoted packages. In fact, it's best to completely -nuke /usr/pkg (or wherever you choose for your ${LOCALBASE}) as -pkgviews manages all of its own directories. - -Next you will need to add the following line to /etc/mk.conf: - - PKG_INSTALLATION_PREFS= pkgviews overwrite - -This creates pkgviews packages instead of overwrite packages for any -packages that support it. The packages that do support pkgviews -can be identified by searching the package Makefile for the -following line: - - PKG_INSTALLATION_TYPES= overwrite pkgviews - - - 0.2 Installing your first pkgviews package - ========================================== - -The first package you will need to install is pkgsrc/pkgtools/digest. - -===> Checking for vulnerabilities in digest-20021220 -===> Extracting for digest-20021220 -===> Checking for vulnerabilities in digest-20021220 -===> Patching for digest-20021220 -===> Overriding tools for digest-20021220 -===> Buildlinking for digest-20021220 -===> Configuring for digest-20021220 -configure: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used. -checking build system type... i386-unknown-netbsdelf1.6.2. -checking host system type... i386--netbsdelf -... -configure: creating ./config.status -config.status: creating Makefile -config.status: creating config.h -===> Building for digest-20021220 -cc -DHAVE_CONFIG_H -I. -I. -DHOST=\"i386--netbsdelf\" -DVERSION=\"20021220\" -O2 -mcpu=pentiumpro -c bits.c -o bits.o -... -cc -O2 -mcpu=pentiumpro -o digest digest.o md5c.o rmd160.o rmd160hl.o sha2.o sha2hl.o md5hl.o sha1.o sha1hl.o -=> Fixing buildlink references in files-to-be-installed. -===> Installing for digest-20021220 -===> Becoming root@blossom.hq.williamlam.com to install digest. -sudo /bin/sh ./mkinstalldirs /usr/pkg/packages/digest-20021220/bin -mkdir /usr/pkg/packages/digest-20021220/bin -install -c -s -o root -g wheel -m 555 digest /usr/pkg/packages/digest-20021220/bin/digest -/bin/sh ./mkinstalldirs /usr/pkg/packages/digest-20021220/man/man1 -mkdir /usr/pkg/packages/digest-20021220/man -mkdir /usr/pkg/packages/digest-20021220/man/man1 -install -c -o root -g wheel -m 444 digest.1 /usr/pkg/packages/digest-20021220/man/man1/digest.1 -===> Registering installation for digest-20021220 -===> Building views for digest-20021220 -=> Performing package view clash check for digest-20021220 in standard view -=> Performing package view overwrite check for digest-20021220 in standard view -=> Linking package into standard view - -Notice in the transcript that the digest package has been installed -into /usr/pkg/packages/digest-20021220 and then subsequently linked -into the "standard view". The standard view is simply /usr/pkg, which -means that the digest executable is accessible as /usr/pkg/bin/digest. - - - 0.3 The contents of /usr/pkg (${LOCALBASE}) - =========================================== - -There is a directory /usr/pkg/packages that contains all of the -depoted packages. The contents of /usr/pkg/packages after installing -digest are: - -/usr/pkg/packages/digest-20021220/+BUILD_INFO -/usr/pkg/packages/digest-20021220/+BUILD_VERSION -/usr/pkg/packages/digest-20021220/+COMMENT -/usr/pkg/packages/digest-20021220/+CONTENTS -/usr/pkg/packages/digest-20021220/+DESC -/usr/pkg/packages/digest-20021220/+SIZE_ALL -/usr/pkg/packages/digest-20021220/+SIZE_PKG -/usr/pkg/packages/digest-20021220/+VIEWS -/usr/pkg/packages/digest-20021220/bin/digest -/usr/pkg/packages/digest-20021220/man/man1/digest.1 - -Note that all of the files related to the package, including the -package metadata files used by the pkg_* tools, are stored in the -"depot directory" for digest (/usr/pkg/packages/digest-20021220). - -The digest package was also linked into the standard view. Looking -inside /usr/pkg shows us the following symlinks: - -/usr/pkg/bin/digest -> /usr/pkg/packages/digest-20021220/bin/digest -/usr/pkg/man/man1/digest.1 -> /usr/pkg/packages/digest-20021220/man/man1/digest.1 - -Since digest is present in /usr/pkg/bin, it can be used as always -without any changes needed by the typical user with /usr/pkg/bin in -his PATH, and "man digest" will continue to work as expected. - - - 0.4 Creating new views - ====================== - -The following commands will install both pkgsrc/www/lynx and -pkgsrc/www/lynx-current onto the same system using pkgviews: - - cd /usr/pkgsrc/www/lynx; make install - cd /usr/pkgsrc/www/lynx-current; make install PKGVIEWS=devel - -The stable version of lynx (2.8.4.1nb2) is linked into the standard -view, while the -current version of lynx (2.8.5.0.7nb3) is linked into -the "devel" view. The lynx-related files in /usr/pkg are: - -/usr/pkg/bin/lynx -> /usr/pkg/packages/lynx-2.8.4.1nb2/bin/lynx -/usr/pkg/man/man1/lynx.1 -> /usr/pkg/packages/lynx-2.8.4.1nb2/man/man1/lynx.1 -/usr/pkg/share/locale/cs/LC_MESSAGES/lynx.mo -> ... -... - -/usr/pkg/devel/bin/lynx -> /usr/pkg/packages/lynx-2.8.5.0.7nb3/bin/lynx -/usr/pkg/devel/man/man1/lynx.1 -> /usr/pkg/packages/lynx-2.8.5.0.7nb3/man/man1/lynx.1 -/usr/pkg/devel/share/locale/cs/LC_MESSAGES/lynx.mo -> ... -... - -Note that the files for pkgsrc/www/lynx have been symlinked into -/usr/pkg as usual, but the files for pkgsrc/www/lynx-current have been -symlinked into the "devel" subdirectory of /usr/pkg. The files in -in the "devel" view can be accessed by adding /usr/pkg/devel/bin to -the PATH and adding /usr/pkg/devel/man to MANPATH in the appropriate -place. - - - 0.5 Managing views using pkg_* tools - ==================================== - -Adding and removing package instances to and from views is always a -safe operation as the true package files are left untouched. All that -happens is that linkfarms are being added or removed, thus changes are -always easy to reverse. - -Adding a depoted package into a view may be accomplished with: - - pkg_view -w devel add gmake-3.80nb2 - -This adds the gmake-3.80nb2 package (already present on the system) to -the "devel" view. The "devel" view is created if it doesn't already -exist. - -Removing a package from a view may be accomplished with either of the -following commands: - - pkg_view -w devel delete gmake-3.80nb2 - pkg_delete -K /usr/pkg/devel/.pkgdb gmake - -Either of these will remove the gmake-3.80nb2 package from the "devel" -view if the package exists in the view. - -Removing a package from the standard view may be accomplished with -either of the following commands - - pkg_view delete gmake-3.80nb2 - pkg_delete gmake - -The latter one is recommended for speed. - - - 0.6 Completely removing a package - ================================= - -Removing a depoted package from the system (removing it from all views -and removing the depot directory) is done with: - - pkg_delete -K /usr/pkg/packages gmake-3.80nb2 - -If you know that only a single gmake is present on your system, then -you can specify "gmake" instead of the full package name to -pkg_delete(1). However, I recommend being explicit about the package -you are removing to avoid any surprises. - - - 0.6 Where to learn more about pkgviews - ====================================== - -There are several shell environment variables that may be set to -affect the default behaviour of the pkg_* tools. Please read the -pkg_view(1) man page for more information. - -For a more complete understanding of the motivations and principles -behind pkgviews, the following paper by Alistair Crooks is highly -recommended: - - http://www.NetBSD.org/docs/software/pkgviews.pdf diff --git a/mk/buildlink3/README b/mk/buildlink3/README deleted file mode 100644 index e0215e438ec..00000000000 --- a/mk/buildlink3/README +++ /dev/null @@ -1,140 +0,0 @@ -$NetBSD: README,v 1.7 2007/10/07 12:59:13 kano Exp $ - - 0 Package Views - =============== - -Package views is a pkgsrc technology that supports building and -installing multiple versions of the same software such that they -co-exist on a single system. Individual packages are installed into -their own directory tree and their files are symlinked into "views". -Users can choose amongst different software collections provided by -different views by appropriately setting shell environment variables, -e.g., PATH, MANPATH, etc. - -Package views is similar in spirit to the Encap Package Management -System, the GNU Stow Project, and the Carnegie Mellon University Depot -Configuration Management system: - - http://www.encap.org/ - http://www.gnu.org/software/stow/stow.html - http://asg.web.cmu.edu/andrew2/depot/ - -However, these projects have a philosophy of "install anywhere, use in -one place", whereas package views departs from that model with a -philosophy that can roughly be summarized as "install in one place, -use anywhere". - - - 0.1 A short history of package views - ==================================== - -Package views was proposed as a solution to the problem of not being -able to install multiple versions of the same software simultaneously -via pkgsrc. Alistair Crooks presented a paper on package views at -EuroBSDCon in November 2002 that described the work he did on the -"pkgviews" branch of pkgsrc where he implemented his ideas. The paper -is highly-recommended reading for a more complete understanding of -package views principles and is available at: - - http://www.NetBSD.org/docs/software/pkgviews.pdf - -Unfortunately, Alistair ran out of time to devote to integrating his -work into the main pkgsrc branch. The code he developed languished on -the "pkgviews" branch for over a year, and in the meantime much code -was added to pkgsrc that increased the complexity and the capabilities -of pkgsrc, including buildlink2, which conflicted with Alistair's -implementation of package views. In September 2003, Johnny Lam -integrated the functionality on the pkgviews branch into modern -pkgsrc. As part of the integration, a new buildlink3 framework was -created so that the ability to isolate builds from differences in -the environment wouldn't be lost. - - - 0.2 Package views terminology - ============================= - -The terminology for packages in the package views world is as -follows: a "pkgviews" package is a package that has been converted to -build and install using package views. An "overwrite" package is one -that hasn't. A "depoted" package describes a pkgviews package -installed into /usr/pkg/packages in its "depot" directory. A package -"instance" in a view describes a depoted package symlinked into a -view. - - - 0.3 What's been done - ==================== - -The pkg_install tools have been enhanced to handle both binary depoted -packages and binary "overwrite" packages. The pkgsrc internals have -been modified to allow building and installing depoted packages and to -automatically add a depoted package in the default view. -"Overwrite" packages shouldn't be affected by the changes, and can be -freely mixed with pkgviews packages. - -Packages that have been converted to use "pkgviews" should add the -following line to their Makefiles: - - PKG_INSTALLATION_TYPES= overwrite pkgviews - -PKG_INSTALLATION_TYPES can also just be one value or the other to -explicitly note that the package only supports that one type of -installation style. Users may add the following line to /etc/mk.conf: - - PKG_INSTALLATION_PREFS= pkgviews overwrite - -to note that they prefer building using pkgviews if the package -supports it, otherwise to build using the "overwrite" installation -style. However, users should not change PKG_INSTALLATION_PREFS from -the default value unless they're sure that they want to start -migrating their package system over to using pkgviews. The default, -"overwrite pkgviews", will cause all packages to build using the -"overwrite" installation style. - -Some highlight of pkgviews packages include: - - * fully dynamic PLISTs - * multiple versions of the same package can co-exist - - - 0.4 buildlink3 pkgsrc build framework - ===================================== - -A new buildlink3 framework that takes advantage of depoted packages -has been added to pkgsrc as part of the package views changes. -Buildlink3 uses wrapper scripts much like buildlink2. However, when -building pkgviews packages, it doesn't symlink files into -${BUILDLINK_DIR} since it can safely refer to only a specific -package's files by passing the appropriate -I<dir> and -L<dir> flags -to the compiler, where <dir> points to a location in the package's -depot directory. When building "overwrite" packages, buildlink3 will -act and feel very much like buildlink2 but with more advanced wrapper -scripts, and there are provisions for allowing an "overwrite" package -to build against the viewed instance of a depoted package. The -implementation currently allows "overwrite" to depend on either -"overwrite" or pkgviews packages, but pkgviews packages are restricted -to only being able to depend on other pkgviews packages. - - - 0.5 Future Work - =============== - -There may be some way around the problem of pkgviews packages not -being able to depend on "overwrite" packages. That's the only thing -standing in the way between allowing an arbitrary package to be built -using either installation style and working seamlessly with any other -package. The problem has to do with proper handling of metadata in -the +REQUIRED_BY and +CONTENTS files that are split in two separate -places. One possible route to a solution is that for each overwrite -package, we can symlink /usr/pkg/packages/<pkg> -> /var/db/pkg/<pkg>. -This allows depoted packages to record themselves directly in the -+REQUIRED_BY files of "overwrite" packages. If a user happens to run - - pkg_delete -K /usr/pkg/packages <overwrite_pkg> - -then it still uses the correct +CONTENTS, +INSTALL, and +DEINSTALL -scripts, so the package will still remove itself properly from -/usr/pkg. However, there are some remaining issues with properly -removing both the /var/db/pkg/<pkg> directory and the -/usr/pkg/packages/<pkg> symlink, so the deletion won't be completely -clean until this issue can be resolved. diff --git a/mk/buildlink3/TODO b/mk/buildlink3/TODO deleted file mode 100644 index 3d05c4f5b15..00000000000 --- a/mk/buildlink3/TODO +++ /dev/null @@ -1,51 +0,0 @@ -$NetBSD: TODO,v 1.5 2004/02/17 08:59:44 jlam Exp $ - -TODO items -========== - -* Make the error where pkgviews packages depend on overwrite packages - less obfuscated. -* Teach linkfarm to do tree-folding a la GNU stow. -* Correct handling of pkgconfig *.pc files. - -Package views integration plan: -============================== - -(1) Modify pkgsrc internals (bsd.pkg.mk & friends) to build and - install depoted packages if PKG_INSTALLATION_TYPE is set to - "pkgviews" in the package Makefile, and to add the depoted - package to the default view. The depoted package will include - all of its metadata files in the depot directory, and we rely - on pkg_view to copy the metadata files into /var/db/pkg as - part of adding the package to the default view. We only - support the default view. Depoted packages will install into - ${LOCALBASE}/packages and the default view will be through - ${LOCALBASE} for all packages. - -Using this infrastructure, depoted packages that have been added to -the default view should look and feel like a non-depoted package in -all respects, down to what you find in /var/db/pkg/${PKGNAME}, so -non-depoted packages can depend on depoted packages without change. - -(2) Migrate non-USE_X11BASE and non-USE_IMAKE packages to set - PKG_INSTALLATION_TYPE to "pkgviews". Depoted packages can only - depend on other depoted packages. A depoted package will have - <deppkg_dir>/lib and ${LOCALBASE}/lib in the run-time library - search path (-Wl,-R*) so that wildcard dependencies on library - packages will still work (so long as the major number of the shlib - hasn't increased). - -At this point, all packages in pkgsrc except for those that define -USE_X11BASE or USE_IMAKE will be depoted. - -(3) Make xpkgwedge the default for pkgsrc. It would be nice to - enhance xpkgwedge in some way so that a package could be compiled - with the correct defaults for finding app-defaults files without - having the user fiddle with environment variables. - -This is a flag day change and will require bumping the PKGREVISIONs -for every single USE_X11BASE and USE_IMAKE package and all packages -that depend on them. - -(4) Migrate the USE_X11BASE and USE_IMAKE packages to set - PKG_INSTALLATION_TYPE to "pkgviews". diff --git a/mk/buildlink3/bsd.buildlink3.mk b/mk/buildlink3/bsd.buildlink3.mk index 5486f0dd54d..5d5992f424b 100644 --- a/mk/buildlink3/bsd.buildlink3.mk +++ b/mk/buildlink3/bsd.buildlink3.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.buildlink3.mk,v 1.231 2014/11/25 19:01:02 joerg Exp $ +# $NetBSD: bsd.buildlink3.mk,v 1.232 2014/12/30 15:13:19 wiz Exp $ # # Copyright (c) 2004 The NetBSD Foundation, Inc. # All rights reserved. @@ -205,7 +205,7 @@ _VARGROUPS+= bl3 _SYS_VARS.bl3+= BUILDLINK_${v} .endfor .for p in ${_BUILDLINK_TREE} -. for v in AUTO_VARS BUILTIN_MK CONTENTS_FILTER CPPFLAGS DEPMETHOD FILES_CMD INCDIRS IS_DEPOT LDFLAGS LIBDIRS PKGNAME PREFIX RPATHDIRS +. for v in AUTO_VARS BUILTIN_MK CONTENTS_FILTER CPPFLAGS DEPMETHOD FILES_CMD INCDIRS LDFLAGS LIBDIRS PKGNAME PREFIX RPATHDIRS _SYS_VARS.bl3+= BUILDLINK_${v}.${p} . endfor . for v in IGNORE_PKG USE_BUILTIN @@ -290,9 +290,6 @@ ${_depmethod_}+= ${_BLNK_ADD_TO.${_depmethod_}} # # BUILDLINK_PKGNAME.<pkg> the name of the package # -# BUILDLINK_IS_DEPOT.<pkg> "yes" or "no" for whether <pkg> is a -# depoted package. -# # BUILDLINK_PREFIX.<pkg> contains all of the installed files # for <pkg> # @@ -335,7 +332,6 @@ USE_BUILTIN.${_pkg_}?= no _BLNK_PKG_DBDIR.${_pkg_}?= _BLNK_PKG_DBDIR.${_pkg_}_not_found _BLNK_PKG_INFO.${_pkg_}?= ${TRUE} BUILDLINK_PKGNAME.${_pkg_}?= ${_pkg_} -BUILDLINK_IS_DEPOT.${_pkg_}?= no # Usual systems has builtin packages in /usr . if exists(/usr) BUILDLINK_PREFIX.${_pkg_}?= /usr @@ -365,9 +361,6 @@ _BLNK_PKG_DBDIR.${_pkg_}!= \ case "$$pkg" in \ "") dir="_BLNK_PKG_DBDIR.${_pkg_}_not_found" ;; \ *) dir="${_PKG_DBDIR}/$$pkg"; \ - if [ -f $$dir/+DEPOT ]; then \ - dir=`${HEAD} -1 $$dir/+DEPOT`; \ - fi ;; \ esac; \ ${ECHO} $$dir . endif @@ -384,26 +377,17 @@ _BLNK_PKG_INFO.${_pkg_}?= ${PKG_INFO_CMD} -K ${_PKG_DBDIR} . endif BUILDLINK_PKGNAME.${_pkg_}?= ${_BLNK_PKG_DBDIR.${_pkg_}:T} -. if exists(${_BLNK_PKG_DBDIR.${_pkg_}}/+VIEWS) -BUILDLINK_IS_DEPOT.${_pkg_}?= yes -. else -BUILDLINK_IS_DEPOT.${_pkg_}?= no -. endif # # Set BUILDLINK_PREFIX.<pkg> to the "PREFIX" value for the package. # . if !defined(BUILDLINK_PREFIX.${_pkg_}) -. if !empty(BUILDLINK_IS_DEPOT.${_pkg_}:M[yY][eE][sS]) -BUILDLINK_PREFIX.${_pkg_}= ${_BLNK_PKG_DBDIR.${_pkg_}} -. else -. if empty(BUILDLINK_PKGNAME.${_pkg_}:M*not_found) +. if empty(BUILDLINK_PKGNAME.${_pkg_}:M*not_found) BUILDLINK_PREFIX.${_pkg_}!= \ ${TRUE} Computing BUILDLINK_PREFIX.${_pkg_:Q}; \ ${_BLNK_PKG_INFO.${_pkg_}} -qp ${BUILDLINK_PKGNAME.${_pkg_}} | \ ${SED} -e "s,^[^/]*,,;q" -. else +. else BUILDLINK_PREFIX.${_pkg_}= BUILDLINK_PREFIX.${_pkg_}_not_found -. endif . endif . endif . if empty(BUILDLINK_PREFIX.${_pkg_}:M*not_found) @@ -497,15 +481,6 @@ BUILDLINK_LDFLAGS+= ${COMPILER_RPATH_FLAG}${_dir_} . endif .endfor # -# Add the depot directory library directory for this package to the -# runtime library search path. -# -.if ${PKG_INSTALLATION_TYPE} == "pkgviews" -. if empty(BUILDLINK_LDFLAGS:M${COMPILER_RPATH_FLAG}${PREFIX}/lib) -BUILDLINK_LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib -. endif -.endif -# # Add the default view library directories to the runtime library search # path so that wildcard dependencies on library packages can always be # fulfilled through the default view. @@ -615,11 +590,9 @@ buildlink-directories: # # BUILDLINK_CONTENTS_FILTER.<pkg> # filter command that filters +CONTENTS input into a list of files -# relative to ${BUILDLINK_PREFIX.<pkg>} on stdout. By default for -# overwrite packages, BUILDLINK_CONTENTS_FILTER.<pkg> outputs the -# contents of the include and lib directories in the package -# +CONTENTS, and for pkgviews packages, it outputs any libtool -# archives in lib directories. +# relative to ${BUILDLINK_PREFIX.<pkg>} on stdout. By default, +# BUILDLINK_CONTENTS_FILTER.<pkg> outputs the contents of the include +# and lib directories in the package +CONTENTS. # # BUILDLINK_FNAME_TRANSFORM.<pkg> # sed arguments used to transform the name of the source filename @@ -646,14 +619,8 @@ buildlink-${_pkg_}-cookie: ${RUN} \ ${TOUCH} ${TOUCH_FLAGS} ${_BLNK_COOKIE.${_pkg_}} -. if (${PKG_INSTALLATION_TYPE} == "pkgviews") && \ - !empty(BUILDLINK_IS_DEPOT.${_pkg_}:M[yY][eE][sS]) -BUILDLINK_CONTENTS_FILTER.${_pkg_}?= \ - ${EGREP} 'lib(/pkgconfig/.*\.pc$$|.*/lib[^/]*\.la$$)' -. else BUILDLINK_CONTENTS_FILTER.${_pkg_}?= \ ${EGREP} '(include.*/|\.h$$|\.idl$$|\.pc$$|/lib[^/]*\.[^/]*$$)' -. endif # XXX: Why not pkg_info -qL? BUILDLINK_FILES_CMD.${_pkg_}?= \ ${_BLNK_PKG_INFO.${_pkg_}} -f ${BUILDLINK_PKGNAME.${_pkg_}} | \ @@ -742,9 +709,7 @@ _BLNK_LT_ARCHIVE_FILTER_SED_SCRIPT.${_pkg_}= # empty # _BLNK_LT_ARCHIVE_FILTER_SED_SCRIPT.${_pkg_}+= \ -e "/^dependency_libs=/s,\([${_BLNK_SEP}]\)/usr\(/lib${LIBABISUFFIX}/[^${_BLNK_SEP}]*lib[^/${_BLNK_SEP}]*\.la[${_BLNK_SEP}]\),\\1${_BLNK_MANGLE_DIR.${BUILDLINK_DIR}}\\2,g" \ - -e "/^dependency_libs=/s,\([${_BLNK_SEP}]\)/usr\(/lib${LIBABISUFFIX}/[^${_BLNK_SEP}]*lib[^/${_BLNK_SEP}]*\.la[${_BLNK_SEP}]\),\\1${_BLNK_MANGLE_DIR.${BUILDLINK_DIR}}\\2,g" \ - -e "/^dependency_libs=/s,\([${_BLNK_SEP}]\)${DEPOTBASE}/[^/${_BLNK_SEP}]*\(/[^${_BLNK_SEP}]*lib[^/${_BLNK_SEP}]*\.la[${_BLNK_SEP}]\),\\1${_BLNK_MANGLE_DIR.${BUILDLINK_DIR}}\\2,g" \ - -e "/^dependency_libs=/s,\([${_BLNK_SEP}]\)${DEPOTBASE}/[^/${_BLNK_SEP}]*\(/[^${_BLNK_SEP}]*lib[^/${_BLNK_SEP}]*\.la[${_BLNK_SEP}]\),\\1${_BLNK_MANGLE_DIR.${BUILDLINK_DIR}}\\2,g" + -e "/^dependency_libs=/s,\([${_BLNK_SEP}]\)/usr\(/lib${LIBABISUFFIX}/[^${_BLNK_SEP}]*lib[^/${_BLNK_SEP}]*\.la[${_BLNK_SEP}]\),\\1${_BLNK_MANGLE_DIR.${BUILDLINK_DIR}}\\2,g" .if ${X11_TYPE} != "modular" && ${X11BASE} != "/usr" _BLNK_LT_ARCHIVE_FILTER_SED_SCRIPT.${_pkg_}+= \ @@ -798,19 +763,15 @@ _BLNK_LT_ARCHIVE_FILTER_SED_SCRIPT.${_pkg_}+= \ # This prevents libtool from looking into the original directory # for other *.la files. # -. if (${PKG_INSTALLATION_TYPE} == "overwrite") || \ - !empty(BUILDLINK_IS_DEPOT.${_pkg_}:M[nN][oO]) _BLNK_LT_ARCHIVE_FILTER_SED_SCRIPT.${_pkg_}+= \ - -e "/^libdir=/s,/usr\(/lib${LIBABISUFFIX}/[^${_BLNK_SEP}]*\),${BUILDLINK_DIR}\\1,g" \ - -e "/^libdir=/s,${DEPOTBASE}/[^/${_BLNK_SEP}]*\(/[^${_BLNK_SEP}]*\),${BUILDLINK_DIR}\\1,g" + -e "/^libdir=/s,/usr\(/lib${LIBABISUFFIX}/[^${_BLNK_SEP}]*\),${BUILDLINK_DIR}\\1,g" _BLNK_LT_ARCHIVE_FILTER_SED_SCRIPT.${_pkg_}+= \ -e "/^libdir=/s,${LOCALBASE}\(/[^${_BLNK_SEP}]*\),${BUILDLINK_DIR}\\1,g" -. if ${X11_TYPE} != "modular" && ${X11BASE} != "/usr" +. if ${X11_TYPE} != "modular" && ${X11BASE} != "/usr" _BLNK_LT_ARCHIVE_FILTER_SED_SCRIPT.${_pkg_}+= \ -e "/^libdir=/s,${X11BASE}\(/[^${_BLNK_SEP}]*\),${BUILDLINK_X11_DIR}\\1,g" -. endif . endif .endfor @@ -840,21 +801,6 @@ do-buildlink: ${_target_} _BLNK_PASSTHRU_DIRS= # empty _BLNK_PASSTHRU_RPATHDIRS= # empty # -# Allow all of the depot directories for packages whose headers and -# libraries we use. -# -.for _pkg_ in ${_BLNK_PACKAGES} -. if !empty(BUILDLINK_IS_DEPOT.${_pkg_}:M[yY][eE][sS]) -_BLNK_PASSTHRU_DIRS+= ${BUILDLINK_PREFIX.${_pkg_}} -. endif -.endfor -# -# Allow the depot directory for the package we're building. -# -.if ${PKG_INSTALLATION_TYPE} == "pkgviews" -_BLNK_PASSTHRU_DIRS+= ${PREFIX} -.endif -# # Allow any directories specified by the package or user. # _BLNK_PASSTHRU_DIRS+= ${BUILDLINK_PASSTHRU_DIRS} @@ -871,14 +817,12 @@ _BLNK_PASSTHRU_DIRS:= ${_BLNK_PASSTHRU_DIRS:N${_dir_}} # package to be in the runtime library search path. # .for _pkg_ in ${_BLNK_PACKAGES} -. if !empty(BUILDLINK_IS_DEPOT.${_pkg_}:M[nN][oO]) -. if !empty(BUILDLINK_LIBDIRS.${_pkg_}) -. for _dir_ in ${BUILDLINK_LIBDIRS.${_pkg_}} -. if exists(${BUILDLINK_PREFIX.${_pkg_}}/${_dir_}) +. if !empty(BUILDLINK_LIBDIRS.${_pkg_}) +. for _dir_ in ${BUILDLINK_LIBDIRS.${_pkg_}} +. if exists(${BUILDLINK_PREFIX.${_pkg_}}/${_dir_}) _BLNK_PASSTHRU_RPATHDIRS+= ${BUILDLINK_PREFIX.${_pkg_}}/${_dir_} -. endif -. endfor -. endif +. endif +. endfor . endif .endfor # @@ -916,9 +860,6 @@ _BLNK_MANGLE_DIRS+= ${_BLNK_PASSTHRU_DIRS} _BLNK_MANGLE_DIRS+= ${_BLNK_PASSTHRU_RPATHDIRS} _BLNK_MANGLE_DIRS+= ${COMPILER_INCLUDE_DIRS} _BLNK_MANGLE_DIRS+= ${COMPILER_LIB_DIRS} -.if ${PKG_INSTALLATION_TYPE} == "pkgviews" -_BLNK_MANGLE_DIRS+= ${PREFIX} -.endif _BLNK_MANGLE_DIRS+= ${LOCALBASE} .if defined(USE_X11) && ${X11_TYPE} != "modular" _BLNK_MANGLE_DIRS+= ${X11BASE} @@ -945,9 +886,6 @@ _BLNK_PROTECT_DIRS+= ${_BLNK_PASSTHRU_DIRS} _BLNK_UNPROTECT_DIRS+= ${COMPILER_INCLUDE_DIRS} _BLNK_UNPROTECT_DIRS+= ${COMPILER_LIB_DIRS} -.if ${PKG_INSTALLATION_TYPE} == "pkgviews" -_BLNK_UNPROTECT_DIRS+= ${PREFIX} -.endif _BLNK_UNPROTECT_DIRS+= ${LOCALBASE} .if defined(USE_X11) && ${X11_TYPE} != "modular" _BLNK_UNPROTECT_DIRS+= ${X11BASE} @@ -1055,24 +993,14 @@ _BLNK_TRANSFORM+= sub-rpath:${_dir_}:${_BLNK_MANGLE_DIR.${_dir}} _CWRAPPERS_TRANSFORM+= R:/usr/lib:/usr/lib .endfor # -# Change references to ${DEPOTBASE}/<pkg> into ${LOCALBASE} so that -# "overwrite" packages think headers and libraries for "pkgviews" packages -# are just found in the default view. -# -.if ${PKG_INSTALLATION_TYPE} == "overwrite" -_BLNK_TRANSFORM+= depot:${DEPOTBASE}:${LOCALBASE} -.endif -# # Convert direct paths to static libraries and libtool archives in # ${LOCALBASE} or ${X11BASE} into references into ${BUILDLINK_DIR}. # -.if ${PKG_INSTALLATION_TYPE} == "overwrite" _BLNK_TRANSFORM+= P:${LOCALBASE}:${_BLNK_MANGLE_DIR.${BUILDLINK_DIR}} _CWRAPPERS_TRANSFORM+= P:${X11BASE}:${BUILDLINK_X11_DIR} -. if defined(USE_X11) && ${X11_TYPE} != "modular" +.if defined(USE_X11) && ${X11_TYPE} != "modular" _BLNK_TRANSFORM+= P:${X11BASE}:${_BLNK_MANGLE_DIR.${BUILDLINK_X11_DIR}} _CWRAPPERS_TRANSFORM+= P:${LOCALBASE}:${BUILDLINK_DIR} -. endif .endif # # Transform references to ${X11BASE} into ${BUILDLINK_X11_DIR}. @@ -1088,12 +1016,10 @@ _CWRAPPERS_TRANSFORM+= L:${X11BASE}:${BUILDLINK_X11_DIR} # # Transform references to ${LOCALBASE} into ${BUILDLINK_DIR}. # -.if ${PKG_INSTALLATION_TYPE} == "overwrite" _BLNK_TRANSFORM+= I:${LOCALBASE}:${_BLNK_MANGLE_DIR.${BUILDLINK_DIR}} _BLNK_TRANSFORM+= L:${LOCALBASE}:${_BLNK_MANGLE_DIR.${BUILDLINK_DIR}} _CWRAPPERS_TRANSFORM+= I:${LOCALBASE}:${BUILDLINK_DIR} _CWRAPPERS_TRANSFORM+= L:${LOCALBASE}:${BUILDLINK_DIR} -.endif # # Transform references to ${X11BASE} into ${BUILDLINK_X11_DIR}. # (do so only after transforming references to ${LOCALBASE} if the @@ -1106,11 +1032,8 @@ _CWRAPPERS_TRANSFORM+= I:${X11BASE}:${BUILDLINK_X11_DIR} _CWRAPPERS_TRANSFORM+= L:${X11BASE}:${BUILDLINK_X11_DIR} .endif # -# Protect any remaining references to ${PREFIX}, ${LOCALBASE}, or ${X11BASE}. +# Protect any remaining references to ${LOCALBASE}, or ${X11BASE}. # -.if ${PKG_INSTALLATION_TYPE} == "pkgviews" -_BLNK_TRANSFORM+= untransform:sub-mangle:${PREFIX}:${_BLNK_MANGLE_DIR.${PREFIX}} -.endif _BLNK_TRANSFORM+= untransform:sub-mangle:${LOCALBASE}:${_BLNK_MANGLE_DIR.${LOCALBASE}} .if defined(USE_X11) && ${X11_TYPE} != "modular" _BLNK_TRANSFORM+= untransform:sub-mangle:${X11BASE}:${_BLNK_MANGLE_DIR.${X11BASE}} @@ -1203,7 +1126,6 @@ ${WRAPPER_TMPDIR}/libtool-fix-la: ${BUILDLINK_SRCDIR}/libtool-fix-la ${RUN}${CAT} ${.ALLSRC} \ | ${SED} -e "s|@_BLNK_WRAP_LT_UNTRANSFORM_SED@|"${_BLNK_WRAP_LT_UNTRANSFORM_SED:Q}"|g" \ -e "s|@BUILDLINK_DIR@|${BUILDLINK_DIR}|g" \ - -e "s|@DEPOTBASE@|${DEPOTBASE}|g" \ -e "s|@LOCALBASE@|${LOCALBASE}|g" \ -e "s|@WRKSRC@|${WRKSRC}|g" \ -e "s|@BASENAME@|"${BASENAME:Q}"|g" \ diff --git a/mk/buildlink3/libtool-fix-la b/mk/buildlink3/libtool-fix-la index ac6f00ebc16..83c55823e00 100644 --- a/mk/buildlink3/libtool-fix-la +++ b/mk/buildlink3/libtool-fix-la @@ -1,4 +1,4 @@ -# $NetBSD: libtool-fix-la,v 1.8 2006/11/09 02:07:59 rillig Exp $ +# $NetBSD: libtool-fix-la,v 1.9 2014/12/30 15:13:19 wiz Exp $ # # Copyright (c) 2004 The NetBSD Foundation, Inc. # All rights reserved. @@ -46,13 +46,9 @@ # For the *.lai files, in the "dependency_libs" line, we remove # redundant -Ldir and -llib options. We also make sure that we don't # ever reference other .la files, only referring to other libraries -# via the usual "-L/path -llib" and making sure that /path is always -# somewhere under the default view. This makes wildcard dependencies -# work for "overwrite" packages by letting libtool find libraries in -# the default view. +# via the usual "-L/path -llib". BUILDLINK_DIR="@BUILDLINK_DIR@" -DEPOTBASE="@DEPOTBASE@" LOCALBASE="@LOCALBASE@" WRKSRC="@WRKSRC@" @@ -257,12 +253,7 @@ if $test -f $lafile; then ;; ###################################### # Skip directories that should never - # appear in the -L<dir> flags. Also - # modify directories in ${DEPOTBASE} to - # point to somewhere in the default view - # ${LOCALBASE}, since we want "overwrite" - # packages to think the libraries really - # do just exist through the default view. + # appear in the -L<dir> flags. ###################################### -L*) case $i in @@ -270,14 +261,6 @@ if $test -f $lafile; then ;; -L${WRKSRC}|-L${WRKSRC}/*) ;; - -L${DEPOTBASE}/*) - i=`$echo "$i" | $sed -e "s,-L${DEPOTBASE}/[^/]*/,-L${LOCALBASE}/,"` - case $L in - *"$i "*) ;; - *"$i") ;; - *) L="$L $i" ;; - esac - ;; *) case $L in *"$i "*) ;; @@ -299,17 +282,11 @@ if $test -f $lafile; then ###################################### # Libtool archives should be changed from # "/path/libfoo.la" to "-L/path -lfoo", - # where /path is appropriately modified - # so that the depot directory is changed - # to the views directory. This allows - # the .la files to be used by either - # "overwrite" or "pkgviews" packages and - # works correctly with wildcard + # This works correctly with wildcard # dependencies. ###################################### *.la) - dirbase=`$dirname $i` - dir=`$echo "X$dirbase" | $Xsed -e "s,^${DEPOTBASE}/[^/]*/,${LOCALBASE}/,"` + dir=`$dirname $i` case $L in *"-L$dir "*) ;; *"-L$dir") ;; diff --git a/mk/defaults/mk.conf b/mk/defaults/mk.conf index 95c1b821de0..166dd741d49 100644 --- a/mk/defaults/mk.conf +++ b/mk/defaults/mk.conf @@ -1,4 +1,4 @@ -# $NetBSD: mk.conf,v 1.251 2014/12/10 12:28:49 wiz Exp $ +# $NetBSD: mk.conf,v 1.252 2014/12/30 15:13:19 wiz Exp $ # # This file provides default values for variables that may be overridden @@ -398,12 +398,6 @@ LIBTOOLIZE_PLIST?= yes # Possible: yes, no # Default: yes -PKG_INSTALLATION_PREFS?= overwrite pkgviews -# This is a whitespace-separated list of installation types to try when -# building a package, in order of preference. -# Possible: any of: overwrite, pkgviews -# Default: overwrite pkgviews - PKG_RESUME_TRANSFERS?= NO # Used in pkgsrc to resume transfers, if enabled the whole file won't be # downloaded from scratch again. diff --git a/mk/help/directories.help b/mk/help/directories.help index 600a2953f5e..02c9ba58db4 100644 --- a/mk/help/directories.help +++ b/mk/help/directories.help @@ -1,4 +1,4 @@ -# $NetBSD: directories.help,v 1.1 2008/01/19 22:41:48 rillig Exp $ +# $NetBSD: directories.help,v 1.2 2014/12/30 15:13:19 wiz Exp $ # # This file contains some short documentation on the directories that # are used within pkgsrc. @@ -6,7 +6,7 @@ # PREFIX # This is the directory where the package should install its # files. The actual value depends on the variables -# PKG_INSTALLATION_TYPE, USE_X11BASE and USE_CROSSBASE. +# USE_X11BASE and USE_CROSSBASE. # # Tags: read-only, system-defined, non-overridable, etc. # @@ -14,8 +14,7 @@ # CROSSBASE, # INSTALLATION_PREFIX, # LOCALBASE, -# X11PREFIX, -# PKG_INSTALLATION_TYPE. +# X11PREFIX. # # LOCALBASE @@ -45,7 +44,6 @@ # point to a subdirectory of PKG_SYSCONFBASE. # -# TODO:PKG_SYSCONFDEPOTBASE # TODO:PKG_SYSCONFBASEDIR # diff --git a/mk/misc/can-be-built-here.mk b/mk/misc/can-be-built-here.mk index 2a11b642d28..8218687a38c 100644 --- a/mk/misc/can-be-built-here.mk +++ b/mk/misc/can-be-built-here.mk @@ -1,4 +1,4 @@ -# $NetBSD: can-be-built-here.mk,v 1.6 2008/11/05 08:24:23 rillig Exp $ +# $NetBSD: can-be-built-here.mk,v 1.7 2014/12/30 15:13:19 wiz Exp $ # # This file checks whether a package can be built in the current pkgsrc # environment. It checks the following variables: @@ -129,17 +129,6 @@ _CBBH.skip= yes _CBBH.skip= no .endif -# Check PKG_INSTALLATION_TYPES -_CBBH_CHECKS+= pkgviews -_CBBH_MSGS.pkgviews= "This package is not available for pkgviews." - -_CBBH.pkgviews= yes -.if ${PKG_INSTALLATION_PREFS} == "pkgviews overwrite" -. if empty(PKG_INSTALLATION_TYPES:Mpkgviews) -_CBBH.pkgviews= no -. endif -.endif - # Collect and combine the results _CBBH= yes _CBBH_MSGS= # none diff --git a/mk/pkgformat/README b/mk/pkgformat/README index 8de3f480767..23a39d2f411 100644 --- a/mk/pkgformat/README +++ b/mk/pkgformat/README @@ -1,4 +1,4 @@ -$NetBSD: README,v 1.1 2011/10/15 00:23:09 reed Exp $ +$NetBSD: README,v 1.2 2014/12/30 15:13:19 wiz Exp $ = Introduction = @@ -38,7 +38,6 @@ ones are useful. Document them.) * PKG_CREATE * PKG_DELETE * PKG_INFO -* PKG_VIEW * LINKFARM * PKG_BEST_EXISTS diff --git a/mk/pkgformat/pkg/package.mk b/mk/pkgformat/pkg/package.mk index db379516b06..de92a7d268c 100644 --- a/mk/pkgformat/pkg/package.mk +++ b/mk/pkgformat/pkg/package.mk @@ -1,4 +1,4 @@ -# $NetBSD: package.mk,v 1.6 2014/12/07 05:09:02 obache Exp $ +# $NetBSD: package.mk,v 1.7 2014/12/30 15:13:20 wiz Exp $ .if defined(PKG_SUFX) WARNINGS+= "PKG_SUFX is deprecated, please use PKG_COMPRESSION" @@ -68,9 +68,6 @@ _PKG_ARGS_PACKAGE+= -I ${PREFIX} -p ${DESTDIR}${PREFIX} _PKG_ARGS_PACKAGE+= -u ${REAL_ROOT_USER} -g ${REAL_ROOT_GROUP} . endif .endif -.if ${PKG_INSTALLATION_TYPE} == "pkgviews" -_PKG_ARGS_PACKAGE+= -E -.endif ${STAGE_PKGFILE}: ${_CONTENTS_TARGETS} ${RUN} ${MKDIR} ${.TARGET:H} diff --git a/mk/pkgformat/pkg/pkgformat-vars.mk b/mk/pkgformat/pkg/pkgformat-vars.mk index c2ca46476c7..6a9284213e6 100644 --- a/mk/pkgformat/pkg/pkgformat-vars.mk +++ b/mk/pkgformat/pkg/pkgformat-vars.mk @@ -1,4 +1,4 @@ -# $NetBSD: pkgformat-vars.mk,v 1.4 2014/12/08 02:43:25 agc Exp $ +# $NetBSD: pkgformat-vars.mk,v 1.5 2014/12/30 15:13:20 wiz Exp $ # # This Makefile fragment is included indirectly by bsd.prefs.mk and # defines some variables which must be defined earlier than where @@ -21,20 +21,14 @@ PKG_DBDIR?= /var/db/pkg # _PKG_DBDIR is the actual packages database directory where we register # packages. # -.if ${PKG_INSTALLATION_TYPE} == "overwrite" _PKG_DBDIR= ${_CROSS_DESTDIR}${PKG_DBDIR} _HOST_PKG_DBDIR= ${HOST_PKG_DBDIR:U${PKG_DBDIR}} -.elif ${PKG_INSTALLATION_TYPE} == "pkgviews" -_PKG_DBDIR= ${_CROSS_DESTDIR}${DEPOTBASE} -_HOST_PKG_DBDIR= ${HOST_DEPOTBASE:U${DEPOTBASE}} -.endif PKG_ADD_CMD?= ${PKG_TOOLS_BIN}/pkg_add PKG_ADMIN_CMD?= ${PKG_TOOLS_BIN}/pkg_admin PKG_CREATE_CMD?= ${PKG_TOOLS_BIN}/pkg_create PKG_DELETE_CMD?= ${PKG_TOOLS_BIN}/pkg_delete PKG_INFO_CMD?= ${PKG_TOOLS_BIN}/pkg_info -PKG_VIEW_CMD?= ${PKG_TOOLS_BIN}/pkg_view LINKFARM_CMD?= ${PKG_TOOLS_BIN}/linkfarm # Latest versions of tools required for correct pkgsrc operation. @@ -71,19 +65,11 @@ _AUDIT_CONFIG_OPTION= IGNORE_URL PKGTOOLS_ARGS?= -K ${_PKG_DBDIR} HOST_PKGTOOLS_ARGS?= -K ${_HOST_PKG_DBDIR} -# Views are rooted in ${LOCALBASE}, all packages are depoted in -# ${DEPOTBASE}, and the package database directory for the default view -# is in ${PKG_DBDIR}. -# -PKG_VIEW_ARGS?= -W ${LOCALBASE} -d ${DEPOTBASE} -k ${_CROSS_DESTDIR}${PKG_DBDIR} -HOST_PKG_VIEW_ARGS?= -W ${LOCALBASE} -d ${DEPOTBASE} -k ${PKG_DBDIR} - PKG_ADD?= ${PKG_ADD_CMD} ${PKGTOOLS_ARGS} PKG_ADMIN?= ${PKG_ADMIN_CMD} ${PKGTOOLS_ARGS} PKG_CREATE?= ${PKG_CREATE_CMD} ${PKGTOOLS_ARGS} PKG_DELETE?= ${PKG_DELETE_CMD} ${PKGTOOLS_ARGS} PKG_INFO?= ${PKG_INFO_CMD} ${PKGTOOLS_ARGS} -PKG_VIEW?= ${PKG_VIEW_CMD} ${PKG_VIEW_ARGS} LINKFARM?= ${LINKFARM_CMD} HOST_PKG_ADD?= ${PKG_ADD_CMD} ${HOST_PKGTOOLS_ARGS} @@ -91,7 +77,6 @@ HOST_PKG_ADMIN?= ${PKG_ADMIN_CMD} ${HOST_PKGTOOLS_ARGS} HOST_PKG_CREATE?= ${PKG_CREATE_CMD} ${HOST_PKGTOOLS_ARGS} HOST_PKG_DELETE?= ${PKG_DELETE_CMD} ${HOST_PKGTOOLS_ARGS} HOST_PKG_INFO?= ${PKG_INFO_CMD} ${HOST_PKGTOOLS_ARGS} -HOST_PKG_VIEW?= ${PKG_VIEW_CMD} ${HOST_PKG_VIEW_ARGS} HOST_LINKFARM?= ${LINKFARM_CMD} # "${_PKG_BEST_EXISTS} pkgpattern" prints out the name of the installed diff --git a/mk/pkgformat/pkg/pkgformat.mk b/mk/pkgformat/pkg/pkgformat.mk index 2652c3da044..5bf736fe4e4 100644 --- a/mk/pkgformat/pkg/pkgformat.mk +++ b/mk/pkgformat/pkg/pkgformat.mk @@ -1,4 +1,4 @@ -# $NetBSD: pkgformat.mk,v 1.1 2011/10/15 00:23:09 reed Exp $ +# $NetBSD: pkgformat.mk,v 1.2 2014/12/30 15:13:20 wiz Exp $ # # This Makefile fragment provides variable and target overrides that are # specific to the pkgsrc native package format. @@ -22,6 +22,5 @@ PKG_FILELIST_CMD= ${SED} -e "/^@/d" -e "s|^|${PREFIX}/|" ${_DEPENDS_PLIST} .include "deinstall.mk" .include "replace.mk" .include "package.mk" -.include "views.mk" .include "utility.mk" diff --git a/mk/pkgformat/pkg/views.mk b/mk/pkgformat/pkg/views.mk deleted file mode 100644 index db1929f8517..00000000000 --- a/mk/pkgformat/pkg/views.mk +++ /dev/null @@ -1,90 +0,0 @@ -# $NetBSD: views.mk,v 1.1 2011/10/15 00:23:09 reed Exp $ - -# By default, all packages attempt to link into the views. -.if ${PKG_INSTALLATION_TYPE} == "pkgviews" -BUILD_VIEWS?= yes -.endif - -# DEFAULT_VIEW.${PKGBASE} default view for ${PKGBASE} -# VIEWBASE base location of files at run-time -# -DEFAULT_VIEW.${PKGBASE}?= ${DEFAULT_VIEW} -.if ${PKG_INSTALLATION_TYPE} == "pkgviews" -. if empty(DEFAULT_VIEW.${PKGBASE}:M"") -VIEWBASE= ${LOCALBASE}/${DEFAULT_VIEW.${PKGBASE}} -. else -VIEWBASE= ${LOCALBASE} -. endif -.elif ${PKG_INSTALLATION_TYPE} == "overwrite" -VIEWBASE= ${PREFIX} -.endif -MAKE_ENV+= VIEWBASE=${VIEWBASE} - -PKGVIEWS+= ${DEFAULT_VIEW.${PKGBASE}} - -.if ${PKG_INSTALLATION_TYPE} == "pkgviews" -privileged-install-hook: build-views -.endif - -###################################################################### -### build-views, su-build-views (PRIVATE) -###################################################################### -### build-views adds the package to each view in PKGVIEWS. -### -.PHONY: build-views su-build-views -build-views: su-target - @${STEP_MSG} "Building views for ${PKGNAME}" - -su-build-views: - ${RUN} \ - ${MKDIR} ${LOCALBASE}; \ - for v in ${PKGVIEWS}; do \ - case "$$v" in \ - "") dbdir=${PKG_DBDIR}; viewname=standard ;; \ - *) dbdir=${LOCALBASE}/$$v/.dbdir; viewname=$$v ;; \ - esac; \ - ${STEP_MSG} "Performing package view clash check for ${PKGNAME} in $$viewname view"; \ - pkg=`${PKG_INFO_CMD} -K $$dbdir -e ${PKGBASE} || ${TRUE}`; \ - case "$$pkg" in \ - "") ;; \ - *) ${WARNING_MSG} "${PKGBASE} exists in $$viewname view - package $$pkg ***"; \ - ${WARNING_MSG} "Not hoisting ${PKGNAME} into $$viewname view"; \ - continue; \ - ;; \ - esac; \ - ${STEP_MSG} "Performing package view overwrite check for ${PKGNAME} in $$viewname view"; \ - dups=`${PKGSRC_SETENV} PLIST_IGNORE_FILES=${_PLIST_IGNORE_FILES:Q} ${PKG_VIEW} --view=$$v check ${PKGNAME} || ${TRUE}`; \ - case "$$dups" in \ - "") ;; \ - *) ${WARNING_MSG} "***********************************************************"; \ - ${WARNING_MSG} "**** The following symbolic links will be overwritten *****"; \ - for f in $$dups; do \ - ${LS} -l ${LOCALBASE}/$$v/$$f | ${WARNING_CAT}; \ - done; \ - ${WARNING_MSG} "***********************************************************"; \ - ;; \ - esac; \ - ${STEP_MSG} "Linking package into $$viewname view"; \ - ${PKGSRC_SETENV} PLIST_IGNORE_FILES=${_PLIST_IGNORE_FILES:Q} ${PKG_VIEW} --view=$$v add ${PKGNAME}; \ - done - -###################################################################### -### remove-views, su-remove-views (PRIVATE) -###################################################################### -### remove-views removes the package from each view in PKGVIEWS. -### -.PHONY: remove-views su-remove-views -remove-views: su-target - @${STEP_MSG} "Removing ${PKGNAME} from views" - -su-remove-views: - ${RUN} \ - for v in "" ${PKGVIEWS}; do \ - ${TEST} -n "$$v" || continue; \ - case "$$v" in \ - "") dbdir=${PKG_DBDIR}; viewname=standard ;; \ - *) dbdir=${LOCALBASE}/$$v/.dbdir; viewname=$$v ;; \ - esac; \ - ${STEP_MSG} "Removing package from $$viewname view"; \ - ${PKGSRC_SETENV} PLIST_IGNORE_FILES=${_PLIST_IGNORE_FILES:Q} ${PKG_VIEW} --view=$$v delete ${PKGNAME}; \ - done diff --git a/mk/pkginstall/bsd.pkginstall.mk b/mk/pkginstall/bsd.pkginstall.mk index 408f1d6abfc..4fc096c66bf 100644 --- a/mk/pkginstall/bsd.pkginstall.mk +++ b/mk/pkginstall/bsd.pkginstall.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.pkginstall.mk,v 1.60 2014/10/12 23:44:32 joerg Exp $ +# $NetBSD: bsd.pkginstall.mk,v 1.61 2014/12/30 15:13:20 wiz Exp $ # # This Makefile fragment is included by bsd.pkg.mk and implements the # common INSTALL/DEINSTALL scripts framework. To use the pkginstall @@ -86,7 +86,6 @@ HEADER_TEMPLATES?= # empty empty(HEADER_TEMPLATES:M${PKGDIR}/HEADER) HEADER_TEMPLATES+= ${PKGDIR}/HEADER .endif -_DEINSTALL_PRE_TMPL?= ${.CURDIR}/../../mk/pkginstall/deinstall-pre DEINSTALL_TEMPLATES?= # empty .if exists(${PKGDIR}/DEINSTALL) && \ empty(DEINSTALL_TEMPLATES:M${PKGDIR}/DEINSTALL) @@ -100,7 +99,6 @@ INSTALL_TEMPLATES?= # empty empty(INSTALL_TEMPLATES:M${PKGDIR}/INSTALL) INSTALL_TEMPLATES+= ${PKGDIR}/INSTALL .endif -_INSTALL_POST_TMPL?= ${.CURDIR}/../../mk/pkginstall/install-post _INSTALL_DATA_TMPL?= # empty _FOOTER_TMPL?= ${.CURDIR}/../../mk/pkginstall/footer @@ -112,7 +110,6 @@ _FOOTER_TMPL?= ${.CURDIR}/../../mk/pkginstall/footer # template files minus any user-supplied templates. # _DEINSTALL_TEMPLATES= ${_HEADER_TMPL} ${HEADER_TEMPLATES} \ - ${_DEINSTALL_PRE_TMPL} \ ${DEINSTALL_TEMPLATES} \ ${_DEINSTALL_TMPL} \ ${_FOOTER_TMPL} @@ -120,17 +117,14 @@ _INSTALL_TEMPLATES= ${_HEADER_TMPL} ${HEADER_TEMPLATES} \ ${_INSTALL_UNPACK_TMPL} \ ${_INSTALL_TMPL} \ ${INSTALL_TEMPLATES} \ - ${_INSTALL_POST_TMPL} \ ${_FOOTER_TMPL} \ ${_INSTALL_DATA_TMPL} \ _DEINSTALL_TEMPLATES_DFLT= ${_HEADER_TMPL} \ - ${_DEINSTALL_PRE_TMPL} \ ${_DEINSTALL_TMPL} \ ${_FOOTER_TMPL} _INSTALL_TEMPLATES_DFLT= ${_HEADER_TMPL} \ ${_INSTALL_TMPL} \ - ${_INSTALL_POST_TMPL} \ ${_FOOTER_TMPL} # These are the list of source files that are concatenated to form the @@ -145,15 +139,12 @@ INSTALL_SRC?= ${_INSTALL_TEMPLATES} FILES_SUBST+= PREFIX=${PREFIX:Q} FILES_SUBST+= LOCALBASE=${LOCALBASE:Q} FILES_SUBST+= X11BASE=${X11BASE:Q} -FILES_SUBST+= DEPOTBASE=${DEPOTBASE:Q} FILES_SUBST+= VARBASE=${VARBASE:Q} FILES_SUBST+= PKG_SYSCONFBASE=${PKG_SYSCONFBASE:Q} -FILES_SUBST+= PKG_SYSCONFDEPOTBASE=${PKG_SYSCONFDEPOTBASE:Q} FILES_SUBST+= PKG_SYSCONFBASEDIR=${PKG_SYSCONFBASEDIR:Q} FILES_SUBST+= PKG_SYSCONFDIR=${PKG_SYSCONFDIR:Q} FILES_SUBST+= CONF_DEPENDS=${CONF_DEPENDS:C/:.*//:Q} FILES_SUBST+= PKGBASE=${PKGBASE:Q} -FILES_SUBST+= PKG_INSTALLATION_TYPE=${PKG_INSTALLATION_TYPE:Q} # PKG_USERS represents the users to create for the package. It is a # space-separated list of elements of the form diff --git a/mk/pkginstall/deinstall b/mk/pkginstall/deinstall index 28d7ef2e744..6fd7f05693f 100644 --- a/mk/pkginstall/deinstall +++ b/mk/pkginstall/deinstall @@ -1,22 +1,7 @@ -# $NetBSD: deinstall,v 1.2 2007/07/18 18:01:03 jlam Exp $ +# $NetBSD: deinstall,v 1.3 2014/12/30 15:13:20 wiz Exp $ case ${STAGE} in -VIEW-DEINSTALL) - case ${_PKG_CONFIG} in - yes) - case ${PKG_SYSCONFDEPOTBASE} in - "") - ${TEST} ! -x ./+FILES || - ./+FILES VIEW-REMOVE ${PREFIX} ${PKG_PREFIX} - ;; - *) - ${SETENV} PLIST_IGNORE_FILES="${CONF_IGNORE_FILES}" \ - ${LINKFARM} -D -t ${PKG_SYSCONFVIEWBASE} -d ${PKG_SYSCONFDEPOTBASE} ${PKGNAME} - ${RMDIR} -p ${PKG_SYSCONFVIEWBASE} 2>/dev/null || ${TRUE} - ;; - esac - ;; - esac +DEINSTALL) # # Unregister info files. # @@ -29,9 +14,7 @@ VIEW-DEINSTALL) ./+SHELL REMOVE ${PKG_METADATA_DIR} ${TEST} ! -x ./+SHELL || ./+SHELL CHECK-REMOVE ${PKG_METADATA_DIR} - ;; -DEINSTALL) # Remove configuration files if they don't differ from the default # config file. # @@ -40,13 +23,6 @@ DEINSTALL) ;; POST-DEINSTALL) - if [ "${PKG_INSTALLATION_TYPE}" = "pkgviews" -a \ - "${_PKG_CONFIG}" = "yes" -a -n "${CONF_DEPENDS}" ]; then - if [ -h ${PKG_SYSCONFDIR} ]; then - ${RM} -f ${PKG_SYSCONFDIR} - fi - ${RMDIR} -p `${DIRNAME} ${PKG_SYSCONFDIR}` 2>/dev/null || ${TRUE} - fi # # Update any fonts databases. # diff --git a/mk/pkginstall/deinstall-pre b/mk/pkginstall/deinstall-pre deleted file mode 100644 index 679374c7e13..00000000000 --- a/mk/pkginstall/deinstall-pre +++ /dev/null @@ -1,15 +0,0 @@ -# $NetBSD: deinstall-pre,v 1.1 2006/05/21 23:50:15 jlam Exp $ - -# Ensure that the VIEW-DEINSTALL action is called for overwrite packages. -# This is here to ensure that it's the first DEINSTALL action (before -# any DEINSTALL_TEMPLATE DEINSTALL actions). -# -case ${STAGE} in -DEINSTALL) - if [ "${PKG_INSTALLATION_TYPE}" = "overwrite" ]; then - ${SETENV} PKG_PREFIX="${PKG_PREFIX}" \ - $0 ${PKGNAME} VIEW-DEINSTALL - fi - ;; -esac - diff --git a/mk/pkginstall/files b/mk/pkginstall/files index 6761966e2db..edbb666f3c3 100644 --- a/mk/pkginstall/files +++ b/mk/pkginstall/files @@ -1,4 +1,4 @@ -# $NetBSD: files,v 1.8 2012/04/21 10:22:32 wiz Exp $ +# $NetBSD: files,v 1.9 2014/12/30 15:13:20 wiz Exp $ # # Generate a +FILES script that reference counts config files that are # required for the proper functioning of the package. @@ -11,7 +11,6 @@ UNPACK,|UNPACK,+FILES) # +FILES - reference-counted configuration file management script # # Usage: ./+FILES ADD|REMOVE|PERMS [metadatadir] -# ./+FILES VIEW-REMOVE depotdir viewdir # ./+FILES CHECK-ADD|CHECK-REMOVE|CHECK-PERMS [metadatadir] # # This script supports two actions, ADD and REMOVE, that will add or @@ -22,8 +21,7 @@ UNPACK,|UNPACK,+FILES) # any files needed by the package still exist, and print an informative # message noting those files. The CHECK-ADD and CHECK-REMOVE actions # return non-zero if they detect either missing or existing files, -# respectively. The VIEW-REMOVE action will remove from <viewdir> the -# links to the configuration files in <depotdir>. The PERMS action +# respectively. The PERMS action # will correct any ownership or permission discrepancies between the # existing files and the data in this script, and the CHECK-PERMS # action will check whether any files have the wrong ownership or @@ -98,21 +96,12 @@ case "${PKG_RCD_SCRIPTS:-@PKG_RCD_SCRIPTS@}" in ;; esac -case $ACTION in -VIEW-REMOVE) - DEPOTDIR="$2" - VIEWDIR="$3" - ${TEST} -n "${DEPOTDIR}" -a -n "${VIEWDIR}" || exit 0 - ;; -*) - CURDIR=`${PWD_CMD}` - PKG_METADATA_DIR="${2-${CURDIR}}" - : ${PKGNAME=${PKG_METADATA_DIR##*/}} - : ${PKG_DBDIR=${PKG_METADATA_DIR%/*}} - : ${PKG_REFCOUNT_DBDIR=${PKG_DBDIR}.refcount} - PKG_REFCOUNT_FILES_DBDIR="${PKG_REFCOUNT_DBDIR}/files" - ;; -esac +CURDIR=`${PWD_CMD}` +PKG_METADATA_DIR="${2-${CURDIR}}" +: ${PKGNAME=${PKG_METADATA_DIR##*/}} +: ${PKG_DBDIR=${PKG_METADATA_DIR%/*}} +: ${PKG_REFCOUNT_DBDIR=${PKG_DBDIR}.refcount} +PKG_REFCOUNT_FILES_DBDIR="${PKG_REFCOUNT_DBDIR}/files" exitcode=0 case $ACTION in @@ -254,22 +243,6 @@ PERMS) done ;; -VIEW-REMOVE) - ${SED} -n "/^\# FILE: /{s/^\# FILE: //;p;}" ${SELF} | ${SORT} -ru | - while read file f_flags f_eg f_mode f_user f_group; do - case $file in - ${DEPOTDIR}/*) link="${VIEWDIR}/${file#${DEPOTDIR}/}" ;; - [!/]*) link="${VIEWDIR}/$file" ;; - *) continue ;; - esac - dir="${link%[^/]*}" - if ${TEST} -h "$link"; then - ${RM} -f $link - ${RMDIR} -p $dir 2>/dev/null || ${TRUE} - fi - done - ;; - CHECK-ADD) ${SED} -n "/^\# FILE: /{s/^\# FILE: //;p;}" ${SELF} | ${SORT} -ru | { while read file f_flags f_eg f_mode f_user f_group; do @@ -431,7 +404,6 @@ CHECK-PERMS) *) ${ECHO} "Usage: ./+FILES ADD|REMOVE|PERMS [metadatadir]" - ${ECHO} " ./+FILES VIEW-REMOVE depotdir viewdir" ${ECHO} " ./+FILES CHECK-ADD|CHECK-REMOVE|CHECK-PERMS [metadatadir]" ;; esac diff --git a/mk/pkginstall/header b/mk/pkginstall/header index 42bdc29f624..1a270cd0ea9 100644 --- a/mk/pkginstall/header +++ b/mk/pkginstall/header @@ -1,6 +1,6 @@ #!@SH@ # -# $NetBSD: header,v 1.2 2006/07/19 22:26:26 jlam Exp $ +# $NetBSD: header,v 1.3 2014/12/30 15:13:20 wiz Exp $ SELF="$0" PKGNAME="$1" @@ -54,28 +54,15 @@ PKGBASE="@PKGBASE@" LOCALBASE="@LOCALBASE@" X11BASE="@X11BASE@" -DEPOTBASE="@DEPOTBASE@" PREFIX="@PREFIX@" -case ${PKG_PREFIX} in -${LOCALBASE}/*) VIEW="${PKG_PREFIX#${LOCALBASE}/}" ;; -*) VIEW="" ;; -esac PKG_SYSCONFBASE="@PKG_SYSCONFBASE@" -PKG_SYSCONFDEPOTBASE="@PKG_SYSCONFDEPOTBASE@" PKG_SYSCONFBASEDIR="@PKG_SYSCONFBASEDIR@" PKG_SYSCONFDIR="@PKG_SYSCONFDIR@" CONF_DEPENDS="@CONF_DEPENDS@" -case ${VIEW} in -"") PKG_SYSCONFVIEWBASE="${PKG_SYSCONFBASE}" ;; -*) PKG_SYSCONFVIEWBASE="${PKG_SYSCONFBASE}/${VIEW}" ;; -esac - CONF_IGNORE_FILES="*[~#] *.OLD *.orig *,v .pkgsrc */.pkgsrc" -PKG_INSTALLATION_TYPE="@PKG_INSTALLATION_TYPE@" - case "${PKG_CONFIG:-@PKG_CONFIG@}" in [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) _PKG_CONFIG=yes diff --git a/mk/pkginstall/install b/mk/pkginstall/install index 45c79319db4..598cec620c3 100644 --- a/mk/pkginstall/install +++ b/mk/pkginstall/install @@ -1,4 +1,4 @@ -# $NetBSD: install,v 1.2 2007/07/18 18:01:03 jlam Exp $ +# $NetBSD: install,v 1.3 2014/12/30 15:13:20 wiz Exp $ case ${STAGE} in PRE-INSTALL) @@ -17,23 +17,6 @@ PRE-INSTALL) else exit 1 fi; } - # - # Create package directories at pre-install time. - # - if [ "${PKG_INSTALLATION_TYPE}" = "pkgviews" -a \ - "${_PKG_CONFIG}" = "yes" -a -n "${CONF_DEPENDS}" ]; then - pkg=`${PKG_ADMIN} -b -d ${DEPOTBASE} -s "" lsbest "${CONF_DEPENDS}"` - sysconfdir=`${PKG_INFO} -B -K ${DEPOTBASE} $pkg | \ - ${AWK} '/^PKG_SYSCONFDIR=/ { \ - gsub("^PKG_SYSCONFDIR=[ ]*", ""); \ - print; \ - }' \ - ` - if [ -d $sysconfdir -a ! -d ${PKG_SYSCONFDIR} ]; then - ${MKDIR} -p `${DIRNAME} ${PKG_SYSCONFDIR}` - ${LN} -sf $sysconfdir ${PKG_SYSCONFDIR} - fi - fi ${TEST} ! -x ./+DIRS || ./+DIRS ADD ${PKG_METADATA_DIR} ${TEST} ! -x ./+DIRS || @@ -74,9 +57,7 @@ POST-INSTALL) ./+FILES CHECK-ADD ${PKG_METADATA_DIR} ${TEST} ! -x ./+FILES || ./+FILES CHECK-PERMS ${PKG_METADATA_DIR} - ;; -VIEW-INSTALL) # # Register shells in /etc/shells. # @@ -89,14 +70,6 @@ VIEW-INSTALL) # ${TEST} ! -x ./+INFO_FILES || ./+INFO_FILES ADD ${PKG_METADATA_DIR} - - # If ${PKG_SYSCONFBASE} points outside of ${PREFIX}, then add the - # package config files to the proper view. - # - if [ "${_PKG_CONFIG}" = "yes" -a -n "${PKG_SYSCONFDEPOTBASE}" ]; then - ${SETENV} PLIST_IGNORE_FILES="${CONF_IGNORE_FILES}" \ - ${LINKFARM} -t ${PKG_SYSCONFVIEWBASE} -d ${PKG_SYSCONFDEPOTBASE} ${PKGNAME} - fi ;; esac diff --git a/mk/pkginstall/install-post b/mk/pkginstall/install-post deleted file mode 100644 index 2e2ea84fd3a..00000000000 --- a/mk/pkginstall/install-post +++ /dev/null @@ -1,15 +0,0 @@ -# $NetBSD: install-post,v 1.1 2006/05/21 23:50:15 jlam Exp $ - -# Ensure that the VIEW-INSTALL action is called for overwrite packages. -# This is here to ensure that it's the final POST-INSTALL action (after -# any INSTALL_TEMPLATE POST-INSTALL actions). -# -case ${STAGE} in -POST-INSTALL) - if [ "${PKG_INSTALLATION_TYPE}" = "overwrite" ]; then - ${SETENV} PKG_PREFIX="${PKG_PREFIX}" \ - $0 ${PKGNAME} VIEW-INSTALL - fi - ;; -esac - diff --git a/mk/plist/plist.mk b/mk/plist/plist.mk index 8310fc31a36..625343558c7 100644 --- a/mk/plist/plist.mk +++ b/mk/plist/plist.mk @@ -1,4 +1,4 @@ -# $NetBSD: plist.mk,v 1.47 2014/10/09 13:44:51 wiz Exp $ +# $NetBSD: plist.mk,v 1.48 2014/12/30 15:13:20 wiz Exp $ # # This Makefile fragment handles the creation of PLISTs for use by # pkg_create(8). @@ -50,9 +50,6 @@ PLIST_VARS?= # empty PLIST_AWK?= # empty PLIST_AWK_ENV?= # empty -.if ${PKG_INSTALLATION_TYPE} == "pkgviews" -PLIST_TYPE?= dynamic -.endif PLIST_TYPE?= static ###################################################################### @@ -227,22 +224,6 @@ GENERATE_PLIST?= ${ECHO} "@comment "${PKGNAME:Q}" has no files."; GENERATE_PLIST?= ${TRUE}; .endif -.if ${PKG_INSTALLATION_TYPE} == "pkgviews" -# -# _PLIST_IGNORE_FILES basically mirrors the list of ignored files found -# in pkg_views(1). It's used by the dynamic PLIST generator to skip -# adding the named files to the PLIST. -# -_PLIST_IGNORE_FILES+= +* # package metadata files -. if defined(INFO_FILES) -_PLIST_IGNORE_FILES+= ${PKGINFODIR}/dir -. endif -_PLIST_IGNORE_FILES+= *[~\#] *.OLD *.orig *,v # scratch config files -. if !empty(CONF_DEPENDS) -_PLIST_IGNORE_FILES+= ${PKG_SYSCONFDIR:S,^${PREFIX}/,,} -. endif -_PLIST_IGNORE_FILES+= ${PLIST_IGNORE_FILES} -.endif _BUILD_DEFS+= _PLIST_IGNORE_FILES .if ${PLIST_TYPE} == "dynamic" diff --git a/mk/wrapper/gen-transform.sh b/mk/wrapper/gen-transform.sh index a89892d4834..58eabd869af 100644 --- a/mk/wrapper/gen-transform.sh +++ b/mk/wrapper/gen-transform.sh @@ -1,6 +1,6 @@ #! @WRAPPER_SHELL@ # -# $NetBSD: gen-transform.sh,v 1.9 2014/09/02 14:23:00 jperkin Exp $ +# $NetBSD: gen-transform.sh,v 1.10 2014/12/30 15:13:20 wiz Exp $ # # Copyright (c) 2004 The NetBSD Foundation, Inc. # All rights reserved. @@ -72,16 +72,6 @@ gen() case $_cmd in ############################################################### - # depot:src:dst - # Change "src/<dir>/*" into "dst/*", and the same in -I and - # -L options. - ############################################################### - depot) - gen $_action "opt-depot:$1:$2" - gen $_action "opt-depot:-I$1:-I$2" - gen $_action "opt-depot:-L$1:-L$2" - ;; - ############################################################### # I:src:dst # Change "src" into "dst" and "src/*" into "dst/*" in -I # options for transform, and back for untransform. @@ -221,27 +211,6 @@ gen() ;; esac ;; - ############################################################### - # opt-depot:src:dst - # Change "src/<dir>/*" into "dst/*". - ############################################################### - opt-depot) - case $_action in - transform) - $debug_log $wrapperlog " (gen-transform) $_cmd: $@" - $echo "s|^$1/[^/$_sep]*\(/[^$_sep]*[$_sep]\)|$2\1|g" - $echo "s|^$1/[^/$_sep]*\(/[^$_sep]*\)$|$2\1|g" - ;; - untransform) - $debug_log $wrapperlog " (gen-transform) $_cmd: $@" - $echo "s|\([$_sep]\)$1/[^/$_sep]*\(/[^$_sep]*[$_sep]\)|\1$2\2|g" - $echo "s|\([$_sep]\)$1/[^/$_sep]*\(/[^$_sep]*[$_sep]\)|\1$2\2|g" - $echo "s|\([$_sep]\)$1/[^/$_sep]*\(/[^$_sep]*\)$|\1$2\2|g" - $echo "s|^$1/[^/$_sep]*\(/[^$_sep]*[$_sep]\)|$2\1|g" - $echo "s|^$1/[^/$_sep]*\(/[^$_sep]*\)$|$2\1|g" - ;; - esac - ;; ############################################################## # opt-sub:src:dst # Change "src/*" into "dst/*". diff --git a/net/openslp/Makefile b/net/openslp/Makefile index 6aa3305ae84..00f1f128972 100644 --- a/net/openslp/Makefile +++ b/net/openslp/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.44 2014/10/09 14:06:46 wiz Exp $ +# $NetBSD: Makefile,v 1.45 2014/12/30 15:13:20 wiz Exp $ DISTNAME= openslp-1.2.1 PKGREVISION= 7 @@ -9,8 +9,6 @@ MAINTAINER= pkgsrc-users@NetBSD.org HOMEPAGE= http://www.openslp.org/ COMMENT= Open-source implementation of the Service Location Protocol -# Needs pkgviews-enabled automake - USE_TOOLS+= automake bison lex pax USE_LIBTOOL= yes GNU_CONFIGURE= yes diff --git a/pkgtools/cwrappers/files/bin/fixup-libtool.c b/pkgtools/cwrappers/files/bin/fixup-libtool.c index a8235e66d67..d4aa7244193 100644 --- a/pkgtools/cwrappers/files/bin/fixup-libtool.c +++ b/pkgtools/cwrappers/files/bin/fixup-libtool.c @@ -1,4 +1,4 @@ -/* $NetBSD: fixup-libtool.c,v 1.3 2014/12/06 22:35:24 riz Exp $ */ +/* $NetBSD: fixup-libtool.c,v 1.4 2014/12/30 15:13:20 wiz Exp $ */ /*- * Copyright (c) 2009 Joerg Sonnenberger <joerg@NetBSD.org>. @@ -145,7 +145,6 @@ process_option(struct processing_option *opt, const char *line, size_t len, strncmp(line + 2, wrksrc, wlen) == 0 && (line[wlen + 2] == '/' || wlen + 2 == len)) return; - /* XXX Check for DEPOTBASE */ } } i = wrapper_hash2(line, len) & (LIBPATH_HASH - 1); diff --git a/pkgtools/cwrappers/files/doc/unimplemented.txt b/pkgtools/cwrappers/files/doc/unimplemented.txt index e1aca412bd2..a669d437ef4 100644 --- a/pkgtools/cwrappers/files/doc/unimplemented.txt +++ b/pkgtools/cwrappers/files/doc/unimplemented.txt @@ -40,5 +40,3 @@ Libtool: - Drop -L, -l, -Wl,* if not in link mode -> see first point - -- pkgviews support diff --git a/pkgtools/pkg_install/DESCR b/pkgtools/pkg_install/DESCR index f59aa3b77e6..61bd8cd55e9 100644 --- a/pkgtools/pkg_install/DESCR +++ b/pkgtools/pkg_install/DESCR @@ -10,8 +10,6 @@ pkg_admin perform various pkgsrc administrative tasks pkg_create create software package distributions pkg_delete delete installed packages pkg_info display information about installed or binary packages -pkg_view manage package views -linkfarm manage symbolic links for package views For the following tools compatibility wrappers are included: diff --git a/pkgtools/pkg_install/Makefile b/pkgtools/pkg_install/Makefile index 04d6b897f27..8cea97d94e8 100644 --- a/pkgtools/pkg_install/Makefile +++ b/pkgtools/pkg_install/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.203 2014/03/14 22:09:04 ryoon Exp $ +# $NetBSD: Makefile,v 1.204 2014/12/30 15:13:20 wiz Exp $ # Notes to package maintainers: # @@ -7,7 +7,6 @@ # change in the pkg_* tools that pkgsrc relies on for proper operation. PKGNAME= pkg_install-${VERSION} -PKGREVISION= 1 CATEGORIES= pkgtools MAINTAINER= agc@NetBSD.org diff --git a/pkgtools/pkg_install/files/add/main.c b/pkgtools/pkg_install/files/add/main.c index 0f452a0c762..fd003382366 100644 --- a/pkgtools/pkg_install/files/add/main.c +++ b/pkgtools/pkg_install/files/add/main.c @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.27 2010/09/14 22:26:18 gdt Exp $ */ +/* $NetBSD: main.c,v 1.28 2014/12/30 15:13:20 wiz Exp $ */ #if HAVE_CONFIG_H #include "config.h" @@ -7,7 +7,7 @@ #if HAVE_SYS_CDEFS_H #include <sys/cdefs.h> #endif -__RCSID("$NetBSD: main.c,v 1.27 2010/09/14 22:26:18 gdt Exp $"); +__RCSID("$NetBSD: main.c,v 1.28 2014/12/30 15:13:20 wiz Exp $"); /* * @@ -39,14 +39,11 @@ __RCSID("$NetBSD: main.c,v 1.27 2010/09/14 22:26:18 gdt Exp $"); #include "lib.h" #include "add.h" -static char Options[] = "AC:DIK:LP:RVW:fhm:np:t:Uuvw:"; +static char Options[] = "AC:DIK:P:RVfhm:np:t:Uuv"; char *Destdir = NULL; char *OverrideMachine = NULL; char *Prefix = NULL; -char *View = NULL; -char *Viewbase = NULL; -Boolean NoView = FALSE; Boolean NoInstall = FALSE; Boolean NoRecord = FALSE; Boolean Automatic = FALSE; @@ -66,9 +63,8 @@ static void usage(void) { (void) fprintf(stderr, "%s\n%s\n%s\n%s\n", - "usage: pkg_add [-AfhILnRuVv] [-C config] [-P destdir] [-K pkg_dbdir]", - " [-m machine] [-p prefix] [-s verification-type", - " [-W viewbase] [-w view]\n", + "usage: pkg_add [-AfhInRuVv] [-C config] [-P destdir] [-K pkg_dbdir]", + " [-m machine] [-p prefix] [-s verification-type]\n", " [[ftp|http]://[user[:password]@]host[:port]][/path/]pkg-name ..."); exit(1); } @@ -112,10 +108,6 @@ main(int argc, char **argv) pkgdb_set_dir(optarg, 3); break; - case 'L': - NoView = TRUE; - break; - case 'R': NoRecord = TRUE; break; @@ -150,14 +142,6 @@ main(int argc, char **argv) Verbose = TRUE; break; - case 'W': - Viewbase = optarg; - break; - - case 'w': - View = optarg; - break; - case 'h': case '?': default: diff --git a/pkgtools/pkg_install/files/add/perform.c b/pkgtools/pkg_install/files/add/perform.c index 88c9d48b11e..9e480036adb 100644 --- a/pkgtools/pkg_install/files/add/perform.c +++ b/pkgtools/pkg_install/files/add/perform.c @@ -1,4 +1,4 @@ -/* $NetBSD: perform.c,v 1.105 2013/09/02 10:28:44 jperkin Exp $ */ +/* $NetBSD: perform.c,v 1.106 2014/12/30 15:13:20 wiz Exp $ */ #if HAVE_CONFIG_H #include "config.h" #endif @@ -6,7 +6,7 @@ #if HAVE_SYS_CDEFS_H #include <sys/cdefs.h> #endif -__RCSID("$NetBSD: perform.c,v 1.105 2013/09/02 10:28:44 jperkin Exp $"); +__RCSID("$NetBSD: perform.c,v 1.106 2014/12/30 15:13:20 wiz Exp $"); /*- * Copyright (c) 2003 Grant Beattie <grant@NetBSD.org> @@ -75,7 +75,6 @@ struct pkg_meta { char *meta_install; char *meta_deinstall; char *meta_preserve; - char *meta_views; char *meta_installed_info; }; @@ -121,7 +120,6 @@ static const struct pkg_meta_desc { { offsetof(struct pkg_meta, meta_size_pkg), SIZE_PKG_FNAME, 0, 0444 }, { offsetof(struct pkg_meta, meta_size_all), SIZE_ALL_FNAME, 0, 0444 }, { offsetof(struct pkg_meta, meta_preserve), PRESERVE_FNAME, 0, 0444 }, - { offsetof(struct pkg_meta, meta_views), VIEWS_FNAME, 0, 0444 }, { offsetof(struct pkg_meta, meta_required_by), REQUIRED_BY_FNAME, 0, 0644 }, { offsetof(struct pkg_meta, meta_installed_info), INSTALLED_INFO_FNAME, 0, 0644 }, { 0, NULL, 0, 0 }, @@ -1179,30 +1177,6 @@ check_dependencies(struct pkg_task *pkg) return status; } -/* - * If this package uses pkg_views, register it in the default view. - */ -static void -pkg_register_views(struct pkg_task *pkg) -{ - if (Fake || NoView || pkg->meta_data.meta_views == NULL) - return; - - if (Verbose) { - printf("%s/pkg_view -d %s %s%s %s%s %sadd %s\n", - BINDIR, pkgdb_get_dir(), - View ? "-w " : "", View ? View : "", - Viewbase ? "-W " : "", Viewbase ? Viewbase : "", - Verbose ? "-v " : "", pkg->pkgname); - } - - fexec_skipempty(BINDIR "/pkg_view", "-d", pkgdb_get_dir(), - View ? "-w " : "", View ? View : "", - Viewbase ? "-W " : "", Viewbase ? Viewbase : "", - Verbose ? "-v " : "", "add", pkg->pkgname, - (void *)NULL); -} - static int preserve_meta_data_file(struct pkg_task *pkg, const char *name) { @@ -1433,12 +1407,7 @@ pkg_do(const char *pkgpath, int mark_automatic, int top_level) if (pkg->meta_data.meta_mtree != NULL) warnx("mtree specification in pkg `%s' ignored", pkg->pkgname); - if (pkg->meta_data.meta_views != NULL) { - pkg->logdir = xstrdup(pkg->prefix); - pkgdb_set_dir(dirname_of(pkg->logdir), 4); - } else { - pkg->logdir = xasprintf("%s/%s", config_pkg_dbdir, pkg->pkgname); - } + pkg->logdir = xasprintf("%s/%s", config_pkg_dbdir, pkg->pkgname); if (Destdir != NULL) pkg->install_logdir = xasprintf("%s/%s", Destdir, pkg->logdir); @@ -1539,8 +1508,6 @@ pkg_do(const char *pkgpath, int mark_automatic, int top_level) if (pkg->meta_data.meta_display != NULL) fputs(pkg->meta_data.meta_display, stdout); - pkg_register_views(pkg); - status = 0; goto clean_memory; diff --git a/pkgtools/pkg_install/files/add/pkg_add.1 b/pkgtools/pkg_install/files/add/pkg_add.1 index e9dcfc4e4f7..567911ead4b 100644 --- a/pkgtools/pkg_install/files/add/pkg_add.1 +++ b/pkgtools/pkg_install/files/add/pkg_add.1 @@ -1,4 +1,4 @@ -.\" $NetBSD: pkg_add.1,v 1.45 2010/09/14 22:26:18 gdt Exp $ +.\" $NetBSD: pkg_add.1,v 1.46 2014/12/30 15:13:20 wiz Exp $ .\" .\" FreeBSD install - a package for the installation and maintenance .\" of non-core utilities. @@ -17,7 +17,7 @@ .\" .\" @(#)pkg_add.1 .\" -.Dd June 16, 2010 +.Dd December 27, 2014 .Dt PKG_ADD 1 .Os .Sh NAME @@ -25,14 +25,12 @@ .Nd a utility for installing and upgrading software package distributions .Sh SYNOPSIS .Nm -.Op Fl AfILnRUuVv +.Op Fl AfInRUuVv .Op Fl C Ar config .Op Fl K Ar pkg_dbdir .Op Fl m Ar machine .Op Fl P Ar destdir .Op Fl p Ar prefix -.Op Fl W Ar viewbase -.Op Fl w Ar view .Ar Oo Oo Li ftp|http Oc Ns Li :// Ns Oo Ar user Oc Ns \ Oo Li \&: Ns Ar password Oc \ Ns Li @ Oc Ns Ar host Ns Oo Li \&: Ns Ar port Oc Ns \ @@ -142,8 +140,6 @@ Override the value of the .Dv PKG_DBDIR configuration option with the value .Ar pkg_dbdir . -.It Fl L -Don't add the package to any views after installation. .It Fl m Override the machine architecture returned by uname with .Ar machine . @@ -179,14 +175,6 @@ See below for a more detailed description of the process. Print version number and exit. .It Fl v Turn on verbose output. -.It Fl W Ar viewbase -Passed down to -.Xr pkg_view 1 -for managed views. -.It Fl w Ar view -Passed down to -.Xr pkg_view 1 -for managed views. .El .Pp One or more @@ -337,11 +325,6 @@ Any package dependencies are recorded in the other packages' .Pa +REQUIRED_BY file. .It -If the package is a depoted package, then add it to the registered -by calling -.Xr pkg_view 1 -accordingly. -.It Finally, if we were upgrading a package, any .Pa +REQUIRED_BY file that was moved aside before upgrading was started is now moved @@ -386,9 +369,6 @@ are prefixed with See .Xr pkg_install.conf 5 for options, that can also be specified using the environment. -Packages using views are also affected by the environment variables -documented for -.Xr pkg_view 1 . .Sh EXAMPLES In all cases, .Nm diff --git a/pkgtools/pkg_install/files/admin/main.c b/pkgtools/pkg_install/files/admin/main.c index c688e944c2d..c7599b1e687 100644 --- a/pkgtools/pkg_install/files/admin/main.c +++ b/pkgtools/pkg_install/files/admin/main.c @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.62 2013/08/03 11:45:14 obache Exp $ */ +/* $NetBSD: main.c,v 1.63 2014/12/30 15:13:20 wiz Exp $ */ #if HAVE_CONFIG_H #include "config.h" @@ -7,7 +7,7 @@ #if HAVE_SYS_CDEFS_H #include <sys/cdefs.h> #endif -__RCSID("$NetBSD: main.c,v 1.62 2013/08/03 11:45:14 obache Exp $"); +__RCSID("$NetBSD: main.c,v 1.63 2014/12/30 15:13:20 wiz Exp $"); /*- * Copyright (c) 1999-2009 The NetBSD Foundation, Inc. @@ -103,8 +103,6 @@ usage(void) " rebuild - rebuild pkgdb from +CONTENTS files\n" " rebuild-tree - rebuild +REQUIRED_BY files from forward deps\n" " check [pkg ...] - check md5 checksum of installed files\n" - " add pkg ... - add pkg files to database\n" - " delete pkg ... - delete file entries for pkg in database\n" " set variable=value pkg ... - set installation variable for package\n" " unset variable pkg ... - unset installation variable for package\n" " lsall /path/to/pkgpattern - list all pkgs matching the pattern\n" @@ -220,15 +218,6 @@ add_pkg(const char *pkgdir, void *vp) return 0; } -static void -delete1pkg(const char *pkgdir) -{ - if (!pkgdb_open(ReadWrite)) - err(EXIT_FAILURE, "cannot open pkgdb"); - (void) pkgdb_remove_pkg(pkgdir); - pkgdb_close(); -} - static void rebuild(void) { @@ -516,21 +505,6 @@ main(int argc, char *argv[]) pkgdb_dump(); - } else if (strcasecmp(argv[0], "add") == 0) { - struct pkgdb_count count; - - count.files = 0; - count.directories = 0; - count.packages = 0; - - for (++argv; *argv != NULL; ++argv) - add_pkg(*argv, &count); - } else if (strcasecmp(argv[0], "delete") == 0) { - argv++; /* "delete" */ - while (*argv != NULL) { - delete1pkg(*argv); - argv++; - } } else if (strcasecmp(argv[0], "set") == 0) { argv++; /* "set" */ set_unset_variable(argv, FALSE); diff --git a/pkgtools/pkg_install/files/admin/pkg_admin.1 b/pkgtools/pkg_install/files/admin/pkg_admin.1 index 6b58ebad409..ea4ac6f3d4e 100644 --- a/pkgtools/pkg_install/files/admin/pkg_admin.1 +++ b/pkgtools/pkg_install/files/admin/pkg_admin.1 @@ -1,4 +1,4 @@ -.\" $NetBSD: pkg_admin.1,v 1.33 2012/12/17 04:34:02 agc Exp $ +.\" $NetBSD: pkg_admin.1,v 1.34 2014/12/30 15:13:20 wiz Exp $ .\" .\" Copyright (c) 1999-2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -34,7 +34,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd December 14, 2012 +.Dd December 27, 2014 .Dt PKG_ADMIN 1 .Os .Sh NAME @@ -106,13 +106,6 @@ Be more verbose. .Pp The following commands are supported: .Bl -tag -width indent -.It Cm add Ar pkg ... -For each listed package, write the absolute pathnames of the files listed in -its -.Pa +CONTENTS -file together with the package they belong to into the package database. -This should be used only by -.Xr pkg_view 1 . .It Cm audit Oo Fl es Oc Oo Fl t Ar type Oc Oo Ar pkg Oc ... Check the listed installed packages for vulnerabilities. If no package is given, check all installed packages. @@ -187,11 +180,6 @@ otherwise it exits with error. Print the current value of .Ar variable as used after parsing the configuration file. -.It Cm delete Ar pkg ... -For each listed package, remove all file entries in the package database that -belong to the package. -This should be used only by -.Xr pkg_view 1 . .It Cm dump Dump the contents of the package database, similar to .Cm pkg_info -F . @@ -310,7 +298,6 @@ for options, that can also be specified using the environment. .Xr pkg_create 1 , .Xr pkg_delete 1 , .Xr pkg_info 1 , -.Xr pkg_view 1 , .Xr pkg_install.conf 5 , .Xr pkgsrc 7 .Sh HISTORY diff --git a/pkgtools/pkg_install/files/create/build.c b/pkgtools/pkg_install/files/create/build.c index 6cdc7449f58..4479a19871e 100644 --- a/pkgtools/pkg_install/files/create/build.c +++ b/pkgtools/pkg_install/files/create/build.c @@ -1,4 +1,4 @@ -/* $NetBSD: build.c,v 1.15 2010/04/20 00:39:13 joerg Exp $ */ +/* $NetBSD: build.c,v 1.16 2014/12/30 15:13:20 wiz Exp $ */ #if HAVE_CONFIG_H #include "config.h" @@ -7,7 +7,7 @@ #if HAVE_SYS_CDEFS_H #include <sys/cdefs.h> #endif -__RCSID("$NetBSD: build.c,v 1.15 2010/04/20 00:39:13 joerg Exp $"); +__RCSID("$NetBSD: build.c,v 1.16 2014/12/30 15:13:20 wiz Exp $"); /*- * Copyright (c) 2007 Joerg Sonnenberger <joerg@NetBSD.org>. @@ -93,7 +93,6 @@ static struct memory_file *build_info_file; static struct memory_file *size_pkg_file; static struct memory_file *size_all_file; static struct memory_file *preserve_file; -static struct memory_file *views_file; static void write_meta_file(struct memory_file *file, struct archive *archive) @@ -292,8 +291,6 @@ make_dist(const char *pkg, const char *suffix, const package_t *plist) write_meta_file(size_all_file, archive); if (Preserve) write_meta_file(preserve_file, archive); - if (create_views) - write_meta_file(views_file, archive); initial_cwd = getcwd(NULL, 0); @@ -407,8 +404,6 @@ pkg_build(const char *pkg, const char *full_pkg, const char *suffix, preserve_file = load_and_add(plist, Preserve, PRESERVE_FNAME, 0444); } - if (create_views) - views_file = make_and_add(plist, VIEWS_FNAME, xstrdup(""), 0444); /* Finally, write out the packing list */ stringify_plist(plist, &plist_buf, &plist_len, realprefix); diff --git a/pkgtools/pkg_install/files/create/create.h b/pkgtools/pkg_install/files/create/create.h index 6e07915bbe7..c21d5851896 100644 --- a/pkgtools/pkg_install/files/create/create.h +++ b/pkgtools/pkg_install/files/create/create.h @@ -1,4 +1,4 @@ -/* $NetBSD: create.h,v 1.14 2009/11/05 16:22:32 joerg Exp $ */ +/* $NetBSD: create.h,v 1.15 2014/12/30 15:13:20 wiz Exp $ */ /* from FreeBSD Id: create.h,v 1.13 1997/10/08 07:46:19 charnier Exp */ @@ -58,7 +58,6 @@ extern const char *CompressionType; extern int PlistOnly; extern int RelativeLinks; extern int update_pkgdb; -extern int create_views; void check_list(package_t *, const char *); void copy_plist(char *, package_t *); diff --git a/pkgtools/pkg_install/files/create/main.c b/pkgtools/pkg_install/files/create/main.c index ad9be9ee158..fe57d18d642 100644 --- a/pkgtools/pkg_install/files/create/main.c +++ b/pkgtools/pkg_install/files/create/main.c @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.19 2010/01/22 13:30:41 joerg Exp $ */ +/* $NetBSD: main.c,v 1.20 2014/12/30 15:13:20 wiz Exp $ */ #if HAVE_CONFIG_H #include "config.h" @@ -7,7 +7,7 @@ #if HAVE_SYS_CDEFS_H #include <sys/cdefs.h> #endif -__RCSID("$NetBSD: main.c,v 1.19 2010/01/22 13:30:41 joerg Exp $"); +__RCSID("$NetBSD: main.c,v 1.20 2014/12/30 15:13:20 wiz Exp $"); /* * FreeBSD install - a package for the installation and maintainance @@ -26,7 +26,7 @@ __RCSID("$NetBSD: main.c,v 1.19 2010/01/22 13:30:41 joerg Exp $"); #include "lib.h" #include "create.h" -static const char Options[] = "B:C:D:EF:I:K:L:OP:S:T:UVb:c:d:f:g:i:k:ln:p:r:s:u:v"; +static const char Options[] = "B:C:D:F:I:K:L:OP:S:T:UVb:c:d:f:g:i:k:ln:p:r:s:u:v"; char *Prefix = NULL; char *Comment = NULL; @@ -48,7 +48,6 @@ char *DefaultGroup = NULL; char *realprefix = NULL; const char *CompressionType = NULL; int update_pkgdb = 1; -int create_views = 0; int PlistOnly = 0; int RelativeLinks = 0; Boolean File2Pkg = FALSE; @@ -57,7 +56,7 @@ static void usage(void) { fprintf(stderr, - "usage: pkg_create [-ElOUVv] [-B build-info-file] [-b build-version-file]\n" + "usage: pkg_create [-lOUVv] [-B build-info-file] [-b build-version-file]\n" " [-C cpkgs] [-D displayfile] [-F compression] \n" " [-I realprefix] [-i iscript]\n" " [-K pkg_dbdir] [-k dscript]\n" @@ -81,10 +80,6 @@ main(int argc, char **argv) Verbose = TRUE; break; - case 'E': - create_views = 1; - break; - case 'F': CompressionType = optarg; break; diff --git a/pkgtools/pkg_install/files/create/pkg_create.1 b/pkgtools/pkg_install/files/create/pkg_create.1 index 1412bbed056..4c95c3a5bfa 100644 --- a/pkgtools/pkg_install/files/create/pkg_create.1 +++ b/pkgtools/pkg_install/files/create/pkg_create.1 @@ -1,4 +1,4 @@ -.\" $NetBSD: pkg_create.1,v 1.25 2010/04/20 00:39:13 joerg Exp $ +.\" $NetBSD: pkg_create.1,v 1.26 2014/12/30 15:13:20 wiz Exp $ .\" .\" FreeBSD install - a package for the installation and maintenance .\" of non-core utilities. @@ -24,7 +24,7 @@ .\" [jkh] Took John's changes back and made some additional extensions for .\" better integration with FreeBSD's new ports collection. .\" -.Dd January 20, 2010 +.Dd December 27, 2014 .Dt PKG_CREATE 1 .Os .Sh NAME @@ -32,70 +32,28 @@ .Nd a utility for creating software package distributions .Sh SYNOPSIS .Nm -.Op Fl ElOUVv -.Bk -words +.Op Fl lOUVv .Op Fl B Ar build-info-file -.Ek -.Bk -words .Op Fl b Ar build-version-file -.Ek -.Bk -words .Op Fl C Ar cpkgs -.Ek -.Bk -words .Op Fl D Ar displayfile -.Ek -.Bk -words .Op Fl F Ar compression -.Ek -.Bk -words .Op Fl g Ar group -.Ek -.Bk -words .Op Fl I Ar realprefix -.Ek -.Bk -words .Op Fl i Ar iscript -.Ek -.Bk -words .Op Fl K Ar pkg_dbdir -.Ek -.Bk -words .Op Fl k Ar dscript -.Ek -.Bk -words .Op Fl n Ar preserve-file -.Ek -.Bk -words .Op Fl P Ar dpkgs -.Ek -.Bk -words -.Op Fl T Ar buildpkgs -.Ek -.Bk -words .Op Fl p Ar prefix -.Ek -.Bk -words .Op Fl S Ar size-all-file -.Ek -.Bk -words .Op Fl s Ar size-pkg-file -.Ek -.Bk -words +.Op Fl T Ar buildpkgs .Op Fl t Ar template -.Ek -.Bk -words .Op Fl u Ar owner -.Ek -.Bk -words .Fl c Ar comment -.Ek -.Bk -words .Fl d Ar description -.Ek -.Bk -words .Fl f Ar packlist -.Ek .Ar pkg-name .Sh DESCRIPTION The @@ -158,8 +116,6 @@ Fetch long description for package from file or, if preceded by .Cm - , the argument itself. -.It Fl E -Add an empty views file to the package. .It Fl F Ar compression Use .Ar compression diff --git a/pkgtools/pkg_install/files/delete/pkg_delete.1 b/pkgtools/pkg_install/files/delete/pkg_delete.1 index 73fae81a1fe..ab3563dc6f8 100644 --- a/pkgtools/pkg_install/files/delete/pkg_delete.1 +++ b/pkgtools/pkg_install/files/delete/pkg_delete.1 @@ -1,4 +1,4 @@ -.\" $NetBSD: pkg_delete.1,v 1.30 2010/02/25 06:56:23 wiz Exp $ +.\" $NetBSD: pkg_delete.1,v 1.31 2014/12/30 15:13:20 wiz Exp $ .\" .\" FreeBSD install - a package for the installation and maintenance .\" of non-core utilities. @@ -17,7 +17,7 @@ .\" .\" from FreeBSD: @(#)pkg_delete.1 .\" -.Dd January 20, 2010 +.Dd December 27, 2014 .Dt PKG_DELETE 1 .Os .Sh NAME @@ -221,12 +221,6 @@ script is called as: .Bd -filled -offset indent -compact .Cm deinstall .Aq Ar pkg-name -.Ar VIEW-DEINSTALL -.Ed -before removing the package from a view, and as: -.Bd -filled -offset indent -compact -.Cm deinstall -.Aq Ar pkg-name .Ar DEINSTALL .Ed before deleting all files and as: @@ -237,8 +231,7 @@ before deleting all files and as: .Ed after deleting them. Passing the keywords -.Ar VIEW-DEINSTALL , -.Ar DEINSTALL , +.Ar DEINSTALL and .Ar POST-DEINSTALL lets you potentially write only one program/script that handles all diff --git a/pkgtools/pkg_install/files/delete/pkg_delete.c b/pkgtools/pkg_install/files/delete/pkg_delete.c index fa343c411f8..1f3fe33a086 100644 --- a/pkgtools/pkg_install/files/delete/pkg_delete.c +++ b/pkgtools/pkg_install/files/delete/pkg_delete.c @@ -34,7 +34,7 @@ #if HAVE_SYS_CDEFS_H #include <sys/cdefs.h> #endif -__RCSID("$NetBSD: pkg_delete.c,v 1.12 2011/09/29 23:30:21 wiz Exp $"); +__RCSID("$NetBSD: pkg_delete.c,v 1.13 2014/12/30 15:13:20 wiz Exp $"); #if HAVE_ERR_H #include <err.h> @@ -398,58 +398,14 @@ find_preserve_pkgs(lpkg_head_t *pkgs) } /* - * Remove package from view. This is calling pkg_deinstall again. - */ -static int -remove_pkg_from_view(const char *pkg) -{ - char line[MaxPathSize], *fname, *eol; - FILE *fp; - - fname = pkgdb_pkg_file(pkg, VIEWS_FNAME); - if (isemptyfile(fname)) { - free(fname); - return 0; - } - if ((fp = fopen(fname, "r")) == NULL) { - warn("Unable to open `%s', aborting", fname); - free(fname); - return 1; - } - free(fname); - while (fgets(line, sizeof(line), fp) != NULL) { - if ((eol = strrchr(line, '\n')) != NULL) - *eol = '\0'; - if (Verbose || Fake) - printf("Deleting package `%s' instance from `%s' view\n", - pkg, line); - if (Fake) - continue; - if (fexec_skipempty(BINDIR "/pkg_delete", "-K", line, - Fake ? "-n" : "", - (Force > 1) ? "-f" : "", - (Force > 0) ? "-f" : "", - pkg, NULL) != 0) { - warnx("Unable to delete package `%s' from view `%s'", - pkg, line); - fclose(fp); - return 1; - } - } - fclose(fp); - return 0; -} - -/* * Run the +DEINSTALL script. Depending on whether this is - * a depoted package and whether this pre- or post-deinstall phase, - * different arguments are passed down. + * pre- or post-deinstall phase, different arguments are passed down. */ static int run_deinstall_script(const char *pkg, int do_postdeinstall) { const char *target, *text; - char *fname, *fname2, *pkgdir; + char *fname, *pkgdir; int rv; fname = pkgdb_pkg_file(pkg, DEINSTALL_FNAME); @@ -458,23 +414,13 @@ run_deinstall_script(const char *pkg, int do_postdeinstall) return 0; } - fname2 = pkgdb_pkg_file(pkg, DEPOT_FNAME); - if (fexists(fname2)) { - if (do_postdeinstall) { - free(fname); - free(fname2); - return 0; - } - target = "VIEW-DEINSTALL"; - text = "view deinstall"; - } else if (do_postdeinstall) { + if (do_postdeinstall) { target = "POST-DEINSTALL"; text = "post-deinstall"; } else { target = "DEINSTALL"; text = "deinstall"; } - free(fname2); if (Fake) { printf("Would execute %s script with argument %s now\n", @@ -541,57 +487,6 @@ remove_line(const char *fname, const char *fname_tmp, const char *text) } /* - * Unregister the package from the depot it is registered in. - */ -static int -remove_pkg_from_depot(const char *pkg) -{ - FILE *fp; - char line[MaxPathSize], *eol; - char *fname, *fname2; - int rv; - - fname = pkgdb_pkg_file(pkg, DEPOT_FNAME); - if (isemptyfile(fname)) { - free(fname); - return 0; - } - - if (Verbose) - printf("Attempting to remove the `%s' registration " - "on package `%s'\n", fname, pkg); - - if (Fake) { - free(fname); - return 1; - } - - if ((fp = fopen(fname, "r")) == NULL) { - warn("Unable to open `%s' file", fname); - free(fname); - return 1; - } - if (fgets(line, sizeof(line), fp) == NULL) { - fclose(fp); - warnx("Empty depot file `%s'", fname); - free(fname); - return 1; - } - if ((eol = strrchr(line, '\n')) != NULL) - *eol = '\0'; - fclose(fp); - free(fname); - - fname = pkgdb_pkg_file(pkg, VIEWS_FNAME); - fname2 = pkgdb_pkg_file(pkg, VIEWS_FNAME_TMP); - rv = remove_line(fname, fname2, line); - free(fname2); - free(fname); - - return rv; -} - -/* * remove_depend is used as iterator function below. * The passed-in package name should be removed from the * +REQUIRED_BY list of the dependency. Such an entry @@ -627,7 +522,7 @@ remove_pkg(const char *pkg) char *fname, *pkgdir; package_t plist; plist_t *p; - int is_depoted_pkg, rv, late_error; + int rv, late_error; if (pkgdb_update_only) return pkgdb_remove_pkg(pkg) ? 0 : 1; @@ -640,15 +535,6 @@ remove_pkg(const char *pkg) } free(fname); - /* +REQUIRED_BY and +PRESERVE already checked */ - if (remove_pkg_from_view(pkg)) - return 1; - - /* - * The views related code has bad error handling, if e.g. - * the deinstall script fails, the package remains unregistered. - */ - fname = pkgdb_pkg_file(pkg, CONTENTS_FNAME); if ((fp = fopen(fname, "r")) == NULL) { warnx("Failed to open `%s'", fname); @@ -712,37 +598,23 @@ remove_pkg(const char *pkg) * processing. */ - fname = pkgdb_pkg_file(pkg, DEPOT_FNAME); - if (fexists(fname)) { - late_error |= remove_pkg_from_depot(pkg); - /* XXX error checking */ - } else { - for (p = plist.head; p; p = p->next) { - if (p->type != PLIST_PKGDEP) - continue; - if (Verbose) - printf("Attempting to remove dependency " - "on package `%s'\n", p->name); - if (Fake) - continue; - match_installed_pkgs(p->name, remove_depend, - __UNCONST(pkg)); - } + for (p = plist.head; p; p = p->next) { + if (p->type != PLIST_PKGDEP) + continue; + if (Verbose) + printf("Attempting to remove dependency " + "on package `%s'\n", p->name); + if (Fake) + continue; + match_installed_pkgs(p->name, remove_depend, + __UNCONST(pkg)); } - free(fname); free_plist(&plist); if (!no_deinstall && !unregister_only) late_error |= run_deinstall_script(pkg, 1); - fname = pkgdb_pkg_file(pkg, VIEWS_FNAME); - if (fexists(fname)) - is_depoted_pkg = TRUE; - else - is_depoted_pkg = FALSE; - free(fname); - if (Fake) return 0; @@ -755,8 +627,6 @@ remove_pkg(const char *pkg) rv = 1; if (isemptydir(pkgdir)&& rmdir(pkgdir) == 0) rv = 0; - else if (is_depoted_pkg) - warnx("Depot directory `%s' is not empty", pkgdir); else if (!Force) warnx("Couldn't remove package directory in `%s'", pkgdir); else if (recursive_remove(pkgdir, 1)) diff --git a/pkgtools/pkg_install/files/info/info.h b/pkgtools/pkg_install/files/info/info.h index f8b6b4d1cd5..8718da209d6 100644 --- a/pkgtools/pkg_install/files/info/info.h +++ b/pkgtools/pkg_install/files/info/info.h @@ -1,4 +1,4 @@ -/* $NetBSD: info.h,v 1.21 2009/09/11 18:00:13 joerg Exp $ */ +/* $NetBSD: info.h,v 1.22 2014/12/30 15:13:20 wiz Exp $ */ /* from FreeBSD Id: info.h,v 1.10 1997/02/22 16:09:40 peter Exp */ @@ -68,7 +68,6 @@ struct pkg_meta { char *meta_install; char *meta_deinstall; char *meta_preserve; - char *meta_views; char *meta_installed_info; int is_installed; }; diff --git a/pkgtools/pkg_install/files/info/perform.c b/pkgtools/pkg_install/files/info/perform.c index 82781584a86..f227b85c395 100644 --- a/pkgtools/pkg_install/files/info/perform.c +++ b/pkgtools/pkg_install/files/info/perform.c @@ -1,4 +1,4 @@ -/* $NetBSD: perform.c,v 1.61 2010/02/20 04:40:03 joerg Exp $ */ +/* $NetBSD: perform.c,v 1.62 2014/12/30 15:13:20 wiz Exp $ */ #if HAVE_CONFIG_H #include "config.h" @@ -13,7 +13,7 @@ #if HAVE_SYS_WAIT_H #include <sys/wait.h> #endif -__RCSID("$NetBSD: perform.c,v 1.61 2010/02/20 04:40:03 joerg Exp $"); +__RCSID("$NetBSD: perform.c,v 1.62 2014/12/30 15:13:20 wiz Exp $"); /*- * Copyright (c) 2008 Joerg Sonnenberger <joerg@NetBSD.org>. @@ -110,9 +110,8 @@ __RCSID("$NetBSD: perform.c,v 1.61 2010/02/20 04:40:03 joerg Exp $"); #define LOAD_SIZE_PKG (1 << 9) #define LOAD_SIZE_ALL (1 << 10) #define LOAD_PRESERVE (1 << 11) -#define LOAD_VIEWS (1 << 12) -#define LOAD_REQUIRED_BY (1 << 13) -#define LOAD_INSTALLED_INFO (1 << 14) +#define LOAD_REQUIRED_BY (1 << 12) +#define LOAD_INSTALLED_INFO (1 << 13) static const struct pkg_meta_desc { size_t entry_offset; @@ -144,8 +143,6 @@ static const struct pkg_meta_desc { LOAD_SIZE_ALL, 0 }, { offsetof(struct pkg_meta, meta_preserve), PRESERVE_FNAME, LOAD_PRESERVE, 0 }, - { offsetof(struct pkg_meta, meta_views), VIEWS_FNAME, - LOAD_VIEWS, 0 }, { offsetof(struct pkg_meta, meta_required_by), REQUIRED_BY_FNAME, LOAD_REQUIRED_BY, 0 }, { offsetof(struct pkg_meta, meta_installed_info), INSTALLED_INFO_FNAME, diff --git a/pkgtools/pkg_install/files/lib/lib.h b/pkgtools/pkg_install/files/lib/lib.h index f79de966aed..85bcf1f02e7 100644 --- a/pkgtools/pkg_install/files/lib/lib.h +++ b/pkgtools/pkg_install/files/lib/lib.h @@ -1,4 +1,4 @@ -/* $NetBSD: lib.h,v 1.64 2010/06/16 23:02:49 joerg Exp $ */ +/* $NetBSD: lib.h,v 1.65 2014/12/30 15:13:21 wiz Exp $ */ /* from FreeBSD Id: lib.h,v 1.25 1997/10/08 07:48:03 charnier Exp */ @@ -116,9 +116,6 @@ enum { #define SIZE_PKG_FNAME "+SIZE_PKG" #define SIZE_ALL_FNAME "+SIZE_ALL" #define PRESERVE_FNAME "+PRESERVE" -#define VIEWS_FNAME "+VIEWS" -#define VIEWS_FNAME_TMP "+VIEWS.tmp" -#define DEPOT_FNAME "+DEPOT" /* The names of special variables */ #define AUTOMATIC_VARNAME "automatic" @@ -363,7 +360,6 @@ const char *pkgdb_get_dir(void); * 1 config file * 2 environment * 3 command line - * 4 destdir/views reset */ void pkgdb_set_dir(const char *, int); char *pkgdb_pkg_dir(const char *); diff --git a/pkgtools/pkg_install/files/lib/version.h b/pkgtools/pkg_install/files/lib/version.h index 8c92b87919d..15d2d4df3ac 100644 --- a/pkgtools/pkg_install/files/lib/version.h +++ b/pkgtools/pkg_install/files/lib/version.h @@ -1,4 +1,4 @@ -/* $NetBSD: version.h,v 1.166 2013/09/02 10:28:44 jperkin Exp $ */ +/* $NetBSD: version.h,v 1.167 2014/12/30 15:13:21 wiz Exp $ */ /* * Copyright (c) 2001 Thomas Klausner. All rights reserved. @@ -27,6 +27,6 @@ #ifndef _INST_LIB_VERSION_H_ #define _INST_LIB_VERSION_H_ -#define PKGTOOLS_VERSION 20130902 +#define PKGTOOLS_VERSION 20141227 #endif /* _INST_LIB_VERSION_H_ */ diff --git a/pkgtools/pkg_install/files/view/Makefile.in b/pkgtools/pkg_install/files/view/Makefile.in deleted file mode 100644 index 4a79ca8422d..00000000000 --- a/pkgtools/pkg_install/files/view/Makefile.in +++ /dev/null @@ -1,43 +0,0 @@ -# $NetBSD: Makefile.in,v 1.7 2013/09/12 11:03:10 jperkin Exp $ - -prefix= @prefix@ -exec_prefix= @exec_prefix@ -sbindir= @sbindir@ -mandir= @mandir@ -datarootdir= @datarootdir@ - -man1dir= $(mandir)/man1 -cat1dir= $(mandir)/cat1 - -INSTALL= @INSTALL@ - -SCRIPTS= linkfarm pkg_view - -all: - @true # do nothing - -clean: - @true # do nothing - -install: - $(INSTALL) -m 755 -d ${DESTDIR}$(sbindir) - $(INSTALL) -m 755 -d ${DESTDIR}$(man1dir) - $(INSTALL) -m 755 -d ${DESTDIR}$(cat1dir) - @for script in $(SCRIPTS); do \ - echo "$(INSTALL) $$script.sh ${DESTDIR}$(sbindir)/$$script"; \ - $(INSTALL) $$script.sh ${DESTDIR}$(sbindir)/$$script; \ - done - @for script in $(SCRIPTS); do \ - echo "$(INSTALL) -m 444 $$script.1 ${DESTDIR}$(man1dir)/$$script.1"; \ - $(INSTALL) -m 444 $$script.1 ${DESTDIR}$(man1dir)/$$script.1; \ - case "$(CATMAN_SECTION_SUFFIX)" in \ - [Yy][Ee][Ss]) \ - echo "$(INSTALL) -m 444 $$script.cat1 ${DESTDIR}$(cat1dir)/$$script.1"; \ - $(INSTALL) -m 444 $$script.cat1 ${DESTDIR}$(cat1dir)/$$script.1; \ - ;; \ - *) \ - echo "$(INSTALL) -m 444 $$script.cat1 ${DESTDIR}$(cat1dir)/$$script.0"; \ - $(INSTALL) -m 444 $$script.cat1 ${DESTDIR}$(cat1dir)/$$script.0; \ - ;; \ - esac; \ - done diff --git a/pkgtools/pkg_install/files/view/linkfarm.1 b/pkgtools/pkg_install/files/view/linkfarm.1 deleted file mode 100644 index d284baede14..00000000000 --- a/pkgtools/pkg_install/files/view/linkfarm.1 +++ /dev/null @@ -1,148 +0,0 @@ -.\" $NetBSD: linkfarm.1,v 1.7 2013/07/20 21:50:53 wiz Exp $ -.\" -.\" Copyright (c) 2003 The NetBSD Foundation, Inc. -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the NetBSD -.\" Foundation, Inc. and its contributors. -.\" 4. Neither the name of The NetBSD Foundation nor the names of its -.\" contributors may be used to endorse or promote products derived -.\" from this software without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS -.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS -.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -.\" POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 2, 2003 -.Dt LINKFARM 1 -.Os -.Sh NAME -.Nm linkfarm -.Nd manage symbolic links to package files -.Sh SYNOPSIS -.Nm -.Op Fl cDnRVv -.Op Fl d Ar stowdir -.Op Fl s Ar subdir -.Op Fl t Ar target -.Ar package -.Sh DESCRIPTION -The -.Nm -command is used to manage a "linkfarm", a directory tree of symbolic links in -.Ar target -to the files in the -.Ar package -sub-directory of -.Ar stowdir . -The default action is to create a linkfarm to a package. -.Pp -The following command-line options are supported: -.Bl -tag -width indent -.It Fl c -Check whether a package contains a linkfarm in -.Ar target . -If -.Ar package -has no symbolic links in -.Ar target -that correspond to its files, then return 0, otherwise return 1. -.It Fl D -Delete the linkfarm for -.Ar package . -.It Fl d Ar stowdir -Set -.Ar stowdir -as the directory in which -.Ar package -can be found. -The default -.Ar stowdir -is the -.Pa packages -sub-directory in the default -.Ar target -directory. -.It Fl n -Don't actually execute the commands for removing and creating the symbolic -links and directories. -.It Fl R -Delete and re-create the linkfarm for -.Ar package . -.It Fl s Ar subdir -The root of the package hierarchy for the linkfarm is the -.Ar subdir -sub-directory in the package. -By default, assume the root of the package hierarchy is simply the -.Ar package -directory. -.It Fl t Ar target -Set -.Ar target -as the directory in which to create and delete the linkfarm for -.Ar package . -The default -.Ar target -directory is -.Pa /usr/pkg -but may be overridden by the -.Ev LOCALBASE -environment variable. -.It Fl V -Print version number and exit. -.It Fl v -Turn on verbose output. -Specifying -.Fl v -multiple times increases the level of verbosity. -.El -.Sh ENVIRONMENT -.Bl -tag -width indent -.It Ev LOCALBASE -The standard packages directory, -.Pa /usr/pkg , -can be overridden by specifying an alternative directory in the -.Ev LOCALBASE -environment variable. -This affects the default -.Ar target -and -.Ar stowdir -directories. -.It Ev PLIST_IGNORE_FILES -This can be used to specify files in -.Ar package -that should ignored when creating and deleting symbolic links in -.Ar target . -.Ev PLIST_IGNORE_FILES -is a space-separated list of shell glob patterns that match files relative -to the -.Ar package -directory, and it defaults to "info/dir *[~#] *.OLD *.orig *,v". -.El -.Sh SEE ALSO -.Xr lndir 1 , -.Xr pkg_view 1 -.Sh AUTHORS -The -.Nm -utility was written by -.An Alistair G. Crooks Aq Mt agc@NetBSD.org . diff --git a/pkgtools/pkg_install/files/view/linkfarm.cat1 b/pkgtools/pkg_install/files/view/linkfarm.cat1 deleted file mode 100644 index 950327a0a4e..00000000000 --- a/pkgtools/pkg_install/files/view/linkfarm.cat1 +++ /dev/null @@ -1,67 +0,0 @@ -LINKFARM(1) NetBSD General Commands Manual LINKFARM(1) - -NNAAMMEE - lliinnkkffaarrmm -- manage symbolic links to package files - -SSYYNNOOPPSSIISS - lliinnkkffaarrmm [--ccDDnnRRVVvv] [--dd _s_t_o_w_d_i_r] [--ss _s_u_b_d_i_r] [--tt _t_a_r_g_e_t] _p_a_c_k_a_g_e - -DDEESSCCRRIIPPTTIIOONN - The lliinnkkffaarrmm command is used to manage a "linkfarm", a directory tree of - symbolic links in _t_a_r_g_e_t to the files in the _p_a_c_k_a_g_e sub-directory of - _s_t_o_w_d_i_r. The default action is to create a linkfarm to a package. - - The following command-line options are supported: - - --cc Check whether a package contains a linkfarm in _t_a_r_g_e_t. If - _p_a_c_k_a_g_e has no symbolic links in _t_a_r_g_e_t that correspond to its - files, then return 0, otherwise return 1. - - --DD Delete the linkfarm for _p_a_c_k_a_g_e. - - --dd _s_t_o_w_d_i_r - Set _s_t_o_w_d_i_r as the directory in which _p_a_c_k_a_g_e can be found. The - default _s_t_o_w_d_i_r is the _p_a_c_k_a_g_e_s sub-directory in the default - _t_a_r_g_e_t directory. - - --nn Don't actually execute the commands for removing and creating the - symbolic links and directories. - - --RR Delete and re-create the linkfarm for _p_a_c_k_a_g_e. - - --ss _s_u_b_d_i_r - The root of the package hierarchy for the linkfarm is the _s_u_b_d_i_r - sub-directory in the package. By default, assume the root of the - package hierarchy is simply the _p_a_c_k_a_g_e directory. - - --tt _t_a_r_g_e_t - Set _t_a_r_g_e_t as the directory in which to create and delete the - linkfarm for _p_a_c_k_a_g_e. The default _t_a_r_g_e_t directory is _/_u_s_r_/_p_k_g - but may be overridden by the LOCALBASE environment variable. - - --VV Print version number and exit. - - --vv Turn on verbose output. Specifying --vv multiple times increases - the level of verbosity. - -EENNVVIIRROONNMMEENNTT - LOCALBASE - The standard packages directory, _/_u_s_r_/_p_k_g, can be overridden by - specifying an alternative directory in the LOCALBASE environment - variable. This affects the default _t_a_r_g_e_t and _s_t_o_w_d_i_r directo- - ries. - - PLIST_IGNORE_FILES - This can be used to specify files in _p_a_c_k_a_g_e that should ignored - when creating and deleting symbolic links in _t_a_r_g_e_t. - PLIST_IGNORE_FILES is a space-separated list of shell glob pat- - terns that match files relative to the _p_a_c_k_a_g_e directory, and it - defaults to "info/dir *[~#] *.OLD *.orig *,v". - -SSEEEE AALLSSOO - lndir(1), pkg_view(1) - -AAUUTTHHOORRSS - The lliinnkkffaarrmm utility was written by Alistair G. Crooks <agc@NetBSD.org>. - -NetBSD 5.0 September 2, 2003 NetBSD 5.0 diff --git a/pkgtools/pkg_install/files/view/linkfarm.sh.in b/pkgtools/pkg_install/files/view/linkfarm.sh.in deleted file mode 100644 index a1b1049e572..00000000000 --- a/pkgtools/pkg_install/files/view/linkfarm.sh.in +++ /dev/null @@ -1,232 +0,0 @@ -#! /bin/sh - -# $NetBSD: linkfarm.sh.in,v 1.4 2004/08/20 20:09:53 jlam Exp $ - -# -# Copyright (c) 2002 Alistair G. Crooks. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# 3. All advertising materials mentioning features or use of this software -# must display the following acknowledgement: -# This product includes software developed by Alistair G. Crooks. -# 4. The name of the author may not be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS -# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# set -x - -prefix="@prefix@" -exec_prefix="@exec_prefix@" -sbindir="@sbindir@" - -# set up program definitions -findprog="@FIND@" -grepprog="@GREP@" -lnprog="@LN@" -mkdirprog="@MKDIR@" -pkginfoprog="@sbindir@/pkg_info" -rmprog="@RM@" -rmdirprog="@RMDIR@" -sedprog="@SED@" -sortprog="@SORT@" - -usage() { - echo 'Usage: linkfarm [options] package' - exit 1 -} - -version() { - $pkginfoprog -V - exit 0 -} - -checkdir() { - if [ ! -d "$1" ]; then - echo "linkfarm: \`$1' doesn't exist" - exit 1 - fi -} - -ignorefiles=${PLIST_IGNORE_FILES:-"info/dir *[~#] *.OLD *.orig *,v"} -linktype=-s - -# default action: create a linkfarm in $target from $stowdir/$1 -# i.e. linkfarm --target=${prefix}/${view} --dir=${prefix}/packages $1 -# -doit="" -target=${LOCALBASE:-/usr/pkg} -stowdir=${target}/packages -subdir="" -verbose=0 - -# default action is to create -check=no -delete=no -create=yes - -# process args - can't use getopt(1) because of '--' style args -while [ $# -gt 0 ]; do - case "$1" in - -D) delete=yes; create=no ;; - -R) delete=yes; create=yes ;; - -V) version ;; - -c) check=yes; doit=":" ;; - -d) stowdir=$2; shift ;; - -d*) stowdir=`echo $1 | $sedprog -e 's|-d||'` ;; - -s) subdir=$2; shift ;; - -s*) subdir=`echo $1 | $sedprog -e 's|-s||'` ;; - -t) target=$2; shift ;; - -t*) target=`echo $1 | $sedprog -e 's|-t||'` ;; - -n) doit=":" ;; - -v) verbose=`expr $verbose + 1` ;; - - --delete) delete=yes; create=no ;; - --dir=*) stowdir=`echo $1 | $sedprog -e 's|--dir=||'` ;; - --restow) delete=yes; create=yes ;; - --subdir=*) subdir=`echo $1 | $sedprog -e 's|--subdir=||'` ;; - --target=*) target=`echo $1 | $sedprog -e 's|--target=||'` ;; - --version) version ;; - - --) shift; break ;; - *) break ;; - esac - shift -done - -# set the package name -package=$1 - -# make sure stowdir has a full pathname -case $stowdir in -/*) ;; -*) stowdir=`pwd`/$stowdir ;; -esac - -# Set the directory from which we symlink. -case $subdir in -"") fromdir=$stowdir/$package ;; -*) fromdir=$stowdir/$package/$subdir ;; -esac - -# Set the directory to which we symlink. -case $target in -/*) todir=$target ;; -*) todir=`pwd`/$target ;; -esac - -# if we're checking the entries, check, then exit -case $check in -yes) - checkdir $fromdir - (cd $fromdir - ex=0 - $findprog . ! -type d -print | \ - $sedprog -e 's|^\./||' | \ - while read f; do - if [ -e $todir/$f ]; then - ignore=no - for i in $ignorefiles; do - case $f in - $i) ignore=yes; break ;; - esac - done - case $ignore in - no) - echo "${f}"; ex=1 ;; - esac - fi - done - exit $ex) || exit 1 - ;; -esac - -# if we need to get rid of old linkfarms, do it -case $delete in -yes) - checkdir $fromdir - (cd $fromdir - $findprog . ! -type d -print | \ - $sedprog -e 's|^\./||' | \ - while read f; do - ignore=no - for i in $ignorefiles; do - case $f in - $i) ignore=yes; break ;; - esac - done - case $ignore in - no) - if [ $verbose -gt 0 ]; then - echo "$rmprog -f $todir/$f" - fi - $doit $rmprog -f $todir/$f ;; - esac - done - $findprog . -type d -print | \ - $sedprog -e 's|^\./||' | \ - $sortprog -r | \ - while read d; do - if [ $verbose -gt 0 ]; then - echo "$rmdirprog $todir/$d" - fi - $doit $rmdirprog $todir/$d > /dev/null 2>&1 - done) - ;; -esac - -# if we need to create new linkfarms, do it -case $create in -yes) - checkdir $fromdir - (cd $fromdir - $findprog . -type d -print | \ - $sedprog -e 's|^\./||' | \ - while read d; do - case "$d" in - "") continue ;; - esac - if [ $verbose -gt 0 ]; then - echo "$mkdirprog -p $todir/$d" - fi - $doit $mkdirprog -p $todir/$d > /dev/null 2>&1 - done - $findprog . ! -type d -print | \ - $sedprog -e 's|^\./||' | \ - while read f; do - ignore=no - for i in $ignorefiles; do - case $f in - $i) ignore=yes; break ;; - esac - done - case $ignore in - no) - if [ $verbose -gt 0 ]; then - echo "$lnprog ${linktype} $fromdir/$f $todir/$f" - fi - $doit $lnprog ${linktype} $fromdir/$f $todir/$f ;; - esac - done) - ;; -esac - -exit 0 diff --git a/pkgtools/pkg_install/files/view/pkg_view.1 b/pkgtools/pkg_install/files/view/pkg_view.1 deleted file mode 100644 index 7f31e290dd6..00000000000 --- a/pkgtools/pkg_install/files/view/pkg_view.1 +++ /dev/null @@ -1,276 +0,0 @@ -.\" $NetBSD: pkg_view.1,v 1.14 2013/07/20 21:50:53 wiz Exp $ -.\" -.\" Copyright (c) 2003 The NetBSD Foundation, Inc. -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the NetBSD -.\" Foundation, Inc. and its contributors. -.\" 4. Neither the name of The NetBSD Foundation nor the names of its -.\" contributors may be used to endorse or promote products derived -.\" from this software without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS -.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS -.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -.\" POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 8, 2003 -.Dt PKG_VIEW 1 -.Os -.Sh NAME -.Nm pkg_view -.Nd add and delete instances of depoted packages in views -.Sh SYNOPSIS -.Nm -.Op Fl nVv -.Op Fl d Ar stowdir -.Op Fl i Ar ignore -.Op Fl k Ar pkg_dbdir -.Op Fl W Ar viewbase -.Op Fl w Ar view -.Ar command -.Ar package ... -.Sh DESCRIPTION -The -.Nm -command is used to add and delete instances of depoted packages in -.Ar stowdir -in a -.Ar view -in the -.Ar viewbase -directory. -.Sh WARNING -.Bf -emphasis -Since the -.Nm -command may execute scripts or programs provided by a package file, -your system may be susceptible to -.Dq Trojan horses -or other subtle -attacks from miscreants who create dangerous package files. -.Pp -You are advised to verify the competence and identity of those who -provide installable package files. -For extra protection, examine all the package control files in the -package database directory -.Pa ( /usr/pkg/packages/\*[Lt]pkg-name\*[Gt]/ ) . -Pay particular attention to any -.Pa +INSTALL -or -.Pa +DEINSTALL -files, and inspect the -.Pa +CONTENTS -file for -.Cm @cwd , -.Cm @mode -(check for setuid), -.Cm @dirrm , -.Cm @exec , -and -.Cm @unexec -directives, and/or use the -.Xr pkg_info 1 -command to examine the installed package control files. -.Ef -.Sh OPTIONS -The following command-line options are supported: -.Bl -tag -width indent -.It Fl d Ar stowdir -Set -.Ar stowdir -as the directory in which the depoted packages can be found. -If this option isn't specified, then the -.Ar stowdir -is taken from the value of the environment variable -.Ev DEPOTBASE -if it's set, otherwise the default -.Ar stowdir -is the path to the -.Pa packages -directory under -.Ar viewbase . -.It Fl i Ar ignore -Add -.Ar ignore -to the list of files in -.Ar package -that should ignored when adding or removing the package instance from -.Ar view . -.It Fl k Ar pkg_dbdir -Override the value of the -.Dv PKG_DBDIR -configuration option with the value -.Ar pkg_dbdir . -This is used as as the package database directory for the -default (empty) view. -.It Fl n -Don't actually execute the commands for manipulating the package instances. -.It Fl V -Print the version number and exit. -.It Fl v -Turn on verbose output. -Specifying -.Fl v -multiple times increases the level of verbosity. -.It Fl W Ar viewbase -Set -.Ar viewbase -as the directory in which all the views are managed. -The default -.Ar viewbase -directory is -.Pa /usr/pkg -but may be overridden by the -.Ev LOCALBASE -environment variable. -.It Fl w Ar view -Set -.Ar view -as the directory in -.Ar viewbase -in which the package instances should be added or deleted. -The default -.Ar view -is the empty view but may be overridden by the -.Ev PKG_VIEW -environment variable. -.El -.Pp -The following commands are supported: -.Bl -tag -width indent -.It Cm add -Add the listed package instances into -.Ar view . -.It Cm check -Check whether the listed package instances are present in -.Ar view . -If they are not present, then return 0, otherwise return 1. -.It Cm delete -Delete the listed package instances from -.Ar view . -.El -.Sh ENVIRONMENT -.Bl -tag -width indent -.It Ev DEPOTBASE -This is the location of the -.Ar stowdir -directory inside which all depoted packages are kept. -The default -.Ar stowdir -is the -.Pa packages -directory under -.Ar viewbase . -.It Ev LOCALBASE -This is the location of the -.Ar viewbase -directory in which all the views are managed. -The default -.Ar viewbase -directory is -.Pa /usr/pkg . -.It Ev PKG_DBDIR -If the -.Fl k -flag isn't given, then the value of the environment variable -.Ev PKG_DBDIR -is the package database directory for the default view, -otherwise it defaults to -.Pa /var/db/pkg . -.It Ev PLIST_IGNORE_FILES -This can be used to specify files in -.Ar package -that should ignored when adding or removing the package instance from -.Ar view . -.Ev PLIST_IGNORE_FILES -is a space-separated list of shell glob patterns that match files relative -to the -.Ar package -depot directory, and it defaults to "info/dir *[~#] *.OLD *.orig *,v". -This is overridden by any -.Ev _PLIST_IGNORE_FILES -setting in a package's -.Ar build-info-file -(see -.Xr pkg_create 1 ) -if it exists. -.It Ev PKG_VIEW -The default view can be specified in the -.Ev PKG_VIEW -environment variable. -.El -.Sh FILES -.Bl -tag -width indent -.It Pa \*[Lt]pkg-dbdir\*[Gt]/\*[Lt]package\*[Gt]/+INSTALL -If the package contains an -.Ar install -script (see -.Xr pkg_create 1 ) , -then after the package instance is added into a view, the script is -executed with the following arguments: -.Bl -tag -width package -.It Ar package -The name of the package instance being added. -.It Cm VIEW-INSTALL -Keyword denoting that the script is to perform any actions needed after -the package instance is added to a view. -.El -.Pp -If the -.Ar install -script exits with a non-zero status code, the installation is terminated. -.It Pa \*[Lt]pkg-dbdir\*[Gt]/\*[Lt]package\*[Gt]/+DEINSTALL -If the package contains an -.Ar deinstall -script (see -.Xr pkg_create 1 ) , -then before the package instance is deleted from a view, the script is -executed with the following arguments: -.Bl -tag -width package -.It Ar package -The name of the package instance being deleted. -.It Cm VIEW-DEINSTALL -Keyword denoting that the script is to perform any actions needed before -the package instance is deleted from a view. -.El -.Pp -If the -.Ar deinstall -script exits with a non-zero status code, the de-installation is terminated. -.El -.Pp -The -.Ar install -and -.Ar deinstall -scripts are called with the environment variable -.Ev PKG_PREFIX -set to the path to the -.Ar view -directory. -.Sh SEE ALSO -.Xr linkfarm 1 , -.Xr pkg_delete 1 -.Sh AUTHORS -The -.Nm -utility was written by -.An Alistair G. Crooks Aq Mt agc@NetBSD.org . diff --git a/pkgtools/pkg_install/files/view/pkg_view.sh.in b/pkgtools/pkg_install/files/view/pkg_view.sh.in deleted file mode 100644 index 2d05b717074..00000000000 --- a/pkgtools/pkg_install/files/view/pkg_view.sh.in +++ /dev/null @@ -1,276 +0,0 @@ -#! /bin/sh - -# $NetBSD: pkg_view.sh.in,v 1.7 2006/06/27 23:36:14 hubertf Exp $ - -# -# Copyright (c) 2001 Alistair G. Crooks. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# 3. All advertising materials mentioning features or use of this software -# must display the following acknowledgement: -# This product includes software developed by Alistair G. Crooks. -# 4. The name of the author may not be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS -# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# set -x - -prefix="@prefix@" -exec_prefix="@exec_prefix@" -sbindir="@sbindir@" - -# set up program definitions -chmodprog="@CHMOD@" -cmpprog="@CMP@" -cpprog="@CP@" -envprog="@ENV@" -findprog="@FIND@" -grepprog="@GREP@" -linkfarmprog="@sbindir@/linkfarm" -lnprog="@LN@" -mkdirprog="@MKDIR@" -paxprog="@pax@" -pkgadminprog="@sbindir@/pkg_admin" -pkginfoprog="@sbindir@/pkg_info" -rmprog="@RM@" -rmdirprog="@RMDIR@" -sedprog="@SED@" -touchprog="@TOUCH@" - -usage() { - echo 'Usage: pkg_view [-nVv] [-d stowdir] [-i ignore] [-k pkg_dbdir] [-W viewbase]' - echo ' [-w viewname] add|check|delete pkgname...' - exit 1 -} - -version() { - $pkginfoprog -V - exit 0 -} - -checkpkg() { - if [ ! -d "$2/$1" ]; then - echo "pkg_view: \`$1' doesn't exist in \`$2'" 1>&2 - exit 1 - fi -} - -######################################### -# Initialization and Options Processing # -######################################### - -doit="" -stowdir="" -viewbase=${LOCALBASE:-/usr/pkg} -view=${PKG_VIEW:-""} -dflt_ignorefiles=${PLIST_IGNORE_FILES:-"info/dir *[~#] *.OLD *.orig *,v"} -dflt_pkg_dbdir=${PKG_DBDIR:-/var/db/pkg} -ignorefiles="" -verbose=0 - -while [ $# -gt 0 ]; do - case "$1" in - -d) stowdir=$2; shift ;; - -d*) stowdir=`echo $1 | $sedprog -e 's|^-d||'` ;; - -i) ignorefiles="$ignorefiles $2"; shift ;; - -i*) ignorefiles="$ignorefiles `echo $1 | $sedprog -e 's|^-i||'`" ;; - -k) dflt_pkg_dbdir="$2"; shift ;; - -k*) dflt_pkg_dbdir=`echo $1 | $sedprog -e 's|^-k||'` ;; - -n) doit=":" ;; - -V) version ;; - -v) verbose=`expr $verbose + 1` ;; - -W) viewbase=$2; shift ;; - -W*) viewbase=`echo $1 | $sedprog -e 's|^-p||'` ;; - -w) view=$2; shift ;; - --view=*) view=`echo $1 | $sedprog -e 's|--view=||'` ;; - --) shift; break ;; - *) break ;; - esac - shift -done - -if [ $# -lt 1 ]; then - usage -fi - -# echoN will actually give output if ${verbose} > N. -echo1=":" -echo2=":" -if [ ${verbose} -gt 0 ]; then echo1=echo; fi -if [ ${verbose} -gt 1 ]; then echo2=echo; fi - -action="" -case "$1" in -add) action=add ;; -check) action=check ;; -delete|rm) action=delete ;; -*) usage ;; -esac -shift - -# if standard view, put package info into ${dflt_pkg_dbdir} -# if not standard view, put package info into view's pkgdb -case "$view" in -"") - pkg_dbdir=${dflt_pkg_dbdir} - targetdir=${viewbase} - viewstr="the standard view" - ;; -*) - pkg_dbdir=${viewbase}/${view}/.pkgdb - targetdir=${viewbase}/${view} - viewstr="view \"${view}\"" - ;; -esac - -# Use stowdir if it's given, else fall back to ${DEPOTBASE} or else -# default to ${viewbase}/packages. -# -depot_pkg_dbdir=${stowdir:-${DEPOTBASE:-${viewbase}/packages}} - -case "${depot_pkg_dbdir}" in -${pkg_dbdir}) - echo "pkg_view: the depot and the view package database directories are the same" 1>&2 - exit 1 - ;; -esac - -########################## -# Shell helper functions # -########################## - -# symlinks check|add|delete <pkg> -# -# Calls linkfarm(1) to check, add or delete the symlink farm in -# ${targetdir}. We also ignore the right set of files when doing the -# linkfarm operations. -# -symlinks() { - pkg=$2 - case "$1" in - add) linkfarmflags="" ;; - check) linkfarmflags="-c" ;; - delete) linkfarmflags="-D" ;; - esac - if [ -f ${depot_pkg_dbdir}/$pkg/+BUILD_INFO ]; then - ignore=`$grepprog "^_PLIST_IGNORE_FILES=" ${depot_pkg_dbdir}/$pkg/+BUILD_INFO | $sedprog -e 's|^_PLIST_IGNORE_FILES=[ ]*||'` - fi - case "$ignore" in - "") ignore="${dflt_ignorefiles}" ;; - esac - dbs=`(cd ${depot_pkg_dbdir}/$pkg; echo +*)` - ignore="${ignore} ${ignorefiles} $dbs" - $doit $envprog PLIST_IGNORE_FILES="${ignore}" $linkfarmprog $linkfarmflags --target=${targetdir} --dir=${depot_pkg_dbdir} $pkg -} - -############# -# Main Loop # -############# - -while [ $# -gt 0 ]; do - case $action in - add) - checkpkg $1 ${depot_pkg_dbdir} - if [ -f ${pkg_dbdir}/$1/+DEPOT ]; then - echo "pkg_view: \`$1' already exists in $viewstr" 1>&2 - exit 1 - fi - $echo1 "Adding $1 to ${targetdir}." - symlinks add $1 - $doit $mkdirprog -p ${depot_pkg_dbdir}/$1 - temp=${depot_pkg_dbdir}/$1/+VIEWS.$$ - $doit $touchprog ${depot_pkg_dbdir}/$1/+VIEWS - $doit $cpprog ${depot_pkg_dbdir}/$1/+VIEWS ${temp} - case "$doit" in - "") ($grepprog -v '^'${pkg_dbdir}'$' ${temp} || true; echo ${pkg_dbdir}) > ${depot_pkg_dbdir}/$1/+VIEWS ;; - esac - $doit $rmprog ${temp} - $doit $mkdirprog -p ${pkg_dbdir}/$1 - # - # Copy all of the metadata files except for +VIEWS, - # which is only for the depoted package, and - # +REQUIRED_BY, which is irrelevant for a package in - # a view. - # - case "$doit" in - "") (cd ${depot_pkg_dbdir}/$1; $paxprog -rwpe '-s|\./+VIEWS$||' '-s|\./+REQUIRED_BY$||' ./+* ${pkg_dbdir}/$1) - $sedprog -e 's|'${depot_pkg_dbdir}/$1'|'${targetdir}'|g' < ${depot_pkg_dbdir}/$1/+CONTENTS > ${pkg_dbdir}/$1/+CONTENTS - echo "${depot_pkg_dbdir}/$1" > ${pkg_dbdir}/$1/+DEPOT - ;; - esac - $doit $pkgadminprog -K ${pkg_dbdir} add $1 - if [ -f ${pkg_dbdir}/$1/+INSTALL ]; then - $doit $chmodprog +x ${pkg_dbdir}/$1/+INSTALL - $doit $envprog -i PKG_PREFIX=${targetdir} ${pkg_dbdir}/$1/+INSTALL $1 VIEW-INSTALL - ec=$? - if [ $ec != 0 ]; then - echo "pkg_view: install script returned an error." 1>&2 - exit $ec - fi - fi - ;; - check) - checkpkg $1 ${depot_pkg_dbdir} - $echo1 "Checking $1 in ${targetdir}." - symlinks check $1 - exit $? - ;; - delete) - checkpkg $1 ${depot_pkg_dbdir} - if [ ! -f ${pkg_dbdir}/$1/+DEPOT ]; then - echo "pkg_view: \`$1' doesn't exist in $viewstr" 1>&2 - exit 1 - fi - $echo1 "Deleting $1 from ${targetdir}." - if [ -f ${pkg_dbdir}/$1/+REQUIRED_BY ]; then - if $cmpprog -s ${pkg_dbdir}/$1/+REQUIRED_BY /dev/null; then - : # not really required by another pkg - else - (echo "pkg_view: \`$1' is required by other packages:" - $sedprog -e 's|^| |' ${pkg_dbdir}/$1/+REQUIRED_BY) 1>&2 - exit 1 - fi - fi - if [ -f ${pkg_dbdir}/$1/+DEINSTALL ]; then - $doit $chmodprog +x ${pkg_dbdir}/$1/+DEINSTALL - $doit $envprog -i PKG_PREFIX=${targetdir} ${pkg_dbdir}/$1/+DEINSTALL $1 VIEW-DEINSTALL - ec=$? - if [ $ec != 0 ]; then - echo "pkg_view: de-install script returned an error." 1>&2 - exit $ec - fi - fi - symlinks delete $1 - temp=${depot_pkg_dbdir}/$1/+VIEWS.$$ - $doit $cpprog ${depot_pkg_dbdir}/$1/+VIEWS ${temp} - case "$doit" in - "") ($grepprog -v '^'${pkg_dbdir}'$' ${temp} || true) > ${depot_pkg_dbdir}/$1/+VIEWS ;; - esac - $doit $rmprog ${temp} - $doit $rmprog -rf ${pkg_dbdir}/$1 - $doit $pkgadminprog -K ${pkg_dbdir} delete $1 - ;; - esac - shift -done - -exit 0 diff --git a/pkgtools/x11-links/buildlink3.mk b/pkgtools/x11-links/buildlink3.mk index cda1f5839f6..77d3d9c5323 100644 --- a/pkgtools/x11-links/buildlink3.mk +++ b/pkgtools/x11-links/buildlink3.mk @@ -1,4 +1,4 @@ -# $NetBSD: buildlink3.mk,v 1.58 2014/06/14 21:06:52 jperkin Exp $ +# $NetBSD: buildlink3.mk,v 1.59 2014/12/30 15:13:21 wiz Exp $ # # Don't include this file manually! It will be included as necessary # by bsd.buildlink3.mk. @@ -17,7 +17,7 @@ BUILDLINK_PKGSRCDIR.x11-links?= ../../pkgtools/x11-links BUILDLINK_DEPMETHOD.x11-links?= build # Force all of the helper programs, headers and libraries to be symlinked -# into ${BUILDLINK_X11_DIR}, even in the "pkgviews" case. +# into ${BUILDLINK_X11_DIR}. # BUILDLINK_CONTENTS_FILTER.x11-links= \ ${EGREP} '(bin/.*|include.*/|\.h$$|\.pc$$|/lib[^/]*$$)' diff --git a/security/nikto/Makefile b/security/nikto/Makefile index adb61a5d8d3..cfd8bb84970 100644 --- a/security/nikto/Makefile +++ b/security/nikto/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.20 2014/05/29 23:37:20 wiz Exp $ +# $NetBSD: Makefile,v 1.21 2014/12/30 15:13:21 wiz Exp $ DISTNAME= nikto-1.36 PKGREVISION= 3 @@ -16,9 +16,6 @@ USE_TOOLS+= perl:run REPLACE_PERL= nikto.pl NO_BUILD= YES -# NOTE: this package will not work with pkgviews due to a hardcoded -# location for nmap. -# SUBST_CLASSES+= conf SUBST_STAGE.conf= post-patch SUBST_FILES.conf= config.txt |