Skip to content

Commit

Permalink
Merge pull request #7 from benhylau/yggdrasil-systemd
Browse files Browse the repository at this point in the history
Yggdrasil systemd
  • Loading branch information
benhylau authored Jan 30, 2018
2 parents 713186c + 67b72bd commit 8d55c6d
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 61 deletions.
71 changes: 31 additions & 40 deletions src/debian-packages/yggdrasil-go/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,51 +9,35 @@ MAINTAINER = Benedict Lau <[email protected]>
SOURCE_URL = https://github.com/Arceliar/yggdrasil-go

TAG = master
ARCHS = amd64 armhf
BUILD_DIR = /tmp/$(PACKAGE_NAME)
OUTPUT_DIR = /vagrant/output/debian-packages

package_deb: package_deb_armhf package_deb_amd64

package_deb_armhf: build_bin_armhf
mkdir -p $(BUILD_DIR)/debian/armhf
cp -r debian $(BUILD_DIR)/debian/armhf/ # Copy deb package files
sed -i "s|__PACKAGE__|$(PACKAGE_NAME)|g" $(BUILD_DIR)/debian/armhf/debian/DEBIAN/control # Replace __PACKAGE__ macro in control file
sed -i "s|__VERSION__|$(VERSION)-$(DEBIAN_REVISION)|g" $(BUILD_DIR)/debian/armhf/debian/DEBIAN/control # Replace __VERSION__ macro in control file
sed -i "s|__ARCHITECTURE__|armhf|g" $(BUILD_DIR)/debian/armhf/debian/DEBIAN/control # Replace __ARCHITECTURE__ macro in control file
sed -i "s|__MAINTAINER__|$(MAINTAINER)|g" $(BUILD_DIR)/debian/armhf/debian/DEBIAN/control # Replace __MAINTAINER__ macro in control file
sed -i "s|__HOMEPAGE__|$(SOURCE_URL)|g" $(BUILD_DIR)/debian/armhf/debian/DEBIAN/control # Replace __HOMEPAGE__ macro in control file
sed -i "s|__PACKAGE__|$(PACKAGE_NAME)|g" $(BUILD_DIR)/debian/armhf/debian/usr/share/doc/$(PACKAGE_NAME)/copyright # Replace __PACKAGE__ macro in copyright file
sed -i "s|__MAINTAINER__|$(MAINTAINER)|g" $(BUILD_DIR)/debian/armhf/debian/usr/share/doc/$(PACKAGE_NAME)/copyright # Replace __MAINTAINER__ macro in copyright file
sed -i "s|__SOURCE__|$(SOURCE_URL)|g" $(BUILD_DIR)/debian/armhf/debian/usr/share/doc/$(PACKAGE_NAME)/copyright # Replace __SOURCE__ macro in copyright file
cp $(BUILD_DIR)/bin/armhf/yggdrasil $(BUILD_DIR)/debian/armhf/debian/usr/bin/ # Copy binary
chmod +x $(BUILD_DIR)/debian/armhf/debian/usr/bin/yggdrasil # Make executable (not sure why it lost execution perm after copy)
cd $(BUILD_DIR)/debian/armhf; \
# Package deb for a particular architecture
#
# $1 is the architecture
define package_deb_arch
mkdir -p $(BUILD_DIR)/debian/$(1)
cp -r debian $(BUILD_DIR)/debian/$(1)/ # Copy deb package files
sed -i "s|__PACKAGE__|$(PACKAGE_NAME)|g" $(BUILD_DIR)/debian/$(1)/debian/DEBIAN/control # Replace __PACKAGE__ macro in control file
sed -i "s|__VERSION__|$(VERSION)-$(DEBIAN_REVISION)|g" $(BUILD_DIR)/debian/$(1)/debian/DEBIAN/control # Replace __VERSION__ macro in control file
sed -i "s|__ARCHITECTURE__|$(1)|g" $(BUILD_DIR)/debian/$(1)/debian/DEBIAN/control # Replace __ARCHITECTURE__ macro in control file
sed -i "s|__MAINTAINER__|$(MAINTAINER)|g" $(BUILD_DIR)/debian/$(1)/debian/DEBIAN/control # Replace __MAINTAINER__ macro in control file
sed -i "s|__HOMEPAGE__|$(SOURCE_URL)|g" $(BUILD_DIR)/debian/$(1)/debian/DEBIAN/control # Replace __HOMEPAGE__ macro in control file
sed -i "s|__PACKAGE__|$(PACKAGE_NAME)|g" $(BUILD_DIR)/debian/$(1)/debian/usr/share/doc/$(PACKAGE_NAME)/copyright # Replace __PACKAGE__ macro in copyright file
sed -i "s|__MAINTAINER__|$(MAINTAINER)|g" $(BUILD_DIR)/debian/$(1)/debian/usr/share/doc/$(PACKAGE_NAME)/copyright # Replace __MAINTAINER__ macro in copyright file
sed -i "s|__SOURCE__|$(SOURCE_URL)|g" $(BUILD_DIR)/debian/$(1)/debian/usr/share/doc/$(PACKAGE_NAME)/copyright # Replace __SOURCE__ macro in copyright file
cp $(BUILD_DIR)/bin/$(1)/yggdrasil $(BUILD_DIR)/debian/$(1)/debian/usr/bin/ # Copy binary
chmod +x $(BUILD_DIR)/debian/$(1)/debian/usr/bin/yggdrasil # Make executable (not sure why it lost execution perm after copy)
mkdir -p $(BUILD_DIR)/debian/$(1)/debian/lib/systemd/system # Make directories for systemd service files
cp $(BUILD_DIR)/src/contrib/systemd/* $(BUILD_DIR)/debian/$(1)/debian/lib/systemd/system/ # Copy systemd service files
cd $(BUILD_DIR)/debian/$(1); \
dpkg-deb --build debian; \
cp debian.deb $(OUTPUT_DIR)/$(PACKAGE_NAME)_$(VERSION)-$(DEBIAN_REVISION)_armhf.deb
cp debian.deb $(OUTPUT_DIR)/$(PACKAGE_NAME)_$(VERSION)-$(DEBIAN_REVISION)_$(1).deb
endef

package_deb_amd64: build_bin_amd64
mkdir -p $(BUILD_DIR)/debian/amd64
cp -r debian $(BUILD_DIR)/debian/amd64/ # Copy deb package files
sed -i "s|__PACKAGE__|$(PACKAGE_NAME)|g" $(BUILD_DIR)/debian/amd64/debian/DEBIAN/control # Replace __PACKAGE__ macro in control file
sed -i "s|__VERSION__|$(VERSION)-$(DEBIAN_REVISION)|g" $(BUILD_DIR)/debian/amd64/debian/DEBIAN/control # Replace __VERSION__ macro in control file
sed -i "s|__ARCHITECTURE__|amd64|g" $(BUILD_DIR)/debian/amd64/debian/DEBIAN/control # Replace __ARCHITECTURE__ macro in control file
sed -i "s|__MAINTAINER__|$(MAINTAINER)|g" $(BUILD_DIR)/debian/amd64/debian/DEBIAN/control # Replace __MAINTAINER__ macro in control file
sed -i "s|__HOMEPAGE__|$(SOURCE_URL)|g" $(BUILD_DIR)/debian/amd64/debian/DEBIAN/control # Replace __HOMEPAGE__ macro in control file
sed -i "s|__PACKAGE__|$(PACKAGE_NAME)|g" $(BUILD_DIR)/debian/amd64/debian/usr/share/doc/$(PACKAGE_NAME)/copyright # Replace __PACKAGE__ macro in copyright file
sed -i "s|__MAINTAINER__|$(MAINTAINER)|g" $(BUILD_DIR)/debian/amd64/debian/usr/share/doc/$(PACKAGE_NAME)/copyright # Replace __MAINTAINER__ macro in copyright file
sed -i "s|__SOURCE__|$(SOURCE_URL)|g" $(BUILD_DIR)/debian/amd64/debian/usr/share/doc/$(PACKAGE_NAME)/copyright # Replace __SOURCE__ macro in copyright file
cp $(BUILD_DIR)/bin/amd64/yggdrasil $(BUILD_DIR)/debian/amd64/debian/usr/bin/ # Copy binary
chmod +x $(BUILD_DIR)/debian/amd64/debian/usr/bin/yggdrasil # Make executable (not sure why it lost execution perm after copy)
cd $(BUILD_DIR)/debian/amd64; \
dpkg-deb --build debian; \
cp debian.deb $(OUTPUT_DIR)/$(PACKAGE_NAME)_$(VERSION)-$(DEBIAN_REVISION)_amd64.deb

build_bin_armhf: download_source
mkdir -p $(BUILD_DIR)/bin/armhf
cd $(BUILD_DIR)/src; \
./clean; \
GOARCH=arm GOARM=7 ./build; \
cp yggdrasil $(BUILD_DIR)/bin/armhf/
package_deb: build_bin_amd64 build_bin_armhf
$(foreach arch,$(ARCHS),$(call package_deb_arch,$(arch));)

build_bin_amd64: download_source
mkdir -p $(BUILD_DIR)/bin/amd64
Expand All @@ -62,6 +46,13 @@ build_bin_amd64: download_source
./build; \
cp yggdrasil $(BUILD_DIR)/bin/amd64/

build_bin_armhf: download_source
mkdir -p $(BUILD_DIR)/bin/armhf
cd $(BUILD_DIR)/src; \
./clean; \
GOARCH=arm GOARM=7 ./build; \
cp yggdrasil $(BUILD_DIR)/bin/armhf/

download_source: mkdir_build
git clone https://github.com/Arceliar/yggdrasil-go.git -b $(TAG) $(BUILD_DIR)/src

Expand Down
2 changes: 1 addition & 1 deletion src/debian-packages/yggdrasil-go/debian/DEBIAN/postrm
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ if [ "$1" = "purge" ]; then
fi

# Remove user configurations
rm -rf /etc/yggdrasil-go/conf.json
rm -rf /etc/yggdrasil.conf
fi

exit 0

This file was deleted.

0 comments on commit 8d55c6d

Please sign in to comment.