diff --git a/win/install-cross.sh b/win/install-cross.sh index beb3743..cb5b9e8 100755 --- a/win/install-cross.sh +++ b/win/install-cross.sh @@ -1,65 +1,35 @@ #!/bin/bash +myDIR=$(dirname $(readlink -f ${0})) install_packages() { -TEMPFILE=$(mktemp) - -cat > ${TEMPFILE} << EOF -cross-binutils -cross-gcc -cross-gcc-c++ -cross-pkg-config -filesystem -libopenssl -libopenssl-devel -libintl-devel -win_iconv-devel -zlib-devel -winpthreads-devel -cross-cpp -gettext-tools -headers -libepoxy0 -libgdk_pixbuf-2_0-0 -atk-devel -pango-devel -win_iconv-devel -pixman-devel -glib2-devel -cairo-devel -freetype-devel -gtk3-devel -filesystem -gettext-tools -gtk3-data -gtk3-tools -gnome-icon-theme -hicolor-icon-theme -gdk-pixbuf-loader-rsvg -gdk-pixbuf-query-loaders -lib3270-5_2-devel -EOF - -# Instala apicativos e temas necessários -sudo zypper --non-interactive in \ - adwaita-icon-theme \ - gettext-tools \ - glib2-devel \ - optipng \ - ImageMagick - -while read FILE -do - sudo zypper --non-interactive in ${1}-${FILE} -done < ${TEMPFILE} - -rm -f ${TEMPFILE} + TEMPFILE=$(mktemp) + + for spec in $(find ${myDIR} -name "${1}*.spec") + do + echo "Parsing ${spec}" + grep -i "^Requires:" "${spec}" | grep -v "%" | cut -d: -f2- | tr -d '[:blank:]' | cut -d'>' -f1 >> ${TEMPFILE} + grep -i "^BuildRequires:" "${spec}" | grep -v "%" | cut -d: -f2- | tr -d '[:blank:]' | cut -d'>' -f1 >> ${TEMPFILE} + done + + cat ${TEMPFILE} \ + | sort --unique \ + | xargs sudo zypper --non-interactive --verbose in + + rm -f ${TEMPFILE} } if [ -z ${1} ]; then - echo "Use ${0} --32 for 32 bits cross-compiler" - echo "Use ${0} --64 for 64 bits cross-compiler" + echo "${0} [options]" + echo "" + echo "Options:" + echo "" + + echo " --ar Install required OBS repositories for zypper" + echo " --32 Install cross compiler for 32 bits windows using zypper" + echo " --64 Install cross compiler for 64 bits windows using zypper" + echo " --all Install cross compiler for 32 and 64 bits windows using zypper" exit -1 fi @@ -73,9 +43,11 @@ do case $parameter in - ar) - zypper ar --refresh http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_42.3/ mingw32 - zypper ar --refresh http://download.opensuse.org/repositories/windows:/mingw:/win64/openSUSE_42.3/ mingw64 + AR) + echo "Adding required repositories" + sudo zypper ar obs://windows:mingw:win32 windows_mingw_win32 + sudo zypper ar obs://windows:mingw:win64 windows_mingw_win64 + sudo zypper ar obs://home:PerryWerneck:pw3270 home_PerryWerneck_pw3270 ;; 32) -- libgit2 0.21.2