[lsb-discuss] Linux Application Checker: FHS violation and RPMTAG_PROVIDENAME count mismatch

Mats Wichmann mats at wichmann.us
Sat Jan 25 00:04:31 UTC 2014


On 01/22/2014 09:04 AM, Andrey Makhalkin wrote:
> Dear LSB developers,
> 
> I am working on LSB printer driver package for Samsung SPL/SPLC printers.
> 
> I have managed to build RPM package, and CUPS filter executables passes LSB3.2 
> conformance check successfully.
> But when I check the whole binary RPM, there are following LSB violation errors:
> 
> 1) FHS conformance errors:
> 
> 
>     FHS check failed
> 
> File placement is not compliant to File Hierarchy Standard.
> 
> 	Component 	Type 	File 	Comments
> [+] 	/home/makhalkin/rpm/RPMS/x86_64/samsung-spl-1.0.0-1lsb3.2.x86_64.rpm 
> *Failed* 	opt/Samsung-rastertospl 	No information
> Messages from the test:
> checkRpmArchiveFilename: file opt/Samsung-rastertospl not FHS compliant
> [+] 	/home/makhalkin/rpm/RPMS/x86_64/samsung-spl-1.0.0-1lsb3.2.x86_64.rpm 
> *Failed* 	opt/Samsung-rastertospl/cups 	No information
> Messages from the test:
> checkRpmArchiveFilename: file opt/Samsung-rastertospl/cups not FHS compliant
> [+] 	/home/makhalkin/rpm/RPMS/x86_64/samsung-spl-1.0.0-1lsb3.2.x86_64.rpm 
> *Failed* 	opt/Samsung-rastertospl/cups/lib 	No information
> Messages from the test:
> checkRpmArchiveFilename: file opt/Samsung-rastertospl/cups/lib not FHS compliant
> [+] 	/home/makhalkin/rpm/RPMS/x86_64/samsung-spl-1.0.0-1lsb3.2.x86_64.rpm 
> *Failed* 	opt/Samsung-rastertospl/cups/lib/filter 	No information
> Messages from the test:
> checkRpmArchiveFilename: file opt/Samsung-rastertospl/cups/lib/filter not FHS 
> compliant
> [+] 	/home/makhalkin/rpm/RPMS/x86_64/samsung-spl-1.0.0-1lsb3.2.x86_64.rpm 
> *Failed* 	opt/Samsung-rastertospl/cups/lib/filter/pstosecps 	No information
> Messages from the test:
> checkRpmArchiveFilename: file opt/Samsung-rastertospl/cups/lib/filter/pstosecps 
> not FHS compliant
> [+] 	/home/makhalkin/rpm/RPMS/x86_64/samsung-spl-1.0.0-1lsb3.2.x86_64.rpm 
> *Failed* 	opt/Samsung-rastertospl/cups/lib/filter/rastertospl 	No information
> Messages from the test:
> checkRpmArchiveFilename: file 
> opt/Samsung-rastertospl/cups/lib/filter/rastertospl not FHS compliant
> 
> and so on...
> 
> Placing file in /opt/DriverPackage is OpenPrinting requirement for driver packages

Providing the -L {name} argument to lsbpkgchk quiets the warning about
FHS.  That means you're installing to /opt/{name} and you're saying it's
valid - lsbpkgchk can't actually check that itself as it doesn't have
the LANANA list available to it, so it always ends up being required for
the "final check".  You may need to eventually consider registering the
name - hopefully someone else will respond about the LANANA registry,
which has been going through some transitions as well.

> 2) RPM tags error and warning:
> 
> 
>     RPM tags check failed
> 
> Some RPM tags differ from what LSB declares.
> 
> 
>     RPM tags check failed
> 
> Some RPM tags differ from what LSB declares.
> 	Component 	Type 	Element 	Comments
> [+] 	/home/makhalkin/rpm/RPMS/x86_64/samsung-spl-1.0.0-1lsb3.2.x86_64.rpm 
> *Warning* 		No information
> Messages from the test:
> checkRpmIdx() unexpected Index tag=1146 type=7 offset=454c count=10
> [+] 	/home/makhalkin/rpm/RPMS/x86_64/samsung-spl-1.0.0-1lsb3.2.x86_64.rpm 
> *Failed* 	RPMTAG_PROVIDENAME 	No information
> Messages from the test:
> Count for Index RPMTAG_PROVIDENAME does not match. Found 2 but expecting 1
> 
> RPM Provides are:
> 
>  1. samsung-spl
>  2. samsung-spl(x86-64)
> 
> Could you please suggest any idea on how to fix such issues?

that could be a bug, we'll need to look into it, failing if there's more
than one provide sounds odd.  the foo(arch) syntax is not something LSB
has really dealt with, the package part of the specification has not
received updates for many many years and is probably a bit out of date
with what modern package constructors (that is, rpmbuild) are producing.

-- mats


More information about the lsb-discuss mailing list