forked from Aeres-u99/makedeb
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
53 lines (40 loc) · 1.75 KB
/
Copy pathMakefile
File metadata and controls
53 lines (40 loc) · 1.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
CONFIG_FILE = $(shell cat .data.json)
MAKEDEB_MAN_EPOCH = $(shell echo '$(CONFIG_FILE)' | jq -r '.makedeb_man_epoch')
PKGBUILD_MAN_EPOCH = $(shell echo '$(CONFIG_FILE)' | jq -r '.pkgbuild_man_epoch')
CURRENT_VERSION = $(shell echo '$(CONFIG_FILE)' | jq -r -r '. | .current_pkgver + "-" + .current_pkgrel')
LIBRARY_DIR ?= /usr/share/makedeb
.ONESHELL:
all:
true
prepare:
# makedeb.
cd src/
sed -i 's|$$$${MAKEDEB_VERSION}|$(CURRENT_VERSION)|' main.sh
sed -i 's|$$$${MAKEDEB_RELEASE}|$(RELEASE)|' main.sh
sed -i 's|$$$${MAKEDEB_INSTALLATION_SOURCE}|$(TARGET)|' main.sh
sed -i 's|$$$${MAKEDEB_LIBRARY_DIR}|$(LIBRARY_DIR)|' main.sh
find ./main.sh functions/ -type f -exec sed -i 's|^.*# COMP_RM$$||' '{}' \;
cd ../
# man pages.
sed -i 's|$$$${pkgver}|$(CURRENT_VERSION)|' man/makedeb.8.adoc
sed -i 's|$$$${pkgver}|$(CURRENT_VERSION)|' man/pkgbuild.5.adoc
package:
# makedeb.
install -Dm 644 ./completions/makedeb.bash '$(DESTDIR)/usr/share/bash-completion/completions/makedeb'
cd src/
install -Dm 755 ./main.sh '$(DESTDIR)/usr/bin/makedeb'
cd functions/
find ./ -type f -exec install -Dm 755 '{}' '$(DESTDIR)/usr/share/makedeb/{}' \;
cd ../
install -Dm 644 ./makepkg.conf '$(DESTDIR)/etc/makepkg.conf'
install -Dm 755 ./makepkg-template '$(DESTDIR)/usr/bin/makepkg-template'
cd ../
# man pages
export SOURCE_DATE_EPOCH="$(MAKEDEB_MAN_EPOCH)"
asciidoctor -b manpage man/makedeb.8.adoc -o "$(DESTDIR)/usr/share/man/man8/makedeb.8"
export SOURCE_DATE_EPOCH="$(PKGBUILD_MAN_EPOCH)"
asciidoctor -b manpage man/pkgbuild.5.adoc -o "$(DESTDIR)/usr/share/man/man5/pkgbuild.5"
# This is for use by dpkg-buildpackage. Please use prepare and package instead.
install:
$(MAKE) prepare RELEASE=alpha TARGET=apt
$(MAKE) package DESTDIR="$(DESTDIR)" TARGET=apt