mirror of
https://github.com/chirpstack/chirpstack.git
synced 2025-02-20 17:12:48 +00:00
Add .rpm and .tar.gz builds.
This commit is contained in:
parent
54e1cb5e66
commit
f5de67a817
3
.gitignore
vendored
3
.gitignore
vendored
@ -5,7 +5,7 @@
|
||||
*.log
|
||||
|
||||
# Binary packages
|
||||
*.deb
|
||||
/dist
|
||||
|
||||
# Rust target directory
|
||||
**/target
|
||||
@ -29,5 +29,4 @@
|
||||
*.bb
|
||||
|
||||
# Exclude from gitignore
|
||||
!/chirpstack/.rpm
|
||||
!/.github
|
||||
|
@ -21,6 +21,7 @@ RUN apt-get update && \
|
||||
clang \
|
||||
yarnpkg \
|
||||
golang-cfssl \
|
||||
jq \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN ln -s /usr/bin/yarnpkg /usr/bin/yarn
|
||||
|
8
Makefile
8
Makefile
@ -1,3 +1,5 @@
|
||||
.PHONY: dist
|
||||
|
||||
# Builds a debug / development binary.
|
||||
build-debug:
|
||||
docker-compose run --rm chirpstack make debug
|
||||
@ -6,9 +8,9 @@ build-debug:
|
||||
build-release:
|
||||
docker-compose run --rm chirpstack make release
|
||||
|
||||
# Builds a .deb release package.
|
||||
build-release-deb:
|
||||
docker-compose run --rm chirpstack make release-deb
|
||||
# Build distributable binaries.
|
||||
dist:
|
||||
docker-compose run --rm chirpstack make dist
|
||||
|
||||
# Builds the UI.
|
||||
build-ui:
|
||||
|
@ -119,3 +119,18 @@ depends = "$auto, golang-cfssl"
|
||||
suggests = "postgresql, mosquitto, redis"
|
||||
maintainer-scripts = "debian/"
|
||||
systemd-units = { enable = true }
|
||||
|
||||
[package.metadata.rpm]
|
||||
package = "chirpstack"
|
||||
config = "rpm"
|
||||
|
||||
[package.metadata.rpm.files]
|
||||
"configuration/" = { path = "/etc/chirpstack/" }
|
||||
"chirpstack.service" = { path = "/lib/systemd/system/chirpstack.service" }
|
||||
"chirpstack.env" = { path = "/etc/systemd/system/chirpstack.service.d/environment" }
|
||||
|
||||
[package.metadata.rpm.cargo]
|
||||
buildflags = ["--release"]
|
||||
|
||||
[package.metadata.rpm.targets]
|
||||
chirpstack = { path = "/usr/bin/chirpstack" }
|
||||
|
@ -1,4 +1,7 @@
|
||||
.PHONY: debug release release-deb test test-server dbshell
|
||||
.PHONY: debug release release-deb test test-server dbshell dist
|
||||
|
||||
TARGET_ARCH := $(shell rustc --print cfg |grep target_arch |sed 's/target_arch="\(.*\)"/\1/')
|
||||
PKG_VERSION := $(shell cargo metadata --no-deps --format-version 1 | jq -r '.packages[0].version')
|
||||
|
||||
debug:
|
||||
cargo build
|
||||
@ -6,8 +9,20 @@ debug:
|
||||
release:
|
||||
cargo build --release
|
||||
|
||||
dist: release-deb release-rpm release-targz
|
||||
|
||||
release-deb:
|
||||
mkdir -p /chirpstack/dist/deb
|
||||
cargo deb
|
||||
cp /target/debian/*.deb /chirpstack/dist/deb
|
||||
|
||||
release-rpm:
|
||||
mkdir -p /chirpstack/dist/rpm
|
||||
cargo rpm build
|
||||
find /target/release/rpmbuild/RPMS -type f -exec cp {} /chirpstack/dist/rpm \;
|
||||
|
||||
release-targz:
|
||||
tar -czvf /chirpstack/dist/chirpstack_$(PKG_VERSION)_$(TARGET_ARCH).tar.gz -C /target/release chirpstack
|
||||
|
||||
test:
|
||||
cargo fmt --check
|
||||
|
4
chirpstack/rpm/chirpstack.env
Normal file
4
chirpstack/rpm/chirpstack.env
Normal file
@ -0,0 +1,4 @@
|
||||
[Service]
|
||||
Environment="MQTT_BROKER_HOST=localhost"
|
||||
Environment="POSTGRESQL_HOST=localhost"
|
||||
Environment="REDIS_HOST=localhost"
|
14
chirpstack/rpm/chirpstack.service
Normal file
14
chirpstack/rpm/chirpstack.service
Normal file
@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
Description=ChirpStack open-source LoRaWAN Network Server
|
||||
Documentation=https://www.chirpstack.io/
|
||||
Wants=network-online.target
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
User=chirpstack
|
||||
Group=chirpstack
|
||||
ExecStart=/usr/bin/chirpstack -c /etc/chirpstack/
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
35
chirpstack/rpm/chirpstack.spec
Normal file
35
chirpstack/rpm/chirpstack.spec
Normal file
@ -0,0 +1,35 @@
|
||||
%define __spec_install_post %{nil}
|
||||
%define __os_install_post %{_dbpath}/brp-compress
|
||||
%define debug_package %{nil}
|
||||
|
||||
Name: chirpstack
|
||||
Summary: ChirpStack is an open-source LoRaWAN(TM) Network Server
|
||||
Version: @@VERSION@@
|
||||
Release: @@RELEASE@@%{?dist}
|
||||
License: MIT
|
||||
Group: Applications/System
|
||||
Source0: %{name}-%{version}.tar.gz
|
||||
URL: https://www.chirpstack.io/
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||
|
||||
%description
|
||||
%{summary}
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%install
|
||||
rm -rf %{buildroot}
|
||||
mkdir -p %{buildroot}
|
||||
cp -a * %{buildroot}
|
||||
|
||||
%clean
|
||||
rm -rf %{buildroot}
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%{_bindir}/*
|
||||
/lib/systemd/system/chirpstack.service
|
||||
%config /etc/chirpstack/*
|
||||
%config /etc/systemd/system/chirpstack.service.d/*
|
1
chirpstack/rpm/configuration
Symbolic link
1
chirpstack/rpm/configuration
Symbolic link
@ -0,0 +1 @@
|
||||
../configuration
|
Loading…
x
Reference in New Issue
Block a user