update of build system

master
Marc Wäckerlin 6 years ago
parent 885294fa9f
commit a4671e5f79
  1. 2
      COPYING
  2. 845
      ChangeLog
  3. 2
      INSTALL
  4. 6
      ax_check_qt.m4
  5. 6
      ax_init_standard_project.m4
  6. 272
      bootstrap.sh
  7. 171
      dependency-graph.sh
  8. 1
      mac-create-app-bundle.sh
  9. 1
      scripts/mac-create-app-bundle.sh
  10. 160
      template.sh

@ -1 +1 @@
/usr/share/automake-1.13/COPYING
/usr/share/automake-1.15/COPYING

@ -1,845 +0,0 @@
2017-06-14 16:05
* [r147] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh,
scripts/build-in-docker.sh, scripts/resolve-debbuilddeps.sh,
scripts/resolve-rpmbuilddeps.sh:
fix rpm i.e. fedora / centos build
2017-06-09 14:57
* [r146] scripts/ax_check_qt.m4,
scripts/ax_init_standard_project.m4,
scripts/resolve-debbuilddeps.sh, scripts/resolve-rpmbuilddeps.sh:
improvements for deb and rpm docker builds
2017-06-02 11:56
* [r145] scripts/bootstrap.sh, scripts/build-in-docker.sh:
fixed rpm build
2017-05-30 13:23
* [r144] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh,
scripts/resolve-rpmbuilddeps.sh:
rpm builds improved and fixed
2017-05-24 11:39
* [r143] scripts/bootstrap.sh:
fixed rpm build
2017-05-23 13:11
* [r142] scripts/bootstrap.sh:
fixed typo
2017-05-19 14:53
* [r141] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh,
scripts/build-in-docker.sh:
improvement of rpm generation
2017-05-03 14:55
* [r140] scripts/ax_check_qt.m4,
scripts/ax_init_standard_project.m4, scripts/bootstrap.sh,
scripts/resolve-rpmbuilddeps.sh:
fixes if project dir is a subdir in a repository (multiple
projects in one repository)
2017-03-20 12:06
* [r139] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh,
scripts/build-in-docker.sh, scripts/resolve-debbuilddeps.sh,
scripts/resolve-rpmbuilddeps.sh, scripts/rpmsign.exp[ADD]:
allow package definitions for all (deb and rpm),or deb or rpm;
fixed rpmsign for fedora
2017-03-17 15:43
* [r138] scripts/build-in-docker.sh:
add default parameter for windoze build
2017-03-16 07:10
* [r137] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
new tag AX_BUILD_HTML_NPM
2017-03-03 14:52
* [r136] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
added AX_USE_ETC to handle configuration files
2017-02-06 22:55
* [r135] COPYING, ChangeLog, INSTALL, ax_init_standard_project.m4,
bootstrap.sh, resolve-debbuilddeps.sh,
scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
fixed debian dependencies
2017-02-06 10:14
* [r134] scripts/resolve-debbuilddeps.sh:
fixed dependency resolve problem
2017-02-02 20:03
* [r133] ChangeLog, bootstrap.sh, scripts/bootstrap.sh:
new list RUN_DEPENDS
2017-02-02 16:49
* [r132] scripts/ax_init_standard_project.m4:
improved debian dependencies and resolve
2017-02-02 16:27
* [r131] scripts/resolve-debbuilddeps.sh:
improved debian dependencies and resolve
2017-02-02 16:06
* [r130] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh,
scripts/resolve-debbuilddeps.sh:
improved debian dependencies
2017-01-07 18:56
* [r129] bootstrap.sh, build-in-docker.conf, debian/control.in,
scripts/bootstrap.sh:
fix typo
2017-01-07 11:48
* [r128] ChangeLog, bootstrap.sh, build-in-docker.sh:
updated build environment
2017-01-06 15:53
* [r127] COPYING, ChangeLog, INSTALL, bootstrap.sh,
build-in-docker.conf, build-in-docker.sh, debian/control.in,
scripts/bootstrap.sh:
improved build, tested on wily and xenial
2016-12-26 12:21
* [r126] ChangeLog, bootstrap.sh, build-in-docker.sh,
debian/control.in, scripts/bootstrap.sh,
scripts/build-in-docker.sh:
fixed rpm and deb build
2016-12-23 14:48
* [r125] build-in-docker.sh, scripts/bootstrap.sh,
scripts/build-in-docker.sh:
bugfixes
2016-12-19 19:47
* [r124] COPYING, ChangeLog, INSTALL,
bootstrap-build-environment.spec.in, bootstrap.sh,
build-in-docker.sh, scripts/bootstrap.sh,
scripts/build-in-docker.sh, scripts/makefile.am:
rpm builds tested
2016-12-19 18:29
* [r123] debian/changelog.in:
updated build system
2016-12-19 18:06
* [r122] ChangeLog, ax_init_standard_project.m4, bootstrap.sh,
build-in-docker.conf, build-in-docker.sh,
resolve-debbuilddeps.sh, resolve-rpmbuilddeps.sh:
updated build system
2016-12-12 14:13
* [r121] scripts/build-in-docker.sh:
new build mode for windows mingw cross compilation
2016-12-11 21:51
* [r120] scripts/bootstrap.sh, scripts/build-in-docker.sh,
scripts/resolve-rpmbuilddeps.sh:
fix some typos
2016-12-09 15:51
* [r119] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh,
scripts/build-in-docker.sh, scripts/resolve-debbuilddeps.sh:
fix build issues - utf-8 gpg uid still not supported for most rpm
based distros
2016-12-09 07:11
* [r118] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh,
scripts/build-in-docker.sh:
rpm development
2016-12-08 15:59
* [r117] scripts/ax_init_standard_project.m4,
scripts/build-in-docker.sh:
updates for rpm distros
2016-12-07 21:44
* [r116] scripts/bootstrap.sh, scripts/build-in-docker.sh,
scripts/resolve-rpmbuilddeps.sh:
ready for mageia
2016-12-07 16:00
* [r115] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh,
scripts/build-in-docker.sh, scripts/resolve-rpmbuilddeps.sh:
build improved for fedora, centos, opensuse
2016-11-25 17:28
* [r114] COPYING, ChangeLog, INSTALL, ax_cxx_compile_stdcxx_11.m4,
ax_init_standard_project.m4, bootstrap.sh, build-in-docker.sh,
doc/footer.html.in[ADD], doc/header.html.in[ADD],
doc/plantuml.jar[ADD], doc/style.css[ADD],
resolve-debbuilddeps.sh, scripts/bootstrap.sh,
scripts/build-in-docker.sh:
updated build system
2016-11-25 15:05
* [r113] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh,
scripts/build-in-docker.sh:
improved nodejs build on old systems
2016-11-25 11:37
* [r112] scripts/bootstrap.sh, scripts/build-in-docker.sh:
fix path creation bug
2016-11-22 15:57
* [r111] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
improved changelog; support bootstrap of node.js + express.js
project
2016-11-19 12:00
* [r110] scripts/bootstrap.sh:
java is required for doxygen, e.g. on wily
2016-10-17 14:25
* [r109] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
improved debian changelog; fixed spare new line after least
version number
2016-09-14 14:58
* [r108] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
new possibility to generate perldoc
2016-09-12 06:50
* [r107] scripts/ax_init_standard_project.m4:
add LICENSE and COPYING; fix workaround for plantuml
2016-09-08 08:36
* [r106] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
plantuml now also works for old doxygen versions
2016-09-07 21:00
* [r105] scripts/bootstrap.sh:
optimize documentation layout
2016-09-07 20:35
* [r104] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
allow plantuml with doxygen < 1.8.11
2016-09-04 19:13
* [r103] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
fixed documentation problem: startuml is now part of doxygen
2016-09-03 17:35
* [r102] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
bugfixes in uml documentation geeration
2016-09-02 14:31
* [r101] scripts/ax_init_standard_project.m4:
bugfix
2016-09-02 12:51
* [r100] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh,
scripts/doc[ADD], scripts/doc/plantuml.jar[ADD]:
added support for PlantUML in Doxygen using AX_USE_PLANTUML and
in doxygen use @startuml{image.png}...@enduml
2016-09-02 08:39
* [r99] scripts/resolve-debbuilddeps.sh:
fix docker build with new docker release
2016-09-01 14:03
* [r98] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
first step to support nodejs
2016-08-26 14:18
* [r97] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
updated documentation build
2016-08-25 21:42
* [r96] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
documentation improved
2016-08-25 15:00
* [r95] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
better doxygen
2016-08-24 14:54
* [r94] scripts/bootstrap.sh:
create dummy test file
2016-08-19 16:07
* [r93] scripts/ax_cxx_compile_stdcxx_11.m4:
fix C++11 detection
2016-08-19 14:54
* [r92] ax_cxx_compile_stdcxx_11.m4, ax_init_standard_project.m4,
bootstrap.sh, build-in-docker.sh, makefile_test.inc.am[ADD],
resolve-rpmbuilddeps.sh, scripts/ax_init_standard_project.m4,
scripts/bootstrap.sh, scripts/makefile_test.inc.am[ADD],
sql-to-dot.sed:
prepare to include makefiles
2016-08-17 07:25
* [r91] ax_cxx_compile_stdcxx_11.m4,
scripts/ax_cxx_compile_stdcxx_11.m4,
scripts/ax_init_standard_project.m4:
allow c++14
2016-07-29 19:06
* [r90] scripts/build-in-docker.sh:
pass HOME
2016-07-29 15:21
* [r89] scripts/sql-to-dot.sed:
improved sql documentation
2016-05-31 13:47
* [r88] scripts/bootstrap.sh:
abort on error
2016-05-13 15:03
* [r87] scripts/bootstrap.sh, scripts/resolve-rpmbuilddeps.sh:
fix project logo in doxygen; allow to add repositories in rpm
build
2016-05-11 13:18
* [r86] bootstrap.sh, scripts/bootstrap.sh:
fix logo in doxygen
2016-05-10 08:26
* [r85] ChangeLog, ax_init_standard_project.m4, bootstrap.sh,
build-in-docker.conf[ADD], scripts/ax_init_standard_project.m4,
scripts/bootstrap.sh:
set ARCH variable to system architecture
2016-05-05 10:10
* [r84] ChangeLog, autogen.sh[ADD], ax_init_standard_project.m4,
bootstrap.sh, build-in-docker.sh, mac-create-app-bundle.sh,
resolve-rpmbuilddeps.sh, scripts/ax_init_standard_project.m4,
scripts/build-in-docker.sh, scripts/makefile.am[ADD]:
updated build system
2016-04-22 08:27
* [r83] scripts/build-in-docker.sh:
basic support for centos rpm docker build
2016-04-04 14:55
* [r82] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh,
scripts/makefile.am[DEL], scripts/resolve-rpmbuilddeps.sh:
after migration to new svn server
2016-02-25 08:58 marc
* [r81] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh,
scripts/build-in-docker.sh, scripts/mac-create-app-bundle.sh:
support git and subversion; new possibility to set x_least_fix to
a fix value without automated increase
2016-02-24 11:43 marc
* [r80] scripts/ax_init_standard_project.m4:
add directory variables
2016-01-20 15:56 marc
* [r79] scripts/ax_init_standard_project.m4,
scripts/build-in-docker.sh:
build improvements
2016-01-12 00:24 marc
* [r78] ChangeLog, build-in-docker.sh, resolve-debbuilddeps.sh,
scripts/build-in-docker.sh:
build in docker with new option --wait
2015-12-18 16:05 marc
* [r77] build-in-docker.sh:
need upgrade on sid
2015-12-14 12:35 marc
* [r76] scripts/build-in-docker.sh,
scripts/resolve-debbuilddeps.sh:
merged changes
2015-12-14 12:29 marc
* [r75] ChangeLog, ax_init_standard_project.m4, bootstrap.sh,
build-in-docker.sh, resolve-debbuilddeps.sh,
scripts/build-in-docker.sh, scripts/resolve-debbuilddeps.sh:
better build in docker
2015-12-04 08:36 marc
* [r74] scripts/build-in-docker.sh:
distinguish by hw arch
2015-12-04 07:06 marc
* [r73] scripts/build-in-docker.sh:
build all in docker
2015-12-02 15:58 marc
* [r72] README, scripts/bootstrap.sh, scripts/build-in-docker.sh,
scripts/resolve-debbuilddeps.sh:
enhanced build in docker
2015-11-25 15:25 marc
* [r71] scripts/build-in-docker.sh:
updates
2015-11-20 15:14 marc
* [r70] scripts/ax_init_standard_project.m4:
updated
2015-11-16 12:37 marc
* [r69] doc/doxyfile.in:
SVG must not be interactive for embedding in redmine
2015-11-13 16:06 marc
* [r68] ChangeLog, ax_init_standard_project.m4,
bootstrap-build-environment.desktop.in[ADD], bootstrap.sh,
scripts/ax_init_standard_project.m4, scripts/bootstrap.sh,
sql-to-dot.sed:
fixed icon and desktop file
2015-11-11 16:03 marc
* [r67] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
added icon and desktop file
2015-11-11 12:45 marc
* [r66] ChangeLog, README, bootstrap.sh, resolve-debbuilddeps.sh,
scripts/bootstrap.sh, scripts/test[ADD],
scripts/test/runtests.sh[ADD], sql-to-dot.sed[ADD]:
updated
2015-11-10 15:52 marc
* [r65] scripts/sql-to-dot.sed:
making it more robust
2015-11-09 15:13 marc
* [r64] scripts/bootstrap.sh, scripts/resolve-debbuilddeps.sh,
scripts/sql-to-dot.sed:
better documentation
2015-11-07 10:47 marc
* [r63] bootstrap.sh, scripts/bootstrap.sh:
there is no qt4-default
2015-11-07 09:23 marc
* [r62] bootstrap.sh, scripts/bootstrap.sh:
there is no qt4-default
2015-11-07 00:20 marc
* [r61] README:
set Section
2015-11-07 00:11 marc
* [r60] ChangeLog, ax_init_standard_project.m4, bootstrap.sh,
scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
fixed debian readme issue
2015-11-06 15:34 marc
* [r59] scripts/sql-to-dot.sed[ADD]:
new script to convert sql schema files into graphviz dot
2015-11-05 15:59 marc
* [r58] README, scripts/ax_init_standard_project.m4,
scripts/bootstrap.sh:
some more improvements plus creation of trunk branches and tags
2015-11-05 09:47 marc
* [r57] ChangeLog, ax_init_standard_project.m4, bootstrap.sh,
build-in-docker.sh[ADD], resolve-debbuilddeps.sh:
updated build system
2015-11-04 10:36 marc
* [r56] scripts/bootstrap.sh, scripts/build-in-docker.sh[ADD],
scripts/makefile.am, scripts/resolve-debbuilddeps.sh:
new feature ./build-in-docker.sh to start a temporary ubuntu
docker container where the project is built and tested in$
2015-11-04 08:52 marc
* [r55] README, bootstrap.sh, scripts/ax_init_standard_project.m4,
scripts/bootstrap.sh:
the new tag AX_BUILD_TEST allows to use tests without the need of
AX_USE_CPPUNIT, so only AX_BUILD_TEST can be used for testing
scripts. AX_USE_CPPUNIT calls AX_BUILD_TEST, so you don't need to
specify both
2015-11-03 23:01 marc
* [r54] debian/control.in:
set section
2015-11-03 22:02 marc
* [r53] AUTHORS:
AUTHOR updated to new homepage
2015-11-03 15:38 marc
* [r52] AUTHORS[ADD], COPYING[ADD], ChangeLog[ADD], INSTALL[ADD],
NEWS[ADD], README[ADD], aclocal.m4[DEL], ax_check_qt.m4,
ax_cxx_compile_stdcxx_11.m4, ax_init_standard_project.m4,
bootstrap-build-environment.spec.in[ADD], bootstrap.sh,
build-resource-file.sh, configure.ac[ADD], debian[ADD],
debian/changelog.in[ADD], debian/compat[ADD],
debian/control.in[ADD], debian/docs[ADD], debian/rules[ADD],
doc[ADD], doc/doxyfile.in[ADD], doc/makefile.am[ADD],
mac-create-app-bundle.sh, makefile.am[ADD],
resolve-debbuilddeps.sh, resolve-rpmbuilddeps.sh, scripts[ADD],
scripts/ax_check_qt.m4[CPY],
scripts/ax_cxx_compile_stdcxx_11.m4[CPY],
scripts/ax_init_standard_project.m4[CPY],
scripts/bootstrap.sh[CPY], scripts/build-resource-file.sh[CPY],
scripts/mac-create-app-bundle.sh[CPY], scripts/makefile.am[ADD],
scripts/resolve-debbuilddeps.sh[CPY],
scripts/resolve-rpmbuilddeps.sh[CPY]:
initial release for packaging
2015-11-03 15:06 marc
* [r51] ax_init_standard_project.m4, resolve-debbuilddeps.sh:
can be built in fresh docker container
2015-11-03 15:05 marc
* [r50] bootstrap.sh, resolve-debbuilddeps.sh:
some improvements
2015-11-03 09:22 marc
* [r49] resolve-debbuilddeps.sh:
except for variants, install al at once (it's faster); sudo or
not is the problem of the caller; also cleanup debian/control if
created (importan, otherwise with sudo, it belongs to root)
2015-11-03 09:22 marc
* [r48] ax_check_qt.m4, bootstrap.sh, resolve-debbuilddeps.sh:
except for variants, install al at once (it's faster); sudo or
not is the problem of the caller; also cleanup debian/control if
created (importan, otherwise with sudo, it belongs to root)
2015-10-10 18:05 marc
* [r47] ax_init_standard_project.m4, bootstrap.sh:
no search index when embedded in redmine
2015-10-10 10:44 marc
* [r46] ax_init_standard_project.m4, bootstrap.sh:
updated extra dists
2015-10-07 07:42 marc
* [r45] ax_init_standard_project.m4:
disable qt debug
2015-09-23 08:11 marc
* [r44] ax_check_qt.m4, ax_init_standard_project.m4,
resolve-rpmbuilddeps.sh:
sereveral improvements, also now possibility to use fixed version
minor ba adding a diff for least
2015-09-09 15:01 marc
* [r43] ax_check_qt.m4, bootstrap.sh, build-resource-file.sh[ADD],
resolve-debbuilddeps.sh, resolve-rpmbuilddeps.sh[ADD]:
new features and fixes
2015-09-04 13:05 marc
* [r42] resolve-builddeps.sh~[DEL]:
resolve build dependencies
2015-09-04 13:04 marc
* [r41] ax_init_standard_project.m4, bootstrap.sh,
resolve-builddeps.sh~[ADD], resolve-debbuilddeps.sh[ADD]:
resolve build dependencies
2015-08-31 12:30 marc
* [r40] bootstrap.sh:
fixed share path in debian packages
2015-08-27 13:03 marc
* [r39] ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh:
fixes from several projects
2015-08-20 08:00 marc
* [r38] ax_init_standard_project.m4, bootstrap.sh:
improvements mainly for rpm plus including make with flexible
targets
2015-08-19 22:44 marc
* [r37] ax_init_standard_project.m4, bootstrap.sh:
some small fixes for prinary initialization - to do: create root
makefile.am after configure.ac is setup
2015-07-31 10:44 marc
* [r36] ax_init_standard_project.m4, bootstrap.sh:
fixed version number and rpm issues
2015-07-30 14:13 marc
* [r35] ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh:
lot of improvements, i.e. for compiling rpms
2015-07-23 12:16 marc
* [r34] ax_check_qt.m4, ax_init_standard_project.m4:
use ${PKG_CONFOG}
2015-07-23 12:02 marc
* [r33] ax_init_standard_project.m4, bootstrap.sh:
typo in filename
2015-07-22 05:29 marc
* [r32] bootstrap.sh:
added rpm spec file template
2015-07-21 13:44 marc
* [r31] ax_check_qt.m4, ax_init_standard_project.m4:
improvements, mainly for mingw
2015-07-16 13:54 marc
* [r30] ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh,
mac-create-app-bundle.sh[ADD]:
improvements, mainly for mac
2015-07-13 14:57 marc
* [r29] ax_init_standard_project.m4:
improve package detection
2015-07-13 12:18 marc
* [r28] bootstrap.sh:
some bugfixes
2015-07-13 08:58 marc
* [r27] bootstrap.sh:
some bugfixes
2015-07-09 12:22 marc
* [r26] ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh:
some qt improvements
2015-07-02 13:11 marc
* [r25] ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh:
new qt features: language and resources
2015-07-01 09:13 marc
* [r24] AUTHORS[DEL], ax_init_standard_project.m4, bootstrap.sh:
updates, e.g. AUTHORS
2015-06-24 09:26 marc
* [r23] ax_init_standard_project.m4:
even more support for weird and sloppy packages
2015-06-23 08:59 marc
* [r22] ax_init_standard_project.m4:
even more improved way to find the necessary include path
2015-06-23 08:48 marc
* [r21] ax_init_standard_project.m4:
even more improved way to find the necessary include path
2015-06-23 08:24 marc
* [r20] ax_init_standard_project.m4:
improved way to find the necessary include path, even if module
writers did a sloppy job
2015-05-18 09:21 marc
* [r19] ax_init_standard_project.m4:
fix build on mac, fix wrong AX_PKG_CHECK
2015-05-18 09:10 marc
* [r18] ax_init_standard_project.m4:
bugfix in AX_PKG_REQUIRE
2015-05-18 09:03 marc
* [r17] ax_init_standard_project.m4:
bugfix in AX_PKG_REQUIRE
2015-05-13 13:36 marc
* [r16] ax_init_standard_project.m4:
improved check for required packages
2015-05-12 13:33 marc
* [r15] ax_check_qt.m4, ax_init_standard_project.m4:
allow package versions in package config dependencies
2015-05-09 09:06 marc
* [r14] ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh:
fixed dependencies in pkg-config
2015-05-08 23:37 marc
* [r13] ax_init_standard_project.m4, bootstrap.sh:
fixed the mac bug again, because last change was incompatible
with debian changelog format
2015-05-08 22:43 marc
* [r12] ax_init_standard_project.m4, bootstrap.sh:
build system fixed
2015-05-07 14:35 marc
* [r11] ax_init_standard_project.m4:
fixed mac issues
2015-05-07 14:11 marc
* [r10] ax_init_standard_project.m4:
Mac OSX does not support date -R
2015-05-07 14:08 marc
* [r9] ax_init_standard_project.m4:
Mac OSX does not support date -R
2015-05-07 14:06 marc
* [r8] ax_init_standard_project.m4:
error finding pkcs11 on Mac
2015-05-07 14:04 marc
* [r7] ax_init_standard_project.m4:
error finding pkcs11 on Mac
2015-05-07 13:07 marc
* [r6] bootstrap.sh:
Mac OSX does not support date -R
2015-05-07 13:04 marc
* [r5] ax_init_standard_project.m4:
Mac OSX does not support date -R
2015-05-06 23:09 marc
* [r4] bootstrap.sh:
better doxygen support
2015-05-06 14:53 marc
* [r3] ax_init_standard_project.m4, bootstrap.sh:
support scripts and new parameters --build --overwrite --rebuild
2015-05-05 20:29 marc
* [r2] AUTHORS[ADD], aclocal.m4[ADD], ax_check_qt.m4[ADD],
ax_cxx_compile_stdcxx_11.m4[ADD],
ax_init_standard_project.m4[ADD], bootstrap.sh[ADD]:
copied initial release from webtester
2015-05-05 20:27 marc
* [r1] .[ADD]:
initial structure

@ -1 +1 @@
/usr/share/automake-1.13/INSTALL
/usr/share/automake-1.15/INSTALL

@ -275,8 +275,10 @@ AC_DEFUN([AX_QT_NO_KEYWORDS], [
AC_DEFUN([AX_INIT_QT], [
if test -n "${AX_ADDITIONAL_QT_RULES_HACK}"; then
test -f src/makefile.in && cat >> src/makefile.in <<EOF
${AX_ADDITIONAL_QT_RULES_HACK}
for f in $(find test examples src -name makefile.in); do
test -f "$f" && cat >> "$f" <<EOF
${AX_ADDITIONAL_QT_RULES_HACK}
EOF
done
fi
])

@ -171,7 +171,7 @@ AC_DEFUN([AX_INIT_STANDARD_PROJECT], [
AX_SUBST(HOME)
if test -f README.md; then
README=$(tail -n +3 README.md)
DESCRIPTION=$(head -1 README.md)
DESCRIPTION=$(head -1 README.md | sed 's,^#\+ *,,;s, *#\+$,,')
else
README=$(tail -n +3 README)
DESCRIPTION=$(head -1 README)
@ -943,7 +943,6 @@ AC_DEFUN([AX_PKG_CHECK], [
(test -x /usr/sbin/urpmq && urpmq "$rpm_pkg" 1>&2 > /dev/null); then
AX_RPM_BUILD_DEPEND([$rpm_pkg])
fi
)
])
# make sure, a specific header exists
@ -1225,8 +1224,9 @@ AC_DEFUN([AX_ALL_DEPEND], [
# finish configuration - to be called instead of AC_OUTPUT
AC_DEFUN([AX_OUTPUT], [
AX_INIT_QT
AX_DEB_RESOLVE
AX_RPM_RESOLVE
AC_OUTPUT
AX_INIT_QT
AC_MSG_NOTICE([configured for ${PACKAGE_NAME}-${VERSION}])
])

@ -31,8 +31,9 @@ while test $# -gt 0; do
(--configure|-c) configure=1;;
(--docker|-d) docker=1;;
(--build|-b) configure=1; build=1; buildtarget+=" distcheck";;
(--all|-a) shift; configure=1; build=1; buildtarget+=" all";;
(--clean) shift; configure=1; build=1; buildtarget+=" maintainer-clean";;
(--all|-a) configure=1; build=1; buildtarget+=" all";;
(--install|-i) configure=1; build=1; buildtarget+=" all install";;
(--clean) configure=1; build=1; buildtarget+=" maintainer-clean";;
(--target|-t) shift; configure=1; build=1; buildtarget+=" $1";;
(--overwrite|-o) overwrite=1;;
(--rebuild|-r) rebuild=1;;
@ -53,6 +54,7 @@ OPTIONS
--docker, -d build and run tests in a docker instance
--build, -b build, also call ./configure && make distcheck
--all, -a same as -b, but make target all
--install, -i same as -a, but add make install
--clean same as -b, but make target maintainer-clean
--target, -t <target> same as -b, but specify target instead of distcheck
--overwrite, -o overwrite all basic files (bootstrap.sh, m4-macros)
@ -138,10 +140,12 @@ GENERATED FILES
* build-resource-file.sh - build resource.qrc file from a resource directory
* sql-to-dot.sed - script to convert SQL schema files to graphviz dot in doxygen
* mac-create-app-bundle.sh - script to create apple mac os-x app-bundle
* dependency-graph.sh - script to draw project dependencies
* template.sh - generic template for bash scripts
* test/runtests.sh - template file to run test scripts, i.e. docker based
* AUTHORS - replace your name in AUTHORS before first run
* NEWS - empty file add your project's news
* README - add project description (first line is header, followed by an empty line)
* README (or README.md) - add project description (first line: header, followed by empty line)
* configure.ac - global configuration file template
* makefile.am - global makefile template
* ${DEFAULT_PROJECT_NAME}.desktop.in - linux desktop file
@ -300,7 +304,91 @@ EOF
shift;
done
echo -en "\e[1m-> checking:\e[0m for version control system ..."
# check if stdout is a terminal...
if test -t 1; then
# see if it supports colors...
ncolors=$(tput colors)
if test -n "$ncolors" && test $ncolors -ge 8; then
bold="$(tput bold)"
underline="$(tput smul)"
standout="$(tput smso)"
normal="$(tput sgr0)"
black="$(tput setaf 0)"
red="$(tput setaf 1)"
green="$(tput setaf 2)"
yellow="$(tput setaf 3)"
blue="$(tput setaf 4)"
magenta="$(tput setaf 5)"
cyan="$(tput setaf 6)"
white="$(tput setaf 7)"
fi
fi
notice() {
echo "${yellow}→ notice: ${bold}$*${normal}"
}
running() {
echo -n "${bold}${blue}→ running: ${bold}${white}$*${normal}"
}
checking() {
echo -n "${bold}${blue}→ checking: ${bold}${white}$*${normal}"
}
generating() {
echo -n "${bold}${blue}→ generating: ${bold}${white}$*${normal}"
}
configuring() {
echo -n "${bold}${blue}→ configuring ${bold}${white}$1${normal}:"
shift
echo -n "${white}$*${normal}"
}
ignored() {
echo "${bold}${yellow}ignored $*${normal}"
}
success() {
echo "${bold}${green}success $*${normal}"
}
error() {
echo "${bold}${red}→ error: $1${normal}"
shift
if test -n "$*"; then
echo "${bold}$*${normal}"
fi
exit 1
}
run() {
check=1
while test $# -gt 0; do
case "$1" in
(--no-check) check=0;;
(*) break;;
esac
shift;
done
running $*
result=$($* 2>&1)
res=$?
if test $res -ne 0; then
if test $check -eq 1; then
error "Failed with return code: $res" "$result"
else
ignored
fi
else
success
fi
}
checking for version control system
VCS=""
VCSDEPENDS=""
for path in . .. ../.. ../../..; do
@ -308,18 +396,18 @@ for path in . .. ../.. ../../..; do
VCS="svn"
VCSDEPENDS_DEB="svn2cl, subversion, subversion-tools,"
VCSDEPENDS_RPM="subversion, "
echo -e " \e[32msuccess\e[0m detected ${VCS}"
success 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}"
success detected ${VCS}
break
fi
done
if test -z "$VCS"; then
echo -e " \e[33mignored\e[0m"
ignored
fi
HEADER='## @id '"\$Id\$"'
@ -347,38 +435,6 @@ CHEADER='/** @id '"\$Id\$"'
'
notice() {
echo -e "\e[1;33m$*\e[0m"
}
run() {
check=1
while test $# -gt 0; do
case "$1" in
(--no-check) check=0;;
(*) break;;
esac
shift;
done
echo -en "\e[1m-> running:\e[0m $* ..."
result=$($* 2>&1)
res=$?
if test $res -ne 0; then
if test $check -eq 1; then
echo -e " \e[31merror\e[0m"
echo -e "\e[1m*** Failed with return code: $res\e[0m"
if test -n "$result"; then
echo "$result"
fi
exit 1
else
echo -e " \e[33mignored\e[0m"
fi
else
echo -e " \e[32msuccess\e[0m"
fi
}
testtag() {
local IFS="|"
egrep -q '^ *'"($*)"' *(\(.*)? *$' configure.ac
@ -431,18 +487,13 @@ to() {
return 1
fi
checkdir "$(dirname ${1})"
echo -en "\e[1m-> generating:\e[0m $1 ..."
generating $1
result=$(cat > "$1" 2>&1)
res=$?
if test $res -ne 0; then
echo -e " \e[31merror\e[0m"
echo -e "\e[1m*** Failed with return code: $res\e[0m"
if test -n "$result"; then
echo "$result"
fi
exit 1
error "Failed with return code: $res" "$result"
else
echo -e " \e[32msuccess\e[0m"
success
fi
run chmod $mode $1
if test $exists -eq 0; then
@ -484,24 +535,20 @@ copy() {
}
doxyreplace() {
echo -en "\e[1m-> doxyfile:\e[0m configure $1 ..."
configuring doxyfile $1
if sed -i 's|\(^'"$1"' *=\) *.*|\1'" $2"'|g' doc/doxyfile.in; then
echo -e " \e[32msuccess\e[0m"
success
else
echo -e " \e[31merror\e[0m"
echo -e "\e[1m**** command: $0 $*\e[0m"
exit 1
error $0 $*
fi
}
doxyadd() {
echo -en "\e[1m-> doxyfile:\e[0m configure $1 ..."
configuring doxyfile $1
if sed -i '/^'"$1"' *=/a'"$1"' += '"$2" doc/doxyfile.in; then
echo -e " \e[32msuccess\e[0m"
success
else
echo -e " \e[31merror\e[0m"
echo -e "\e[1m**** command: $0 $*\e[0m"
exit 1
error $0 $*
fi
}
@ -512,13 +559,18 @@ vcs2cl() {
else
touch "ChangeLog"
fi
if test -x $(which timeout); then
local TIMEOUT="timeout 10"
else
local TIMEOUT=
fi
if test -x $(which ${VCS}2cl); then
if test "${VCS}" = "git"; then
${VCS}2cl > ChangeLog
$TIMEOUT ${VCS}2cl || true > ChangeLog
elif test "${VCS}" = "svn"; then
${VCS}2cl --break-before-msg -a -i
$TIMEOUT ${VCS}2cl --break-before-msg -a -i || true
elif test -n "${VCS}"; then
${VCS}2cl
$TIMEOUT ${VCS}2cl || true
fi
fi
if test $exists -eq 0; then
@ -549,6 +601,8 @@ copy rpmsign.exp
copy build-resource-file.sh
copy sql-to-dot.sed
copy mac-create-app-bundle.sh
copy dependency-graph.sh
copy template.sh
AUTHOR=$(gpg -K 2>/dev/null | sed -n 's,uid *\(\[ultimate\] *\)\?,,p' | head -1)
if test -z "${AUTHOR}"; then
AUTHOR="FIRSTNAME LASTNAME (URL) <EMAIL>"
@ -559,11 +613,18 @@ EOF
to NEWS <<EOF && notice "please edit NEWS"
$(date) created ${DEFAULT_PROJECT_NAME}
EOF
to README <<EOF && notice "please edit README"
if test -e README.md; then
README=README.md
else
README=README
to README <<EOF && notice "please edit README"
${DEFAULT_PROJECT_NAME}
add description for ${DEFAULT_PROJECT_NAME}
EOF
fi
DESCRIPTION=$(head -1 $README | sed 's,^#\+ *,,;s, *#\+$,,')
to configure.ac <<EOF && notice "please edit configure.ac, then rerun $0" && exit 0
${HEADER}# default is generated from AUTHORS and project name
PROJECT_URL=
@ -1040,15 +1101,16 @@ to --condition AX_USE_NODEJS nodejs/etc/${PACKAGE_NAME}.json <<EOF
}
}
EOF
PACKAGE_NAME_UPPER=$(echo ${PACKAGE_NAME} | tr '+[:lower:]' 'X[:upper:]' | tr -cd '[[:alnum:]]._-')
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"
#EXEC_${PACKAGE_NAME_UPPER}="/usr/bin/nodejs /usr/share/${PACKAGE_NAME}/nodejs/${PACKAGE_NAME}"
#${PACKAGE_NAME_UPPER}_LOG="/var/log/${PACKAGE_NAME}.log"
#${PACKAGE_NAME_UPPER}="${PACKAGE_NAME}"
#${PACKAGE_NAME_UPPER}_PORT="8888"
EOF
to --condition AX_USE_NODEJS nodejs/etc/init/${PACKAGE_NAME}.conf <<EOF
#!upstart
description "$(head -1 README)"
description "$DESCRIPTION"
author "$(head -1 AUTHORS)"
start on (local-filesystems and net-device-up)
@ -1060,35 +1122,35 @@ 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=""
EXEC_${PACKAGE_NAME_UPPER}="/usr/bin/nodejs /usr/share/${PACKAGE_NAME}/nodejs/${PACKAGE_NAME}"
${PACKAGE_NAME_UPPER}_LOG="/var/log/${PACKAGE_NAME}.log"
${PACKAGE_NAME_UPPER}_USER="${PACKAGE_NAME}"
${PACKAGE_NAME_UPPER}_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
if test -n "\${${PACKAGE_NAME_UPPER}_USER}"; then
exec sudo -u "\${${PACKAGE_NAME_UPPER}_USER}" \${EXEC_${PACKAGE_NAME_UPPER}} \${${PACKAGE_NAME_UPPER}_PORT} >> \${${PACKAGE_NAME_UPPER}_LOG} 2>&1
else
exec \${EXEC_${PACKAGE_NAME^^}} \${${PACKAGE_NAME^^}_PORT} >> \${${PACKAGE_NAME^^}_LOG} 2>&1
exec \${EXEC_${PACKAGE_NAME_UPPER}} \${${PACKAGE_NAME_UPPER}_PORT} >> \${${PACKAGE_NAME_UPPER}_LOG} 2>&1
fi
end script
pre-start script
${PACKAGE_NAME^^}_LOG="/var/log/${PACKAGE_NAME}.log"
${PACKAGE_NAME_UPPER}_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}
echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Starting" >> \${${PACKAGE_NAME_UPPER}_LOG}
end script
pre-stop script
${PACKAGE_NAME^^}_LOG="/var/log/${PACKAGE_NAME}.log"
${PACKAGE_NAME_UPPER}_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}
echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Stopping" >> \${${PACKAGE_NAME_UPPER}_LOG}
end script
EOF
to --condition AX_USE_NODEJS nodejs/etc/systemd/system/${PACKAGE_NAME}.service <<EOF
[Unit]
Description=$(head -1 README)
Description=$DESCRIPTION
[Service]
ExecStart=/usr/bin/nodejs /usr/share/${PACKAGE_NAME}/nodejs/${PACKAGE_NAME}
@ -1216,11 +1278,11 @@ to --condition AX_USE_NODEJS nodejs/views/index.ejs <<EOF
<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>
<title>$DESCRIPTION</title>
</head>
<body>
<h1>$(head -1 README)</h1>
<h1>$DESCRIPTION</h1>
<p>generated by bootstrap, please edit</p>
</body>
</html>
@ -1571,7 +1633,7 @@ EOF2
EOF
to debian/docs <<EOF
NEWS
README
$README
EOF
to --condition AX_USE_LIBTOOL debian/${PACKAGE_NAME}.install <<EOF
usr/lib/lib*.so.*
@ -1616,7 +1678,7 @@ fi)
$(if testtag AX_RPM_DEPEND; then echo "Requires: @RPM_DEPEND@"; fi)
Source0: %{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: which, pkgconfig, gnupg, expect, ${VCSDEPENDS_RPM}make, automake, autoconf, rpm-build$(
BuildRequires: which, pkgconfig, pandoc, gnupg, expect, ${VCSDEPENDS_RPM}make, automake, autoconf, rpm-build$(
if testtag AX_USE_CXX; then
echo -n ", binutils-devel, gcc-c++"
fi
@ -1699,6 +1761,14 @@ echo '/usr/bin'
echo '/usr/share/applications'
fi)
/usr/share/@PACKAGE_NAME@
$(if testtag AX_USE_ETC; then
cat <<EOF2
%config
/etc/*
EOF2
fi)
%doc
/usr/share/doc
@ -1770,7 +1840,18 @@ $(case "$VCS" in
esac)
fi
aclocal
$(if testtag AX_USE_LIBTOOL; then echo libtoolize --force; fi)
$(if testtag AX_USE_LIBTOOL; then
cat <<EOF1
if which libtoolize > /dev/null; then
run libtoolize --force;
elif which glibtoolize > /dev/null; then
run glibtoolize --force;
else
echo "error: libtoolize not found" 1>&2
exit 1
fi
EOF1
fi)
automake -a
autoconf
EOF
@ -1779,15 +1860,24 @@ ${HEADER}SUBDIRS =${SUBDIRS}
desktopdir = \${datadir}/applications
desktop_DATA = @PACKAGE_DESKTOP@
dist_pkgdata_DATA = @PACKAGE_ICON@ ax_check_qt.m4 bootstrap.sh \\
resolve-rpmbuilddeps.sh autogen.sh \\
dist_pkgdata_DATA = @PACKAGE_ICON@
dist_noinst_DATA = ax_check_qt.m4 bootstrap.sh \\
resolve-rpmbuilddeps.sh autogen.sh \\
ax_cxx_compile_stdcxx_11.m4 build-in-docker.sh \\
build-resource-file.sh \\
ax_init_standard_project.m4 \\
mac-create-app-bundle.sh resolve-debbuilddeps.sh \\
dependency-graph.sh template.sh \\
sql-to-dot.sed
dist_doc_DATA = AUTHORS NEWS README COPYING INSTALL ChangeLog
dist_doc_DATA = AUTHORS NEWS $README COPYING INSTALL ChangeLog
$(if test -e README.md -a ! -e README; then
cat <<EOF2
README: README.md
CLEANFILES = README
EOF2
fi)
MAINTAINERCLEANFILES = makefile.in
EOF
to --condition AX_USE_LIBTOOL src/${PACKAGE_NAME}.pc.in <<EOF
@ -1829,7 +1919,15 @@ else
#### Bootstrap Before Configure ####
run --no-check vcs2cl
run aclocal
if testtag AX_USE_LIBTOOL; then run libtoolize --force; fi
if testtag AX_USE_LIBTOOL; then
if which libtoolize > /dev/null; then
run libtoolize --force;
elif which glibtoolize > /dev/null; then
run glibtoolize --force;
else
error libtoolize not found
fi
fi
run automake -a
run autoconf

@ -0,0 +1,171 @@
#!/bin/bash -e
# template for bash scripts
# internal use only
append_msg() {
if test $# -ne 0; then
echo -en ":\e[0m \e[1m$*"
fi
echo -e "\e[0m"
}
# write a notice
notice() {
if test $# -eq 0; then
return
fi
echo -e "\e[1m$*\e[0m" 1>&3
}
# write error message
error() {
echo -en "\e[1;31merror" 1>&2
append_msg $* 1>&2
}
# write a warning message
warning() {
echo -en "\e[1;33mwarning" 1>&2
append_msg $* 1>&2
}
# write a success message
success() {
echo -en "\e[1;32msuccess" 1>&2
append_msg $* 1>&2
}
# commandline parameter evaluation
files=${0%/*}/configure.ac
short=0
while test $# -gt 0; do
case "$1" in
(--short|-s) short=1;;
(--help|-h) less <<EOF
SYNOPSIS
$0 [OPTIONS] <files>
OPTIONS
--help, -h show this help
--short, -s short graph with no external dependencies
<files> list of zero or more configure.ac files
(default: ${files})
DESCRIPTION
Evaluates dependencies of all the given configure.ac file. By
default takes the local configure.ac. Outputs a graphwiz dot file
with the dependencies. Solid lines are required dependencies, dotted
lines are optional dependencies.
EXAMPLE
Evaluate all dependencies between all local subversion and git
projects, if they are in the path ~/svn and ~/git:
$0 ~/svn/*/configure.ac ~/git/*/configure.ac
EOF
exit;;
(*) files=$*; break;;
esac
if test $# -eq 0; then
error "missing parameter, try $0 --help"; exit 1
fi
shift;
done
# run a command, print the result and abort in case of error
# option: --no-check: ignore the result, continue in case of error
run() {
check=1
while test $# -gt 0; do
case "$1" in
(--no-check) check=0;;
(*) break;;
esac
shift;
done
echo -en "\e[1m-> running:\e[0m $* ..."
result=$($* 2>&1)
res=$?
if test $res -ne 0; then
if test $check -eq 1; then
error "failed with return code: $res"
if test -n "$result"; then
echo "$result"
fi
exit 1
else
warning "ignored return code: $res"
fi
else
success
fi
}
# error handler
function traperror() {
set +x
local err=($1) # error status
local line="$2" # LINENO
local linecallfunc="$3"
local command="$4"
local funcstack="$5"
for e in ${err[@]}; do
if test -n "$e" -a "$e" != "0"; then
error "line $line - command '$command' exited with status: $e (${err[@]})"
if [ "${funcstack}" != "main" -o "$linecallfunc" != "0" ]; then
echo -n " ... error at ${funcstack} "
if [ "$linecallfunc" != "" ]; then
echo -n "called at line $linecallfunc"
fi
echo
fi
exit $e
fi
done
success
exit 0
}
# catch errors
trap 'traperror "$? ${PIPESTATUS[@]}" $LINENO $BASH_LINENO "$BASH_COMMAND" "${FUNCNAME[@]}" "${FUNCTION}"' ERR SIGINT INT TERM EXIT
##########################################################################################
filter() {
if test $short -eq 1; then
all=$(cat)
allowed=$(sed -n '/"\(.*\)" \[style=solid\];/{s//\1/;H};${x;s/\n//;s/\n/\\|/gp}' <<<"${all}")
sed -n '/"\('"${allowed}"'\)" -> "\('"${allowed}"'\)"/p' <<<"${all}"
else
cat
fi
}
echo "digraph G {"
if test $short -eq 0; then
echo "node [style=dashed];"
fi
(
for file in $files; do
if ! test -e $file; then
error "file $file not found"; exit 1
fi
sed -n '
/^ *m4_define(x_package_name, */ {s//"/;s/ *).*/"/;h;s/.*/& [style=solid];/p}
/^ *AX_REQUIRE_QT/ {s/.*/"qt" -> /;G;s/\n//;s/.*/&;/p}
/^ *AX_PKG_REQUIRE(\[\?\([^],)]\+\)\]\?, \[\?\([^],)]\+\)\]\?.*/ {s//"\2" -> /;G;s/\n//;s/.*/&;/p}
/^ *AX_PKG_REQUIRE(\[\?\([^],)]\+\)\]\?.*/ {s//"\1" -> /;G;s/\n//;s/.*/&;/p}
/^ *AX_CHECK_QT/ {s/.*/"qt" -> /;G;s/\n//;s/.*/& [style=dashed];/p}
/^ *AX_PKG_CHECK(\[\?\([^],)]\+\)\]\?, \[\?\([^],)]\+\)\]\?.*/ {s//"\2" -> /;G;s/\n//;s/.*/& [style=dotted];/p}
/^ *AX_PKG_CHECK(\[\?\([^],)]\+\)\]\?.*/ {s//"\1" -> /;G;s/\n//;s/.*/& [style=dotted];/p}
' $file
done
) | filter
echo "}"

@ -38,6 +38,7 @@ executablefile=$(ls -1 ${1}/Contents/MacOS/ | head -1)
! test -d ${3}/share || rmdir ${3}/share
! test -d ${3} || \
find ${3} -mindepth 1 -maxdepth 1 -exec mv {} ${1}/Contents/Resources/ \;
! test -d ${3}/include || rm -r ${3}/include
! test -d ${3} || rmdir ${3}
! test -d ${1}/tmp || rm -r ${1}/tmp

@ -38,6 +38,7 @@ executablefile=$(ls -1 ${1}/Contents/MacOS/ | head -1)
! test -d ${3}/share || rmdir ${3}/share
! test -d ${3} || \
find ${3} -mindepth 1 -maxdepth 1 -exec mv {} ${1}/Contents/Resources/ \;
! test -d ${3}/include || rm -r ${3}/include
! test -d ${3} || rmdir ${3}
! test -d ${1}/tmp || rm -r ${1}/tmp

@ -0,0 +1,160 @@
#!/bin/bash -e
##########################################################################################
#### template for bash scripts #### START BELOW ##########################################
##########################################################################################
############################################################################ begin logging
# check if stdout is a terminal...
if test -t 1; then
# see if it supports colors...
ncolors=$(tput colors)
if test -n "$ncolors" && test $ncolors -ge 8; then
bold="$(tput bold)"
underline="$(tput smul)"
standout="$(tput smso)"
normal="$(tput sgr0)"
black="$(tput setaf 0)"
red="$(tput setaf 1)"
green="$(tput setaf 2)"
yellow="$(tput setaf 3)"
blue="$(tput setaf 4)"
magenta="$(tput setaf 5)"
cyan="$(tput setaf 6)"
white="$(tput setaf 7)"
fi
fi
append_msg() {
if test $# -ne 0; then
echo -n ": ${bold}$*"
fi
echo "${normal}"
}
# write a message
message() {
if test $# -eq 0; then
return
fi
echo "${bold}${while}$*${normal}" 1>&2
}
# write a success message
success() {
echo -n "${bold}${green}success" 1>&2
append_msg $* 1>&2
}
# write a notice
notice() {
echo -n "${bold}${yellow}notice" 1>&2
append_msg $* 1>&2
}
# write a warning message
warning() {
echo -en "${bold}${red}warning" 1>&2
append_msg $* 1>&2
}
# write error message
error() {
echo -en "${bold}${red}error" 1>&2
append_msg $* 1>&2
}
# run a command, print the result and abort in case of error
# option: --ignore: ignore the result, continue in case of error
run() {
ignore=1
while test $# -gt 0; do
case "$1" in
(--ignore) ignore=0;;
(*) break;;
esac
shift;
done
echo -n "${bold}${yellow}running:${white} $*${normal}"
set +e
result=$($* 2>&1)
res=$?
set -e
if test $res -ne 0; then
if test $ignore -eq 1; then
error "failed with return code: $res"
if test -n "$result"; then
echo "$result"
fi
exit 1
else
warning "ignored return code: $res"
fi
else
success
fi
}
############################################################################ error handler
function traperror() {
set +x
local err=($1) # error status
local line="$2" # LINENO
local linecallfunc="$3"
local command="$4"
local funcstack="$5"
IFS=" "
for e in ${err[@]}; do
if test -n "$e" -a "$e" != "0"; then
error "line $line - command '$command' exited with status: $e (${err[@]})"
if [ "${funcstack}" != "main" -o "$linecallfunc" != "0" ]; then
echo -n " ... error at ${funcstack} " 1>&2
if [ "$linecallfunc" != "" ]; then
echo -n "called at line $linecallfunc" 1>&2
fi
echo
fi
exit $e
fi
done
success
exit 0
}
# catch errors
trap 'traperror "$? ${PIPESTATUS[@]}" $LINENO $BASH_LINENO "$BASH_COMMAND" "${FUNCNAME[@]}" "${FUNCTION}"' ERR SIGINT INT TERM EXIT
##########################################################################################
#### START HERE ##########################################################################
##########################################################################################
######################################################### commandline parameter evaluation
while test $# -gt 0; do
case "$1" in
(--help|-h) less <<EOF
SYNOPSIS
$0 [OPTIONS]
OPTIONS
--help, -h show this help
DESCRIPTION
EOF
exit;;
(*) error "unknow option $1, try $0 --help"; exit 1;;
esac
if test $# -eq 0; then
error "missing parameter, try $0 --help"; exit 1
fi
shift;
done
##################################################################################### Main
Loading…
Cancel
Save