From 1d84ba3c07ca1e95063b64a01e0b7784b24661d7 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 12 Mar 2014 10:22:15 +0100 Subject: [PATCH] xbps: add patch from git to support 6th arg in pkg scripts (machine arch). --- ...-pass-native-machine-architecture-to.patch | 152 ++++++++++++++++++ srcpkgs/xbps/template | 2 +- 2 files changed, 153 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/xbps/patches/0001-Added-support-to-pass-native-machine-architecture-to.patch diff --git a/srcpkgs/xbps/patches/0001-Added-support-to-pass-native-machine-architecture-to.patch b/srcpkgs/xbps/patches/0001-Added-support-to-pass-native-machine-architecture-to.patch new file mode 100644 index 0000000000..4c946cd492 --- /dev/null +++ b/srcpkgs/xbps/patches/0001-Added-support-to-pass-native-machine-architecture-to.patch @@ -0,0 +1,152 @@ +From ef3b6278a67f1e30fc50b5272e24ddf0ec660a30 Mon Sep 17 00:00:00 2001 +From: Juan RP +Date: Wed, 12 Mar 2014 10:16:37 +0100 +Subject: [PATCH] Added support to pass native machine architecture to pkg + scripts (6th arg). + +--- + NEWS | 3 ++ + lib/package_script.c | 2 +- + tests/xbps/libxbps/common/Kyuafile | 1 + + tests/xbps/libxbps/shell/Makefile | 2 +- + tests/xbps/libxbps/shell/scripts_test.sh | 90 ++++++++++++++++++++++++++++++++ + 5 files changed, 96 insertions(+), 2 deletions(-) + create mode 100644 tests/xbps/libxbps/shell/scripts_test.sh + +diff --git a/lib/package_script.c b/lib/package_script.c +index 0031bab..3a9b316 100644 +--- lib/package_script.c ++++ lib/package_script.c +@@ -98,7 +98,7 @@ xbps_pkg_exec_buffer(struct xbps_handle *xhp, + + rv = xbps_file_exec(xhp, fpath, action, pkgname, version, + update ? "yes" : "no", +- xhp->conffile, NULL); ++ xhp->conffile, xhp->native_arch, NULL); + free(pkgname); + + out: +diff --git a/tests/xbps/libxbps/common/Kyuafile b/tests/xbps/libxbps/common/Kyuafile +index 7361066..838557e 100644 +--- tests/xbps/libxbps/common/Kyuafile ++++ tests/xbps/libxbps/common/Kyuafile +@@ -17,6 +17,7 @@ atf_test_program{name="remove_test"} + atf_test_program{name="replace_test"} + atf_test_program{name="installmode_test"} + atf_test_program{name="obsoletefiles_test"} ++atf_test_program{name="scripts_test"} + + include('find_pkg_orphans/Kyuafile') + include('pkgdb/Kyuafile') +diff --git a/tests/xbps/libxbps/shell/Makefile b/tests/xbps/libxbps/shell/Makefile +index e0ef1ea..5ddb15f 100644 +--- tests/xbps/libxbps/shell/Makefile ++++ tests/xbps/libxbps/shell/Makefile +@@ -3,7 +3,7 @@ TOPDIR = ../../../.. + + TESTSHELL = conf_files_test issue6_test issue18_test issue20_test remove_test + TESTSHELL+= replace_test installmode_test obsoletefiles_test +-TESTSHELL+= issue31_test ++TESTSHELL+= issue31_test scripts_test + + include ../Makefile.inc + include $(TOPDIR)/mk/test.mk +diff --git a/tests/xbps/libxbps/shell/scripts_test.sh b/tests/xbps/libxbps/shell/scripts_test.sh +new file mode 100644 +index 0000000..f6c9d53 +--- /dev/null ++++ tests/xbps/libxbps/shell/scripts_test.sh +@@ -0,0 +1,90 @@ ++#!/usr/bin/env atf-sh ++# ++# Tests to verify that INSTALL/REMOVE scripts in pkgs work as expected. ++ ++create_script() { ++ cat > "$1" <<_EOF ++#!/bin/sh ++ACTION="\$1" ++PKGNAME="\$2" ++VERSION="\$3" ++UPDATE="\$4" ++CONF_FILE="\$5" ++ARCH="\$6" ++ ++echo "\$@" >&2 ++_EOF ++ chmod +x "$1" ++} ++ ++atf_test_case script_nargs ++ ++script_nargs_head() { ++ atf_set "descr" "Tests for package scripts: number of arguments" ++} ++ ++script_nargs_body() { ++ mkdir some_repo root ++ mkdir -p pkg_A/usr/bin ++ echo "A-1.0_1" > pkg_A/usr/bin/foo ++ create_script pkg_A/INSTALL ++ ++ cd some_repo ++ xbps-create -A noarch -n A-1.0_1 -s "A pkg" ../pkg_A ++ atf_check_equal $? 0 ++ xbps-rindex -a *.xbps ++ atf_check_equal $? 0 ++ cd .. ++ xbps-install -C empty.conf -r root --repository=$PWD/some_repo -y A ++ atf_check_equal $? 0 ++ ++ rval=0 ++ xbps-reconfigure -C empty.conf -r root -f A 2>out ++ out="$(cat out)" ++ expected="post A 1.0_1 no empty.conf $(uname -m)" ++ if [ "$out" != "$expected" ]; then ++ echo "out: '$out'" ++ echo "expected: '$expected'" ++ rval=1 ++ fi ++ atf_check_equal $rval 0 ++} ++ ++atf_test_case script_arch ++ ++script_arch_head() { ++ atf_set "descr" "Tests for package scripts: XBPS_ARCH overrides \$ARCH" ++} ++ ++script_arch_body() { ++ mkdir some_repo root ++ mkdir -p pkg_A/usr/bin ++ echo "A-1.0_1" > pkg_A/usr/bin/foo ++ create_script pkg_A/INSTALL ++ ++ cd some_repo ++ xbps-create -A noarch -n A-1.0_1 -s "A pkg" ../pkg_A ++ atf_check_equal $? 0 ++ xbps-rindex -a *.xbps ++ atf_check_equal $? 0 ++ cd .. ++ xbps-install -C empty.conf -r root --repository=$PWD/some_repo -y A ++ atf_check_equal $? 0 ++ ++ # Check that XBPS_ARCH overrides $ARCH. ++ rval=0 ++ XBPS_ARCH=foo xbps-reconfigure -C empty.conf -r root -f A 2>out ++ out="$(cat out)" ++ expected="post A 1.0_1 no empty.conf foo" ++ if [ "$out" != "$expected" ]; then ++ echo "out: '$out'" ++ echo "expected: '$expected'" ++ rval=1 ++ fi ++ atf_check_equal $rval 0 ++} ++ ++atf_init_test_cases() { ++ atf_add_test_case script_nargs ++ atf_add_test_case script_arch ++} +-- +1.9.0 + diff --git a/srcpkgs/xbps/template b/srcpkgs/xbps/template index 7ffb959678..5b2dd3cc38 100644 --- a/srcpkgs/xbps/template +++ b/srcpkgs/xbps/template @@ -1,7 +1,7 @@ # Template file for 'xbps' pkgname=xbps version=0.33 -revision=1 +revision=2 bootstrap=yes short_desc="The XBPS package system utilities" maintainer="Juan RP "