build system updated
This commit is contained in:
		
							
								
								
									
										75
									
								
								ChangeLog
									
									
									
									
									
								
							
							
						
						
									
										75
									
								
								ChangeLog
									
									
									
									
									
								
							| @@ -1,38 +1,73 @@ | |||||||
|  | 2016-10-30 20:16   | ||||||
|  |  | ||||||
|  | 	* [r10] configure.ac: | ||||||
|  | 	  wrong project management address | ||||||
|  |  | ||||||
|  | 2016-08-26 14:24   | ||||||
|  |  | ||||||
|  | 	* [r9] ax_init_standard_project.m4, bootstrap.sh, doc/style.css, | ||||||
|  | 	  src/neuron.hxx: | ||||||
|  | 	  documentation updated | ||||||
|  |  | ||||||
|  | 2016-08-26 06:50   | ||||||
|  |  | ||||||
|  | 	* [r8] COPYING, INSTALL, doc/doxyfile.in, doc/header.html.in, | ||||||
|  | 	  doc/style.css: | ||||||
|  | 	  documentation updated | ||||||
|  |  | ||||||
|  | 2016-08-25 19:54   | ||||||
|  |  | ||||||
|  | 	* [r7] COPYING, ChangeLog, INSTALL, ax_init_standard_project.m4, | ||||||
|  | 	  bootstrap.sh, configure.ac, debian/control.in, | ||||||
|  | 	  doc/footer.html.in[ADD], doc/header.html.in[ADD], | ||||||
|  | 	  doc/style.css[ADD]: | ||||||
|  | 	  documentation updated | ||||||
|  |  | ||||||
| 2016-08-25 15:00   | 2016-08-25 15:00   | ||||||
|  |  | ||||||
| 	* src/neuron.hxx: more docu | 	* [r6] src/neuron.hxx: | ||||||
|  | 	  more docu | ||||||
|  |  | ||||||
| 2016-08-25 09:24   | 2016-08-25 09:24   | ||||||
|  |  | ||||||
| 	* src/neuron.hxx: move documentation to main page | 	* [r5] src/neuron.hxx: | ||||||
|  | 	  move documentation to main page | ||||||
|  |  | ||||||
| 2016-08-25 07:51   | 2016-08-25 07:51   | ||||||
|  |  | ||||||
| 	* src/neuron.hxx: move documentation to main page | 	* [r4] src/neuron.hxx: | ||||||
|  | 	  move documentation to main page | ||||||
|  |  | ||||||
| 2016-08-24 14:53   | 2016-08-24 14:53   | ||||||
|  |  | ||||||
| 	* COPYING, INSTALL, bootstrap.sh, src/neuron.hxx, test/makefile.am, | 	* [r3] COPYING[ADD], INSTALL[ADD], bootstrap.sh, src/neuron.hxx, | ||||||
| 	  test/neuron.cxx: with dummy test | 	  test/makefile.am, test/neuron.cxx[ADD]: | ||||||
|  | 	  with dummy test | ||||||
|  |  | ||||||
| 2016-08-24 12:44   | 2016-08-24 12:44   | ||||||
|  |  | ||||||
| 	* build-in-docker.conf: added mrw repo | 	* [r2] build-in-docker.conf: | ||||||
|  | 	  added mrw repo | ||||||
|  |  | ||||||
| 2016-08-24 12:23   | 2016-08-24 12:23   | ||||||
|  |  | ||||||
| 	* ., AUTHORS, ChangeLog, NEWS, README, autogen.sh, ax_check_qt.m4, | 	* [r1] .[ADD], AUTHORS[ADD], ChangeLog[ADD], NEWS[ADD], | ||||||
| 	  ax_cxx_compile_stdcxx_11.m4, ax_init_standard_project.m4, | 	  README[ADD], autogen.sh[ADD], ax_check_qt.m4[ADD], | ||||||
| 	  bootstrap.sh, build-in-docker.conf, build-in-docker.sh, | 	  ax_cxx_compile_stdcxx_11.m4[ADD], | ||||||
| 	  build-resource-file.sh, configure.ac, debian, | 	  ax_init_standard_project.m4[ADD], bootstrap.sh[ADD], | ||||||
| 	  debian/changelog.in, debian/compat, debian/control.in, | 	  build-in-docker.conf[ADD], build-in-docker.sh[ADD], | ||||||
| 	  debian/docs, debian/libneuron-dev.install, | 	  build-resource-file.sh[ADD], configure.ac[ADD], debian[ADD], | ||||||
| 	  debian/libneuron.install, debian/rules, doc, doc/doxyfile.in, | 	  debian/changelog.in[ADD], debian/compat[ADD], | ||||||
| 	  doc/makefile.am, examples, examples/makefile.am, | 	  debian/control.in[ADD], debian/docs[ADD], | ||||||
| 	  libneuron.desktop.in, libneuron.spec.in, | 	  debian/libneuron-dev.install[ADD], debian/libneuron.install[ADD], | ||||||
| 	  mac-create-app-bundle.sh, makefile.am, makefile_test.inc.am, | 	  debian/rules[ADD], doc[ADD], doc/doxyfile.in[ADD], | ||||||
| 	  resolve-debbuilddeps.sh, resolve-rpmbuilddeps.sh, sql-to-dot.sed, | 	  doc/makefile.am[ADD], examples[ADD], examples/makefile.am[ADD], | ||||||
| 	  src, src/libneuron.pc.in, src/makefile.am, src/neuron.hxx, | 	  libneuron.desktop.in[ADD], libneuron.spec.in[ADD], | ||||||
| 	  src/version.cxx, src/version.hxx, test, test/makefile.am: initial | 	  mac-create-app-bundle.sh[ADD], makefile.am[ADD], | ||||||
| 	  version | 	  makefile_test.inc.am[ADD], resolve-debbuilddeps.sh[ADD], | ||||||
|  | 	  resolve-rpmbuilddeps.sh[ADD], sql-to-dot.sed[ADD], src[ADD], | ||||||
|  | 	  src/libneuron.pc.in[ADD], src/makefile.am[ADD], | ||||||
|  | 	  src/neuron.hxx[ADD], src/version.cxx[ADD], src/version.hxx[ADD], | ||||||
|  | 	  test[ADD], test/makefile.am[ADD]: | ||||||
|  | 	  initial version | ||||||
|  |  | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ | |||||||
| m4_define([mrw_esyscmd_s], [m4_normalize(m4_esyscmd([$1]))]) | m4_define([mrw_esyscmd_s], [m4_normalize(m4_esyscmd([$1]))]) | ||||||
|  |  | ||||||
| # define least version number from subversion's revision number: | # define least version number from subversion's revision number: | ||||||
| # it is taken modulo 256 due to a bug on Apple's MacOSX | # it is taken modulo 256 due to a bug on Apple's MaxOSX | ||||||
| m4_define(x_least, m4_ifdef([x_least_fix], [x_least_fix], | m4_define(x_least, m4_ifdef([x_least_fix], [x_least_fix], | ||||||
|   m4_ifdef([x_least_diff], |   m4_ifdef([x_least_diff], | ||||||
|     mrw_esyscmd_s([ |     mrw_esyscmd_s([ | ||||||
| @@ -36,10 +36,7 @@ m4_define(x_least, m4_ifdef([x_least_fix], [x_least_fix], | |||||||
|         fi |         fi | ||||||
|       done |       done | ||||||
|       # Mac does not support LEAST > 255 |       # Mac does not support LEAST > 255 | ||||||
|       echo $ECHO_N $(($VCS_REVISION%256)) |       echo $ECHO_N $(($VCS_REVISION%256))])))) | ||||||
|     ]) |  | ||||||
|   ) |  | ||||||
| )) |  | ||||||
|  |  | ||||||
| # define version number from subversion's revision number: | # define version number from subversion's revision number: | ||||||
| # it is taken modulo 256 due to a bug on Apple's MacOSX | # it is taken modulo 256 due to a bug on Apple's MacOSX | ||||||
| @@ -57,8 +54,8 @@ m4_define(x_minor_diff, m4_ifdef([x_least_fix], 0, mrw_esyscmd_s([ | |||||||
|     fi; |     fi; | ||||||
|   done |   done | ||||||
|   # Mac does not support LEAST > 255 |   # Mac does not support LEAST > 255 | ||||||
|   echo $ECHO_N $(($VCS_REVISION/256)) |   echo $ECHO_N $(($VCS_REVISION/256))]))) | ||||||
| ]))) |  | ||||||
| # setup version number | # setup version number | ||||||
| m4_define(x_version, [x_major.m4_ifdef([x_least_diff], x_minor, m4_eval(x_minor+x_minor_diff)).m4_eval(m4_ifdef([x_least_diff], [x_least-x_least_diff], [x_least]))]) | m4_define(x_version, [x_major.m4_ifdef([x_least_diff], x_minor, m4_eval(x_minor+x_minor_diff)).m4_eval(m4_ifdef([x_least_diff], [x_least-x_least_diff], [x_least]))]) | ||||||
|  |  | ||||||
| @@ -191,19 +188,40 @@ AC_DEFUN([AX_INIT_STANDARD_PROJECT], [ | |||||||
|   _AM_SUBST_NOTMAKE([README_HTML]) |   _AM_SUBST_NOTMAKE([README_HTML]) | ||||||
|   AX_SUBST(DESCRIPTION) |   AX_SUBST(DESCRIPTION) | ||||||
|   _AM_SUBST_NOTMAKE([DESCRIPTION]) |   _AM_SUBST_NOTMAKE([DESCRIPTION]) | ||||||
|  |   LICENSE=$(echo $(head -1 COPYING)) | ||||||
|  |   AX_SUBST(LICENSE) | ||||||
|  |   COPYING=$(<COPYING) | ||||||
|  |   AX_SUBST(COPYING) | ||||||
|  |   _AM_SUBST_NOTMAKE([COPYING]) | ||||||
|  |   CHANGELOG=$(<ChangeLog) | ||||||
|  |   AC_SUBST(CHANGELOG) | ||||||
|  |   _AM_SUBST_NOTMAKE([CHANGELOG]) | ||||||
|  |   DEB_CHANGELOG=$(sed '/^[[^\t]]/{h;N;d};s,\t,  ,g;/^  \* /{s,,,;H;g;s,^,  * ,;s,\n\([[^ ]]*\) *, \1\n    ,}' ChangeLog) | ||||||
|  |   if test -z "$DEB_CHANGELOG"; then | ||||||
|  |     DEB_CHANGELOG="  * see file ChangeLog and project management web site" | ||||||
|  |   fi | ||||||
|  |   AC_SUBST(DEB_CHANGELOG) | ||||||
|  |   _AM_SUBST_NOTMAKE([DEB_CHANGELOG]) | ||||||
|   AUTHOR=$(head -1 AUTHORS) |   AUTHOR=$(head -1 AUTHORS) | ||||||
|   AUTHOR_NAME=$(echo $AUTHOR | sed 's, *[[<(]].*$,,') |   AUTHOR_NAME=$(echo $AUTHOR | sed 's, *[[<(]].*$,,') | ||||||
|   AUTHOR_URL=$(echo $AUTHOR | sed 's,.*(\(http[[^)]]*\)).*,\1,') |   AUTHOR_URL=$(echo $AUTHOR | sed 's,.*(\(http[[^)]]*\)).*,\1,') | ||||||
|   AUTHOR_MAIL=$(echo $AUTHOR | sed 's,.*<\(.*@.*\)>.*,\1,') |   AUTHOR_MAIL=$(echo $AUTHOR | sed 's,.*<\(.*@.*\)>.*,\1,') | ||||||
|  |   PACKAGER=$(gpg -K --display-charset utf-8 --lock-never 2>/dev/null | sed -n 's,uid *\(\[[ultimate\]] *\)\?,,p' | head -1) | ||||||
|  |   if test -z "${PACKAGER}"; then | ||||||
|  |     PACKAGER="$AUTHOR" | ||||||
|  |   fi | ||||||
|   AX_SUBST(AUTHOR) |   AX_SUBST(AUTHOR) | ||||||
|   _AM_SUBST_NOTMAKE([AUTHOR]) |   _AM_SUBST_NOTMAKE([AUTHOR]) | ||||||
|   AX_SUBST(AUTHOR_NAME) |   AX_SUBST(AUTHOR_NAME) | ||||||
|   AX_SUBST(AUTHOR_URL) |   AX_SUBST(AUTHOR_URL) | ||||||
|   AX_SUBST(AUTHOR_MAIL) |   AX_SUBST(AUTHOR_MAIL) | ||||||
|  |   AX_SUBST(PACKAGER) | ||||||
|   PROJECT_URL="${PROJECT_URL:-${AUTHOR_URL}/projects/${PACKAGE_NAME}}" |   PROJECT_URL="${PROJECT_URL:-${AUTHOR_URL}/projects/${PACKAGE_NAME}}" | ||||||
|   SOURCE_DOWNLOAD="${SOURCE_DOWNLOAD:-${AUTHOR_URL}/downloads/${PACKAGE_NAME}}" |   SOURCE_DOWNLOAD="${SOURCE_DOWNLOAD:-${AUTHOR_URL}/downloads/${PACKAGE_NAME}}" | ||||||
|   AX_SUBST(PROJECT_URL) |   AX_SUBST(PROJECT_URL) | ||||||
|   AX_SUBST(SOURCE_DOWNLOAD) |   AX_SUBST(SOURCE_DOWNLOAD) | ||||||
|  |   VENDOR=$((lsb_release -is 2>/dev/null || echo unknown) | tr ' ' '_') | ||||||
|  |   AX_SUBST(VENDOR) | ||||||
|   DISTRO=$(lsb_release -sc 2>/dev/null || uname -s 2>/dev/null) |   DISTRO=$(lsb_release -sc 2>/dev/null || uname -s 2>/dev/null) | ||||||
|   AX_SUBST(DISTRO) |   AX_SUBST(DISTRO) | ||||||
|   ARCH=$((@<:@@<:@ $(uname -sm) =~ 64 @:>@@:>@ && echo amd64) || (@<:@@<:@ $(uname -sm) =~ 'i?86' @:>@@:>@ && echo i386 || uname -sm)) |   ARCH=$((@<:@@<:@ $(uname -sm) =~ 64 @:>@@:>@ && echo amd64) || (@<:@@<:@ $(uname -sm) =~ 'i?86' @:>@@:>@ && echo i386 || uname -sm)) | ||||||
| @@ -406,7 +424,7 @@ EOF | |||||||
|  |  | ||||||
| # use this in configure.ac to support CppUnit for C++ unit tests | # use this in configure.ac to support CppUnit for C++ unit tests | ||||||
| AC_DEFUN([AX_USE_CPPUNIT], [ | AC_DEFUN([AX_USE_CPPUNIT], [ | ||||||
|   AM_PATH_CPPUNIT([1.0.0], [have_cppunit="yes"], [have_cppunit="no"]) |   PKG_CHECK_MODULES(CPPUNIT, cppunit, [have_cppunit="yes"], [have_cppunit="no"]) | ||||||
|   # infos and warnings |   # infos and warnings | ||||||
|   if test "$have_cppunit" = "no"; then |   if test "$have_cppunit" = "no"; then | ||||||
|     AC_MSG_WARN([Missing cppunit development library! |     AC_MSG_WARN([Missing cppunit development library! | ||||||
| @@ -427,6 +445,47 @@ maintainer-clean-example-targets: | |||||||
| EOF | EOF | ||||||
| ]) | ]) | ||||||
|  |  | ||||||
|  | # use this in configure.ac to support NodeJS | ||||||
|  | AC_DEFUN([AX_USE_NODEJS], [ | ||||||
|  |   AC_PATH_PROG(ANDROID, [android], [0], | ||||||
|  |                          [${PATH}${PATH_SEPARATOR}${ANDROID_HOME}/tools]) | ||||||
|  |   AC_CONFIG_FILES([nodejs/package.json]) | ||||||
|  |   AC_CONFIG_FILES([nodejs/makefile]) | ||||||
|  |   AX_ADD_MAKEFILE_TARGET_DEP([maintainer-clean-am], [maintainer-clean-nodejs-targets], [nodejs/makefile.in]) | ||||||
|  |   test -f nodejs/makefile.in && cat >> nodejs/makefile.in <<EOF | ||||||
|  | #### Begin: Appended by $0 | ||||||
|  | maintainer-clean-nodejs-targets: | ||||||
|  | 	-rm makefile.in | ||||||
|  | #### End: $0 | ||||||
|  | EOF | ||||||
|  | ]) | ||||||
|  |  | ||||||
|  | # use this in configure.ac to support Cordova | ||||||
|  | AC_DEFUN([AX_USE_CORDOVA], [ | ||||||
|  |   AC_PATH_PROG(ANDROID, [android], [0], | ||||||
|  |                          [${PATH}${PATH_SEPARATOR}${ANDROID_HOME}/tools]) | ||||||
|  |   AC_PATH_PROG(CORDOVA, [cordova], [0], | ||||||
|  |                         [${PATH}${PATH_SEPARATOR}$(pwd)/node_modules/cordova/bin]) | ||||||
|  |   if test ${CORDOVA} = 0; then | ||||||
|  |      AC_MSG_WARN([cordova is missing, on ubuntu install cordova-cli from repository ppa:cordova-ubuntu/ppa]) | ||||||
|  |   fi | ||||||
|  |   if test ${ANDROID} = 0; then | ||||||
|  |      AC_MSG_WARN([android sdk is missing, set variable ANDROID_HOME after installation]) | ||||||
|  |   fi | ||||||
|  |   AM_CONDITIONAL(HAVE_CORDOVA, [test ${CORDOVA} != 0 -a ${ANDROID} != 0]) | ||||||
|  |   AX_SUBST(CORDOVA) | ||||||
|  |   AC_CONFIG_FILES([cordova/makefile]) | ||||||
|  |   AC_CONFIG_FILES([cordova/config.xml]) | ||||||
|  | EOF | ||||||
|  |   AX_ADD_MAKEFILE_TARGET_DEP([maintainer-clean-am], [maintainer-clean-cordova-targets], [cordova/makefile.in]) | ||||||
|  |   test -f cordova/makefile.in && cat >> cordova/makefile.in <<EOF | ||||||
|  | #### Begin: Appended by $0 | ||||||
|  | maintainer-clean-cordova-targets: | ||||||
|  | 	-rm makefile.in | ||||||
|  | #### End: $0 | ||||||
|  | EOF | ||||||
|  | ]) | ||||||
|  |  | ||||||
| # use this in configure.ac to support HTML data for webservers | # use this in configure.ac to support HTML data for webservers | ||||||
| AC_DEFUN([AX_BUILD_HTML], [ | AC_DEFUN([AX_BUILD_HTML], [ | ||||||
|   AC_CONFIG_FILES([html/makefile]) |   AC_CONFIG_FILES([html/makefile]) | ||||||
| @@ -503,6 +562,7 @@ AC_DEFUN([AX_USE_RPM_PACKAGING], [ | |||||||
| EXTRA_DIST += \${PACKAGE_NAME}.spec.in | EXTRA_DIST += \${PACKAGE_NAME}.spec.in | ||||||
| rpm: dist | rpm: dist | ||||||
| 	rpmbuild -ba --define "_topdir \$\$(pwd)" --define "_sourcedir \$\$(pwd)" \${PACKAGE_NAME}.spec | 	rpmbuild -ba --define "_topdir \$\$(pwd)" --define "_sourcedir \$\$(pwd)" \${PACKAGE_NAME}.spec | ||||||
|  | 	rpmsign --define "_gpg_name \${PACKAGER}" --addsign RPMS/*/*.rpm SRPMS/*.rpm | ||||||
| clean-rpm-targets: | clean-rpm-targets: | ||||||
| 	-rm -rf BUILD BUILDROOT RPMS SPECS SRPMS | 	-rm -rf BUILD BUILDROOT RPMS SPECS SRPMS | ||||||
| distclean-rpm-targets: | distclean-rpm-targets: | ||||||
| @@ -521,6 +581,7 @@ AC_DEFUN([AX_USE_DOXYGEN], [ | |||||||
|   AC_CHECK_PROG(have_doxygen, doxygen, yes, no) |   AC_CHECK_PROG(have_doxygen, doxygen, yes, no) | ||||||
|   AC_CHECK_PROG(have_dot, dot, yes, no) |   AC_CHECK_PROG(have_dot, dot, yes, no) | ||||||
|   AC_CHECK_PROG(have_mscgen, mscgen, yes, no) |   AC_CHECK_PROG(have_mscgen, mscgen, yes, no) | ||||||
|  |   AM_CONDITIONAL(NEED_PLANTUML, test "$have_doxygen" = "yes" -a "1.8.11" != $((echo "1.8.11"; doxygen -v) | sort -V | head -1)) | ||||||
|   PDF_DOC=${PACKAGE_NAME}-${PACKAGE_VERSION}.pdf |   PDF_DOC=${PACKAGE_NAME}-${PACKAGE_VERSION}.pdf | ||||||
|   AC_SUBST(PDF_DOC) |   AC_SUBST(PDF_DOC) | ||||||
|   if test "$have_doxygen" = "no"; then |   if test "$have_doxygen" = "no"; then | ||||||
| @@ -542,15 +603,31 @@ AC_DEFUN([AX_USE_DOXYGEN], [ | |||||||
|   AX_ADD_MAKEFILE_TARGET_DEP([install-data-am], [install-data-documentation], [doc/makefile.in]) |   AX_ADD_MAKEFILE_TARGET_DEP([install-data-am], [install-data-documentation], [doc/makefile.in]) | ||||||
|   AX_ADD_MAKEFILE_TARGET_DEP([uninstall-am], [uninstall-documentation], [doc/makefile.in]) |   AX_ADD_MAKEFILE_TARGET_DEP([uninstall-am], [uninstall-documentation], [doc/makefile.in]) | ||||||
|   AX_ADD_MAKEFILE_TARGET_DEP([all], [doc], [doc/makefile.in]) |   AX_ADD_MAKEFILE_TARGET_DEP([all], [doc], [doc/makefile.in]) | ||||||
|   AX_ADD_MAKEFILE_TARGET_DEP([.PHONY], [pdf], [doc/makefile.in]) |   AX_ADD_MAKEFILE_TARGET_DEP([.PHONY], [pdf gen-uml-images], [doc/makefile.in]) | ||||||
|   test -f doc/makefile.in && cat >> doc/makefile.in <<EOF |   test -f doc/makefile.in && cat >> doc/makefile.in <<EOF | ||||||
| #### Begin: Appended by $0 | #### Begin: Appended by $0 | ||||||
| doc: doxyfile | doc: doxyfile @NEED_PLANTUML_TRUE@ gen-uml-images | ||||||
|  | 	@NEED_PLANTUML_TRUE@ doxyadd() { grep -q "\$\$[1] += \$\$[2]" doxyfile || sed -i '/^'"\$\$[1]"' *=/a'"\$\$[1]"' += '"\$\$[2]" doxyfile; }; \\ | ||||||
|  | 	@NEED_PLANTUML_TRUE@ doxyadd ALIASES '"startuml{1}=@image html \\\\1\\\\n@image latex \\\\1\\\\n\\\\if DontIgnorePlantUMLCode"'; \\ | ||||||
|  | 	@NEED_PLANTUML_TRUE@ doxyadd ALIASES '"enduml=\\\\endif"'; \\ | ||||||
|  | 	@NEED_PLANTUML_TRUE@ doxyadd IMAGE_PATH '"gen-uml-images"'; | ||||||
| 	doxygen doxyfile | 	doxygen doxyfile | ||||||
| @PEDANTIC_TRUE@	test \! -s doxygen.errors | @PEDANTIC_TRUE@	test \! -s doxygen.errors | ||||||
|  |  | ||||||
|  | @NEED_PLANTUML_TRUE@EXTRA_DIST = ${EXTRA_DIST} plantuml.jar | ||||||
|  | @NEED_PLANTUML_TRUE@ | ||||||
|  | @NEED_PLANTUML_TRUE@gen-uml-images: | ||||||
|  | @NEED_PLANTUML_TRUE@	test -d gen-uml-images || mkdir gen-uml-images | ||||||
|  | @NEED_PLANTUML_TRUE@	eval \$\$(sed -n 's, *INPUT *\\(+\\?\\)= *\\(.*\\),INPUT\\1=" \\2",gp' doxyfile); \\ | ||||||
|  | @NEED_PLANTUML_TRUE@	eval \$\$(sed -n 's, *FILE_PATTERNS *\\(+\\?\\)= *\\(.*\\),FILE_PATTERNS\\1=" \\2",gp' doxyfile); \\ | ||||||
|  | @NEED_PLANTUML_TRUE@	SOURCES="**.("\$\$(echo \$\${FILE_PATTERNS} | sed 's,*.,,g;s, ,|,g')")"; \\ | ||||||
|  | @NEED_PLANTUML_TRUE@	for src in \$\$INPUT; do \\ | ||||||
|  | @NEED_PLANTUML_TRUE@	  java  -Djava.awt.headless=true -jar \${top_srcdir}/doc/plantuml.jar -v -o \$\$(pwd)/gen-uml-images "\$\$src/\$\$SOURCES"; \\ | ||||||
|  | @NEED_PLANTUML_TRUE@	done | ||||||
|  |  | ||||||
| clean-documentation: | clean-documentation: | ||||||
| 	-rm doxygen.errors @PDF_DOC@ | 	-rm doxygen.errors @PDF_DOC@ | ||||||
|  | 	@NEED_PLANTUML_TRUE@ -rm -rf gen-uml-images | ||||||
| distclean-documentation: | distclean-documentation: | ||||||
| 	-rm -r html | 	-rm -r html | ||||||
| 	-rm  @PACKAGE_NAME@.doxytag | 	-rm  @PACKAGE_NAME@.doxytag | ||||||
| @@ -567,6 +644,55 @@ uninstall-documentation: | |||||||
| EOF | EOF | ||||||
| ]) | ]) | ||||||
|  |  | ||||||
|  | # use this in configure.ac to support Doxygen documentation generation | ||||||
|  | AC_DEFUN([AX_USE_PERLDOC], [ | ||||||
|  |   PERL_SOURCES="m4_default([$1], [perl])" | ||||||
|  |   AX_SUBST(PERL_SOURCES) | ||||||
|  |   if test -z "$PERL_SOURCES"; then | ||||||
|  |     AC_MSG_ERROR([You must specify the path to perl files | ||||||
|  |      - use [AX]_[USE]_PERLDOC([[pathes to perldoc]])]); fi | ||||||
|  |   AC_CHECK_PROG(have_perldoc, pods2html, yes, no) | ||||||
|  |   if test "$have_doxygen" = "no"; then | ||||||
|  |     AC_MSG_WARN([Missing program pods2html! | ||||||
|  |      - you cannot rebuild the documentation | ||||||
|  |      - there are precompiled derived files in the distribution | ||||||
|  |      - if you need to generate documentation, install libpod-tree-perl]); fi | ||||||
|  |   AC_CONFIG_FILES([doc/makefile]) | ||||||
|  |   AX_ADD_MAKEFILE_TARGET_DEP([distclean-am], [distclean-perldoc], [doc/makefile.in]) | ||||||
|  |   AX_ADD_MAKEFILE_TARGET_DEP([maintainer-clean-am], [maintainer-clean-perldoc], [doc/makefile.in]) | ||||||
|  |   AX_ADD_MAKEFILE_TARGET_DEP([install-data-am], [install-data-perldoc], [doc/makefile.in]) | ||||||
|  |   AX_ADD_MAKEFILE_TARGET_DEP([uninstall-am], [uninstall-perldoc], [doc/makefile.in]) | ||||||
|  |   AX_ADD_MAKEFILE_TARGET_DEP([all], [doc], [doc/makefile.in]) | ||||||
|  |   AX_ADD_MAKEFILE_TARGET_DEP([.PHONY], [doc], [doc/makefile.in]) | ||||||
|  |   test -f doc/makefile.in && cat >> doc/makefile.in <<EOF | ||||||
|  | #### Begin: Appended by $0 | ||||||
|  | doc: perldoc/index.html | ||||||
|  |  | ||||||
|  | perldoc/index.html: \${PERL_SOURCES:%=perldoc/%} | ||||||
|  | 	echo "<html><head><title>Perl Documentation</title></head><body><h1>Perl Documentation</h1><ul>" > perldoc/index.html | ||||||
|  | 	for p in \${PERL_SOURCES:%=perldoc/%}; do \ | ||||||
|  | 	  echo '<li><a href="'"\$\${p#perldoc/}"'/index.html">'"\$\${p#perldoc/}"'</a></li>' >> perldoc/index.html; \ | ||||||
|  | 	done | ||||||
|  | 	echo "</ul></body></html>" >> perldoc/index.html | ||||||
|  |  | ||||||
|  | perldoc/%: | ||||||
|  | 	pods2html --notoc --empty --index index @top_srcdir@/\${@:perldoc/%=%} \$[@] | ||||||
|  |  | ||||||
|  | distclean-perldoc: | ||||||
|  | 	-rm -r perldoc | ||||||
|  | maintainer-clean-perldoc: | ||||||
|  | 	-rm makefile.in | ||||||
|  | install-data-perldoc: | ||||||
|  | 	test -d \$(DESTDIR)\${docdir} || mkdir -p \$(DESTDIR)\${docdir} | ||||||
|  | 	chmod -R u+w \$(DESTDIR)\${docdir} | ||||||
|  | 	cp -r perldoc \$(DESTDIR)\${docdir}/ | ||||||
|  | uninstall-perldoc: | ||||||
|  | 	-chmod -R u+w \$(DESTDIR)\${docdir} | ||||||
|  | 	-rm -rf \$(DESTDIR)\${docdir}/perldoc | ||||||
|  | #### End: $0 | ||||||
|  | EOF | ||||||
|  | ]) | ||||||
|  |  | ||||||
| # require a specific package, with fallback: test for a header | # require a specific package, with fallback: test for a header | ||||||
| #  - parameter: | #  - parameter: | ||||||
| #     $1 = unique id (no special characters) | #     $1 = unique id (no special characters) | ||||||
|   | |||||||
							
								
								
									
										493
									
								
								bootstrap.sh
									
									
									
									
									
								
							
							
						
						
									
										493
									
								
								bootstrap.sh
									
									
									
									
									
								
							| @@ -149,11 +149,28 @@ GENERATED FILES | |||||||
|     * src/version.cxx - if you enabled AX_USE_CXX |     * src/version.cxx - if you enabled AX_USE_CXX | ||||||
|     * html/makefile.am - if you enabled AX_BUILD_HTML |     * html/makefile.am - if you enabled AX_BUILD_HTML | ||||||
|     * scripts/makefile.am - if you enabled AX_USE_SCRIPTS |     * scripts/makefile.am - if you enabled AX_USE_SCRIPTS | ||||||
|     * doc/makefile.am - if you enabled AX_USE_DOXYGEN |     * nodejs/makefile.am - if you add AX_USE_NODEJS | ||||||
|  |     * nodejs/${DEFAULT_PROJECT_NAME}.js - if you add AX_USE_NODEJS | ||||||
|  |     * nodejs/package.json.in - if you add AX_USE_NODEJS | ||||||
|  |     * nodejs/etc/${DEFAULT_PROJECT_NAME}.json - if you add AX_USE_NODEJS | ||||||
|  |     * nodejs/etc/default/${DEFAULT_PROJECT_NAME} - if you add AX_USE_NODEJS | ||||||
|  |     * nodejs/etc/init/${DEFAULT_PROJECT_NAME}.conf - if you add AX_USE_NODEJS | ||||||
|  |     * nodejs/etc/systemd/system/${DEFAULT_PROJECT_NAME}.service - if you add AX_USE_NODEJS | ||||||
|  |     * nodejs/public - if you add AX_USE_NODEJS | ||||||
|  |     * nodejs/public/images - if you add AX_USE_NODEJS | ||||||
|  |     * nodejs/public/javascripts/${DEFAULT_PROJECT_NAME}.js - if you add AX_USE_NODEJS | ||||||
|  |     * nodejs/public/stylesheets/style.styl - if you add AX_USE_NODEJS | ||||||
|  |     * nodejs/routes/index.js - if you add AX_USE_NODEJS | ||||||
|  |     * nodejs/sockets/index.js - if you add AX_USE_NODEJS | ||||||
|  |     * nodejs/views/index.ejs - if you add AX_USE_NODEJS | ||||||
|  |     * nodejs/views/layout.ejs - if you add AX_USE_NODEJS | ||||||
|  |     * nodejs/node_modules - if you add AX_USE_NODEJS | ||||||
|  |     * doc/makefile.am - if you enabled AX_USE_DOXYGEN or AX_USE_PERLDOC | ||||||
|     * doc/doxyfile.in - if you enabled AX_USE_DOXYGEN |     * doc/doxyfile.in - if you enabled AX_USE_DOXYGEN | ||||||
|     * doc/header.html.in - if you enabled AX_USE_DOXYGEN |     * doc/header.html.in - if you enabled AX_USE_DOXYGEN | ||||||
|     * doc/footer.html.in - if you enabled AX_USE_DOXYGEN |     * doc/footer.html.in - if you enabled AX_USE_DOXYGEN | ||||||
|     * doc/style.css - if you enabled AX_USE_DOXYGEN |     * doc/style.css - if you enabled AX_USE_DOXYGEN | ||||||
|  |     * doc/plantuml.jar - if you enable AX_USE_DOXYGEN | ||||||
|     * test/makefile.am - if you enabled AX_USE_CPPUNIT and AX_USE_CXX |     * test/makefile.am - if you enabled AX_USE_CPPUNIT and AX_USE_CXX | ||||||
|     * test/${DEFAULT_PROJECT_NAME#lib}.cxx - if you enabled AX_BUILD_TEST or AX_USE_CPPUNIT |     * test/${DEFAULT_PROJECT_NAME#lib}.cxx - if you enabled AX_BUILD_TEST or AX_USE_CPPUNIT | ||||||
|     * examples/makefile.am - if you enabled AX_BUILD_EXAMPLES |     * examples/makefile.am - if you enabled AX_BUILD_EXAMPLES | ||||||
| @@ -207,8 +224,8 @@ FILE DEPENDENCIES | |||||||
|     * test/makefile.am depends on AX_USE_LIBTOOL |     * test/makefile.am depends on AX_USE_LIBTOOL | ||||||
|     * html/makefile.am depends on AX_BUILD_HTML |     * html/makefile.am depends on AX_BUILD_HTML | ||||||
|     * doc/doxyfile.in depends on AX_BUILD_EXAMPLES |     * doc/doxyfile.in depends on AX_BUILD_EXAMPLES | ||||||
|     * debian/control.in depends on AX_USE_DOXYGEN, AX_USE_CPPUNIT |     * debian/control.in depends on AX_USE_DOXYGEN, AX_USE_PERLDOC, | ||||||
|       AX_CXX_QT, AX_CHECK_QT, AX_REQUIRE_QT, AX_USE_LIBTOOL |       AX_USE_CPPUNIT AX_CXX_QT, AX_CHECK_QT, AX_REQUIRE_QT, AX_USE_LIBTOOL | ||||||
|     * debian/${DEFAULT_PROJECT_NAME}.install depends on AX_USE_LIBTOOL |     * debian/${DEFAULT_PROJECT_NAME}.install depends on AX_USE_LIBTOOL | ||||||
|     * debian/${DEFAULT_PROJECT_NAME}.dirs depends on AX_USE_LIBTOOL |     * debian/${DEFAULT_PROJECT_NAME}.dirs depends on AX_USE_LIBTOOL | ||||||
|     * debian/${DEFAULT_PROJECT_NAME}-dev.install depends on AX_USE_LIBTOOL |     * debian/${DEFAULT_PROJECT_NAME}-dev.install depends on AX_USE_LIBTOOL | ||||||
| @@ -241,7 +258,9 @@ FILES | |||||||
|       * Enable C++: AX_USE_CXX |       * Enable C++: AX_USE_CXX | ||||||
|       * Enable LibTool library creation: AX_USE_LIBTOOL |       * Enable LibTool library creation: AX_USE_LIBTOOL | ||||||
|       * Enable Scripts: AX_USE_SCRIPTS |       * Enable Scripts: AX_USE_SCRIPTS | ||||||
|  |       * Enable NodeJS project: AX_USE_NODEJS | ||||||
|       * Enable Doxygen documentation generation: AX_USE_DOXYGEN |       * Enable Doxygen documentation generation: AX_USE_DOXYGEN | ||||||
|  |       * Enable Perldoc documentation generation: AX_USE_PERLDOC | ||||||
|       * Enable Debian packaging by calling "make deb": AX_USE_DEBIAN_PACKAGING |       * Enable Debian packaging by calling "make deb": AX_USE_DEBIAN_PACKAGING | ||||||
|       * Enable RPM packaging by calling "make rpm": AX_USE_RPM_PACKAGING |       * Enable RPM packaging by calling "make rpm": AX_USE_RPM_PACKAGING | ||||||
|       * Enable C++ testing using CppUnit: AX_USE_CPPUNIT |       * Enable C++ testing using CppUnit: AX_USE_CPPUNIT | ||||||
| @@ -282,11 +301,13 @@ VCS="" | |||||||
| VCSDEPENDS="" | VCSDEPENDS="" | ||||||
| if test -d .svn; then | if test -d .svn; then | ||||||
|     VCS="svn" |     VCS="svn" | ||||||
|     VCSDEPENDS="subversion," |     VCSDEPENDS_DEB="svn2cl, subversion, subversion-tools," | ||||||
|  |     VCSDEPENDS_RPM="subversion," | ||||||
|     echo -e " \e[32msuccess\e[0m detected ${VCS}" |     echo -e " \e[32msuccess\e[0m detected ${VCS}" | ||||||
| elif test -d .git; then | elif test -d .git; then | ||||||
|     VCS="git" |     VCS="git" | ||||||
|     VCSDEPENDS="git," |     VCSDEPENDS_DEB="git2cl, git," | ||||||
|  |     VCSDEPENDS_RPM="git," | ||||||
|     echo -e " \e[32msuccess\e[0m detected ${VCS}" |     echo -e " \e[32msuccess\e[0m detected ${VCS}" | ||||||
| else | else | ||||||
|     echo -e " \e[33mignored\e[0m" |     echo -e " \e[33mignored\e[0m" | ||||||
| @@ -439,6 +460,9 @@ copy() { | |||||||
|             source="${0%/*}/$1" |             source="${0%/*}/$1" | ||||||
|         fi |         fi | ||||||
|     fi |     fi | ||||||
|  |     if test "${1%/*}" != "$1"; then | ||||||
|  |         test -d "${1%/*}" || svn mkdir "${1%/*}" | ||||||
|  |     fi | ||||||
|     run cp "${source}" "$1" |     run cp "${source}" "$1" | ||||||
|     if test $exists -eq 0; then |     if test $exists -eq 0; then | ||||||
|         if test -n "${VCS}" -a $novcs -eq 0 && ! contains "$1" "${excludevcs[@]}"; then |         if test -n "${VCS}" -a $novcs -eq 0 && ! contains "$1" "${excludevcs[@]}"; then | ||||||
| @@ -482,6 +506,8 @@ vcs2cl() { | |||||||
|     if test -x $(which ${VCS}2cl); then |     if test -x $(which ${VCS}2cl); then | ||||||
|         if test "${VCS}" = "git"; then |         if test "${VCS}" = "git"; then | ||||||
|             ${VCS}2cl > ChangeLog |             ${VCS}2cl > ChangeLog | ||||||
|  |         elif test "${VCS}" = "svn"; then | ||||||
|  |             ${VCS}2cl --break-before-msg -a -i | ||||||
|         elif test -n "${VCS}"; then |         elif test -n "${VCS}"; then | ||||||
|             ${VCS}2cl |             ${VCS}2cl | ||||||
|         fi |         fi | ||||||
| @@ -513,7 +539,7 @@ copy build-in-docker.sh | |||||||
| copy build-resource-file.sh | copy build-resource-file.sh | ||||||
| copy sql-to-dot.sed | copy sql-to-dot.sed | ||||||
| copy mac-create-app-bundle.sh | copy mac-create-app-bundle.sh | ||||||
| AUTHOR=$(gpg -K  | sed -n 's,uid *,,p' | sort | head -1) | AUTHOR=$(gpg -K 2>/dev/null | sed -n 's,uid *\(\[ultimate\] *\)\?,,p' | head -1) | ||||||
| if test -z "${AUTHOR}"; then | if test -z "${AUTHOR}"; then | ||||||
|     AUTHOR="FIRSTNAME LASTNAME (URL) <EMAIL>" |     AUTHOR="FIRSTNAME LASTNAME (URL) <EMAIL>" | ||||||
| fi | fi | ||||||
| @@ -545,7 +571,9 @@ AX_INIT_STANDARD_PROJECT | |||||||
| #AX_USE_CXX | #AX_USE_CXX | ||||||
| #AX_USE_LIBTOOL | #AX_USE_LIBTOOL | ||||||
| #AX_USE_SCRIPTS | #AX_USE_SCRIPTS | ||||||
|  | #AX_USE_NODEJS | ||||||
| #AX_USE_DOXYGEN | #AX_USE_DOXYGEN | ||||||
|  | #AX_USE_PERLDOC | ||||||
| #AX_USE_DEBIAN_PACKAGING | #AX_USE_DEBIAN_PACKAGING | ||||||
| #AX_USE_RPM_PACKAGING | #AX_USE_RPM_PACKAGING | ||||||
| #AX_USE_CPPUNIT | #AX_USE_CPPUNIT | ||||||
| @@ -831,7 +859,350 @@ ${HEADER}dist_bin_SCRIPTS = | |||||||
|  |  | ||||||
| MAINTAINERCLEANFILES = makefile.in | MAINTAINERCLEANFILES = makefile.in | ||||||
| EOF | EOF | ||||||
| echo "${HEADER}MAINTAINERCLEANFILES = makefile.in" | to --condition AX_USE_DOXYGEN doc/makefile.am | if testtag AX_USE_NODEJS; then | ||||||
|  |     checkdir nodejs | ||||||
|  |     checkdir nodejs/public | ||||||
|  |     checkdir nodejs/public/images | ||||||
|  |     checkdir nodejs/etc | ||||||
|  |     checkdir nodejs/etc/systemd | ||||||
|  | fi | ||||||
|  | to --condition AX_USE_NODEJS nodejs/makefile.am <<EOF | ||||||
|  | ${HEADER}EXTRA_DIST = @PACKAGE_NAME@.js package.json.in public routes sockets views | ||||||
|  |  | ||||||
|  | nodejsdir = \${pkgdatadir}/nodejs | ||||||
|  |  | ||||||
|  | sysconfdefaultdir = \${sysconfdir}/default | ||||||
|  | sysconfinitdir = \${sysconfdir}/init | ||||||
|  | dist_sysconf_DATA = \${sysconfdir}/@PACKAGE_NAME@.json | ||||||
|  | dist_sysconfdefault_DATA = \${sysconfdir}/default/@PACKAGE_NAME@ | ||||||
|  | dist_sysconfinit_DATA = \${sysconfdir}/init/@PACKAGE_NAME@.conf | ||||||
|  |  | ||||||
|  | all: node_modules | ||||||
|  |  | ||||||
|  | node_modules: package.json.in | ||||||
|  | 	HOME=. npm install | ||||||
|  |  | ||||||
|  | clean-local: | ||||||
|  | 	-rm -r node_modules .npm | ||||||
|  |  | ||||||
|  | install-data-hook: | ||||||
|  | 	test -d \$(DESTDIR)\${nodejsdir} || mkdir -p \$(DESTDIR)\${nodejsdir} | ||||||
|  | 	chmod -R u+w \$(DESTDIR)\${nodejsdir} | ||||||
|  | 	cp -r . \$(DESTDIR)\${nodejsdir} | ||||||
|  |  | ||||||
|  | uninstall-local: | ||||||
|  | 	-chmod -R u+w \$(DESTDIR)\${nodejsdir} | ||||||
|  | 	-rm -rf \$(DESTDIR)\${nodejsdir} | ||||||
|  |  | ||||||
|  | MAINTAINERCLEANFILES = makefile.in | ||||||
|  | EOF | ||||||
|  | to --condition AX_USE_NODEJS nodejs/${PACKAGE_NAME}.js <<EOF | ||||||
|  | ${CHEADER}try { | ||||||
|  |  | ||||||
|  |   process.on('uncaughtException', function(e) { | ||||||
|  |     console.log("**** UNCAUGHT EXCEPTION ****"); | ||||||
|  |     console.log(e); | ||||||
|  |     console.log(e.stack); | ||||||
|  |     process.exit(1); | ||||||
|  |   }); | ||||||
|  |    | ||||||
|  |   /** | ||||||
|  |    * Module dependencies. | ||||||
|  |    */ | ||||||
|  |  | ||||||
|  |   var express = require('express') | ||||||
|  |     , routes = require(__dirname+'/routes'); | ||||||
|  |  | ||||||
|  |   var app = module.exports = express.createServer(); | ||||||
|  |   var io  = require('socket.io').listen(app); | ||||||
|  |   var package = require(__dirname+'/package.json'); | ||||||
|  |   var config = require(package.path.config); | ||||||
|  |   var authentication = require(__dirname+'/authentication')(config.restrict); | ||||||
|  |   var sockets = require(__dirname+'/sockets')(io, authentication); | ||||||
|  |  | ||||||
|  |   // Configuration | ||||||
|  |   process.argv.forEach(function(val, index) { | ||||||
|  |     if (index<2) {return} | ||||||
|  |     if (index!=2 || isNaN(val)) { | ||||||
|  |       console.log("**** ERROR: Unexpected Argument - allowed is only a port number"); | ||||||
|  |       process.exit(1); | ||||||
|  |     } | ||||||
|  |     config.port = parseInt(val); | ||||||
|  |   }); | ||||||
|  |   if (typeof config.port != 'number') { | ||||||
|  |     console.log("**** WARNING: no valid port given, defaults to 8888"); | ||||||
|  |     config.port = 8888; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   app.configure(function(){ | ||||||
|  |     app.set('views', __dirname + '/views'); | ||||||
|  |     app.set('view engine', 'ejs'); | ||||||
|  |     app.use(express.bodyParser()); | ||||||
|  |     app.use(express.methodOverride()); | ||||||
|  |     app.use(require('stylus').middleware({ src: __dirname + '/public' })); | ||||||
|  |     app.use(app.router); | ||||||
|  |     app.use(express.static(__dirname + '/public')); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   app.configure('development', function(){ | ||||||
|  |     app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   app.configure('production', function(){ | ||||||
|  |     app.use(express.errorHandler()); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   // Routes | ||||||
|  |   app.get('/', routes.index); | ||||||
|  |  | ||||||
|  |   app.listen(config.port, function() { | ||||||
|  |     console.log("Express server listening on port %d in %s mode", | ||||||
|  |                 app.address().port, app.settings.env); | ||||||
|  |   }); | ||||||
|  | } catch (e) { | ||||||
|  |   console.log("**** EXCEPTION ****"); | ||||||
|  |   console.log(e); | ||||||
|  |   console.log(e.stack); | ||||||
|  |   process.exit(1); | ||||||
|  | } | ||||||
|  | EOF | ||||||
|  | to --condition AX_USE_NODEJS nodejs/package.json.in <<EOF | ||||||
|  | { | ||||||
|  |   "name": "@PACKAGE_NAME@", | ||||||
|  |   "version": "@PACKAGE_VERSION@", | ||||||
|  |   "private": true, | ||||||
|  |   "dependencies": { | ||||||
|  |     "express": "~2.5.8", | ||||||
|  |     "stylus": "~0.53.0", | ||||||
|  |     "ejs": ">= 0.0.1", | ||||||
|  |     "socket.io": "~1.4.4", | ||||||
|  |     "socketio-auth": "0.0.5", | ||||||
|  |     "ldapauth": "git+https://github.com/DimensionSoftware/node-ldapauth.git" | ||||||
|  |   }, | ||||||
|  |   "description": "@DESCRIPTION@", | ||||||
|  |   "main": "@PACKAGE_NAME@.js", | ||||||
|  |   "devDependencies": {}, | ||||||
|  |   "scripts": { | ||||||
|  |     "test": "echo \"Error: no test specified\" && exit 1" | ||||||
|  |   }, | ||||||
|  |   "author": "@AUTHOR@", | ||||||
|  |   "license": "@LICENSE@", | ||||||
|  |   "path": { | ||||||
|  |       "prefix": "@PREFIX@", | ||||||
|  |       "sysconf": "@SYSCONFDIR@", | ||||||
|  |       "pkgdata": "@PKGDATADIR@", | ||||||
|  |       "localstate": "@LOCALSTATEDIR@", | ||||||
|  |       "log": "@LOCALSTATEDIR@/log/@PACKAGE_NAME@.log", | ||||||
|  |       "config":  "@SYSCONFDIR@/@PACKAGE_NAME@.json", | ||||||
|  |       "nodejs": "@PKGDATADIR@/nodejs" | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | EOF | ||||||
|  | to --condition AX_USE_NODEJS nodejs/etc/${PACKAGE_NAME}.json <<EOF | ||||||
|  | { | ||||||
|  |   "port": 8888, | ||||||
|  |   "restrict": { | ||||||
|  |     "passwords": { | ||||||
|  |       "foo": ["sha256", "fcde2b2edxx56bf408601fb721fe9b5c338d10ee429ea04fae5511b68fbf8fb9"] | ||||||
|  |     }, | ||||||
|  |     "ldap": { | ||||||
|  |       "url": "ldap://dev.marc.waeckerlin.org", | ||||||
|  |       "adminDn": "cn=tmp,ou=system,ou=people,dc=dev,dc=marc,dc=waeckerlin,dc=org", | ||||||
|  |       "adminPassword": "secret", | ||||||
|  |       "searchBase": "ou=person,ou=people,dc=dev,dc=marc,dc=waeckerlin,dc=org", | ||||||
|  |       "searchFilter": "(uid={{username}})" | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | EOF | ||||||
|  | to --condition AX_USE_NODEJS nodejs/etc/default/${PACKAGE_NAME} <<EOF | ||||||
|  | #EXEC_${PACKAGE_NAME^^}="/usr/bin/nodejs /usr/share/${PACKAGE_NAME}/nodejs/${PACKAGE_NAME}" | ||||||
|  | #${PACKAGE_NAME^^}_LOG="/var/log/${PACKAGE_NAME^^}.log" | ||||||
|  | #${PACKAGE_NAME^^}="${PACKAGE_NAME}" | ||||||
|  | #${PACKAGE_NAME^^}_PORT="8888" | ||||||
|  | EOF | ||||||
|  | to --condition AX_USE_NODEJS nodejs/etc/init/${PACKAGE_NAME}.conf <<EOF | ||||||
|  | #!upstart | ||||||
|  | description "$(head -1 README)" | ||||||
|  | author      "$(head -1 AUTHORS)" | ||||||
|  |  | ||||||
|  | start on (local-filesystems and net-device-up) | ||||||
|  | stop on runlevel [!2345] | ||||||
|  |  | ||||||
|  | respawn | ||||||
|  |  | ||||||
|  | script | ||||||
|  |     echo \$\$ > /var/run/${PACKAGE_NAME}.pid | ||||||
|  |     # there are some useful defaults | ||||||
|  |     # do not edit this file, overwrite values in /etc/default/${PACKAGE_NAME} | ||||||
|  |     EXEC_${PACKAGE_NAME^^}="/usr/bin/nodejs /usr/share/${PACKAGE_NAME}/nodejs/${PACKAGE_NAME}" | ||||||
|  |     ${PACKAGE_NAME^^}_LOG="/var/log/${PACKAGE_NAME}.log" | ||||||
|  |     ${PACKAGE_NAME^^}_USER="${PACKAGE_NAME}" | ||||||
|  |     ${PACKAGE_NAME^^}_PORT="" | ||||||
|  |     [ -r /etc/default/${PACKAGE_NAME} ] && . /etc/default/${PACKAGE_NAME} | ||||||
|  |     if test -n "\${${PACKAGE_NAME^^}_USER}"; then | ||||||
|  |         exec sudo -u "\${${PACKAGE_NAME^^}_USER}" \${EXEC_${PACKAGE_NAME^^}} \${${PACKAGE_NAME^^}_PORT} >> \${${PACKAGE_NAME^^}_LOG} 2>&1 | ||||||
|  |     else | ||||||
|  |         exec \${EXEC_${PACKAGE_NAME^^}} \${${PACKAGE_NAME^^}_PORT} >> \${${PACKAGE_NAME^^}_LOG} 2>&1 | ||||||
|  |     fi | ||||||
|  | end script | ||||||
|  |  | ||||||
|  | pre-start script | ||||||
|  |     ${PACKAGE_NAME^^}_LOG="/var/log/${PACKAGE_NAME}.log" | ||||||
|  |     [ -r /etc/default/${PACKAGE_NAME} ] && . /etc/default/${PACKAGE_NAME} | ||||||
|  |     # Date format same as (new Date()).toISOString() for consistency | ||||||
|  |     echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Starting" >> \${${PACKAGE_NAME^^}_LOG} | ||||||
|  | end script | ||||||
|  |  | ||||||
|  | pre-stop script | ||||||
|  |     ${PACKAGE_NAME^^}_LOG="/var/log/${PACKAGE_NAME}.log" | ||||||
|  |     [ -r /etc/default/${PACKAGE_NAME} ] && . /etc/default/${PACKAGE_NAME} | ||||||
|  |     rm /var/run/${PACKAGE_NAME}.pid | ||||||
|  |     echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Stopping" >> \${${PACKAGE_NAME^^}_LOG} | ||||||
|  | end script | ||||||
|  | EOF | ||||||
|  | to --condition AX_USE_NODEJS nodejs/etc/systemd/system/${PACKAGE_NAME}.service <<EOF | ||||||
|  | [Unit] | ||||||
|  | Description=$(head -1 README) | ||||||
|  |  | ||||||
|  | [Service] | ||||||
|  | ExecStart=/usr/bin/nodejs /usr/share/${PACKAGE_NAME}/nodejs/${PACKAGE_NAME} > /var/log/${PACKAGE_NAME}.log | ||||||
|  | Restart=on-abort | ||||||
|  |  | ||||||
|  | [Install] | ||||||
|  | WantedBy=multi-user.target | ||||||
|  | EOF | ||||||
|  | to --condition AX_USE_NODEJS nodejs/public/javascripts/${PACKAGE_NAME}.js <<EOF | ||||||
|  | ${CHEADER}var socket = null; | ||||||
|  | function init() { | ||||||
|  |   socket = io.connect(); | ||||||
|  |   /* | ||||||
|  |   socket | ||||||
|  |     .io | ||||||
|  |     .on("connect", connect) | ||||||
|  |     .on("reconnect", connect) | ||||||
|  |     .on("disconnect", disconnected) | ||||||
|  |     .on("error", disconnected); | ||||||
|  |   socket | ||||||
|  |     .on("authenticated", authenticated) | ||||||
|  |     .on("unauthorized", unauthorized) | ||||||
|  |     .on("fail", error); | ||||||
|  |   */ | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /// On Load, Call @ref start | ||||||
|  | /* | ||||||
|  |    \$(window.onbeforeunload = function() { | ||||||
|  |    return "Are you sure you want to navigate away?"; | ||||||
|  |    }); | ||||||
|  |  */ | ||||||
|  | \$(init); | ||||||
|  | EOF | ||||||
|  | to --condition AX_USE_NODEJS nodejs/public/stylesheets/style.styl <<EOF | ||||||
|  | body | ||||||
|  |   padding: 50px | ||||||
|  |   font: 14px "Lucida Grande", Helvetica, Arial, sans-serif | ||||||
|  | a | ||||||
|  |   color: #00B7FF | ||||||
|  | EOF | ||||||
|  | to --condition AX_USE_NODEJS nodejs/routes/index.js <<EOF | ||||||
|  | ${CHEADER}var package = require(__dirname+"/../package.json"); | ||||||
|  |  | ||||||
|  | exports.index = function(req, res) { | ||||||
|  |   res.render('index', { | ||||||
|  |     packagename: package.name, | ||||||
|  |     packageversion: package.version | ||||||
|  |   }); | ||||||
|  | }; | ||||||
|  | EOF | ||||||
|  | to --condition AX_USE_NODEJS nodejs/sockets/index.js <<EOF | ||||||
|  | module.exports = function(io, authentication) { | ||||||
|  |  | ||||||
|  |   var module={}; | ||||||
|  |    | ||||||
|  |   function broadcast(signal, data) { | ||||||
|  |     console.log("<= signal: "+signal); | ||||||
|  |     io.sockets.emit(signal, data); | ||||||
|  |   } | ||||||
|  |    | ||||||
|  |   function fail(txt, data) { | ||||||
|  |     console.log("** "+txt, data); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   function connection(socket, userdata) { | ||||||
|  |      | ||||||
|  |     console.log("=> new connection from "+userdata.username); | ||||||
|  |  | ||||||
|  |     function emit(signal, data, info) { | ||||||
|  |       if (typeof data == 'string' && !data.match("\n")) { | ||||||
|  |         console.log("<- signal: "+signal+"("+data+")"); | ||||||
|  |       } else { | ||||||
|  |         console.log("<- signal: "+signal); | ||||||
|  |       } | ||||||
|  |       if (info) console.log(info); | ||||||
|  |       socket.emit(signal, data); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     function fail(txt, data) { | ||||||
|  |       console.log("** "+txt, data); | ||||||
|  |       emit("fail", txt); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /* | ||||||
|  |     socket | ||||||
|  |       .on("xxx", xxx) | ||||||
|  |       .on("yyy", yyy; | ||||||
|  |     */ | ||||||
|  |  | ||||||
|  |   } | ||||||
|  |    | ||||||
|  |   // Handle Connection | ||||||
|  |   require('socketio-auth')(io, { | ||||||
|  |     authenticate: function (socket, data, callback) { | ||||||
|  |       console.log("=> authenticate: ", data.username); | ||||||
|  |       //get credentials sent by the client | ||||||
|  |       var username = data.username; | ||||||
|  |       var password = data.password; | ||||||
|  |       authentication(data.username, data.password, | ||||||
|  |                      function() { | ||||||
|  |                        console.log("####LOGIN-SUCESS####"); | ||||||
|  |                        callback(null, true) | ||||||
|  |                      }, | ||||||
|  |                      function() { | ||||||
|  |                        console.log("####LOGIN-FAIL####"); | ||||||
|  |                        callback(new Error("wrong credentials")) | ||||||
|  |                      }); | ||||||
|  |     }, | ||||||
|  |     postAuthenticate: connection, | ||||||
|  |     timeout: "none" | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   return module; | ||||||
|  | } | ||||||
|  | EOF | ||||||
|  | to --condition AX_USE_NODEJS nodejs/views/index.ejs <<EOF | ||||||
|  | <!DOCTYPE html> | ||||||
|  | <html> | ||||||
|  |   <head> | ||||||
|  |     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> | ||||||
|  |     <meta name="viewport" content="width=device-width initial-scale=1" /> | ||||||
|  |     <link href="stylesheets/style.css" rel="stylesheet" type="text/css" /> | ||||||
|  |     <script type="text/javascript" src="/socket.io/socket.io.js"></script> | ||||||
|  |     <script type="text/javascript" src="javascripts/${PACKAGE_NAME}.js"></script> | ||||||
|  |     <title>$(head -1 README)</title> | ||||||
|  |   </head> | ||||||
|  |  | ||||||
|  |   <body> | ||||||
|  |     <h1>$(head -1 README)</h1> | ||||||
|  |     <p>generated by bootstrap, please edit</p> | ||||||
|  |   </body> | ||||||
|  | </html> | ||||||
|  |  | ||||||
|  | EOF | ||||||
|  | to --condition AX_USE_NODEJS nodejs/views/layout.ejs <<EOF | ||||||
|  | <%- body %> | ||||||
|  | EOF | ||||||
|  | echo "${HEADER}MAINTAINERCLEANFILES = makefile.in" | to --condition 'AX_USE_DOXYGEN|AX_USE_PERLDOC' doc/makefile.am | ||||||
| if testtag AX_BUILD_TEST; then | if testtag AX_BUILD_TEST; then | ||||||
|     to test/runtests.sh < ${0%/*}/test/runtests.sh |     to test/runtests.sh < ${0%/*}/test/runtests.sh | ||||||
| fi | fi | ||||||
| @@ -964,7 +1335,32 @@ to --condition AX_USE_DOXYGEN doc/style.css <<EOF | |||||||
|   padding: 1ex; |   padding: 1ex; | ||||||
|   margin: 0; |   margin: 0; | ||||||
| } | } | ||||||
|  | img, object { | ||||||
|  |   max-width: 100% !important; | ||||||
|  | } | ||||||
|  | @media (max-width: 50em) { | ||||||
|  |   #navrow1, #navrow2 { | ||||||
|  |     display: block | ||||||
|  |   } | ||||||
|  |   #side-nav, #splitbar, .ui-resizable-handle ui-resizable-e, .ui-resizable-handle ui-resizable-s { | ||||||
|  |     display: none; | ||||||
|  |   } | ||||||
|  |   #doc-content { | ||||||
|  |     margin-left: 0 !important; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | @media (min-width: 50em) { | ||||||
|  |   #navrow1, #navrow2 { | ||||||
|  |     display: none; | ||||||
|  |   } | ||||||
|  |   #side-nav, #splitbar, .ui-resizable-handle ui-resizable-e, .ui-resizable-handle ui-resizable-s { | ||||||
|  |     display: block | ||||||
|  |   } | ||||||
|  | } | ||||||
| EOF | EOF | ||||||
|  | if testtag AX_USE_DOXYGEN; then | ||||||
|  |     copy doc/plantuml.jar | ||||||
|  | fi | ||||||
| if testtag AX_USE_DOXYGEN; then | if testtag AX_USE_DOXYGEN; then | ||||||
|     if ! checkfile doc/doxyfile.in || \ |     if ! checkfile doc/doxyfile.in || \ | ||||||
|         contains doc/doxyfile.in "${rebuildfiles[@]}"; then |         contains doc/doxyfile.in "${rebuildfiles[@]}"; then | ||||||
| @@ -994,6 +1390,7 @@ if testtag AX_USE_DOXYGEN; then | |||||||
|         doxyadd ALIASES '"description=@DESCRIPTION@"' |         doxyadd ALIASES '"description=@DESCRIPTION@"' | ||||||
|         doxyadd ALIASES '"readme=@README_HTML@"' |         doxyadd ALIASES '"readme=@README_HTML@"' | ||||||
|         doxyadd ALIASES '"author=<a href="@AUTHOR_URL@" target="_blank">@AUTHOR_NAME@</a>"' |         doxyadd ALIASES '"author=<a href="@AUTHOR_URL@" target="_blank">@AUTHOR_NAME@</a>"' | ||||||
|  |         doxyreplace PLANTUML_JAR_PATH '"@top_srcdir@/doc/plantuml.jar"' | ||||||
|         doxyreplace ENABLE_PREPROCESSING YES |         doxyreplace ENABLE_PREPROCESSING YES | ||||||
|         doxyreplace MACRO_EXPANSION YES |         doxyreplace MACRO_EXPANSION YES | ||||||
|         doxyadd PREDEFINED '"NAMESPACE=@PACKAGE_NAME@"' |         doxyadd PREDEFINED '"NAMESPACE=@PACKAGE_NAME@"' | ||||||
| @@ -1020,6 +1417,11 @@ if testtag AX_USE_DOXYGEN; then | |||||||
|         if testtag AX_BUILD_TEST AX_USE_CPPUNIT; then |         if testtag AX_BUILD_TEST AX_USE_CPPUNIT; then | ||||||
|             doxyadd INPUT "@top_srcdir@/test" |             doxyadd INPUT "@top_srcdir@/test" | ||||||
|         fi |         fi | ||||||
|  |         if testtag AX_USE_NODEJS; then | ||||||
|  |             doxyadd INPUT "@top_srcdir@/nodejs" | ||||||
|  |             doxyadd EXCLUDE "@top_srcdir@/nodejs/node_modules" | ||||||
|  | 	    doxyadd EXCLUDE "@top_srcdir@/nodejs/public/javascripts/ext" | ||||||
|  |         fi | ||||||
|         doxyreplace FILE_PATTERNS '*.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.idl *.ddl *.odl *.h *.hh *.hxx *.hpp *.h++ *.cs *.d *.php *.php4 *.php5 *.phtml *.inc *.m *.markdown *.md *.mm *.dox *.py *.f90 *.f *.for *.tcl *.vhd *.vhdl *.ucf *.qsf *.as *.js *.wt *.sql' |         doxyreplace FILE_PATTERNS '*.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.idl *.ddl *.odl *.h *.hh *.hxx *.hpp *.h++ *.cs *.d *.php *.php4 *.php5 *.phtml *.inc *.m *.markdown *.md *.mm *.dox *.py *.f90 *.f *.for *.tcl *.vhd *.vhdl *.ucf *.qsf *.as *.js *.wt *.sql' | ||||||
|         doxyreplace RECURSIVE YES |         doxyreplace RECURSIVE YES | ||||||
|         doxyreplace EXCLUDE_PATTERNS "moc_* uic_* qrc_* version.[ch]xx" |         doxyreplace EXCLUDE_PATTERNS "moc_* uic_* qrc_* version.[ch]xx" | ||||||
| @@ -1027,7 +1429,7 @@ if testtag AX_USE_DOXYGEN; then | |||||||
|         doxyreplace HTML_FOOTER footer.html |         doxyreplace HTML_FOOTER footer.html | ||||||
|         doxyreplace HTML_EXTRA_STYLESHEET style.css |         doxyreplace HTML_EXTRA_STYLESHEET style.css | ||||||
|         doxyreplace HTML_DYNAMIC_SECTIONS YES |         doxyreplace HTML_DYNAMIC_SECTIONS YES | ||||||
|         doxyreplace DISABLE_INDEX YES |         doxyreplace DISABLE_INDEX NO | ||||||
|         doxyreplace GENERATE_TREEVIEW YES  |         doxyreplace GENERATE_TREEVIEW YES  | ||||||
|         if testtag AX_BUILD_EXAMPLES; then |         if testtag AX_BUILD_EXAMPLES; then | ||||||
|             doxyreplace EXAMPLE_PATH @top_srcdir@/examples |             doxyreplace EXAMPLE_PATH @top_srcdir@/examples | ||||||
| @@ -1059,15 +1461,15 @@ if testtag AX_USE_DEBIAN_PACKAGING; then | |||||||
|     to debian/changelog.in <<EOF |     to debian/changelog.in <<EOF | ||||||
| @PACKAGE@ (@PACKAGE_VERSION@~@DISTRO@.@BUILD_NUMBER@) @DISTRO@; urgency=low | @PACKAGE@ (@PACKAGE_VERSION@~@DISTRO@.@BUILD_NUMBER@) @DISTRO@; urgency=low | ||||||
|  |  | ||||||
|   * Please see ChangeLog of @PACKAGE@ | @DEB_CHANGELOG@ | ||||||
|  |  | ||||||
|  -- @AUTHOR@  @BUILD_DATE@ |  -- @PACKAGER@  @BUILD_DATE@ | ||||||
| EOF | EOF | ||||||
|     BUILD_DEPENDS="debhelper, ${VCSDEPENDS} pkg-config, automake, libtool, autotools-dev, pandoc, lsb-release $(if testtag AX_USE_DOXYGEN; then echo -n ", doxygen, graphviz, mscgen"; fi; if testtag AX_USE_CPPUNIT; then echo -n ", libcppunit-dev"; fi; if testtag AX_CXX_QT || testtag AX_CHECK_QT AX_REQUIRE_QT; then echo -n ", qt5-default | libqt4-core | libqtcore4, qt5-qmake | qt4-qmake, qtbase5-dev | libqt4-dev, qtbase5-dev-tools | qt4-dev-tools, qttools5-dev-tools | qt4-dev-tools, qttools5-dev-tools | qt4-dev-tools"; fi)" |     BUILD_DEPENDS="debhelper, fakeroot, ${VCSDEPENDS_DEB} pkg-config, automake, libtool, autotools-dev, pandoc, lsb-release $(if testtag AX_USE_DOXYGEN; then echo -n ", doxygen, graphviz, mscgen, default-jre-headless|default-jre"; fi; if testtag AX_USE_PERLDOC; then echo -n ", libpod-tree-perl"; fi; if testtag AX_USE_CPPUNIT; then echo -n ", libcppunit-dev"; fi; if testtag AX_CXX_QT || testtag AX_CHECK_QT AX_REQUIRE_QT; then echo -n ", qt5-default | libqt4-core | libqtcore4, qt5-qmake | qt4-qmake, qtbase5-dev | libqt4-dev, qtbase5-dev-tools | qt4-dev-tools, qttools5-dev-tools | qt4-dev-tools, qttools5-dev-tools | qt4-dev-tools"; fi)" | ||||||
|     to debian/control.in <<EOF |     to debian/control.in <<EOF | ||||||
| Source: @PACKAGE_NAME@ | Source: @PACKAGE_NAME@ | ||||||
| Priority: extra | Priority: extra | ||||||
| Maintainer: @AUTHOR@ | Maintainer: @PACKAGER@ | ||||||
| Build-Depends: ${BUILD_DEPENDS} | Build-Depends: ${BUILD_DEPENDS} | ||||||
|  |  | ||||||
| Package: @PACKAGE_NAME@ | Package: @PACKAGE_NAME@ | ||||||
| @@ -1134,18 +1536,45 @@ else | |||||||
| fi) | fi) | ||||||
| Source0: %{name}-%{version}.tar.gz | Source0: %{name}-%{version}.tar.gz | ||||||
| BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root | BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root | ||||||
| BuildRequires: gnupg, ${VCSDEPENDS} make, automake, autoconf, rpm-build$( | BuildRequires: gnupg, ${VCSDEPENDS_RPM} make, automake, autoconf, rpm-build$( | ||||||
|  |     if testtag AX_USE_CXX; then | ||||||
|  |       echo -n ", binutils-devel, gcc-c++" | ||||||
|  |     fi | ||||||
|  |     if testtag AX_USE_LIBTOOL; then | ||||||
|  |       echo -n ", libtool"; | ||||||
|  |     fi | ||||||
|     if testtag AX_USE_DOXYGEN; then |     if testtag AX_USE_DOXYGEN; then | ||||||
|       echo -n ", doxygen"; |       echo -n ", doxygen, java-openjdk"; | ||||||
|     fi) |     fi | ||||||
|  |     if testtag AX_USE_PERLDOC; then | ||||||
|  |       echo -n ", libpod-tree-perl"; | ||||||
|  |     fi | ||||||
|  | ) | ||||||
| %if 0%{?fedora} != 20 | %if 0%{?fedora} != 20 | ||||||
| $(if testtag AX_USE_DOXYGEN; then echo -n "BuildRequires: graphviz"; fi) | $(if testtag AX_USE_DOXYGEN; then echo -n "BuildRequires: graphviz"; fi) | ||||||
| %endif | %endif | ||||||
| %if 0%{?fedora} || 0%{?rhel} || 0%{?rhl} || 0%{?centos} || 0%{?centos_ver} || 0%{?centos_version} | %if 0%{?fedora} || 0%{?rhel} || 0%{?rhl} || 0%{?centos} || 0%{?centos_ver} || 0%{?centos_version} || 0%{?mageia} | ||||||
| BuildRequires: pkgconfig, redhat-lsb$( | BuildRequires: which, pkgconfig$( | ||||||
|     if testtag AX_USE_CPPUNIT; then |     if testtag AX_USE_LIBTOOL; then | ||||||
|       echo -n ", cppunit-devel"; |       echo -n ", cppunit-devel" | ||||||
|     fi) |     fi | ||||||
|  | ) | ||||||
|  | %if 0%{?rhel} > 6 || 0%{?rhl} > 6 || 0%{?centos} > 6 || 0%{?fedora} || 0%{?mageia} | ||||||
|  | BuildRequires: rpm-sign | ||||||
|  | %endif | ||||||
|  | %if 0%{?mageia} | ||||||
|  | BuildRequires: gnupg, lsb-release$( | ||||||
|  |     if testtag AX_USE_LIBTOOL; then | ||||||
|  |       echo -n ", libltdl-devel" | ||||||
|  |     fi | ||||||
|  | ) | ||||||
|  | %else | ||||||
|  | BuildRequires: gpg, redhat-lsb$( | ||||||
|  |     if testtag AX_USE_LIBTOOL; then | ||||||
|  |       echo -n ", libtool-ltdl-devel" | ||||||
|  |     fi | ||||||
|  | ) | ||||||
|  | %endif | ||||||
| %if ! ( 0%{?centos} || 0%{?centos_ver} || 0%{?centos_version} ) | %if ! ( 0%{?centos} || 0%{?centos_ver} || 0%{?centos_version} ) | ||||||
| $(if testtag AX_USE_DOXYGEN; then echo -n "BuildRequires: mscgen"; fi) | $(if testtag AX_USE_DOXYGEN; then echo -n "BuildRequires: mscgen"; fi) | ||||||
| $(if testtag AX_REQUIRE_QT || testtag AX_CHECK_QT AX_REQUIRE_QT; then echo -n "BuildRequires: qt5-qtbase-devel, qt5-qttools, qt5-qtwebkit-devel"; fi) | $(if testtag AX_REQUIRE_QT || testtag AX_CHECK_QT AX_REQUIRE_QT; then echo -n "BuildRequires: qt5-qtbase-devel, qt5-qttools, qt5-qtwebkit-devel"; fi) | ||||||
| @@ -1171,7 +1600,9 @@ echo | |||||||
| echo This package contains only the shared libraries required at runtime. | echo This package contains only the shared libraries required at runtime. | ||||||
| fi) | fi) | ||||||
|  |  | ||||||
|  | $(if ! testtag 'AX_USE_LIBTOOL|AX_USE_CXX'; then | ||||||
|  |   echo '%global debug_package %{nil}' | ||||||
|  | fi) | ||||||
| %prep | %prep | ||||||
| %setup -q | %setup -q | ||||||
| ./configure --prefix=/usr \\ | ./configure --prefix=/usr \\ | ||||||
| @@ -1196,6 +1627,7 @@ else | |||||||
| echo '/usr/bin/*' | echo '/usr/bin/*' | ||||||
| echo '/usr/share/applications/*' | echo '/usr/share/applications/*' | ||||||
| fi) | fi) | ||||||
|  | /usr/share/@PACKAGE_NAME@ | ||||||
| %doc | %doc | ||||||
| $(if testtag AX_USE_LIBTOOL; then | $(if testtag AX_USE_LIBTOOL; then | ||||||
|   cat <<EOF2 |   cat <<EOF2 | ||||||
| @@ -1207,7 +1639,7 @@ $(if testtag AX_USE_LIBTOOL; then | |||||||
| /usr/share/doc/packages/@PACKAGE_NAME@/README | /usr/share/doc/packages/@PACKAGE_NAME@/README | ||||||
| EOF2 | EOF2 | ||||||
| else | else | ||||||
|   echo '/usr/share/*' |   echo '/usr/share/doc/packages/@PACKAGE_NAME@' | ||||||
| fi) | fi) | ||||||
|  |  | ||||||
| $(if testtag AX_USE_LIBTOOL; then | $(if testtag AX_USE_LIBTOOL; then | ||||||
| @@ -1248,7 +1680,7 @@ fi | |||||||
| if testtag AX_USE_SCRIPTS; then | if testtag AX_USE_SCRIPTS; then | ||||||
|     SUBDIRS="${SUBDIRS} scripts" |     SUBDIRS="${SUBDIRS} scripts" | ||||||
| fi | fi | ||||||
| if testtag AX_USE_DOXYGEN; then | if testtag 'AX_USE_DOXYGEN|AX_USE_PERLDOC'; then | ||||||
|     SUBDIRS="${SUBDIRS} doc" |     SUBDIRS="${SUBDIRS} doc" | ||||||
| fi | fi | ||||||
| if testtag AX_BUILD_EXAMPLES; then | if testtag AX_BUILD_EXAMPLES; then | ||||||
| @@ -1264,7 +1696,7 @@ for d in src test scripts doc examples html; do | |||||||
| done | done | ||||||
| to --mode "u=rwx,g=rwx,o=rx" autogen.sh <<EOF | to --mode "u=rwx,g=rwx,o=rx" autogen.sh <<EOF | ||||||
| #!/bin/bash -e | #!/bin/bash -e | ||||||
| if test -n "$VCS" -a -d .$VCS -a -e -x $(which ${VCS}2cl); then | if test -n "$VCS" -a -d ".$VCS" -a -e -x "\$(which ${VCS}2cl)"; then | ||||||
| $(case "$VCS" in | $(case "$VCS" in | ||||||
|   (svn) echo "    ${VCS}2cl";; |   (svn) echo "    ${VCS}2cl";; | ||||||
|   (git) echo "    ${VCS}2cl > ChangeLog";; |   (git) echo "    ${VCS}2cl > ChangeLog";; | ||||||
| @@ -1306,10 +1738,15 @@ Cflags: -I\${includedir} @CPPFLAGS@ | |||||||
| Requires: @PKG_REQUIREMENTS@ | Requires: @PKG_REQUIREMENTS@ | ||||||
| EOF | EOF | ||||||
| to build-in-docker.conf <<EOF | to build-in-docker.conf <<EOF | ||||||
| repos+=("Debian|Ubuntu-precise::::::universe") | ${HEADER}# Use Ubuntu Universe Repository | ||||||
| repos+=("Ubuntu-precise:::'deb http://archive.ubuntu.com/ubuntu precise universe'") | repos+=("Ubuntu:::universe") | ||||||
| envs+=("-e 'HOME=\${HOME}'") |  | ||||||
| dirs+=("-v \${HOME}/.gnupg:\${HOME}/.gnupg:ro") | # Use Marc Wäckerlin's Repository, see https://dev.marc.waeckerlin.org | ||||||
|  | repos+=("Debian|Ubuntu:::https://dev.marc.waeckerlin.org/repository") | ||||||
|  | repos+=("openSUSE:::https://dev.marc.waeckerlin.org/repository/opensuse/marc-waeckerlin.repo") | ||||||
|  | repos+=("Fedora:::https://dev.marc.waeckerlin.org/repository/fedora/marc-waeckerlin.repo") | ||||||
|  | repos+=("CentOS:::https://dev.marc.waeckerlin.org/repository/centos/marc-waeckerlin.repo") | ||||||
|  | keys+=("https://dev.marc.waeckerlin.org/repository/PublicKey") | ||||||
| EOF | EOF | ||||||
|  |  | ||||||
| #### Cleanup If Makefile Exists #### | #### Cleanup If Makefile Exists #### | ||||||
|   | |||||||
| @@ -1,6 +1,19 @@ | |||||||
| repos+=("Debian|Ubuntu-precise::::::universe") | ## @id $Id$ | ||||||
| repos+=("Ubuntu-precise:::'deb http://archive.ubuntu.com/ubuntu precise universe'") | ## | ||||||
| repos+=("https://dev.marc.waeckerlin.org/repository") | ## This file has been added: | ||||||
|  | ##  - by bootstrap.sh | ||||||
|  | ##  -  on Sat, 07 January 2017 14:59:08 +0100 | ||||||
|  | ## Feel free to change it or even remove and rebuild it, up to your needs | ||||||
|  | ## | ||||||
|  | ##       1         2         3         4         5         6         7         8 | ||||||
|  | ## 45678901234567890123456789012345678901234567890123456789012345678901234567890 | ||||||
|  |  | ||||||
|  | # Use Ubuntu Universe Repository | ||||||
|  | repos+=("Ubuntu:::universe") | ||||||
|  |  | ||||||
|  | # Use Marc Wäckerlin's Repository, see https://dev.marc.waeckerlin.org | ||||||
|  | repos+=("Debian|Ubuntu:::https://dev.marc.waeckerlin.org/repository") | ||||||
|  | repos+=("openSUSE:::https://dev.marc.waeckerlin.org/repository/opensuse/marc-waeckerlin.repo") | ||||||
|  | repos+=("Fedora:::https://dev.marc.waeckerlin.org/repository/fedora/marc-waeckerlin.repo") | ||||||
|  | repos+=("CentOS:::https://dev.marc.waeckerlin.org/repository/centos/marc-waeckerlin.repo") | ||||||
| keys+=("https://dev.marc.waeckerlin.org/repository/PublicKey") | keys+=("https://dev.marc.waeckerlin.org/repository/PublicKey") | ||||||
| envs+=("-e 'HOME=${HOME}'") |  | ||||||
| dirs+=("-v ${HOME}/.gnupg:${HOME}/.gnupg:ro") |  | ||||||
|   | |||||||
| @@ -2,21 +2,29 @@ | |||||||
| set -o errtrace | set -o errtrace | ||||||
|  |  | ||||||
| # build and test everything in a fresh docker installation | # build and test everything in a fresh docker installation | ||||||
| mode="apt" | myarch=$(dpkg --print-architecture) | ||||||
|  | if test "${arch}" = "amd64"; then | ||||||
|  |     myarch="amd64|i386" | ||||||
|  | fi | ||||||
|  | mode="deb" | ||||||
| img="ubuntu:latest" | img="ubuntu:latest" | ||||||
| repos=() | repos=() | ||||||
| keys=() | keys=() | ||||||
| envs=() | envs=("-e LANG=${LANG}" "-e HOME=${HOME}" "-e TERM=xterm" "-e DEBIAN_FRONTEND=noninteractive" "-e DEBCONF_NONINTERACTIVE_SEEN=true") | ||||||
| dirs=("-v $(pwd):/workdir") | dirs=("-v $(pwd):/workdir" "-v ${HOME}/.gnupg:${HOME}/.gnupg") | ||||||
| packages=() | packages=() | ||||||
| targets="all check distcheck" | targets="all check distcheck" | ||||||
| commands=() | commands=() | ||||||
|  | arch=$((which dpkg > /dev/null 2> /dev/null && dpkg --print-architecture) || echo amd64) | ||||||
|  | host= | ||||||
|  | flags=() | ||||||
| wait=0 | wait=0 | ||||||
| if test -e ./build-in-docker.conf; then | if test -e ./build-in-docker.conf; then | ||||||
|     # you can preconfigure the variables in file build-in-docker.conf |     # you can preconfigure the variables in file build-in-docker.conf | ||||||
|     # if you do so, add the file to EXTRA_DIST in makefile.am |     # if you do so, add the file to EXTRA_DIST in makefile.am | ||||||
|     source ./build-in-docker.conf |     source ./build-in-docker.conf | ||||||
| fi | fi | ||||||
|  |  | ||||||
| while test $# -gt 0; do | while test $# -gt 0; do | ||||||
|     case "$1" in |     case "$1" in | ||||||
|         (-h|--help) |         (-h|--help) | ||||||
| @@ -25,9 +33,12 @@ while test $# -gt 0; do | |||||||
|             echo "OPTIONS:" |             echo "OPTIONS:" | ||||||
|             echo |             echo | ||||||
|             echo "  -h, --help            show this help" |             echo "  -h, --help            show this help" | ||||||
|             echo "  -m, --mode <type>     mode: apt or yum, default: ${mode}" |             echo "  -m, --mode <type>     mode: deb, rpm, win, default: ${mode}" | ||||||
|             echo "  -i, --image <image>   use given docker image instead of ${img}" |             echo "  -i, --image <image>   use given docker image instead of ${img}" | ||||||
|  |             echo "  -a, --arch <arch>     build for given hardware architecture" | ||||||
|             echo "  -t, --targets targets specify build targets, default: ${targets}" |             echo "  -t, --targets targets specify build targets, default: ${targets}" | ||||||
|  |             echo "  --host <target-arch>  host for cross compiling, e.g. i686-w64-mingw32" | ||||||
|  |             echo "  -f, --flag <flag>     add flag to ./bootstrap.sh or ./configure" | ||||||
|             echo "  -r, --repo <url>      add given apt repository" |             echo "  -r, --repo <url>      add given apt repository" | ||||||
|             echo "  -k, --key <url>       add public key from url" |             echo "  -k, --key <url>       add public key from url" | ||||||
|             echo "  -e, --env <var>=<val> set environment variable in docker" |             echo "  -e, --env <var>=<val> set environment variable in docker" | ||||||
| @@ -37,6 +48,10 @@ while test $# -gt 0; do | |||||||
|             echo "  -w, --wait            on error keep docker container and wait for enter" |             echo "  -w, --wait            on error keep docker container and wait for enter" | ||||||
|             echo |             echo | ||||||
|             echo "  The option -i must be after -m, because mode sets a new default image" |             echo "  The option -i must be after -m, because mode sets a new default image" | ||||||
|  |             echo "  The option -m must be after -t, because mode may be auto detected from targets" | ||||||
|  |             echo "  The option -m must be after -h, because mode may set a host" | ||||||
|  |             echo "  If target is either deb or rpm, mode is set to the same value" | ||||||
|  |             echo "  If target is win, host is set to i686-w64-mingw32" | ||||||
|             echo |             echo | ||||||
|             echo "  The options -r -k -e -d -p -c can be repeated several times." |             echo "  The options -r -k -e -d -p -c can be repeated several times." | ||||||
|             echo |             echo | ||||||
| @@ -67,8 +82,11 @@ while test $# -gt 0; do | |||||||
|         (-m|--mode) shift; |         (-m|--mode) shift; | ||||||
|             mode="$1" |             mode="$1" | ||||||
|             case "$mode" in |             case "$mode" in | ||||||
|                 (apt) img="ubuntu:latest";; |                 (deb|apt) img="ubuntu:latest";; | ||||||
|  |                 (rpm|zypper) img="opensuse:latest";; | ||||||
|                 (yum) img="centos:latest";; |                 (yum) img="centos:latest";; | ||||||
|  |                 (dnf) img="fedora:latest";; | ||||||
|  |                 (win) img="ubuntu:latest"; host="${host:---host=i686-w64-mingw32}";; | ||||||
|                 (*) |                 (*) | ||||||
|                     echo "**** ERROR: unknown mode '$1', try --help" 1>&2 |                     echo "**** ERROR: unknown mode '$1', try --help" 1>&2 | ||||||
|                     exit 1 |                     exit 1 | ||||||
| @@ -78,10 +96,25 @@ while test $# -gt 0; do | |||||||
|         (-i|--image) shift; |         (-i|--image) shift; | ||||||
|             img="$1" |             img="$1" | ||||||
|             ;; |             ;; | ||||||
|  |         (-a|--arch) shift; | ||||||
|  |             arch="$1" | ||||||
|  |             ;; | ||||||
|         (-t|--targets) shift; |         (-t|--targets) shift; | ||||||
|             targets="$1" |             targets="$1" | ||||||
|  |             if test "$1" = "deb" -o "$1" = "rpm"; then | ||||||
|  |                 # set mode to same value | ||||||
|  |                 set -- "-m" "$@" | ||||||
|  |                 continue | ||||||
|  |             fi | ||||||
|  |             ;; | ||||||
|  |         (--host) shift; | ||||||
|  |             host="--host=$1" | ||||||
|  |             ;; | ||||||
|  |         (-f|--flag) shift; | ||||||
|  |             flags+=("$1") | ||||||
|             ;; |             ;; | ||||||
|         (-r|--repo) shift; |         (-r|--repo) shift; | ||||||
|  |             echo "OPTION: $1" | ||||||
|             repos+=("$1") |             repos+=("$1") | ||||||
|             ;; |             ;; | ||||||
|         (-k|--key) shift; |         (-k|--key) shift; | ||||||
| @@ -140,7 +173,8 @@ function traperror() { | |||||||
|                 read |                 read | ||||||
|             fi |             fi | ||||||
|             echo -n "   ... cleanup docker: " |             echo -n "   ... cleanup docker: " | ||||||
|             docker rm -f "${DOCKER_ID}" |             docker stop "${DOCKER_ID}" || true | ||||||
|  |             docker rm "${DOCKER_ID}" | ||||||
|             echo "returning status: $e" |             echo "returning status: $e" | ||||||
|             echo "--->" |             echo "--->" | ||||||
|             exit $e |             exit $e | ||||||
| @@ -167,14 +201,14 @@ function ifthenelse() { | |||||||
|         os="${arg%%:::*}" |         os="${arg%%:::*}" | ||||||
|         thenpart="${arg#*:::}" |         thenpart="${arg#*:::}" | ||||||
|         if test "${thenpart/:::/}" = "${thenpart}"; then |         if test "${thenpart/:::/}" = "${thenpart}"; then | ||||||
|             docker exec ${DOCKER_ID} bash -c 'os="'$os'"; if [[ "$(lsb_release -is)-$(lsb_release -cs)-$(dpkg --print-architecture)" =~ ${os} ]]; then '"${cmd//ARG/${thenpart}}"'; fi' |             docker exec ${DOCKER_ID} bash -c 'os="'$os'"; if [[ "$(lsb_release -is)-$(lsb_release -cs)-$((which dpkg > /dev/null 2> /dev/null && dpkg --print-architecture) || echo amd64)" =~ ${os} ]]; then '"${cmd//ARG/${thenpart}}"'; fi' | ||||||
|         else |         else | ||||||
|             elsepart="${thenpart##*:::}" |             elsepart="${thenpart##*:::}" | ||||||
|             thenpart="${thenpart%:::*}" |             thenpart="${thenpart%:::*}" | ||||||
|             if test -n "${thenpart}"; then |             if test -n "${thenpart}"; then | ||||||
|                 docker exec ${DOCKER_ID} bash -c 'os="'$os'"; if [[ "$(lsb_release -is)-$(lsb_release -cs)-$(dpkg --print-architecture)" =~ ${os} ]]; then '"${cmd//ARG/${thenpart}}"'; else '"${cmd//ARG/${elsepart}}"'; fi' |                 docker exec ${DOCKER_ID} bash -c 'os="'$os'"; if [[ "$(lsb_release -is)-$(lsb_release -cs)-$((which dpkg > /dev/null 2> /dev/null && dpkg --print-architecture) || echo amd64)" =~ ${os} ]]; then '"${cmd//ARG/${thenpart}}"'; else '"${cmd//ARG/${elsepart}}"'; fi' | ||||||
|             else |             else | ||||||
|                 docker exec ${DOCKER_ID} bash -c 'os="'$os'"; if [[ "$(lsb_release -is)-$(lsb_release -cs)-$(dpkg --print-architecture)" =~ ${os} ]]; then true; else '"${cmd//ARG/${elsepart}}"'; fi' |                 docker exec ${DOCKER_ID} bash -c 'os="'$os'"; if [[ "$(lsb_release -is)-$(lsb_release -cs)-$((which dpkg > /dev/null 2> /dev/null && dpkg --print-architecture) || echo amd64)" =~ ${os} ]]; then true; else '"${cmd//ARG/${elsepart}}"'; fi' | ||||||
|             fi     |             fi     | ||||||
|         fi |         fi | ||||||
|     fi |     fi | ||||||
| @@ -183,10 +217,25 @@ function ifthenelse() { | |||||||
| set -x | set -x | ||||||
|  |  | ||||||
| docker pull $img | docker pull $img | ||||||
| DOCKER_ID=$(docker run -d ${dirs[@]} ${envs[@]} -e HOME="${HOME}" -w /workdir $img sleep infinity) | DOCKER_ID=$(docker create ${dirs[@]} ${envs[@]} -w /workdir $img sleep infinity) | ||||||
| trap 'traperror '"${DOCKER_ID}"' "$? ${PIPESTATUS[@]}" $LINENO $BASH_LINENO "$BASH_COMMAND" "${FUNCNAME[@]}" "${FUNCTION}"' SIGINT INT TERM EXIT | trap 'traperror '"${DOCKER_ID}"' "$? ${PIPESTATUS[@]}" $LINENO $BASH_LINENO "$BASH_COMMAND" "${FUNCNAME[@]}" "${FUNCTION}"' SIGINT INT TERM EXIT | ||||||
|  | if ! [[ $arch =~ $myarch ]]; then | ||||||
|  |     docker cp "/usr/bin/qemu-${arch}-static" "${DOCKER_ID}:/usr/bin/qemu-${arch}-static" | ||||||
|  | fi | ||||||
|  | docker start "${DOCKER_ID}" | ||||||
|  | if ! docker exec ${DOCKER_ID} getent group $(id -g) > /dev/null 2>&1; then | ||||||
|  |     docker exec ${DOCKER_ID} groupadd -g $(id -g) $(id -gn) | ||||||
|  | fi | ||||||
|  | if ! docker exec ${DOCKER_ID} getent passwd $(id -u) > /dev/null 2>&1; then | ||||||
|  |     docker exec ${DOCKER_ID} useradd -m -u $(id -u) -g $(id -g) -d"${HOME}" $(id -un) | ||||||
|  | fi | ||||||
|  | docker exec ${DOCKER_ID} chown $(id -u):$(id -g) "${HOME}" | ||||||
| case $mode in | case $mode in | ||||||
|     (apt) |     (deb|apt) | ||||||
|  |         if [[ "${img}" =~ "ubuntu" ]]; then | ||||||
|  |             docker exec ${DOCKER_ID} locale-gen ${LANG} | ||||||
|  |             docker exec ${DOCKER_ID} update-locale LANG=${LANG} | ||||||
|  |         fi | ||||||
|         OPTIONS='-o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confnew -y --force-yes --no-install-suggests --no-install-recommends' |         OPTIONS='-o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confnew -y --force-yes --no-install-suggests --no-install-recommends' | ||||||
|         for f in 'libpam-systemd:amd64' 'policykit*' 'colord'; do |         for f in 'libpam-systemd:amd64' 'policykit*' 'colord'; do | ||||||
|             docker exec ${DOCKER_ID} bash -c "echo 'Package: $f' >> /etc/apt/preferences" |             docker exec ${DOCKER_ID} bash -c "echo 'Package: $f' >> /etc/apt/preferences" | ||||||
| @@ -199,7 +248,7 @@ case $mode in | |||||||
|             docker exec ${DOCKER_ID} apt-get install ${OPTIONS} software-properties-common apt-transport-https dpkg-dev lsb-release || \ |             docker exec ${DOCKER_ID} apt-get install ${OPTIONS} software-properties-common apt-transport-https dpkg-dev lsb-release || \ | ||||||
|             docker exec ${DOCKER_ID} apt-get install ${OPTIONS} python-software-properties apt-transport-https dpkg-dev lsb-release; |             docker exec ${DOCKER_ID} apt-get install ${OPTIONS} python-software-properties apt-transport-https dpkg-dev lsb-release; | ||||||
|         for repo in "${repos[@]}"; do |         for repo in "${repos[@]}"; do | ||||||
|             ifthenelse "${repo}" "apt-add-repository ARG" |             ifthenelse "${repo}" "apt-add-repository 'ARG'" | ||||||
|         done |         done | ||||||
|         for key in "${keys[@]}"; do |         for key in "${keys[@]}"; do | ||||||
|             wget -O- "$key" \ |             wget -O- "$key" \ | ||||||
| @@ -214,8 +263,7 @@ case $mode in | |||||||
|         done |         done | ||||||
|         docker exec ${DOCKER_ID} ./resolve-debbuilddeps.sh |         docker exec ${DOCKER_ID} ./resolve-debbuilddeps.sh | ||||||
|         ;; |         ;; | ||||||
|     (yum) |     (rpm|yum|dnf|zypper|urpmi) | ||||||
|         ./bootstrap.sh -t dist |  | ||||||
|         if [[ "$img" =~ "centos" ]]; then |         if [[ "$img" =~ "centos" ]]; then | ||||||
|             docker exec ${DOCKER_ID} yum install -y redhat-lsb |             docker exec ${DOCKER_ID} yum install -y redhat-lsb | ||||||
|             docker exec -i ${DOCKER_ID} bash -c 'cat > /etc/yum.repos.d/wandisco-svn.repo' <<EOF |             docker exec -i ${DOCKER_ID} bash -c 'cat > /etc/yum.repos.d/wandisco-svn.repo' <<EOF | ||||||
| @@ -228,10 +276,29 @@ enabled=1 | |||||||
| gpgcheck=0 | gpgcheck=0 | ||||||
| EOF | EOF | ||||||
|         fi |         fi | ||||||
|         docker exec ${DOCKER_ID} yum install -y rpm-build  |         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} groupadd -g $(id -g) build |         docker exec ${DOCKER_ID} ${INSTALL_TOOL} rpm-build automake libtool subversion gcc-c++ pkgconfig wget /usr/bin/lsb_release | ||||||
|         docker exec ${DOCKER_ID} useradd -g $(id -g) -u $(id -u) build |         i=0 | ||||||
|         docker exec ${DOCKER_ID} ./resolve-rpmbuilddeps.sh || true |         for key in "${keys[@]}"; do | ||||||
|  |             wget -Orpm-key "$key" | ||||||
|  |             docker exec -i ${DOCKER_ID} rpm --import rpm-key | ||||||
|  |             rm rpm-key | ||||||
|  |         done | ||||||
|  |         for repo in "${repos[@]}"; do | ||||||
|  |             INSTALL_REPO=$((docker exec ${DOCKER_ID} test -x /usr/bin/zypper && echo zypper ar) || (docker exec ${DOCKER_ID} test -x /usr/bin/dnf && echo dnf config-manager --add-repo) || (docker exec ${DOCKER_ID} test -x /usr/bin/yum && echo wget -O/etc/yum.repos.d/additional$i.repo) || (docker exec ${DOCKER_ID} test -x /usr/sbin/urpmi && echo true)) | ||||||
|  |             ifthenelse "${repo}" "${INSTALL_REPO} 'ARG'" | ||||||
|  |             ((++i)) | ||||||
|  |         done | ||||||
|  |         docker exec ${DOCKER_ID} ./resolve-rpmbuilddeps.sh | ||||||
|  |         ;; | ||||||
|  |     (win) | ||||||
|  |         if [[ "${img}" =~ "ubuntu" ]]; then | ||||||
|  |             docker exec ${DOCKER_ID} locale-gen ${LANG} | ||||||
|  |             docker exec ${DOCKER_ID} update-locale LANG=${LANG} | ||||||
|  |         fi | ||||||
|  |         docker exec ${DOCKER_ID} apt-get update ${OPTIONS} | ||||||
|  |         docker exec ${DOCKER_ID} apt-get install -y mingw-w64 | ||||||
|  |         docker exec ${DOCKER_ID} ./resolve-debbuilddeps.sh | ||||||
|         ;; |         ;; | ||||||
| esac | esac | ||||||
| docker exec -u $(id -u):$(id -g) ${DOCKER_ID} ./bootstrap.sh -t "${targets}" | docker exec -u $(id -u):$(id -g) ${DOCKER_ID} ./bootstrap.sh -t "${targets}" ${host} ${flags[@]} | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								debian/control.in
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								debian/control.in
									
									
									
									
										vendored
									
									
								
							| @@ -1,7 +1,7 @@ | |||||||
| Source: @PACKAGE_NAME@ | Source: @PACKAGE_NAME@ | ||||||
| Priority: extra | Priority: extra | ||||||
| Maintainer: @AUTHOR@ | Maintainer: @PACKAGER@ | ||||||
| Build-Depends: debhelper, subversion, pkg-config, automake, libtool, autotools-dev, lsb-release , doxygen, graphviz, mscgen, libcppunit-dev, libmatricxx-dev, pandoc | Build-Depends: debhelper, fakeroot, svn2cl, subversion, subversion-tools, pkg-config, automake, libtool, autotools-dev, pandoc, lsb-release, doxygen, graphviz, mscgen, default-jre-headless|default-jre, libmatricxx-dev | ||||||
|  |  | ||||||
| Package: @PACKAGE_NAME@ | Package: @PACKAGE_NAME@ | ||||||
| Section: libs | Section: libs | ||||||
| @@ -13,6 +13,6 @@ Description: @DESCRIPTION@ | |||||||
| Package: @PACKAGE_NAME@-dev | Package: @PACKAGE_NAME@-dev | ||||||
| Section: libdevel | Section: libdevel | ||||||
| Architecture: any | Architecture: any | ||||||
| Depends: @PACKAGE_NAME@ (= ${binary:Version}), debhelper, subversion, pkg-config, automake, libtool, autotools-dev, lsb-release , doxygen, graphviz, mscgen, libcppunit-dev | 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, libmatricxx-dev | ||||||
| Description: @DESCRIPTION@ - Development Package | Description: @DESCRIPTION@ - Development Package | ||||||
| @README_DEB@ | @README_DEB@ | ||||||
|   | |||||||
							
								
								
									
										
											BIN
										
									
								
								doc/plantuml.jar
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								doc/plantuml.jar
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -16,7 +16,7 @@ if test -n "${SCHROOTNAME}"; then | |||||||
|   SUDO="schroot -c "${SCHROOTNAME}" -u root -d / --" |   SUDO="schroot -c "${SCHROOTNAME}" -u root -d / --" | ||||||
| else | else | ||||||
|   DO="" |   DO="" | ||||||
|   if grep -q '/docker/' /proc/1/cgroup; then |   if grep -q '/docker' /proc/1/cgroup; then | ||||||
|       SUDO="" |       SUDO="" | ||||||
|   else |   else | ||||||
|       SUDO="sudo" |       SUDO="sudo" | ||||||
| @@ -35,7 +35,7 @@ TO_INSTALL= | |||||||
|  |  | ||||||
| if test -e debian/control.in -a ! -e debian/control; then | 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_DEPEND_IFEXISTS(\([^)]*\)).*,\1,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 |         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 | ||||||
|             TO_INSTALL+=" ${f}" |             TO_INSTALL+=" ${f}" | ||||||
|         fi |         fi | ||||||
|     done |     done | ||||||
|   | |||||||
| @@ -10,35 +10,34 @@ | |||||||
| ##       1         2         3         4         5         6         7         8 | ##       1         2         3         4         5         6         7         8 | ||||||
| ## 45678901234567890123456789012345678901234567890123456789012345678901234567890 | ## 45678901234567890123456789012345678901234567890123456789012345678901234567890 | ||||||
|  |  | ||||||
|  | INSTALL_TOOL=${INSTALL_TOOL:-$((test -x /usr/bin/zypper && echo zypper install -y) ||  (test -x /usr/bin/dnf && echo dnf install -y) || (test -x /usr/bin/yum && echo yum install -y) || (test -x /usr/sbin/urpmi && echo urpmi --auto))} | ||||||
| SCHROOTNAME="$1" | SCHROOTNAME="$1" | ||||||
| PACKAGE_NAME=$(sed -n 's/^ *m4_define(x_package_name, \(.*\)).*/\1/p' configure.ac) | PACKAGE_NAME=$(sed -n 's/^ *m4_define(x_package_name, \(.*\)).*/\1/p' configure.ac) | ||||||
| PKGCONFIGS="${2:-epel-release}" # packages to configure yum |  | ||||||
|  | TRAP_CMD= | ||||||
|  | if test -e ${PACKAGE_NAME}.spec.in -a ! -e ${PACKAGE_NAME}.spec; then | ||||||
|  |     TRAP_CMD+="rm ${PACKAGE_NAME}.spec;" | ||||||
|  |     trap "${TRAP_CMD}" INT TERM EXIT | ||||||
|  |     sed 's,@RPM_DEPEND_IFEXISTS@,,g' ${PACKAGE_NAME}.spec.in | \ | ||||||
|  |         sed 's,@[^@]*@, dummytext,g' > ${PACKAGE_NAME}.spec | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | TGZFILE=$(sed -n '/^Name: */{s///;h};/^Version: */{s///;H;x;s/\n/-/;s/$/.tar.gz/;p}' ${PACKAGE_NAME}.spec) | ||||||
|  | if ! test -e $TGZFILE; then | ||||||
|  |     TRAP_CMD+="rm ${TGZFILE};" | ||||||
|  |     trap "${TRAP_CMD}" INT TERM EXIT | ||||||
|  |     touch $TGZFILE | ||||||
|  | fi | ||||||
|  |  | ||||||
| if test -n "${SCHROOTNAME}"; then | 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') |     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 |     if test -n "${FILES}"; then | ||||||
|         FIRST=$(echo "${FILES}" | egrep -o "${PKGCONFIGS// /|}") |         schroot -c ${SCHROOTNAME} -u root -- ${INSTALL_TOOL}  ${FILES} | ||||||
|         if test -n "${FIRST}"; then |  | ||||||
|             schroot -c ${SCHROOTNAME} -u root -- yum install -y ${FIRST} || \ |  | ||||||
|                 schroot -c ${SCHROOTNAME} -u root -- zypper install -y ${FIRST} || \ |  | ||||||
|                 schroot -c ${SCHROOTNAME} -u root -- dnf install -y ${FIRST} |  | ||||||
|         fi |  | ||||||
|         schroot -c ${SCHROOTNAME} -u root -- yum install -y ${FILES} || \ |  | ||||||
|             schroot -c ${SCHROOTNAME} -u root -- zypper install -y ${FILES} || \ |  | ||||||
|             schroot -c ${SCHROOTNAME} -u root -- dnf install -y ${FILES} |  | ||||||
|     fi |     fi | ||||||
| else | else | ||||||
|     FILES=$(LANG= rpmbuild -bb --clean --nobuild --define "_topdir ." --define "_sourcedir ." ${PACKAGE_NAME}.spec 2>&1 | sed -n 's, is needed by.*,,p') |     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 |     if test -n "${FILES}"; then | ||||||
|         FIRST=$(echo "${FILES}" | egrep -o "${PKGCONFIGS// /|}") |         ${INSTALL_TOOL} ${FILES} | ||||||
|         if test -n "${FIRST}"; then |  | ||||||
|             yum install -y ${FIRST} || \ |  | ||||||
|                 zypper install -y ${FIRST} || \ |  | ||||||
|                 dnf install -y ${FIRST} |  | ||||||
|         fi |  | ||||||
|         yum install -y ${FILES} || \ |  | ||||||
|             zypper install -y ${FILES} || \ |  | ||||||
|             dnf install -y ${FILES} |  | ||||||
|     fi |     fi | ||||||
| fi | fi | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user