[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