From 124b097675061eb1a7213365405aa22c52dd461f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20W=C3=A4ckerlin?= Date: Tue, 5 May 2015 20:31:56 +0000 Subject: [PATCH] some build environment updates --- ax_init_standard_project.m4 | 10 +-- bootstrap.sh | 124 ++++++++++++++++++++++++------------ configure.ac | 5 +- debian/.dirs | 1 + debian/.install | 3 + debian/control.in | 4 +- debian/rules | 2 +- debian/webtester.install | 5 +- 8 files changed, 103 insertions(+), 51 deletions(-) create mode 100644 debian/.dirs create mode 100644 debian/.install diff --git a/ax_init_standard_project.m4 b/ax_init_standard_project.m4 index 4d98d08..56aeb31 100644 --- a/ax_init_standard_project.m4 +++ b/ax_init_standard_project.m4 @@ -5,17 +5,17 @@ # define least version number from subversion's revision number: # it is taken modulo 256 due to a bug on Apple's MacOSX -m4_define(x_least, m4_esyscmd_s( - LEAST="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-svn-checkout" +m4_define(x_version, m4_esyscmd_s( + SVN_REVISION="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-svn-checkout" for path in . .. ../..; do if svn info $path 2>&1 > /dev/null; then - # Mac does not support LEAST > 255 - LEAST=$(($(LANG= svn info $path | sed -n 's/Last Changed Rev: //p')%256)) + SVN_REVISION=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p') (cd $path && svn2cl) break; fi done - echo $ECHO_N $LEAST + # Mac does not support LEAST > 255 + echo $ECHO_N x_major.$((x_minor+$SVN_REVISION/256)).$(($SVN_REVISION%256)) )) ## bugreport mail address is taken from in first line of AUTHORS diff --git a/bootstrap.sh b/bootstrap.sh index 5b19c13..fc9831f 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -36,27 +36,49 @@ OPTIONS DESCRIPTION - Initializes your build environment, as far as neccessary. Reads your used features from configure.ac, if that file exists, or creates a configure.ac. Automatically copies or creates all required template files. - - From your new and empty project's subversion path, call $0 to initialize your build environment. - - Before you call ${MY_NAME} the very first time, edit ${0#/*}/AUTHORS and replace it with your name (or the authors of your project, one name each line, main developper and copyright holder on the first line). - - The first call to ${MY_NAME} should be something like ../bootstrap-build-environment/${MY_NAME} and not ./${MY_NAME}. Actually, you called $0. - - In the way you called ${MY_NAME}, it has detected ${DEFAULT_PROJECT_NAME} as the project name for your project in ${PROJECT_PATH}. In the first run, you should call ${MY_NAME} from a checked out the bootstrap-build-environment from https://dev.marc.waeckerlin.org/, and the path from where you call ${MY_NAME} (which is actually ${PROJECT_PATH}) should be the path to your newly created project. Please note that your project must be a checked out subversion repository, since this build environment relies on subversion. - - Example for an initial run, where your new projet is stored in subversion on svn:/path/to/your/new-project: + Initializes your build environment, as far as neccessary. Reads your + used features from configure.ac, if that file exists, or creates a + configure.ac. Automatically copies or creates all required template + files. + + From your new and empty project's subversion path, call $0 to + initialize your build environment. + + Before you call ${MY_NAME} the very first time, edit ${0#/*}/AUTHORS + and replace it with your name (or the authors of your project, one + name each line, main developper and copyright holder on the first + line). + + The first call to ${MY_NAME} should be something like + ../bootstrap-build-environment/${MY_NAME} and not + ./${MY_NAME}. Actually, you called $0. + + In the way you called ${MY_NAME}, it has detected + ${DEFAULT_PROJECT_NAME} as the project name for your project in + ${PROJECT_PATH}. In the first run, you should call ${MY_NAME} from a + checked out the bootstrap-build-environment from + https://dev.marc.waeckerlin.org/, and the path from where you call + ${MY_NAME} (which is actually ${PROJECT_PATH}) should be the path to + your newly created project. Please note that your project must be a + checked out subversion repository, since this build environment + relies on subversion. + + Example for an initial run, where your new projet is stored in + subversion on svn:/path/to/your/new-project: cd ~/svn - svn co https://dev.marc.waeckerlin.org/svn/bootstrap-build-environment/trunk bootstrap-build-environment + svn co https://dev.marc.waeckerlin.org/svn/bootstrap-build-environment/trunk \\ + bootstrap-build-environment svn co svn:/path/to/your/new-project/trunk new-project cd new-project ../bootstrap-build-environment/bootstrap.sh RUNNING - If you run ${MY_NAME}, it first generates the necessary files (see below), then first runs make distclean if a makefile exists. After this it calles aclocal, libtoolize, automake, autoconf and optionally ./configure. + If you run ${MY_NAME}, it first generates the necessary files (see + below), then first runs make distclean if a makefile exists. After + this it calles aclocal, libtoolize, automake, autoconf and + optionally ./configure. GENERATED FILES @@ -80,17 +102,21 @@ GENERATED FILES * debian/docs - if you enabled AX_USE_DEBIAN_PACKAGING * debian/${DEFAULT_PROJECT_NAME}.install - if you enabled AX_USE_DEBIAN_PACKAGING * debian/${DEFAULT_PROJECT_NAME}.dirs - if you enabled AX_USE_DEBIAN_PACKAGING - * debian/${DEFAULT_PROJECT_NAME}-dev.install - if you enabled AX_USE_DEBIAN_PACKAGING and AX_USE_LIBTOOL - * debian/${DEFAULT_PROJECT_NAME}-dev.dirs - if you enabled AX_USE_DEBIAN_PACKAGING and AX_USE_LIBTOOL + * debian/${DEFAULT_PROJECT_NAME}-dev.install - if you enabled AX_USE_DEBIAN_PACKAGING + * debian/${DEFAULT_PROJECT_NAME}-dev.dirs - if you enabled AX_USE_DEBIAN_PACKAGING * debian/rules - if you enabled AX_USE_DEBIAN_PACKAGING * debian/compat - if you enabled AX_USE_DEBIAN_PACKAGING * src/${DEFAULT_PROJECT_NAME}.pc.in - if you enabled AX_USE_LIBTOOL - To rebuild any of these files, just remove it using "svn rm " and run ${MY_NAME} again. + To rebuild any of these files, just remove it using "svn rm " + and run ${MY_NAME} again. FILES TO EDIT - After creation of the files, you can edit them according to your needs. Please don't forget to redo your edits after rebuilding a file. Most files don't even need to be edited, they work out of the box. + After creation of the files, you can edit them according to your + needs. Please don't forget to redo your edits after rebuilding a + file. Most files don't even need to be edited, they work out of the + box. The following files normally require editing: * AUTHORS @@ -102,11 +128,13 @@ FILES TO EDIT FILE DEPENDENCIES - You should rebuild (remove and run (see above) the files, whenever you change the configuration a dependent, i.e.: + You should rebuild (remove and run (see above) the files, whenever + you change the configuration a dependent, i.e.: * test/makefile.am depends on AX_USE_LIBTOOL * doc/doxyfile.in depends on AX_BUILD_EXAMPLES - * debian/control.in depends on AX_USE_DOXYGEN, AX_USE_CPPUNIT, AX_CXX_QT, AX_CXX_CHECK_QT, AX_USE_LIBTOOL + * debian/control.in depends on AX_USE_DOXYGEN, AX_USE_CPPUNIT, + AX_CXX_QT, AX_CXX_CHECK_QT, 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}-dev.install depends on AX_USE_LIBTOOL @@ -114,22 +142,36 @@ FILE DEPENDENCIES FILES - * AUTHORS: First line is the main author and used in Debian and RPM packaging, so there must be a GPG key that matches to this line. - * README: First line is a short description of your project, then an empty line must follow. All remaining lines are a long description of your project. this information is copied, e.g. in Debian or RPM packages. In C++ =5.2.0) +Build-Depends: debhelper, pkg-config, autotools-dev, lsb-release , doxygen, graphviz Package: @PACKAGE_NAME@ - Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: @DESCRIPTION@ @README_DEB@ + diff --git a/debian/rules b/debian/rules index cc4375c..20c891a 100644 --- a/debian/rules +++ b/debian/rules @@ -1,6 +1,6 @@ ## @id $Id$ # -# This file has been added by bootstrap.sh on Mon, 04 May 2015 16:05:25 +0200 +# This file has been added by bootstrap.sh on Tue, 05 May 2015 18:21:10 +0200 # Feel free to change it or even remove and rebuild it, up to your needs # ## 1 2 3 4 5 6 7 8 diff --git a/debian/webtester.install b/debian/webtester.install index 153eea1..13f0bad 100644 --- a/debian/webtester.install +++ b/debian/webtester.install @@ -1,3 +1,2 @@ -usr/bin/* -usr/lib/lib*.so.* -usr/share/doc/webtester/html +/usr/bin/webtester +/usr/share/doc/webtester/html