Add make rule for building Arch Linux packages

Added the necessary build infrastructure for building packages
compatible with the Arch Linux distribution. As such, one can now run:

    $ ./configure
    $ make pkg     # Alternatively, one can run 'make arch' as well

on an Arch Linux machine to create two binary packages compatible with
the pacman package manager, one for the spl userland utilties and
another for the spl kernel modules. The new packages can then be
installed by running:

    # pacman -U $package.pkg.tar.xz

In addition, source-only packages suitable for an Arch Linux chroot
environment or remote builder can also be built using the 'sarch' make
rule.

NOTE: Since the source dist tarball is created on the fly from the head
of the build tree, it's MD5 hash signature will be continually influx.
As a result, the md5sum variable was intentionally omitted from the
PKGBUILD files, and the '--skipinteg' makepkg option is used. This may
or may not have any serious security implications, as the source tarball
is not being downloaded from an outside source.

Signed-off-by: Prakash Surya <surya1@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes: #68
This commit is contained in:
Prakash Surya
2011-12-06 17:33:51 -08:00
committed by Brian Behlendorf
parent 699d5ee8a9
commit c2dceb5cd5
12 changed files with 296 additions and 20 deletions
Vendored
+78 -15
View File
@@ -801,6 +801,12 @@ LINUX
SPL_CONFIG
DEFAULT_PACKAGE
VENDOR
MAKEPKG_VERSION
MAKEPKG
HAVE_MAKEPKG
PACMAN_VERSION
PACMAN
HAVE_PACMAN
ALIEN_VERSION
ALIEN
HAVE_ALIEN
@@ -4777,13 +4783,13 @@ if test "${lt_cv_nm_interface+set}" = set; then
else
lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
(eval echo "\"\$as_me:4780: $ac_compile\"" >&5)
(eval echo "\"\$as_me:4786: $ac_compile\"" >&5)
(eval "$ac_compile" 2>conftest.err)
cat conftest.err >&5
(eval echo "\"\$as_me:4783: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval echo "\"\$as_me:4789: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&5
(eval echo "\"\$as_me:4786: output\"" >&5)
(eval echo "\"\$as_me:4792: output\"" >&5)
cat conftest.out >&5
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
@@ -5989,7 +5995,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
echo '#line 5992 "configure"' > conftest.$ac_ext
echo '#line 5998 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -7842,11 +7848,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:7845: $lt_compile\"" >&5)
(eval echo "\"\$as_me:7851: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
echo "$as_me:7849: \$? = $ac_status" >&5
echo "$as_me:7855: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -8181,11 +8187,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:8184: $lt_compile\"" >&5)
(eval echo "\"\$as_me:8190: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
echo "$as_me:8188: \$? = $ac_status" >&5
echo "$as_me:8194: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -8286,11 +8292,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:8289: $lt_compile\"" >&5)
(eval echo "\"\$as_me:8295: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
echo "$as_me:8293: \$? = $ac_status" >&5
echo "$as_me:8299: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -8341,11 +8347,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:8344: $lt_compile\"" >&5)
(eval echo "\"\$as_me:8350: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
echo "$as_me:8348: \$? = $ac_status" >&5
echo "$as_me:8354: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -11144,7 +11150,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 11147 "configure"
#line 11153 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11240,7 +11246,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 11243 "configure"
#line 11249 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11601,6 +11607,58 @@ fi
PACMAN=pacman
MAKEPKG=makepkg
{ $as_echo "$as_me:$LINENO: checking whether $PACMAN is available" >&5
$as_echo_n "checking whether $PACMAN is available... " >&6; }
tmp=$($PACMAN --version 2>/dev/null)
if test -n "$tmp"; then
PACMAN_VERSION=$(echo $tmp |
$AWK '/Pacman/ { print $3 }' |
$SED 's/^v//')
HAVE_PACMAN=yes
{ $as_echo "$as_me:$LINENO: result: $HAVE_PACMAN ($PACMAN_VERSION)" >&5
$as_echo "$HAVE_PACMAN ($PACMAN_VERSION)" >&6; }
else
HAVE_PACMAN=no
{ $as_echo "$as_me:$LINENO: result: $HAVE_PACMAN" >&5
$as_echo "$HAVE_PACMAN" >&6; }
fi
{ $as_echo "$as_me:$LINENO: checking whether $MAKEPKG is available" >&5
$as_echo_n "checking whether $MAKEPKG is available... " >&6; }
tmp=$($MAKEPKG --version 2>/dev/null)
if test -n "$tmp"; then
MAKEPKG_VERSION=$(echo $tmp | $AWK '/makepkg/ { print $3 }')
HAVE_MAKEPKG=yes
{ $as_echo "$as_me:$LINENO: result: $HAVE_MAKEPKG ($MAKEPKG_VERSION)" >&5
$as_echo "$HAVE_MAKEPKG ($MAKEPKG_VERSION)" >&6; }
else
HAVE_MAKEPKG=no
{ $as_echo "$as_me:$LINENO: result: $HAVE_MAKEPKG" >&5
$as_echo "$HAVE_MAKEPKG" >&6; }
fi
{ $as_echo "$as_me:$LINENO: checking linux distribution" >&5
$as_echo_n "checking linux distribution... " >&6; }
if test -f /etc/redhat-release ; then
@@ -11617,6 +11675,8 @@ $as_echo_n "checking linux distribution... " >&6; }
VENDOR=slackware ;
elif test -f /etc/gentoo-release ; then
VENDOR=gentoo ;
elif test -f /etc/arch-release ; then
VENDOR=arch ;
else
VENDOR= ;
fi
@@ -11633,6 +11693,7 @@ $as_echo_n "checking default package type... " >&6; }
ubuntu) DEFAULT_PACKAGE=deb ;;
debian) DEFAULT_PACKAGE=deb ;;
slackware) DEFAULT_PACKAGE=tgz ;;
arch) DEFAULT_PACKAGE=arch;;
*) DEFAULT_PACKAGE=rpm ;;
esac
@@ -20228,7 +20289,7 @@ fi
ac_config_files="$ac_config_files Makefile lib/Makefile cmd/Makefile module/Makefile module/spl/Makefile module/splat/Makefile include/Makefile scripts/Makefile spl.spec spl-modules.spec"
ac_config_files="$ac_config_files Makefile lib/Makefile cmd/Makefile module/Makefile module/spl/Makefile module/splat/Makefile include/Makefile scripts/Makefile spl.spec spl-modules.spec PKGBUILD-spl PKGBUILD-spl-modules"
cat >confcache <<\_ACEOF
@@ -21147,6 +21208,8 @@ do
"scripts/Makefile") CONFIG_FILES="$CONFIG_FILES scripts/Makefile" ;;
"spl.spec") CONFIG_FILES="$CONFIG_FILES spl.spec" ;;
"spl-modules.spec") CONFIG_FILES="$CONFIG_FILES spl-modules.spec" ;;
"PKGBUILD-spl") CONFIG_FILES="$CONFIG_FILES PKGBUILD-spl" ;;
"PKGBUILD-spl-modules") CONFIG_FILES="$CONFIG_FILES PKGBUILD-spl-modules" ;;
*) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}