From 61527735b26d25acffbb2f272a5c55b7a71afb23 Mon Sep 17 00:00:00 2001 From: DonPavlov <1541649+DonPavlov@users.noreply.github.com> Date: Tue, 1 Oct 2019 17:26:53 +0200 Subject: [PATCH 01/12] Fix Issue #3452, change header declaration --- src/utils/folderutils.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/folderutils.h b/src/utils/folderutils.h index fc71fbb00..f58875f19 100644 --- a/src/utils/folderutils.h +++ b/src/utils/folderutils.h @@ -60,7 +60,7 @@ class FolderUtils static void cleanup(); static void collectFiles(const QDir & parent, QStringList & filters, QStringList & files, bool recursive); static void makePartFolderHierarchy(const QString & prefixFolder, const QString & destFolder); - static void copyBin(const QString & source, const QString & dest); + static void copyBin(const QString & dest, const QString & source); static bool slamCopy(QFile &, const QString & dest); static void showInFolder(const QString & path); static void createUserDataStoreFolders(); From 614bea37588865e059e958f135702df9cf300263 Mon Sep 17 00:00:00 2001 From: DonPavlov <1541649+DonPavlov@users.noreply.github.com> Date: Tue, 1 Oct 2019 17:28:47 +0200 Subject: [PATCH 02/12] change whitespace --- src/utils/folderutils.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/folderutils.h b/src/utils/folderutils.h index f58875f19..6a82c22ed 100644 --- a/src/utils/folderutils.h +++ b/src/utils/folderutils.h @@ -60,7 +60,7 @@ class FolderUtils static void cleanup(); static void collectFiles(const QDir & parent, QStringList & filters, QStringList & files, bool recursive); static void makePartFolderHierarchy(const QString & prefixFolder, const QString & destFolder); - static void copyBin(const QString & dest, const QString & source); + static void copyBin(const QString & dest, const QString & source); static bool slamCopy(QFile &, const QString & dest); static void showInFolder(const QString & path); static void createUserDataStoreFolders(); From f97ed5111f5bbeb5a067d1af1fbd5af36430ed1a Mon Sep 17 00:00:00 2001 From: Kjell Morgenstern Date: Fri, 4 Oct 2019 11:15:40 +0200 Subject: [PATCH 03/12] Use keyword 'develop' to specify debug builds (align with branch names) --- .travis.yml | 33 ++++++++++++--------------- tools/linux_release_script/release.sh | 12 +++++----- 2 files changed, 21 insertions(+), 24 deletions(-) diff --git a/.travis.yml b/.travis.yml index 01944fac0..01c7c0466 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,12 +1,12 @@ language: minimal stages: - - name: fast_check +# - name: fast_check - name: build_and_pack # Avoid duplicate builds for pull requests if: type = push OR (type = pull_request AND slug != "fritzing/fritzing-app") - name: deploy_to_github - if: type = push AND branch IN (develop, master) + if: type = push AND branch IN (develop, master) AND slug == "fritzing/fritzing-app" env: global: @@ -28,7 +28,7 @@ jobs: services: - docker before_install: - - docker pull fritzing/build:xenial + - docker pull fritzing/build:bionic script: - docker/build-linux.sh @@ -42,8 +42,8 @@ jobs: - tools/aws_tasks.sh setup - docker pull fritzing/build:xenial script: - - docker/release-linux.sh xenial $TRAVIS_COMMIT-debug-continuous-$TRAVIS_BUILD_NUMBER.xenial - - tools/aws_tasks.sh store_with_md5 . fritzing-$TRAVIS_COMMIT-debug-continuous-$TRAVIS_BUILD_NUMBER.xenial.linux.AMD64.tar.bz2 + - docker/release-linux.sh xenial $TRAVIS_COMMIT-$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER.xenial + - tools/aws_tasks.sh store_with_md5 . fritzing-$TRAVIS_COMMIT-$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER.xenial.linux.AMD64.tar.bz2 after_success: - tools/aws_tasks.sh synchronize_up @@ -58,8 +58,8 @@ jobs: - tools/aws_tasks.sh setup - docker pull fritzing/build:bionic script: - - docker/release-linux.sh bionic $TRAVIS_COMMIT-debug-continuous-$TRAVIS_BUILD_NUMBER.bionic - - tools/aws_tasks.sh store_with_md5 . fritzing-$TRAVIS_COMMIT-debug-continuous-$TRAVIS_BUILD_NUMBER.bionic.linux.AMD64.tar.bz2 + - docker/release-linux.sh bionic $TRAVIS_COMMIT-$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER.bionic + - tools/aws_tasks.sh store_with_md5 . fritzing-$TRAVIS_COMMIT-$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER.bionic.linux.AMD64.tar.bz2 after_success: - tools/aws_tasks.sh synchronize_up @@ -74,8 +74,8 @@ jobs: - tools/aws_tasks.sh setup - docker pull fritzing/build:fedora-30 script: - - docker/release-linux.sh fedora-30 $TRAVIS_COMMIT-debug-continuous-$TRAVIS_BUILD_NUMBER.fedora-30 - - tools/aws_tasks.sh store_with_md5 . fritzing-$TRAVIS_COMMIT-debug-continuous-$TRAVIS_BUILD_NUMBER.fedora-30.linux.AMD64.tar.bz2 + - docker/release-linux.sh fedora-30 $TRAVIS_COMMIT-$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER.fedora-30 + - tools/aws_tasks.sh store_with_md5 . fritzing-$TRAVIS_COMMIT-$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER.fedora-30.linux.AMD64.tar.bz2 after_success: - tools/aws_tasks.sh synchronize_up @@ -103,8 +103,8 @@ jobs: script: - ls /usr/local/opt - tools/deploy_fritzing_mac.sh - - mv ../deploy-app/Fritzing.dmg fritzing-$TRAVIS_COMMIT-debug-continuous-$TRAVIS_BUILD_NUMBER.mojave.10.2.dmg - - tools/aws_tasks.sh store_with_md5 . fritzing-$TRAVIS_COMMIT-debug-continuous-$TRAVIS_BUILD_NUMBER.mojave.10.2.dmg + - mv ../deploy-app/Fritzing.dmg fritzing-$TRAVIS_COMMIT-$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER.mojave.10.2.dmg + - tools/aws_tasks.sh store_with_md5 . fritzing-$TRAVIS_COMMIT-$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER.mojave.10.2.dmg after_success: - tools/aws_tasks.sh synchronize_up @@ -134,8 +134,8 @@ jobs: script: - ls /usr/local/opt - tools/deploy_fritzing_mac.sh - - mv ../deploy-app/Fritzing.dmg fritzing-$TRAVIS_COMMIT-debug-continuous-$TRAVIS_BUILD_NUMBER.high_sierra.10.1.dmg - - tools/aws_tasks.sh store_with_md5 . fritzing-$TRAVIS_COMMIT-debug-continuous-$TRAVIS_BUILD_NUMBER.high_sierra.10.1.dmg + - mv ../deploy-app/Fritzing.dmg fritzing-$TRAVIS_COMMIT-$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER.high_sierra.10.1.dmg + - tools/aws_tasks.sh store_with_md5 . fritzing-$TRAVIS_COMMIT-$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER.high_sierra.10.1.dmg after_success: - tools/aws_tasks.sh synchronize_up @@ -153,8 +153,8 @@ jobs: - tools/aws_tasks.sh setup script: - - tools/build-windows.bat "$TRAVIS_COMMIT"-debug-continuous-"$TRAVIS_BUILD_NUMBER" - - tools/aws_tasks.sh store_with_md5 $TRAVIS_BUILD_DIR/../release64 fritzing-$TRAVIS_COMMIT-debug-continuous-$TRAVIS_BUILD_NUMBER.windows.64.zip + - tools/build-windows.bat "$TRAVIS_COMMIT"-$TRAVIS_BRANCH-"$TRAVIS_BUILD_NUMBER" + - tools/aws_tasks.sh store_with_md5 $TRAVIS_BUILD_DIR/../release64 fritzing-$TRAVIS_COMMIT-$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER.windows.64.zip after_success: - tools/aws_tasks.sh synchronize_up @@ -174,9 +174,6 @@ jobs: secure: "ndzX3gAwth3jsLQobNvYZKERGsP6OjsLNIj/CiIw1eGzJn9Di6bB0aksIBiRU8Sp5zGdMUjxiQk/qgZg/vnce+oUiQM8c1PFgGh1b04W57M8NnnGYsfMa9b8kgEzlmlpP4qSD6SlG5FI29JuOAQqQWHD3ywnsy9tiu5dn84k735gLfTnuIzFmQgvl5zil8G2kMSLMY0EIC8bgWbn8JRsEfBqF7FvbJOmmsww/ADRJx2z6iOhOmTu23qZOIq6GNG8MTyp0jW6yZsNP0Nyum966pqsu6cwyHVuXA4iIRBgE1022PoQfN9F7cLiuskl33xbl5FoKQS7iw7W3wUH0vmyd3XuiBBpoDz2A2iPghMS/7Z31T5rCWgWb9SDDelScz3y9ESlabmmOBVEx633eWtrXG5poiMLJshLyR3d+uCm5C5fIyPn++CxwMkBR/anWMJBlCYX8CYSLBJd5Kz+J/vvc6XTgm1D4+oUYBcrhRs3fiRlKY72RHLy8V3b9ji+oIpnz5ZqguSS1WpF74T+zESyb/dtL0dfAewxmQg1XdOzcmRgWP80Uc3Mxb3laImrBJLSPXi0eR0V5Y0n6RVub3FQOhzNx5+s0jaGbzYJJScKC1eOLbupdSuKEUOG5n4I8IsHTzr3EIzhMyI7vSK0w4bKVdSxLYuVcXV8Bf9Kc+7yZvg=" file_glob: true file: $HOME/$TRAVIS_BUILD_NUMBER/* - on: - repo: fritzing/fritzing-app - branch: develop skip_cleanup: true after_deploy: diff --git a/tools/linux_release_script/release.sh b/tools/linux_release_script/release.sh index 4ec223c6d..3efbfe6b7 100755 --- a/tools/linux_release_script/release.sh +++ b/tools/linux_release_script/release.sh @@ -18,8 +18,8 @@ fi echo "Building release: ${relname}..." -if [[ ${relname} == *"debug"* ]]; then - echo "Building a debug release" +if [[ ${relname} == *"develop"* ]]; then + echo "Building a development version" export QT_HASH_SEED=123 export QT_DEBUG_PLUGINS=0 # usually to verbose export QML_IMPORT_TRACE=0 @@ -73,7 +73,7 @@ make -j16 release_name=fritzing-${relname}.linux.${arch} release_folder="${current_dir}/${release_name}" -if [[ ${relname} != *"debug"* ]] ; then +if [[ ${relname} != *"develop"* ]] ; then # Archive this for evaluation of crash reports cp Fritzing "Fritzing_${release_name}" strip Fritzing @@ -95,8 +95,8 @@ echo "cleaning translations" rm ./translations/*.ts # remove translation xml files, since we only need the binaries in the release find ./translations -name "*.qm" -size -128c -delete # delete empty translation binaries -if [[ ${relname} == *"debug"* ]] ; then - git clone --branch develop --single-branch https://github.com/fritzing/fritzing-parts.git || echo -e "\\n #### \\033[1;31m Ignoring git error for debug build! \\033[0m ####\\n" +if [[ ${relname} == *"develop"* ]] ; then + git clone --branch develop --single-branch https://github.com/fritzing/fritzing-parts.git || echo -e "\\n #### \\033[1;31m Ignoring git error for development build! \\033[0m ####\\n" else git clone --branch master --single-branch https://github.com/fritzing/fritzing-parts.git fi @@ -115,7 +115,7 @@ chmod +x Fritzing cd "${current_dir}" -if [[ ${relname} != *"debug"* || ${relname} == *"continuous"* ]]; then +if [[ ${relname} != *"develop"* ]]; then echo "compressing...." tar -cjf ./"${release_name}".tar.bz2 "${release_name}" From 355bf8ba8f1edda668179b4fc74563b8e596de14 Mon Sep 17 00:00:00 2001 From: Kjell Morgenstern Date: Sun, 6 Oct 2019 10:28:34 +0200 Subject: [PATCH 04/12] Add override and warning for dynamic libgit2 --- phoenix.pro | 14 ++---------- pri/libgit2detect.pri | 51 ++++++++++++++++++++++++++++--------------- 2 files changed, 35 insertions(+), 30 deletions(-) diff --git a/phoenix.pro b/phoenix.pro index c5268435f..dcf1d2f9f 100644 --- a/phoenix.pro +++ b/phoenix.pro @@ -165,18 +165,8 @@ QT += concurrent core gui network printsupport serialport sql svg widgets xml RC_FILE = fritzing.rc RESOURCES += phoenixresources.qrc -# Fritzing is using libgit2 since version 0.9.3 -packagesExist(libgit2) { - message("always true on win32. leads to build problems") - - PKGCONFIG += libgit2 - win32 { - include(pri/libgit2detect.pri) - message($$PKGCONFIG) - } -} else { - include(pri/libgit2detect.pri) -} +# LIBGIT_STATIC = true +include(pri/libgit2detect.pri) include(pri/boostdetect.pri) diff --git a/pri/libgit2detect.pri b/pri/libgit2detect.pri index 46ca2c8a3..f5de3c77e 100644 --- a/pri/libgit2detect.pri +++ b/pri/libgit2detect.pri @@ -13,18 +13,26 @@ # along with Fritzing. If not, see . # ******************************************************************** -LIBGIT2INCLUDE = "$$_PRO_FILE_PWD_/../libgit2/include" -exists($$LIBGIT2INCLUDE/git2.h) { - message("found libgit2 include path at $$LIBGIT2INCLUDE") -} else { - message("Fritzing requires libgit2") - message("Build it from the repo at https://github.com/libgit2") - message("See https://github.com/fritzing/fritzing-app/wiki for details.") - error("libgit2 include path not found in $$LIBGIT2INCLUDE") +packagesExist(libgit2) { +} else { + LIBGIT_STATIC = true } -INCLUDEPATH += $$LIBGIT2INCLUDE +if ($$LIBGIT_STATIC) { + LIBGIT2INCLUDE = "$$_PRO_FILE_PWD_/../libgit2/include" + exists($$LIBGIT2INCLUDE/git2.h) { + message("found libgit2 include path at $$LIBGIT2INCLUDE") + } else { + message("Fritzing requires libgit2") + message("Build it from the repo at https://github.com/libgit2") + message("See https://github.com/fritzing/fritzing-app/wiki for details.") + + error("libgit2 include path not found in $$LIBGIT2INCLUDE") + } + + INCLUDEPATH += $$LIBGIT2INCLUDE +} win32 { contains(QMAKE_TARGET.arch, x86_64) { @@ -40,18 +48,25 @@ win32 { } LIBS += -L$$LIBGIT2LIB -lgit2 + message($$PKGCONFIG) } unix { - LIBGIT2LIB = $$_PRO_FILE_PWD_/../libgit2/build - exists($$LIBGIT2LIB/libgit2.a) { - message("found libgit2 library in $$LIBGIT2LIB") - } else { - error("static libgit2 library not found in $$LIBGIT2LIB") - } - macx { - LIBS += $$LIBGIT2LIB/libgit2.a /System/Library/Frameworks/Security.framework/Versions/A/Security + if ($$LIBGIT_STATIC) { + LIBGIT2LIB = $$_PRO_FILE_PWD_/../libgit2/build + exists($$LIBGIT2LIB/libgit2.a) { + message("found libgit2 library in $$LIBGIT2LIB") + } else { + error("static libgit2 library not found in $$LIBGIT2LIB") + } + macx { + LIBS += $$LIBGIT2LIB/libgit2.a /System/Library/Frameworks/Security.framework/Versions/A/Security + } else { + LIBS += $$LIBGIT2LIB/libgit2.a -lssl -lcrypto + } } else { - LIBS += $$LIBGIT2LIB/libgit2.a -lssl -lcrypto + warning("Using dynamic linking for libgit2.") + #message("Enabled dynamic linking of libgit2") + PKGCONFIG += libgit2 } } From 2864e2f4008ee93e5969318303e48c6e7f905121 Mon Sep 17 00:00:00 2001 From: Kjell Morgenstern Date: Sun, 6 Oct 2019 10:31:24 +0200 Subject: [PATCH 05/12] Enable fast_check again --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 01c7c0466..07774cf8a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ language: minimal stages: -# - name: fast_check + - name: fast_check - name: build_and_pack # Avoid duplicate builds for pull requests if: type = push OR (type = pull_request AND slug != "fritzing/fritzing-app") From 0fcc6ac2bb19dccea7e94508226b93c43d498067 Mon Sep 17 00:00:00 2001 From: Kjell Morgenstern Date: Sun, 6 Oct 2019 13:50:49 +0200 Subject: [PATCH 06/12] Use current git hash and tag for versioning. Adapt layout --- pri/gitversion.pri | 34 ++++++++++++++++++ pri/translations.pri | 10 +++--- pri/version.pri | 12 ++++--- resources/images/aboutbox_scrollfade.png | Bin 599 -> 1514 bytes resources/images/splash/april1st.png | Bin 4087 -> 8236 bytes resources/images/splash/splash.xml | 4 +-- .../images/splash/splash_progressbar.png | Bin 120 -> 857 bytes .../images/splash/splash_screen_start.png | Bin 4087 -> 8236 bytes src/fapplication.cpp | 6 ++-- src/help/aboutbox.cpp | 16 ++++----- src/version/version.cpp | 21 +++++------ src/version/version.h | 4 +-- 12 files changed, 70 insertions(+), 37 deletions(-) create mode 100644 pri/gitversion.pri diff --git a/pri/gitversion.pri b/pri/gitversion.pri new file mode 100644 index 000000000..8cc2e91c9 --- /dev/null +++ b/pri/gitversion.pri @@ -0,0 +1,34 @@ +# Need to discard STDERR so get path to NULL device +win32 { + NULL_DEVICE = NUL # Windows doesn't have /dev/null but has NUL +} else { + NULL_DEVICE = /dev/null +} + +# Need to call git with manually specified paths to repository +BASE_GIT_COMMAND = git --git-dir $$PWD/../.git --work-tree $$PWD/.. + +$$(TRAVIS) { + # When running on travis, the tag is created *after* the build was successful. + # So we can not use 'git describe', but we generate a string that should look exactly + # like what git describe would deliver + GIT_VERSION = CD-$$(TRAVIS_BUILD_NUMBER)-0-$$system($$BASE_GIT_COMMAND rev-parse --short HEAD) +} else { + GIT_VERSION = $$system($$BASE_GIT_COMMAND describe --tags 2> $$NULL_DEVICE) +} + +GIT_DATE = $$system($$BASE_GIT_COMMAND show --no-patch --no-notes --pretty='%cd' HEAD --date=iso-strict 2> $$NULL_DEVICE) + +# Here we process the build date and time +win32 { + # Try to squeeze something ISO-8601-ish out of windows + BUILD_DATE = $$system( powershell (Get-Date -Format "o") ) +} else { + BUILD_DATE = $$system( date --iso-8601=seconds ) +} + +DEFINES += GIT_VERSION=\\\"$$GIT_VERSION\\\" +DEFINES += GIT_DATE=\\\"$$GIT_DATE\\\" +DEFINES += BUILD_DATE=\\\"$$BUILD_DATE\\\" +warning($$GIT_VERSION) +warning($$(TRAVIS)) \ No newline at end of file diff --git a/pri/translations.pri b/pri/translations.pri index ebdd3854b..a1e72867e 100644 --- a/pri/translations.pri +++ b/pri/translations.pri @@ -18,7 +18,7 @@ TRANSLATIONS += translations/fritzing_de.ts \ translations/fritzing_bg.ts \ translations/fritzing_bn.ts \ translations/fritzing_cs.ts \ - translations/fritzing_da.ts \ + translations/fritzing_da.ts \ translations/fritzing_el.ts \ translations/fritzing_en.ts \ translations/fritzing_es.ts \ @@ -32,7 +32,7 @@ TRANSLATIONS += translations/fritzing_de.ts \ translations/fritzing_it.ts \ translations/fritzing_ja.ts \ translations/fritzing_ko.ts \ - translations/fritzing_mk.ts \ + translations/fritzing_mk.ts \ translations/fritzing_mr.ts \ translations/fritzing_nl.ts \ translations/fritzing_pl.ts \ @@ -42,12 +42,12 @@ TRANSLATIONS += translations/fritzing_de.ts \ translations/fritzing_ru.ts \ translations/fritzing_sk.ts \ translations/fritzing_sl.ts \ - translations/fritzing_sr.ts \ + translations/fritzing_sr.ts \ translations/fritzing_sv.ts \ translations/fritzing_th.ts \ translations/fritzing_tr.ts \ translations/fritzing_uk.ts \ - translations/fritzing_ur.ts \ - translations/fritzing_vi.ts \ + translations/fritzing_ur.ts \ + translations/fritzing_vi.ts \ translations/fritzing_zh_cn.ts \ translations/fritzing_zh_tw.ts \ diff --git a/pri/version.pri b/pri/version.pri index 0f3d9accf..0c528c093 100644 --- a/pri/version.pri +++ b/pri/version.pri @@ -13,19 +13,21 @@ # along with Fritzing. If not, see . # ********************************************************************/ +include(gitversion.pri) + HEADERS += \ - src/version/modfiledialog.h \ + src/version/modfiledialog.h \ src/version/updatedialog.h \ src/version/version.h \ src/version/versionchecker.h \ - src/version/partschecker.h + src/version/partschecker.h SOURCES += \ - src/version/modfiledialog.cpp \ + src/version/modfiledialog.cpp \ src/version/updatedialog.cpp \ src/version/version.cpp \ src/version/versionchecker.cpp \ - src/version/partschecker.cpp + src/version/partschecker.cpp FORMS += \ - src/version/modfiledialog.ui + src/version/modfiledialog.ui diff --git a/resources/images/aboutbox_scrollfade.png b/resources/images/aboutbox_scrollfade.png index 4b9b3c800d3a692e85ebd73f306e9608c172ef06..2f487e468f5f3dc03ca00aeeef67c0284582bc84 100644 GIT binary patch delta 1403 zcmV->1%&$71nLWr7k{(}0{{R3r<;4l000EAdQ@0+Qek%>aB^>EX>4U6ba`-PAZ2)I zW&i+q+U-|ct}G`E{AU$e0>&7_a(GJFL6)B~&CKcZ$dztpej=sObkiQNiz+a*n}7Ye z+#k3?jM+ueoJvX_S1hrFic0p^bv?<)eZNfU)abL_wRk!On12{gzFyP3o>XC%j}Cg; zQ~PXp+K-=n9MRM9zStsL{j|%+5r@l8=iQalug2SO&M)-mFfQL;-lKwyA@Ik+g~`Mo z_iRxZ2)J-H8}6P{Fbi*sY)kl=JNK-9Ay3oK-1&N1@MkKVe{@J+I68KcFZPE+W9W{E z9@X&q4=vA0@PCcFwMJfRUZblqfvM!qpdJ+N8X7iG$-7%ZQTzmT-KBU7QhkSF18O#u z?x;`zvx_1PsQIeg4o@t!uZs<1>SB1u%T z6sd_*On;J6(quWRDr;2Hq^enq*33C($ti2jx#U_xVWcoAsi-Ttlu|2#R=BR{UD2Y} z78JB=i@$YdF@>8KTvv5rUaGFwmCQV{ad3>EI+E3`FO*UUld z)PLos?=`MPb+(WZZANQ0N!BdTJQ5FOn34pb8f5?a?J5qtS6^l;%Mc-76<$4ofr@Ps zqF940x@xl8@EBd+C-W$zJYl_c>wtp zj2kWP6<+SNxL0_&)8by?6C^++TNy=3^THPFk-`><9Z`_-g`$vqR9=1l@92L= z|5ZoSv5S{FR?c(GRqz3TeLvzDF)Xpw78ge>sllb=3j>FbT4k@l;#b~_a%#tEbbl{x zUy33J<+>LyW9bHbcIe(|`?5pIP77oQcbo=r47MZ?d0y{jAyMp_4+&9b20OlqdFjAUyybIOzHvPqXp3c}25;D$TVwGp4t!ZOMSdxqEaCK3=IA8;f`%{)UkBd(4Yc9L+c1!LhyVZp zHc(7dMF0Q*kt{QBHO>L;#2d9Y_EG010qNS#tmY zE+YT{E+YYWr9XB6000McNliru;|c}~4+Ot|v&H}b0C7n~K~#9!?a@IE03Zwm!IB`L z{?$S;aUq#`tbwgX-mYmAGzSWkVF5IgZ~+b;ezvYAXb!v$q#X`{GT@mydLsY;002ov JPDHLkV1n+{evbeE literal 599 zcmeAS@N?(olHy`uVBq!ia0y~yU~B`j7jQ5GN&7q29ze=0z$e7@|Ns9lfZ!zB_m;0p&_Y{uu z`!3wg@4WKM&c)U9pLpJ`_X&Tzdy3_i-@C5dKXdE8T>tS+IveZEeuulPl(~9h_ogeC zgJZfTzRJ~o6_nR^I{A2SA+JXB-s&RLR8zzBXy2|sdhR|tXL~0yU3yS??fmp!6YsNn ziW93}wcak&dF@{S3P3W!kNNY?Kc}i=q>o=WS$BGd@7eg5AGW@KzIJI||KBeY4WC}J zd7HcbQ$%0>`*`^|=eOkU+j(;DjkX)g`?8Kt(Z9jB{PDfaKXKiuU*v^PN1wgEVw<_I qZU5)*uRp)~n{jLQ^UXy+Ze6R-cxJbl^|fLS$g`fVelF{r5}E*|swMsa diff --git a/resources/images/splash/april1st.png b/resources/images/splash/april1st.png index 33f531e51b2e99605f269ae750e237e88aa0ce5e..1518c4879b75af09b5bd17faf9554e5c1edc9285 100644 GIT binary patch delta 7920 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 delta 3713 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 - - + + diff --git a/resources/images/splash/splash_progressbar.png b/resources/images/splash/splash_progressbar.png index c4a9e2c8772c21475f3c9f9d1bfff5cb632d3ad0..63034b8ed327bf99147dfd502ab1bd517aa52c9d 100644 GIT binary patch delta 810 zcmV+_1J(R^*#?joe;xq?0002jTjqoS00Pc>R9JLUVRs;Ka&Km7Y-J#Hd2nSQWq4_3 z004N}t(9SN+#n2v|8t5S0Z9mn<6tl|y+M!P2PWR^Ce2JTHM4-VLcse34(FfWBmA0A zF%C)1bICd4NhKAo=y<%ItEHG$9rxQ?`(zJv?mrkNK`Ym5f8KVguy%+6b-FA7FBE-BM@{2~>PWriaOQ9!fkC~tTIP}uv ze%@&}M)xt!e`|L&Whj-y-qhPxRu7H`q`cI~D2AV+Z>tm(#}*qz@1S|0v_ORz$_`4@ zsnVcxwT&8ZNYm`}hw1;;Wbxmm*tKxk}De|71*N_dwy@f}zJL0vLCHdy0v zg*cQRxh0FUz)xce@k)2Hz5_ra%&k}q2?)eYqLe8bvk^f@2cL?Svm`!1fK<6t7+@nf z3C7NIZj3QnzN~ziakT)1N)`he93a3-Ns&L6963}~GzC@7YU*0FX2~gQ&e`(3qpFD| zQ_E)Ne^#uzcyjgZ=I+I7;Uc)gwB%x;cqye;Oj;4TVswQ^tp^`+q(hH<*x^SxYD4<8 z)U@Sh&0A@;bC-_e-*dOny_a53I+03eI`zz_oqm?H4&>U9k%o>uZ1^an-qdIx+b3%D zLhfs7w5d&EY5CcM8q8*IA!uGFI+=kOCjxPsX#|kaJeftOlz5Vx%wl023T03uop3r$ zVj!4KVjXm|dyxB*ThR0^Zu~EDVWRsVAE zj<}H_6_G;~GzWA^O+^Re3I+=yD<7$c ovj6}93`s;mR0!8&U?3j=002Ay0Y35Z4FCWD07*qoM6N<$f|zc5Q~&?~ delta 84 zcmcb~Rxv?bQ-G0~fq~&|VEY#!#TMWb;`+%_?ccwDyG_%qfFg`Z-tI1p|Cw~}P3C2m lP~i4-aSY+Oo}6%ipMgPvfpLv8?@^#C22WQ%mvv4FO#nA@7=8c% diff --git a/resources/images/splash/splash_screen_start.png b/resources/images/splash/splash_screen_start.png index 33f531e51b2e99605f269ae750e237e88aa0ce5e..1518c4879b75af09b5bd17faf9554e5c1edc9285 100644 GIT binary patch delta 7920 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 delta 3713 zcmZ`+X*iUR*GAbwc4q97wJeWqq$1gwA-kv;lVu|Fvm~@UsUH`cNL8$0UzWqqAxm~%P=wJD*Gi32}NLtSJgZqcvS9qjmW)M7r;- zj2_9v69Tk0`)`VEzE&c18^v~a`RYEe?!CEK>bZRYW;NUCj2sX8C*H1&lho-jOc^Q5 zKgk`d-DeC+ldU2}{QaqZ50g7LzcRlsQr5LDTJ;f6oiwz!%q7U|t`7i?Z)*}OsdxSsw7hf?AutTZ|Dg6_q0$U}eX{c!nY zdZZ$7Z%*m49ar)I2Jg|slxU0oo*avP4wUDLr3HR6ya+9}Q%NnYDIwzHYa6yglY!ZD z^<+ajQ-K^tY`)6p{wFK%@sYaGEfac+N=;r=K|8swDib+gZ2oh0_LhN=fbfF47l`YD z;~&}v44wTJIFOF=XBjz{J%S(pCW>=(|2-#{=6-ykvryqQ-vyPfum(wZhprvRDvF zQPxc>SJO>$zT`yLU7Z#U0HW zSykz75_9%(L}g~Zz2Mu{8!Chs{Hpv48lS#NS?(v42VMa+R7=C)Ax+AppY|`@kUX>d za-(Ot<9hGOAL3zHCU+G|ez*6!aEjK&# z>#2+>b=f%w>7%+X*WHnx{Jjpxvh*g72PoclR_JJyTOpx%LhVl#}VTT&q5{K19hpK~XiQK4mCXa6i)24KEy z#xq#o~1@@FJivit0=riBT>sPC!D8x%`ZMM*H*~s}!Uwzx#EB|o-2&BB^s;vdG)OHcX6R=5d?&khr4Vi;7X1lI@ zlg*H?dVU(>1`uO0qt|PIDn-fV_8Zh)yWxfkw#8l1aYLl;k5d zH%@B>hJ1lFovBO|m4P}HiYY+4^P`k3I{fh{DRCHuQNXD<-Nx$>F)EvWcpI?r-&Z2p zZ{IR|hV;Yw3zh{%Wll_{SYG77+&4C}$0Q8SBn}&6d{S2&eetJ}R)%SQ$jmg?EiRkx z1}>{)am}cYu0grb&ksR07aa49rrxgKXd_exf`L~*o3#{E-kj zPN!r&0(Qa-xobZFTTPmNU0~Zkn^tICm)-*efsR*{LQ)}e(Wv4gq1ZXlITj6z#n6YrLW?5~M;?XRGNaud936T9Ca6<0koN zxi| zunyQe@1jz-^Wh?9J(5>D$=3erG=5xvUKaT<@Sf*0oMu}m{f|F#O=xxt&pUP|!4d|% zSbr*I3CE&iGB<-IkB!}k>vA(PQ-25&ER!l=rNv59C)z5tE* zdFZvQr|JtUVn%-SKEtsI31}xGsM7$X?KidNQPd_spPn+aSbDAwDOC7OR2(PXO^(gZ z9bM0vh2DhRmJab-!lUD6D8(bp)~TwpcpHC(<|R`%B`?Y;gdGAKu=;zi552y9ki<0T z@6(~hKck_JK0RhB17{mlLU-j+0@tV7&36$_TDuw?ySI@p5*dY;V|!nKec-5k8^WY! zLH^!_2XR$8FHGATW_EqAijaf?y<^WM019pf89T2$3z}-HCqyl%Dg6FOWKD>tI6Imnmo|j0sE~ae2 zmKS5yu!;8RGA%gfi(#Rk;m8j@SZX74#}2UeC(g$J^gm|!9UUQ){m^;$U7Zm|&+8;& z6;qW=pnxc8=FJtJ5^;%u4<^4~M9L*vVK5T%hY1i2dEUQ7_s$3iv(AXVuXN$6=ti-g zgWy@V=Q&~ORjM7ID?GV&dPc})2$@^m$7RaDYdKk&O@#jb(MDdOV7b45bABVK4yl$H zi(=L^J!gs}IZhB=-Ll)0xMQj0%Qj~7Z0BHv{L5`3Q9WY1k8wWcT89S61K*%dN!Cv^ zR)x>CiEnySa9iL{tiRz7R~a*~irU@D%Z^%?{ns!1;nOG$la5_Ku8eDGO7**~@o#(K z+37c2l}uU-XjLm>HKeg_c`njo_Y_jQes%c}o z>rO_k;~gz*j~7GE4;>4vp($wsiWq__Ox8I%`ii}}?OY%H^r=aTx`}-rq3LwFg%`eI z$@;iz7{)JhSQ+!t!5{&rhv09=df{CS(v4zPZ81!pN?6<=o_z&@4O@@J7VN$3(rt57ht=M&6zamh&*Tvnj?e{tzQE|GBx1UOOLz7buQvDU@3g#bILbWt z=p;9AcNjO(0G?@Xl&*i+-}C(YkIB2jcQ%mE7>l0`uPbq0NthwLs*`!bm!}-u3}d5- zRHHd}2bNxiVb;f}*`PbWz4Zn(wUt;=A1{z_gl@5zcrtNP%Q#5DODErSHx7N!sKNNK zw%)_+WOdkD(^nYP(&3W;huBEeC-MRcsuKXo-KSJ<6er&kmD~u_t|`%yyQz1jFL;81 znFXVwAzsuh84P{Dx$F!-ru$@=>}2y`Ln%>eKcXOU*{igs&@o)1eM1EL1uF&aVm*Vq z4;lkn91QOgfo-+CRvvs6n=JS-2Tm#r_IF2u(jpsCUR^Q6i?^MhUwjJeN4g`w{G1l- z7vUdSpU9;vz-Xdf(D%{EE?Z{p2f3BVa;nIN+^w}*^VExKc`pSPuDiV@u*bZ-D=dtg ztViJIN*3XxpqOdb@))>1LB^$Uu$h_jrkxJw1h*ycrD!Kb+NlM z@SqI*>JR@JL3iX~CM?K6V`fIXpoMdQ4?nMMk5Snmg!Ncy%zK}3M^?Uq1sR^fjLK>t z7pmm;k&H(Z%}FcD+tlglaz9SmPp;I)N`zWo2G700?FsJpvX~*O&3EWL1}Iqc34l}A zpJ0T|JoV%B0x_KD)q-%a<|n`psO;7TU1jEAhwISrH!ZKfDr|c>>JYQPeeqUqdjI3Z z@l3l$m^&+;G35V*)|JC62+(gg$w2Yo*KGBUC9RUv;%`~JHrO!GJ(gPUc_kX$EA>AZ z_@(^Bw(;&?gnNJV?`(|a;owIP;NM0c2N{MK{?gfh)BnHKA?uXa39A&0S" - "Version %1.%2.%3 (%4%5) %6" + "Version %1.%2.%3 (%4 %5) %6" "") .arg(Version::majorVersion()) .arg(Version::minorVersion()) .arg(Version::minorSubVersion()) - .arg(Version::modifier()) - .arg(Version::shortDate()) + .arg(Version::gitVersion()) + .arg(Version::date()) .arg(m_buildType); splash.showMessage(msg2, "versionText", Qt::AlignRight | Qt::AlignTop); diff --git a/src/help/aboutbox.cpp b/src/help/aboutbox.cpp index ccd20e9a2..3ba4931a8 100644 --- a/src/help/aboutbox.cpp +++ b/src/help/aboutbox.cpp @@ -34,7 +34,7 @@ along with Fritzing. If not, see . AboutBox* AboutBox::Singleton = NULL; static const int AboutWidth = 390; -static const int AboutText = 210; +static const int AboutText = 220; QString AboutBox::BuildType; AboutBox::AboutBox(QWidget *parent) @@ -44,7 +44,7 @@ AboutBox::AboutBox(QWidget *parent) // To make the application not quit when the window closes this->setAttribute(Qt::WA_QuitOnClose, false); - setFixedSize(AboutWidth, 430); + setFixedSize(AboutWidth, 466); // the background color setStyleSheet("background-color: #E8E8E8"); @@ -61,17 +61,17 @@ AboutBox::AboutBox(QWidget *parent) // Version String QLabel *versionMain = new QLabel(this); - versionMain->setText(tr("Version %1.%2.%3 (%4%5 %6) %7 [Qt %8]") + versionMain->setText(tr("Version %1.%2.%3
(%4%5 %6) %7 [Qt %8]") .arg(Version::majorVersion()) .arg(Version::minorVersion()) .arg(Version::minorSubVersion()) .arg(Version::modifier()) - .arg(Version::revision()) + .arg(Version::gitVersion()) .arg(Version::date()) .arg(BuildType) .arg(QT_VERSION_STR) ); versionMain->setFont(smallFont); - versionMain->setGeometry(45, 150, 300, 20); + versionMain->setGeometry(45, 142, 300, 42); versionMain->setAlignment(Qt::AlignBottom | Qt::AlignHCenter); versionMain->setTextInteractionFlags(Qt::TextSelectableByMouse); @@ -80,7 +80,7 @@ AboutBox::AboutBox(QWidget *parent) linkToFritzing->setText(tr("www.fritzing.org")); linkToFritzing->setOpenExternalLinks(true); linkToFritzing->setFont(smallFont); - linkToFritzing->setGeometry(45, 168, 300, 18); + linkToFritzing->setGeometry(45, 188, 300, 18); linkToFritzing->setAlignment(Qt::AlignBottom | Qt::AlignHCenter); @@ -90,7 +90,7 @@ AboutBox::AboutBox(QWidget *parent) QLabel *copyrightGNU = new QLabel(this); copyrightGNU->setText(tr("GNU GPL v3 on the code and CreativeCommons:BY-SA on the rest")); copyrightGNU->setFont(extraSmallFont); - copyrightGNU->setGeometry(0, 398, AboutWidth, 16); + copyrightGNU->setGeometry(0, 410, AboutWidth, 16); copyrightGNU->setAlignment(Qt::AlignBottom | Qt::AlignHCenter); QLabel *CC = new QLabel(this); @@ -101,7 +101,7 @@ AboutBox::AboutBox(QWidget *parent) QLabel *copyrightFritzing = new QLabel(this); copyrightFritzing->setText(tr("2007-%1 Fritzing").arg(Version::year())); copyrightFritzing->setFont(extraSmallFont); - copyrightFritzing->setGeometry(30, 414, AboutWidth - 30 - 30, 16); + copyrightFritzing->setGeometry(30, 426, AboutWidth - 30 - 30, 16); copyrightFritzing->setAlignment(Qt::AlignBottom | Qt::AlignHCenter); diff --git a/src/version/version.cpp b/src/version/version.cpp index 68d8ad97c..2dd3e09d8 100644 --- a/src/version/version.cpp +++ b/src/version/version.cpp @@ -29,13 +29,13 @@ along with Fritzing. If not, see . #include "../utils/textutils.h" #include "../lib/qtsysteminfo/QtSystemInfo.h" + QString Version::m_majorVersion("0"); QString Version::m_minorVersion("9"); QString Version::m_minorSubVersion("4"); -QString Version::m_modifier("b"); -QString Version::m_gitCommit("872b5cd"); -QString Version::m_gitDate("2019-07-05T15:00:00Z"); // want standard ISO form -QString Version::m_revision; +QString Version::m_modifier(""); +QString Version::m_gitVersion(GIT_VERSION); +QString Version::m_gitDate(GIT_DATE); // want standard ISO form QString Version::m_date; QString Version::m_shortDate; QString Version::m_versionString; @@ -51,9 +51,6 @@ Version::Version() { m_modifiers << "a" << "b" << "rc" << ""; } - m_revision = m_gitCommit; - m_revision.truncate(8); - QStringList strings; strings = m_gitDate.split("T", QString::SkipEmptyParts); if (strings.size() >= 2) { @@ -65,7 +62,7 @@ Version::Version() { } } - m_versionString = QString("%1.%2.%3%4.%5.%6").arg(m_majorVersion).arg(m_minorVersion).arg(m_minorSubVersion).arg(m_modifier).arg(m_shortDate).arg(m_revision); + m_versionString = QString("%1.%2.%3%4.%5.%6").arg(m_majorVersion).arg(m_minorVersion).arg(m_minorSubVersion).arg(m_modifier).arg(m_date).arg(m_gitVersion); } const QString & Version::majorVersion() { @@ -80,10 +77,6 @@ const QString & Version::minorSubVersion() { return m_minorSubVersion; } -const QString & Version::revision() { - return m_revision; -} - const QString & Version::modifier() { return m_modifier; } @@ -92,6 +85,10 @@ const QString & Version::versionString() { return m_versionString; } +const QString & Version::gitVersion() { + return m_gitVersion; +} + const QString & Version::fullDate() { return m_gitDate; } diff --git a/src/version/version.h b/src/version/version.h index c911c9559..906c75372 100644 --- a/src/version/version.h +++ b/src/version/version.h @@ -38,8 +38,8 @@ class Version { static const QString & minorVersion(); static const QString & minorSubVersion(); static const QString & modifier(); - static const QString & revision(); static const QString & versionString(); + static const QString & gitVersion(); static const QString & date(); static const QString & fullDate(); static const QString & shortDate(); @@ -64,9 +64,9 @@ class Version { static QString m_minorVersion; static QString m_minorSubVersion; static QString m_gitCommit; - static QString m_revision; static QString m_modifier; static QString m_versionString; + static QString m_gitVersion; static QString m_gitDate; static QString m_date; static QString m_shortDate; From 7299130732776d00cb08936b03cd18dfdd84f7fe Mon Sep 17 00:00:00 2001 From: Kjell Morgenstern Date: Mon, 7 Oct 2019 18:56:29 +0200 Subject: [PATCH 07/12] Fix linux archive on develop builds --- tools/linux_release_script/release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/linux_release_script/release.sh b/tools/linux_release_script/release.sh index 3efbfe6b7..58069e364 100755 --- a/tools/linux_release_script/release.sh +++ b/tools/linux_release_script/release.sh @@ -115,7 +115,7 @@ chmod +x Fritzing cd "${current_dir}" -if [[ ${relname} != *"develop"* ]]; then +if [[ "${TRAVIS}" == "true" ]]; then echo "compressing...." tar -cjf ./"${release_name}".tar.bz2 "${release_name}" From b1bc704120d19e15c36ddfc93ef4f42001067dd1 Mon Sep 17 00:00:00 2001 From: Kjell Morgenstern Date: Mon, 7 Oct 2019 20:53:09 +0200 Subject: [PATCH 08/12] Pass on travis variables to docker, cleanups --- docker/release-linux.sh | 5 ++++- phoenix.pro | 3 ++- pri/gitversion.pri | 2 -- tools/linux_release_script/release.sh | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/docker/release-linux.sh b/docker/release-linux.sh index 4ee8cf73a..7e96d5582 100755 --- a/docker/release-linux.sh +++ b/docker/release-linux.sh @@ -1,4 +1,7 @@ #!/bin/bash set -xe -docker run --privileged -v "$(pwd):/home/conan/fritzing" -w /home/conan/fritzing fritzing/build:"$1" docker/xvfb-release-helper.sh "$2" +docker run --privileged -v "$(pwd):/home/conan/fritzing" \ + -e TRAVIS=${TRAVIS:-} \ + -e TRAVIS_BUILD_NUMBER=${TRAVIS_BUILD_NUMBER:-} \ + -w /home/conan/fritzing fritzing/build:"$1" docker/xvfb-release-helper.sh "$2" diff --git a/phoenix.pro b/phoenix.pro index dcf1d2f9f..8a7e828ba 100644 --- a/phoenix.pro +++ b/phoenix.pro @@ -165,7 +165,8 @@ QT += concurrent core gui network printsupport serialport sql svg widgets xml RC_FILE = fritzing.rc RESOURCES += phoenixresources.qrc -# LIBGIT_STATIC = true +# Disable this if you have (and want) libgit2 dynamically +LIBGIT_STATIC = true include(pri/libgit2detect.pri) include(pri/boostdetect.pri) diff --git a/pri/gitversion.pri b/pri/gitversion.pri index 8cc2e91c9..793b1b203 100644 --- a/pri/gitversion.pri +++ b/pri/gitversion.pri @@ -30,5 +30,3 @@ win32 { DEFINES += GIT_VERSION=\\\"$$GIT_VERSION\\\" DEFINES += GIT_DATE=\\\"$$GIT_DATE\\\" DEFINES += BUILD_DATE=\\\"$$BUILD_DATE\\\" -warning($$GIT_VERSION) -warning($$(TRAVIS)) \ No newline at end of file diff --git a/tools/linux_release_script/release.sh b/tools/linux_release_script/release.sh index 58069e364..a383c8d93 100755 --- a/tools/linux_release_script/release.sh +++ b/tools/linux_release_script/release.sh @@ -115,7 +115,7 @@ chmod +x Fritzing cd "${current_dir}" -if [[ "${TRAVIS}" == "true" ]]; then +if [[ "${TRAVIS:-}" == "true" ]]; then echo "compressing...." tar -cjf ./"${release_name}".tar.bz2 "${release_name}" From 1121e0780cf53a802a5763e25e2ee227ef301b64 Mon Sep 17 00:00:00 2001 From: Kjell Morgenstern Date: Mon, 7 Oct 2019 21:17:44 +0200 Subject: [PATCH 09/12] Shell linting --- docker/release-linux.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/release-linux.sh b/docker/release-linux.sh index 7e96d5582..73ee84453 100755 --- a/docker/release-linux.sh +++ b/docker/release-linux.sh @@ -2,6 +2,6 @@ set -xe docker run --privileged -v "$(pwd):/home/conan/fritzing" \ - -e TRAVIS=${TRAVIS:-} \ - -e TRAVIS_BUILD_NUMBER=${TRAVIS_BUILD_NUMBER:-} \ + -e TRAVIS="${TRAVIS:-}" \ + -e TRAVIS_BUILD_NUMBER="${TRAVIS_BUILD_NUMBER:-}" \ -w /home/conan/fritzing fritzing/build:"$1" docker/xvfb-release-helper.sh "$2" From 61ad6a3af6f12ad6e5065b753a98963265a2ccbb Mon Sep 17 00:00:00 2001 From: Kjell Morgenstern Date: Mon, 7 Oct 2019 22:12:34 +0200 Subject: [PATCH 10/12] Add static libgit2 for fedora (dynamic also builds, but is switched of) --- docker/Dockerfile.fedora | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docker/Dockerfile.fedora b/docker/Dockerfile.fedora index 2cf2b0b76..933d7a81a 100644 --- a/docker/Dockerfile.fedora +++ b/docker/Dockerfile.fedora @@ -25,3 +25,12 @@ USER conan # No SHA verification for now. Will be automated by Conan in the future. RUN set -xe \ && wget -q -O - https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.tar.bz2 | tar xj + +RUN set -xe \ + && wget -q -O - https://github.com/libgit2/libgit2/archive/v0.28.1.tar.gz | tar xz \ + && mv libgit2-0.28.1 libgit2 \ + && mkdir libgit2/build \ + && cd libgit2/build \ + && cmake -D BUILD_SHARED_LIBS=OFF .. \ + && cmake --build . -- -j4 \ + && cd ../../ From a55399728e43c3eb8bdcbad10bdde3e46bb02a67 Mon Sep 17 00:00:00 2001 From: Kjell Morgenstern Date: Mon, 7 Oct 2019 22:12:57 +0200 Subject: [PATCH 11/12] Travis slug->repo --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 07774cf8a..cb42020f4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,9 +4,9 @@ stages: - name: fast_check - name: build_and_pack # Avoid duplicate builds for pull requests - if: type = push OR (type = pull_request AND slug != "fritzing/fritzing-app") + if: type = push OR (type = pull_request AND repo != "fritzing/fritzing-app") - name: deploy_to_github - if: type = push AND branch IN (develop, master) AND slug == "fritzing/fritzing-app" + if: type = push AND branch IN (develop, master) AND repo = "fritzing/fritzing-app" env: global: From b0243dc35a6b787ad10b138690d14e0f6425f292 Mon Sep 17 00:00:00 2001 From: Kjell Morgenstern Date: Tue, 8 Oct 2019 00:46:04 +0200 Subject: [PATCH 12/12] Add branch wildcard for travis --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index cb42020f4..843298d79 100644 --- a/.travis.yml +++ b/.travis.yml @@ -175,6 +175,9 @@ jobs: file_glob: true file: $HOME/$TRAVIS_BUILD_NUMBER/* skip_cleanup: true + # We already check the branch in the stage condition + on: + all_branches: true after_deploy: - tools/aws_tasks.sh cleanup