blob: 7d93bcd7a482c17724c533b3f71a9470304d6fe7 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
#!/bin/csh -f
#
# PKGUPDATE - Update the named packages
unalias grep ls
set pkg = ""
set all = no
set list_only = no
if ($#argv < 1) then
exit 0
else
# Process cmdline flags.
while ("$1" != "")
switch ("$1")
case -all: # clean all package sources
set all = yes
breaksw
case -list: # list packages needing updating
set list_only = yes
breaksw
default:
set pkg = $1
break
endsw
shift
end
endif
set bindir = "`dirname $0`" # get iraf root directory
set irafdir = $bindir:h
set REPO = `${irafdir}/util/pkgrepo`
if ($?IRAFARCH) then
set arch = $IRAFARCH
else
set arch = `${irafdir}/unix/hlib/irafarch.csh -actual`
endif
echo "Updating repository data ...."
../util/pkginit # init repository information
# Check for a self-update.
if ("$pkg" == "-self") then
echo "Updating utility scripts ...."
/bin/rm -f /tmp/util.tgz
../util/pkgget ${REPO}/util-universal.tar.gz /tmp/util.tgz
(chdir ../util ; tar zxf /tmp/util.tgz ; /bin/rm -f /tmp/util.tgz)
echo "Done"
exit 0
endif
# Check for a extern update.
if ("$pkg" == "-config") then
echo "Updating config script ...."
../util/pkgget ${REPO}/config-universal configure
chmod 777 configure
echo "Done"
exit 0
endif
# Process the requested package and any dependencies.
foreach ip ( `cat .repo_pkgs` )
if (-e $ip/.installed) then
set pd = `grep $ip $ip/.installed | awk '{printf("%s\n", $1)}'`
set rd = `grep $ip .repo_manifest | head -1 | awk '{printf("%s\n", $3)}'`
set alist = `(chdir $ip; ls -1 .inst*.* | sed -e "s/\.installed\.//g")`
if ($rd > $pd) then
# Update each installed architecture automatically.
foreach a ( $alist )
if ("$list_only" == "yes") then
printf "Package %-12s for %-8s is out of date ....\n" $ip $a
else
if ("$all" == "yes" || "$ip" == "$pkg") then
echo "Updating package '$ip' for '$a' ...."
../util/pkginst $ip
endif
endif
end
else
if ("$list_only" == "yes" || $rd <= $pd) then
printf "Package %-12s is current ....\n" $ip
endif
endif
else
printf "Package %-12s is not installed ....\n" $ip
endif
${irafdir}/util/pkgenv -init
end
echo "Done"
exit 0
|