1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-02-20 10:54:14 +01:00

nsis packaging remove extra template layer

And make required fixes which include an extra
function in version-info.py:
${VERSION_FOR_NUM} e.g. 15.09.1.12344
This commit is contained in:
James Duley 2015-08-23 08:04:48 +12:00
parent cc45b5a6f3
commit 86c262d708
5 changed files with 43 additions and 66 deletions

View File

@ -195,6 +195,25 @@ class Repo:
except:
return None
def version_four_num(self):
"""Return package version in format X.X.X.X using only numbers"""
try:
(release, junk, candidate) = self._last_tag.partition("-RC")
(year, dot, month_and_patch) = release.partition(".")
(month, dot, patch) = month_and_patch.partition(".")
if candidate == "":
candidate = "64" # Need to stay below 65536 for last part
if patch == "":
patch = "0"
return "{}.{}.{}.{}{:0>3.3}".format(year,month,patch,candidate,self._num_commits_past_tag)
except:
return None
def revision(self):
"""Return full revison string (tag if defined, or branch:hash date time if no tag)"""
try:
@ -463,6 +482,7 @@ string given.
TAG_OR_BRANCH = r.tag(r.branch('unreleased')),
TAG_OR_HASH8 = r.tag(r.hash(8, 'untagged')),
LABEL = r.label(),
VERSION_FOUR_NUM = r.version_four_num(),
REVISION = r.revision(),
DIRTY = r.dirty(),
FWTAG = xtrim(r.tag(r.branch('unreleased')), r.dirty(), 25),

View File

@ -54,9 +54,9 @@ install: uninstall
$(V1) $(MKDIR) -p $(DESTDIR)$(datadir)
$(V1) $(MKDIR) -p $(DESTDIR)$(datadir)/applications
$(V1) $(MKDIR) -p $(DESTDIR)$(datadir)/pixmaps
$(V1) $(INSTALL) $(BUILD_DIR)/$(GCS_SMALL_NAME)_$(GCS_BUILD_CONF)/bin/$(GCS_SMALL_NAME) $(DESTDIR)$(bindir)
$(V1) $(INSTALL) $(BUILD_DIR)/$(GCS_SMALL_NAME)_$(GCS_BUILD_CONF)/$(libbasename)/$(GCS_SMALL_NAME) $(DESTDIR)$(libdir)
$(V1) $(INSTALL) $(BUILD_DIR)/$(GCS_SMALL_NAME)_$(GCS_BUILD_CONF)/share/$(GCS_SMALL_NAME) $(DESTDIR)$(datadir)
$(V1) $(INSTALL) $(GCS_DIR)/bin/$(GCS_SMALL_NAME) $(DESTDIR)$(bindir)
$(V1) $(INSTALL) $(GCS_DIR)/$(libbasename)/$(GCS_SMALL_NAME) $(DESTDIR)$(libdir)
$(V1) $(INSTALL) $(GCS_DIR)/share/$(GCS_SMALL_NAME) $(DESTDIR)$(datadir)
$(V1) $(INSTALL) -T $(ROOT_DIR)/package/linux/gcs.desktop $(DESTDIR)$(datadir)/applications/$(ORG_SMALL_NAME).desktop
$(V1) $(INSTALL) -T $(ROOT_DIR)/ground/gcs/src/plugins/coreplugin/images/$(ORG_SMALL_NAME)_logo_128.png \
$(DESTDIR)$(datadir)/pixmaps/$(ORG_SMALL_NAME).png

View File

@ -6,13 +6,9 @@ ifndef TOP_LEVEL_MAKEFILE
$(error Top level Makefile must be used to build this target)
endif
VERSION_CMD := $(VERSION_INFO)
NSIS_OPTS := -V3
NSIS_WINX86 := $(ROOT_DIR)/package/winx86
NSIS_SCRIPT := $(NSIS_WINX86)/gcs.nsi
NSIS_TEMPLATE := $(NSIS_WINX86)/gcs.tpl
NSIS_HEADER := $(OPGCSSYNTHDIR)/gcs.nsh
.PHONY: package
package: gcs uavobjects_matlab | $(PACKAGE_DIR)
@ -20,17 +16,17 @@ ifneq ($(GCS_BUILD_CONF),release)
# We can only package release builds
$(error Packaging is currently supported for release builds only)
endif
$(V1) mkdir -p "$(dir $(NSIS_HEADER))"
$(VERSION_CMD) \
--template='$(NSIS_TEMPLATE)' \
--outfile='$(NSIS_HEADER)' \
ORG_BIG_NAME='$(ORG_BIG_NAME)' \
GCS_BIG_NAME='$(GCS_BIG_NAME)' \
GCS_SMALL_NAME='$(GCS_SMALL_NAME)' \
PACKAGE_LBL='$(PACKAGE_LBL)' \
PACKAGE_NAME='$(PACKAGE_NAME)' \
PACKAGE_SEP='$(PACKAGE_SEP)'
$(V1) echo "Building Windows installer, please wait..."
$(V1) echo "If you have a script error in line 1 - use Unicode NSIS 2.46+"
$(V1) echo " http://www.scratchpaper.com"
$(NSIS) $(NSIS_OPTS) $(NSIS_SCRIPT)
$(NSIS) $(NSIS_OPTS) \
-DORG_BIG_NAME='$(ORG_BIG_NAME)' \
-DGCS_BIG_NAME='$(GCS_BIG_NAME)' \
-DGCS_SMALL_NAME='$(GCS_SMALL_NAME)' \
-DPACKAGE_LBL='$(PACKAGE_LBL)' \
-DVERSION_FOUR_NUM='$(shell $(VERSION_INFO) --format=\$${VERSION_FOUR_NUM})' \
-DOUT_FILE='$(call system_path,$(PACKAGE_EXE))' \
-DPROJECT_ROOT='$(call system_path,$(ROOT_DIR))' \
-DGCS_BUILD_TREE='$(call system_path,$(GCS_DIR))' \
-DUAVO_SYNTH_TREE='$(call system_path,$(UAVOBJ_OUT_DIR))' \
$(NSIS_SCRIPT)

View File

@ -29,16 +29,11 @@
; Includes
!include "x64.nsh"
!include "..\..\build\gcs-synthetics\gcs.nsh"
;--------------------------------
; Paths
; Tree root locations (relative to this script location)
!define PROJECT_ROOT "..\.."
!define NSIS_DATA_TREE "."
!define GCS_BUILD_TREE "..\..\build\${GCS_SMALL_NAME}_release"
!define UAVO_SYNTH_TREE "..\..\build\uavobject-synthetics"
!define AEROSIMRC_TREE "${GCS_BUILD_TREE}\misc\AeroSIM-RC"
; Default installation folder
@ -50,21 +45,15 @@
;--------------------------------
; Version information
; Program name and installer file
!define PRODUCT_NAME "${GCS_BIG_NAME}"
!define INSTALLER_NAME "${GCS_BIG_NAME} Installer"
Name "${GCS_BIG_NAME}"
OutFile "${OUT_FILE}"
Name "${PRODUCT_NAME}"
OutFile "${PACKAGE_DIR}\..\${OUT_FILE}"
VIProductVersion ${PRODUCT_VERSION}
VIAddVersionKey "ProductName" "${INSTALLER_NAME}"
VIAddVersionKey "FileVersion" "${FILE_VERSION}"
VIAddVersionKey "Comments" "${INSTALLER_NAME}. ${BUILD_DESCRIPTION}"
VIProductVersion ${VERSION_FOUR_NUM}
VIAddVersionKey "ProductName" "${GCS_BIG_NAME}"
VIAddVersionKey "ProductVersion" "${VERSION_FOUR_NUM}"
VIAddVersionKey "CompanyName" "The LibrePilot Team, http://www.librepilot.org"
VIAddVersionKey "LegalTrademarks" "${PRODUCT_NAME} is a trademark of The LibrePilot Team"
VIAddVersionKey "LegalCopyright" "© 2015 The LibrePilot Team"
VIAddVersionKey "FileDescription" "${INSTALLER_NAME}"
VIAddVersionKey "FileDescription" "${GCS_BIG_NAME} Installer"
;--------------------------------
; Installer interface and base settings
@ -229,9 +218,9 @@ Section "Shortcuts" InSecShortcuts
SetOutPath "$INSTDIR"
CreateDirectory "$SMPROGRAMS\${ORG_BIG_NAME}"
CreateShortCut "$SMPROGRAMS\${ORG_BIG_NAME}\${GCS_BIG_NAME}.lnk" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" \
"" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" 0 "" "" "${PRODUCT_NAME} ${PRODUCT_VERSION}. ${BUILD_DESCRIPTION}"
"" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" 0
CreateShortCut "$SMPROGRAMS\${ORG_BIG_NAME}\${GCS_BIG_NAME} (clean configuration).lnk" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" \
"-reset" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" 0 "" "" "${PRODUCT_NAME} ${PRODUCT_VERSION}. ${BUILD_DESCRIPTION}"
"-reset" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" 0
CreateShortCut "$SMPROGRAMS\${ORG_BIG_NAME}\License.lnk" "$INSTDIR\LICENSE.txt" \
"" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" 0
CreateShortCut "$SMPROGRAMS\${ORG_BIG_NAME}\ReadMe.lnk" "$INSTDIR\README.txt" \
@ -247,7 +236,7 @@ Section "Shortcuts" InSecShortcuts
CreateShortCut "$SMPROGRAMS\${ORG_BIG_NAME}\Forums.lnk" "http://forum.librepilot.org" \
"" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" 0
CreateShortCut "$DESKTOP\${GCS_BIG_NAME}.lnk" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" \
"" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" 0 "" "" "${PRODUCT_NAME} ${PRODUCT_VERSION}. ${BUILD_DESCRIPTION}"
"" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" 0
CreateShortCut "$SMPROGRAMS\${ORG_BIG_NAME}\Uninstall.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0
SectionEnd

View File

@ -1,28 +0,0 @@
#
# *****************************************************************************
#
# @file ${OUTFILENAME}
# @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2011-2015.
# @brief Autogenerated NSIS header file, built using template
# ${TEMPLATE}
#
# @see The GNU Public License (GPL) Version 3
#
# *****************************************************************************
#
; Some names, paths and constants
!define ORG_BIG_NAME "${ORG_BIG_NAME}"
!define GCS_BIG_NAME "${GCS_BIG_NAME}"
!define GCS_SMALL_NAME "${GCS_SMALL_NAME}"
!define PACKAGE_LBL "${PACKAGE_LBL}"
!define PACKAGE_NAME "${PACKAGE_NAME}"
!define PACKAGE_SEP "${PACKAGE_SEP}"
!define PACKAGE_DIR "..\..\build\package"
!define FIRMWARE_DIR "firmware"
!define OUT_FILE "$${PACKAGE_NAME}$${PACKAGE_SEP}$${PACKAGE_LBL}$${PACKAGE_SEP}win32.exe"
; Installer version info
!define PRODUCT_VERSION "0.0.0.0"
!define FILE_VERSION "${TAG_OR_BRANCH}:${HASH8}${DIRTY} ${DATETIME}"
!define BUILD_DESCRIPTION "${PACKAGE_LBL} built from ${ORIGIN}, committed ${DATETIME} as ${HASH}"