[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Tru64, IRIX, and osf-style find-provides with RPM




All-


If there's anyone out there that's using RPM for packaging on Tru64 UNIX
or IRIX, I've recently discovered a limitation in the osf.prov and
irix6.prov that are distributed with RPM.  The osf.prov can't handle
shared libraries with an IVERSION field that's more than awk's LINE_MAX
bytes long -- approximately 5K.  I haven't tested yet, but I'm guessing that
the irix6.prov has the same issue.

I contributed both of those, so I feel a certain responsibility
regarding those scripts (and the others I've contributed).

The problem turns up when

- you build a package that has shared libraries that are created via
  libtool.

- the shared libraries have an ABI that hasn't changed in a significant
  time.

One example of this is atk-1.9.0, which is part of the gtk+ prereqs.
Because the atk interface hasn't changed since version 1.0, it calls
libtool with a command line that includes

-version-info 900:0:900

which results in libtool creating a shared library that has an internal
version field (IVERSION or DT_IVERSION, depending on platform) that is
more than 5K in length.  That overflows LINE_MAX within awk, which was
used by the osf.prov and irix6.prov scripts.

I've updated the osf.prov to not use awk at all -- instead it calls
odump twice and uses sed and a shell loop to process the SONAME and
IVERSION fields.  It's less sexy, and a bit slower to boot, but it allows
osf.prov to correctly handle shared libraries with an IVERSION that's much
longer than the previous version could handle.  There's still a
limitation, it's just much larger.

If anyone needs this or the updated irix6.prov, please let me know.  I'll
submit it and irix6.prov for inclusion in some future version of RPM after
I've done more testing with it.

Tim
--
Tim Mooney                              mooney@dogbert.cc.ndsu.NoDak.edu
Information Technology Services         (701) 231-1076 (Voice)
Room 242-J6, IACC Building              (701) 231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]