From b25f517dbcd059d97da9a7bba7f74e30ff187009 Mon Sep 17 00:00:00 2001 From: Fabien Chouteau Date: Thu, 30 Jul 2020 04:17:00 -0700 Subject: [PATCH] Windows installer for alr (#481) * Windows installer scripts for alr * Update scripts/installer/auto-install.js * Update ci-windows.yml --- .github/workflows/ci-windows.yml | 41 +++++ scripts/installer/README.md | 3 + scripts/installer/alr_icon.ico | Bin 0 -> 183198 bytes scripts/installer/alr_installer_icon.ico | Bin 0 -> 27198 bytes scripts/installer/auto-install.js | 87 +++++++++ scripts/installer/make-alire-installer | 170 ++++++++++++++++++ scripts/installer/qt-ifw/config/config.xml | 10 ++ .../com.alire.root/meta/installscript.js | 36 ++++ .../packages/com.alire.root/meta/package.xml | 9 + 9 files changed, 356 insertions(+) create mode 100644 scripts/installer/README.md create mode 100644 scripts/installer/alr_icon.ico create mode 100644 scripts/installer/alr_installer_icon.ico create mode 100644 scripts/installer/auto-install.js create mode 100644 scripts/installer/make-alire-installer create mode 100644 scripts/installer/qt-ifw/config/config.xml create mode 100644 scripts/installer/qt-ifw/packages/com.alire.root/meta/installscript.js create mode 100644 scripts/installer/qt-ifw/packages/com.alire.root/meta/package.xml diff --git a/.github/workflows/ci-windows.yml b/.github/workflows/ci-windows.yml index 4775849a..0f91dcb1 100644 --- a/.github/workflows/ci-windows.yml +++ b/.github/workflows/ci-windows.yml @@ -48,6 +48,47 @@ jobs: BRANCH: ${{ github.base_ref }} INDEX: "" + - name: Install alr + run: gprinstall -p -P alr_env --prefix=${{ runner.temp }}/alr_install + + - name: Install qt-installer-framework in msys2 + run: C:\Users\runneradmin\.cache\alire\msys64\usr\bin\pacman --noconfirm -S mingw64/mingw-w64-x86_64-qt-installer-framework + + - name: Add msys2 /mingw64/bin to the path (for qt-installer-framework) + run: echo '::add-path::C:\Users\runneradmin\.cache\alire\msys64\mingw64\bin' + + - name: Install zip in msys2 + run: C:\Users\runneradmin\.cache\alire\msys64\usr\bin\pacman --noconfirm -S zip + + - name: Add msys2 /usr/bin to the path (for zip) + run: echo '::add-path::C:\Users\runneradmin\.cache\alire\msys64\usr\bin' + + - name: Run installer build script + run: bash make-alire-installer + shell: bash + working-directory: scripts/installer/ + env: + ALR_INSTALL_DIR: ${{ runner.temp }}/alr_install + ALR_INSTALL_OS: ${{ runner.os }} + + - name: Upload installer + uses: actions/upload-artifact@main + with: + name: installer-release-package + path: scripts/installer/alire-*.exe + + - name: Upload zip archive + uses: actions/upload-artifact@main + with: + name: zip-release-package + path: scripts/installer/alire-*.zip + + - name: Upload tar archive + uses: actions/upload-artifact@main + with: + name: tar-release-package + path: scripts/installer/alire-*.tar.xz + - name: Upload logs (if failed) if: failure() uses: actions/upload-artifact@master diff --git a/scripts/installer/README.md b/scripts/installer/README.md new file mode 100644 index 00000000..8574eabf --- /dev/null +++ b/scripts/installer/README.md @@ -0,0 +1,3 @@ +# Alire Windows Installer + +Based on MSYS2 installer: https://github.com/msys2/msys2-installer diff --git a/scripts/installer/alr_icon.ico b/scripts/installer/alr_icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..06b485e56750706b8bff72b0c4c0578ecd331efd GIT binary patch literal 183198 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 LqAli9c`pAC_;0O1 literal 0 HcmV?d00001 diff --git a/scripts/installer/alr_installer_icon.ico b/scripts/installer/alr_installer_icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..741a758f6f6217c0548f8d182f8e8390436456d7 GIT binary patch literal 27198 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⪚2I)9Lwapgdkr%pa!zWQxVN1mk%snmX{~W)xD)=L>qtDM4d#kSKS+@&|2T zvbBQO)nscq^_RwjFotpn8q{Y7rOC_q>-rvPu&3wa-$VLmU4PBz6If26C5Z0{MYFkJ zdK*%lpGmbvfta-W7N2`y`3D9`zl}+6wmumVKUZ>2BKf}3y~Au)LRMn}?C6;V^pO4s z$gX7hl9sSaXZaK202Aj+!Bo@-rkm=*Kt8X+cv;phL4BV79O`S zoN^m|RmQ@Wp53OS&w6D3?7#XYpKFoiTUgGeB~0UMAy0Fc>87%9Q>%Wq?DP20L;O7> z9lW8rDiT_4pghx!zdp)25mV?{1on{r`>uRRoGq4*=^Vzyi&HS4PdS=IQEo|`Ut)ch zU_#^x^ikG@49&BSAgg5p%{9?fzMkjo1ywx*aj4#T{oi}#3qFs-ayhL)xeW>Lt|=GA z=cMW>FV!CW7|``*4qKaj(wphda%+=lZf@=&{WC9r(JBTliAD3gJ&FytlEmMZ#OEcl zRiC>#23Evr3_jK~HhW;v;_qfZc6 z@dyFs_uyN63tqx{xC^erHRlpmXVhTfj-!|zMc?6I;?4SHz+inMv?#A`5K~M4=eSB- z<9f{9e~a>^cd%A?7i;px$h(8pf}2=PJjvBL4TO3gYbZ}^P5&F2D6g|J`^N zN&nH1J@o=nC!b?GL-h*;l-+@TbS(_%IT^%Jew?63|L+(bdIUOw#nAT6 zhNfEv)SZ%`x*`G}E((V7q7V#rN`s=85QBY-K)IYR-dcGoNIB#1RoT~m>P+vh&U*?Q z_?)3$Y#sDsFY*xOGmk)fV-YmH4?@FrH`LZ9V#KOA3|*HA;s`;VxUlR$IYa$Q8fpEH zco+RC@2an|vE=)%^z7`K2h%_LJmrBeh`@5el=IaNISkE!LTGqpVI*;Zhj?Uz;(E{| z9`6L=K(qB}e8NTMyF<}gp!hEOv$9mr>p04bcBW@%=iNzv-JlZaZZ4xaa~OK`UNbp5 zxEyMfzoz&jhWHjzp7(T9j#09 zA6pBx;G@J-5JElpFvg1c-EDQ29JAau`7PAXqQUR3y{LvkUcwv15&1cx<^^^U7rir` zTb^h9_sA1ZF=oqQSQ0;EI&nr!>DwyNvm?nkD#HWH8)@CR)>FE(dgRw<520LtHt{$< zBd-15C`bEGCBMQ(;(q<8yXEkAM%#~lYZ-UyTf3cSznh(Q{+}OZUjE5`*Evv`Z>h}B zOLHiX-Gv>&u8od7OMHfcU*x^>ZgcJjy2ELGw=PCr=rhPCf2e|c-lzdyd8U;2wI?pY zl0lvV7demoO~fmSV&{lE^NRh)r8E7<#n;i8mwh|Pv*61C9s-AVQ>y1n)7<;orRaWp z{b{XK4Xyftp3gt1k6XB?q4zMJj%9PC~AJzXoK|5pxw z_g3Ct4Qzb0-lb-GCw`1Q^C_$n&d_-0e?#vC z{Ym8av(Z}h^AI04SICwjoA&pkxkytQ@1Xvk`6|CRy`}m}N8tA`0wTf?1^@W1g(T%= zD5Cc>>jZg063G&>^tULkt(07EB_-wm17su9oAhWa=@j43b~2LwR6-{qk<>8-c1-^P z(-6xDkt6~Zf1XHKyd)wPFKxw=6=^@d;_=p__N6>68U*R~TaSR0r}gF>FDXw;%F`mw zRvV5M<7G)WS{+=I^0ZnkbyA*I8?Kg=r`2M1{Q9nxr$yFfd)}6mr}gVohrdJ0(`v=l zlJc~=Id3GliRX`$rzPTQNqJh5iP23dosReN*6atd0JAQRu|KwTbHCfEh$f{TNC9y+$7~` zy@x@4gDRywtv48~_i(F}r}Z8NRa&KV1jHl2(}g${_dateqif}<|@DATE@<|g" "{}" \; + find "${_ifwroot}" \( -name "package.xml" -or -name "config.xml" \) -exec sed -i "s|${_version}<|@VERSION@<|g" "{}" \; +} + +create_archives() { + local _data="${_ifwroot}"/packages/com.alire.root/data + [ -d "${_data}" ] && rm -rf "${_data}" + mkdir -p "${_data}" + + local _dirs="${_newalire}/"* + local _compress_cmd="${_archivegen} --compression 9 \"${_data}/alire.7z\" ${_dirs}" + pushd / > /dev/null + echo "Run: ${_compress_cmd} ..." | tee -a "${_log}" + eval "${_compress_cmd}" 2>&1 | tee -a "${_log}" + _result=$? + if [ "${_result}" -eq "0" ]; then + echo " archivegen succeeded. Created ${_data}/alire.7z" | tee -a "${_log}" + else + exit_cleanly "3" "archivegen failed. See ${_log}" + fi + popd > /dev/null + + pushd "${_newalirebase}" > /dev/null + # Tar archive + local _compress_tar="/usr/bin/tar --transform='s/:/_/g' --dereference --hard-dereference -cJf \"${_thisdir}/${_filename_tar}\" alire" + echo "Run: ${_compress_tar} ..." | tee -a "${_log}" + eval "${_compress_tar}" 2>&1 | tee -a "${_log}" + _result=$? + if [ "${_result}" -eq "0" ]; then + echo " tar succeeded. Created " | tee -a "${_log}" + else + die "Alire tar compressing fail. See ${_log}" + fi + + # ZIP archive + local _compress_zip="/usr/bin/zip -r \"${_thisdir}/${_filename_zip}\" alire" + echo "Run: ${_compress_zip} ..." | tee -a "${_log}" + eval "${_compress_zip}" 2>&1 | tee -a "${_log}" + _result=$? + if [ "${_result}" -eq "0" ]; then + echo " zip succeeded. Created " | tee -a "${_log}" + else + die "Alire zip compressing fail. See ${_log}" + fi + + popd > /dev/null +} + +# Add -v to get more information. +make_installer() { + eval "\"${_binarycreator}\" \ + -t \"${_installerbase}\" \ + -p \"${_ifwroot}/packages\" \ + -c \"${_ifwroot}/config/config.xml\" \ + --offline-only \ + \"${_filename}\" \ + -v" | tee -a "${_log}" +} + +trap exit_with_undo 1 2 15 + +create_chroot_system() { + [ -d "${_newalirebase}" ] && rm -rf "${_newalirebase}" + mkdir -p "${_newalire}" + pushd "${_newalire}" > /dev/null + + mkdir -p bin/ + cp -r "$ALR_INSTALL_DIR"/* . + + mkdir -p share/alire/ + cp "${_thisdir}/alr_icon.ico" share/alire/ + popd > /dev/null +} + +if [[ -z "$ALR_INSTALL_DIR" ]] +then + echo "Please set \$ALR_INSTALL_DIR" + exit 1 +fi +if [[ -z "$ALR_INSTALL_OS" ]] +then + echo "Please set \$ALR_INSTALL_OS" + exit 1 +fi + +if ! [ -x "$(command -v ${_archivegen})" ]; then + echo "Error: ${_archivegen} is not installed." >&2 + exit 1 +fi +if ! [ -x "$(command -v ${_binarycreator})" ]; then + echo "Error: ${_binarycreator} is not installed." >&2 + exit 1 +fi +if ! [ -x "$(command -v ${_installerbase})" ]; then + echo "Error: ${_installerbase} is not installed." >&2 + exit 1 +fi +if ! [ -x "$(command -v zip)" ]; then + echo "Error: zip is not installed." >&2 + exit 1 +fi +if ! [ -x "$(command -v tar)" ]; then + echo "Error: tar is not installed." >&2 + exit 1 +fi + +mkdir -p "${_newalire}" +if [ -f "${_log}" ]; then + rm "${_log}" +fi + +echo "Creating Alire install dir system ${_newalire}" | tee -a "${_log}" +create_chroot_system + +do_seds +create_archives +make_installer + +ls -la + +exit_cleanly "0" "All done, see ${_filename}" diff --git a/scripts/installer/qt-ifw/config/config.xml b/scripts/installer/qt-ifw/config/config.xml new file mode 100644 index 00000000..bd5232b3 --- /dev/null +++ b/scripts/installer/qt-ifw/config/config.xml @@ -0,0 +1,10 @@ + + + Alire + @VERSION@ + Alire + The Alire Developers + Alire + ../../alr_installer_icon + ../../alr_installer_icon + diff --git a/scripts/installer/qt-ifw/packages/com.alire.root/meta/installscript.js b/scripts/installer/qt-ifw/packages/com.alire.root/meta/installscript.js new file mode 100644 index 00000000..10fa204a --- /dev/null +++ b/scripts/installer/qt-ifw/packages/com.alire.root/meta/installscript.js @@ -0,0 +1,36 @@ +function Component() { + var targetDir = installer.value("TargetDir", "@ApplicationsDir@/Alire") + + installer.setValue("TargetDir", targetDir); + installer.setDefaultPageVisible(QInstaller.Introduction, false); + installer.setDefaultPageVisible(QInstaller.TargetDirectory, true); + installer.setDefaultPageVisible(QInstaller.ComponentSelection, false); + installer.setDefaultPageVisible(QInstaller.ReadyForInstallation, false); + installer.setDefaultPageVisible(QInstaller.StartMenuSelection, true); + installer.setDefaultPageVisible(QInstaller.LicenseCheck, false); +} + +Component.prototype.isDefault = function() +{ + // select the component by default + return true; +} + +function createShortcuts() +{ + var shortcuts = ["@StartMenuDir@/Alire.lnk", "@DesktopDir@/Alire.lnk"]; + for (shortcut of shortcuts) { + component.addOperation("CreateShortcut", "powershell", shortcut, + "-NoExit -Command \"$env:Path += \"\"\";@TargetDir@\\bin\"\"\"; \"$host.UI.RawUI.BackgroundColor = \"\"\"DarkBlue\"\"\"; clear-host\"", + "workingDirectory=@HomeDir@", + "iconPath=@TargetDir@/share/alire/alr_icon.ico", + "description=Start App"); + + } +} + +Component.prototype.createOperations = function() +{ + component.createOperations(); + createShortcuts(); +} diff --git a/scripts/installer/qt-ifw/packages/com.alire.root/meta/package.xml b/scripts/installer/qt-ifw/packages/com.alire.root/meta/package.xml new file mode 100644 index 00000000..afb73f16 --- /dev/null +++ b/scripts/installer/qt-ifw/packages/com.alire.root/meta/package.xml @@ -0,0 +1,9 @@ + + + Alire + Ada/SPARK Source Package Manager + @VERSION@ + @DATE@ + true + + -- 2.39.5