Skip to content
Permalink
Browse files
Initial commit
  • Loading branch information
Noah Slater committed Mar 7, 2013
0 parents commit d110c333267c9a8fda1bee79015a9a0bd79ae01b
Show file tree
Hide file tree
Showing 10 changed files with 727 additions and 0 deletions.
@@ -0,0 +1,11 @@
Subject: [DISCUSS] Elect %NAME% as committer

Dear PMC,

I would like to elect %NAME% as committer.

%REASONS%

If there appears to be consensus I will call a vote.

Thanks,
@@ -0,0 +1,19 @@
Subject: [DISCUSS] Release Apache CouchDB %version%

Dear community,

I would like to propose that we release Apache CouchDB %version%.

The project aims to produce time-based releases. If your favourite feature is not ready for this version, it can be included in the next version. However, if you know of anything that should block the release, please speak up now.

The %version% NEWS entry as it stands:

%news%

The %version% CHANGES entry as it stands:

%changes%

Are these accurate? Please double check any work you may have done and make sure that the corresponding NEWS and CHANGES entries are up-to-date.

Thanks,
@@ -0,0 +1,23 @@
Subject: [REMINDER] Weekly IRC meeting, Wednesday (tomorrow) at 20:00 GMT

Dear community,

Please join our weekly IRC meeting, Wednesday (tomorrow) at 20:00 GMT.

Everyone is welcome to attend this meeting.

If you have anything to put on the agenda, please reply to this email or mention it at the start of the meeting.

The meeting will take place in:

irc://irc.freenode.net/couchdb-meeting

You can access the meeting via the web:

http://webchat.freenode.net/?channels=#couchdb-meeting

For your local time, see:

http://everytimezone.com/

Thanks,
@@ -0,0 +1,27 @@
Subject: [VOTE] Release Apache CouchDB %version%-rc.%candidate%

Dear community,

I would like to call a vote on Apache CouchDB %version%-rc.%candidate%.

Changes since last round:

* [LIST CHANGES]

We encourage the whole community to download and test these release artefacts so that any critical issues can be resolved before the release is made. Everyone is free to vote on this release, so get stuck in!

The release artefacts we are voting on are available here:

%candidate_url%/%package%.tar.gz
%candidate_url%/%package%.tar.gz.asc
%candidate_url%/%package%.tar.gz.ish
%candidate_url%/%package%.tar.gz.md5
%candidate_url%/%package%.tar.gz.sha

Please follow the test procedure here:

http://wiki.apache.org/couchdb/Test_procedure

Please remember that "rc.%candidate%" is an annotation. If the vote passes, these artefacts will be released as Apache CouchDB %version%.

Thanks,
@@ -0,0 +1,149 @@
#!/bin/sh -e

if test -n "$1"; then
branch=$1
else
echo "error: no branch"
exit 1
fi

if test -n "$2"; then
version=$2
else
echo "error: no version"
exit 1
fi

log () {
printf "\033[1;31m$1\033[0m\n"
}

basename=`basename $0`

if test -n "$3"; then
tmp_dir=$3
else
log "Creating temporary directory..."
tmp_dir=`mktemp -d /tmp/$basename.XXXXXX` || exit 1
echo $tmp_dir
fi

diff_file=$tmp_dir/diff.txt

cat > $diff_file <<EOF
^Only in $tmp_dir/1.3.x: .gitignore\$
^Only in $tmp_dir/1.3.x: .mailmap\$
^Only in $tmp_dir/1.3.x: .travis.yml\$
^Only in $tmp_dir/1.3.x: acinclude.m4.in\$
^Only in $tmp_dir/1.3.x: bootstrap\$
^Only in $tmp_dir/1.3.x: THANKS.in\$
^Only in $tmp_dir/apache-couchdb-1.3.0: acinclude.m4\$
^Only in $tmp_dir/apache-couchdb-1.3.0: aclocal.m4\$
^Only in $tmp_dir/apache-couchdb-1.3.0: config.h.in\$
^Only in $tmp_dir/apache-couchdb-1.3.0: configure\$
^Only in $tmp_dir/apache-couchdb-1.3.0: INSTALL\$
^Only in $tmp_dir/apache-couchdb-1.3.0: m4\$
^Only in $tmp_dir/apache-couchdb-1.3.0: Makefile.in\$
^Only in $tmp_dir/apache-couchdb-1.3.0: THANKS\$
^Only in $tmp_dir/apache-couchdb-1.3.0/.*: Makefile.in\$
^Only in $tmp_dir/apache-couchdb-1.3.0/bin: couchdb.1\$
^Only in $tmp_dir/apache-couchdb-1.3.0/build-aux: config.guess\$
^Only in $tmp_dir/apache-couchdb-1.3.0/build-aux: config.sub\$
^Only in $tmp_dir/apache-couchdb-1.3.0/build-aux: depcomp\$
^Only in $tmp_dir/apache-couchdb-1.3.0/build-aux: install-sh\$
^Only in $tmp_dir/apache-couchdb-1.3.0/build-aux: ltmain.sh\$
^Only in $tmp_dir/apache-couchdb-1.3.0/build-aux: missing\$
^Only in $tmp_dir/apache-couchdb-1.3.0/share/doc/build: html\$
^Only in $tmp_dir/apache-couchdb-1.3.0/share/doc/build: latex\$
^Only in $tmp_dir/apache-couchdb-1.3.0/share/doc/build: texinfo\$
^Only in $tmp_dir/apache-couchdb-1.3.0/src/couchdb/priv: couchjs.1\$
EOF

build_file=build.mk

cat > $build_file <<EOF
URL=https://git-wip-us.apache.org/repos/asf/couchdb.git
TMP_DIR=$tmp_dir
SRC_DIR=\$(TMP_DIR)/git
DIFF_FILE=$diff_file
BRANCH=$branch
VERSION=$version
PACKAGE=apache-couchdb-\$(VERSION)
SRC_FILE=\$(SRC_DIR)/\$(PACKAGE).tar.gz
TGZ_FILE=\$(TMP_DIR)/\$(PACKAGE).tar.gz
all: \$(TMP_DIR)/\$(PACKAGE).tar.gz
\$(TMP_DIR)/\$(PACKAGE).tar.gz: \$(TGZ_FILE).ish
cd \$(SRC_DIR) && \
./bootstrap
cd \$(SRC_DIR) && \
./configure --enable-strictness --disable-tests
cd \$(SRC_DIR) && \
DISTCHECK_CONFIGURE_FLAGS="--disable-tests" make -j distcheck
mv \$(SRC_FILE) \$(TGZ_FILE)
\$(TGZ_FILE).ish: \$(SRC_DIR)
cd \$(SRC_DIR) && git show HEAD | head -n 1 | cut -d " " -f 2 > \$@
\$(SRC_DIR): \$(TMP_DIR)
git clone \$(URL) \$@
cd \$(SRC_DIR) && git checkout -b \$(BRANCH) origin/\$(BRANCH)
\$(TMP_DIR):
mkdir \$@
check: check-files
check-files: check-diff
cd \$(TMP_DIR)/\$(PACKAGE) && \
grep "not released" NEWS CHANGES; test "\$\$?" -eq 1
cd \$(TMP_DIR)/\$(PACKAGE) && \
grep "build" acinclude.m4; test "\$\$?" -eq 1
cd \$(TMP_DIR)/\$(PACKAGE) && \
grep `date +%Y` NOTICE
cd \$(TMP_DIR)/\$(PACKAGE) && \
grep `date +%Y` share/doc/src/conf.py
check-diff: check-file-size
cd \$(SRC_DIR) && git archive \
--prefix=\$(BRANCH)/ -o ../\$(BRANCH).tar \
\`cat \$(TGZ_FILE).ish\`
cd \$(TMP_DIR) && tar -xf \$(TMP_DIR)/\$(BRANCH).tar
cd \$(TMP_DIR) && tar -xzf \$(TGZ_FILE)
diff -r \$(TMP_DIR)/\$(PACKAGE) \$(TMP_DIR)/\$(BRANCH) \
| grep --include= -vEf \$(DIFF_FILE); \
test "\$\$?" -eq 1
check-file-size:
test -s \$(TGZ_FILE)
test -s \$(TGZ_FILE).ish
EOF

log_file=$tmp_dir/log.txt

echo "Build started `date`" > $log_file

log "Executing build instructions..."

make -f $build_file | tee -a $log_file

time_finish=`date "+%s"`

echo "Build finished `date`" >> $log_file

log "Checking build..."

make -f $build_file check

log "Check complete..."

echo "Files in $tmp_dir"
@@ -0,0 +1,95 @@
#!/bin/sh -e

if test -n "$1"; then
identity_file=$1
else
echo "error: no identity file"
exit 1
fi

if test -n "$2"; then
connection=$2
else
echo "error: no connection string"
exit 1
fi

if test -n "$3"; then
branch=$3
else
echo "error: no branch"
exit 1
fi

if test -n "$4"; then
version=$4
else
echo "error: no version"
exit 1
fi

log () {
printf "\033[1;31m$1\033[0m\n"
}

basename=`basename $0`

log "Creating temporary directory..."

tmp_dir=`mktemp -d /tmp/$basename.XXXXXX` || exit 1

echo $tmp_dir

log "Building candidate on remote host..."

ssh -i $identity_file $connection "sh -e" <<EOF
sudo apt-get update
sudo apt-get install -y \
git \
libtool \
automake \
autoconf \
autoconf-archive \
pkg-config \
help2man \
python-sphinx \
texlive-latex-base \
texlive-latex-recommended \
texlive-latex-extra \
texlive-fonts-recommended \
texinfo \
build-essential \
erlang-base-hipe \
erlang-dev \
erlang-manpages \
erlang-eunit \
erlang-nox \
libicu-dev \
libmozjs-dev \
libcurl4-openssl-dev
rm -rf couchdb-pmc
git clone https://github.com/nslater-asf/couchdb-pmc.git
tmp_dir=\`mktemp -d /tmp/$basename.XXXXXX\` || exit 1
./couchdb-pmc/release/build_candidate.sh $branch $version \$tmp_dir
echo \$tmp_dir > ~/tmp_dir.txt
EOF

log "Fetching candidate from remote host..."

remote_tmp_dir=`ssh -i $identity_file $connection "cat ~/tmp_dir.txt"`

tgz_file=$remote_tmp_dir/apache-couchdb-$version.tar.gz

ish_file=$remote_tmp_dir/apache-couchdb-$version.tar.gz.ish

scp -i $identity_file $connection:$tgz_file $tmp_dir

scp -i $identity_file $connection:$ish_file $tmp_dir

echo "Files in $tmp_dir"
@@ -0,0 +1,47 @@
#!/bin/sh -e

basename=`basename $0`

ssh people.apache.org "sh -e" <<EOF
tmp_dir=\`mktemp -d /tmp/$basename.XXXXXX\` || exit 1
mbox_export_file=\$tmp_dir/mbox
cve_list_file=\$tmp_dir/cve_list.txt
log () {
printf "\033[1;31m\$1\033[0m\n"
}
log "Adding mails to export..."
find /home/apmail/private-arch/security -type f | while read mbox_file; do
compressed=\`echo \$mbox_file | grep -E "\.gz" || true\`
if test -n "\$compressed"; then
echo "Adding" \$mbox_file "(compressed)"
cat \$mbox_file >> \$mbox_export_file
else
echo "Adding" \$mbox_file
cat \$mbox_file | gzip >> \$mbox_export_file
fi
done
log "Finding CVE numbers..."
zgrep "CVE" \$mbox_export_file | \
grep "Apache CouchDB" | \
sed "s,.*CVE,CVE," | \
cut -c1-13 | \
grep -E "CVE-[0-9]{4}-[0-9]{4}" | \
grep -v "CVE-2008-2370" | \
sort | \
uniq | \
tee \$cve_list_file
rm \$mbox_export_file
log "Writing CVE numbers..."
echo \$cve_list_file
EOF

0 comments on commit d110c33

Please sign in to comment.