Cross Reference: dl-latest-src.sh
xref
: /
solaris-desktop
/
scripts
/
dl-latest-src.sh
Home
History
Annotate
Line#
Navigate
Download
Search
only in
./
dl-latest-src.sh revision 6474
6474
N/A
#!/
bin
/
bash
6474
N/A
6474
N/A
if
[ -z $
1
];
then
6474
N/A
echo
"usage: $0 <specfile1> [specfile2 ...]"
6474
N/A
exit
1
6474
N/A
fi
6474
N/A
6474
N/A
export
http_proxy
=
"
webcache.uk.sun.com
:8080"
6474
N/A
PULL_NEW_TARBALLS
=
1
6474
N/A
6474
N/A
while
[ $# -
ne
0
]
6474
N/A
do
6474
N/A
specfile
=$
1
6474
N/A
6474
N/A
if
[ -f
$specfile
];
then
6474
N/A
NAME
=
$(
grep
"^Name:"
$specfile
|
sed
-e
"
s
/
Name
:[\t ]*//"
)
6474
N/A
CURRENT
=
$(
grep
"^Version:"
$specfile
|
sed
-e
"
s
/
Version
:[\t ]*//"
)
6474
N/A
SOURCE
=
$(
grep
"^Source:"
$specfile
|
sed
-e
"
s
/
Source
:[\t ]*//"
)
6474
N/A
# Replace '%{Name}' with $NAME.
6474
N/A
SOURCE
=
$(
echo
$SOURCE
|
sed
-e
"s/\%{*[Nn]ame}*/${NAME}/g"
)
6474
N/A
SOURCE
=
$(
dirname
$SOURCE
)
6474
N/A
6474
N/A
proto
=
$(
echo
$SOURCE
|
cut
-d
":"
-f
1
)
6474
N/A
if
[
$proto
!=
"http"
-a
$proto
!=
"ftp"
];
then
6474
N/A
echo
"Not fetching latest version for
$NAME
- can't use \"
$SOURCE
\""
6474
N/A
else
6474
N/A
LATEST
=
$(
wget
$SOURCE
-O -
2
>/
dev
/
null
|
grep
"LATEST-IS"
|
sed
-e
"s/.*LATEST-IS-\([0-9][0-9\.]*\).*/\1/"
)
6474
N/A
if
[ -z
$LATEST
];
then
6474
N/A
echo
"Cannot get latest version of
$NAME
from \"
$SOURCE
/LATEST-IS*\""
6474
N/A
else
6474
N/A
if
[
$LATEST
=
$CURRENT
];
then
6474
N/A
echo
"Okay with
$NAME
-
$LATEST
"
6474
N/A
else
if
[ -z
$PULL_NEW_TARBALLS
];
then
6474
N/A
echo
"Need to update to
$NAME
-
$LATEST
from
$CURRENT
"
6474
N/A
else
6474
N/A
# TODO: It may not be bz2!
6474
N/A
wget
--
non
-
verbose
--
no
-
clobber
$SOURCE
/
$NAME
-
$LATEST
.tar.bz
2
6474
N/A
if
[ $? -
eq
0
];
then
6474
N/A
echo
"Update
$specfile
to
$LATEST
"
6474
N/A
fi
6474
N/A
fi
6474
N/A
fi
6474
N/A
fi
6474
N/A
fi
6474
N/A
else
6474
N/A
echo
"WARNING:
$specfile
does not exist."
6474
N/A
fi
6474
N/A
6474
N/A
shift
6474
N/A
done
6474
N/A