|
|
|
@ -0,0 +1,102 @@ |
|
|
|
#!/bin/sh |
|
|
|
# --- SDE-COPYRIGHT-NOTE-BEGIN --- |
|
|
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch. |
|
|
|
# |
|
|
|
# Filename: bin/sde-parse-md5 |
|
|
|
# Copyright (C) 2007 The OpenSDE Project |
|
|
|
# |
|
|
|
# More information can be found in the files COPYING and README. |
|
|
|
# |
|
|
|
# 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. A copy of the |
|
|
|
# GNU General Public License can be found in the file COPYING. |
|
|
|
# --- SDE-COPYRIGHT-NOTE-END --- |
|
|
|
|
|
|
|
[ -n "$SDEROOT" ] || |
|
|
|
export SDEROOT=$( cd "${0%/*}/.."; pwd -P ) |
|
|
|
|
|
|
|
. $SDEROOT/lib/libsde.in |
|
|
|
|
|
|
|
parse_usage() { |
|
|
|
local progname=${0##*/} |
|
|
|
cat <<EOT |
|
|
|
Usage: $progname [--location <location>] <url> |
|
|
|
EOT |
|
|
|
} |
|
|
|
|
|
|
|
shortopts='L:' |
|
|
|
longopts='location:' |
|
|
|
options=$( getopt -o "$shortopts" -l "$longopts" -- "$@" ) |
|
|
|
if [ $? -ne 0 ]; then |
|
|
|
parse_usage |
|
|
|
exit -1 |
|
|
|
fi |
|
|
|
|
|
|
|
# load new arguments list |
|
|
|
eval set -- "$options" |
|
|
|
|
|
|
|
forced_location= |
|
|
|
|
|
|
|
while [ $# -gt 0 ]; do |
|
|
|
case "$1" in |
|
|
|
-L|--location) |
|
|
|
forced_location="$2"; shift ;; |
|
|
|
|
|
|
|
--) shift; break ;; |
|
|
|
*) echo_abort 1 "Unknown argument '$1', aborting." |
|
|
|
esac |
|
|
|
shift |
|
|
|
done |
|
|
|
|
|
|
|
# process the urls |
|
|
|
# |
|
|
|
for md5; do |
|
|
|
# where are these files? |
|
|
|
if [ -n "$forced_location" ]; then |
|
|
|
location="$forced_location" |
|
|
|
else |
|
|
|
location="${md5%/*}" |
|
|
|
fi |
|
|
|
|
|
|
|
curl "$md5" | while read md5sum file; do |
|
|
|
pkg=$( echo "$file" | sed -e 's,-[0-9].*,,' | tr [A-Z] [a-z] ) |
|
|
|
if [ -z "$pkg" ]; then |
|
|
|
echo_error "Failed to detect package name for '$file'." |
|
|
|
continue |
|
|
|
fi |
|
|
|
|
|
|
|
case "$pkg" in |
|
|
|
exo) |
|
|
|
pkg=lib${pkg} ;; |
|
|
|
gtk-xfce-engine) |
|
|
|
pkg=${pkg}2 ;; |
|
|
|
libxml2) |
|
|
|
pkg=${pkg%2} ;; |
|
|
|
libart_lgpl) |
|
|
|
pkg=${pkg}23 ;; |
|
|
|
gtk-doc) |
|
|
|
pkg=gtkdoc ;; |
|
|
|
terminal) |
|
|
|
pkg=xfce4-terminal ;; |
|
|
|
mono/gtk-sharp) |
|
|
|
pkg=gtk-sharp2 ;; |
|
|
|
kde-i18n/*|c++/*|java/*|python/*) |
|
|
|
pkg=${pkg#*/} |
|
|
|
esac |
|
|
|
|
|
|
|
confdir=$( ls -1d $SDEROOT/package/*/$pkg 2> /dev/null || true ) |
|
|
|
if [ -z "$confdir" -o ! -f "$confdir/$pkg.desc" ]; then |
|
|
|
echo_error "Failed to detect package name for '$file' ($pkg)." |
|
|
|
continue |
|
|
|
fi |
|
|
|
|
|
|
|
ver=$( echo "$file" | sed -n -e 's,.*-\([0-9].*\)\.tar\.bz2,\1,p' ) |
|
|
|
if [ -z "$ver" ]; then |
|
|
|
echo_error "Failed to detect new version for $pkg ($file)." |
|
|
|
continue |
|
|
|
fi |
|
|
|
|
|
|
|
echo "$pkg $ver $location/$file" |
|
|
|
done |
|
|
|
done |