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:
parent
cc45b5a6f3
commit
86c262d708
@ -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),
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
||||
|
@ -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}"
|
Loading…
x
Reference in New Issue
Block a user