This script creates a new OPSI package structure for various types of installer methods (Batch, Inno, NSIS...) to make software packaging a little easier. The script needs the "convert" command from the ImageMagick software suite and cURL for downloading the setup file and package logo. ``` Usage: new-package.sh Optional parameters: -d Adds a description to the package -n Adds a product name instead of autogenerating one -g yes Adds the Gruelag prefix to package ID and name, do not manually add Gruelag when using this! -u Downloads an installer file from the specified URL -i Applies a logo to the package from the specified URL -t Sets the type of package to create, see below -v Sets the version of the program (not the package) Package types: winbatch Creates a blank WinBatch package winbatch-inno Creates a blank INNO Installer WinBatch package winbatch-nsis Creates a blank NSIS Installer WinBatch package dosicon Creates a blank DosInAnIcon package execps Creates a blank ExecWith Powershell package zip Creates a blank ZIP based package msi Creates a blank MSI installer package weblinks Creates a weblink creator package Parameters for 'zip' type package: -e Optional, specifies the launcher executable inside the ZIP file Parameters for 'weblinks' type package: -l ;;[] Can be used multiple times, specifies the URL and display name for one web link. is optional and can hold one of the following values: 'desktop' to create only desktop links on the public user desktop 'startmenu' to create links only in the public user start menu 'both' to create links at both places, this is the default ``` Example for Kdenlive: ``` new-package.sh \ kdenlive \ -d "Kdenlive is a free and open-source video editing software." \ -n "Kdenlive" \ -g yes \ -u "https://download.kde.org/stable/kdenlive/22.12/windows/kdenlive-22.12.3.exe" \ -i "https://kdenlive.org/wp-content/uploads/2016/06/favico.png" \ -v 22.12.3 \ -t winbatch-nsis ``` Then adjust the Uninstall path in uninstall.ins Most basic example for weblinks package type: ``` new-package.sh \ link-collection \ -t weblinks \ -l "First link to Google;https://google.com;desktop" \ -l "Another link but to Yahoo;https://yahoo.com;both" ```