X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=config%2Fzfs-build.m4;h=aa8d3e5eefa90d4b212f3b5b4dfa0896d396e127;hb=b18019d2d810585185493c62e9567fa85e51692c;hp=e048596de743e8c104c00dfd9214dc9eaf9e3e1f;hpb=2e08aedba456dccddf6418908a55014e56cad226;p=zfs.git diff --git a/config/zfs-build.m4 b/config/zfs-build.m4 index e048596..aa8d3e5 100644 --- a/config/zfs-build.m4 +++ b/config/zfs-build.m4 @@ -175,6 +175,48 @@ AC_DEFUN([ZFS_AC_ALIEN], [ ]) dnl # +dnl # Check for pacman+makepkg to build Arch Linux packages. If these +dnl # tools are missing it is non-fatal but you will not be able to +dnl # build Arch Linux packages and will be warned if you try too. +dnl # +AC_DEFUN([ZFS_AC_PACMAN], [ + PACMAN=pacman + MAKEPKG=makepkg + + AC_MSG_CHECKING([whether $PACMAN is available]) + tmp=$($PACMAN --version 2>/dev/null) + AS_IF([test -n "$tmp"], [ + PACMAN_VERSION=$(echo $tmp | + $AWK '/Pacman/ { print $[3] }' | + $SED 's/^v//') + HAVE_PACMAN=yes + AC_MSG_RESULT([$HAVE_PACMAN ($PACMAN_VERSION)]) + ],[ + HAVE_PACMAN=no + AC_MSG_RESULT([$HAVE_PACMAN]) + ]) + + AC_MSG_CHECKING([whether $MAKEPKG is available]) + tmp=$($MAKEPKG --version 2>/dev/null) + AS_IF([test -n "$tmp"], [ + MAKEPKG_VERSION=$(echo $tmp | $AWK '/makepkg/ { print $[3] }') + HAVE_MAKEPKG=yes + AC_MSG_RESULT([$HAVE_MAKEPKG ($MAKEPKG_VERSION)]) + ],[ + HAVE_MAKEPKG=no + AC_MSG_RESULT([$HAVE_MAKEPKG]) + ]) + + AC_SUBST(HAVE_PACMAN) + AC_SUBST(PACMAN) + AC_SUBST(PACMAN_VERSION) + + AC_SUBST(HAVE_MAKEPKG) + AC_SUBST(MAKEPKG) + AC_SUBST(MAKEPKG_VERSION) +]) + +dnl # dnl # Using the VENDOR tag from config.guess set the default dnl # package type for 'make pkg': (rpm | deb | tgz) dnl # @@ -192,6 +234,8 @@ AC_DEFUN([ZFS_AC_DEFAULT_PACKAGE], [ VENDOR=sles ; elif test -f /etc/slackware-version ; then VENDOR=slackware ; + elif test -f /etc/arch-release ; then + VENDOR=arch ; elif test -f /etc/lsb-release ; then VENDOR=ubuntu ; elif test -f /etc/lunar.release ; then @@ -212,12 +256,22 @@ AC_DEFUN([ZFS_AC_DEFAULT_PACKAGE], [ slackware) DEFAULT_PACKAGE=tgz ;; gentoo) DEFAULT_PACKAGE=tgz ;; lunar) DEFAULT_PACKAGE=tgz ;; + arch) DEFAULT_PACKAGE=arch;; *) DEFAULT_PACKAGE=rpm ;; esac AC_MSG_RESULT([$DEFAULT_PACKAGE]) AC_SUBST(DEFAULT_PACKAGE) + AC_MSG_CHECKING([default init directory]) + case "$VENDOR" in + arch) DEFAULT_INIT_DIR=$sysconfdir/rc.d ;; + *) DEFAULT_INIT_DIR=$sysconfdir/init.d ;; + esac + + AC_MSG_RESULT([$DEFAULT_INIT_DIR]) + AC_SUBST(DEFAULT_INIT_DIR) + AC_MSG_CHECKING([default init script type]) case "$VENDOR" in redhat) DEFAULT_INIT_SCRIPT=redhat ;; @@ -228,6 +282,7 @@ AC_DEFUN([ZFS_AC_DEFAULT_PACKAGE], [ slackware) DEFAULT_INIT_SCRIPT=lsb ;; gentoo) DEFAULT_INIT_SCRIPT=gentoo ;; lunar) DEFAULT_INIT_SCRIPT=lunar ;; + arch) DEFAULT_INIT_SCRIPT=arch ;; *) DEFAULT_INIT_SCRIPT=lsb ;; esac @@ -239,8 +294,10 @@ dnl # dnl # Default ZFS package configuration dnl # AC_DEFUN([ZFS_AC_PACKAGE], [ + ZFS_AC_DEFAULT_PACKAGE ZFS_AC_RPM ZFS_AC_DPKG ZFS_AC_ALIEN - ZFS_AC_DEFAULT_PACKAGE + + AS_IF([test "$VENDOR" = "arch"], [ZFS_AC_PACMAN]) ])