T.R | Title | User | Personal Name | Date | Lines |
---|
149.1 | | UTRTSC::thecow.uto.dec.com::JurVanDerBurg | Change mode to Panic! | Thu Feb 06 1997 09:09 | 5 |
| This, this was known and discussed before. Appending a version number to a file
means 'inhibit known file lookup'. And that's what you see.
Jur.
|
149.2 | | POMPY::LESLIE | Andy, DEC man walking... | Thu Feb 06 1997 09:22 | 5 |
| If it ain't documented as such it's a bug. QAR it.
/a
PS Install does the same thing wrt version nums.
|
149.3 | Documented (Albiet Obscurely) Behaviour | XDELTA::HOFFMAN | Steve, OpenVMS Engineering | Thu Feb 06 1997 09:31 | 5 |
| : If it ain't documented as such it's a bug. QAR it.
The `specification of a version number on an image to bypass known
file lookups' behaviour is documented.
|
149.4 | | POMPY::LESLIE | Andy, DEC man walking... | Thu Feb 06 1997 09:38 | 49 |
|
The 7.1 online help is excerpted below. It does not specify that the
use of a version number invalidates the answer.
It is therefore, IMHO, QAR opinion.
And by the way, why do all the lexicals use "item" in the example and
then have "Argument" as the subtitle?
/a
$ HELP LEX F$FILE A
Lexicals
F$FILE_ATTRIBUTES
Arguments
filespec
Specifies the name of the file about which you are requesting
information. You must specify the file name as a character string
expression.
You can specify only one file name. Wildcard characters are not
allowed.
item
Indicates which attribute of the file is to be returned. The
item argument must be specified as a character string expression,
and can be any one of the OpenVMS RMS field names listed in the
following table.
Return
Item Type Information Returned
KNOWN String Known file; returns TRUE or FALSE to
indicate whether file is installed with
the Install utility (INSTALL). However,
returns NOSUCHFILE if a file does not exist
(for example, the file has been installed
but subsequently deleted).
|
149.5 | | EVMS::SCHOELLER | | Thu Feb 06 1997 11:30 | 13 |
| > The 7.1 online help is excerpted below. It does not specify that the
> use of a version number invalidates the answer.
It also does not document how to create or use a file
specification either. There are certain concepts that
we are assuming people know. If one is playing around
with the known file list, we assume that they know how
that list is being used.
>
> And by the way, why do all the lexicals use "item" in the example and
> then have "Argument" as the subtitle?
>
"item" is one of the "arguments"
|
149.6 | | AUSS::GARSON | DECcharity Program Office | Thu Feb 06 1997 16:54 | 28 |
| re .*
This is a KNOWN problem.
It isn't going to be "fixed".
The underlying behaviour is documented.
From the V7.1 doco (web version)...
"
RUN (Image)
Executes an image within the context of your process. You can
abbreviate the RUN command to a single letter, R.
If you specify an image name in the command line with an explicit version
number (or a semicolon), the image runs with current process privileges. If
you do not specify an explicit version number (or semicolon), the image runs
with any privileges with which it was installed. If you have DECnet software
installed and want to execute an image over the network, you must have read
(R) access to the file.
"
The important paragraph is first up and in bold. One couldn't ask for more
in this place in the doco.
That said, I think a reasonable case could be made for mentioning it under
F$FILE for item "KNOWN" since this behaviour has always been confusing.
So, Andy, are you going to enter that QAR?
|
149.7 | feature, not "feature" | CERN::HOBBS | Congrats to the Ignoble Peace Prize winner! (http://www.eecs.harvard.edu/ig_nobel) | Fri Feb 07 1997 03:02 | 37 |
| It would definitely be a good idea to include this info with the
item code description - but remember that a second period in a name is
syntactically identical to a trailing semicolon.
>
> This is a KNOWN problem.
>
> It isn't going to be "fixed".
>
Problem? You are kidding, of course.
The version number escape is a useful tool to bypass known file lookups.
When developing, debugging, maintaining multiple versions of an image
or similar tasks it is very handy. It's not a "feature" in the sardonic
use of the word, it is part of the O/S design.
It is entirely analogous to the escape that prefixing an underscore
to a username when sending mail means "do not honor any mail forwarding
defined, deliver on the specified node".
More doc
Guide to OpenVMS File Activations
5.2.1 Image Activation Using Logical Names
When an OpenVMS system activates an image, it uses RMS
to open the image file. If the program specifies the image
file with a logical name, RMS uses the equivalence name to
look up the image in the known file list, unless the file spec-
ification includes a version number delimiter (a semicolon [;]
or a period [.]). Known files are files that are installed using
the Install utility, and the known file list provides a listing of
these files by name and by number.
|
149.8 | | POMPY::LESLIE | Andy, DEC man walking... | Fri Feb 07 1997 04:19 | 9 |
| Sigh. 99% of all users NEVER GET TO SEE the docco beyond online help.
If you don't believe me, then just ask the writers.
Online help should be accurate and complete. In this case it ain't and
the incompete nature of the help can lead to misunderstandings. What's
the problem with having *one extra line*? If it saves 1 call to the CSC
then it has paid for itself.
As to a QAR, maybe I'll have the time. I leave in one week.
|
149.9 | | COMICS::MILLSS | "Jump! Jump now!" ...Kosh | Fri Feb 07 1997 06:24 | 11 |
| Re .1 to .7
Wow! I never thought I'd spark such a flurry of responses! Thanks to everybody
for all the info.
My last question still stands, though, albeit modified by recent information -
is it possible to check what version of an image is installed?
Thanks and regards,
Simon.
|
149.10 | Not from f$file | POMPY::LESLIE | Andy, DEC man walking... | Fri Feb 07 1997 06:34 | 1 |
| $INSTALL LIST shows the version.
|
149.11 | | COMICS::MILLSS | "Jump! Jump now!" ...Kosh | Fri Feb 07 1997 11:35 | 40 |
| Let's take this a step further. I'll let the customer explain...
> This clearly explains the behaviour of the DCL lexical f$file.
> It doesn't explain why "$ install replace image" has no visible effect.
>
> Eg.
> $ ins lis sys$share:qkdriver_ft_jobcard
>
> DISK$CLUSTER:<CLUSTER.SYSLIB>.EXE
> QKDRIVER_FT_JOBCARD;1
>
> $ dir sys$share:qkdriver_ft_jobcard
>
> Directory CLU_COMMON:[SYSLIB]
>
> QKDRIVER_FT_JOBCARD.EXE;3 QKDRIVER_FT_JOBCARD.EXE;2
> QKDRIVER_FT_JOBCARD.EXE;1
>
> Total of 3 files.
>
> $ ins rep sys$share:qkdriver_ft_jobcard
> $ ins lis sys$share:qkdriver_ft_jobcard
>
> DISK$CLUSTER:<CLUSTER.SYSLIB>.EXE
> QKDRIVER_FT_JOBCARD;1
>
> I find that the installed version is still ;1. The replace has had no visible
> effect, and my command proceedure can't tell whether it has been done or not.
> It works OK with the qualifiers /open/head/share, but not without.
>
> My query then is two-part:
>
> 1) Does install replace work without qualifiers, or has it failed as install
> list would suggest.
>
> 2) If it does work, how can I tell whether it's been done ?
Thanks,
Simon.
|
149.12 | Looks Like A Bug | XDELTA::HOFFMAN | Steve, OpenVMS Engineering | Fri Feb 07 1997 13:13 | 6 |
|
This looks like it might be a (minor) bug. Please QAR or IPMT this
(with a low priority, as the customer has a good workaround), and
please mention the OpenVMS version and platform. (I'll assume you
have checked the privileges and the error message settings, to make
sure that the INSTALL command isn't silently failing.)
|
149.13 | functionality good, implementation sucks | AUSS::GARSON | DECcharity Program Office | Sun Feb 09 1997 16:50 | 13 |
| re .7
>Problem? You are kidding, of course.
Nope
>The version number escape is a useful tool to bypass known file lookups.
Being able to bypass known file lookups is useful. However it seems that
for every user who knows about this feature and uses it to his
advantage (such as you and me) there is a user who doesn't know about
this feature and gets caught out with results that defy rational
explanation.
|
149.14 | | AUSS::GARSON | DECcharity Program Office | Sun Feb 09 1997 17:01 | 8 |
| re .11
If adding bogus qualifiers to the INSTALL command is undesirable,
another (untested) workaround may be to INSTALL DELETE followed by
INSTALL CREATE.
I don't think there is any supported means of finding out what version
is INSTALLed.
|
149.15 | | EEMELI::MOSER | Orienteers do it in the bush... | Tue Feb 18 1997 11:42 | 9 |
| I'm not convinced that this is a bug, I'd need to see a SHOW LOG/FULL
of all his related logical names, I suspect there is one in the line
which is no 'trusted' (i.e. executive-mode).
From his output, I'm gathering that he is playing games with rooted
logicals, he is using SYS$SHARE, but the install list doesn't produce
the standard VMS$COMMON.SYSLIB path.
/cmos
|
149.16 | ROOTED logical at the root (!) of the problem ? | COMICS::MILLSS | "Jump! Jump now!" ...Kosh | Fri Feb 21 1997 07:58 | 55 |
| re .15
I've just reproduced the problem here on a DEC 3000 Model 500 running OpenVMS
V6.2.
$ d aaaaaa
Directory SYS$SYSDEVICE:[SYS0.SYSCOMMON.SYSLIB]
AAAAAA.EXE;1 39/39 21-FEB-1997 12:45:52.03 (RWED,RWED,RE,RE)
Total of 1 file, 39/39 blocks.
$ install list sys$share:aaaaaa
%INSTALL-W-FAIL, failed to LIST entry for DISK$ALPHA062:<SYS0.SYSCOMMON.SYSLIB>A
AAAAA.EXE
-INSTALL-E-NOKFEFND, Known File Entry not found
$ install add sys$share:aaaaaa/log
DISK$ALPHA062:<SYS0.SYSCOMMON.SYSLIB>.EXE
AAAAAA;1
Entry access count = 0
$ copy aaaaaa.exe .exe;2
%COPY-S-COPIED, SYS$SYSDEVICE:[SYS0.SYSCOMMON.SYSLIB]AAAAAA.EXE;1 copied to SYS$
SYSDEVICE:[SYS0.SYSCOMMON.SYSLIB]AAAAAA.EXE;2 (39 blocks)
$ d aaaaaa
Directory SYS$SYSDEVICE:[SYS0.SYSCOMMON.SYSLIB]
AAAAAA.EXE;2 39/39 21-FEB-1997 12:51:45.67 (RWED,RWED,RE,RE)
AAAAAA.EXE;1 39/39 21-FEB-1997 12:45:52.03 (RWED,RWED,RE,RE)
Total of 2 files, 78/78 blocks.
$ install replace sys$share:aaaaaa/log <-------- This doesn't do anything !!!
$ install list sys$share:aaaaaa
DISK$ALPHA062:<SYS0.SYSCOMMON.SYSLIB>.EXE
AAAAAA;1
$ sh log sys$share/full
"SYS$SHARE" [exec] = "SYS$SYSROOT:[SYSLIB]" (LNM$SYSTEM_TABLE)
$ sh log sys$sysroot/full
"SYS$SYSROOT" [exec] = "$1$DKA300:[SYS0.]" [concealed,terminal] (LNM$SYSTEM_T
ABLE)
= "SYS$COMMON:"
1 "SYS$COMMON" [exec] = "$1$DKA300:[SYS0.SYSCOMMON.]" [concealed,terminal] (LNM
$SYSTEM_TABLE)
$
So, is this a bug or isn't it ?
Many thanks and regards,
Simon.
|
149.17 | | EEMELI::MOSER | Orienteers do it in the bush... | Fri Feb 21 1997 09:58 | 15 |
| you are still hiding somethingfrom us. Show us the following:
$ SHOW LOG/FULL AAAAAA
either make sure that there is no logical AAAAAA defined, or if it
is it probably should be /EXEC, and things should work; or specify
the extension .EXE on your command
$ install replace sys$share:aaaaaa.exe /log
^^^^
without the extension specified and un untrusted logical AAAAAA I
believe you might see the bahviour you're observing.
/cmos
|
149.18 | | COMICS::MILLSS | "Jump! Jump now!" ...Kosh | Tue Feb 25 1997 05:32 | 66 |
| I've done some more testing and come to realise that INSTALL REPLACE is not
translating all the logical names in the search list, or something along those
lines. The following example shows that an INSTALL REPLACE with both images in
SYS$COMMON:[SYSLIB] fails to find the image with a higher version. The second
INSTALL REPLACE with a higher version of the image contained in
SYS$SYSROOT:[SYSLIB] works as expected. It looks more and more like a bug to me!
$ set def sys$share
$ sh def
SYS$SYSROOT:[SYSLIB]
= SYS$SYSROOT:[SYSLIB]
= SYS$COMMON:[SYSLIB]
$ sh log aaaaaa/full
%SHOW-S-NOTRAN, no translation for logical name AAAAAA
$ dir aaaaaa
Directory SYS$COMMON:[SYSLIB]
AAAAAA.EXE;1
Total of 1 file.
$ instal add sys$share:aaaaaa/log
DISK$ALPHA062:<SYS0.SYSCOMMON.SYSLIB>.EXE
AAAAAA;1
Entry access count = 0
$ copy aaaaaa.exe sys$common:[syslib]*.exe;2
$ dir aaaaaa
Directory SYS$COMMON:[SYSLIB]
AAAAAA.EXE;2 AAAAAA.EXE;1
Total of 2 files.
$ install replace sys$share:aaaaaa/log
$ rename AAAAAA.EXE;2 sys$sysroot:[syslib]*.exe;2
$ dir aaaaaa
Directory SYS$SYSROOT:[SYSLIB]
AAAAAA.EXE;2
Total of 1 file.
Directory SYS$COMMON:[SYSLIB]
AAAAAA.EXE;1
Total of 1 file.
Grand total of 2 directories, 2 files.
$ install replace sys$share:aaaaaa/log
DISK$ALPHA062:<SYS0.SYSLIB>.EXE
AAAAAA;2
Entry access count = 0
It makes no difference if I specify the ".EXE" bit. By the way, I'm not hiding
anything ;^)
Thanks and regards,
Simon.
|
149.19 | | AUSS::GARSON | DECcharity Program Office | Wed Feb 26 1997 20:29 | 12 |
| re .18
> It looks more and more like a bug to me!
.12 said that over 2 weeks ago and asked that you report it formally.
>The second INSTALL REPLACE with a higher version of the image contained in
>SYS$SYSROOT:[SYSLIB] works as expected.
Expected.
INSTALL is arcane and this is a feature of its implementation.
|
149.20 | Upgrade: (verb) Take old bugs out, put new ones in | COMICS::MILLSS | "Jump! Jump now!" ...Kosh | Thu Feb 27 1997 10:08 | 11 |
| >> It looks more and more like a bug to me!
>
> .12 said that over 2 weeks ago and asked that you report it formally.
Oops. Sorry! Must've missed that one in the excitement!!!
I'll see if the customer wants to pursue this through IPMT.
Thanks to everyone for discussing this with me so far.
Simon.
|
149.21 | | COMICS::MILLSS | "Jump! Jump now!" ...Kosh | Mon Mar 03 1997 09:23 | 15 |
| May I beg your indulgencej for a further question or two ? I passed everything
on to the customer but he came back with the following -
>It's still not clear to me whether it's really accessing the old version, or
>just listing the old version. Obviously if it's just list that gives
>wrong information it's less serious than applications running the wrong version
>of software.
>What about images installed with qualifiers, where the version number doesn't
>get reported at all ? Are they correct or not ? If not, I need to apply my
>workaround to them too.
Many thanks for your continued help!
Simon.
|
149.22 | | QUARK::LIONEL | Free advice is worth every cent | Mon Mar 03 1997 10:21 | 4 |
| It makes no difference whether qualifiers are used or not as to INSTALL's
behavior.
Steve
|
149.23 | IPMT forthcoming? | AUSS::GARSON | DECcharity Program Office | Mon Mar 03 1997 16:57 | 31 |
| re .21
>It's still not clear to me whether it's really accessing the old version, or
>just listing the old version. Obviously if it's just list that gives
>wrong information it's less serious than applications running the wrong version
>of software.
It is my belief that the image activator will always activate the
listed version regardless of whether it is the highest version, provided
that the user does not specify the version. [On the other hand if the user
specifies the version or even just the punctuation for it then the image
activator will activate the specified version, highest if just
punctuation specified, and any INSTALL will be ignored.]
Hence in the customer's viewpoint the more serious situation arises
viz. ;1 is INSTALLed, INSTALL REPLACE is done for ;2 but ;1 remains
INSTALLed and ;1 is the one that will get activated.
Bottom line is that there is almost certainly a bug here. The customer
needs to report it and then VMS Engineering will surely fix it and the
customer won't have to use messy workarounds.
>What about images installed with qualifiers, where the version number doesn't
>get reported at all ? Are they correct or not ? If not, I need to apply my
>workaround to them too.
I have not seen that whether the version number is reported depends on
whether the INSTALL was done with qualifiers and my Alpha VMS V6.2
system does not exhibit this behaviour. Can the customer supply a log
file that illustrates this?
|
149.24 | | COMICS::MILLSS | "Jump! Jump now!" ...Kosh | Tue Mar 04 1997 05:49 | 9 |
| re .23
I've passed on your comments to the customer and have again asked him if he
wants to escalate the problem to engineering. He hasn't yet given me a straight
"yes" or "no" answer !
Thanks and regards,
Simon.
|