From 35cfcec116f3effc436e79c6bd5d0617d6523c8a Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 13 Dec 2007 06:25:54 +0000 Subject: [PATCH 1/1] clean up openwrt version handling, use a separate script that is executed at the beginning of the build process, fix revision checking with git SVN-Revision: 9723 --- 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 040ff51249..63325aa018 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 3e83c01d93..091ce0f016 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 0000000000..c33505edc7 --- /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" -- 2.30.2