From f2ea91f2c1499e6e7a8962540385e821f19c2128 Mon Sep 17 00:00:00 2001 From: nbd Date: Thu, 13 Dec 2007 06:25:54 +0000 Subject: [PATCH] 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 --- include/toplevel.mk | 17 ++++++----------- package/base-files/Makefile | 10 +++------- scripts/getver.sh | 26 ++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 18 deletions(-) create mode 100755 scripts/getver.sh diff --git a/include/toplevel.mk b/include/toplevel.mk index 040ff5124..63325aa01 100644 --- a/include/toplevel.mk +++ b/include/toplevel.mk @@ -7,20 +7,15 @@ # RELEASE:=Kamikaze -#VERSION:=2.0 # uncomment for final release - SHELL:=/usr/bin/env bash -OPENWRTVERSION:=$(RELEASE) PREP_MK= OPENWRT_BUILD= QUIET=0 + include $(TOPDIR)/include/verbose.mk -ifneq ($(VERSION),) - OPENWRTVERSION:=$(VERSION) ($(OPENWRTVERSION)) -else - REV:=$(if $(wildcard .svn/entries),$(shell LANG=C svn info | awk '/^Revision:/ { print$$2 }' )) - ifneq ($(REV),) - OPENWRTVERSION:=$(OPENWRTVERSION)/r$(REV) - endif -endif + +REVISION:=$(shell $(TOPDIR)/scripts/getver.sh) +OPENWRTVERSION:=$(RELEASE)$(if $(REVISION), ($(REVISION))) +export RELEASE +export REVISION export OPENWRTVERSION export IS_TTY=$(shell tty -s && echo 1 || echo 0) diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 3e83c01d9..091ce0f01 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -14,14 +14,10 @@ PKG_RELEASE:=12 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 ifneq ($(DUMP),1) - TARGET:=-$(BOARD)-$(KERNEL) + TARGET:=-$(BOARD) LIBGCC_VERSION:=$(GCC_VERSION) else UCLIBC_VERSION:= @@ -35,7 +31,7 @@ define Package/base-files$(TARGET) CATEGORY:=Base system TITLE:=Base filesystem for OpenWrt 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.ipaddr,ip,192.168.1.1,LAN IP Address) $(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)/; \ 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 mkdir -p $(1)/dev mkdir -p $(1)/etc/crontabs diff --git a/scripts/getver.sh b/scripts/getver.sh new file mode 100755 index 000000000..c33505edc --- /dev/null +++ b/scripts/getver.sh @@ -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"