New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Debian builds are failing after OBS upgrade in build.opensuse.org #944

Closed
polesapart opened this Issue Jun 15, 2015 · 15 comments

Comments

Projects
None yet
8 participants
@polesapart
Copy link

polesapart commented Jun 15, 2015

Debian packages are "silently" failing from a few days now. An example log shows that packages were generated, but obs reports them as failed:
[ 1473s] dpkg-deb: building package mingw64-x86-cross-gcc-pthreads' in../mingw64-x86-cross-gcc-pthreads_5.1.0-1_amd64.deb'.
[ 1473s] dpkg-deb: building package mingw64-x64-cross-gcc-pthreads' in../mingw64-x64-cross-gcc-pthreads_5.1.0-1_amd64.deb'.
[ 1665s] dpkg-genchanges >../mingw64-x-cross-gcc-pthreads_5.1.0-1_amd64.changes
[ 1666s] dpkg-genchanges: including full source code in upload
[ 1674s] dpkg-source --after-build BUILD
[ 1674s] dpkg-buildpackage: full upload (original source is included)
[ 1674s] Running lintian
[ 1674s] + lintian -i /usr/src/packages/SOURCES/mingw64-x-cross-gcc-pthreads_5.1.0-1.dsc

... followed by usual (should be non-fatal) lintian warnings and:
[ 1853s] ### WATCHDOG MARKER START ###
[ 1856s] [ 1834.518312] reboot: Power down
[ 1858s] ### WATCHDOG MARKER END ###

I.e. there's nothing in logs suggesting a failure. If that's somehow lintian related, there should be both better obs wording in the log stating that lintian had weight in the decision to fail the build and a way to override lintian. But I suspect this is not exactly lintian based but a minor glitch in obs build scripts or something. It seems like obs was updated a few days ago, I first noted this behavior last friday or saturday, IIRC.

@adrianschroeter

This comment has been minimized.

Copy link
Member

adrianschroeter commented Jun 15, 2015

This was a change on purpose by @jblunck , lintian failed most likely before, but the build script ignored it.

@polesapart

This comment has been minimized.

Copy link

polesapart commented Jun 15, 2015

I strongly advocate that this should be overridable by a tag, at the very least; Not every lintian issue is relevant nor worth correcting: I'm not building official debian packages, I believe most people aren't. But most importantly, the fatal cases should be verbose. A simple "lintian reported failure, this is now fatal" or something suffices. Also, (only) when lintian is set in this fatal mode, IMHO it's way better to first attempt a source-only (--source) lintian before the actual build, as this would catch most cases before wasting build resources.

@jblunck

This comment has been minimized.

Copy link
Contributor

jblunck commented Jun 15, 2015

I did align the Debian build recipe to treat lint errors conforming to the RPM recipe. That said the '--no-check' parameter to build disables the lint run. Additionally to that you can always ignore the lintian dependency in the project configuration.

Lintian itself allows you to override the standard profile in various ways:

  • lintian-overrides
  • Lintian vendor profile

See the Lintian Users's Manual for more information: https://lintian.debian.org/manual/index.html

@adrianschroeter

This comment has been minimized.

Copy link
Member

adrianschroeter commented Jun 15, 2015

The lintian source-only check could be implemented via a OBS source service. It can be even checked before starting a build or before commiting files

@polesapart

This comment has been minimized.

Copy link

polesapart commented Jun 15, 2015

I have many packages, and changing them all seems unfeasible. But where you say:
"Additionally to that you can always ignore the lintian dependency in the project configuration."
I don't think this is adequately documented anywhere. Where can I find an example? prjconf documentation is vague and it's suggested "read openSUSE:Factory prjconf for an example of possibilities" doesn't have one regarding this issue.

@pstavirs

This comment has been minimized.

Copy link

pstavirs commented Jun 16, 2015

How do I pass '--no-check' to build to skip lintian? I tried passing it as a parameter to dh_builddeb inside debian.rules but its reported as an 'unknown option', so obviously that is not the place. What should I modify in which file?

Sorry, I'm not really a debian packager - I'm a upstream developer of a OSS that uses OBS to package our releases.

Any help is appreciated. Thanks in advance.

@adrianschroeter

This comment has been minimized.

Copy link
Member

adrianschroeter commented Jun 16, 2015

You can add the following line to your project config (osc meta prjconf -e) to skip the installation of linitian:

Support: !lintian

@polesapart

This comment has been minimized.

Copy link

polesapart commented Jun 16, 2015

At least in debian targets, it didn't work:
$ osc meta prjconf
Support: !lintian
... but build still fails. 
$ osc buildconfig Debian_7.0 | grep lintian -B 3
# build script needs fakeroot
Support: fakeroot
# lintian support would be nice..
Support: lintian
--
### from home:polesapart:win64
%define _repository Debian_7.0
Support: !lintian
It seems that the second directive doesn't override the first (the first seems 
to come from Debian_7.0 config). Or something like that.

Ubuntu targets are building, but I'm not sure the Support: !lintian had anything to do with it.

@mape2k

This comment has been minimized.

Copy link

mape2k commented Jul 25, 2015

"Support: !lintian" works for me building Debian 7/8-packages... see log of
https://build.opensuse.org/package/live_build_log/home:mape2k:freifunk/ecdsautils/Debian_7.0/i586

@mhogomchungu

This comment has been minimized.

Copy link

mhogomchungu commented Jul 25, 2015

How does one set this "lintian" thing from the web UI?

debian builds are failing in my project too: https://build.opensuse.org/package/show/home:mhogomchungu/zuluCrypt

@mape2k

This comment has been minimized.

Copy link

mape2k commented Jul 26, 2015

@mhogomchungu: Go to https://build.opensuse.org/project/show/home:mhogomchungu - then "Advanced" to open advanced menu. Use "Project Config" there and add "Support: !lintian" to the project configuration.

@mhogomchungu

This comment has been minimized.

Copy link

mhogomchungu commented Jul 26, 2015

thanks @mape2k ,
the "trick" works and i can now build debian packages.

@jblunck

This comment has been minimized.

Copy link
Contributor

jblunck commented Jul 27, 2015

@mhogomchungu You should eventually look at the lintian output and fix the errors (and the warnings too).

@adrianschroeter

This comment has been minimized.

Copy link
Member

adrianschroeter commented Jul 31, 2015

I assume the current situation is what we want and close this...

@jnweiger

This comment has been minimized.

Copy link
Member

jnweiger commented Aug 7, 2015

I am getting too many errors from lintian recently.
Is there a way to keep them as warnings, instead of disabling everything. (nobody would repair anything later, if there is no reminder)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment