Mailinglist Archive: opensuse-buildservice (63 mails)

< Previous Next >
Re: [opensuse-buildservice] Should OBS always unconditionally use lint?
On Mittwoch, 30. Mai 2018, 10:45:38 CEST wrote Nicholas Brown:
Hi All,

In OBS at:
https://github.com/openSUSE/open-build-service/blob/master/src/backend/bs_worker#L3024
the '--lint' option is unconditionally always passed to the 'build' command:

push @args, '--lint';

And in the build command at:
https://github.com/openSUSE/obs-build/blob/master/build#L1214
this results in 'rpmlint-Factory' being unconditionally added to
$ADDITIONAL_PACKS

test -z "$DO_LINT" || ADDITIONAL_PACKS="$ADDITIONAL_PACKS rpmlint-Factory"

This will be case even for non rpm builds, such as Debian .dsc builds, and
for target rpm distribution repositories that might have or support this
additional package such Fedora. This seems clearly wrong.

right, the build script part adding this package has only an effect in
standalone mode, outside of osc/obs.

The decision if the validation runs happens pure on the existins
of the executable or not. The same is true for debian, but there
it is lintian instead of rpmlint.

The --lint option is just an old left over for compability...
but we should indeed drop it from the worker and osc code.

But we can't from build script code because we need to stay compatible
basically forever ....

This will result in an invocation like:

/bin/bash /usr/lib/build/init_buildsystem --configdir
/usr/lib/build/configs --cachedir /var/cache/build --rpmlist
/var/tmp/osc-buildpackage/rpmlist.nRE0pS
/var/tmp/osc-buildpackage/my_package_1.2.3.dsc rpmlint-Factory

(init_build appears to ignore the rpmlint-Factory argument, thought I'm not
sure specifically why as I'm don't understand how init_build and expanddeps
work, but it's clearly wrong to pass rpmlint-Factory to .dsc build
targeting a Debian distribution repository)

Should the above $DO_LINT test also test $BUILDTPYE to make sure it's a
.spec build? (And thus not add the additional package for .dsc builds)

Going even further should the '--lint' option perhaps be removed from the
build command, and OBS not set this? It seems that simply using 'Support:
rpmlint-Factory' in the prjconf for those projects that want and can use
this would be the appropriate way to control this.

(It appears the actual invocation of 'rpmlint' for .spec builds is
controlled by '$DO_CHECKS' and passing '--nochecks')

Thanks,
Nick



--

Adrian Schroeter
email: adrian@xxxxxxx

SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284
(AG Nürnberg)

Maxfeldstraße 5
90409 Nürnberg
Germany




--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-buildservice+owner@xxxxxxxxxxxx

< Previous Next >
References