Merge commit '0.6.1'

Conflicts:
	lib/Makefile.local

The conflicts are from three kinds of commits not merged into release:
    - typo fixes
    - removal of debug output
    - fix for CLEAN rule

That were never merged into the release branch.
This commit is contained in:
David Bremner 2011-07-17 22:18:58 -03:00
commit a900ddaba6
11 changed files with 93 additions and 24 deletions

View file

@ -25,6 +25,7 @@ RELEASE_HOST=notmuchmail.org
RELEASE_DIR=/srv/notmuchmail.org/www/releases
RELEASE_URL=http://notmuchmail.org/releases
TAR_FILE=$(PACKAGE)-$(VERSION).tar.gz
DEB_TAR_FILE=$(PACKAGE)_$(VERSION).orig.tar.gz
SHA1_FILE=$(TAR_FILE).sha1
GPG_FILE=$(SHA1_FILE).asc
@ -60,7 +61,13 @@ endif
endif
$(TAR_FILE):
git archive --format=tar --prefix=$(PACKAGE)-$(VERSION)/ HEAD > $(TAR_FILE).tmp
if git tag -v $(VERSION) >/dev/null 2>&1; then \
ref=$(VERSION); \
else \
ref="HEAD" ; \
echo "Warning: No signed tag for $(VERSION)"; \
fi ; \
git archive --format=tar --prefix=$(PACKAGE)-$(VERSION)/ $$ref > $(TAR_FILE).tmp
echo $(VERSION) > version.tmp
tar --append -f $(TAR_FILE).tmp --transform s_^_$(PACKAGE)-$(VERSION)/_ --transform 's_.tmp$$__' version.tmp
rm version.tmp
@ -87,21 +94,21 @@ dist: $(TAR_FILE)
.PHONY: release
release: verify-source-tree-and-version
$(MAKE) VERSION=$(VERSION) verify-newer
$(MAKE) VERSION=$(VERSION) clean
$(MAKE) VERSION=$(VERSION) test
rm -rf ./debian-build
git-buildpackage
cp debian-build/notmuch_$(VERSION).tar.gz notmuch-$(VERSION).tar.gz
git tag -s -m "$(PACKAGE) $(VERSION) release" $(VERSION)
$(MAKE) VERSION=$(VERSION) $(GPG_FILE)
scp $(TAR_FILE) $(SHA1_FILE) $(GPG_FILE) $(RELEASE_HOST):$(RELEASE_DIR)
ssh $(RELEASE_HOST) "rm -f $(RELEASE_DIR)/LATEST-$(PACKAGE)-[0-9]* && ln -s $(TAR_FILE) $(RELEASE_DIR)/LATEST-$(PACKAGE)-$(VERSION)"
ln -sf $(TAR_FILE) $(DEB_TAR_FILE)
pristine-tar commit $(DEB_TAR_FILE) $(VERSION)
git tag -s -m "$(PACKAGE) Debian $(VERSION)-1 upload (same as $(VERSION))" debian/$(VERSION)-1
mkdir -p releases
mv $(TAR_FILE) $(SHA1_FILE) $(GPG_FILE) releases
(cd debian-build; dput *.changes)
mv debian-build/* releases
rmdir debian-build
git tag -s -m "$(PACKAGE) $(VERSION) release" $(VERSION)
git push origin $(VERSION)
$(MAKE) VERSION=$(VERSION) release-message > $(PACKAGE)-$(VERSION).announce
ifeq ($(REALLY_UPLOAD),yes)
git push origin $(VERSION)
cd releases && scp $(TAR_FILE) $(SHA1_FILE) $(GPG_FILE) $(RELEASE_HOST):$(RELEASE_DIR)
ssh $(RELEASE_HOST) "rm -f $(RELEASE_DIR)/LATEST-$(PACKAGE)-[0-9]* ; ln -s $(TAR_FILE) $(RELEASE_DIR)/LATEST-$(PACKAGE)-$(VERSION)"
endif
@echo "Please send a release announcement using $(PACKAGE)-$(VERSION).announce as a template."
.PHONY: release-message
@ -161,8 +168,8 @@ endif
.PHONY: verify-version-debian
verify-version-debian: verify-version-components
@echo -n "Checking that Debian package version is $(VERSION)..."
@if [ "$(VERSION)" != $$(dpkg-parsechangelog | grep ^Version | awk '{print $$2}') ] ; then \
@echo -n "Checking that Debian package version is $(VERSION)-1..."
@if [ "$(VERSION)-1" != $$(dpkg-parsechangelog | grep ^Version | awk '{print $$2}') ] ; then \
(echo "No." && \
echo "Please edit version and debian/changelog to have consistent versions." && false) \
fi
@ -180,11 +187,16 @@ verify-version-components:
.PHONY: verify-newer
verify-newer:
@echo -n "Checking that no $(VERSION) release already exists..."
@ssh $(RELEASE_HOST) test ! -e $(RELEASE_DIR)/$(TAR_FILE) \
|| (echo "Ouch." && echo "Found: $(RELEASE_HOST):$(RELEASE_DIR)/$(TAR_FILE)" \
&& echo "Refusing to replace an existing release." \
&& echo "Don't forget to update \"version\" as described in RELEASING before release." && false)
@echo "Good."
@wget -q -O /dev/null $(RELEASE_URL)/$(TAR_FILE) ; \
case $$? in \
8) echo "Good." ;; \
0) echo "Ouch."; \
echo "Found: $(RELEASE_URL)/$(TAR_FILE)"; \
echo "Refusing to replace an existing release."; \
echo "Don't forget to update \"version\" as described in RELEASING before release." ; \
false ;; \
*) echo "An unexpected error occured"; \
false;; esac
# The user has not set any verbosity, default to quiet mode and inform the
# user how to enable verbose compiles.

11
NEWS
View file

@ -1,3 +1,14 @@
Notmuch 0.6.1 (2011-07-17)
==========================
Bug-fix release.
----------------
Re-export Xapian exception typeinfo symbols.
It turned out our aggressive symbol hiding caused problems for
people running gcc 4.4.5.
Notmuch 0.6 (2011-07-01)
=======================
New, general features

11
debian/changelog vendored
View file

@ -1,3 +1,14 @@
notmuch (0.6.1-1) unstable; urgency=low
* Properly install README.Debian in notmuch-vim (Closes: #632992).
Thanks to Jason Woofenden for the report.
* Force notmuch to depend on the same version of libnotmuch. Thanks to
Uwe Kleine-König for the patch.
* Export typeinfo for Xapian exceptions from libnotmuch. This fixes
certain mysterious uncaught exception problems.
-- David Bremner <bremner@debian.org> Sun, 17 Jul 2011 10:20:42 -0300
notmuch (0.6) unstable; urgency=low
* New upstream release; see /usr/share/doc/notmuch/NEWS for

2
debian/control vendored
View file

@ -15,7 +15,7 @@ Dm-Upload-Allowed: yes
Package: notmuch
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Depends: libnotmuch1 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Recommends: notmuch-emacs | notmuch-vim
Description: thread-based email index, search and tagging
Notmuch is a system for indexing, searching, reading, and tagging

View file

@ -70,3 +70,13 @@ libnotmuch.so.1 libnotmuch1 #MINVER#
notmuch_threads_get@Base 0.3
notmuch_threads_move_to_next@Base 0.3
notmuch_threads_valid@Base 0.3
(c++)"typeinfo for Xapian::LogicError@Base" 0.6.1
(c++)"typeinfo for Xapian::RuntimeError@Base" 0.6.1
(c++)"typeinfo for Xapian::DocNotFoundError@Base" 0.6.1
(c++)"typeinfo for Xapian::InvalidArgumentError@Base" 0.6.1
(c++)"typeinfo for Xapian::Error@Base" 0.6.1
(c++)"typeinfo name for Xapian::LogicError@Base" 0.6.1
(c++)"typeinfo name for Xapian::RuntimeError@Base" 0.6.1
(c++)"typeinfo name for Xapian::DocNotFoundError@Base" 0.6.1
(c++)"typeinfo name for Xapian::InvalidArgumentError@Base" 0.6.1
(c++)"typeinfo name for Xapian::Error@Base" 0.6.1

View file

@ -1 +1 @@
3.0 (native)
3.0 (quilt)

View file

@ -75,9 +75,7 @@ $(dir)/$(LIBNAME): $(libnotmuch_modules) notmuch.sym
$(call quiet,CXX $(CXXFLAGS)) $(libnotmuch_modules) $(FINAL_LIBNOTMUCH_LDFLAGS) $(LIBRARY_LINK_FLAG) -o $@
notmuch.sym: lib/notmuch.h
printf "{\nglobal:\n" > notmuch.sym
sed -n 's/^[[:space:]]*\(notmuch_[a-z_]*\)[[:space:]]*(.*/'"`printf "\t"`"'\1;/p' $< >> notmuch.sym
printf "local: *;\n};\n" >> notmuch.sym
sh lib/gen-version-script.sh $< $(libnotmuch_modules) > $@
$(dir)/$(SONAME): $(dir)/$(LIBNAME)
ln -sf $(LIBNAME) $@

27
lib/gen-version-script.sh Normal file
View file

@ -0,0 +1,27 @@
# we go through a bit of work to get the unmangled names of the
# typeinfo symbols because of
# http://sourceware.org/bugzilla/show_bug.cgi?id=10326
if [ $# -lt 2 ]; then
echo Usage: $0 header obj1 obj2 obj3
exit 1;
fi
HEADER=$1
shift
printf '{\nglobal:\n'
nm --defined $* | awk '$3 ~ "Xapian.*Error" {print $3}' | sort | uniq | \
while read sym; do
demangled=$(c++filt $sym)
case $demangled in
typeinfo*)
printf "\t$sym;\n"
;;
*)
;;
esac
done
sed -n 's/^\s*\(notmuch_[a-z_]*\)\s*(.*/\t\1;/p' $HEADER
printf "local: *;\n};\n"

View file

@ -1 +1 @@
0.6
0.6.1