diff options
author | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2014-06-10 14:20:16 +0100 |
---|---|---|
committer | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2014-06-10 14:30:47 +0100 |
commit | 54a85d3e8f5df5a07bfb1acf851573d00e2b7ac7 (patch) | |
tree | a8b9ee01f9a0106133f61f4e2f560a2d7b6520cf /scripts/licensecheck.sh | |
parent | fa450377bcecd40fefbbcc4faed06945a8044391 (diff) | |
download | definitions-54a85d3e8f5df5a07bfb1acf851573d00e2b7ac7.tar.gz |
Move scripts into scripts/ directory
They probably do not belong in definitions.git at all, but at least they
are now in one place.
In future they should move either into a separate baserock-utilities
chunk, or into morph.git itself.
Diffstat (limited to 'scripts/licensecheck.sh')
-rwxr-xr-x | scripts/licensecheck.sh | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/scripts/licensecheck.sh b/scripts/licensecheck.sh new file mode 100755 index 00000000..a39e62da --- /dev/null +++ b/scripts/licensecheck.sh @@ -0,0 +1,101 @@ +#!/bin/sh + +# Copyright (C) 2013 Codethink Limited +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +set -e + +usage() { + echo "Usage: license-check your-system" + echo + echo "This checks license info for all the chunks in your-system" + echo "It's re-runnable, and does morph edit to get each chunk." + echo "The process can take a while." +} + + +if [ -z "$1" ]; then + usage + exit 1 +fi + +workspace="$PWD"/../../.. +system="$1" + +gplv3_chunks="\ +autoconf \ +automake \ +bash \ +binutils \ +bison \ +ccache \ +cmake \ +flex \ +gawk \ +gcc \ +gdbm \ +gettext \ +gperf \ +groff \ +libtool \ +m4 \ +make \ +nano \ +texinfo-tarball" + +gplv3_repos="" + + +for f in *.morph; do + cp "$f" "$f.bak" +done + + +strata=`grep "morph.*: *" "$system.morph" | cut -d: -f2-` +for stratum in $strata; do + chunks=`grep "name.*: *" "$stratum.morph" | cut -d: -f2-` + for chunk in $chunks; do + if [ "$chunk" != "$stratum" ]; then + if ! (echo $gplv3_chunks | grep -wq "$chunk"); then + morph edit $chunk 1>&2 + else + repo=`grep "name.*: *$chunk" "$stratum.morph" -A1 | \ + tail -n1 | cut -d: -f3-` + gplv3_repos="$gplv3_repos $repo" + fi + fi + done +done + + +repos=`for stratum in $strata; do + grep "repo.*: *" "$stratum.morph" | cut -d: -f3- + done | sort -u` + + +for repo in $repos; do + if ! (echo $gplv3_repos | grep -wq "$repo") && \ + [ -d "$workspace/upstream/$repo" ] ; then + echo "$repo" + perl licensecheck.pl -r "$workspace/upstream/$repo" | \ + cut -d: -f2- | sort -u + echo + fi +done + + +for f in *.morph.bak; do + mv "$f" "${f%.bak}" +done |