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)
This commit is contained in:
@@ -103,7 +103,12 @@ AC_DEFUN([AX_CHECK_QT], [
|
|||||||
HAVE_$1=1
|
HAVE_$1=1
|
||||||
AC_DEFINE([HAVE_$1])
|
AC_DEFINE([HAVE_$1])
|
||||||
QTDIR=$(${PKG_CONFIG} --variable=prefix Qt5Core)
|
QTDIR=$(${PKG_CONFIG} --variable=prefix Qt5Core)
|
||||||
|
qt_host_bins=$(${PKG_CONFIG} --variable=host_bins Qt5Core)
|
||||||
|
if test -d "${qt_host_bins}"; then
|
||||||
|
QT_PLUGIN_PATH=${qt_host_bins}/../plugins
|
||||||
|
else
|
||||||
QT_PLUGIN_PATH=${QTDIR}/share/qt5/plugins
|
QT_PLUGIN_PATH=${QTDIR}/share/qt5/plugins
|
||||||
|
fi
|
||||||
MOC_FLAGS+=" -DHAVE_$1=1 ${[$1]5_CFLAGS}"
|
MOC_FLAGS+=" -DHAVE_$1=1 ${[$1]5_CFLAGS}"
|
||||||
[$1]_CPPFLAGS="${[$1]5_CFLAGS}"
|
[$1]_CPPFLAGS="${[$1]5_CFLAGS}"
|
||||||
[$1]_CXXFLAGS="${[$1]5_CFLAGS}"
|
[$1]_CXXFLAGS="${[$1]5_CFLAGS}"
|
||||||
@@ -145,7 +150,12 @@ AC_DEFUN([AX_CHECK_QT], [
|
|||||||
HAVE_$1=1
|
HAVE_$1=1
|
||||||
AC_DEFINE([HAVE_$1])
|
AC_DEFINE([HAVE_$1])
|
||||||
QTDIR=$(${PKG_CONFIG} --variable=prefix QtCore)
|
QTDIR=$(${PKG_CONFIG} --variable=prefix QtCore)
|
||||||
|
qt_host_bins=$(${PKG_CONFIG} --variable=host_bins QtCore)
|
||||||
|
if test -d "${qt_host_bins}"; then
|
||||||
|
QT_PLUGIN_PATH=${qt_host_bins}/../plugins
|
||||||
|
else
|
||||||
QT_PLUGIN_PATH=${QTDIR}/share/qt/plugins
|
QT_PLUGIN_PATH=${QTDIR}/share/qt/plugins
|
||||||
|
fi
|
||||||
MOC_FLAGS+=" -DHAVE_$1=1 ${$1_CFLAGS}"
|
MOC_FLAGS+=" -DHAVE_$1=1 ${$1_CFLAGS}"
|
||||||
[$1]_CPPFLAGS="${[$1]_CFLAGS}"
|
[$1]_CPPFLAGS="${[$1]_CFLAGS}"
|
||||||
[$1]_CXXFLAGS="${[$1]_CFLAGS}"
|
[$1]_CXXFLAGS="${[$1]_CFLAGS}"
|
||||||
@@ -188,6 +198,16 @@ AC_DEFUN([AX_CHECK_QT], [
|
|||||||
if test -n "${MINGW}"; then
|
if test -n "${MINGW}"; then
|
||||||
AX_CHECK_VALID_CXX_FLAG([-Wl,-subsystem,windows], [windows console flag])
|
AX_CHECK_VALID_CXX_FLAG([-Wl,-subsystem,windows], [windows console flag])
|
||||||
fi
|
fi
|
||||||
|
test "x$prefix" = xNONE && prefix=$ac_default_prefix
|
||||||
|
if test "${QT_PLUGIN_PATH}" = "${QT_PLUGIN_PATH#${prefix}}"; then
|
||||||
|
QT_PLUGIN_PATH=${prefix}${QT_PLUGIN_PATH#/usr}
|
||||||
|
fi
|
||||||
|
AC_ARG_WITH([qt-plugin-path],
|
||||||
|
[AS_HELP_STRING([--with-qt-plugin-path=PATH],
|
||||||
|
[define a different qt plugin path, current @<:@default=check@:>@])],
|
||||||
|
[QT_PLUGIN_PATH=$with_qt_plugin_path],
|
||||||
|
[])
|
||||||
|
AC_MSG_NOTICE([Qt Plugins are installed to ${QT_PLUGIN_PATH}])
|
||||||
AC_SUBST(QTDIR)
|
AC_SUBST(QTDIR)
|
||||||
AC_SUBST(QT_PLUGIN_PATH)
|
AC_SUBST(QT_PLUGIN_PATH)
|
||||||
AC_SUBST(CPPFLAGS)
|
AC_SUBST(CPPFLAGS)
|
||||||
@@ -214,10 +234,10 @@ qrc_%.cxx: %.qrc
|
|||||||
%.qm: %.ts
|
%.qm: %.ts
|
||||||
${LRELEASE} $< -qm [$][@]
|
${LRELEASE} $< -qm [$][@]
|
||||||
|
|
||||||
#%.ts: ${LANGUAGE_FILES:%=%}
|
%.ts: ${LANGUAGE_FILES:%=%}
|
||||||
# ${LUPDATE} -no-obsolete \
|
${LUPDATE} -no-obsolete \
|
||||||
# -target-language ${@:${LANGUAGE_FILE_BASE}_%.ts=%} \
|
-target-language ${@:${LANGUAGE_FILE_BASE}_%.ts=%} \
|
||||||
# -ts [$][@] $<
|
-ts [$][@] $<
|
||||||
|
|
||||||
'])
|
'])
|
||||||
|
|
||||||
|
118
bootstrap.sh
118
bootstrap.sh
@@ -240,15 +240,29 @@ done
|
|||||||
|
|
||||||
|
|
||||||
HEADER='## @id '"\$Id\$"'
|
HEADER='## @id '"\$Id\$"'
|
||||||
#
|
##
|
||||||
# This file has been added by '${MY_NAME}' on '$(LANG= date +"%a, %d %B %Y %H:%M:%S %z")'
|
## This file has been added:
|
||||||
# Feel free to change it or even remove and rebuild it, up to your needs
|
## - by '${MY_NAME}'
|
||||||
#
|
## - on '$(LANG= date +"%a, %d %B %Y %H:%M:%S %z")'
|
||||||
|
## Feel free to change it or even remove and rebuild it, up to your needs
|
||||||
|
##
|
||||||
## 1 2 3 4 5 6 7 8
|
## 1 2 3 4 5 6 7 8
|
||||||
## 45678901234567890123456789012345678901234567890123456789012345678901234567890
|
## 45678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||||
|
|
||||||
'
|
'
|
||||||
|
|
||||||
|
CHEADER='/** @id '"\$Id\$"'
|
||||||
|
|
||||||
|
This file has been added:
|
||||||
|
- by '${MY_NAME}'
|
||||||
|
- on '$(LANG= date +"%a, %d %B %Y %H:%M:%S %z")'
|
||||||
|
|
||||||
|
*/
|
||||||
|
// 1 2 3 4 5 6 7 8
|
||||||
|
// 45678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
notice() {
|
notice() {
|
||||||
echo -e "\e[1;33m$*\e[0m"
|
echo -e "\e[1;33m$*\e[0m"
|
||||||
}
|
}
|
||||||
@@ -436,12 +450,19 @@ AX_INIT_STANDARD_PROJECT
|
|||||||
# create output
|
# create output
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
PACKAGE_NAME=$(sed -n 's/.*m4_define *( *x_package_name *, *\([^ ]*\) *).*/\1/p' configure.ac)
|
PACKAGE_NAME=$(sed -n 's/.*m4_define *( *x_package_name *, *\([^ ]*\) *).*/\1/p' configure.ac)
|
||||||
|
SAVEIFS="$IFS"
|
||||||
|
IFS="-" PackageName=( $PACKAGE_NAME )
|
||||||
|
IFS="$SAVEIFS"
|
||||||
|
PackageName=${PackageName[*]^}
|
||||||
|
PackageName=${PackageName// /}
|
||||||
|
|
||||||
if ! testtag "AX_CHECK_QT" configure.ac && \
|
if ! testtag "AX_CHECK_QT" configure.ac && \
|
||||||
! testtag "AX_REQUIRE_QT" configure.ac; then
|
! testtag "AX_REQUIRE_QT" configure.ac; then
|
||||||
echo "${HEADER}MAINTAINERCLEANFILES = makefile.in" | \
|
echo "${HEADER}MAINTAINERCLEANFILES = makefile.in" | \
|
||||||
to --condition AX_USE_CXX src/makefile.am
|
to --condition AX_USE_CXX src/makefile.am
|
||||||
else
|
elif ! test -e src/makefile.am; then
|
||||||
to --condition AX_USE_CXX src/makefile.am <<EOF
|
to --condition AX_USE_CXX src/makefile.am <<EOF
|
||||||
${HEADER}bin_PROGRAMS = ${PACKAGE_NAME}
|
${HEADER}bin_PROGRAMS = ${PACKAGE_NAME}
|
||||||
|
|
||||||
@@ -475,7 +496,7 @@ ${PACKAGE_NAME//-/_}_UIFILES = ui_${PACKAGE_NAME}.hxx
|
|||||||
|
|
||||||
## list all %.qrc resource files as qrc_%.cxx
|
## list all %.qrc resource files as qrc_%.cxx
|
||||||
## note: if there exists a directory %, the file %.qrc is generated from that
|
## note: if there exists a directory %, the file %.qrc is generated from that
|
||||||
${PACKAGE_NAME//-/_}_RESOURCES = qrc_languages.cxx qrc_resources.cxx
|
${PACKAGE_NAME//-/_}_RESOURCES = qrc_languages.cxx # qrc_resources.cxx
|
||||||
|
|
||||||
## list all final translation files, list all supported languages here
|
## list all final translation files, list all supported languages here
|
||||||
${PACKAGE_NAME//-/_}_TRANSLATIONS = \${LANGUAGE_FILE_BASE}_en.qm \\
|
${PACKAGE_NAME//-/_}_TRANSLATIONS = \${LANGUAGE_FILE_BASE}_en.qm \\
|
||||||
@@ -487,7 +508,7 @@ ${PACKAGE_NAME//-/_}_TRANSLATIONS = \${LANGUAGE_FILE_BASE}_en.qm \\
|
|||||||
${PACKAGE_NAME//-/_}_TR_FILES = main.cxx version.cxx
|
${PACKAGE_NAME//-/_}_TR_FILES = main.cxx version.cxx
|
||||||
|
|
||||||
## automatic assembly, no need to change
|
## automatic assembly, no need to change
|
||||||
${PACKAGE_NAME//-/_}_SOURCES = ${swisssign_pin_entry_TR_FILES} ${BUILT_SOURCES}
|
${PACKAGE_NAME//-/_}_SOURCES = \${${PACKAGE_NAME//-/_}_TR_FILES} \${BUILT_SOURCES}
|
||||||
|
|
||||||
## automatic assembly, no need to change
|
## automatic assembly, no need to change
|
||||||
BUILT_SOURCES = \${${PACKAGE_NAME//-/_}_MOCFILES} \
|
BUILT_SOURCES = \${${PACKAGE_NAME//-/_}_MOCFILES} \
|
||||||
@@ -510,6 +531,89 @@ EXTRA_DIST = \${EXTRA_DIST_TR} \
|
|||||||
LANGUAGE_FILES = \${EXTRA_DIST_TR} \${${PACKAGE_NAME//-/_}_TR_FILES}
|
LANGUAGE_FILES = \${EXTRA_DIST_TR} \${${PACKAGE_NAME//-/_}_TR_FILES}
|
||||||
|
|
||||||
MAINTAINERCLEANFILES = makefile.in
|
MAINTAINERCLEANFILES = makefile.in
|
||||||
|
EOF
|
||||||
|
to --condition AX_USE_CXX src/main.cxx <<EOF
|
||||||
|
${CHEADER}#include <${PACKAGE_NAME}.hxx>
|
||||||
|
#include <QApplication>
|
||||||
|
#include <QCommandLineParser>
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
int main(int argc, char *argv[]) try {
|
||||||
|
QApplication a(argc, argv);
|
||||||
|
QCommandLineParser parser;
|
||||||
|
parser.addHelpOption();
|
||||||
|
parser.process(a);
|
||||||
|
QStringList scripts(parser.positionalArguments());
|
||||||
|
${PackageName} w;
|
||||||
|
w.show();
|
||||||
|
return a.exec();
|
||||||
|
} catch (std::exception &x) {
|
||||||
|
std::cerr<<"**** error: "<<x.what()<<std::endl;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
to --condition AX_USE_CXX src/${PACKAGE_NAME}.hxx <<EOF
|
||||||
|
${CHEADER}#ifndef ${PackageName^^}_HXX
|
||||||
|
#define ${PackageName^^}_HXX
|
||||||
|
|
||||||
|
#include <QMainWindow>
|
||||||
|
#include <ui_${PACKAGE_NAME}.hxx>
|
||||||
|
|
||||||
|
/// Main Window
|
||||||
|
/** Main window for ${PACKAGE_NAME} */
|
||||||
|
class ${PackageName}: public QMainWindow, protected Ui::${PackageName} {
|
||||||
|
Q_OBJECT;
|
||||||
|
public:
|
||||||
|
explicit ${PackageName}(QWidget *parent = 0): QMainWindow(parent) {
|
||||||
|
setupUi(this);
|
||||||
|
}
|
||||||
|
virtual ~${PackageName}() {}
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
EOF
|
||||||
|
to --condition AX_USE_CXX src/${PACKAGE_NAME}.ui <<EOF
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>${PackageName}</class>
|
||||||
|
<widget class="QMainWindow" name="${PackageName}">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>800</width>
|
||||||
|
<height>600</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>${PackageName}</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="centralwidget"/>
|
||||||
|
<widget class="QMenuBar" name="menubar">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>800</width>
|
||||||
|
<height>22</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QStatusBar" name="statusbar"/>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
||||||
|
EOF
|
||||||
|
to --condition AX_USE_CXX src/languages.qrc <<EOF
|
||||||
|
<RCC>
|
||||||
|
<qresource prefix="/language">
|
||||||
|
<file>${PACKAGE_NAME}_de.qm</file>
|
||||||
|
<file>${PACKAGE_NAME}_fr.qm</file>
|
||||||
|
<file>${PACKAGE_NAME}_it.qm</file>
|
||||||
|
<file>${PACKAGE_NAME}_en.qm</file>
|
||||||
|
</qresource>
|
||||||
|
</RCC>
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
to --condition AX_USE_CXX src/version.hxx <<EOF
|
to --condition AX_USE_CXX src/version.hxx <<EOF
|
||||||
|
@@ -12,7 +12,10 @@
|
|||||||
|
|
||||||
SCHROOTNAME="$1"
|
SCHROOTNAME="$1"
|
||||||
|
|
||||||
|
if test -e debian/control.in -a ! -e debian/control; then
|
||||||
sed 's,@[^@]*@, dummytext,g' debian/control.in > debian/control
|
sed 's,@[^@]*@, dummytext,g' debian/control.in > debian/control
|
||||||
|
trap "rm debian/control" INT TERM EXIT
|
||||||
|
fi
|
||||||
|
|
||||||
if test -n "${SCHROOTNAME}"; then
|
if test -n "${SCHROOTNAME}"; then
|
||||||
DEPS=$(schroot -c "${SCHROOTNAME}" -- dpkg-checkbuilddeps 2>&1 || true)
|
DEPS=$(schroot -c "${SCHROOTNAME}" -- dpkg-checkbuilddeps 2>&1 || true)
|
||||||
@@ -21,16 +24,21 @@ else
|
|||||||
fi
|
fi
|
||||||
DEPS=$(echo "$DEPS" | sed -n '/Unmet build dependencies/ { s,.*Unmet build dependencies: ,,g; s, ([^)]*),,g; s, *| *,|,g; p}')
|
DEPS=$(echo "$DEPS" | sed -n '/Unmet build dependencies/ { s,.*Unmet build dependencies: ,,g; s, ([^)]*),,g; s, *| *,|,g; p}')
|
||||||
|
|
||||||
|
TO_INSTALL=
|
||||||
for pa in ${DEPS}; do
|
for pa in ${DEPS}; do
|
||||||
|
if test ${pa//|/} = ${pa}; then
|
||||||
|
TO_INSTALL+=" ${pa}"
|
||||||
|
continue;
|
||||||
|
fi
|
||||||
success=0
|
success=0
|
||||||
for p in $(echo "${pa}" | sed 's,|, ,g'); do
|
for p in ${pa//|/ }; do
|
||||||
if test -n "${SCHROOTNAME}"; then
|
if test -n "${SCHROOTNAME}"; then
|
||||||
if schroot -c "${SCHROOTNAME}" -u root -d / -- apt-get -y install ${p}; then
|
if schroot -c "${SCHROOTNAME}" -u root -d / -- apt-get -y install ${p}; then
|
||||||
success=1
|
success=1
|
||||||
break;
|
break;
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if sudo apt-get -y install ${p}; then
|
if apt-get -y install ${p}; then
|
||||||
success=1
|
success=1
|
||||||
break;
|
break;
|
||||||
fi
|
fi
|
||||||
@@ -38,7 +46,23 @@ for pa in ${DEPS}; do
|
|||||||
done
|
done
|
||||||
if test ${success} -eq 0; then
|
if test ${success} -eq 0; then
|
||||||
echo "**** Error: Installation Failed: ${pa}"
|
echo "**** Error: Installation Failed: ${pa}"
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
success=0
|
||||||
|
if test -n "${SCHROOTNAME}"; then
|
||||||
|
if schroot -c "${SCHROOTNAME}" -u root -d / -- apt-get -y install ${TO_INSTALL}; then
|
||||||
|
success=1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if apt-get -y install ${TO_INSTALL}; then
|
||||||
|
success=1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test ${success} -eq 0; then
|
||||||
|
echo "**** Error: Installation Failed: ${pa}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
echo "**** Success: All Dependencies Resolved"
|
echo "**** Success: All Dependencies Resolved"
|
||||||
|
Reference in New Issue
Block a user