[Kimchi-devel] [PATCH 05/15] V3 Ginger Base : base plugin build-aix and contrib folders
Daniel Henrique Barboza
dhbarboza82 at gmail.com
Wed Oct 7 12:59:46 UTC 2015
Reviewed-by: Daniel Barboza <dhbarboza82 at gmail.com>
On 10/07/2015 07:41 AM, chandra at linux.vnet.ibm.com wrote:
> From: chandrureddy <chandra at linux.vnet.ibm.com>
>
> ---
> src/wok/plugins/gingerbase/build-aux/config.rpath | 672 +++++++++++++++++++++
> src/wok/plugins/gingerbase/build-aux/genChangelog | 25 +
> src/wok/plugins/gingerbase/build-aux/pkg-version | 59 ++
> .../plugins/gingerbase/contrib/DEBIAN/Makefile.am | 17 +
> .../plugins/gingerbase/contrib/DEBIAN/control.in | 14 +
> src/wok/plugins/gingerbase/contrib/Makefile.am | 35 ++
> src/wok/plugins/gingerbase/contrib/check_i18n.py | 82 +++
> .../gingerbase/contrib/gingerbase.spec.fedora.in | 68 +++
> .../gingerbase/contrib/gingerbase.spec.suse.in | 62 ++
> src/wok/plugins/gingerbase/contrib/make-deb.sh.in | 15 +
> 10 files changed, 1049 insertions(+)
> create mode 100644 src/wok/plugins/gingerbase/build-aux/config.rpath
> create mode 100755 src/wok/plugins/gingerbase/build-aux/genChangelog
> create mode 100755 src/wok/plugins/gingerbase/build-aux/pkg-version
> create mode 100644 src/wok/plugins/gingerbase/contrib/DEBIAN/Makefile.am
> create mode 100644 src/wok/plugins/gingerbase/contrib/DEBIAN/control.in
> create mode 100644 src/wok/plugins/gingerbase/contrib/Makefile.am
> create mode 100755 src/wok/plugins/gingerbase/contrib/check_i18n.py
> create mode 100644 src/wok/plugins/gingerbase/contrib/gingerbase.spec.fedora.in
> create mode 100644 src/wok/plugins/gingerbase/contrib/gingerbase.spec.suse.in
> create mode 100644 src/wok/plugins/gingerbase/contrib/make-deb.sh.in
>
> diff --git a/src/wok/plugins/gingerbase/build-aux/config.rpath b/src/wok/plugins/gingerbase/build-aux/config.rpath
> new file mode 100644
> index 0000000..17298f2
> --- /dev/null
> +++ b/src/wok/plugins/gingerbase/build-aux/config.rpath
> @@ -0,0 +1,672 @@
> +#! /bin/sh
> +# Output a system dependent set of variables, describing how to set the
> +# run time search path of shared libraries in an executable.
> +#
> +# Copyright 1996-2010 Free Software Foundation, Inc.
> +# Taken from GNU libtool, 2001
> +# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
> +#
> +# This file is free software; the Free Software Foundation gives
> +# unlimited permission to copy and/or distribute it, with or without
> +# modifications, as long as this notice is preserved.
> +#
> +# The first argument passed to this file is the canonical host specification,
> +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
> +# or
> +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
> +# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
> +# should be set by the caller.
> +#
> +# The set of defined variables is at the end of this script.
> +
> +# Known limitations:
> +# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
> +# than 256 bytes, otherwise the compiler driver will dump core. The only
> +# known workaround is to choose shorter directory names for the build
> +# directory and/or the installation directory.
> +
> +# All known linkers require a `.a' archive for static linking (except MSVC,
> +# which needs '.lib').
> +libext=a
> +shrext=.so
> +
> +host="$1"
> +host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
> +host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
> +host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
> +
> +# Code taken from libtool.m4's _LT_CC_BASENAME.
> +
> +for cc_temp in $CC""; do
> + case $cc_temp in
> + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
> + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
> + \-*) ;;
> + *) break;;
> + esac
> +done
> +cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
> +
> +# Code taken from libtool.m4's _LT_COMPILER_PIC.
> +
> +wl=
> +if test "$GCC" = yes; then
> + wl='-Wl,'
> +else
> + case "$host_os" in
> + aix*)
> + wl='-Wl,'
> + ;;
> + darwin*)
> + case $cc_basename in
> + xlc*)
> + wl='-Wl,'
> + ;;
> + esac
> + ;;
> + mingw* | cygwin* | pw32* | os2* | cegcc*)
> + ;;
> + hpux9* | hpux10* | hpux11*)
> + wl='-Wl,'
> + ;;
> + irix5* | irix6* | nonstopux*)
> + wl='-Wl,'
> + ;;
> + newsos6)
> + ;;
> + linux* | k*bsd*-gnu)
> + case $cc_basename in
> + ecc*)
> + wl='-Wl,'
> + ;;
> + icc* | ifort*)
> + wl='-Wl,'
> + ;;
> + lf95*)
> + wl='-Wl,'
> + ;;
> + pgcc | pgf77 | pgf90)
> + wl='-Wl,'
> + ;;
> + ccc*)
> + wl='-Wl,'
> + ;;
> + como)
> + wl='-lopt='
> + ;;
> + *)
> + case `$CC -V 2>&1 | sed 5q` in
> + *Sun\ C*)
> + wl='-Wl,'
> + ;;
> + esac
> + ;;
> + esac
> + ;;
> + osf3* | osf4* | osf5*)
> + wl='-Wl,'
> + ;;
> + rdos*)
> + ;;
> + solaris*)
> + wl='-Wl,'
> + ;;
> + sunos4*)
> + wl='-Qoption ld '
> + ;;
> + sysv4 | sysv4.2uw2* | sysv4.3*)
> + wl='-Wl,'
> + ;;
> + sysv4*MP*)
> + ;;
> + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
> + wl='-Wl,'
> + ;;
> + unicos*)
> + wl='-Wl,'
> + ;;
> + uts4*)
> + ;;
> + esac
> +fi
> +
> +# Code taken from libtool.m4's _LT_LINKER_SHLIBS.
> +
> +hardcode_libdir_flag_spec=
> +hardcode_libdir_separator=
> +hardcode_direct=no
> +hardcode_minus_L=no
> +
> +case "$host_os" in
> + cygwin* | mingw* | pw32* | cegcc*)
> + # FIXME: the MSVC++ port hasn't been tested in a loooong time
> + # When not using gcc, we currently assume that we are using
> + # Microsoft Visual C++.
> + if test "$GCC" != yes; then
> + with_gnu_ld=no
> + fi
> + ;;
> + interix*)
> + # we just hope/assume this is gcc and not c89 (= MSVC++)
> + with_gnu_ld=yes
> + ;;
> + openbsd*)
> + with_gnu_ld=no
> + ;;
> +esac
> +
> +ld_shlibs=yes
> +if test "$with_gnu_ld" = yes; then
> + # Set some defaults for GNU ld with shared library support. These
> + # are reset later if shared libraries are not supported. Putting them
> + # here allows them to be overridden if necessary.
> + # Unlike libtool, we use -rpath here, not --rpath, since the documented
> + # option of GNU ld is called -rpath, not --rpath.
> + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
> + case "$host_os" in
> + aix[3-9]*)
> + # On AIX/PPC, the GNU linker is very broken
> + if test "$host_cpu" != ia64; then
> + ld_shlibs=no
> + fi
> + ;;
> + amigaos*)
> + hardcode_libdir_flag_spec='-L$libdir'
> + hardcode_minus_L=yes
> + # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
> + # that the semantics of dynamic libraries on AmigaOS, at least up
> + # to version 4, is to share data among multiple programs linked
> + # with the same dynamic library. Since this doesn't match the
> + # behavior of shared libraries on other platforms, we cannot use
> + # them.
> + ld_shlibs=no
> + ;;
> + beos*)
> + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
> + :
> + else
> + ld_shlibs=no
> + fi
> + ;;
> + cygwin* | mingw* | pw32* | cegcc*)
> + # hardcode_libdir_flag_spec is actually meaningless, as there is
> + # no search path for DLLs.
> + hardcode_libdir_flag_spec='-L$libdir'
> + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
> + :
> + else
> + ld_shlibs=no
> + fi
> + ;;
> + interix[3-9]*)
> + hardcode_direct=no
> + hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
> + ;;
> + gnu* | linux* | k*bsd*-gnu)
> + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
> + :
> + else
> + ld_shlibs=no
> + fi
> + ;;
> + netbsd*)
> + ;;
> + solaris*)
> + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
> + ld_shlibs=no
> + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
> + :
> + else
> + ld_shlibs=no
> + fi
> + ;;
> + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
> + case `$LD -v 2>&1` in
> + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
> + ld_shlibs=no
> + ;;
> + *)
> + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
> + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
> + else
> + ld_shlibs=no
> + fi
> + ;;
> + esac
> + ;;
> + sunos4*)
> + hardcode_direct=yes
> + ;;
> + *)
> + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
> + :
> + else
> + ld_shlibs=no
> + fi
> + ;;
> + esac
> + if test "$ld_shlibs" = no; then
> + hardcode_libdir_flag_spec=
> + fi
> +else
> + case "$host_os" in
> + aix3*)
> + # Note: this linker hardcodes the directories in LIBPATH if there
> + # are no directories specified by -L.
> + hardcode_minus_L=yes
> + if test "$GCC" = yes; then
> + # Neither direct hardcoding nor static linking is supported with a
> + # broken collect2.
> + hardcode_direct=unsupported
> + fi
> + ;;
> + aix[4-9]*)
> + if test "$host_cpu" = ia64; then
> + # On IA64, the linker does run time linking by default, so we don't
> + # have to do anything special.
> + aix_use_runtimelinking=no
> + else
> + aix_use_runtimelinking=no
> + # Test if we are trying to use run time linking or normal
> + # AIX style linking. If -brtl is somewhere in LDFLAGS, we
> + # need to do runtime linking.
> + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
> + for ld_flag in $LDFLAGS; do
> + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
> + aix_use_runtimelinking=yes
> + break
> + fi
> + done
> + ;;
> + esac
> + fi
> + hardcode_direct=yes
> + hardcode_libdir_separator=':'
> + if test "$GCC" = yes; then
> + case $host_os in aix4.[012]|aix4.[012].*)
> + collect2name=`${CC} -print-prog-name=collect2`
> + if test -f "$collect2name" && \
> + strings "$collect2name" | grep resolve_lib_name >/dev/null
> + then
> + # We have reworked collect2
> + :
> + else
> + # We have old collect2
> + hardcode_direct=unsupported
> + hardcode_minus_L=yes
> + hardcode_libdir_flag_spec='-L$libdir'
> + hardcode_libdir_separator=
> + fi
> + ;;
> + esac
> + fi
> + # Begin _LT_AC_SYS_LIBPATH_AIX.
> + echo 'int main () { return 0; }' > conftest.c
> + ${CC} ${LDFLAGS} conftest.c -o conftest
> + aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
> +}'`
> + if test -z "$aix_libpath"; then
> + aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
> +}'`
> + fi
> + if test -z "$aix_libpath"; then
> + aix_libpath="/usr/lib:/lib"
> + fi
> + rm -f conftest.c conftest
> + # End _LT_AC_SYS_LIBPATH_AIX.
> + if test "$aix_use_runtimelinking" = yes; then
> + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
> + else
> + if test "$host_cpu" = ia64; then
> + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
> + else
> + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
> + fi
> + fi
> + ;;
> + amigaos*)
> + hardcode_libdir_flag_spec='-L$libdir'
> + hardcode_minus_L=yes
> + # see comment about different semantics on the GNU ld section
> + ld_shlibs=no
> + ;;
> + bsdi[45]*)
> + ;;
> + cygwin* | mingw* | pw32* | cegcc*)
> + # When not using gcc, we currently assume that we are using
> + # Microsoft Visual C++.
> + # hardcode_libdir_flag_spec is actually meaningless, as there is
> + # no search path for DLLs.
> + hardcode_libdir_flag_spec=' '
> + libext=lib
> + ;;
> + darwin* | rhapsody*)
> + hardcode_direct=no
> + if test "$GCC" = yes ; then
> + :
> + else
> + case $cc_basename in
> + xlc*)
> + ;;
> + *)
> + ld_shlibs=no
> + ;;
> + esac
> + fi
> + ;;
> + dgux*)
> + hardcode_libdir_flag_spec='-L$libdir'
> + ;;
> + freebsd1*)
> + ld_shlibs=no
> + ;;
> + freebsd2.2*)
> + hardcode_libdir_flag_spec='-R$libdir'
> + hardcode_direct=yes
> + ;;
> + freebsd2*)
> + hardcode_direct=yes
> + hardcode_minus_L=yes
> + ;;
> + freebsd* | dragonfly*)
> + hardcode_libdir_flag_spec='-R$libdir'
> + hardcode_direct=yes
> + ;;
> + hpux9*)
> + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
> + hardcode_libdir_separator=:
> + hardcode_direct=yes
> + # hardcode_minus_L: Not really in the search PATH,
> + # but as the default location of the library.
> + hardcode_minus_L=yes
> + ;;
> + hpux10*)
> + if test "$with_gnu_ld" = no; then
> + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
> + hardcode_libdir_separator=:
> + hardcode_direct=yes
> + # hardcode_minus_L: Not really in the search PATH,
> + # but as the default location of the library.
> + hardcode_minus_L=yes
> + fi
> + ;;
> + hpux11*)
> + if test "$with_gnu_ld" = no; then
> + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
> + hardcode_libdir_separator=:
> + case $host_cpu in
> + hppa*64*|ia64*)
> + hardcode_direct=no
> + ;;
> + *)
> + hardcode_direct=yes
> + # hardcode_minus_L: Not really in the search PATH,
> + # but as the default location of the library.
> + hardcode_minus_L=yes
> + ;;
> + esac
> + fi
> + ;;
> + irix5* | irix6* | nonstopux*)
> + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
> + hardcode_libdir_separator=:
> + ;;
> + netbsd*)
> + hardcode_libdir_flag_spec='-R$libdir'
> + hardcode_direct=yes
> + ;;
> + newsos6)
> + hardcode_direct=yes
> + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
> + hardcode_libdir_separator=:
> + ;;
> + openbsd*)
> + if test -f /usr/libexec/ld.so; then
> + hardcode_direct=yes
> + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
> + hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
> + else
> + case "$host_os" in
> + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
> + hardcode_libdir_flag_spec='-R$libdir'
> + ;;
> + *)
> + hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
> + ;;
> + esac
> + fi
> + else
> + ld_shlibs=no
> + fi
> + ;;
> + os2*)
> + hardcode_libdir_flag_spec='-L$libdir'
> + hardcode_minus_L=yes
> + ;;
> + osf3*)
> + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
> + hardcode_libdir_separator=:
> + ;;
> + osf4* | osf5*)
> + if test "$GCC" = yes; then
> + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
> + else
> + # Both cc and cxx compiler support -rpath directly
> + hardcode_libdir_flag_spec='-rpath $libdir'
> + fi
> + hardcode_libdir_separator=:
> + ;;
> + solaris*)
> + hardcode_libdir_flag_spec='-R$libdir'
> + ;;
> + sunos4*)
> + hardcode_libdir_flag_spec='-L$libdir'
> + hardcode_direct=yes
> + hardcode_minus_L=yes
> + ;;
> + sysv4)
> + case $host_vendor in
> + sni)
> + hardcode_direct=yes # is this really true???
> + ;;
> + siemens)
> + hardcode_direct=no
> + ;;
> + motorola)
> + hardcode_direct=no #Motorola manual says yes, but my tests say they lie
> + ;;
> + esac
> + ;;
> + sysv4.3*)
> + ;;
> + sysv4*MP*)
> + if test -d /usr/nec; then
> + ld_shlibs=yes
> + fi
> + ;;
> + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
> + ;;
> + sysv5* | sco3.2v5* | sco5v6*)
> + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
> + hardcode_libdir_separator=':'
> + ;;
> + uts4*)
> + hardcode_libdir_flag_spec='-L$libdir'
> + ;;
> + *)
> + ld_shlibs=no
> + ;;
> + esac
> +fi
> +
> +# Check dynamic linker characteristics
> +# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER.
> +# Unlike libtool.m4, here we don't care about _all_ names of the library, but
> +# only about the one the linker finds when passed -lNAME. This is the last
> +# element of library_names_spec in libtool.m4, or possibly two of them if the
> +# linker has special search rules.
> +library_names_spec= # the last element of library_names_spec in libtool.m4
> +libname_spec='lib$name'
> +case "$host_os" in
> + aix3*)
> + library_names_spec='$libname.a'
> + ;;
> + aix[4-9]*)
> + library_names_spec='$libname$shrext'
> + ;;
> + amigaos*)
> + library_names_spec='$libname.a'
> + ;;
> + beos*)
> + library_names_spec='$libname$shrext'
> + ;;
> + bsdi[45]*)
> + library_names_spec='$libname$shrext'
> + ;;
> + cygwin* | mingw* | pw32* | cegcc*)
> + shrext=.dll
> + library_names_spec='$libname.dll.a $libname.lib'
> + ;;
> + darwin* | rhapsody*)
> + shrext=.dylib
> + library_names_spec='$libname$shrext'
> + ;;
> + dgux*)
> + library_names_spec='$libname$shrext'
> + ;;
> + freebsd1*)
> + ;;
> + freebsd* | dragonfly*)
> + case "$host_os" in
> + freebsd[123]*)
> + library_names_spec='$libname$shrext$versuffix' ;;
> + *)
> + library_names_spec='$libname$shrext' ;;
> + esac
> + ;;
> + gnu*)
> + library_names_spec='$libname$shrext'
> + ;;
> + hpux9* | hpux10* | hpux11*)
> + case $host_cpu in
> + ia64*)
> + shrext=.so
> + ;;
> + hppa*64*)
> + shrext=.sl
> + ;;
> + *)
> + shrext=.sl
> + ;;
> + esac
> + library_names_spec='$libname$shrext'
> + ;;
> + interix[3-9]*)
> + library_names_spec='$libname$shrext'
> + ;;
> + irix5* | irix6* | nonstopux*)
> + library_names_spec='$libname$shrext'
> + case "$host_os" in
> + irix5* | nonstopux*)
> + libsuff= shlibsuff=
> + ;;
> + *)
> + case $LD in
> + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
> + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
> + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
> + *) libsuff= shlibsuff= ;;
> + esac
> + ;;
> + esac
> + ;;
> + linux*oldld* | linux*aout* | linux*coff*)
> + ;;
> + linux* | k*bsd*-gnu)
> + library_names_spec='$libname$shrext'
> + ;;
> + knetbsd*-gnu)
> + library_names_spec='$libname$shrext'
> + ;;
> + netbsd*)
> + library_names_spec='$libname$shrext'
> + ;;
> + newsos6)
> + library_names_spec='$libname$shrext'
> + ;;
> + nto-qnx*)
> + library_names_spec='$libname$shrext'
> + ;;
> + openbsd*)
> + library_names_spec='$libname$shrext$versuffix'
> + ;;
> + os2*)
> + libname_spec='$name'
> + shrext=.dll
> + library_names_spec='$libname.a'
> + ;;
> + osf3* | osf4* | osf5*)
> + library_names_spec='$libname$shrext'
> + ;;
> + rdos*)
> + ;;
> + solaris*)
> + library_names_spec='$libname$shrext'
> + ;;
> + sunos4*)
> + library_names_spec='$libname$shrext$versuffix'
> + ;;
> + sysv4 | sysv4.3*)
> + library_names_spec='$libname$shrext'
> + ;;
> + sysv4*MP*)
> + library_names_spec='$libname$shrext'
> + ;;
> + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
> + library_names_spec='$libname$shrext'
> + ;;
> + uts4*)
> + library_names_spec='$libname$shrext'
> + ;;
> +esac
> +
> +sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
> +escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
> +shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
> +escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
> +escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
> +escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
> +
> +LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
> +
> +# How to pass a linker flag through the compiler.
> +wl="$escaped_wl"
> +
> +# Static library suffix (normally "a").
> +libext="$libext"
> +
> +# Shared library suffix (normally "so").
> +shlibext="$shlibext"
> +
> +# Format of library name prefix.
> +libname_spec="$escaped_libname_spec"
> +
> +# Library names that the linker finds when passed -lNAME.
> +library_names_spec="$escaped_library_names_spec"
> +
> +# Flag to hardcode \$libdir into a binary during linking.
> +# This must work even if \$libdir does not exist.
> +hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
> +
> +# Whether we need a single -rpath flag with a separated argument.
> +hardcode_libdir_separator="$hardcode_libdir_separator"
> +
> +# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
> +# resulting binary.
> +hardcode_direct="$hardcode_direct"
> +
> +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
> +# resulting binary.
> +hardcode_minus_L="$hardcode_minus_L"
> +
> +EOF
> diff --git a/src/wok/plugins/gingerbase/build-aux/genChangelog b/src/wok/plugins/gingerbase/build-aux/genChangelog
> new file mode 100755
> index 0000000..803f24e
> --- /dev/null
> +++ b/src/wok/plugins/gingerbase/build-aux/genChangelog
> @@ -0,0 +1,25 @@
> +#!/bin/bash
> +
> +# This script is based on code from the Kandan project:
> +# https://github.com/kandanapp/kandan/blob/master/gen-changelog.sh
> +
> +echo "CHANGELOG"
> +echo "========="
> +echo
> +git for-each-ref --sort='*authordate' --format='%(tag)' refs/tags | tac |grep -v '^$' | while read TAG ; do
> + if [ $NEXT ]; then
> + echo "#### [$NEXT] ####"
> + elif [ "$1" != "--release" ]; then
> + echo "#### [Current] ####"
> + else
> + NEXT=$TAG
> + continue
> + fi
> + GIT_PAGER=cat git log --pretty=format:" * [%h] %<(78,trunc)%s (%an)" $TAG..$NEXT
> + NEXT=$TAG
> + echo; echo
> +done
> +FIRST=$(git for-each-ref --sort='*authordate' --format='%(tag)' refs/tags | head -1)
> +
> +echo "#### [$FIRST] ####"
> +GIT_PAGER=cat git log --pretty=format:" * [%h] %<(78,trunc)%s (%an)" $FIRST
> diff --git a/src/wok/plugins/gingerbase/build-aux/pkg-version b/src/wok/plugins/gingerbase/build-aux/pkg-version
> new file mode 100755
> index 0000000..749cf6c
> --- /dev/null
> +++ b/src/wok/plugins/gingerbase/build-aux/pkg-version
> @@ -0,0 +1,59 @@
> +#!/bin/sh
> +#
> +# Copyright 2008-2012 Red Hat, Inc.
> +#
> +# This program is free software; you can redistribute it and/or modify
> +# it under the terms of the GNU General Public License as published by
> +# the Free Software Foundation; either version 2 of the License, or
> +# (at your option) any later version.
> +#
> +# This program is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program; if not, write to the Free Software
> +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> +
> +# tags and output versions:
> +# - 4.9.0 => 4.9.0 (upstream clean)
> +# - 4.9.0-1 => 4.9.0 (downstream clean)
> +# - 4.9.0-2-g34e62f => 4.9.0 (upstream dirty)
> +# - 4.9.0-1-2-g34e62f => 4.9.0 (downstream dirty)
> +AWK_VERSION='
> + BEGIN { FS="-" }
> + /^[0-9]/ {
> + print $1
> + }'
> +
> +# tags and output releases:
> +# - 4.9.0 => 0 (upstream clean)
> +# - 4.9.0-1 => 1 (downstream clean)
> +# - 4.9.0-2-g34e62f1 => 2.git34e62f1 (upstream dirty)
> +# - 4.9.0-1-2-g34e62f1 => 1.2.git34e62f1 (downstream dirty)
> +AWK_RELEASE='
> + BEGIN { FS="-"; OFS="." }
> + /^[0-9]/ {
> + if (NF == 1) print 0
> + else if (NF == 2) print $2
> + else if (NF == 3) print $2, "git" substr($3, 2)
> + else if (NF == 4) print $2, $3, "git" substr($4, 2)
> + }'
> +
> +if [ ! -d .git ]; then
> + PKG_VERSION=`cat VERSION`
> +else
> + PKG_VERSION=`git describe --tags --match "[0-9]*" || cat VERSION`
> +fi
> +
> +if test "x$1" = "x--full"; then
> + echo $PKG_VERSION | tr -d '[:space:]'
> +elif test "x$1" = "x--version"; then
> + echo $PKG_VERSION | awk "$AWK_VERSION" | tr -cd '[:alnum:].'
> +elif test "x$1" = "x--release"; then
> + echo $PKG_VERSION | awk "$AWK_RELEASE" | tr -cd '[:alnum:].'
> +else
> + echo "usage: $0 [--full|--version|--release]"
> + exit 1
> +fi
> diff --git a/src/wok/plugins/gingerbase/contrib/DEBIAN/Makefile.am b/src/wok/plugins/gingerbase/contrib/DEBIAN/Makefile.am
> new file mode 100644
> index 0000000..43e19ab
> --- /dev/null
> +++ b/src/wok/plugins/gingerbase/contrib/DEBIAN/Makefile.am
> @@ -0,0 +1,17 @@
> +# Copyright IBM Corp, 2015
> +#
> +# This library is free software; you can redistribute it and/or
> +# modify it under the terms of the GNU Lesser General Public
> +# License as published by the Free Software Foundation; either
> +# version 2.1 of the License, or (at your option) any later version.
> +#
> +# This library is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> +# Lesser General Public License for more details.
> +#
> +# You should have received a copy of the GNU Lesser General Public
> +# License along with this library; if not, write to the Free Software
> +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> +
> +CLEANFILES = control
> diff --git a/src/wok/plugins/gingerbase/contrib/DEBIAN/control.in b/src/wok/plugins/gingerbase/contrib/DEBIAN/control.in
> new file mode 100644
> index 0000000..aacf946
> --- /dev/null
> +++ b/src/wok/plugins/gingerbase/contrib/DEBIAN/control.in
> @@ -0,0 +1,14 @@
> +Package: @PACKAGE_NAME@
> +Version: @PACKAGE_VERSION@
> +Section: base
> +Priority: optional
> +Architecture: all
> +Depends: wok,
> + python-psutil (>= 0.6.0),
> + sosreport,
> +Build-Depends: libxslt,
> + python-lxml
> +Maintainer: Daniel Henrique Barboza <danielhb at linux.vnet.ibm.com>
> +Description: Ginger Base is an open source base host management plugin for Wok
> +(Webserver Originated from Kimchi), that provides an intuitive web panel with
> +common tools for configuring and managing the Linux systems.
> diff --git a/src/wok/plugins/gingerbase/contrib/Makefile.am b/src/wok/plugins/gingerbase/contrib/Makefile.am
> new file mode 100644
> index 0000000..8e02cfd
> --- /dev/null
> +++ b/src/wok/plugins/gingerbase/contrib/Makefile.am
> @@ -0,0 +1,35 @@
> +# Copyright IBM Corp, 2015
> +#
> +# This library is free software; you can redistribute it and/or
> +# modify it under the terms of the GNU Lesser General Public
> +# License as published by the Free Software Foundation; either
> +# version 2.1 of the License, or (at your option) any later version.
> +#
> +# This library is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> +# Lesser General Public License for more details.
> +#
> +# You should have received a copy of the GNU Lesser General Public
> +# License along with this library; if not, write to the Free Software
> +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> +
> +SUBDIRS = DEBIAN
> +
> +EXTRA_DIST = \
> + check_i18n.py \
> + gingerbase.spec.fedora.in \
> + gingerbase.spec.suse.in \
> + make-deb.sh.in \
> + $(NULL)
> +
> +make-deb.sh: make-deb.sh.in $(top_builddir)/config.status
> + $(AM_V_GEN)sed \
> + -e 's|[@]PACKAGE_VERSION[@]|$(PACKAGE_VERSION)|g' \
> + -e 's|[@]PACKAGE_RELEASE[@]|$(PACKAGE_RELEASE)|g' \
> + < $< > $@-t && \
> + chmod a+x $@-t && \
> + mv $@-t $@
> +BUILT_SOURCES = make-deb.sh
> +
> +CLEANFILES = gingerbase.spec.fedora gingerbase.spec.suse gingerbase.spec make-deb.sh
> diff --git a/src/wok/plugins/gingerbase/contrib/check_i18n.py b/src/wok/plugins/gingerbase/contrib/check_i18n.py
> new file mode 100755
> index 0000000..fe1fc0b
> --- /dev/null
> +++ b/src/wok/plugins/gingerbase/contrib/check_i18n.py
> @@ -0,0 +1,82 @@
> +#!/usr/bin/env python2
> +#
> +# Project Ginger Base
> +#
> +# Copyright IBM, Corp. 2015
> +#
> +# This library is free software; you can redistribute it and/or
> +# modify it under the terms of the GNU Lesser General Public
> +# License as published by the Free Software Foundation; either
> +# version 2.1 of the License, or (at your option) any later version.
> +#
> +# This library is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> +# Lesser General Public License for more details.
> +#
> +# You should have received a copy of the GNU Lesser General Public
> +# License along with this library; if not, write to the Free Software
> +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> +
> +import imp
> +import os
> +import re
> +import sys
> +
> +
> +# Match all conversion specifier with mapping key
> +PATTERN = re.compile(r'''%\([^)]+\) # Mapping key
> + [#0\-+]? # Conversion flags (optional)
> + (\d+|\*)? # Minimum field width (optional)
> + (\.(\d+|\*))? # Precision (optional)
> + [lLh]? # Length modifier (optional)
> + [cdeEfFgGioursxX%] # Conversion type''',
> + re.VERBOSE)
> +BAD_PATTERN = re.compile(r"%\([^)]*?\)")
> +
> +
> +def load_i18n_module(i18nfile):
> + path = os.path.dirname(i18nfile)
> + mname = i18nfile.replace("/", "_").rstrip(".py")
> + mobj = imp.find_module("i18n", [path])
> + return imp.load_module(mname, *mobj)
> +
> +
> +def check_string_formatting(messages):
> + for k, v in messages.iteritems():
> + if BAD_PATTERN.findall(PATTERN.sub(" ", v)):
> + print "bad i18n string formatting:"
> + print " %s: %s" % (k, v)
> + exit(1)
> +
> +
> +def check_obsolete_messages(path, messages):
> + def find_message_key(path, k):
> + for root, dirs, files in os.walk(path):
> + for f in files:
> + fname = os.path.join(root, f)
> + if (not fname.endswith("i18n.py") and fname.endswith(".py") or
> + fname.endswith(".json")):
> + with open(fname) as f:
> + string = "".join(f.readlines())
> + if k in string:
> + return True
> + return False
> +
> + for k in messages.iterkeys():
> + if not find_message_key(path, k):
> + print " %s is obsolete, it is no longer in use" % k
> + exit(1)
> +
> +
> +def main():
> + print "Checking for invalid i18n string..."
> + for f in sys.argv[1:]:
> + messages = load_i18n_module(f).messages
> + check_string_formatting(messages)
> + check_obsolete_messages(os.path.dirname(f), messages)
> + print "Checking for invalid i18n string successfully"
> +
> +
> +if __name__ == '__main__':
> + main()
> diff --git a/src/wok/plugins/gingerbase/contrib/gingerbase.spec.fedora.in b/src/wok/plugins/gingerbase/contrib/gingerbase.spec.fedora.in
> new file mode 100644
> index 0000000..a4ffb66
> --- /dev/null
> +++ b/src/wok/plugins/gingerbase/contrib/gingerbase.spec.fedora.in
> @@ -0,0 +1,68 @@
> +Name: Ginger Base
> +Version: @PACKAGE_VERSION@
> +Release: @PACKAGE_RELEASE@%{?dist}
> +Summary: Wok plugin for base host management
> +BuildRoot: %{_topdir}/BUILD/%{name}-%{version}-%{release}
> +BuildArch: noarch
> +Group: System Environment/Base
> +License: LGPL/ASL2
> +Source0: %{name}-%{version}.tar.gz
> +Requires: wok
> +Requires: python-psutil >= 0.6.0
> +Requires: sos
> +BuildRequires: libxslt
> +BuildRequires: python-lxml
> +
> +%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
> +%global with_systemd 1
> +%endif
> +
> +%if 0%{?rhel} == 6
> +Requires: python-ordereddict
> +BuildRequires: python-unittest2
> +%endif
> +
> +%description
> +Ginger Base is an open source base host management plugin for Wok
> +(Webserver Originated from Kimchi), that provides an intuitive web panel with
> +common tools for configuring and managing the Linux systems.
> +
> +%prep
> +
> +
> +%build
> +%configure
> +make
> +
> +
> +%install
> +rm -rf %{buildroot}
> +make DESTDIR=%{buildroot} install
> +
> +
> +%clean
> +rm -rf $RPM_BUILD_ROOT
> +
> +%files
> +%attr(-,root,root)
> +%{python_sitelib}/wok/plugins/gingerbase/*.py*
> +%{python_sitelib}/wok/plugins/gingerbase/control/*.py*
> +%{python_sitelib}/wok/plugins/gingerbase/model/*.py*
> +%{python_sitelib}/wok/plugins/gingerbase/API.json
> +%{python_sitelib}/wok/plugins/gingerbase/
> +%{_datadir}/wok/plugins/gingerbase/doc/API.md
> +%{_datadir}/wok/plugins/gingerbase/doc/README.md
> +%{_datadir}/wok/plugins/gingerbase/doc/README-federation.md
> +%{_prefix}/share/locale/*/LC_MESSAGES/gingerbase.mo
> +%{_datadir}/wok/plugins/gingerbase/ui/config/*.xml
> +%{_datadir}/wok/plugins/gingerbase/ui/
> +%{_datadir}/wok/plugins/gingerbase
> +%{_sysconfdir}/wok/plugins.d/gingerbase.conf
> +%{_sysconfdir}/wok/
> +%{_sharedstatedir}/wok/debugreports/
> +%{_sharedstatedir}/wok/
> +
> +
> +%changelog
> +* Thu Aug 25 2015 Chandra Shehkhar Reddy Potula <chandra at linux.vnet.ibm.com> 0.0-1s
> +- First build
> diff --git a/src/wok/plugins/gingerbase/contrib/gingerbase.spec.suse.in b/src/wok/plugins/gingerbase/contrib/gingerbase.spec.suse.in
> new file mode 100644
> index 0000000..ba92606
> --- /dev/null
> +++ b/src/wok/plugins/gingerbase/contrib/gingerbase.spec.suse.in
> @@ -0,0 +1,62 @@
> +Name: Ginger Base
> +Version: @PACKAGE_VERSION@
> +Release: @PACKAGE_RELEASE@%{?dist}
> +Summary: Wok plugin for base host management
> +BuildRoot: %{_topdir}/BUILD/%{name}-%{version}-%{release}
> +BuildArch: noarch
> +Group: System Environment/Base
> +License: LGPL/ASL2
> +Source0: %{name}-%{version}.tar.gz
> +Requires: wok
> +Requires: python-psutil >= 0.6.0
> +BuildRequires: libxslt-tools
> +BuildRequires: python-lxml
> +
> +%if 0%{?suse_version} == 1100
> +Requires: python-ordereddict
> +%endif
> +
> +%if 0%{?suse_version} > 1140
> +%global with_systemd 1
> +%endif
> +
> +%description
> +Ginger Base is an open source base host management plugin for Wok
> +(Webserver Originated from Kimchi), that provides an intuitive web panel with
> +common tools for configuring and managing the Linux systems.
> +
> +%prep
> +%setup
> +
> +%install
> +rm -rf %{buildroot}
> +make DESTDIR=%{buildroot} install
> +
> +
> +%clean
> +rm -rf $RPM_BUILD_ROOT
> +
> +%files
> +%attr(-,root,root)
> +%{python_sitelib}/wok/plugins/gingerbase/*.py*
> +%{python_sitelib}/wok/plugins/gingerbase/control/*.py*
> +%{python_sitelib}/wok/plugins/gingerbase/model/*.py*
> +%{python_sitelib}/wok/plugins/gingerbase/API.json
> +%{python_sitelib}/wok/plugins/gingerbase/
> +%{_datadir}/wok/plugins/gingerbase/doc/API.md
> +%{_datadir}/wok/plugins/gingerbase/doc/README.md
> +%{_datadir}/wok/plugins/gingerbase/doc/README-federation.md
> +%{_prefix}/share/locale/*/LC_MESSAGES/gingerbase.mo
> +%{_datadir}/wok/plugins/gingerbase/ui/config/*.xml
> +%{_datadir}/wok/plugins/gingerbase/ui/
> +%{_datadir}/wok/plugins/gingerbase
> +%{_sysconfdir}/wok/plugins.d/gingerbase.conf
> +%{_sysconfdir}/wok/
> +%{_var}/lib/wok/debugreports/
> +%{_var}/lib/wok/
> +
> +
> +
> +%changelog
> +* Thu Aug 25 2015 Chandra Shehkhar Reddy Potula <chandra at linux.vnet.ibm.com> 0.0-1
> +- First build
> diff --git a/src/wok/plugins/gingerbase/contrib/make-deb.sh.in b/src/wok/plugins/gingerbase/contrib/make-deb.sh.in
> new file mode 100644
> index 0000000..a4c92bf
> --- /dev/null
> +++ b/src/wok/plugins/gingerbase/contrib/make-deb.sh.in
> @@ -0,0 +1,15 @@
> +#!/bin/bash
> +
> +VERSION="@PACKAGE_VERSION@"
> +RELEASE="@PACKAGE_RELEASE@"
> +
> +if [ ! -f configure ]; then
> + echo "Please run this script from the top of the package tree"
> + exit 1
> +fi
> +
> +TMPDIR=`mktemp -d`
> +
> +make DESTDIR=$TMPDIR install-deb
> +dpkg-deb -b $TMPDIR gingerbase-${VERSION}-${RELEASE}.noarch.deb
> +rm -rf $TMPDIR
More information about the Kimchi-devel
mailing list