Sophie

Sophie

distrib > Mageia > 5 > i586 > by-pkgid > 33f85e7c1d100e308d02f8504cea1c33 > files > 1

kernel-firmware-20150309-1.mga5.src.rpm

#!/bin/bash -e
[ -e "$1" ] && [ -n "$2" ] || { echo "Usage: $0 full-tarball date" >&2; exit 0; }
oldname="$1"
date="$2"
name="linux-firmware-free-$date"
name_nonfree="linux-firmware-nonfree-$date"
rm -rf "$name" "$name_nonfree"
mkdir "$name" "$name_nonfree"
tar -xf "$1" --strip-components=1 -C "$name_nonfree"

driver=
free=
files=
license=
cd $name_nonfree

cp -a WHENCE GPL* "../$name"

cat WHENCE | while read line; do
	set -e
	case "$line" in
	"Driver: "*)
		driver="${line#Driver: }"
		free=
		files=
		license=
		;;
	"File: "*)
		files="$files ${line#File: }"
		;;
	"Source: "*)
		free=1
		files="$files ${line#Source: }"
		;;
	"License: "*|"Licence: "*)
		license="${line#Licen?e: }"
		case "$license" in
		*"Allegedly"*|*"no source visible"*)
			;;
		*"GPL"*)
			free=1
			;;
		esac
		;;
	"Original licence information: None")
		free=
		;;
	"------"*)
		if [ -n "$free" ]; then
			echo "Including: $driver ($license)"
			for file in $files; do
				mkdir -p "../$name/$(dirname "$file")"
				mv "$file" "../$name/$(dirname "$file")"
			done
		else
			echo "Skipping: $driver ($license)"
		fi
		driver=
		;;
	esac
done
cd ..
tar -cJf $name.tar.xz $name
tar -cJf $name_nonfree.tar.xz $name_nonfree
rm -rf "$name" "$name_nonfree"