Print

Print


For 1:  I think it's good enough to have a machine-friendly version of the contents of `XrdVersionPlugin.hh`.  So, the snippet of the header looks like this:

```
#define XrdVERSIONPLUGINRULES \
        XrdVERSIONPLUGIN_Rule(Required,  4,  0, XrdAccAuthorizeObject         )\
        XrdVERSIONPLUGIN_Rule(Optional,  4,  0, XrdBwmPolicyObject            )\
        XrdVERSIONPLUGIN_Rule(Required,  4,  0, XrdCksCalcInit                )\
```

I think a corresponding output from the tool would be along the lines of:

```
XrdAccAuthorizeObject 4.0 Required
XrdBwmPolicyObject 4.0 Optional
XrdCksCalcInit 4.0 Required
```

The first column is the unmangled symbol name; the second is the minimum required Xrootd version the object must be built against to work with the current Xrootd; the third is whether the version info is required or optional.

This would be translated to RPM "Provides" (in the `xrootd` RPM) of the form:
```
Provides: xrootd(XrdAccAuthorizeObject) = 4.0
Provides: xrootd(XrdBwmPolicyObject) = 4.0
Provides: xrootd(XrdCksCalcInit) = 4.0
```

For 2: For the Xrootd-HDFS RPM, we have:

```
XrdVERSIONINFO(XrdOssGetStorageSystem,"hdfs");
```

This creates two symbols in the output binary:

```
00000000000011c0 T XrdOssGetStorageSystem
00000000002020c0 D XrdOssGetStorageSystem_
```

I assume, in the latter symbol, we actually set the version info.  Thus, for `libXrdHdfs-4.so`, I'd like some output along the lines of:

```
XrdOssGetStorageSystem 4.9.1
```

where `4.9.1` was the version of the Xrootd headers the binary was built against.  This would allow us to add the following to the `xrootd-hdfs` package:

```
Requires: xrootd(XrdOssGetStorageSystem) <= 4.9.1
```

The logic indeed looks a bit backwards.  I think of it as the xrootd RPM saying "I provide compatibility with the XrdOssGetStorageSystem ABI starting with 4.0.0" and the xrootd-hdfs RPM saying "I require a version of xrootd with the XrdOssGetStorageSystem ABI that supports at least 4.9.1".

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/xrootd/xrootd/issues/926#issuecomment-481352869

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1