Imported Upstream version 2.4.3
This commit is contained in:
commit
26fb71b504
446 changed files with 148951 additions and 0 deletions
149
m4/nut_check_os.m4
Executable file
149
m4/nut_check_os.m4
Executable file
|
|
@ -0,0 +1,149 @@
|
|||
dnl Check for the exact system name and type. This is only used at the moment
|
||||
dnl to determine the packaging rule to be used through the OS_NAME variable.
|
||||
dnl Derived from dist.m4 - OpenSS7 (Ditributed under the GNU GPL v2)
|
||||
dnl Copyright (c) 2001-2006 OpenSS7 Corporation <http://www.openss7.com/>
|
||||
dnl Copyright (c) 1997-2000 Brian F. G. Bidulock <bidulock@openss7.org>
|
||||
|
||||
AC_DEFUN_ONCE([NUT_OS_FUNCTIONS],
|
||||
[
|
||||
os_get_name() {
|
||||
case "$[1]" in
|
||||
(*CentOS*|*CENTOS*) echo 'centos' ;;
|
||||
(*Lineox*|*LINEOX*) echo 'lineox' ;;
|
||||
(*White?Box*|*WHITE?BOX*) echo 'whitebox' ;;
|
||||
(*Fedora*|*FEDORA*) echo 'fedora' ;;
|
||||
(*Mandrake*|*Mandriva*|*MANDRAKE*|*MANDRIVA*) echo 'mandriva' ;;
|
||||
(*Red?Hat*|*RED?HAT*) echo 'redhat' ;;
|
||||
(*SuSE*|*SUSE*|*Novell*|*NOVELL*) echo 'suse' ;;
|
||||
(*Debian*|*DEBIAN*) echo 'debian' ;;
|
||||
(*Ubuntu*|*UBUNTU*) echo 'ubuntu' ;;
|
||||
(*Gentoo*|*gentoo*) echo 'gentoo' ;;
|
||||
# FIXME: *BSD, Solaris, HPUX, Aix, ...
|
||||
(*) # fallback for other systems
|
||||
case "${host_cpu}-${host_os}" in
|
||||
*-aix*) echo 'aix' ;;
|
||||
*-freebsd*) echo 'freebsd' ;;
|
||||
*-darwin*) echo 'darwin' ;;
|
||||
*solaris*) echo 'solaris' ;;
|
||||
*-hpux*) echo 'hpux' ;;
|
||||
esac
|
||||
esac
|
||||
}
|
||||
# only list special cases.
|
||||
os_get_target() {
|
||||
case "$[1]" in
|
||||
# some may fall under generic-rpm
|
||||
(centos|lineox|whitebox|fedora|redhat) echo 'redhat' ;;
|
||||
(suse) echo 'opensuse' ;;
|
||||
(ubuntu) echo 'debian' ;;
|
||||
(*) echo '$[1]' ;;
|
||||
# FIXME: *BSD, Solaris, HPUX, Aix, ...
|
||||
esac
|
||||
}
|
||||
])# _OS_FUNCTIONS
|
||||
|
||||
AC_DEFUN([NUT_CHECK_OS],
|
||||
[
|
||||
# Look for all possible source of OS name resolution
|
||||
# 1) we look for a LSB release info file
|
||||
eval "dist_search_path=\"
|
||||
/etc/lsb-release\""
|
||||
dist_search_path=$(echo "$dist_search_path" | sed -e 's|\<NONE\>||g;s|//|/|g')
|
||||
for dist_file in $dist_search_path
|
||||
do
|
||||
if test -f "$dist_file"
|
||||
then
|
||||
dist_cv_build_lsb_file="$dist_file"
|
||||
break
|
||||
fi
|
||||
done
|
||||
if test -z "$dist_cv_build_lsb_file" ; then
|
||||
dist_cv_build_lsb_file='no'
|
||||
fi
|
||||
# 2) we look at specific release info file
|
||||
eval "dist_search_path=\"
|
||||
/etc/gentoo-release
|
||||
/etc/centos-release
|
||||
/etc/lineox-release
|
||||
/etc/whitebox-release
|
||||
/etc/fedora-release
|
||||
/etc/mandrake-release
|
||||
/etc/mandriva-release
|
||||
/etc/redhat-release
|
||||
/etc/SuSE-release
|
||||
/etc/debian_version\""
|
||||
dist_search_path=$(echo "$dist_search_path" | sed -e 's|\<NONE\>||g;s|//|/|g')
|
||||
for dist_file in $dist_search_path
|
||||
do
|
||||
if test -f "$dist_file"
|
||||
then
|
||||
dist_cv_build_rel_file="$dist_file"
|
||||
break
|
||||
fi
|
||||
done
|
||||
if test -z "$dist_cv_build_rel_file" ; then
|
||||
dist_cv_build_rel_file='no'
|
||||
fi
|
||||
# 3) we try the generic issue info file
|
||||
eval "dist_search_path=\"
|
||||
/etc/issue
|
||||
/etc/issue.net\""
|
||||
dist_search_path=$(echo "$dist_search_path" | sed -e 's|\<NONE\>||g;s|//|/|g')
|
||||
for dist_file in $dist_search_path
|
||||
do
|
||||
if test -f "$dist_file"
|
||||
then
|
||||
dist_cv_build_issue_file="$dist_file"
|
||||
break
|
||||
fi
|
||||
done
|
||||
if test -z "$dist_cv_build_issue_file" ; then
|
||||
dist_cv_build_issue_file='no'
|
||||
fi
|
||||
|
||||
# Now we parse these content to search for the OS name
|
||||
AC_REQUIRE([NUT_OS_FUNCTIONS])
|
||||
AC_CACHE_CHECK([for host system name], [dist_cv_build_flavor], [dnl
|
||||
if test -z "$dist_cv_build_flavor" -a ":${dist_cv_build_rel_file:-no}" != :no ; then
|
||||
if test `echo "$dist_cv_build_rel_file" | sed -e 's|.*/||'` != 'debian_version' ; then
|
||||
dist_cv_build_flavor=$(os_get_name "$(cat $dist_cv_build_rel_file)")
|
||||
fi
|
||||
fi
|
||||
if test -z "$dist_cv_build_flavor" -a ":${dist_cv_build_lsb_file:-no}" != :no ; then
|
||||
. "$dist_cv_build_lsb_file"
|
||||
dist_cv_build_flavor=$(os_get_name "${DISTRIB_DESCRIPTION:-unknown}")
|
||||
if test -z "$dist_cv_build_flavor" ; then
|
||||
dist_cv_build_flavor=$(echo "$DISTRIB_ID" | tr [[:upper:]] [[:lower:]] | sed -e 's|[[[:space:]]]*||g;s|linux||g')
|
||||
fi
|
||||
fi
|
||||
if test -z "$dist_cv_build_flavor" -a ":${dist_cv_build_issue_file:-no}" != :no ; then
|
||||
dist_cv_build_flavor=$(os_get_name "$(cat $dist_cv_build_issue_file | grep 'Linux\|Fedora\|Ubuntu' | head -1)")
|
||||
fi
|
||||
# do debian after lsb and issue for Ubuntu
|
||||
if test -z "$dist_cv_build_flavor" -a ":${dist_cv_build_rel_file:-no}" != :no ; then
|
||||
if test `echo "$dist_cv_build_rel_file" | sed -e 's|.*/||'` = 'debian_version' ; then
|
||||
dist_cv_build_flavor='debian'
|
||||
fi
|
||||
fi
|
||||
# FIXME
|
||||
if test -z "$dist_cv_build_flavor" ; then
|
||||
dist_cv_build_flavor=$(os_get_name "$(${CC-cc} $CFLAGS -v 2>&1 | grep 'gcc version')")
|
||||
fi
|
||||
|
||||
# save the result
|
||||
if test -n "$dist_cv_build_flavor" ; then
|
||||
OS_NAME=$dist_cv_build_flavor
|
||||
PKG_TARGET=$(os_get_target "$dist_cv_build_flavor")
|
||||
fi
|
||||
])
|
||||
])# NUT_CHECK_OS
|
||||
|
||||
|
||||
dnl checking for OS information file {/etc/lsb-release, /etc/xxx_version, /etc/issue, ...)
|
||||
dnl Checking for host system name
|
||||
|
||||
dnl get the base type (linux, ...) from uname,
|
||||
dnl then check the exact linux type?!
|
||||
dnl FIXME: consider cross pf target
|
||||
|
||||
dnl detect build env (pbuilder, .rpm, ...)
|
||||
Loading…
Add table
Add a link
Reference in a new issue