From 54f9f90b284eaccde09177d1787a6327c8eb7689 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 2 Sep 2019 09:59:31 -0300 Subject: [PATCH] Updating windows packaging scripts. --- configure.ac | 38 +++++++++----------------------------- src/libpw3270cpp/Makefile.in | 1 - win/pack.sh | 150 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------- win/pw3270.nsi.in | 12 ++++++------ 4 files changed, 106 insertions(+), 95 deletions(-) diff --git a/configure.ac b/configure.ac index 564c454..1146615 100644 --- a/configure.ac +++ b/configure.ac @@ -421,38 +421,18 @@ dnl --------------------------------------------------------------------------- dnl Lib3270 flags dnl --------------------------------------------------------------------------- -PKG_CHECK_MODULES( [LIB3270], [lib3270], app_cv_3270="yes", app_cv_3270="no" ) +PKG_CHECK_MODULES( [LIB3270], [lib3270], AC_DEFINE(HAVE_LIB3270), AC_MSG_ERROR([ No LIB3270 devel.]) ) +AC_SUBST(LIB3270_CFLAGS) +AC_SUBST(LIB3270_LIBS) -if test "$app_cv_3270" == "yes"; then - AC_DEFINE(HAVE_LIB3270) - AC_SUBST(LIB3270_CFLAGS) - AC_SUBST(LIB3270_LIBS) -else - AC_MSG_ERROR([ No LIB3270 devel.]) -dnl AX_SUBDIRS_CONFIGURE([modules/lib3270],[[--with-work-dir=$ac_pwd],[--with-libname=$app_cv_libname]]) -dnl AC_SUBST(LIB3270_CFLAGS,-I$ac_pwd/modules/lib3270/src/include) -dnl AC_SUBST(LIB3270_LIBS,-l$app_cv_libname) -dnl AC_SUBST(LIB3270_INCLUDEPATH,$ac_pwd/modules/lib3270/src/include) -fi - -PKG_CHECK_MODULES( [LIBV3270], [libv3270], app_cv_v3270="yes", app_cv_v3270="no" ) - -if test "$app_cv_v3270" == "yes"; then - AC_DEFINE(HAVE_LIBV3270) - AC_SUBST(LIBV3270_CFLAGS) - AC_SUBST(LIBV3270_LIBS) -else - AC_MSG_ERROR([ No V3270 widget devel.]) -dnl AC_SUBST(LIBV3270_CFLAGS,-I$ac_pwd/modules/libv3270/src/include) -dnl AC_SUBST(LIBV3270_LIBS,-lv$app_cv_libname) -dnl AX_SUBDIRS_CONFIGURE([modules/libv3270],[[LIB3270_CFLAGS=-I$ac_pwd/modules/lib3270/src/include],[LIB3270_LIBS=-l$app_cv_libname],[--with-work-dir=$ac_pwd],[--with-libname=$app_cv_libname]]) -dnl AC_SUBST(LIBV3270_INCLUDEPATH,$ac_pwd/modules/libv3270/src/include) -fi +PKG_CHECK_MODULES( [LIBV3270], [libv3270], AC_DEFINE(HAVE_LIBV3270), AC_MSG_ERROR([ No V3270 devel.]) ) +AC_SUBST(LIBV3270_CFLAGS) +AC_SUBST(LIBV3270_LIBS) -AC_ARG_WITH([libname], [AS_HELP_STRING([--with-libname], [Setup library name])], [ app_cv_libname="$withval" ],[ app_cv_libname=`$PKG_CONFIG --variable=library_name lib3270` ]) +AC_ARG_WITH([application-name], [AS_HELP_STRING([--with-application-name], [Set application name])], [ app_cv_appname="$withval" ],[ app_cv_appname="pw3270" ]) -AC_DEFINE_UNQUOTED(LIB3270_NAME,$app_cv_libname) -AC_SUBST(LIB3270_NAME,$app_cv_libname) +AC_DEFINE_UNQUOTED(APPLICATION_NAME,$app_cv_appname) +AC_SUBST(APPLICATION_NAME,$app_cv_appname) AC_SUBST(PW3270_CFLAGS,-I$ac_pwd/src/include) AC_SUBST(PW3270_LIBS,-l$PACKAGE_TARNAME) diff --git a/src/libpw3270cpp/Makefile.in b/src/libpw3270cpp/Makefile.in index f4b3322..f972ad9 100644 --- a/src/libpw3270cpp/Makefile.in +++ b/src/libpw3270cpp/Makefile.in @@ -65,7 +65,6 @@ CFLAGS= \ @CFLAGS@ \ -Wno-deprecated-declarations \ -I$(BASEDIR)/src/include \ - -DLIB3270_NAME="lib@LIB3270_NAME@" \ @LIB3270_CFLAGS@ \ @DBUS_CFLAGS@ \ @GTK_CFLAGS@ diff --git a/win/pack.sh b/win/pack.sh index 59cfa84..79eb65b 100755 --- a/win/pack.sh +++ b/win/pack.sh @@ -11,16 +11,12 @@ GIT_URL="https://github.com/PerryWerneck" PROJECTDIR=$(dirname $(dirname $(readlink -f ${0}))) WORKDIR=$(mktemp -d) PUBLISH=0 -GET_PREREQS=0 +GET_PREREQS=1 if [ -e /etc/os-release ]; then . /etc/os-release fi -if [ -e ~/.config/pw3270.build.conf ]; then - . ~/.config/pw3270.build.conf -fi - # # Limpa diretório temporário # @@ -37,19 +33,6 @@ failed() } # -# Get pre requisites from spec -# -getBuildRequires() -{ - for required in $(grep -i buildrequires "${1}" | grep -v "%" | cut -d: -f2-) - do - echo "Installing ${required}" - sudo zypper --non-interactive --quiet in "${required}" - done - -} - -# # Get Sources from GIT # getSource() @@ -64,31 +47,52 @@ getSource() faile "Can't get sources for ${1}" fi - if [ "${GET_PREREQS}" != "0" ]; then - for ARCH in ${TARGET_ARCHS} - do + for ARCH in ${TARGET_ARCHS} + do - if [ -d ${WORKDIR}/sources/${1}/win/${ARCH} ]; then + if [ -d ${WORKDIR}/sources/${1}/win/${ARCH} ]; then - for spec in $(find ${WORKDIR}/sources/${1}/win/${ARCH} -name "*.spec") - do - getBuildRequires "${spec}" - done + for spec in $(find ${WORKDIR}/sources/${1}/win/${ARCH} -name "*.spec") + do + grep -i buildrequires "${spec}" | grep -v "%" | cut -d: -f2- | tr -d '[:blank:]' >> ${WORKDIR}/sources/pre-reqs + done + + fi - fi + done +} - done - fi +# +# Configure +# +configure() +{ - cd ${WORKDIR}/sources/${1} + if [ "${GET_PREREQS}" != "0" ]; then - NOCONFIGURE=1 ./autogen.sh - if [ "$?" != "0" ]; then - cleanup - exit -1 + echo -e "\e]2;Installing pre-reqs\a" + echo "Installing pre-reqs" + + for PKG in $(cat ${WORKDIR}/sources/pre-reqs | sort --unique) + do + echo "${PKG}..." + sudo zypper --non-interactive --quiet in "${PKG}" + done fi + for DIR in $(find ${WORKDIR}/sources -maxdepth 1 -type d) + do + echo ${DIR} + cd ${DIR} + + if [ -x ./autogen.sh ]; then + NOCONFIGURE=1 ./autogen.sh + if [ "$?" != "0" ]; then + failed "Erro em autogen.sh" + fi + fi + done } @@ -139,18 +143,31 @@ buildLibrary() cd ${WORKDIR}/sources/${1} - ./configure \ + if [ -x ${PROJECTDIR}/win/configure.${1} ]; then + + HOST="${host}" \ + PREFIX="${prefix}" \ + BUILDDIR="{WORKDIR}/build/${ARCH}}" \ CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ LDFLAGS="-L${WORKDIR}/build/${ARCH}" \ - --host=${host} \ - --prefix=${prefix} \ - --bindir=${WORKDIR}/build/${ARCH} \ - --libdir=${WORKDIR}/build/${ARCH} \ - --localedir=${WORKDIR}/build/${ARCH}/locale \ - --includedir=${WORKDIR}/build/${ARCH}/include \ - --sysconfdir=${WORKDIR}/build/${ARCH} \ - --datadir=${WORKDIR}/build/${ARCH} \ - --datarootdir=${WORKDIR}/build/${ARCH} + ${PROJECTDIR}/win/configure.${1} + + else + + ./configure \ + CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ + LDFLAGS="-L${WORKDIR}/build/${ARCH}" \ + --host=${host} \ + --prefix=${prefix} \ + --bindir=${WORKDIR}/build/${ARCH} \ + --libdir=${WORKDIR}/build/${ARCH} \ + --localedir=${WORKDIR}/build/${ARCH}/locale \ + --includedir=${WORKDIR}/build/${ARCH}/include \ + --sysconfdir=${WORKDIR}/build/${ARCH} \ + --datadir=${WORKDIR}/build/${ARCH} \ + --datarootdir=${WORKDIR}/build/${ARCH} + fi + if [ "$?" != "0" ]; then failed "Can't configure ${1}" @@ -211,31 +228,44 @@ buildApplication() esac - export HOST_CC=/usr/bin/gcc - mkdir -p ${WORKDIR}/build/${ARCH} mkdir -p ${WORKDIR}/cache/${ARCH} mkdir -p ${WORKDIR}/build/${ARCH}/locale mkdir -p ${WORKDIR}/build/${ARCH}/include + export HOST_CC=/usr/bin/gcc export PKG_CONFIG_PATH=${WORKDIR}/build/${ARCH}/lib/pkgconfig export cache=${WORKDIR}/cache/${ARCH}/${1}.cache cd ${WORKDIR}/sources/${1} - ./configure \ + if [ -x ${PROJECTDIR}/win/configure.${1} ]; then + + HOST="${host}" \ + PREFIX="${prefix}" \ CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ LDFLAGS="-L${WORKDIR}/build/${ARCH}" \ - --host=${host} \ - --prefix=${prefix} \ - --bindir=${WORKDIR}/build/${ARCH} \ - --libdir=${WORKDIR}/build/${ARCH} \ - --localedir=${WORKDIR}/build/${ARCH}/locale \ - --includedir=${WORKDIR}/build/${ARCH}/include \ - --sysconfdir=${WORKDIR}/build/${ARCH} \ - --datadir=${WORKDIR}/build/${ARCH} \ - --datarootdir=${WORKDIR}/build/${ARCH} \ - --with-application-datadir=${WORKDIR}/build/${ARCH} + BUILDDIR="{WORKDIR}/build/${ARCH}}" \ + ${PROJECTDIR}/win/configure.${1} + + else + + ./configure \ + CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ + LDFLAGS="-L${WORKDIR}/build/${ARCH}" \ + --host=${host} \ + --prefix=${prefix} \ + --bindir=${WORKDIR}/build/${ARCH} \ + --libdir=${WORKDIR}/build/${ARCH} \ + --localedir=${WORKDIR}/build/${ARCH}/locale \ + --includedir=${WORKDIR}/build/${ARCH}/include \ + --sysconfdir=${WORKDIR}/build/${ARCH} \ + --datadir=${WORKDIR}/build/${ARCH} \ + --datarootdir=${WORKDIR}/build/${ARCH} \ + --with-application-datadir=${WORKDIR}/build/${ARCH} + + fi + if [ "$?" != "0" ]; then failed "Can't configure ${1}" @@ -449,8 +479,8 @@ done # # Load customizations # -if [ -e ${PROJECTDIR}/pw3270.win32.build.conf ]; then - . ${PROJECTDIR}/pw3270.win32.build.conf +if [ -e ${PROJECTDIR}/win/pack.conf ]; then + . ${PROJECTDIR}/win/pack.conf fi # @@ -476,6 +506,8 @@ done # # Build packages # +configure + for src in ${CORE_LIBRARIES} do buildLibrary ${src} diff --git a/win/pw3270.nsi.in b/win/pw3270.nsi.in index 49f0079..cb526f7 100644 --- a/win/pw3270.nsi.in +++ b/win/pw3270.nsi.in @@ -3,17 +3,17 @@ !include "FileFunc.nsh" !include "LogicLib.nsh" -Name "@PACKAGE@" -Caption "@PACKAGE@ - @PACKAGE_DESCRIPTION@" +Name "@APPLICATION_NAME@" +Caption "@APPLICATION_NAME@ - @PACKAGE_DESCRIPTION@" !ifdef WITHGTK -outfile "@PACKAGE@-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.@PACKAGE_MAJOR_RELEASE@.@PACKAGE_MINOR_RELEASE@-gtk-@GTK_MODVERSION@-@host_cpu@.exe" +outfile "@APPLICATION_NAME@-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.@PACKAGE_MAJOR_RELEASE@.@PACKAGE_MINOR_RELEASE@-gtk-@GTK_MODVERSION@-@host_cpu@.exe" !else -outfile "@PACKAGE@-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.@PACKAGE_MAJOR_RELEASE@.@PACKAGE_MINOR_RELEASE@-requires-gtk-@GTK_MODVERSION@-@host_cpu@.exe" +outfile "@APPLICATION_NAME@-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.@PACKAGE_MAJOR_RELEASE@.@PACKAGE_MINOR_RELEASE@-requires-gtk-@GTK_MODVERSION@-@host_cpu@.exe" !endif XPStyle on -installDir "$@PROGRAMFILES@\@PACKAGE@" +installDir "$@PROGRAMFILES@\@APPLICATION_NAME@" #define the installer icon !define MUI_ICON "@PACKAGE@.ico" @@ -32,7 +32,7 @@ VIFileVersion "@WIN32_VERSION@" VIAddVersionKey "ProductVersion" "@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.@PACKAGE_MAJOR_RELEASE@.0" VIAddVersionKey "FileVersion" "@WIN32_VERSION@" -VIAddVersionKey "ProductName" "sisbb" +VIAddVersionKey "ProductName" "@APPLICATION_NAME@" VIAddVersionKey "FileDescription" "@PACKAGE_DESCRIPTION@" VIAddVersionKey "LegalCopyright" "GPL-2.0" -- libgit2 0.21.2