Mail Archives: cygwin/2004/08/19/18:03:35
Christopher Cobb wrote:
> Max Bowsher <maxb <at> ukf.net> writes:
>
>>
>> setup isn't really designed for use from the command line. It doesn't
>> take
>> package names as arguments, for example. You could, I suppose, munge
>> /etc/setup/installed.db to fool setup into thinking that a really old
>> (e.g.
>> version 0) version of a package is installed, so that it would updated -
>> it's a messy way to do it, but there is no better way.
>>
>> Max.
>
> Thanks Max for the idea. Here is a quick hack/shell script which worked
> on
> the (small handful) of packages that I tried with it.
> pkgFileName=`
> awk < $SETUP_INI '
> /@ / {
> pkgName=$2
> }
> /version: / && pkg == pkgName {
> pkgVer=$2
> }
> /install: / && pkg == pkgName {
> num=split($2,arrFile,"/")
> pkgFile=arrFile[num]
> hyphenOffset=index(pkgFile,"-")
> if (hyphenOffset != 0)
> {
> pkgPrefix=substr(pkgFile, 0, hyphenOffset)
> verLength=index(pkgFile,".tar.bz2") - hyphenOffset
> ver=substr(pkgFile, hyphenOffset+1, verLength - 1)
> pkgSuffix=substr(pkgFile, hyphenOffset + verLength)
> pkgFile=pkgPrefix "" gensub(/[0-9]/,"0","g",ver) "" pkgSuffix
> print pkgFile
> pkgPrinted="true"
> exit
> }
> }
> END{
> if (pkgPrinted != "true") print pkgFile
> }
> ' pkg=$pkgName
> `
Actually, this should suffice:
pkgFileName="$pkgName-0.tar.bz2"
Much shorter! :-)
Max.
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -