From 3c99c02cfc398b74392663725283e3dabe6a1c7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20W=C3=A4ckerlin?= Date: Thu, 5 Jul 2018 15:38:26 +0200 Subject: [PATCH] fix rpm builds --- ChangeLog | 946 ---------------------------- ax_init_standard_project.m4 | 64 +- bootstrap-build-environment.spec.in | 10 +- bootstrap.sh | 19 +- build-in-docker.sh | 19 +- mac-create-app-bundle.sh | 62 +- resolve-debbuilddeps.sh | 2 +- resolve-rpmbuilddeps.sh | 4 +- scripts/ax_init_standard_project.m4 | 62 +- scripts/bootstrap.sh | 15 +- scripts/build-in-docker.sh | 19 +- scripts/resolve-debbuilddeps.sh | 2 +- scripts/resolve-rpmbuilddeps.sh | 4 +- 13 files changed, 149 insertions(+), 1079 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1d08f6e..e69de29 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,946 +0,0 @@ -2017-12-21 15:19 - - * [r164] COPYING, ChangeLog, INSTALL, ax_check_qt.m4, - ax_init_standard_project.m4, bootstrap.sh, - dependency-graph.sh[ADD], mac-create-app-bundle.sh, - scripts/mac-create-app-bundle.sh, template.sh[ADD]: - update of build system - -2017-12-15 15:48 - - * [r163] scripts/template.sh: - update shell template - -2017-12-07 12:10 - - * [r162] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh: - bugfix - -2017-12-07 10:13 - - * [r161] scripts/bootstrap.sh: - fixed severe bug in option evaluation - -2017-12-07 09:54 - - * [r160] scripts/bootstrap.sh: - ad option -i --install - -2017-12-06 15:24 - - * [r159] scripts/bootstrap.sh: - fix for macosx bash - -2017-12-06 14:54 - - * [r158] scripts/bootstrap.sh, scripts/template.sh: - fix output for mac - -2017-12-06 11:01 - - * [r157] scripts/ax_check_qt.m4, scripts/bootstrap.sh: - allow subdirs with qt; test for glibtoolize on Mac OSX - -2017-11-29 15:57 - - * [r156] scripts/ax_check_qt.m4, - scripts/ax_init_standard_project.m4: - allow recursive C++ source directories - -2017-11-29 07:26 - - * [r155] scripts/template.sh: - fix stderr - -2017-07-29 18:16 - - * [r154] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh: - better support for README.md; timeout for svn2cl and git2cl - -2017-07-14 14:50 - - * [r153] scripts/ax_init_standard_project.m4: - added package and version output at end of configuration - -2017-07-14 14:46 - - * [r152] scripts/bootstrap.sh: - added config dir - -2017-06-27 14:36 - - * [r151] scripts/bootstrap.sh: - do not install auxiliary development scripts - -2017-06-16 11:48 - - * [r150] scripts/dependency-graph.sh: - dependency-graph.sh improved - -2017-06-16 11:06 - - * [r149] scripts/bootstrap.sh, scripts/dependency-graph.sh[ADD], - scripts/template.sh[ADD]: - added template for bash scripts; added dependency-graph.sh to get - project dependencies - -2017-06-15 10:57 - - * [r148] COPYING, ChangeLog, INSTALL, ax_check_qt.m4, - ax_init_standard_project.m4, bootstrap-build-environment.spec.in, - bootstrap.sh, build-in-docker.sh, configure.ac, debian, - debian/changelog.in[ADD], debian/compat[ADD], - debian/control.in[ADD], debian/docs[ADD], debian/rules[ADD], doc, - doc/doxyfile.in[ADD], doc/footer.html.in[ADD], - doc/header.html.in[ADD], doc/makefile.am[ADD], - doc/plantuml.jar[ADD], doc/style.css[ADD], makefile.am, - resolve-debbuilddeps.sh, resolve-rpmbuilddeps.sh, - rpmsign.exp[ADD], scripts/ax_check_qt.m4, - scripts/ax_init_standard_project.m4, scripts/bootstrap.sh: - fixed build for rpm and deb - -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 - diff --git a/ax_init_standard_project.m4 b/ax_init_standard_project.m4 index 742db8d..864c92e 100644 --- a/ax_init_standard_project.m4 +++ b/ax_init_standard_project.m4 @@ -1,4 +1,4 @@ -## @id $Id$ +## @id $Id: ax_init_standard_project.m4 204 2016-09-29 18:29:53Z marc $ ## 1 2 3 4 5 6 7 8 ## 45678901234567890123456789012345678901234567890123456789012345678901234567890 @@ -1066,13 +1066,16 @@ AC_DEFUN([AX_CHECK_VALID_LD_FLAG], [ # Check if a package exists in the current distribution, if yes, require it # in debian/control.in append @DEB_DEPEND_IFEXISTS@ to Build-Depends +# if you pass a list, it will require the first matching, if any matches # - parameter: -# $1 = package name +# $1 = space separated list of package names AC_DEFUN([AX_DEB_DEPEND_IFEXISTS], [ - pkg="$1" - if test -n "$(apt-cache policy -q ${pkg} 2> /dev/null)"; then - DEB_DEPEND_IFEXISTS="${DEB_DEPEND_IFEXISTS}, ${pkg}" - fi + for pkg in $1; do + if test -n "$(apt-cache policy -q ${pkg} 2> /dev/null)"; then + DEB_DEPEND_IFEXISTS="${DEB_DEPEND_IFEXISTS}, ${pkg}" + break + fi + done ]) # require package in debian/control.in append @DEB_BUILD_DEPEND@ to Build-Depends @@ -1109,17 +1112,19 @@ AC_DEFUN([AX_DEB_RESOLVE], [ # Check if a package exists in the current distribution, if yes, require it # in .spec.in append @RPM_DEPEND_IFEXISTS@ to Build-Depends +# if you pass a list, it will require the first matching, if any matches # - parameter: -# $1 = package name +# $1 = space separated package names AC_DEFUN([AX_RPM_DEPEND_IFEXISTS], [ - pkg="$1" - - if (test -x /usr/bin/zypper && zypper search -x "$pkg" 1>&2 > /dev/null) || \ - (test -x /usr/bin/dnf && dnf list -q "$pkg" 1>&2 > /dev/null) || \ - (test -x /usr/bin/yum && yum list -q "$pkg" 1>&2 > /dev/null) || \ - (test -x /usr/sbin/urpmq && urpmq "$pkg" 1>&2 > /dev/null); then - RPM_DEPEND_IFEXISTS="${RPM_DEPEND_IFEXISTS}, ${pkg}" - fi + for pkg in $1; do + if (test -x /usr/bin/zypper && zypper search -x "$pkg" 1>&2 > /dev/null) || \ + (test -x /usr/bin/dnf && dnf list -q "$pkg" 1>&2 > /dev/null) || \ + (test -x /usr/bin/yum && yum list -q "$pkg" 1>&2 > /dev/null) || \ + (test -x /usr/sbin/urpmq && urpmq "$pkg" 1>&2 > /dev/null); then + RPM_DEPEND_IFEXISTS="${RPM_DEPEND_IFEXISTS}, ${pkg}" + break + fi + done ]) # require package in .spec.in append @RPM_BUILD_DEPEND@ to Build-Depends @@ -1160,36 +1165,23 @@ AC_DEFUN([AX_RPM_RESOLVE], [ # Check if a package exists in the current distribution, if yes, require it # in .spec.in append @ALL_DEPEND_IFEXISTS@ to Build-Depends +# if you pass a list, it will require the first matching, if any matches # - parameter: -# $1 = package name +# $1 = space separated list of package names AC_DEFUN([AX_ALL_DEPEND_IFEXISTS], [ - pkg="$1" - if test -n "$(apt-cache policy -q ${pkg} 2> /dev/null)"; then - DEB_DEPEND_IFEXISTS="${DEB_DEPEND_IFEXISTS}, ${pkg}" - fi - if (test -x /usr/bin/zypper && zypper search -x "$pkg" 1>&2 > /dev/null) || \ - (test -x /usr/bin/dnf && dnf list -q "$pkg" 1>&2 > /dev/null) || \ - (test -x /usr/bin/yum && yum list -q "$pkg" 1>&2 > /dev/null) || \ - (test -x /usr/sbin/urpmq && urpmq "$pkg" 1>&2 > /dev/null); then - RPM_DEPEND_IFEXISTS="${RPM_DEPEND_IFEXISTS}, ${pkg}" - fi + AX_DEB_DEPEND_IFEXISTS([$1]) + AX_RPM_DEPEND_IFEXISTS([$1]) ]) # Check if a package exists in the current distribution, if yes, require it # in .spec.in append @ALL_DEPEND_IFEXISTS@ to Build-Depends +# if you pass a list, it will require the first matching, if any matches # - parameter: # $1 = package name AC_DEFUN([AX_ALL_DEPEND_IFEXISTS_DEV], [ - pkg="$1" - if test -n "$(apt-cache policy -q ${pkg}-dev 2> /dev/null)"; then - DEB_DEPEND_IFEXISTS="${DEB_DEPEND_IFEXISTS}, ${pkg}-dev" - fi - if (test -x /usr/bin/zypper && zypper search -x "$pkg"-devel 1>&2 > /dev/null) || \ - (test -x /usr/bin/dnf && dnf list -q "$pkg"-devel 1>&2 > /dev/null) || \ - (test -x /usr/bin/yum && yum list -q "$pkg"-devel 1>&2 > /dev/null) || \ - (test -x /usr/sbin/urpmq && urpmq "$pkg"-devel 1>&2 > /dev/null); then - RPM_DEPEND_IFEXISTS="${RPM_DEPEND_IFEXISTS}, ${pkg}-devel" - fi + pkgs="$1" + AX_DEB_DEPEND_IFEXISTS([${pkgs// /-dev }-dev]) + AX_RPM_DEPEND_IFEXISTS([${pkgs// /-devel }-devel]) ]) # require package in .spec.in append @ALL_BUILD_DEPEND@ to Build-Depends diff --git a/bootstrap-build-environment.spec.in b/bootstrap-build-environment.spec.in index 06f0a8d..bc89f56 100644 --- a/bootstrap-build-environment.spec.in +++ b/bootstrap-build-environment.spec.in @@ -7,21 +7,26 @@ Group: @RPM_GROUP@ Source0: %{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root -BuildRequires: which, pkgconfig, gnupg, expect, subversion, make, automake, autoconf, rpm-build, doxygen, graphviz, java-openjdk @RPM_BUILD_DEPEND@ @RPM_DEPEND_IFEXISTS@ +BuildRequires: which, pkgconfig, gnupg, expect, git, make, automake, autoconf, rpm-build, doxygen, graphviz, java-openjdk @RPM_BUILD_DEPEND@ @RPM_DEPEND_IFEXISTS@ #### os dependent definitions #### %if 0%{?suse_version} || 0%{?sles_version} BuildRequires: lsb-release %else - %if 0%{?mageia} BuildRequires: rpm-sign, lsb-release + %else + BuildRequires: rpm-sign, redhat-lsb +%global debug_package %{nil} %endif %endif %if ! 0%{?centos} BuildRequires: mscgen +%if ! 0%{?mageia} +BuildRequires: pandoc +%endif %endif %description @@ -48,6 +53,7 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) /usr/share/@PACKAGE_NAME@ + %doc /usr/share/doc diff --git a/bootstrap.sh b/bootstrap.sh index cfa5546..ffcbfc9 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -1,7 +1,7 @@ #! /bin/bash ## @file ## -## $Id$ +## $Id: bootstrap.sh 52 2015-11-03 15:38:21Z marc $ ## ## $Date: 2004/08/31 15:57:19 $ ## $Author: marc $ @@ -41,7 +41,7 @@ while test $# -gt 0; do (--no-vcs|-n) novcs=1;; (--exclude-vcs|-x) shift; excludevcs+=("$1");; (--version|-v) - echo "$Id$"; + echo "$Id: bootstrap.sh 52 2015-11-03 15:38:21Z marc $"; exit;; (--help|-h) less <> /etc/apt/preferences" docker exec ${DOCKER_ID} bash -c "echo 'Pin-Priority: -100' >> /etc/apt/preferences" docker exec ${DOCKER_ID} bash -c "echo >> /etc/apt/preferences" done docker exec ${DOCKER_ID} apt-get update ${OPTIONS} + docker exec ${DOCKER_ID} apt-mark hold 'libpam-systemd' 'policykit*' 'colord' docker exec ${DOCKER_ID} apt-get upgrade ${OPTIONS} - docker exec ${DOCKER_ID} apt-get install ${OPTIONS} python-software-properties software-properties-common apt-transport-https dpkg-dev lsb-release wget || \ - docker exec ${DOCKER_ID} apt-get install ${OPTIONS} software-properties-common apt-transport-https dpkg-dev lsb-release wget || \ - docker exec ${DOCKER_ID} apt-get install ${OPTIONS} python-software-properties apt-transport-https dpkg-dev lsb-release wget; + docker exec ${DOCKER_ID} apt-get install ${OPTIONS} ${PREVENT} python-software-properties software-properties-common apt-transport-https dpkg-dev lsb-release wget || \ + docker exec ${DOCKER_ID} apt-get install ${OPTIONS} ${PREVENT} software-properties-common apt-transport-https dpkg-dev lsb-release wget || \ + docker exec ${DOCKER_ID} apt-get install ${OPTIONS} ${PREVENT} python-software-properties apt-transport-https dpkg-dev lsb-release wget; for key in "${keys[@]}"; do wget -O- "$key" \ | docker exec -i ${DOCKER_ID} apt-key add - @@ -267,7 +269,7 @@ case $mode in done docker exec ${DOCKER_ID} apt-get update ${OPTIONS} for package in "${packages[@]}"; do - ifthenelse "${package}" "apt-get install ${OPTIONS} ARG" + ifthenelse "${package}" "apt-get install ${OPTIONS} ${PREVENT} ARG" done for command in "${commands[@]}"; do ifthenelse "${command}" "ARG" @@ -294,11 +296,14 @@ EOF LSB_RELEASE=/usr/bin/lsb_release fi docker exec ${DOCKER_ID} ${INSTALL_TOOL} rpm-build automake libtool subversion gcc-c++ pkgconfig wget $LSB_RELEASE + if docker exec ${DOCKER_ID} test -x /usr/bin/dnf; then + docker exec ${DOCKER_ID} dnf install -y 'dnf-command(config-manager)' + fi i=0 for key in "${keys[@]}"; do - wget -Orpm-key "$key" + docker exec -i ${DOCKER_ID} wget -Orpm-key "$key" docker exec -i ${DOCKER_ID} rpm --import rpm-key - rm rpm-key + docker exec -i ${DOCKER_ID} 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 false)) diff --git a/mac-create-app-bundle.sh b/mac-create-app-bundle.sh index 1b8f511..7ff4573 100755 --- a/mac-create-app-bundle.sh +++ b/mac-create-app-bundle.sh @@ -7,7 +7,7 @@ ## Parameters: ## $1: name of the app-target ## $2: name of the project -## $3: installation source +## $3: package installation target ## ## 1 2 3 4 5 6 7 8 ## 45678901234567890123456789012345678901234567890123456789012345678901234567890 @@ -16,31 +16,33 @@ if test "$(uname -s)" != "Darwin"; then echo "**** ERROR: run on Mac OS-X: $0" exit 1 fi -test -n "$1" -test -n "$2" -test -d "$3" -target="$(pwd)/${1}/Contents/MacOS" + +cd ${0%/*} + +project=${2:-$(sed -n 's/ *m4_define *( *x_package_name, *\(.*\) *).*/\1/p' $(pwd)/configure.ac)} +apptarget=${1:-${project}.app} +sources=${3:-$(pwd)/usr} +test -n "$project" +test -d "$sources" +! test -e "$apptarget" || rm -rf "$apptarget" +target="$(pwd)/${apptarget}/Contents/MacOS" + +echo "Creating $apptarget for $project from $sources" # Step 1: create and fill app directory structure -mkdir -p ${1}/Contents/{Resources,MacOS} -! test -d ${3}/bin || \ - find ${3}/bin -mindepth 1 -maxdepth 1 -exec mv {} ${1}/Contents/MacOS/ \; -executablefile=$(ls -1 ${1}/Contents/MacOS/ | head -1) -! test -d ${3}/lib || \ - find ${3}/lib -mindepth 1 -maxdepth 1 -exec mv {} ${1}/Contents/MacOS/ \; -! test -d ${3}/share/${2} || \ - find ${3}/share/${2} -mindepth 1 -maxdepth 1 -exec mv {} ${1}/Contents/Resources/ \; -! test -d ${3}/share/${2} || rmdir ${3}/share/${2} -! test -d ${3}/share || \ - find ${3}/share -mindepth 1 -maxdepth 1 -exec mv {} ${1}/Contents/Resources/ \; -! test -d ${3}/bin || rmdir ${3}/bin -! test -d ${3}/lib || rmdir ${3}/lib -! 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 +mkdir -p ${apptarget}/Contents/{Resources,MacOS} +! test -d ${sources}/bin || \ + find ${sources}/bin -mindepth 1 -maxdepth 1 -exec cp -a {} ${apptarget}/Contents/MacOS/ \; +executablefile=${apptarget}/Contents/MacOS/${project} +test -x $executablefile || executablefile=$(ls -1 ${apptarget}/Contents/MacOS/ | head -1) +! test -d ${sources}/lib || \ + find ${sources}/lib -mindepth 1 -maxdepth 1 -exec cp -a {} ${apptarget}/Contents/MacOS/ \; +! test -d ${sources}/share/${project} || \ + find ${sources}/share/${project} -mindepth 1 -maxdepth 1 -exec cp -a {} ${apptarget}/Contents/Resources/ \; +! test -d ${sources}/share || \ + find ${sources}/share -mindepth 1 -maxdepth 1 -exec cp -a {} ${apptarget}/Contents/Resources/ \; +! test -d ${sources} || \ + find ${sources} -mindepth 1 -maxdepth 1 -exec cp -a {} ${apptarget}/Contents/Resources/ \; # Step 2: copy qt plugins, if necessary for f in ${QT_PLUGINS}; do @@ -79,23 +81,23 @@ if test -n "${QTDIR}"; then MENU_NIB=$(find ${QTDIR} -name .svn -o -name .git -prune -o -name qt_menu.nib -print \ | head -1) if test -e "${MENU_NIB}"; then - rsync -r "${MENU_NIB}" ${1}/Contents/Resources/ - test -d ${1}/Contents/Resources/qt_menu.nib + rsync -r "${MENU_NIB}" ${apptarget}/Contents/Resources/ + test -d ${apptarget}/Contents/Resources/qt_menu.nib fi fi # Step 5: copy or create info.plist -infoplist=$(find ${1}/Contents/Resources -name Info.plist) +infoplist=$(find ${apptarget}/Contents/Resources -name Info.plist) if test -f "${infoplist}"; then - mv "${infoplist}" ${1}/Contents/Info.plist + cp -a "${infoplist}" ${apptarget}/Contents/Info.plist else - cat > ${1}/Contents/Info.plist < ${apptarget}/Contents/Info.plist < CFBundleIdentifier - ${2} + ${project} CFBundleExecutable ${executablefile##/} diff --git a/resolve-debbuilddeps.sh b/resolve-debbuilddeps.sh index 36a94e6..e7663eb 100755 --- a/resolve-debbuilddeps.sh +++ b/resolve-debbuilddeps.sh @@ -24,7 +24,7 @@ else fi function install() { - if ${SUDO} apt-get -y install $*; then + if ${SUDO} apt-get install -y --force-yes --no-install-suggests --no-install-recommends $*; then return 0 else return 1 diff --git a/resolve-rpmbuilddeps.sh b/resolve-rpmbuilddeps.sh index 7c1843b..56bfd4f 100755 --- a/resolve-rpmbuilddeps.sh +++ b/resolve-rpmbuilddeps.sh @@ -97,12 +97,12 @@ fi if test -n "${SCHROOTNAME}"; then FILES=$(LANG= schroot -c ${SCHROOTNAME} -- rpmbuild -bb --clean --nobuild --define "_topdir ." --define "_sourcedir ." ${PACKAGE_NAME}.spec 2>&1 | sed -n 's, is needed by.*,,p') - if test -n "${FILES}"; then + if test -n "${FILES}${DEPS}"; then schroot -c ${SCHROOTNAME} -u root -- ${INSTALL_TOOL} ${FILES} ${DEPS} fi else FILES=$(LANG= rpmbuild -bb --clean --nobuild --define "_topdir ." --define "_sourcedir ." ${PACKAGE_NAME}.spec 2>&1 | sed -n 's, is needed by.*,,p') - if test -n "${FILES}"; then + if test -n "${FILES}${DEPS}"; then ${INSTALL_TOOL} ${FILES} ${DEPS} fi fi diff --git a/scripts/ax_init_standard_project.m4 b/scripts/ax_init_standard_project.m4 index c9ddd1b..864c92e 100644 --- a/scripts/ax_init_standard_project.m4 +++ b/scripts/ax_init_standard_project.m4 @@ -1066,13 +1066,16 @@ AC_DEFUN([AX_CHECK_VALID_LD_FLAG], [ # Check if a package exists in the current distribution, if yes, require it # in debian/control.in append @DEB_DEPEND_IFEXISTS@ to Build-Depends +# if you pass a list, it will require the first matching, if any matches # - parameter: -# $1 = package name +# $1 = space separated list of package names AC_DEFUN([AX_DEB_DEPEND_IFEXISTS], [ - pkg="$1" - if test -n "$(apt-cache policy -q ${pkg} 2> /dev/null)"; then - DEB_DEPEND_IFEXISTS="${DEB_DEPEND_IFEXISTS}, ${pkg}" - fi + for pkg in $1; do + if test -n "$(apt-cache policy -q ${pkg} 2> /dev/null)"; then + DEB_DEPEND_IFEXISTS="${DEB_DEPEND_IFEXISTS}, ${pkg}" + break + fi + done ]) # require package in debian/control.in append @DEB_BUILD_DEPEND@ to Build-Depends @@ -1109,17 +1112,19 @@ AC_DEFUN([AX_DEB_RESOLVE], [ # Check if a package exists in the current distribution, if yes, require it # in .spec.in append @RPM_DEPEND_IFEXISTS@ to Build-Depends +# if you pass a list, it will require the first matching, if any matches # - parameter: -# $1 = package name +# $1 = space separated package names AC_DEFUN([AX_RPM_DEPEND_IFEXISTS], [ - pkg="$1" - - if (test -x /usr/bin/zypper && zypper search -x "$pkg" 1>&2 > /dev/null) || \ - (test -x /usr/bin/dnf && dnf list -q "$pkg" 1>&2 > /dev/null) || \ - (test -x /usr/bin/yum && yum list -q "$pkg" 1>&2 > /dev/null) || \ - (test -x /usr/sbin/urpmq && urpmq "$pkg" 1>&2 > /dev/null); then - RPM_DEPEND_IFEXISTS="${RPM_DEPEND_IFEXISTS}, ${pkg}" - fi + for pkg in $1; do + if (test -x /usr/bin/zypper && zypper search -x "$pkg" 1>&2 > /dev/null) || \ + (test -x /usr/bin/dnf && dnf list -q "$pkg" 1>&2 > /dev/null) || \ + (test -x /usr/bin/yum && yum list -q "$pkg" 1>&2 > /dev/null) || \ + (test -x /usr/sbin/urpmq && urpmq "$pkg" 1>&2 > /dev/null); then + RPM_DEPEND_IFEXISTS="${RPM_DEPEND_IFEXISTS}, ${pkg}" + break + fi + done ]) # require package in .spec.in append @RPM_BUILD_DEPEND@ to Build-Depends @@ -1160,36 +1165,23 @@ AC_DEFUN([AX_RPM_RESOLVE], [ # Check if a package exists in the current distribution, if yes, require it # in .spec.in append @ALL_DEPEND_IFEXISTS@ to Build-Depends +# if you pass a list, it will require the first matching, if any matches # - parameter: -# $1 = package name +# $1 = space separated list of package names AC_DEFUN([AX_ALL_DEPEND_IFEXISTS], [ - pkg="$1" - if test -n "$(apt-cache policy -q ${pkg} 2> /dev/null)"; then - DEB_DEPEND_IFEXISTS="${DEB_DEPEND_IFEXISTS}, ${pkg}" - fi - if (test -x /usr/bin/zypper && zypper search -x "$pkg" 1>&2 > /dev/null) || \ - (test -x /usr/bin/dnf && dnf list -q "$pkg" 1>&2 > /dev/null) || \ - (test -x /usr/bin/yum && yum list -q "$pkg" 1>&2 > /dev/null) || \ - (test -x /usr/sbin/urpmq && urpmq "$pkg" 1>&2 > /dev/null); then - RPM_DEPEND_IFEXISTS="${RPM_DEPEND_IFEXISTS}, ${pkg}" - fi + AX_DEB_DEPEND_IFEXISTS([$1]) + AX_RPM_DEPEND_IFEXISTS([$1]) ]) # Check if a package exists in the current distribution, if yes, require it # in .spec.in append @ALL_DEPEND_IFEXISTS@ to Build-Depends +# if you pass a list, it will require the first matching, if any matches # - parameter: # $1 = package name AC_DEFUN([AX_ALL_DEPEND_IFEXISTS_DEV], [ - pkg="$1" - if test -n "$(apt-cache policy -q ${pkg}-dev 2> /dev/null)"; then - DEB_DEPEND_IFEXISTS="${DEB_DEPEND_IFEXISTS}, ${pkg}-dev" - fi - if (test -x /usr/bin/zypper && zypper search -x "$pkg"-devel 1>&2 > /dev/null) || \ - (test -x /usr/bin/dnf && dnf list -q "$pkg"-devel 1>&2 > /dev/null) || \ - (test -x /usr/bin/yum && yum list -q "$pkg"-devel 1>&2 > /dev/null) || \ - (test -x /usr/sbin/urpmq && urpmq "$pkg"-devel 1>&2 > /dev/null); then - RPM_DEPEND_IFEXISTS="${RPM_DEPEND_IFEXISTS}, ${pkg}-devel" - fi + pkgs="$1" + AX_DEB_DEPEND_IFEXISTS([${pkgs// /-dev }-dev]) + AX_RPM_DEPEND_IFEXISTS([${pkgs// /-devel }-devel]) ]) # require package in .spec.in append @ALL_BUILD_DEPEND@ to Build-Depends diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh index 705fb76..ffcbfc9 100755 --- a/scripts/bootstrap.sh +++ b/scripts/bootstrap.sh @@ -1678,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, pandoc, gnupg, expect, ${VCSDEPENDS_RPM}make, automake, autoconf, rpm-build$( +BuildRequires: which, pkgconfig, gnupg, expect, ${VCSDEPENDS_RPM}make, automake, autoconf, rpm-build$( if testtag AX_USE_CXX; then echo -n ", binutils-devel, gcc-c++" fi @@ -1700,13 +1700,17 @@ BuildRequires: lsb-release$( echo -n ", libqt5-qtbase-devel, libqt5-qttools, libqt5-linguist-devel, libQt5WebKit5-devel libqt5-qtwebengine-devel libQt5WebKitWidgets-devel"; fi) %else +%if 0%{?mageia} +BuildRequires: rpm-sign, lsb-release $( if testtag AX_REQUIRE_QT || testtag AX_CHECK_QT; then - echo -n "BuildRequires: qt5-qtbase-devel, qt5-qttools-devel, qt5-qtwebkit-devel"; + echo -n "BuildRequires: qtbase5-common-devel, qttools5, lib64qt5webkit-devel, lib64qt5webkitwidgets-devel"; fi) -%if 0%{?mageia} -BuildRequires: rpm-sign, lsb-release %else +$( + if testtag AX_REQUIRE_QT || testtag AX_CHECK_QT; then + echo -n "BuildRequires: qt5-qtbase-devel, qt5-qttools-devel, qt5-qtwebkit-devel"; + fi) BuildRequires: rpm-sign, redhat-lsb %global debug_package %{nil} %endif @@ -1715,6 +1719,9 @@ $( if testtag AX_USE_DOXYGEN; then cat <> /etc/apt/preferences" docker exec ${DOCKER_ID} bash -c "echo 'Pin-Priority: -100' >> /etc/apt/preferences" docker exec ${DOCKER_ID} bash -c "echo >> /etc/apt/preferences" done docker exec ${DOCKER_ID} apt-get update ${OPTIONS} + docker exec ${DOCKER_ID} apt-mark hold 'libpam-systemd' 'policykit*' 'colord' docker exec ${DOCKER_ID} apt-get upgrade ${OPTIONS} - docker exec ${DOCKER_ID} apt-get install ${OPTIONS} python-software-properties software-properties-common apt-transport-https dpkg-dev lsb-release wget || \ - docker exec ${DOCKER_ID} apt-get install ${OPTIONS} software-properties-common apt-transport-https dpkg-dev lsb-release wget || \ - docker exec ${DOCKER_ID} apt-get install ${OPTIONS} python-software-properties apt-transport-https dpkg-dev lsb-release wget; + docker exec ${DOCKER_ID} apt-get install ${OPTIONS} ${PREVENT} python-software-properties software-properties-common apt-transport-https dpkg-dev lsb-release wget || \ + docker exec ${DOCKER_ID} apt-get install ${OPTIONS} ${PREVENT} software-properties-common apt-transport-https dpkg-dev lsb-release wget || \ + docker exec ${DOCKER_ID} apt-get install ${OPTIONS} ${PREVENT} python-software-properties apt-transport-https dpkg-dev lsb-release wget; for key in "${keys[@]}"; do wget -O- "$key" \ | docker exec -i ${DOCKER_ID} apt-key add - @@ -267,7 +269,7 @@ case $mode in done docker exec ${DOCKER_ID} apt-get update ${OPTIONS} for package in "${packages[@]}"; do - ifthenelse "${package}" "apt-get install ${OPTIONS} ARG" + ifthenelse "${package}" "apt-get install ${OPTIONS} ${PREVENT} ARG" done for command in "${commands[@]}"; do ifthenelse "${command}" "ARG" @@ -294,11 +296,14 @@ EOF LSB_RELEASE=/usr/bin/lsb_release fi docker exec ${DOCKER_ID} ${INSTALL_TOOL} rpm-build automake libtool subversion gcc-c++ pkgconfig wget $LSB_RELEASE + if docker exec ${DOCKER_ID} test -x /usr/bin/dnf; then + docker exec ${DOCKER_ID} dnf install -y 'dnf-command(config-manager)' + fi i=0 for key in "${keys[@]}"; do - wget -Orpm-key "$key" + docker exec -i ${DOCKER_ID} wget -Orpm-key "$key" docker exec -i ${DOCKER_ID} rpm --import rpm-key - rm rpm-key + docker exec -i ${DOCKER_ID} 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 false)) diff --git a/scripts/resolve-debbuilddeps.sh b/scripts/resolve-debbuilddeps.sh index 36a94e6..e7663eb 100755 --- a/scripts/resolve-debbuilddeps.sh +++ b/scripts/resolve-debbuilddeps.sh @@ -24,7 +24,7 @@ else fi function install() { - if ${SUDO} apt-get -y install $*; then + if ${SUDO} apt-get install -y --force-yes --no-install-suggests --no-install-recommends $*; then return 0 else return 1 diff --git a/scripts/resolve-rpmbuilddeps.sh b/scripts/resolve-rpmbuilddeps.sh index 7c1843b..56bfd4f 100755 --- a/scripts/resolve-rpmbuilddeps.sh +++ b/scripts/resolve-rpmbuilddeps.sh @@ -97,12 +97,12 @@ fi if test -n "${SCHROOTNAME}"; then FILES=$(LANG= schroot -c ${SCHROOTNAME} -- rpmbuild -bb --clean --nobuild --define "_topdir ." --define "_sourcedir ." ${PACKAGE_NAME}.spec 2>&1 | sed -n 's, is needed by.*,,p') - if test -n "${FILES}"; then + if test -n "${FILES}${DEPS}"; then schroot -c ${SCHROOTNAME} -u root -- ${INSTALL_TOOL} ${FILES} ${DEPS} fi else FILES=$(LANG= rpmbuild -bb --clean --nobuild --define "_topdir ." --define "_sourcedir ." ${PACKAGE_NAME}.spec 2>&1 | sed -n 's, is needed by.*,,p') - if test -n "${FILES}"; then + if test -n "${FILES}${DEPS}"; then ${INSTALL_TOOL} ${FILES} ${DEPS} fi fi