This is an automated email from the ASF dual-hosted git repository. aw pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/yetus.git
The following commit(s) were added to refs/heads/master by this push: new dd436f0 YETUS-866. add a simple yetus binary tarball script dd436f0 is described below commit dd436f0491d6d2de52c8aa7db7005edd0e9e2491 Author: Allen Wittenauer <a...@apache.org> AuthorDate: Sun Apr 28 23:02:38 2019 -0700 YETUS-866. add a simple yetus binary tarball script Signed-off-by: Allen Wittenauer <a...@apache.org> --- asf-site-src/config.rb | 7 ++++ asf-site-src/data/htaccess.yml | 20 ++++++++++ asf-site-src/source/.htaccess.apache.erb | 21 ++++++++++ asf-site-src/source/contribute/releases.md | 2 + asf-site-src/source/downloads.html.md.erb | 17 +++++++- yetus-dl.sh | 64 ++++++++++++++++++++++++++++++ 6 files changed, 129 insertions(+), 2 deletions(-) diff --git a/asf-site-src/config.rb b/asf-site-src/config.rb index 509c9ff..5599344 100644 --- a/asf-site-src/config.rb +++ b/asf-site-src/config.rb @@ -44,6 +44,9 @@ activate :directory_indexes activate :syntax activate :livereload +# disable layout +page '.htaccess.apache', :layout => false # rubocop:disable Style/HashSyntax + # classes needed to publish our api docs class CopyInPlaceResource < ::Middleman::Sitemap::Resource def initialize(sitemap, dest, src) @@ -219,3 +222,7 @@ after_configuration do # rubocop:disable Metrics/BlockLength end end end + +after_build do + File.rename 'target/site/.htaccess.apache', 'target/site/.htaccess' +end diff --git a/asf-site-src/data/htaccess.yml b/asf-site-src/data/htaccess.yml new file mode 100644 index 0000000..990c7a2 --- /dev/null +++ b/asf-site-src/data/htaccess.yml @@ -0,0 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +--- +redirect: + /latest.tgz: > + https://www.apache.org/dyn/closer.cgi?action=download&filename=yetus/0.10.0/apache-yetus-0.10.0-bin.tar.gz + /latest.tgz.asc: > + https://www.apache.org/dist/yetus/0.10.0/apache-yetus-0.10.0-bin.tar.gz.asc diff --git a/asf-site-src/source/.htaccess.apache.erb b/asf-site-src/source/.htaccess.apache.erb new file mode 100644 index 0000000..1c1e314 --- /dev/null +++ b/asf-site-src/source/.htaccess.apache.erb @@ -0,0 +1,21 @@ + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +<% data.htaccess.redirect.each do |old, new| %> +Redirect 307 <%= old %> <%= new %> +<% end %> diff --git a/asf-site-src/source/contribute/releases.md b/asf-site-src/source/contribute/releases.md index d5e218e..b5f1ed8 100644 --- a/asf-site-src/source/contribute/releases.md +++ b/asf-site-src/source/contribute/releases.md @@ -571,6 +571,7 @@ Once a release candidate obtains majority approval from the PMC, there are sever $ cd asf-site-src $ # Add the release to the releases data file $ vim data/versions.yml + $ vim data/htaccess.yml $ vim pom.xml $ # add the two stanzas $ git add -p @@ -589,6 +590,7 @@ Once a release candidate obtains majority approval from the PMC, there are sever 1. You should then post this patch for review. Once you've gotten feedback, it's fine to push the patch to the ASF source repo immediately so long as the updated website is not published. 1. Publish website updates. After the 24 hour window needed for the release artifacts to make their way to the variety of mirrors, you should render the website and publish it using the instructions found in [Maintaining the Yetus Website](../website). +1. Verify that https://yetus.apache.org/latest.tgz and https://yetus.apache.org/latest.tgz.asc download the newly released version. 1. Remove old releases from the distribution area. The ASF distribution area should only contain the most recent release for actively developed branches If your release is a maintenance release, delete the prior release. If your release marks the end of maintenance for an earlier minor or major release line, you should delete those versions from the distribution area. 1. Draft an announcement email. The announcement email should briefly describe our project and provide links to our artifacts and documentation. For example, Subject: [ANNOUNCE] Apache Yetus 0.7.0 release diff --git a/asf-site-src/source/downloads.html.md.erb b/asf-site-src/source/downloads.html.md.erb index a99bcc2..daa120a 100644 --- a/asf-site-src/source/downloads.html.md.erb +++ b/asf-site-src/source/downloads.html.md.erb @@ -49,10 +49,23 @@ third-party repositories (e.g. Maven Central) and [Docker Hub](../yetus-docker-i <% end end %> +## OS X Homebrew/Linuxbrew + The latest version of Apache Yetus is also available via Homebrew on Mac OS X: -```shell + +```bash brew tap apache/yetus https://github.com/apache/yetus brew install yetus ``` -This will install many of the dependencies needed for the precommit functionality as well. \ No newline at end of file +This will install many of the dependencies needed for the precommit functionality as well. + +## Helper Script + +To aid in downloading Apache Yetus for continuous integration systems, local build environments, etc, we provide a simple script that may be checked into your local repo [here](https://github.com/apache/yetus/yetus-dl.sh). It takes two parameters: + +```bash +$ yetus-dl.sh <location> <version> +``` + +By default, location is `/tmp/yetus` and the version is the latest version. Compatibility is not guaranteed between 'latest' versions. Additionally, only the last three released versions will be available via this method. \ No newline at end of file diff --git a/yetus-dl.sh b/yetus-dl.sh new file mode 100755 index 0000000..a37144d --- /dev/null +++ b/yetus-dl.sh @@ -0,0 +1,64 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +EXTRACTDIR="${1:-/tmp/yetus}" +VERSION=${2:-latest} +KEYSURL="https://www.apache.org/dist/yetus/KEYS" +if [ "${VERSION}" != "latest" ]; then + BASEURL="https://www.apache.org/dyn/closer.cgi?action=download&filename=yetus/${VERSION}" + YETUSTGZ="apache-yetus-${VERSION}-bin.tar.gz" +else + BASEURL="https://yetus.apache.org" + YETUSTGZ="latest.tgz" +fi + +if [ ! -d "${EXTRACTDIR}" ]; then + if ! mkdir -p "${EXTRACTDIR}"; then + echo "ERROR: yetus-dl: unable to create ${EXTRACTDIR}" + exit 1 + fi +fi + +if ! curl -f -s -L -o "${EXTRACTDIR}/KEYS" "${KEYSURL}"; then + echo "ERROR: yetus-dl: unable to fetch ${KEYSURL}" + exit 1 +fi + +if ! curl -f -s -L -o "${EXTRACTDIR}/${YETUSTGZ}.asc" "${BASEURL}/${YETUSTGZ}.asc"; then + echo "ERROR: yetus-dl: unable to fetch ${BASEURL}/${YETUSTGZ}.asc" + exit 1 +fi + +if ! curl -f -s -L -o "${EXTRACTDIR}/${YETUSTGZ}" "${BASEURL}/${YETUSTGZ}"; then + echo "ERROR: yetus-dl: unable to fetch ${BASEURL}/${YETUSTGZ}.asc" + exit 1 +fi + +if ! gpg --import "${EXTRACTDIR}/KEYS" >/dev/null 2>&1; then + echo "ERROR: yetus-dl: gpg unable to import ${EXTRACTDIR}/KEYS" + exit 1 +fi + +if ! gpg --verify "${EXTRACTDIR}/${YETUSTGZ}.asc" >/dev/null 2>&1; then + echo "ERROR: yetus-dl: gpg verify of tarball in ${EXTRACTDIR} failed" + exit 1 +fi + +if ! tar -C "${EXTRACTDIR}" --strip-components=1 -xzpf "${EXTRACTDIR}/${YETUSTGZ}"; then + echo "ERROR: ${YETUSTGZ} is corrupt. Investigate and then remove ${EXTRACTDIR} to try again." + exit 1 +fi