Add debian packaging files
This doesn't quite work, since the debuild stuff refuses to see the rustup-installed cargo/rustc, which is required for our build.
This commit is contained in:
38
Makefile
38
Makefile
@ -1,15 +1,14 @@
|
||||
.PHONY: all release dev manpages install clean uninstall run run-dialog
|
||||
.PHONY: all release dev manpages install deb-pkg clean uninstall run run-dialog
|
||||
|
||||
DESTDIR ?= =
|
||||
PREFIX ?= /usr/local
|
||||
BINDIR ?= $(PREFIX)/bin
|
||||
LIBEXECDIR ?= $(PREFIX)/libexec
|
||||
SYSCONFDIR ?= $(PREFIX)/etc
|
||||
DATADIR ?= $(PREFIX)/share
|
||||
MANDIR ?= $(DATADIR)/man
|
||||
|
||||
APPLICATIONS_DIR = $(DATADIR)/applications
|
||||
CONFIG_DIR = $(SYSCONFDIR)/xdg/bscreensaver
|
||||
DOC_DIR = $(DATADIR)/doc/bscreensaver
|
||||
HELPER_DIR = $(LIBEXECDIR)/bscreensaver
|
||||
|
||||
HELPERS := \
|
||||
@ -54,7 +53,7 @@ endif
|
||||
|
||||
DEV_LOG_LEVEL = debug
|
||||
|
||||
all: release manpages
|
||||
all: release manpages $(RELEASE_OUT)/bscreensaver-settings.desktop
|
||||
|
||||
release: $(RELEASE_TARGETS)
|
||||
|
||||
@ -62,12 +61,12 @@ dev: $(DEV_TARGETS)
|
||||
|
||||
manpages: $(RELEASE_MANPAGES)
|
||||
|
||||
install: release manpages
|
||||
$(INSTALL) -m 0755 -d $(addprefix $(DESTDIR),$(BINDIR) $(HELPER_DIR) $(CONFIG_DIR) $(APPLICATIONS_DIR) $(MANDIR)/man1)
|
||||
install: all
|
||||
$(INSTALL) -m 0755 -d $(addprefix $(DESTDIR),$(BINDIR) $(HELPER_DIR) $(DOC_DIR) $(APPLICATIONS_DIR) $(MANDIR)/man1)
|
||||
$(INSTALL) -m 0755 $(addprefix $(RELEASE_OUT)/,$(BINARIES)) $(DESTDIR)$(BINDIR)
|
||||
$(INSTALL) -m 0755 $(addprefix $(RELEASE_OUT)/,$(HELPERS)) $(DESTDIR)$(HELPER_DIR)
|
||||
$(INSTALL) -m 0644 bscreensaver.toml.example $(DESTDIR)$(CONFIG_DIR)
|
||||
$(INSTALL) -m 0644 settings/bscreensaver-settings.desktop $(DESTDIR)$(APPLICATIONS_DIR)
|
||||
$(INSTALL) -m 0644 bscreensaver.toml.example $(DESTDIR)$(DOC_DIR)
|
||||
$(INSTALL) -m 0644 $(RELEASE_OUT)/bscreensaver-settings.desktop $(DESTDIR)$(APPLICATIONS_DIR)
|
||||
$(INSTALL) -m 0644 $(RELEASE_MANPAGES) $(DESTDIR)$(MANDIR)/man1
|
||||
|
||||
$(DEV_TARGETS): $(SOURCES)
|
||||
@ -77,18 +76,39 @@ $(RELEASE_TARGETS): $(SOURCES)
|
||||
HELPER_DIR=$(HELPER_DIR) cargo $(RUST_RELEASE_CHANNEL_ARG) build $(FEATURES_ARGS) --release
|
||||
|
||||
$(RELEASE_OUT)/%.1.gz: $(RELEASE_OUT)/%.1
|
||||
mkdir -p $(dir $@)
|
||||
gzip -c -k $< > $@
|
||||
|
||||
$(RELEASE_OUT)/%.1: $(RELEASE_TARGETS)
|
||||
mkdir -p $(dir $@)
|
||||
$(HELP2MAN) --no-info $(subst .1,,$@) > $@
|
||||
|
||||
$(RELEASE_OUT)/bscreensaver-settings.desktop: settings/bscreensaver-settings.desktop.in
|
||||
mkdir -p $(dir $@)
|
||||
sed -e 's:@BINDIR@:$(BINDIR):g' $< > $@
|
||||
|
||||
deb-pkg:
|
||||
@[ "$(RELEASE_VERSION)" ] || { echo "RELEASE_VERSION not set >&2"; exit 1; }
|
||||
docker build -t bscreensaver-build:latest .
|
||||
sudo rm -rf docker-out
|
||||
mkdir docker-out
|
||||
docker run --rm -v $(shell pwd)/docker-out:/build:rw bscreensaver-build:latest bash -c '\
|
||||
cp -a /bscreensaver /build/bscreensaver-$(RELEASE_VERSION) && \
|
||||
cd /build && \
|
||||
tar cvzf bscreensaver_$(RELEASE_VERSION).orig.tar.gz bscreensaver-$(RELEASE_VERSION) && \
|
||||
cd bscreensaver-$(RELEASE_VERSION) && \
|
||||
debuild --prepend-path=/root/.cargo/bin -uc -us && \
|
||||
rm -rf /build/bscreensaver'
|
||||
|
||||
clean:
|
||||
cargo $(RUST_RELEASE_CHANNEL_ARG) clean
|
||||
|
||||
uninstall:
|
||||
rm -f $(addprefix $(DESTDIR)$(BINDIR),$(BINARIES)) $(addprefix $(HELPER_DIR)/,$(HELPERS))) || true
|
||||
rm -f $(addprefix $(DESTDIR)$(MANDIR)/man1/,$(MANPAGES))
|
||||
rmdir -p $(addprefix $(DESTDIR),$(BINDIR) $(HELPER_DIR) $(APPLICATIONS_DIR) $(MANDIR)/man1) || true
|
||||
rm -f $(DESTDIR)$(APPLICATIONS_DIR)/bscreensaver-settings.desktop
|
||||
rm -f $(DESTDIR)$(DOC_DIR)/bscreensaver.toml.example
|
||||
rmdir -p $(addprefix $(DESTDIR),$(BINDIR) $(HELPER_DIR) $(APPLICATIONS_DIR) $(DOC_DIR) $(MANDIR)/man1) || true
|
||||
|
||||
run: $(DEV_TARGETS)
|
||||
BSCREENSAVER_LOCAL_DEV=1 \
|
||||
|
Reference in New Issue
Block a user