use .in files for scripts

This commit is contained in:
Natanael Copa 2009-05-08 13:33:34 +00:00
parent 4aee935d8c
commit 3d79fb7036
5 changed files with 75 additions and 25 deletions

View File

@ -1,18 +1,50 @@
PACKAGE=abuild
VERSION:=$(shell awk -F= '$$1 == "abuild_ver" {print $$2}' abuild)
USR_BIN_FILES=abuild devbuild mkalpine buildrepo
SAMPLES=sample.APKBUILD sample.initd sample.confd sample.pre-install \
sample.post-install
DISTFILES=$(USR_BIN_FILES) $(SAMPLES) Makefile abuild.conf initramfs-init \
PACKAGE := abuild
VERSION := 1.14
prefix ?= /usr
sysconfdir ?= /etc
datadir ?= $(prefix)/share/$(PACKAGE)
USR_BIN_FILES := abuild devbuild mkalpine buildrepo
SAMPLES := sample.APKBUILD sample.initd sample.confd \
sample.pre-install sample.post-install
SCRIPTS := $(USR_BIN_FILES)
SCRIPT_SOURCES := $(addsuffix .in,$(SCRIPTS))
DISTFILES=$(SCRIPT_SOURCES) $(SAMPLES) Makefile abuild.conf
GIT_REV := $(shell test -d .git && git describe || echo exported)
ifneq ($(GIT_REV), exported)
FULL_VERSION := $(patsubst $(PACKAGE)-%,%,$(GIT_REV))
FULL_VERSION := $(patsubst v%,%,$(FULL_VERSION))
else
FULL_VERSION := $(VERSION)
endif
SED := sed
TAR := tar
SED_REPLACE := -e 's:@VERSION@:$(FULL_VERSION):g' \
-e 's:@prefix@:$(prefix):g' \
-e 's:@sysconfdir@:$(sysconfdir):g' \
-e 's:@datadir@:$(datadir):g'
.SUFFIXES: .sh.in .in
.sh.in.sh:
${SED} ${SED_REPLACE} ${SED_EXTRA} $< > $@
.in:
${SED} ${SED_REPLACE} ${SED_EXTRA} $< > $@
P=$(PACKAGE)-$(VERSION)
all: $(SCRIPTS)
help:
@echo "$(P) makefile"
@echo "usage: make install [ DESTDIR=<path> ]"
@ -29,7 +61,6 @@ install: $(USR_BIN_FILES) $(SAMPLES) abuild.conf functions.sh
fi
cp $(SAMPLES) $(DESTDIR)/$(prefix)/share/abuild
cp functions.sh $(DESTDIR)/$(datadir)/
cp initramfs-init $(DESTDIR)/$(datadir)/
dist: $(P).tar.bz2

View File

@ -8,7 +8,8 @@
# Depends on: busybox utilities, fakeroot,
#
abuild_ver=1.14
abuild_ver=@VERSION@
sysconfdir=@sysconfdir@
startdir="$PWD"
srcdir=${srcdir:-"$startdir/src"}
@ -27,23 +28,45 @@ SUDO=${SUDO:-"sudo"}
default_cmds="sanitycheck builddeps clean fetch unpack rootpkg"
# read config
ABUILD_CONF=${ABUILD_CONF:-"/etc/abuild.conf"}
ABUILD_CONF=${ABUILD_CONF:-"$sysconfdir/abuild.conf"}
[ -f "$ABUILD_CONF" ] && . "$ABUILD_CONF"
# source functions
datadir=/usr/share/abuild
# if abuild was not run from PATH, then look for func lib at same location
if [ -z "$FUNCLIB" ]; then
FUNCLIB="${0##/*}/functions.sh"
[ -f "$FUNCLIB" ] || FUNCLIB=$datadir/functions.sh
fi
#colors
if [ -n "$USE_COLORS" ]; then
NORMAL="\033[1;0m"
STRONG="\033[1;1m"
RED="\033[1;31m"
GREEN="\033[1;32m"
YELLOW="\033[1;33m"
BLUE="\033[1;34m"
fi
# functions
msg() {
local prompt="$GREEN>>>${NORMAL}"
local fake="${FAKEROOTKEY:+${BLUE}*${NORMAL}}"
local name="${STRONG}${subpkgname:-$pkgname}${NORMAL}"
[ -z "$quiet" ] && printf "${prompt} ${name}${fake}: $@\n" >&2
}
warning() {
local prompt="${YELLOW}>>> WARNING:${NORMAL}"
local fake="${FAKEROOTKEY:+${BLUE}*${NORMAL}}"
local name="${STRONG}${subpkgname:-$pkgname}${NORMAL}"
printf "${prompt} ${name}${fake}: $@\n" >&2
}
error() {
local prompt="${RED}>>> ERROR:${NORMAL}"
local fake="${FAKEROOTKEY:+${BLUE}*${NORMAL}}"
local name="${STRONG}${subpkgname:-$pkgname}${NORMAL}"
printf "${prompt} ${name}${fake}: $@\n" >&2
}
if ! [ -f "$FUNCLIB" ]; then
echo "$FUNCLIB: not found" >&2
exit 1
fi
. "$FUNCLIB"
set_xterm_title() {
if [ "$TERM" = xterm ]; then
@ -190,11 +213,7 @@ unpack() {
clean() {
msg "Cleaning temporary build dirs..."
rm -rf "$srcdir"
rm -rf "$pkgdir"
local i
for i in $subpackages; do
rm -rf "$pkgdir-$(get_split_func $i)"
done
rm -rf "$pkgdirbase"
}
# cleanup fetched sources