Major infrastructure changes, part 2.
* Moved helpers, common and triggers dirs into xbps-src, where they belong. * Renamed the templates dir to srcpkgs, it was so redundant before. * Make it possible to add subpkgs with no restriction in names, for example udev now has a subpkgs called "libgudev". Previously subpkgs were named "${sourcepkg}-${pkgname}". * xbps-src: changed to look for template files in current directory. That means that most arguments from the targets have been removed. * xbps-src: added a reinstall target, to remove + install. * xbps-src: do not overwrite binpkgs by default, skip them. And more that I forgot because it's a mega-commit that I've been working for some days already... --HG-- extra : convert_revision : 0f466878584d1e6895d2a234f07ea1b2d1e61b3e
This commit is contained in:
parent
3c58e3ad40
commit
85cc462e1d
1305 changed files with 719 additions and 654 deletions
16
xbps-src/helpers/Makefile
Normal file
16
xbps-src/helpers/Makefile
Normal file
|
@ -0,0 +1,16 @@
|
|||
include ../vars.mk
|
||||
|
||||
.PHONY: all
|
||||
all:
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
|
||||
.PHONY: install
|
||||
install:
|
||||
install -d $(DESTDIR)$(SHAREDIR)/helpers
|
||||
install -m 644 *.sh $(DESTDIR)$(SHAREDIR)/helpers
|
||||
|
||||
.PHONY: uninstall
|
||||
uninstall:
|
||||
-rm -rf $(DESTDIR)$(SHAREDIR)/helpers
|
44
xbps-src/helpers/perl-module.sh
Normal file
44
xbps-src/helpers/perl-module.sh
Normal file
|
@ -0,0 +1,44 @@
|
|||
#
|
||||
# This helper does the required steps to be able to build and install
|
||||
# perl modules into the correct location.
|
||||
#
|
||||
# Required vars to be set by a template:
|
||||
#
|
||||
# build_style=perl_module
|
||||
#
|
||||
# Optionally if the module needs more directories to be configured other
|
||||
# than $XBPS_BUILDDIR/$wrksrc, one can use (relative to $wrksrc):
|
||||
#
|
||||
# perl_configure_dirs="blob/bob foo/blah"
|
||||
#
|
||||
|
||||
perl_module_build()
|
||||
{
|
||||
local perlmkf=
|
||||
|
||||
if [ -z "$perl_configure_dirs" ]; then
|
||||
perlmkf="$wrksrc/Makefile.PL"
|
||||
if [ ! -f $perlmkf ]; then
|
||||
echo "*** ERROR couldn't find $perlmkf, aborting"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd $wrksrc && perl Makefile.PL ${make_build_args}
|
||||
if [ "$?" -ne 0 ]; then
|
||||
echo "*** ERROR building perl module for $pkgname ***"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
for i in "$perl_configure_dirs"; do
|
||||
perlmkf="$wrksrc/$i/Makefile.PL"
|
||||
if [ -f $perlmkf ]; then
|
||||
cd $wrksrc/$i && perl Makefile.PL ${make_build_args}
|
||||
[ "$?" -ne 0 ] && exit 1
|
||||
else
|
||||
echo -n "*** ERROR: couldn't find $perlmkf"
|
||||
echo ", aborting ***"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
}
|
14
xbps-src/helpers/python-module.sh
Normal file
14
xbps-src/helpers/python-module.sh
Normal file
|
@ -0,0 +1,14 @@
|
|||
#
|
||||
# This helper is for templates installing python modules.
|
||||
#
|
||||
|
||||
do_install()
|
||||
{
|
||||
if [ -z "$make_install_args" ]; then
|
||||
make_install_args="--prefix=usr --root=$DESTDIR"
|
||||
fi
|
||||
|
||||
cd ${wrksrc} || return 1
|
||||
sed -i 's|man/man1|share/man/man1|g' setup.py || return 1
|
||||
python setup.py install ${make_install_args} || return 1
|
||||
}
|
46
xbps-src/helpers/replace-interpreter.sh
Normal file
46
xbps-src/helpers/replace-interpreter.sh
Normal file
|
@ -0,0 +1,46 @@
|
|||
#
|
||||
# This helper replaces shebang paths pointing to the correct ones
|
||||
# as used by xbps. Multiple languages are supported:
|
||||
#
|
||||
# - GNU Bash
|
||||
# - Perl
|
||||
# - Python
|
||||
#
|
||||
|
||||
bash_regexp=".*sh"
|
||||
perl_regexp=".*perl[^[:space:]]*"
|
||||
python_regexp=".*python[^[:space:]]*"
|
||||
|
||||
replace_interpreter()
|
||||
{
|
||||
local lang="$1"
|
||||
local file="$2"
|
||||
local trsb=
|
||||
local orsb=
|
||||
|
||||
[ -z $lang -o -z $file ] && return 1
|
||||
|
||||
case $lang in
|
||||
bash)
|
||||
orsb=$bash_regexp
|
||||
trpath="/bin/bash"
|
||||
;;
|
||||
perl)
|
||||
orsb=$perl_regexp
|
||||
trpath="/usr/bin/perl"
|
||||
;;
|
||||
python)
|
||||
orsb=$python_regexp
|
||||
trpath="/usr/bin/python"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -f $file ]; then
|
||||
sed -i -e "1s|^#![[:space:]]*${orsb}|#!${trpath}|" $file && \
|
||||
msg_normal "Transformed $lang script: ${file##$wrksrc}."
|
||||
else
|
||||
msg_warn "Ignoring unexistent $lang script: ${file##$wrksrc}."
|
||||
fi
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue