diff --git a/I3_VERSION b/I3_VERSION new file mode 100644 index 000000000..f3d68995f --- /dev/null +++ b/I3_VERSION @@ -0,0 +1 @@ +4.12-non-git diff --git a/Makefile b/Makefile index fd3021017..57513b0e3 100644 --- a/Makefile +++ b/Makefile @@ -48,8 +48,8 @@ dist: distclean # Only copy source code from i3-input mkdir i3-${VERSION}/i3-input find i3-input -maxdepth 1 -type f \( -name "*.c" -or -name "*.mk" -or -name "*.h" -or -name "Makefile" \) -exec cp '{}' i3-${VERSION}/i3-input \; - echo -n ${I3_VERSION} > i3-${VERSION}/I3_VERSION - echo -n ${VERSION} > i3-${VERSION}/VERSION + cp I3_VERSION i3-${VERSION}/I3_VERSION + cp VERSION i3-${VERSION}/VERSION # Pre-generate a manpage to allow distributors to skip this step and save some dependencies $(MAKE) mans cp man/*.1 i3-${VERSION}/man/ diff --git a/VERSION b/VERSION new file mode 100644 index 000000000..f58858453 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +4.12 diff --git a/common.mk b/common.mk index 4fe8f2b04..1e738b045 100644 --- a/common.mk +++ b/common.mk @@ -18,12 +18,14 @@ ifndef SYSCONFDIR endif endif -# In dist tarballs, the version is stored in the I3_VERSION and VERSION files. -I3_VERSION := '$(shell [ -f $(TOPDIR)/I3_VERSION ] && cat $(TOPDIR)/I3_VERSION)' -VERSION := '$(shell [ -f $(TOPDIR)/VERSION ] && cat $(TOPDIR)/VERSION)' -ifeq ('',$(I3_VERSION)) -VERSION := $(shell git describe --tags --abbrev=0) -I3_VERSION := '$(shell git describe --tags --always) ($(shell git log --pretty=format:%cd --date=short -n1), branch \"$(shell git describe --tags --always --all | sed s:heads/::)\")' +# In dist and snapshot tarballs, use the I3_VERSION and VERSION files. Otherwise use git information. +ifeq ($(wildcard .git),) + # not in git repository + VERSION := '$(shell [ -f $(TOPDIR)/VERSION ] && cat $(TOPDIR)/VERSION)' + I3_VERSION := '$(shell [ -f $(TOPDIR)/I3_VERSION ] && cat $(TOPDIR)/I3_VERSION)' +else + VERSION := $(shell git describe --tags --abbrev=0) + I3_VERSION := '$(shell git describe --tags --always) ($(shell git log --pretty=format:%cd --date=short -n1), branch \"$(shell git describe --tags --always --all | sed s:heads/::)\")' endif MAJOR_VERSION := $(shell echo ${VERSION} | cut -d '.' -f 1) diff --git a/release.sh b/release.sh index 7b5211450..61b3c444e 100755 --- a/release.sh +++ b/release.sh @@ -56,6 +56,9 @@ cp "${STARTDIR}/RELEASE-NOTES-${RELEASE_VERSION}" "RELEASE-NOTES-${RELEASE_VERSI git add RELEASE-NOTES-${RELEASE_VERSION} git rm RELEASE-NOTES-${PREVIOUS_VERSION} sed -i "s,[^<]*,${RELEASE_VERSION},g" man/asciidoc.conf +echo "${RELEASE_VERSION}" > VERSION +echo "${RELEASE_VERSION} ($(date +%F))" > I3_VERSION +git add VERSION I3_VERSION git commit -a -m "release i3 ${RELEASE_VERSION}" git tag "${RELEASE_VERSION}" -m "release i3 ${RELEASE_VERSION}" --sign --local-user=0x4AC8EE1D @@ -68,14 +71,13 @@ diff -u \ <(tar tf i3-${RELEASE_VERSION}.tar.bz2 | sed "s,i3-${RELEASE_VERSION}/,,g" | sort) \ | colordiff -if ! tar xf i3-${RELEASE_VERSION}.tar.bz2 --to-stdout --strip-components=1 i3-${RELEASE_VERSION}/I3_VERSION | grep -q "^${RELEASE_VERSION} " -then - echo "I3_VERSION file does not start with ${RELEASE_VERSION}" - exit 1 -fi gpg --armor -b i3-${RELEASE_VERSION}.tar.bz2 +echo "${RELEASE_VERSION}-non-git" > I3_VERSION +git add I3_VERSION +git commit -a -m "Set non-git version to ${RELEASE_VERSION}-non-git." + if [ "${RELEASE_BRANCH}" = "master" ]; then git checkout master git merge --no-ff release-${RELEASE_VERSION} -m "Merge branch 'release-${RELEASE_VERSION}'"