From 6bfe1e66a75b96b589724c789b20cff90975d5a5 Mon Sep 17 00:00:00 2001 From: James Duley Date: Sat, 31 Jan 2015 15:27:37 +1300 Subject: [PATCH 01/23] OP-1695 Ubuntu PPA: actually put debs in PACKAGE_DIR --- package/Linux.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/Linux.mk b/package/Linux.mk index 458b31f77..a6fedb320 100644 --- a/package/Linux.mk +++ b/package/Linux.mk @@ -22,8 +22,8 @@ package: $(V1) cp -rL $(DEB_DIR) $(DEB_BUILD_DIR) $(V1) sed -i -e "$(SED_SCRIPT)" $(DEB_BUILD_DIR)/changelog $(V1) dpkg-buildpackage -b -us -uc - $(V1) mv $(ROOT_DIR)/../$(DEB_PACKAGE_NAME).deb $(BUILD_DIR)/$(DEB_PACKAGE_NAME).deb - $(V1) mv $(ROOT_DIR)/../$(DEB_PACKAGE_NAME).changes $(BUILD_DIR)/$(DEB_PACKAGE_NAME).changes + $(V1) mv $(ROOT_DIR)/../$(DEB_PACKAGE_NAME).deb $(PACKAGE_DIR) + $(V1) mv $(ROOT_DIR)/../$(DEB_PACKAGE_NAME).changes $(PACKAGE_DIR) $(V1) rm -rf $(DEB_BUILD_DIR) ############################## From 5f1f156d1031d7d38718e4181f438328e2dec81a Mon Sep 17 00:00:00 2001 From: James Duley Date: Sat, 31 Jan 2015 15:38:12 +1300 Subject: [PATCH 02/23] OP-1695 Ubuntu PPA: check for fakeroot --- Makefile | 6 ++++-- package/linux/debian/rules | 3 --- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 45d8554ce..281c78dfb 100644 --- a/Makefile +++ b/Makefile @@ -81,8 +81,10 @@ $(foreach var, $(SANITIZE_DEPRECATED_VARS), $(eval $(call SANITIZE_VAR,$(var),de # Make sure this isn't being run as root unless installing (no whoami on Windows, but that is ok here) ifeq ($(shell whoami 2>/dev/null),root) - ifeq ($(filter install all_clean,$(MAKECMDGOALS)),) - $(error You should not be running this as root) + ifeq ($(filter install,$(MAKECMDGOALS)),) + ifndef FAKEROOTKEY + $(error You should not be running this as root) + endif endif endif diff --git a/package/linux/debian/rules b/package/linux/debian/rules index b67ae85e6..266ce3487 100644 --- a/package/linux/debian/rules +++ b/package/linux/debian/rules @@ -18,8 +18,5 @@ override_dh_auto_clean: override_dh_auto_build: #dh_auto_build -- all -override_dh_auto_test: - # Fails non-silently because it is run under fakeroot. - override_dh_auto_install: dh_auto_install -- prefix=/usr From 61395f44fc3dc54a6747f72c208b0630199f0a29 Mon Sep 17 00:00:00 2001 From: James Duley Date: Sat, 31 Jan 2015 16:15:53 +1300 Subject: [PATCH 03/23] OP-1695 Ubuntu PPA: add debian target --- package/Linux.mk | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/package/Linux.mk b/package/Linux.mk index a6fedb320..23edb1ed8 100644 --- a/package/Linux.mk +++ b/package/Linux.mk @@ -7,8 +7,7 @@ ifndef OPENPILOT_IS_COOL endif DEB_VER := $(subst RELEASE-,,$(PACKAGE_LBL))-1 -DEB_DIR := $(ROOT_DIR)/package/linux/debian -DEB_BUILD_DIR := $(ROOT_DIR)/debian +DEB_DIR := package/linux/debian SED_DATE_STRG = $(shell date -R) SED_SCRIPT = s//$(DEB_VER)/;s//$(SED_DATE_STRG)/ @@ -17,14 +16,17 @@ DEB_ARCH := $(shell dpkg --print-architecture) DEB_PACKAGE_NAME := openpilot_$(DEB_VER)_$(DEB_ARCH) .PHONY: package -package: +package: debian $(V1) echo "Building Linux package, please wait..." - $(V1) cp -rL $(DEB_DIR) $(DEB_BUILD_DIR) - $(V1) sed -i -e "$(SED_SCRIPT)" $(DEB_BUILD_DIR)/changelog $(V1) dpkg-buildpackage -b -us -uc $(V1) mv $(ROOT_DIR)/../$(DEB_PACKAGE_NAME).deb $(PACKAGE_DIR) $(V1) mv $(ROOT_DIR)/../$(DEB_PACKAGE_NAME).changes $(PACKAGE_DIR) - $(V1) rm -rf $(DEB_BUILD_DIR) + $(V1) rm -r debian + +debian: $(DEB_DIR) + $(V1) cp -rL $(DEB_DIR) debian + $(V1) sed -i -e "$(SED_SCRIPT)" debian/changelog + ############################## # From 9a1f155510a5d67a42d2f18526b9e9fde4d90ca3 Mon Sep 17 00:00:00 2001 From: James Duley Date: Sun, 1 Feb 2015 08:51:55 +1300 Subject: [PATCH 04/23] OP-1695 Ubuntu PPA: made OP modifications in package rule rather than hardcoded to debian rules file --- package/Linux.mk | 4 +++- package/linux/debian/rules | 6 +----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/package/Linux.mk b/package/Linux.mk index 23edb1ed8..02aa5b34e 100644 --- a/package/Linux.mk +++ b/package/Linux.mk @@ -17,7 +17,9 @@ DEB_PACKAGE_NAME := openpilot_$(DEB_VER)_$(DEB_ARCH) .PHONY: package package: debian - $(V1) echo "Building Linux package, please wait..." + @$(ECHO) "Building Linux package, please wait..." + # Override clean and build because OP has already performed them. + $(V1) printf "override_dh_auto_clean:\noverride_dh_auto_build:\n\t#\n" >> debian/rules $(V1) dpkg-buildpackage -b -us -uc $(V1) mv $(ROOT_DIR)/../$(DEB_PACKAGE_NAME).deb $(PACKAGE_DIR) $(V1) mv $(ROOT_DIR)/../$(DEB_PACKAGE_NAME).changes $(PACKAGE_DIR) diff --git a/package/linux/debian/rules b/package/linux/debian/rules index 266ce3487..1c0a922f0 100644 --- a/package/linux/debian/rules +++ b/package/linux/debian/rules @@ -11,12 +11,8 @@ export DH_OPTIONS %: dh $@ -# Disabled because OpenPilot makefile cleans and builds. -override_dh_auto_clean: - # - override_dh_auto_build: - #dh_auto_build -- all + dh_auto_build -- all override_dh_auto_install: dh_auto_install -- prefix=/usr From 2431aa8baa53d967f2cb22d622bd741ba60cb9a7 Mon Sep 17 00:00:00 2001 From: James Duley Date: Tue, 10 Feb 2015 18:37:35 +1300 Subject: [PATCH 05/23] OP-1695 Ubuntu PPA: made dist make target use PACKAE_FULL_NAME --- Makefile | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 281c78dfb..78d4957dd 100644 --- a/Makefile +++ b/Makefile @@ -787,9 +787,13 @@ endif # - calls paltform-specific packaging script # Define some variables -export PACKAGE_LBL := $(shell $(VERSION_INFO) --format=\$${LABEL}) -export PACKAGE_NAME := OpenPilot -export PACKAGE_SEP := - +PACKAGE_LBL := $(shell $(VERSION_INFO) --format=\$${LABEL}) +PACKAGE_NAME := OpenPilot +PACKAGE_SEP := - +PACKAGE_FULL_NAME := $(PACKAGE_NAME)$(PACKAGE_SEP)$(PACKAGE_LBL) + +# Source distribution is never dirty because it uses git archive +DIST_NAME := $(DIST_DIR)/$(subst dirty-,,$(PACKAGE_FULL_NAME)).tar .PHONY: package @@ -890,8 +894,7 @@ $(DIST_VER_INFO): $(DIST_DIR) .PHONY: dist dist: $(DIST_DIR) $(DIST_VER_INFO) - @$(ECHO) " SOURCE FOR DISTRIBUTION $(call toprel, $(DIST_DIR))" - $(eval DIST_NAME := $(call toprel, "$(DIST_DIR)/OpenPilot-$(shell git describe).tar")) + @$(ECHO) " SOURCE FOR DISTRIBUTION $(call toprel, $(DIST_NAME).gz)" $(V1) git archive --prefix="OpenPilot/" -o "$(DIST_NAME)" HEAD $(V1) tar --append --file="$(DIST_NAME)" \ --transform='s,.*version-info.json,OpenPilot/version-info.json,' \ From 86dfdb77634d9a173ba98d9b309faf8032ae504b Mon Sep 17 00:00:00 2001 From: James Duley Date: Tue, 10 Feb 2015 18:47:35 +1300 Subject: [PATCH 06/23] OP-1695 Ubuntu PPA: made .gz a make target --- Makefile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 78d4957dd..f36255a41 100644 --- a/Makefile +++ b/Makefile @@ -892,8 +892,8 @@ DIST_VER_INFO := $(DIST_DIR)/version-info.json $(DIST_VER_INFO): $(DIST_DIR) $(V1) $(VERSION_INFO) --jsonpath="$(DIST_DIR)" -.PHONY: dist -dist: $(DIST_DIR) $(DIST_VER_INFO) + +$(DIST_NAME).gz: $(DIST_DIR) $(DIST_VER_INFO) @$(ECHO) " SOURCE FOR DISTRIBUTION $(call toprel, $(DIST_NAME).gz)" $(V1) git archive --prefix="OpenPilot/" -o "$(DIST_NAME)" HEAD $(V1) tar --append --file="$(DIST_NAME)" \ @@ -901,6 +901,8 @@ dist: $(DIST_DIR) $(DIST_VER_INFO) $(call toprel, "$(DIST_VER_INFO)") $(V1) gzip -f "$(DIST_NAME)" +.PHONY: dist +dist: $(DIST_NAME).gz ############################## # From d887e7e5ba729db1d3d08dd6edde8d78ca82a323 Mon Sep 17 00:00:00 2001 From: James Duley Date: Tue, 10 Feb 2015 18:52:01 +1300 Subject: [PATCH 07/23] OP-1695 Ubuntu PPA: made PACKAGE_DIR and DIST_DIR order only make dependcies --- Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index f36255a41..ff5097291 100644 --- a/Makefile +++ b/Makefile @@ -799,7 +799,7 @@ DIST_NAME := $(DIST_DIR)/$(subst dirty-,,$(PACKAGE_FULL_NAME)).tar include $(ROOT_DIR)/package/$(UNAME).mk -package: all_fw all_ground uavobjects_matlab $(PACKAGE_DIR) +package: all_fw all_ground uavobjects_matlab | $(PACKAGE_DIR) ifneq ($(GCS_BUILD_CONF),release) # We can only package release builds $(error Packaging is currently supported for release builds only) @@ -889,11 +889,11 @@ build-info: DIST_VER_INFO := $(DIST_DIR)/version-info.json .PHONY: $(DIST_VER_INFO) # Because to many deps to list -$(DIST_VER_INFO): $(DIST_DIR) +$(DIST_VER_INFO): | $(DIST_DIR) $(V1) $(VERSION_INFO) --jsonpath="$(DIST_DIR)" -$(DIST_NAME).gz: $(DIST_DIR) $(DIST_VER_INFO) +$(DIST_NAME).gz: $(DIST_VER_INFO) | $(DIST_DIR) @$(ECHO) " SOURCE FOR DISTRIBUTION $(call toprel, $(DIST_NAME).gz)" $(V1) git archive --prefix="OpenPilot/" -o "$(DIST_NAME)" HEAD $(V1) tar --append --file="$(DIST_NAME)" \ From 4410f955c16e40f758c90c0e2d95b26eacd101cc Mon Sep 17 00:00:00 2001 From: James Duley Date: Wed, 11 Feb 2015 17:04:42 +1300 Subject: [PATCH 08/23] OP-1695 Ubuntu PPA: made debian/rules executable --- package/linux/debian/rules | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 package/linux/debian/rules diff --git a/package/linux/debian/rules b/package/linux/debian/rules old mode 100644 new mode 100755 From 53e4be9bdb9f5b889c0cca69955835bf4612c269 Mon Sep 17 00:00:00 2001 From: James Duley Date: Wed, 11 Feb 2015 17:19:26 +1300 Subject: [PATCH 09/23] OP-1695 Ubuntu PPA: added correct debian/control/format --- package/linux/debian/source/format | 1 + 1 file changed, 1 insertion(+) create mode 100644 package/linux/debian/source/format diff --git a/package/linux/debian/source/format b/package/linux/debian/source/format new file mode 100644 index 000000000..163aaf8d8 --- /dev/null +++ b/package/linux/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) From 716358f7ba43519cf33f845cb8bcf9f1055d452a Mon Sep 17 00:00:00 2001 From: James Duley Date: Wed, 11 Feb 2015 17:51:53 +1300 Subject: [PATCH 10/23] OP-1695 Ubuntu PPA: added package_src make target --- Makefile | 4 ++-- package/Linux.mk | 29 +++++++++++++++++++++++------ 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index ff5097291..db5360d59 100644 --- a/Makefile +++ b/Makefile @@ -895,9 +895,9 @@ $(DIST_VER_INFO): | $(DIST_DIR) $(DIST_NAME).gz: $(DIST_VER_INFO) | $(DIST_DIR) @$(ECHO) " SOURCE FOR DISTRIBUTION $(call toprel, $(DIST_NAME).gz)" - $(V1) git archive --prefix="OpenPilot/" -o "$(DIST_NAME)" HEAD + $(V1) git archive --prefix="$(PACKAGE_NAME)/" -o "$(DIST_NAME)" HEAD $(V1) tar --append --file="$(DIST_NAME)" \ - --transform='s,.*version-info.json,OpenPilot/version-info.json,' \ + --transform='s,.*version-info.json,$(PACKAGE_NAME)/version-info.json,' \ $(call toprel, "$(DIST_VER_INFO)") $(V1) gzip -f "$(DIST_NAME)" diff --git a/package/Linux.mk b/package/Linux.mk index 02aa5b34e..85fa8276c 100644 --- a/package/Linux.mk +++ b/package/Linux.mk @@ -6,14 +6,19 @@ ifndef OPENPILOT_IS_COOL $(error Top level Makefile must be used to build this target) endif -DEB_VER := $(subst RELEASE-,,$(PACKAGE_LBL))-1 -DEB_DIR := package/linux/debian +# Instead of RELEASE-15.01-RC1 debian wants 15.01~RC1 +UPSTREAM_VER := $(subst -,~,$(subst RELEASE-,,$(PACKAGE_LBL))) +DEB_REV := 1 +DEB_NAME := openpilot +DEB_ORIG_SRC := $(PACKAGE_DIR)/$(DEB_NAME)_$(UPSTREAM_VER).orig.tar.gz +DEB_PACKAGE_DIR := $(PACKAGE_DIR)/$(DEB_NAME)-$(UPSTREAM_VER) +DEB_ARCH := $(shell dpkg --print-architecture) +DEB_PACKAGE_NAME := $(DEB_NAME)_$(UPSTREAM_VER)-$(DEB_REV)_$(DEB_ARCH) +DEB_DIR := package/linux/debian -SED_DATE_STRG = $(shell date -R) -SED_SCRIPT = s//$(DEB_VER)/;s//$(SED_DATE_STRG)/ +SED_DATE_STRG = $(shell date -R) +SED_SCRIPT = s//$(UPSTREAM_VER)-$(DEB_REV)/;s//$(SED_DATE_STRG)/ -DEB_ARCH := $(shell dpkg --print-architecture) -DEB_PACKAGE_NAME := openpilot_$(DEB_VER)_$(DEB_ARCH) .PHONY: package package: debian @@ -26,9 +31,21 @@ package: debian $(V1) rm -r debian debian: $(DEB_DIR) + $(V1) rm -rf debian $(V1) cp -rL $(DEB_DIR) debian $(V1) sed -i -e "$(SED_SCRIPT)" debian/changelog +.PHONY: package_src +package_src: $(DEB_ORIG_SRC_NAME) $(DEB_PACKAGE_DIR) + $(V1) cd $(DEB_PACKAGE_DIR) && dpkg-buildpackage -S -us -uc + +$(DEB_ORIG_SRC): $(DIST_NAME).gz | $(PACKAGE_DIR) + $(V1) cp $(DIST_NAME).gz $(DEB_ORIG_SRC) + +$(DEB_PACKAGE_DIR): $(DEB_ORIG_SRC) debian | $(PACKAGE_DIR) + $(V1) tar -xf $(DEB_ORIG_SRC) -C $(PACKAGE_DIR) + $(V1) mv debian $(PACKAGE_DIR)/$(PACKAGE_NAME) + $(V1) rm -rf $(DEB_PACKAGE_DIR) && mv $(PACKAGE_DIR)/$(PACKAGE_NAME) $(DEB_PACKAGE_DIR) ############################## # From f6112792910f5d1f07449c6ba6b34134379eada9 Mon Sep 17 00:00:00 2001 From: James Duley Date: Wed, 11 Feb 2015 20:53:50 +1300 Subject: [PATCH 11/23] OP-1695 Ubuntu PPA: update standards version and deb builder version --- package/linux/debian/control | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/linux/debian/control b/package/linux/debian/control index 3ac0c681a..96ae8a0de 100644 --- a/package/linux/debian/control +++ b/package/linux/debian/control @@ -2,8 +2,8 @@ Source: openpilot Section: unknown Priority: optional Maintainer: James Duley -Build-Depends: debhelper (>= 8.0.0) -Standards-Version: 3.9.4 +Build-Depends: debhelper (>= 9) +Standards-Version: 3.9.5 Homepage: http://www.openpilot.org Vcs-Git: git://git.openpilot.org/OpenPilot.git Vcs-Browser: http://git.openpilot.org/changelog/OpenPilot From 51e4f3aa0eb889bdb1fd8353eef805c41223ef1a Mon Sep 17 00:00:00 2001 From: James Duley Date: Wed, 11 Feb 2015 20:44:24 +1300 Subject: [PATCH 12/23] OP-1695 Ubuntu PPA: add missing build depends --- package/linux/debian/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/linux/debian/control b/package/linux/debian/control index 96ae8a0de..94cdf8fb2 100644 --- a/package/linux/debian/control +++ b/package/linux/debian/control @@ -2,7 +2,7 @@ Source: openpilot Section: unknown Priority: optional Maintainer: James Duley -Build-Depends: debhelper (>= 9) +Build-Depends: debhelper (>= 9), libudev-dev, libusb-1.0-0-dev, libsdl1.2-dev, python, gcc-arm-none-eabi (>=4.9), qt5-default, qttools5-dev-tools, libqt5svg5-dev, qtdeclarative5-dev, qtdeclarative5-controls-plugin, libqt5serialport5-dev, qtmultimedia5-dev, qtscript5-dev, libqt5opengl5-dev Standards-Version: 3.9.5 Homepage: http://www.openpilot.org Vcs-Git: git://git.openpilot.org/OpenPilot.git From c0c2e0b721a52a7e54cb3db8dfaf8b779b6d771c Mon Sep 17 00:00:00 2001 From: James Duley Date: Mon, 16 Feb 2015 16:57:57 +1300 Subject: [PATCH 13/23] OP-1695 Ubuntu PPA: made dist targets depend on .git/index instead of being PHONY --- Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index db5360d59..19e2f55b7 100644 --- a/Makefile +++ b/Makefile @@ -887,13 +887,13 @@ build-info: ############################## DIST_VER_INFO := $(DIST_DIR)/version-info.json +MODIFIED_FILES := $(shell git ls-files -m) -.PHONY: $(DIST_VER_INFO) # Because to many deps to list -$(DIST_VER_INFO): | $(DIST_DIR) +$(DIST_VER_INFO): .git/index $(MODIFIED_FILES) | $(DIST_DIR) $(V1) $(VERSION_INFO) --jsonpath="$(DIST_DIR)" -$(DIST_NAME).gz: $(DIST_VER_INFO) | $(DIST_DIR) +$(DIST_NAME).gz: $(DIST_VER_INFO) .git/index | $(DIST_DIR) @$(ECHO) " SOURCE FOR DISTRIBUTION $(call toprel, $(DIST_NAME).gz)" $(V1) git archive --prefix="$(PACKAGE_NAME)/" -o "$(DIST_NAME)" HEAD $(V1) tar --append --file="$(DIST_NAME)" \ From c23f7ec94c14fb7d6e123f6159437d27043d1517 Mon Sep 17 00:00:00 2001 From: James Duley Date: Mon, 16 Feb 2015 19:00:24 +1300 Subject: [PATCH 14/23] OP-1695 Ubuntu PPA: add option to set debian distribution --- package/Linux.mk | 3 ++- package/linux/debian/changelog | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/package/Linux.mk b/package/Linux.mk index 85fa8276c..19972b3bf 100644 --- a/package/Linux.mk +++ b/package/Linux.mk @@ -6,6 +6,7 @@ ifndef OPENPILOT_IS_COOL $(error Top level Makefile must be used to build this target) endif +DEB_DIST := unstable # Instead of RELEASE-15.01-RC1 debian wants 15.01~RC1 UPSTREAM_VER := $(subst -,~,$(subst RELEASE-,,$(PACKAGE_LBL))) DEB_REV := 1 @@ -17,7 +18,7 @@ DEB_PACKAGE_NAME := $(DEB_NAME)_$(UPSTREAM_VER)-$(DEB_REV)_$(DEB_ARCH) DEB_DIR := package/linux/debian SED_DATE_STRG = $(shell date -R) -SED_SCRIPT = s//$(UPSTREAM_VER)-$(DEB_REV)/;s//$(SED_DATE_STRG)/ +SED_SCRIPT = s//$(UPSTREAM_VER)-$(DEB_REV)/;s//$(SED_DATE_STRG)/;s//$(DEB_DIST)/ .PHONY: package diff --git a/package/linux/debian/changelog b/package/linux/debian/changelog index 9c205bb68..fe2d82497 100644 --- a/package/linux/debian/changelog +++ b/package/linux/debian/changelog @@ -1,4 +1,4 @@ -openpilot () unstable; urgency=low +openpilot () ; urgency=low * Release from upstream Git (testing - unstable) From 2eb5fbee8a3158bd382e10a6dd1a348d0ba41a48 Mon Sep 17 00:00:00 2001 From: James Duley Date: Mon, 16 Feb 2015 19:14:31 +1300 Subject: [PATCH 15/23] OP-1695 Ubuntu PPA: set debian section to electronics --- package/linux/debian/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/linux/debian/control b/package/linux/debian/control index 94cdf8fb2..5bbc7df2b 100644 --- a/package/linux/debian/control +++ b/package/linux/debian/control @@ -1,5 +1,5 @@ Source: openpilot -Section: unknown +Section: electronics Priority: optional Maintainer: James Duley Build-Depends: debhelper (>= 9), libudev-dev, libusb-1.0-0-dev, libsdl1.2-dev, python, gcc-arm-none-eabi (>=4.9), qt5-default, qttools5-dev-tools, libqt5svg5-dev, qtdeclarative5-dev, qtdeclarative5-controls-plugin, libqt5serialport5-dev, qtmultimedia5-dev, qtscript5-dev, libqt5opengl5-dev From 2efa05c17aa7feede03dde6e0eeb7469622b5579 Mon Sep 17 00:00:00 2001 From: James Duley Date: Thu, 19 Feb 2015 12:06:07 +1300 Subject: [PATCH 16/23] OP-1695 Ubuntu PPA: added runtime depends --- package/linux/debian/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/linux/debian/control b/package/linux/debian/control index 5bbc7df2b..0734154a6 100644 --- a/package/linux/debian/control +++ b/package/linux/debian/control @@ -10,6 +10,6 @@ Vcs-Browser: http://git.openpilot.org/changelog/OpenPilot Package: openpilot Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} +Depends: ${shlibs:Depends}, ${misc:Depends}, qml-module-qtquick-controls, qml-module-qtquick-dialogs, qml-module-qtquick-xmllistmodel, qml-module-qtquick-localstorage, qml-module-qtquick-particles2, qml-module-qtquick-window2, qml-module-qtquick2 Description: OpenPilot GCS OpenPilot Ground Control Station software From f59512cdc142e35cdf0a5ac2ec94e7e8062d83c2 Mon Sep 17 00:00:00 2001 From: James Duley Date: Thu, 19 Feb 2015 12:40:20 +1300 Subject: [PATCH 17/23] OP-1695 Ubuntu PPA: added trusty depends workaround --- package/Linux.mk | 11 +++++++++++ package/linux/debian/control | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/package/Linux.mk b/package/Linux.mk index 19972b3bf..76657eca4 100644 --- a/package/Linux.mk +++ b/package/Linux.mk @@ -20,6 +20,14 @@ DEB_DIR := package/linux/debian SED_DATE_STRG = $(shell date -R) SED_SCRIPT = s//$(UPSTREAM_VER)-$(DEB_REV)/;s//$(SED_DATE_STRG)/;s//$(DEB_DIST)/ +# Ubuntu 14.04 (Trusty Tahr) has different names for the qml-modules +TRUSTY_DEPS_SED := s/qml-module-qtquick-controls/qtdeclarative5-controls-plugin/g; \ + s/qml-module-qtquick-dialogs/qtdeclarative5-dialogs-plugin/g; \ + s/qml-module-qtquick-localstorage/qtdeclarative5-localstorage-plugin/g; \ + s/qml-module-qtquick-particles2/qtdeclarative5-particles-plugin/g; \ + s/qml-module-qtquick2/qtdeclarative5-qtquick2-plugin/g; \ + s/qml-module-qtquick-window2/qtdeclarative5-window-plugin/g; \ + s/qml-module-qtquick-xmllistmodel/qtdeclarative5-xmllistmodel-plugin/g; .PHONY: package package: debian @@ -35,6 +43,9 @@ debian: $(DEB_DIR) $(V1) rm -rf debian $(V1) cp -rL $(DEB_DIR) debian $(V1) sed -i -e "$(SED_SCRIPT)" debian/changelog +ifeq ($(DEB_DIST), trusty) + $(V1) sed -i -e "$(TRUSTY_DEPS_SED)" debian/control +endif .PHONY: package_src package_src: $(DEB_ORIG_SRC_NAME) $(DEB_PACKAGE_DIR) diff --git a/package/linux/debian/control b/package/linux/debian/control index 0734154a6..db02e54a7 100644 --- a/package/linux/debian/control +++ b/package/linux/debian/control @@ -2,7 +2,7 @@ Source: openpilot Section: electronics Priority: optional Maintainer: James Duley -Build-Depends: debhelper (>= 9), libudev-dev, libusb-1.0-0-dev, libsdl1.2-dev, python, gcc-arm-none-eabi (>=4.9), qt5-default, qttools5-dev-tools, libqt5svg5-dev, qtdeclarative5-dev, qtdeclarative5-controls-plugin, libqt5serialport5-dev, qtmultimedia5-dev, qtscript5-dev, libqt5opengl5-dev +Build-Depends: debhelper (>= 9), libudev-dev, libusb-1.0-0-dev, libsdl1.2-dev, python, gcc-arm-none-eabi (>=4.9), qt5-default, qttools5-dev-tools, libqt5svg5-dev, qtdeclarative5-dev, qml-module-qtquick-controls, libqt5serialport5-dev, qtmultimedia5-dev, qtscript5-dev, libqt5opengl5-dev Standards-Version: 3.9.5 Homepage: http://www.openpilot.org Vcs-Git: git://git.openpilot.org/OpenPilot.git From 089940387738838190e20e9de8361c386e352501 Mon Sep 17 00:00:00 2001 From: James Duley Date: Thu, 19 Feb 2015 13:46:29 +1300 Subject: [PATCH 18/23] OP-1695 Ubuntu PPA: added workaround for when calling standard package rule --- package/Linux.mk | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/package/Linux.mk b/package/Linux.mk index 76657eca4..4dfb09af2 100644 --- a/package/Linux.mk +++ b/package/Linux.mk @@ -29,11 +29,16 @@ TRUSTY_DEPS_SED := s/qml-module-qtquick-controls/qtdeclarative5-controls-pl s/qml-module-qtquick-window2/qtdeclarative5-window-plugin/g; \ s/qml-module-qtquick-xmllistmodel/qtdeclarative5-xmllistmodel-plugin/g; +# Leave off Qt and ARM compiler dependencies if calling package target under the assumption that +# OP is providing them or the user already has them installed because OP is already built. +PACKAGE_DEPS_SED := s/python.*/python/;s/{misc:Depends}.*/{misc:Depends}/; + .PHONY: package package: debian @$(ECHO) "Building Linux package, please wait..." # Override clean and build because OP has already performed them. $(V1) printf "override_dh_auto_clean:\noverride_dh_auto_build:\n\t#\n" >> debian/rules + $(V1) sed -i -e "$(PACKAGE_DEPS_SED)" debian/control $(V1) dpkg-buildpackage -b -us -uc $(V1) mv $(ROOT_DIR)/../$(DEB_PACKAGE_NAME).deb $(PACKAGE_DIR) $(V1) mv $(ROOT_DIR)/../$(DEB_PACKAGE_NAME).changes $(PACKAGE_DIR) From afe0949f00619a1acf2ef76ce3d3e7b49e1f00dd Mon Sep 17 00:00:00 2001 From: James Duley Date: Thu, 19 Feb 2015 13:51:58 +1300 Subject: [PATCH 19/23] OP-1695 Ubuntu PPA: added check for debian distro --- package/Linux.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/package/Linux.mk b/package/Linux.mk index 4dfb09af2..36fb360cd 100644 --- a/package/Linux.mk +++ b/package/Linux.mk @@ -6,6 +6,9 @@ ifndef OPENPILOT_IS_COOL $(error Top level Makefile must be used to build this target) endif +# Are we using a debian based distro? +ifneq ($(shell which dpkg),) + DEB_DIST := unstable # Instead of RELEASE-15.01-RC1 debian wants 15.01~RC1 UPSTREAM_VER := $(subst -,~,$(subst RELEASE-,,$(PACKAGE_LBL))) @@ -64,6 +67,7 @@ $(DEB_PACKAGE_DIR): $(DEB_ORIG_SRC) debian | $(PACKAGE_DIR) $(V1) mv debian $(PACKAGE_DIR)/$(PACKAGE_NAME) $(V1) rm -rf $(DEB_PACKAGE_DIR) && mv $(PACKAGE_DIR)/$(PACKAGE_NAME) $(DEB_PACKAGE_DIR) +endif # Debian based distro? ############################## # # Install OpenPilot From 0b20faf6a3b1591285c55f4181bb326d54fab7df Mon Sep 17 00:00:00 2001 From: James Duley Date: Thu, 19 Feb 2015 15:26:39 +1300 Subject: [PATCH 20/23] OP-1695 Ubuntu PPA: added trusty suffix to DEB_REV if trusty --- package/Linux.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/package/Linux.mk b/package/Linux.mk index 36fb360cd..9bb088239 100644 --- a/package/Linux.mk +++ b/package/Linux.mk @@ -13,6 +13,9 @@ DEB_DIST := unstable # Instead of RELEASE-15.01-RC1 debian wants 15.01~RC1 UPSTREAM_VER := $(subst -,~,$(subst RELEASE-,,$(PACKAGE_LBL))) DEB_REV := 1 +ifeq ($(DEB_DIST), trusty) +DEB_REV := $(DEB_REV)$(DEB_DIST)1 +endif DEB_NAME := openpilot DEB_ORIG_SRC := $(PACKAGE_DIR)/$(DEB_NAME)_$(UPSTREAM_VER).orig.tar.gz DEB_PACKAGE_DIR := $(PACKAGE_DIR)/$(DEB_NAME)-$(UPSTREAM_VER) @@ -47,6 +50,7 @@ package: debian $(V1) mv $(ROOT_DIR)/../$(DEB_PACKAGE_NAME).changes $(PACKAGE_DIR) $(V1) rm -r debian +.PHONY: debian debian: $(DEB_DIR) $(V1) rm -rf debian $(V1) cp -rL $(DEB_DIR) debian From 54df9d1ea09c4c411fb741ffe22bf4f34e0dac6f Mon Sep 17 00:00:00 2001 From: James Duley Date: Tue, 3 Mar 2015 14:25:41 +1300 Subject: [PATCH 21/23] firmware-defs.mk: added '+' to replace_special_characters --- make/firmware-defs.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/make/firmware-defs.mk b/make/firmware-defs.mk index 7bbe20c9b..5f1ed36ee 100644 --- a/make/firmware-defs.mk +++ b/make/firmware-defs.mk @@ -72,7 +72,7 @@ MSG_FLASH_IMG = $(QUOTE) FLASH_IMG $(MSG_EXTRA) $(QUOTE) toprel = $(subst $(realpath $(ROOT_DIR))/,,$(abspath $(1))) # Function to replace special characters like is done for the symbols. -replace_special_chars = $(subst ~,_,$(subst @,_,$(subst :,_,$(subst -,_,$(subst .,_,$(subst /,_,$1)))))) +replace_special_chars = $(subst +,_,$(subst ~,_,$(subst @,_,$(subst :,_,$(subst -,_,$(subst .,_,$(subst /,_,$1))))))) # Display compiler version information. .PHONY: gccversion From 655e9075067c30a75de132ac8447888846ddf95f Mon Sep 17 00:00:00 2001 From: James Duley Date: Tue, 3 Mar 2015 17:51:43 +1300 Subject: [PATCH 22/23] OP-1695 Ubuntu PPA: remove dirty from version-info.json --- Makefile | 3 +-- make/scripts/version-info.py | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 19e2f55b7..f18e3efbd 100644 --- a/Makefile +++ b/Makefile @@ -887,9 +887,8 @@ build-info: ############################## DIST_VER_INFO := $(DIST_DIR)/version-info.json -MODIFIED_FILES := $(shell git ls-files -m) -$(DIST_VER_INFO): .git/index $(MODIFIED_FILES) | $(DIST_DIR) +$(DIST_VER_INFO): .git/index | $(DIST_DIR) $(V1) $(VERSION_INFO) --jsonpath="$(DIST_DIR)" diff --git a/make/scripts/version-info.py b/make/scripts/version-info.py index 82ebb48d8..38b8401db 100644 --- a/make/scripts/version-info.py +++ b/make/scripts/version-info.py @@ -228,7 +228,8 @@ class Repo: json_data['last_tag'] = self._last_tag json_data['num_commits_past_tag'] = self._num_commits_past_tag json_data['branch'] = self._branch - json_data['dirty'] = self._dirty + # version-info.json is for use with git archive which doesn't take in dirty changes + json_data['dirty'] = False json_path = os.path.join(path, 'version-info.json') with open(json_path, 'w') as json_file: From b1adc38f0585c45925157e9a9534b4dfd14bc934 Mon Sep 17 00:00:00 2001 From: James Duley Date: Tue, 3 Mar 2015 18:19:42 +1300 Subject: [PATCH 23/23] OP-1695 Ubuntu PPA: suppress 'which' stderr --- package/Linux.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/Linux.mk b/package/Linux.mk index 9bb088239..456173131 100644 --- a/package/Linux.mk +++ b/package/Linux.mk @@ -7,7 +7,7 @@ ifndef OPENPILOT_IS_COOL endif # Are we using a debian based distro? -ifneq ($(shell which dpkg),) +ifneq ($(shell which dpkg 2> /dev/null),) DEB_DIST := unstable # Instead of RELEASE-15.01-RC1 debian wants 15.01~RC1