cf099c77fa
The ports tree is now staged by default. With pkgng the sequence hasn't changed, the main difference is that creating package is now independent from installing it. With pkg_install, the package is now created first and make install, do install the package. New macros: - STAGEDIR: PATH to the directory where the port will be staged. - NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area) Unsupported macro if NO_STAGE is not set: - MAN* with staging man page compression and handling of hardlinks and symlinks is automatically done in the stage. the manpages becomes then a "normal" plist files and should be tracked in pkg-plist. - MANCOMPRESSED the compress-man target is able to only compress when it needed. New target: - stage: this installs everything into the stage directory - makeplist: this will create a pkg-plist and print it to stdout. This is a sample plist and it should always be _reviewed_ not directly used. NOTE: with staging only what is in the plist will be installed, nothing more, meaning a port staged cannot have leftovers exect directories left. It is really important to double check the pkg-plist to make sure all the files the maintainer want to package are in! make makeplist can help in that area. The goal is to handle as quickly as possible a full removal of the NO_STAGE support. More features can be added once the full ports tree is converted to using the staging area Conversion notes: - Remove NO_STAGE - in {pre,do,post}-install * Before any usage of ${PREFIX}, ${ETCDIR}, ${PORTSDIR}, ${PORTEXAMPLES} prepend ${STAGEDIR} * Remove any thing that is done by @exec or +INSTALL script it will be done automatically when syncing packages * Remove any code to show PKG-MESSAGE it will be done automatically when syncing packages * Directory creation should remain in post-install (in particular because pkgng doesn't work like pkg_install in that area and pkgng ignores the @exec mkdir but directly pack the directory even if empty) - PORTDOCS/PORTEXAMPELS To support PORTDOCS, PORTEXAMPLES most of the time there is no more need for hacks. just add the right %%PORTDOCS%% or %%PORTEXAMPLES%% in your plist then the given files from the stagedir will or will not sync according to NOPORTDOCS and NOPORTEXAMPLES. With hat: portmgr Reviewed by: bdrewery |
||
---|---|---|
.. | ||
Uses | ||
bsd.apache.mk | ||
bsd.autotools.mk | ||
bsd.commands.mk | ||
bsd.cran.mk | ||
bsd.database.mk | ||
bsd.default-versions.mk | ||
bsd.destdir.mk | ||
bsd.drupal.mk | ||
bsd.efl.mk | ||
bsd.emacs.mk | ||
bsd.fpc.mk | ||
bsd.gcc.mk | ||
bsd.gecko.mk | ||
bsd.gnome.mk | ||
bsd.gnustep.mk | ||
bsd.gstreamer.mk | ||
bsd.java.mk | ||
bsd.kde4.mk | ||
bsd.ldap.mk | ||
bsd.licenses.db.mk | ||
bsd.licenses.mk | ||
bsd.linux-apps.mk | ||
bsd.linux-rpm.mk | ||
bsd.local.mk | ||
bsd.lua.mk | ||
bsd.ocaml.mk | ||
bsd.octave.mk | ||
bsd.openssl.mk | ||
bsd.options.desc.mk | ||
bsd.options.mk | ||
bsd.pbi.mk | ||
bsd.php.mk | ||
bsd.pkgng.mk | ||
bsd.port.mk | ||
bsd.port.options.mk | ||
bsd.port.post.mk | ||
bsd.port.pre.mk | ||
bsd.port.subdir.mk | ||
bsd.python.mk | ||
bsd.qt.mk | ||
bsd.ruby.mk | ||
bsd.sanity.mk | ||
bsd.scons.mk | ||
bsd.sdl.mk | ||
bsd.sites.mk | ||
bsd.ssp.mk | ||
bsd.stage.mk | ||
bsd.tcl.mk | ||
bsd.tex.mk | ||
bsd.wx.mk | ||
bsd.xfce.mk | ||
bsd.xorg.mk |