mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2024-12-01 09:24:10 +01:00
LP-80 extend linux packaging: added basis for rpm
Change-Id: I3d00fd1801375abadb1ea0057469f5ba710d15dc
This commit is contained in:
parent
57f9003833
commit
7bb70e203a
3
Makefile
3
Makefile
@ -735,7 +735,8 @@ PACKAGE_SEP := -
|
|||||||
PACKAGE_FULL_NAME := $(PACKAGE_NAME)$(PACKAGE_SEP)$(PACKAGE_LBL)
|
PACKAGE_FULL_NAME := $(PACKAGE_NAME)$(PACKAGE_SEP)$(PACKAGE_LBL)
|
||||||
|
|
||||||
# Source distribution is never dirty because it uses git archive
|
# Source distribution is never dirty because it uses git archive
|
||||||
DIST_NAME := $(subst -dirty,,$(PACKAGE_FULL_NAME))
|
DIST_LBL := $(subst -dirty,,$(PACKAGE_LBL))
|
||||||
|
DIST_NAME := $(PACKAGE_NAME)$(PACKAGE_SEP)$(DIST_LBL)
|
||||||
DIST_TAR := $(DIST_DIR)/$(DIST_NAME).tar
|
DIST_TAR := $(DIST_DIR)/$(DIST_NAME).tar
|
||||||
DIST_TAR_GZ := $(DIST_TAR).gz
|
DIST_TAR_GZ := $(DIST_TAR).gz
|
||||||
DIST_VER_INFO := $(DIST_DIR)/version-info.json
|
DIST_VER_INFO := $(DIST_DIR)/version-info.json
|
||||||
|
@ -9,7 +9,17 @@ endif
|
|||||||
# Are we using a debian based distro?
|
# Are we using a debian based distro?
|
||||||
ifneq ($(shell which dpkg 2> /dev/null),)
|
ifneq ($(shell which dpkg 2> /dev/null),)
|
||||||
include $(ROOT_DIR)/package/linux/deb.mk
|
include $(ROOT_DIR)/package/linux/deb.mk
|
||||||
endif # Debian based distro?
|
endif
|
||||||
|
|
||||||
|
# Are we using a rpm based distro?
|
||||||
|
ifneq ($(shell which rpm 2> /dev/null),)
|
||||||
|
include $(ROOT_DIR)/package/linux/rpm.mk
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Are we using an Arch based distro?
|
||||||
|
ifneq ($(shell which makepkg 2> /dev/null),)
|
||||||
|
$(info TODO: built in arch package)
|
||||||
|
endif
|
||||||
|
|
||||||
##############################
|
##############################
|
||||||
#
|
#
|
||||||
|
37
package/linux/rpm.mk
Normal file
37
package/linux/rpm.mk
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
RPM_NAME := $(PACKAGE_NAME)
|
||||||
|
UPSTREAM_VER := $(subst -,~,$(subst RELEASE-,,$(DIST_LBL)))
|
||||||
|
RPM_REL := 1
|
||||||
|
RPM_ARCH := $(shell rpm --eval '%{_arch}')
|
||||||
|
RPM_PACKAGE_NAME := $(RPM_NAME)-$(UPSTREAM_VER)-$(RPM_REL)$(shell rpm --eval '%{?dist}').$(RPM_ARCH).rpm
|
||||||
|
RPM_PACKAGE_FILE := $(PACKAGE_DIR)/RPMS/$(RPM_ARCH)/$(RPM_PACKAGE_NAME)
|
||||||
|
|
||||||
|
SED_SCRIPT := sed -i -e ' \
|
||||||
|
s/<VERSION>/$(UPSTREAM_VER)/g; \
|
||||||
|
s/<NAME>/$(RPM_NAME)/g; \
|
||||||
|
s/<RELEASE>/$(RPM_REL)/g; \
|
||||||
|
s/<SOURCE>/$(notdir $(DIST_TAR_GZ))/g; \
|
||||||
|
s/<ARCHIVE_PREFIX>/$(PACKAGE_NAME)/g; \
|
||||||
|
'
|
||||||
|
|
||||||
|
RPM_DIRS := $(addprefix $(PACKAGE_DIR)/,BUILD RPMS SOURCES SPECS SRPMS)
|
||||||
|
DIRS += $(RPM_DIRS)
|
||||||
|
|
||||||
|
SPEC_FILE := $(PACKAGE_DIR)/SPECS/$(RPM_NAME).spec
|
||||||
|
SPEC_FILE_IN := $(ROOT_DIR)/package/linux/rpmspec.in
|
||||||
|
|
||||||
|
.PHONY: rpmspec
|
||||||
|
rpmspec: $(SPEC_FILE)
|
||||||
|
|
||||||
|
$(SPEC_FILE): $(SPEC_FILE_IN) | $(RPM_DIRS)
|
||||||
|
$(V1) cp -f $(SPEC_FILE_IN) $(SPEC_FILE)
|
||||||
|
$(V1) $(SED_SCRIPT) $(SPEC_FILE)
|
||||||
|
|
||||||
|
|
||||||
|
.PHONY: package
|
||||||
|
package: $(RPM_PACKAGE_FILE)
|
||||||
|
|
||||||
|
$(RPM_PACKAGE_FILE): $(SPEC_FILE) $(DIST_TAR_GZ) | $(RPM_DIRS)
|
||||||
|
@$(ECHO) "Building $(RPM_PACKAGE_NAME), please wait..."
|
||||||
|
$(V1) ln -sf $(DIST_TAR_GZ) $(PACKAGE_DIR)/SOURCES
|
||||||
|
$(V1) rpmbuild -bb --define "_topdir $(PACKAGE_DIR)" $(SPEC_FILE)
|
||||||
|
|
@ -1,16 +1,13 @@
|
|||||||
|
Name: <NAME>
|
||||||
%global gitrev g07deb66
|
|
||||||
|
|
||||||
Name: LibrePilot
|
|
||||||
Summary: Ground Control Station
|
Summary: Ground Control Station
|
||||||
Version: 0.0
|
Version: <VERSION>
|
||||||
Release: 1.git%{gitrev}%{?dist}
|
Release: <RELEASE>
|
||||||
|
|
||||||
Group: Applications/Scientific
|
Group: Applications/Scientific
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
URL: http://forum.librepilot.org/
|
URL: http://forum.librepilot.org/
|
||||||
|
|
||||||
Source0: https://github.com/librepilot/%{name}/archive/%{name}-%{version}-%{gitrev}.tar.gz
|
Source0: <SOURCE>
|
||||||
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
|
|
||||||
@ -25,6 +22,7 @@ BuildRequires: qt5-qtscript-devel
|
|||||||
BuildRequires: qt5-qtserialport-devel
|
BuildRequires: qt5-qtserialport-devel
|
||||||
BuildRequires: qt5-qtsvg-devel
|
BuildRequires: qt5-qtsvg-devel
|
||||||
BuildRequires: qt5-qttools-devel
|
BuildRequires: qt5-qttools-devel
|
||||||
|
BuildRequires: qt5-qttranslations
|
||||||
BuildRequires: dwz
|
BuildRequires: dwz
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
BuildRequires: python
|
BuildRequires: python
|
||||||
@ -33,6 +31,7 @@ BuildRequires: systemd-devel
|
|||||||
|
|
||||||
Requires: libusbx
|
Requires: libusbx
|
||||||
Requires: SDL
|
Requires: SDL
|
||||||
|
Requires: qt5-qtquickcontrols
|
||||||
Requires: qt5-qtdeclarative
|
Requires: qt5-qtdeclarative
|
||||||
Requires: qt5-qtmultimedia
|
Requires: qt5-qtmultimedia
|
||||||
Requires: qt5-qtscript
|
Requires: qt5-qtscript
|
||||||
@ -50,7 +49,7 @@ and ease of use.
|
|||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{name}-%{version}-%{gitrev}
|
%setup -q -n %{name}-%{version}
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
Loading…
Reference in New Issue
Block a user