From 1ed9e0fceb9e82cb0bbf66d328e813fbac6ef840 Mon Sep 17 00:00:00 2001 From: Michael Borkenstein Date: Thu, 2 Jul 2020 13:23:54 -0500 Subject: [PATCH] AUTH-2644: Change install location and add man page --- Makefile | 22 +++++++++++++--------- cloudflared_man_template | 6 ++++++ postinst.sh | 3 +++ postrm.sh | 3 +++ 4 files changed, 25 insertions(+), 9 deletions(-) create mode 100644 cloudflared_man_template create mode 100644 postinst.sh create mode 100644 postrm.sh diff --git a/Makefile b/Makefile index 6d007b46..7fd9c8ef 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,8 @@ VERSION_FLAGS := -ldflags='-X "main.Version=$(VERSION)" -X "main.BuildTime=$(DAT IMPORT_PATH := github.com/cloudflare/cloudflared PACKAGE_DIR := $(CURDIR)/packaging -INSTALL_BINDIR := usr/local/bin +INSTALL_BINDIR := /usr/bin/ +MAN_DIR := /usr/share/man/man1/ EQUINOX_FLAGS = --version="$(VERSION)" \ --platforms="$(EQUINOX_BUILD_PLATFORMS)" \ @@ -86,19 +87,22 @@ publish-deb: cloudflared-deb publish-rpm: cloudflared-rpm $(call publish_package,yum) -.PHONY: cloudflared-deb -cloudflared-deb: cloudflared +define build_package mkdir -p $(PACKAGE_DIR) cp cloudflared $(PACKAGE_DIR)/cloudflared - fakeroot fpm -C $(PACKAGE_DIR) -s dir -t deb --deb-compression bzip2 \ - -a $(TARGET_ARCH) -v $(VERSION) -n cloudflared cloudflared=/usr/local/bin/ + cat cloudflared_man_template | sed -e 's/\$${VERSION}/$(VERSION)/; s/\$${DATE}/$(DATE)/' > $(PACKAGE_DIR)/cloudflared.1 + fakeroot fpm -C $(PACKAGE_DIR) -s dir -t $(1) --$(1)-compression bzip2 \ + -a $(TARGET_ARCH) -v $(VERSION) -n cloudflared --after-install postinst.sh --after-remove postrm.sh \ + cloudflared=$(INSTALL_BINDIR) cloudflared.1=$(MAN_DIR) +endef + +.PHONY: cloudflared-deb +cloudflared-deb: cloudflared + $(call build_package,deb) .PHONY: cloudflared-rpm cloudflared-rpm: cloudflared - mkdir -p $(PACKAGE_DIR) - cp cloudflared $(PACKAGE_DIR)/cloudflared - fakeroot fpm -C $(PACKAGE_DIR) -s dir -t rpm --rpm-compression bzip2 \ - -a $(TARGET_ARCH) -v $(VERSION) -n cloudflared cloudflared=/usr/local/bin/ + $(call build_package,rpm) .PHONY: cloudflared-darwin-amd64.tgz cloudflared-darwin-amd64.tgz: cloudflared diff --git a/cloudflared_man_template b/cloudflared_man_template new file mode 100644 index 00000000..ffdbb750 --- /dev/null +++ b/cloudflared_man_template @@ -0,0 +1,6 @@ +.\" Manpage for cloudflared. +.TH man 1 ${DATE} "${VERSION}" "cloudflared man page" +.SH NAME +cloudflared \- creates a connection to the cloudflare edge network +.SH DESCRIPTION +cloudflared creates a persistent connection between a local service and the Cloudflare network. Once the daemon is running and the Tunnel has been configured, the local service can be locked down to only allow connections from Cloudflare. diff --git a/postinst.sh b/postinst.sh new file mode 100644 index 00000000..b6c65eb7 --- /dev/null +++ b/postinst.sh @@ -0,0 +1,3 @@ +#!/bin/bash +set -eu +ln -s /usr/bin/cloudflared /usr/local/bin/cloudflared diff --git a/postrm.sh b/postrm.sh new file mode 100644 index 00000000..f84c20c3 --- /dev/null +++ b/postrm.sh @@ -0,0 +1,3 @@ +#!/bin/bash +set -eu +rm /usr/local/bin/cloudflared