mirror of
https://github.com/chirpstack/chirpstack.git
synced 2025-02-21 17:26:37 +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
|
*.log
|
||||||
|
|
||||||
# Binary packages
|
# Binary packages
|
||||||
*.deb
|
/dist
|
||||||
|
|
||||||
# Rust target directory
|
# Rust target directory
|
||||||
**/target
|
**/target
|
||||||
@ -29,5 +29,4 @@
|
|||||||
*.bb
|
*.bb
|
||||||
|
|
||||||
# Exclude from gitignore
|
# Exclude from gitignore
|
||||||
!/chirpstack/.rpm
|
|
||||||
!/.github
|
!/.github
|
||||||
|
@ -21,6 +21,7 @@ RUN apt-get update && \
|
|||||||
clang \
|
clang \
|
||||||
yarnpkg \
|
yarnpkg \
|
||||||
golang-cfssl \
|
golang-cfssl \
|
||||||
|
jq \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
RUN ln -s /usr/bin/yarnpkg /usr/bin/yarn
|
RUN ln -s /usr/bin/yarnpkg /usr/bin/yarn
|
||||||
|
8
Makefile
8
Makefile
@ -1,3 +1,5 @@
|
|||||||
|
.PHONY: dist
|
||||||
|
|
||||||
# Builds a debug / development binary.
|
# Builds a debug / development binary.
|
||||||
build-debug:
|
build-debug:
|
||||||
docker-compose run --rm chirpstack make debug
|
docker-compose run --rm chirpstack make debug
|
||||||
@ -6,9 +8,9 @@ build-debug:
|
|||||||
build-release:
|
build-release:
|
||||||
docker-compose run --rm chirpstack make release
|
docker-compose run --rm chirpstack make release
|
||||||
|
|
||||||
# Builds a .deb release package.
|
# Build distributable binaries.
|
||||||
build-release-deb:
|
dist:
|
||||||
docker-compose run --rm chirpstack make release-deb
|
docker-compose run --rm chirpstack make dist
|
||||||
|
|
||||||
# Builds the UI.
|
# Builds the UI.
|
||||||
build-ui:
|
build-ui:
|
||||||
|
@ -119,3 +119,18 @@ depends = "$auto, golang-cfssl"
|
|||||||
suggests = "postgresql, mosquitto, redis"
|
suggests = "postgresql, mosquitto, redis"
|
||||||
maintainer-scripts = "debian/"
|
maintainer-scripts = "debian/"
|
||||||
systemd-units = { enable = true }
|
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:
|
debug:
|
||||||
cargo build
|
cargo build
|
||||||
@ -6,8 +9,20 @@ debug:
|
|||||||
release:
|
release:
|
||||||
cargo build --release
|
cargo build --release
|
||||||
|
|
||||||
|
dist: release-deb release-rpm release-targz
|
||||||
|
|
||||||
release-deb:
|
release-deb:
|
||||||
|
mkdir -p /chirpstack/dist/deb
|
||||||
cargo 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:
|
test:
|
||||||
cargo fmt --check
|
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