Update to 1.36:
- Allow specifying packages by their basename, without a category. This affects the arguments to the 'build' command as well as the list of packages provided to AUTO_PACKAGES and BUILD_PACKAGES.
This commit is contained in:
parent
30b1a2ba1e
commit
ceee6bc00c
3 changed files with 53 additions and 16 deletions
|
@ -1,6 +1,6 @@
|
|||
# $NetBSD: Makefile,v 1.47 2010/11/13 16:23:22 jmmv Exp $
|
||||
# $NetBSD: Makefile,v 1.48 2012/02/27 22:42:26 jmmv Exp $
|
||||
|
||||
DISTNAME= pkg_comp-1.35
|
||||
DISTNAME= pkg_comp-1.36
|
||||
CATEGORIES= pkgtools
|
||||
MASTER_SITES= # empty
|
||||
DISTFILES= # empty
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.\" $NetBSD: pkg_comp.8,v 1.35 2010/04/15 09:42:45 jmmv Exp $
|
||||
.\" $NetBSD: pkg_comp.8,v 1.36 2012/02/27 22:42:27 jmmv Exp $
|
||||
.\"
|
||||
.\" pkg_comp - Build packages inside a clean chroot environment
|
||||
.\" Copyright (c) 2002, 2003, 2004, 2005 Julio M. Merino Vidal <jmmv@NetBSD.org>
|
||||
|
@ -27,7 +27,7 @@
|
|||
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
.\" POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.Dd April 15, 2010
|
||||
.Dd February 27, 2012
|
||||
.Dt PKG_COMP 8
|
||||
.Os
|
||||
.Sh NAME
|
||||
|
@ -155,7 +155,12 @@ issuing a maketemplate.
|
|||
A list of packages to automatically build during the
|
||||
.Sy auto
|
||||
target.
|
||||
A package is in the form section/name, like misc/colorls.
|
||||
A package is in the form
|
||||
.Sq section/name ,
|
||||
like
|
||||
.Sq misc/colorls ,
|
||||
or a plain name like
|
||||
.Sq colorls .
|
||||
Defaults to nothing.
|
||||
.It AUTO_TARGET
|
||||
The pkgsrc target to use when building packages in an automated fashion
|
||||
|
@ -173,7 +178,12 @@ Defaults to
|
|||
A list of packages to automatically build after the
|
||||
.Sy makeroot
|
||||
target.
|
||||
A package is in the form section/name, like misc/colorls.
|
||||
A package is in the form
|
||||
.Sq section/name ,
|
||||
like
|
||||
.Sq misc/colorls ,
|
||||
or a plain name like
|
||||
.Sq colorls .
|
||||
Defaults to nothing.
|
||||
.It BUILD_TARGET
|
||||
The pkgsrc target to use when building packages.
|
||||
|
@ -475,8 +485,8 @@ Create the chroot environment, based on the specs of the configuration file.
|
|||
This step is required before trying any other, except maketemplate.
|
||||
.It build
|
||||
Builds the specified packages inside the chroot.
|
||||
You need to pass their names as relative paths inside pkgsrc, like
|
||||
.Pa pkgtools/pkg_comp .
|
||||
You can pass the package names as a relative path within pkgsrc or as the
|
||||
basename of the package directory (i.e. omitting the directory name).
|
||||
.It install
|
||||
Install the specified binary packages into the chroot.
|
||||
Package names can contain globs.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# $NetBSD: pkg_comp.sh,v 1.39 2010/11/13 16:23:22 jmmv Exp $
|
||||
# $NetBSD: pkg_comp.sh,v 1.40 2012/02/27 22:42:27 jmmv Exp $
|
||||
#
|
||||
# pkg_comp - Build packages inside a clean chroot environment
|
||||
# Copyright (c) 2002, 2003, 2004, 2005 Julio M. Merino Vidal <jmmv@NetBSD.org>
|
||||
|
@ -701,13 +701,14 @@ pkg_build()
|
|||
{
|
||||
local failed invalid p pkgs script statfile
|
||||
|
||||
pkgs="$*"
|
||||
|
||||
# Check if all packages exist
|
||||
invalid=""
|
||||
for p in $pkgs; do
|
||||
if [ ! -d $REAL_PKGSRC/$p ]; then
|
||||
invalid="$invalid $p"
|
||||
pkgs=
|
||||
invalid=
|
||||
for pkg in "${@}"; do
|
||||
local match="$(find_pkg "${pkg}")"
|
||||
if [ -z "${match}" ]; then
|
||||
invalid="${invalid} ${pkg}"
|
||||
else
|
||||
pkgs="${pkgs} ${match}"
|
||||
fi
|
||||
done
|
||||
if [ -n "$invalid" ]; then
|
||||
|
@ -754,6 +755,32 @@ EOF
|
|||
fi
|
||||
}
|
||||
|
||||
# find_pkg name
|
||||
#
|
||||
# Checks if the given package exists and outputs its path within pkgsrc.
|
||||
# Outputs nothing if the package is not found.
|
||||
find_pkg()
|
||||
{
|
||||
local name="${1}"
|
||||
|
||||
case "${name}" in
|
||||
*/*)
|
||||
if [ -d "${REAL_PKGSRC}/${name}" ]; then
|
||||
echo "${name}"
|
||||
else
|
||||
: # Not found; output nothing.
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
local match="$(cd "${REAL_PKGSRC}" && echo */"${name}")"
|
||||
if [ -d "${REAL_PKGSRC}/${match}" ]; then
|
||||
echo "${match}"
|
||||
else
|
||||
: # Not found; output nothing.
|
||||
fi
|
||||
esac
|
||||
}
|
||||
|
||||
# build_and_install pkg
|
||||
#
|
||||
# Builds a package and ensures it gets installed. The use of destdir to
|
||||
|
|
Loading…
Reference in a new issue