clean up openwrt version handling, use a separate script that is executed at the beginning of the build process, fix revision checking with git

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@9723 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Felix Fietkau 2007-12-13 06:25:54 +00:00
parent b5e0831f1e
commit d42667f87b
3 changed files with 35 additions and 18 deletions

View File

@ -7,20 +7,15 @@
# #
RELEASE:=Kamikaze RELEASE:=Kamikaze
#VERSION:=2.0 # uncomment for final release
SHELL:=/usr/bin/env bash SHELL:=/usr/bin/env bash
OPENWRTVERSION:=$(RELEASE)
PREP_MK= OPENWRT_BUILD= QUIET=0 PREP_MK= OPENWRT_BUILD= QUIET=0
include $(TOPDIR)/include/verbose.mk include $(TOPDIR)/include/verbose.mk
ifneq ($(VERSION),)
OPENWRTVERSION:=$(VERSION) ($(OPENWRTVERSION)) REVISION:=$(shell $(TOPDIR)/scripts/getver.sh)
else OPENWRTVERSION:=$(RELEASE)$(if $(REVISION), ($(REVISION)))
REV:=$(if $(wildcard .svn/entries),$(shell LANG=C svn info | awk '/^Revision:/ { print$$2 }' )) export RELEASE
ifneq ($(REV),) export REVISION
OPENWRTVERSION:=$(OPENWRTVERSION)/r$(REV)
endif
endif
export OPENWRTVERSION export OPENWRTVERSION
export IS_TTY=$(shell tty -s && echo 1 || echo 0) export IS_TTY=$(shell tty -s && echo 1 || echo 0)

View File

@ -14,14 +14,10 @@ PKG_RELEASE:=12
PKG_FILE_DEPEND:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/ PKG_FILE_DEPEND:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
REV:=$(shell LANG=C svn info | awk '/^Revision:/ { print$$2 }' )
ifeq ($(REV),)
REV:=0
endif
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
ifneq ($(DUMP),1) ifneq ($(DUMP),1)
TARGET:=-$(BOARD)-$(KERNEL) TARGET:=-$(BOARD)
LIBGCC_VERSION:=$(GCC_VERSION) LIBGCC_VERSION:=$(GCC_VERSION)
else else
UCLIBC_VERSION:=<UCLIBC_VERSION> UCLIBC_VERSION:=<UCLIBC_VERSION>
@ -35,7 +31,7 @@ define Package/base-files$(TARGET)
CATEGORY:=Base system CATEGORY:=Base system
TITLE:=Base filesystem for OpenWrt TITLE:=Base filesystem for OpenWrt
URL:=http://openwrt.org/ URL:=http://openwrt.org/
VERSION:=$(PKG_RELEASE)-$(REV) VERSION:=$(PKG_RELEASE)-$(REVISION)
$(call Config,network.lan.proto,string,static,LAN Protocol) $(call Config,network.lan.proto,string,static,LAN Protocol)
$(call Config,network.lan.ipaddr,ip,192.168.1.1,LAN IP Address) $(call Config,network.lan.ipaddr,ip,192.168.1.1,LAN IP Address)
$(call Config,network.lan.netmask,netmask,255.255.255.0,LAN Network Mask) $(call Config,network.lan.netmask,netmask,255.255.255.0,LAN Network Mask)
@ -138,7 +134,7 @@ define Package/base-files$(TARGET)/install
$(CP) $(PLATFORM_SUBDIR)/base-files/* $(1)/; \ $(CP) $(PLATFORM_SUBDIR)/base-files/* $(1)/; \
fi \ fi \
) )
$(SED) 's,$$$$R,r$(REV),g' $(1)/etc/banner $(SED) 's,$$$$R,r$(REVISION),g' $(1)/etc/banner
$(SED) 's,$$$$S,$(BOARD),g' -e 's,$$$$A,$(ARCH),g' $(1)/etc/ipkg.conf $(SED) 's,$$$$S,$(BOARD),g' -e 's,$$$$A,$(ARCH),g' $(1)/etc/ipkg.conf
mkdir -p $(1)/dev mkdir -p $(1)/dev
mkdir -p $(1)/etc/crontabs mkdir -p $(1)/etc/crontabs

26
scripts/getver.sh Executable file
View File

@ -0,0 +1,26 @@
#!/usr/bin/env bash
export LANG=C
[ -n "$TOPDIR" ] && cd $TOPDIR
try_version() {
[ -f version ] || return 1
REV="$(cat version)"
[ -n "$REV" ]
}
try_svn() {
[ -d .svn ] || return 1
REV="$(svn info | awk '/^Revision:/ { print $2 }')"
REV="${REV:+r$REV}"
[ -n "$REV" ]
}
try_git() {
[ -d .git ] || return 1
REV="$(git-log | grep -m 1 git-svn-id | awk '{ gsub(/.*@/, "", $2); print $2 }')"
REV="${REV:+r$REV}"
[ -n "$REV" ]
}
try_version || try_svn || try_git || REV="unknown"
echo "$REV"