xbps-src: added new 'checkvers' target to check for new versions from srcpkgs
against current installed packages.
This commit is contained in:
parent
24dc6f2caf
commit
b9d0db9470
|
@ -0,0 +1,63 @@
|
|||
#-
|
||||
# Copyright (c) 2010 Juan Romero Pardines.
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
#-
|
||||
#
|
||||
# Check installed package versions against the source packages repository.
|
||||
#
|
||||
check_installed_packages()
|
||||
{
|
||||
local f lpkgn lpkgver rv srcpkgver
|
||||
|
||||
msg_normal "Checking for newer packages from srcpkgs, please wait..."
|
||||
for f in $(xbps-bin.static list|awk '{print $1}'); do
|
||||
lpkgn=$(xbps-uhelper.static getpkgname ${f})
|
||||
lpkgver=$(xbps-uhelper.static getpkgversion ${f})
|
||||
|
||||
if [ ! -r ${XBPS_SRCPKGDIR}/${lpkgn}/template ]; then
|
||||
msg_warn "Installed package ${f} not available as source pkg, skipping."
|
||||
continue
|
||||
fi
|
||||
. ${XBPS_SRCPKGDIR}/${lpkgn}/template
|
||||
if [ -r ${XBPS_SRCPKGDIR}/${lpkgn}/${lpkgn}.template ]; then
|
||||
unset revision
|
||||
. ${XBPS_SRCPKGDIR}/${lpkgn}/${lpkgn}.template
|
||||
fi
|
||||
if [ -n "$revision" ]; then
|
||||
srcpkgver="${version}_${revision}"
|
||||
else
|
||||
srcpkgver="${version}"
|
||||
fi
|
||||
xbps-uhelper.static cmpver ${lpkgver} ${srcpkgver}
|
||||
rv=$?
|
||||
if [ $rv -eq 255 ]; then
|
||||
echo " ${f}: newer version -> ${srcpkgver}"
|
||||
elif [ $rv -eq 1 ]; then
|
||||
echo " ${f}: sourcepkg outdated -> ${srcpkgver}"
|
||||
else
|
||||
echo >&2 " ${f}: already up to date."
|
||||
fi
|
||||
reset_tmpl_vars
|
||||
done
|
||||
msg_normal "done."
|
||||
}
|
|
@ -68,27 +68,32 @@ usage()
|
|||
$progname: [-Ch] [-c <config_file>] [-m <masterdir>] [-p <pkgdir>] <target>
|
||||
|
||||
Targets:
|
||||
bootstrap Build and install the bootstrap packages into masterdir.
|
||||
bootstrap Build and install the bootstrap packages into <masterdir>.
|
||||
build Build a package (fetch + extract + configure + build).
|
||||
build-pkg [all] Build a binary package from <pkg>.
|
||||
Package must be installed into destdir. If the <all>
|
||||
keyword is used all packages currently installed will
|
||||
be used.
|
||||
chroot Enter to the chroot in masterdir.
|
||||
keyword is used all packages currently installed in
|
||||
<masterdir>/<destdir> will be used.
|
||||
checkvers Checks installed package versions against srcpkgs
|
||||
for new available versions.
|
||||
chroot Enter to the chroot in <masterdir>.
|
||||
configure Configure a package (fetch + extract + configure).
|
||||
extract Extract distribution file(s) into build directory.
|
||||
Build directory is always available in
|
||||
<masterdir>/pkg-builddir/<pkg>.
|
||||
fetch Download distribution file(s).
|
||||
info Show information for current pkg build template.
|
||||
install-destdir build + install into destdir.
|
||||
install install-destdir + stow.
|
||||
list List installed packages in masterdir.
|
||||
list List installed packages in <masterdir>.
|
||||
listfiles List installed files from <pkg>.
|
||||
make-repoidx Build a package index for the local repository associated
|
||||
with the master directory, or updates it.
|
||||
with the master directory <masterdir> or <pkgdir>,
|
||||
or updates it.
|
||||
remove Remove package completely (destdir + masterdir).
|
||||
stow Stow <pkg> files from destdir into masterdir and
|
||||
stow Stow <pkg> files from <destdir> into <masterdir> and
|
||||
register package in database.
|
||||
unstow Remove <pkg> files from masterdir and unregister
|
||||
unstow Remove <pkg> files from <masterdir> and unregister
|
||||
package from database.
|
||||
|
||||
Options:
|
||||
|
@ -99,7 +104,7 @@ Options:
|
|||
-m Master directory, overwritting the value set in the configuration
|
||||
file at @@XBPS_INSTALL_ETCDIR@@/xbps-src.conf.
|
||||
-p Package directory, overwritting default path at
|
||||
<XBPS_MASTERDIR>/pkg-binpkgs.
|
||||
<masterdir>/pkg-binpkgs.
|
||||
|
||||
_EOF
|
||||
}
|
||||
|
@ -240,7 +245,7 @@ bootstrap)
|
|||
;;
|
||||
build|configure)
|
||||
. $XBPS_SHUTILSDIR/tmpl_funcs.sh
|
||||
[ ! -r ./template ] && msg_error "missing build template file."
|
||||
[ ! -r ./template ] && msg_error "missing build template in $(pwd)."
|
||||
. ./template
|
||||
|
||||
if [ -z "$base_chroot" -a -z "$in_chroot" ]; then
|
||||
|
@ -293,16 +298,23 @@ build-pkg)
|
|||
fi
|
||||
done
|
||||
else
|
||||
[ ! -r ./template ] && msg_error "missing build template in $(pwd)."
|
||||
setup_tmpl $(basename_cwd)
|
||||
xbps_make_binpkg
|
||||
fi
|
||||
;;
|
||||
checkvers)
|
||||
. $XBPS_SHUTILSDIR/tmpl_funcs.sh
|
||||
. $XBPS_SHUTILSDIR/check_installed_packages.sh
|
||||
check_installed_packages
|
||||
;;
|
||||
chroot)
|
||||
. $XBPS_SHUTILSDIR/chroot.sh
|
||||
xbps_chroot_handler chroot dummy
|
||||
;;
|
||||
extract|fetch|info)
|
||||
. $XBPS_SHUTILSDIR/tmpl_funcs.sh
|
||||
[ ! -r ./template ] && msg_error "missing build template in $(pwd)."
|
||||
setup_tmpl $(basename_cwd)
|
||||
if [ "$target" = "info" ]; then
|
||||
. $XBPS_SHUTILSDIR/tmpl_funcs.sh
|
||||
|
@ -319,7 +331,7 @@ extract|fetch|info)
|
|||
;;
|
||||
install|install-destdir)
|
||||
. $XBPS_SHUTILSDIR/tmpl_funcs.sh
|
||||
[ ! -r ./template ] && msg_error "missing build template file."
|
||||
[ ! -r ./template ] && msg_error "missing build template in $(pwd)."
|
||||
. ./template
|
||||
|
||||
install_destdir_target=no
|
||||
|
@ -354,18 +366,21 @@ make-repoidx)
|
|||
;;
|
||||
remove)
|
||||
. $XBPS_SHUTILSDIR/pkgtarget_funcs.sh
|
||||
[ ! -r ./template ] && msg_error "missing build template in $(pwd)."
|
||||
setup_tmpl $(basename_cwd)
|
||||
remove_pkg
|
||||
;;
|
||||
stow)
|
||||
stow_flag=yes
|
||||
. $XBPS_SHUTILSDIR/tmpl_funcs.sh
|
||||
[ ! -r ./template ] && msg_error "missing build template in $(pwd)."
|
||||
setup_tmpl $(basename_cwd)
|
||||
. $XBPS_SHUTILSDIR/stow_funcs.sh
|
||||
stow_pkg_handler stow
|
||||
;;
|
||||
unstow)
|
||||
. $XBPS_SHUTILSDIR/tmpl_funcs.sh
|
||||
[ ! -r ./template ] && msg_error "missing build template in $(pwd)."
|
||||
setup_tmpl $(basename_cwd)
|
||||
. $XBPS_SHUTILSDIR/stow_funcs.sh
|
||||
stow_pkg_handler unstow
|
||||
|
|
Loading…
Reference in New Issue