aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNigel Tao <nigeltao@golang.org>2021-03-12 14:46:54 +1100
committerNigel Tao <nigeltao@golang.org>2021-03-12 14:46:54 +1100
commit86273deaa2f2d961df1ae03b792118ad51a00ae3 (patch)
tree90585a02e77fda22a48572a83c18047b768908f9
parentcea4a6745e3a66822b383ef5755bdc0bce4a3d22 (diff)
downloadwuffs-mirror-release-c-86273deaa2f2d961df1ae03b792118ad51a00ae3.tar.gz
Add script/sync.sh
-rw-r--r--README.md6
-rwxr-xr-xscript/sync.sh53
2 files changed, 59 insertions, 0 deletions
diff --git a/README.md b/README.md
index efae182..e4d2930 100644
--- a/README.md
+++ b/README.md
@@ -21,6 +21,12 @@ everything else, this repository is much smaller and changes much less
frequently.
+## Updates
+
+This repository's `release/c` directory is manually updated by the
+`script/sync.sh` shell script, which also logs to [`sync.txt`](./sync.txt).
+
+
# Disclaimer
This is not an official Google product, it is just code that happens to be
diff --git a/script/sync.sh b/script/sync.sh
new file mode 100755
index 0000000..722e9d1
--- /dev/null
+++ b/script/sync.sh
@@ -0,0 +1,53 @@
+#!/bin/bash -eu
+# Copyright 2021 The Wuffs-Mirror-Release-C Authors.
+#
+# Licensed 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
+#
+# https://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.
+
+# ----------------
+
+# This script synchronizes this repository's release/c directory with the
+# upstream one, assumed to be "../wuffs/release/c", and updates "sync.txt".
+#
+# It does not ensure that ../wuffs is synchronized to the latest version (at
+# https://github.com/google/wuffs). That is a separate responsibility.
+
+echo -n "script/sync.sh ran on " > sync.txt
+date --iso-8601 >> sync.txt
+echo -n "Sibling directory (../wuffs) git revision is " >> sync.txt
+cd ../wuffs
+git rev-parse HEAD >> ../wuffs-mirror-release-c/sync.txt
+cd ../wuffs-mirror-release-c
+echo "Manifest (sha512sum values, filenames, versions):" >> sync.txt
+
+for f in ../wuffs/release/c/*; do
+ f=${f##*/}
+
+ # Skip the unsupported snapshot.
+ if [ $f = "wuffs-unsupported-snapshot.c" ]; then
+ continue
+ fi
+
+ # Temporarily deny-list v0.3 until a beta is released.
+ if [ $f = "wuffs-v0.3.c" ]; then
+ continue
+ fi
+
+ cp ../wuffs/release/c/$f release/c
+ sha512sum release/c/$f >> sync.txt
+ set +e
+ VER=$(grep "^#define WUFFS_VERSION_STRING " release/c/$f)
+ set -e
+ if [ -n "$VER" ]; then
+ echo " $VER" >> sync.txt
+ fi
+done