build updated
This commit is contained in:
		
							
								
								
									
										17
									
								
								ChangeLog
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								ChangeLog
									
									
									
									
									
								
							| @@ -1,3 +1,20 @@ | ||||
| 2017-03-19 23:44   | ||||
|  | ||||
| 	* [r105] ax_init_standard_project.m4, bootstrap.sh, | ||||
| 	  rpmsign.exp[ADD]: | ||||
| 	  typo fixed | ||||
|  | ||||
| 2017-03-17 18:31   | ||||
|  | ||||
| 	* [r104] ChangeLog, ax_init_standard_project.m4, bootstrap.sh, | ||||
| 	  build-in-docker.conf, build-in-docker.sh, configure.ac, debian, | ||||
| 	  debian/changelog.in[ADD], debian/compat[ADD], | ||||
| 	  debian/control.in[ADD], debian/docs[ADD], | ||||
| 	  debian/libxml-cxx-dev.install[ADD], | ||||
| 	  debian/libxml-cxx.install[ADD], debian/rules[ADD], | ||||
| 	  resolve-debbuilddeps.sh: | ||||
| 	  tested build for windoze | ||||
|  | ||||
| 2017-01-08 08:55   | ||||
|  | ||||
| 	* [r103] debian/changelog.in: | ||||
|   | ||||
| @@ -51,18 +51,33 @@ | ||||
|  | ||||
| AC_DEFUN([AX_CXX_QT_TOOL], [ | ||||
|   PKG_PROG_PKG_CONFIG | ||||
|   if test -z "$HAVE_$1"; then | ||||
|   if test -z "${HAVE_$1}"; then | ||||
|     HAVE_$1=1 | ||||
|     AC_MSG_CHECKING([for $2]) | ||||
|     AC_ARG_VAR([$1], [path to Qt tool $2]) | ||||
|     $1=${$1:-$(${PKG_CONFIG} --variable=$2_location Qt5Core)} | ||||
|     $1=${$1:-$(${PKG_CONFIG} --variable=host_bins Qt5Core)/$2-qt5} | ||||
|     $1=${$1:-$(${PKG_CONFIG} --variable=host_bins Qt5Core)/$2} | ||||
|     $1=${$1:-$(${PKG_CONFIG} --variable=$2_location QtCore)} | ||||
|     $1=${$1:-$(${PKG_CONFIG} --variable=host_bins QtCore)/$2} | ||||
|     $1=${$1:-$(${PKG_CONFIG} --variable=host_bins QtCore)/$2-qt4} | ||||
|     if ! which "${$1%% *}" > /dev/null; then | ||||
|       if which "$2-qt5" > /dev/null; then | ||||
|     for package in Qt5Core QtCore; do | ||||
|         if test -x "${$1}"; then | ||||
|             break | ||||
|         fi | ||||
|         tool=$(${PKG_CONFIG} --variable=$2_location $package 2> /dev/null) | ||||
|         if test -x "${tool}"; then | ||||
|             $1="${tool}" | ||||
|             break | ||||
|         fi | ||||
|         tool=$(${PKG_CONFIG} --variable=host_bins $package 2> /dev/null) | ||||
|         if test -n "$tool"; then | ||||
|             for name in $2 $2-qt5 $2-qt4; do | ||||
|                 if test -x "${tool}/${name}"; then | ||||
|                     $1="${tool}/${name}" | ||||
|                     break | ||||
|                 fi | ||||
|             done | ||||
|         fi | ||||
|     done | ||||
|     if ! test -x "${$1}"; then | ||||
|       if which "$2" > /dev/null; then | ||||
|         $1=$2 | ||||
|       elif which "$2-qt5" > /dev/null; then | ||||
|         $1=$2-qt5 | ||||
|       elif which "$2" > /dev/null; then | ||||
|         $1=$2 | ||||
| @@ -70,15 +85,15 @@ AC_DEFUN([AX_CXX_QT_TOOL], [ | ||||
|         $1=$2-qt4 | ||||
|       else | ||||
|         HAVE_$1=0 | ||||
|         $1="" | ||||
|         unset $1 | ||||
|       fi | ||||
|     fi | ||||
|     AC_SUBST($1) | ||||
|     AM_CONDITIONAL(HAVE_$1, test $HAVE_[$1] -eq 1) | ||||
|     if test $HAVE_$1 -eq 1; then | ||||
|       AC_MSG_RESULT([$$1]) | ||||
|         AC_MSG_RESULT([$$1]) | ||||
|     else | ||||
|       AC_MSG_RESULT([not found]) | ||||
|         AC_MSG_RESULT([not found]) | ||||
|     fi | ||||
|   fi | ||||
| ]) | ||||
|   | ||||
| @@ -13,12 +13,12 @@ m4_define(x_least, m4_ifdef([x_least_fix], [x_least_fix], | ||||
|     mrw_esyscmd_s([ | ||||
|       VCS_REVISION="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-checkout" | ||||
|       for path in . .. ../.. ../../..; do | ||||
|         if test -d .svn; then | ||||
|           svn upgrade 1>&2 > /dev/null || true | ||||
|         if test -d ${path}/.svn; then | ||||
|           (cd $path; svn upgrade 1>&2 > /dev/null || true) | ||||
|           VCS_REVISION=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p') | ||||
|           if test -n "${VCS_REVISION}"; then break; fi | ||||
|         elif test -d .git; then | ||||
|           VCS_REVISION=$(git rev-list --all --count) | ||||
|         elif test -d ${path}/.git; then | ||||
|           VCS_REVISION=$(cd ${path} > /dev/null 2/dev/null; git rev-list --all --count) | ||||
|           if test -n "${VCS_REVISION}"; then break; fi | ||||
|         fi | ||||
|       done | ||||
| @@ -26,12 +26,12 @@ m4_define(x_least, m4_ifdef([x_least_fix], [x_least_fix], | ||||
|     ]),  mrw_esyscmd_s([ | ||||
|       VCS_REVISION="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-checkout" | ||||
|       for path in . .. ../.. ../../..; do | ||||
|         if test -d .svn; then | ||||
|           svn upgrade 1>&2 > /dev/null || true | ||||
|         if test -d ${path}/.svn; then | ||||
|           (cd $path; svn upgrade 1>&2 > /dev/null || true) | ||||
|           VCS_REVISION=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p') | ||||
|           if test -n "${VCS_REVISION}"; then break; fi | ||||
|         elif test -d .git; then | ||||
|           VCS_REVISION=$(git rev-list --all --count) | ||||
|         elif test -d ${path}/.git; then | ||||
|           VCS_REVISION=$(cd ${path} > /dev/null 2/dev/null; git rev-list --all --count) | ||||
|           if test -n "${VCS_REVISION}"; then break; fi | ||||
|         fi | ||||
|       done | ||||
| @@ -44,12 +44,12 @@ m4_define(x_least, m4_ifdef([x_least_fix], [x_least_fix], | ||||
| m4_define(x_minor_diff, m4_ifdef([x_least_fix], 0, mrw_esyscmd_s([ | ||||
|   VCS_REVISION="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-checkout" | ||||
|   for path in . .. ../.. ../../..; do | ||||
|     if test -d .svn; then | ||||
|       svn upgrade 1>&2 > /dev/null || true | ||||
|     if test -d ${path}/.svn; then | ||||
|       (cd $path; svn upgrade 1>&2 > /dev/null || true) | ||||
|       VCS_REVISION=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p') | ||||
|       if test -n "${VCS_REVISION}"; then break; fi | ||||
|     elif test -d .git; then | ||||
|       VCS_REVISION=$(git rev-list --all --count) | ||||
|     elif test -d ${path}/.git; then | ||||
|       VCS_REVISION=$(cd ${path} > /dev/null 2/dev/null; git rev-list --all --count) | ||||
|       if test -n "${VCS_REVISION}"; then break; fi | ||||
|     fi; | ||||
|   done | ||||
| @@ -802,6 +802,120 @@ AC_DEFUN([AX_PKG_REQUIRE], [ | ||||
|       AC_MSG_ERROR([Feature $1 not found please install module $secondpar]) | ||||
|     fi | ||||
|   fi | ||||
|   AX_DEB_DEPEND([${$1_found}]) | ||||
|   AX_RPM_DEPEND([${$1_found}]) | ||||
|   [$1]_CPPFLAGS="${$1_CFLAGS}" | ||||
|   [$1]_CXXFLAGS="${$1_CFLAGS}" | ||||
|   AC_SUBST([$1]_CPPFLAGS) | ||||
|   AC_SUBST([$1]_CXXFLAGS) | ||||
|   if test "${optional_flags/manualflags/}" = "${optional_flags}"; then | ||||
|     CPPFLAGS+=" ${$1_CPPFLAGS}" | ||||
|     CXXFLAGS+=" ${$1_CXXFLAGS}" | ||||
|     LIBS+=" ${$1_LIBS}" | ||||
|     AC_MSG_NOTICE([Adding flags for $1]) | ||||
|   else | ||||
|     AC_MSG_NOTICE([To enable $1, add $1_CPPFLAGS, $1_CXXFLAGS and $1_LIBS]) | ||||
|   fi | ||||
| ]) | ||||
|  | ||||
| # require a specific development package, with fallback: test for a header | ||||
| #  - parameter: | ||||
| #     $1 = unique id (no special characters) | ||||
| #     $2 = module name (optional, if different from id) | ||||
| #     $3 = a header file to find (optional) | ||||
| #     $4 = alternative module names (space separated, optional) | ||||
| #     $5 = optional flags: | ||||
| #            manualflags if CXXFLAGS, CPPFLAGS, LIBS should remain unchanged | ||||
| # | ||||
| # uses PKG_CHECK_MODULES to test for a module | ||||
| # then, if given, looks for the header file | ||||
| # if header file is not found, searches in alternative modules | ||||
| # sets all flags, so that the module can be used everywhere | ||||
| # fails if not found | ||||
| AC_DEFUN([AX_PKG_REQUIRE_DEV], [ | ||||
|   PKG_PROG_PKG_CONFIG | ||||
|   optional_flags="$5" | ||||
|   $1_found=no | ||||
|   secondpar="m4_default([$2], [$1])" | ||||
|   PKG_CHECK_MODULES([$1], [m4_default([$2], [$1])], [ | ||||
|     $1_found=$secondpar | ||||
|     PKG_REQUIREMENTS+=" $secondpar" | ||||
|   ], [ | ||||
|     if test -n "$4"; then | ||||
|       AC_MSG_WARN([Recommended package $secondpar for feature $1 not installed, trying $4]) | ||||
|       for pkg in $4; do | ||||
|         PKG_CHECK_MODULES([$1], [$pkg], [ | ||||
|           PKG_REQUIREMENTS+=" $pkg" | ||||
|           $1_found=$pkg | ||||
|           break; | ||||
|         ], [ | ||||
|           AC_MSG_WARN([Recommended package $pkg for feature $1 not installed]) | ||||
|         ]) | ||||
|       done | ||||
|     fi | ||||
|   ]) | ||||
|   AC_SUBST(CPPFLAGS) | ||||
|   AC_SUBST(CXXFLAGS) | ||||
|   AC_SUBST(PKG_REQUIREMENTS) | ||||
|   if test -n "$3"; then | ||||
|     if test "${$1_found}" = "no"; then | ||||
|       tmp_package="yes" | ||||
|     else | ||||
|       tmp_package=${$1_found} | ||||
|     fi | ||||
|     $1_found=no | ||||
|     old_CPPFLAGS=${CPPFLAGS} | ||||
|     CPPFLAGS=" ${$1_CFLAGS} ${CPPFLAGS}" | ||||
|     AC_CHECK_HEADER([$3], [ | ||||
|       $1_found=${tmp_package} | ||||
|     ], [ | ||||
|       for x in ${$1_CFLAGS}; do | ||||
|         AC_MSG_NOTICE([search for $3 in ${x[#]-I}]) | ||||
|         for f in $(find ${x[#]-I} -name "$3" 2> /dev/null); do | ||||
|           if test -f "$f"; then | ||||
|             $1_found=${tmp_package} | ||||
|             $1_CFLAGS+=" -I${f%/*}" | ||||
|             AC_MSG_NOTICE([added path ${f%/*}]) | ||||
|             break; | ||||
|           fi | ||||
|         done | ||||
|         if test "${$1_found}" != "no"; then | ||||
|           break; | ||||
|         fi | ||||
|       done | ||||
|       if test "${$1_found}" = "no"; then | ||||
|         tmp_includedir=$(${PKG_CONFIG} --variable=includedir $tmp_package) | ||||
|         for x in ${tmp_includedir}; do | ||||
|           AC_MSG_NOTICE([search for $3 in $x]) | ||||
|           for f in $(find ${x} -name "$3" 2> /dev/null); do | ||||
|             if test -f "$f"; then | ||||
|               $1_found=${tmp_package} | ||||
|               $1_CFLAGS+=" -I${f%/*}" | ||||
|               AC_MSG_NOTICE([added path ${f%/*}]) | ||||
|               break; | ||||
|             fi | ||||
|           done | ||||
|           if test "${$1_found}" != "no"; then | ||||
|             break; | ||||
|           fi | ||||
|         done | ||||
|       fi | ||||
|     ]) | ||||
|     CPPFLAGS=${old_CPPFLAGS} | ||||
|   fi | ||||
|   if test "${$1_found}" = "no"; then | ||||
|     if test -n "$3"; then | ||||
|       if test -n "$4"; then | ||||
|         AC_MSG_ERROR([Feature $1 not found, need header $3 in modules $secondpar or $4]) | ||||
|       else | ||||
|         AC_MSG_ERROR([Feature $1 not found, need header $3 in module $secondpar]) | ||||
|       fi | ||||
|     else | ||||
|       AC_MSG_ERROR([Feature $1 not found please install module $secondpar]) | ||||
|     fi | ||||
|   fi | ||||
|   AX_DEB_BUILD_DEPEND([${$1_found}-dev]) | ||||
|   AX_RPM_BUILD_DEPEND([${$1_found}-devel]) | ||||
|   [$1]_CPPFLAGS="${$1_CFLAGS}" | ||||
|   [$1]_CXXFLAGS="${$1_CFLAGS}" | ||||
|   AC_SUBST([$1]_CPPFLAGS) | ||||
| @@ -851,6 +965,52 @@ AC_DEFUN([AX_PKG_CHECK], [ | ||||
|   ], [ | ||||
|     HAVE_$1=0 | ||||
|   ]) | ||||
|   AX_DEB_BUILD_DEPEND(m4_default([$2], [$1])) | ||||
|   AX_RPM_BUILD_DEPEND(m4_default([$2], [$1])) | ||||
|   AM_CONDITIONAL(HAVE_$1, test $HAVE_[$1] -eq 1) | ||||
|   AC_SUBST(HAVE_$1) | ||||
|   AC_SUBST(CPPFLAGS) | ||||
|   AC_SUBST(CXXFLAGS) | ||||
|   AC_SUBST(PKG_REQUIREMENTS) | ||||
| ]) | ||||
|  | ||||
| # check if a specific development package exists | ||||
| #  - parameter: | ||||
| #     $1 = unique id (no special characters) | ||||
| #     $2 = module name (optional, if different from id) | ||||
| #     $3 = optional flags: | ||||
| #          manualflags if CXXFLAGS, CPPFLAGS, LIBS should remain unchanged | ||||
| # | ||||
| # uses PKG_CHECK_MODULES to test for a module | ||||
| # sets automake conditional HAVE_$1 to 0 (not found) or 1 (found) | ||||
| # sets all flags, so that the module can be used everywhere | ||||
| AC_DEFUN([AX_PKG_CHECK_DEV], [ | ||||
|   optional_flags="$3" | ||||
|   PKG_PROG_PKG_CONFIG | ||||
|   PKG_CHECK_MODULES([$1], [m4_default([$2], [$1])], [ | ||||
|     HAVE_$1=1 | ||||
|     [$1]_CPPFLAGS="${$1_CFLAGS}" | ||||
|     [$1]_CXXFLAGS="${$1_CFLAGS}" | ||||
|     AC_SUBST([$1]_CPPFLAGS) | ||||
|     AC_SUBST([$1]_CXXFLAGS) | ||||
|     if test "${optional_flags/manualflags/}" = "${optional_flags}"; then | ||||
|       CPPFLAGS+=" ${$1_CPPFLAGS}" | ||||
|       CXXFLAGS+=" ${$1_CXXFLAGS}" | ||||
|       LIBS+=" ${$1_LIBS}" | ||||
|       AC_MSG_NOTICE([Adding flags for $1]) | ||||
|     else | ||||
|       AC_MSG_NOTICE([To enable $1, add $1_CPPFLAGS, $1_CXXFLAGS and $1_LIBS]) | ||||
|     fi | ||||
|     if test -z "$PKG_REQUIREMENTS"; then | ||||
|       PKG_REQUIREMENTS="m4_default([$2], [$1])" | ||||
|     else | ||||
|       PKG_REQUIREMENTS="${PKG_REQUIREMENTS}, m4_default([$2], [$1])" | ||||
|     fi | ||||
|   ], [ | ||||
|     HAVE_$1=0 | ||||
|   ]) | ||||
|   AX_DEB_BUILD_DEPEND(m4_default([$2], [$1])-dev) | ||||
|   AX_RPM_BUILD_DEPEND(m4_default([$2], [$1])-devel) | ||||
|   AM_CONDITIONAL(HAVE_$1, test $HAVE_[$1] -eq 1) | ||||
|   AC_SUBST(HAVE_$1) | ||||
|   AC_SUBST(CPPFLAGS) | ||||
| @@ -1019,7 +1179,124 @@ AC_DEFUN([AX_DEB_RESOLVE], [ | ||||
|   AC_SUBST(DEB_DEPEND_IFEXISTS) | ||||
| ]) | ||||
|  | ||||
| # Check if a package exists in the current distribution, if yes, require it | ||||
| # in .spec.in append @RPM_DEPEND_IFEXISTS@ to Build-Depends | ||||
| #  - parameter: | ||||
| #     $1 = package name | ||||
| AC_DEFUN([AX_RPM_DEPEND_IFEXISTS], [ | ||||
|   pkg="$1" | ||||
|    | ||||
|   if (test -x /usr/bin/zypper && zypper search -x "$pkg" 1>&2 > /dev/null) || \ | ||||
|      (test -x /usr/bin/dnf && dnf list -q "$pkg" 1>&2 > /dev/null) || \ | ||||
|      (test -x /usr/bin/yum && yum list -q "$pkg" 1>&2 > /dev/null) || \ | ||||
|      (test -x /usr/sbin/urpmq && urpmq "$pkg" 1>&2 > /dev/null); then | ||||
|        RPM_DEPEND_IFEXISTS="${RPM_DEPEND_IFEXISTS}, ${pkg}" | ||||
|   fi | ||||
| ]) | ||||
|  | ||||
| # require package in .spec.in append @RPM_BUILD_DEPEND@ to Build-Depends | ||||
| #  - parameter: | ||||
| #     $1 = package name | ||||
| AC_DEFUN([AX_RPM_BUILD_DEPEND], [ | ||||
|   pkg="$1" | ||||
|   RPM_BUILD_DEPEND="${RPM_BUILD_DEPEND}, ${pkg}" | ||||
| ]) | ||||
|  | ||||
| # require package in .spec.in append @RPM_DEPEND@ to Depends | ||||
| #  - parameter: | ||||
| #     $1 = package name | ||||
| AC_DEFUN([AX_RPM_DEPEND], [ | ||||
|   pkg="$1" | ||||
|   if test -z "${RPM_DEPEND}"; then | ||||
|     RPM_DEPEND="${pkg}" | ||||
|   else | ||||
|     RPM_DEPEND="${RPM_DEPEND}, ${pkg}" | ||||
|   fi | ||||
| ]) | ||||
|  | ||||
| # require package in debian/control.in append @DEB_DEPEND@ to Depends | ||||
| #  - parameter: | ||||
| #     $1 = package name | ||||
| AC_DEFUN([AX_RPM_GROUP], [ | ||||
|   pkg="$1" | ||||
|   RPM_GROUP="${pkg}" | ||||
| ]) | ||||
|  | ||||
| # call after setting rpmian dependencies | ||||
| AC_DEFUN([AX_RPM_RESOLVE], [ | ||||
|   AC_SUBST(RPM_BUILD_DEPEND) | ||||
|   AC_SUBST(RPM_DEPEND) | ||||
|   AC_SUBST(RPM_GROUP) | ||||
|   AC_SUBST(RPM_DEPEND_IFEXISTS) | ||||
| ]) | ||||
|  | ||||
| # Check if a package exists in the current distribution, if yes, require it | ||||
| # in .spec.in append @ALL_DEPEND_IFEXISTS@ to Build-Depends | ||||
| #  - parameter: | ||||
| #     $1 = package name | ||||
| AC_DEFUN([AX_ALL_DEPEND_IFEXISTS], [ | ||||
|   pkg="$1" | ||||
|   if test -n "$(apt-cache policy -q ${pkg} 2> /dev/null)"; then | ||||
|      DEB_DEPEND_IFEXISTS="${DEB_DEPEND_IFEXISTS}, ${pkg}" | ||||
|   fi | ||||
|   if (test -x /usr/bin/zypper && zypper search -x "$pkg" 1>&2 > /dev/null) || \ | ||||
|      (test -x /usr/bin/dnf && dnf list -q "$pkg" 1>&2 > /dev/null) || \ | ||||
|      (test -x /usr/bin/yum && yum list -q "$pkg" 1>&2 > /dev/null) || \ | ||||
|      (test -x /usr/sbin/urpmq && urpmq "$pkg" 1>&2 > /dev/null); then | ||||
|        RPM_DEPEND_IFEXISTS="${RPM_DEPEND_IFEXISTS}, ${pkg}" | ||||
|   fi | ||||
| ]) | ||||
|  | ||||
| # Check if a package exists in the current distribution, if yes, require it | ||||
| # in .spec.in append @ALL_DEPEND_IFEXISTS@ to Build-Depends | ||||
| #  - parameter: | ||||
| #     $1 = package name | ||||
| AC_DEFUN([AX_ALL_DEPEND_IFEXISTS_DEV], [ | ||||
|   pkg="$1" | ||||
|   if test -n "$(apt-cache policy -q ${pkg}-dev 2> /dev/null)"; then | ||||
|      DEB_DEPEND_IFEXISTS="${DEB_DEPEND_IFEXISTS}, ${pkg}-dev" | ||||
|   fi | ||||
|   if (test -x /usr/bin/zypper && zypper search -x "$pkg"-devel 1>&2 > /dev/null) || \ | ||||
|      (test -x /usr/bin/dnf && dnf list -q "$pkg"-devel 1>&2 > /dev/null) || \ | ||||
|      (test -x /usr/bin/yum && yum list -q "$pkg"-devel 1>&2 > /dev/null) || \ | ||||
|      (test -x /usr/sbin/urpmq && urpmq "$pkg"-devel 1>&2 > /dev/null); then | ||||
|        RPM_DEPEND_IFEXISTS="${RPM_DEPEND_IFEXISTS}, ${pkg}-devel" | ||||
|   fi | ||||
| ]) | ||||
|  | ||||
| # require package in .spec.in append @ALL_BUILD_DEPEND@ to Build-Depends | ||||
| #  - parameter: | ||||
| #     $1 = package name | ||||
| AC_DEFUN([AX_ALL_BUILD_DEPEND], [ | ||||
|   pkg="$1" | ||||
|   DEB_BUILD_DEPEND="${DEB_BUILD_DEPEND}, ${pkg}" | ||||
|   RPM_BUILD_DEPEND="${RPM_BUILD_DEPEND}, ${pkg}" | ||||
| ]) | ||||
|  | ||||
| # require package in .spec.in append @ALL_BUILD_DEPEND@ to Build-Depends | ||||
| #  - parameter: | ||||
| #     $1 = package name | ||||
| AC_DEFUN([AX_ALL_BUILD_DEPEND_DEV], [ | ||||
|   pkg="$1" | ||||
|   DEB_BUILD_DEPEND="${DEB_BUILD_DEPEND}, ${pkg}-dev" | ||||
|   RPM_BUILD_DEPEND="${RPM_BUILD_DEPEND}, ${pkg}-devel" | ||||
| ]) | ||||
|  | ||||
| # require package in .spec.in append @ALL_DEPEND@ to Depends | ||||
| #  - parameter: | ||||
| #     $1 = package name | ||||
| AC_DEFUN([AX_ALL_DEPEND], [ | ||||
|   pkg="$1" | ||||
|   DEB_DEPEND="${DEB_DEPEND}, ${pkg}" | ||||
|   if test -z "${RPM_DEPEND}"; then | ||||
|     RPM_DEPEND="${pkg}" | ||||
|   else | ||||
|     RPM_DEPEND="${RPM_DEPEND}, ${pkg}" | ||||
|   fi | ||||
| ]) | ||||
|  | ||||
| AC_DEFUN([AX_OUTPUT], [ | ||||
|   AX_DEB_RESOLVE | ||||
|   AX_RPM_RESOLVE | ||||
|   AC_OUTPUT | ||||
| ]) | ||||
|   | ||||
							
								
								
									
										79
									
								
								bootstrap.sh
									
									
									
									
									
								
							
							
						
						
									
										79
									
								
								bootstrap.sh
									
									
									
									
									
								
							| @@ -303,17 +303,22 @@ done | ||||
| echo -en "\e[1m-> checking:\e[0m for version control system ..." | ||||
| VCS="" | ||||
| VCSDEPENDS="" | ||||
| if test -d .svn; then | ||||
|     VCS="svn" | ||||
|     VCSDEPENDS_DEB="svn2cl, subversion, subversion-tools," | ||||
|     VCSDEPENDS_RPM="subversion," | ||||
|     echo -e " \e[32msuccess\e[0m detected ${VCS}" | ||||
| elif test -d .git; then | ||||
|     VCS="git" | ||||
|     VCSDEPENDS_DEB="git2cl, git," | ||||
|     VCSDEPENDS_RPM="git," | ||||
|     echo -e " \e[32msuccess\e[0m detected ${VCS}" | ||||
| else | ||||
| for path in . .. ../.. ../../..; do | ||||
|     if test -d ${path}/.svn; then | ||||
|         VCS="svn" | ||||
|         VCSDEPENDS_DEB="svn2cl, subversion, subversion-tools," | ||||
|         VCSDEPENDS_RPM="subversion," | ||||
|         echo -e " \e[32msuccess\e[0m detected ${VCS}" | ||||
|         break | ||||
|     elif test -d ${path}/.git; then | ||||
|         VCS="git" | ||||
|         VCSDEPENDS_DEB="git2cl, git," | ||||
|         VCSDEPENDS_RPM="git," | ||||
|         echo -e " \e[32msuccess\e[0m detected ${VCS}" | ||||
|         break | ||||
|     fi | ||||
| done | ||||
| if test -z "$VCS"; then | ||||
|     echo -e " \e[33mignored\e[0m" | ||||
| fi | ||||
|  | ||||
| @@ -376,7 +381,7 @@ run() { | ||||
|  | ||||
| testtag() { | ||||
|     local IFS="|" | ||||
|     egrep -q '^ *'"($*)" configure.ac | ||||
|     egrep -q '^ *'"($*)"' *(\(.*)? *$' configure.ac | ||||
| } | ||||
|  | ||||
| contains() { | ||||
| @@ -634,7 +639,7 @@ LANGUAGE_FILE_BASE = ${PACKAGE_NAME} | ||||
| QT_PLUGINS = iconengines imageformats platforms | ||||
|  | ||||
| #### enable if you deliver a KDE/Gnome desktop file | ||||
| #applicationsdir = ${datarootdir}/applications | ||||
| #applicationsdir = \${datarootdir}/applications | ||||
| #dist_applications_DATA = ${PACKAGE_NAME}.desktop | ||||
|  | ||||
| #### enable (ev. instead of bin_PROGRAMS) if you build a library | ||||
| @@ -671,25 +676,26 @@ ${PACKAGE_NAME//-/_}_TR_FILES = main.cxx version.cxx | ||||
| ${PACKAGE_NAME//-/_}_SOURCES = \${${PACKAGE_NAME//-/_}_TR_FILES} \${BUILT_SOURCES} | ||||
|  | ||||
| ## automatic assembly, no need to change | ||||
| BUILT_SOURCES = \${${PACKAGE_NAME//-/_}_MOCFILES} \ | ||||
|                 \${${PACKAGE_NAME//-/_}_UIFILES} \ | ||||
|                 \${${PACKAGE_NAME//-/_}_TRANSLATIONS} \ | ||||
| BUILT_SOURCES = \${${PACKAGE_NAME//-/_}_MOCFILES} \\ | ||||
|                 \${${PACKAGE_NAME//-/_}_UIFILES} \\ | ||||
|                 \${${PACKAGE_NAME//-/_}_TRANSLATIONS} \\ | ||||
|                 \${${PACKAGE_NAME//-/_}_RESOURCES} | ||||
|  | ||||
| ## automatic assembly, no need to change | ||||
| EXTRA_DIST_TR = \${${PACKAGE_NAME//-/_}_MOCFILES:moc_%.cxx=%.hxx} \ | ||||
| EXTRA_DIST_TR = \${${PACKAGE_NAME//-/_}_MOCFILES:moc_%.cxx=%.hxx} \\ | ||||
|                 \${${PACKAGE_NAME//-/_}_UIFILES:ui_%.hxx=%.ui} | ||||
|  | ||||
| ## automatic assembly, no need to change | ||||
| ## except: adapt the pre-delivered qt_%.qm list (language files you copy from qt | ||||
| EXTRA_DIST = \${EXTRA_DIST_TR} \ | ||||
|              \${${PACKAGE_NAME//-/_}_RESOURCES:qrc_%.cxx:%.qrc} \ | ||||
|              \${${PACKAGE_NAME//-/_}_TRANSLATIONS:%.qm=%.ts} \ | ||||
| EXTRA_DIST = \${EXTRA_DIST_TR} \\ | ||||
|              \${${PACKAGE_NAME//-/_}_RESOURCES:qrc_%.cxx=%.qrc} \\ | ||||
|              \${${PACKAGE_NAME//-/_}_TRANSLATIONS:%.qm=%.ts} \\ | ||||
|              qt_de.qm qt_fr.qm | ||||
|  | ||||
| ## automatic assembly, no need to change | ||||
| LANGUAGE_FILES = \${EXTRA_DIST_TR} \${${PACKAGE_NAME//-/_}_TR_FILES} | ||||
|  | ||||
| CLEANFILES = \${${PACKAGE_NAME//-/_}_RESOURCES} | ||||
| MAINTAINERCLEANFILES = makefile.in | ||||
| EOF | ||||
|     to --condition AX_USE_CXX src/main.cxx <<EOF | ||||
| @@ -1554,7 +1560,7 @@ $(      if testtag AX_USE_LIBTOOL; then | ||||
| Package: @PACKAGE_NAME@-dev | ||||
| Section: libdevel | ||||
| Architecture: any | ||||
| Depends: @PACKAGE_NAME@ (= \${binary:Version}), ${BUILD_DEPENDS}${RUN_DEPENDS} @DEB_DEPEND@ @DEB_BUILD_DEPEND@ @DEB_DEPEND_IFEXISTS@ | ||||
| Depends: @PACKAGE_NAME@ (= \${binary:Version}), ${BUILD_DEPENDS}${RUN_DEPENDS} @DEB_BUILD_DEPEND@ @DEB_DEPEND_IFEXISTS@ | ||||
| Description: @DESCRIPTION@ - Development Package | ||||
| @README_DEB@ | ||||
| EOF2 | ||||
| @@ -1602,11 +1608,12 @@ License: LGPL | ||||
| Group: $(if testtag AX_USE_LIBTOOL; then | ||||
|   echo Development/Libraries/C++; | ||||
| else | ||||
|   echo Applications/...; | ||||
|   echo @RPM_GROUP@; | ||||
| fi) | ||||
| $(if testtag AX_RPM_DEPEND; then echo "Requires: @RPM_DEPEND@"; fi) | ||||
| Source0: %{name}-%{version}.tar.gz | ||||
| BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root | ||||
| BuildRequires: gnupg, ${VCSDEPENDS_RPM} make, automake, autoconf, rpm-build$( | ||||
| BuildRequires: gnupg, expect, ${VCSDEPENDS_RPM} make, automake, autoconf, rpm-build$( | ||||
|     if testtag AX_USE_CXX; then | ||||
|       echo -n ", binutils-devel, gcc-c++" | ||||
|     fi | ||||
| @@ -1619,7 +1626,7 @@ BuildRequires: gnupg, ${VCSDEPENDS_RPM} make, automake, autoconf, rpm-build$( | ||||
|     if testtag AX_USE_PERLDOC; then | ||||
|       echo -n ", libpod-tree-perl"; | ||||
|     fi | ||||
| ) | ||||
| )  @RPM_BUILD_DEPEND@ @RPM_DEPEND_IFEXISTS@ | ||||
| %if 0%{?fedora} != 20 | ||||
| $(if testtag AX_USE_DOXYGEN; then echo -n "BuildRequires: graphviz"; fi) | ||||
| %endif | ||||
| @@ -1692,12 +1699,14 @@ rm -rf \$RPM_BUILD_ROOT | ||||
| %files | ||||
| %defattr(-,root,root,-) | ||||
| $(if testtag AX_USE_LIBTOOL; then | ||||
| echo '/usr/%_lib/@PACKAGE_NAME@.so.*' | ||||
| echo '/usr/%_lib/*.so.*' | ||||
| else | ||||
| echo '/usr/bin/*' | ||||
| echo '/usr/share/applications/*' | ||||
| fi) | ||||
| /usr/share/@PACKAGE_NAME@ | ||||
| $(if testtag AX_USE_NODEJS AX_BUILD_HTML AX_BUILD_HTML_NPM; then | ||||
| echo '/usr/share/@PACKAGE_NAME@' | ||||
| fi) | ||||
| %doc | ||||
| $(if testtag AX_USE_LIBTOOL; then | ||||
|   cat <<EOF2 | ||||
| @@ -1709,7 +1718,7 @@ $(if testtag AX_USE_LIBTOOL; then | ||||
| /usr/share/doc/packages/@PACKAGE_NAME@/README | ||||
| EOF2 | ||||
| else | ||||
|   echo '/usr/share/doc/packages/@PACKAGE_NAME@' | ||||
|   echo '/usr/share' | ||||
| fi) | ||||
|  | ||||
| $(if testtag AX_USE_LIBTOOL; then | ||||
| @@ -1717,7 +1726,7 @@ cat <<EOF2 | ||||
| %package devel | ||||
| Summary: @DESCRIPTION@ | ||||
| Group: Development/Libraries/C++ | ||||
| Requires: @PACKAGE_NAME@ = @VERSION@ | ||||
| Requires: @PACKAGE_NAME@ = @VERSION@ @RPM_BUILD_DEPEND@ | ||||
|  | ||||
| %description devel | ||||
| @README@ | ||||
| @@ -1726,14 +1735,18 @@ This Package contains all files required for developement. | ||||
|  | ||||
| %files devel | ||||
| %defattr(-,root,root,-) | ||||
| /usr/%_lib/@PACKAGE_NAME@.so | ||||
| /usr/%_lib/@PACKAGE_NAME@.a | ||||
| /usr/%_lib/@PACKAGE_NAME@.la | ||||
| /usr/%_lib/*.so | ||||
| /usr/%_lib/*.a | ||||
| /usr/%_lib/*.la | ||||
| /usr/%_lib/pkgconfig | ||||
| /usr/include/* | ||||
| %doc | ||||
| /usr/share/@PACKAGE_NAME@ | ||||
| /usr/share/doc/packages/@PACKAGE_NAME@/html | ||||
| $(if testtag AX_USE_DOXYGEN AX_USE_PERLDOC; then | ||||
|   echo '/usr/share/doc/packages/@PACKAGE_NAME@/html' | ||||
| fi) | ||||
| $(if testtag AX_BUILD_EXAMPLES; then | ||||
|   echo '/usr/share/doc/packages/@PACKAGE_NAME@/examples' | ||||
| fi) | ||||
| EOF2 | ||||
| fi) | ||||
|  | ||||
|   | ||||
| @@ -282,7 +282,12 @@ gpgcheck=0 | ||||
| EOF | ||||
|         fi | ||||
|         INSTALL_TOOL=$((docker exec ${DOCKER_ID} test -x /usr/bin/zypper && echo zypper install -y) ||  (docker exec ${DOCKER_ID} test -x /usr/bin/dnf && echo dnf install -y) || (docker exec ${DOCKER_ID} test -x /usr/bin/yum && echo yum install -y) || (docker exec ${DOCKER_ID} test -x /usr/sbin/urpmi && echo urpmi --auto)) | ||||
|         docker exec ${DOCKER_ID} ${INSTALL_TOOL} rpm-build automake libtool subversion gcc-c++ pkgconfig wget /usr/bin/lsb_release | ||||
|         if test "$INSTALL_TOOL" = "urpmi --auto"; then | ||||
|             LSB_RELEASE=lsb-release | ||||
|         else | ||||
|             LSB_RELEASE=/usr/bin/lsb_release | ||||
|         fi | ||||
|         docker exec ${DOCKER_ID} ${INSTALL_TOOL} rpm-build automake libtool subversion gcc-c++ pkgconfig wget $LSB_RELEASE | ||||
|         i=0 | ||||
|         for key in "${keys[@]}"; do | ||||
|             wget -Orpm-key "$key" | ||||
| @@ -297,4 +302,9 @@ EOF | ||||
|         docker exec ${DOCKER_ID} ./resolve-rpmbuilddeps.sh | ||||
|         ;; | ||||
| esac | ||||
| docker exec -u $(id -u):$(id -g) ${DOCKER_ID} ./bootstrap.sh -t "${targets}" ${host} ${flags[@]} | ||||
| FLAGS=() | ||||
| for f in "${flags[@]}"; do | ||||
|     FLAGS+=($(ifthenelse "$f" "echo 'ARG'")) | ||||
| done | ||||
|            | ||||
| docker exec -u $(id -u):$(id -g) ${DOCKER_ID} ./bootstrap.sh -t "${targets}" ${host} "${FLAGS[@]}" | ||||
|   | ||||
							
								
								
									
										2
									
								
								debian/control.in
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								debian/control.in
									
									
									
									
										vendored
									
									
								
							| @@ -13,6 +13,6 @@ Description: @DESCRIPTION@ | ||||
| Package: @PACKAGE_NAME@-dev | ||||
| Section: libdevel | ||||
| Architecture: any | ||||
| Depends: @PACKAGE_NAME@ (= ${binary:Version}), debhelper, fakeroot, svn2cl, subversion, subversion-tools, pkg-config, automake, libtool, autotools-dev, pandoc, lsb-release, doxygen, graphviz, mscgen, default-jre-headless|default-jre, libcppunit-dev @DEB_DEPEND@ @DEB_BUILD_DEPEND@ @DEB_DEPEND_IFEXISTS@ | ||||
| Depends: @PACKAGE_NAME@ (= ${binary:Version}), debhelper, fakeroot, svn2cl, subversion, subversion-tools, pkg-config, automake, libtool, autotools-dev, pandoc, lsb-release, doxygen, graphviz, mscgen, default-jre-headless|default-jre, libcppunit-dev @DEB_BUILD_DEPEND@ @DEB_DEPEND_IFEXISTS@ | ||||
| Description: @DESCRIPTION@ - Development Package | ||||
| @README_DEB@ | ||||
|   | ||||
							
								
								
									
										7
									
								
								debian/libxml-cxx.install
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								debian/libxml-cxx.install
									
									
									
									
										vendored
									
									
								
							| @@ -1,2 +1,7 @@ | ||||
| usr/lib/lib*.so.* | ||||
| usr/share/libxml-cxx | ||||
| usr/share/doc/libxml-cxx/AUTHORS | ||||
| usr/share/doc/libxml-cxx/ChangeLog | ||||
| usr/share/doc/libxml-cxx/COPYING | ||||
| usr/share/doc/libxml-cxx/INSTALL | ||||
| usr/share/doc/libxml-cxx/NEWS | ||||
| usr/share/doc/libxml-cxx/README | ||||
|   | ||||
							
								
								
									
										2
									
								
								debian/rules
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								debian/rules
									
									
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| ## | ||||
| ## This file has been added: | ||||
| ##  - by bootstrap.sh | ||||
| ##  -  on Fri, 17 March 2017 18:51:03 +0100 | ||||
| ##  -  on Thu, 04 May 2017 14:23:09 +0200 | ||||
| ## Feel free to change it or even remove and rebuild it, up to your needs | ||||
| ## | ||||
| ##       1         2         3         4         5         6         7         8 | ||||
|   | ||||
| @@ -35,16 +35,24 @@ TO_INSTALL= | ||||
| DEPS= | ||||
|  | ||||
| if test -e debian/control.in -a ! -e debian/control; then | ||||
|     for f in $(sed -n 's, *AX_DEB_DEPEND_IFEXISTS(\([^)]*\)).*,\1,p' configure.ac); do | ||||
|     for f in $(sed -n 's, *AX_\(DEB\|ALL\)_DEPEND_IFEXISTS(\([^)]*\)).*,\2,p' configure.ac); do | ||||
|         if test -n "$(${DO} apt-cache policy -q ${f})" && ((! $(${DO} apt-cache policy ${f} 2>&1 | grep -q 'N: Unable to locate package')) && (! ${DO} dpkg -l "${f}")); then | ||||
|             DEPS+=" ${f}" | ||||
|         fi | ||||
|     done | ||||
|     for f in $(sed -n 's, *AX_DEB_BUILD_DEPEND(\([^)]*\)).*,\1,p' configure.ac); do | ||||
|     for f in $(sed -n 's, *AX_\(DEB\|ALL\)_DEPEND_IFEXISTS_DEV(\([^)]*\)).*,\2,p' configure.ac); do | ||||
|         if test -n "$(${DO} apt-cache policy -q ${f}-dev)" && ((! $(${DO} apt-cache policy ${f}-dev 2>&1 | grep -q 'N: Unable to locate package')) && (! ${DO} dpkg -l "${f}-dev")); then | ||||
|             DEPS+=" ${f}-dev" | ||||
|         fi | ||||
|     done | ||||
|     for f in $(sed -n 's, *AX_\(DEB\|ALL\)\(_BUILD\)\?_DEPEND(\([^)]*\)).*,\3,p' configure.ac); do | ||||
|         DEPS+=" ${f}" | ||||
|     done | ||||
|     for f in $(sed -n 's, *AX_\(DEB\|ALL\)\(_BUILD\)\?_DEPEND_DEV(\([^)]*\)).*,\3,p' configure.ac); do | ||||
|         DEPS+=" ${f}-dev" | ||||
|     done | ||||
|     trap "rm debian/control" INT TERM EXIT | ||||
|     sed 's,@\(DEB_DEPEND_IFEXISTS\|DEB_BUILD_DEPEND\|DEB_DEPEND\)@,,g' debian/control.in | \ | ||||
|     sed 's,@\(\(ALL\|DEB\)_DEPEND_IFEXISTS\|\(ALL\|DEB\)_BUILD_DEPEND\|\(ALL\|DEB\)_DEPEND\)@,,g' debian/control.in | \ | ||||
|         sed 's,@[^@]*@, dummytext,g' > debian/control | ||||
| fi | ||||
|  | ||||
|   | ||||
| @@ -15,10 +15,39 @@ SCHROOTNAME="$1" | ||||
| PACKAGE_NAME=$(sed -n 's/^ *m4_define(x_package_name, \(.*\)).*/\1/p' configure.ac) | ||||
|  | ||||
| TRAP_CMD= | ||||
| DEPS= | ||||
| for f in BUILD BUILDROOT RPMS SPECS SRPMS; do | ||||
|   if ! test -d $f; then | ||||
|       TRAP_CMD+="rm -rf $f;" | ||||
|       mkdir $f | ||||
|   fi | ||||
| done | ||||
| if test -e ${PACKAGE_NAME}.spec.in -a ! -e ${PACKAGE_NAME}.spec; then | ||||
|     for f in $(sed -n 's, *AX_\(RPM\|ALL\)_DEPEND_IFEXISTS(\([^)]*\)).*,\2,p' configure.ac); do | ||||
|         if (test -x /usr/bin/zypper && zypper search -x "$f" 1>&2 > /dev/null) || \ | ||||
|                (test -x /usr/bin/dnf && dnf list -q "$f" 1>&2 > /dev/null) || \ | ||||
|                (test -x /usr/bin/yum && yum list -q "$f" 1>&2 > /dev/null) || \ | ||||
|                (test -x /usr/sbin/urpmq && urpmq "$f" 1>&2 > /dev/null); then | ||||
|             DEPS+=" ${f}" | ||||
|         fi | ||||
|     done | ||||
|     for f in $(sed -n 's, *AX_\(RPM\|ALL\)_DEPEND_IFEXISTS_DEV(\([^)]*\)).*,\2,p' configure.ac); do | ||||
|         if (test -x /usr/bin/zypper && zypper search -x "$f"-devel 1>&2 > /dev/null) || \ | ||||
|                (test -x /usr/bin/dnf && dnf list -q "$f"-devel 1>&2 > /dev/null) || \ | ||||
|                (test -x /usr/bin/yum && yum list -q "$f"-devel 1>&2 > /dev/null) || \ | ||||
|                (test -x /usr/sbin/urpmq && urpmq "$f"-devel 1>&2 > /dev/null); then | ||||
|             DEPS+=" ${f}-devel" | ||||
|         fi | ||||
|     done | ||||
|     for f in $(sed -n 's, *AX_\(RPM\|ALL\)\(_BUILD\)\?_DEPEND(\([^)]*\)).*,\3,p' configure.ac); do | ||||
|         DEPS+=" ${f}" | ||||
|     done | ||||
|     for f in $(sed -n 's, *AX_\(RPM\|ALL\)\(_BUILD\)\?_DEPEND_DEV(\([^)]*\)).*,\3,p' configure.ac); do | ||||
|         DEPS+=" ${f}-devel" | ||||
|     done | ||||
|     TRAP_CMD+="rm ${PACKAGE_NAME}.spec;" | ||||
|     trap "${TRAP_CMD}" INT TERM EXIT | ||||
|     sed 's,@RPM_DEPEND_IFEXISTS@,,g' ${PACKAGE_NAME}.spec.in | \ | ||||
|     sed 's,@\(\(ALL\|RPM\)_DEPEND_IFEXISTS\|\(ALL\|RPM\)_BUILD_DEPEND\|\(ALL\|RPM\)_DEPEND\)@,,g' ${PACKAGE_NAME}.spec.in | \ | ||||
|         sed 's,@[^@]*@, dummytext,g' > ${PACKAGE_NAME}.spec | ||||
| fi | ||||
|  | ||||
| @@ -32,13 +61,14 @@ fi | ||||
| if test -n "${SCHROOTNAME}"; then | ||||
|     FILES=$(LANG= schroot -c ${SCHROOTNAME} -- rpmbuild -bb --clean --nobuild --define "_topdir ." --define "_sourcedir ." ${PACKAGE_NAME}.spec  2>&1 | sed -n 's, is needed by.*,,p') | ||||
|     if test -n "${FILES}"; then | ||||
|         schroot -c ${SCHROOTNAME} -u root -- ${INSTALL_TOOL}  ${FILES} | ||||
|         schroot -c ${SCHROOTNAME} -u root -- ${INSTALL_TOOL}  ${FILES} ${DEPS} | ||||
|     fi | ||||
| else | ||||
|     FILES=$(LANG= rpmbuild -bb --clean --nobuild --define "_topdir ." --define "_sourcedir ." ${PACKAGE_NAME}.spec 2>&1 | sed -n 's, is needed by.*,,p') | ||||
|     if test -n "${FILES}"; then | ||||
|         ${INSTALL_TOOL} ${FILES} | ||||
|         ${INSTALL_TOOL} ${FILES} ${DEPS} | ||||
|     fi | ||||
| fi | ||||
|  | ||||
|  | ||||
| echo "**** Success: All Dependencies Resolved" | ||||
|   | ||||
							
								
								
									
										11
									
								
								rpmsign.exp
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								rpmsign.exp
									
									
									
									
									
								
							| @@ -5,7 +5,10 @@ set password [lindex $argv 1] | ||||
| set files [lrange $argv 2 end] | ||||
|  | ||||
| ### rpm-sign.exp -- Sign RPMs by sending the passphrase. | ||||
| spawn rpmsign --define "_gpg_name $key" --addsign $files | ||||
| expect -exact "Enter pass phrase: " | ||||
| send -- "$password\r" | ||||
| expect eof | ||||
| spawn rpmsign --define "_gpg_name $key" --addsign {*}$files | ||||
| expect { | ||||
|     "Enter pass phrase: " { | ||||
|         send -- "$password\r" | ||||
|         exp_continue | ||||
|     } eof | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user