Skip to content
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

Tests failing under debian8 #433

Closed
c33s opened this issue Mar 20, 2018 · 14 comments
Closed

Tests failing under debian8 #433

c33s opened this issue Mar 20, 2018 · 14 comments
Labels
backwards-incompatible bug Something isn't working needs-feedback Further information is requested needs-help Extra attention is needed

Comments

@c33s
Copy link
Member

c33s commented Mar 20, 2018

in multiple PR the tests fail with debian8

Error: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install php5-cli' returned 100: Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
php5-cli : Depends: libdb5.1 but it is not installable
          Recommends: php5-readline but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Error: /Stage[main]/Php::Packages/Package[php5-cli]/ensure: change from purged to present failed: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install php5-cli' returned 100: Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
php5-cli : Depends: libdb5.1 but it is not installable
          Recommends: php5-readline but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

broken tests output:

Notice: /Stage[main]/Php::Repo::Debian/Apt::Key[php::repo::debian]/Apt_key[php::repo::debian]/ensure: created
Notice: /Stage[main]/Php::Repo::Debian/Apt::Source[source_php_wheezy-php56]/Apt::Setting[list-source_php_wheezy-php56]/File[/etc/apt/sources.list.d/source_php_wheezy-php56.list]/ensure: defined content as '{md5}5a480294344d27cef9c39f8a50be08ea'
Info: /Stage[main]/Php::Repo::Debian/Apt::Source[source_php_wheezy-php56]/Apt::Setting[list-source_php_wheezy-php56]/File[/etc/apt/sources.list.d/source_php_wheezy-php56.list]: Scheduling refresh of Class[Apt::Update]
Notice: /Stage[main]/Php::Repo::Debian/Apt::Source[dotdeb-wheezy]/Apt::Setting[list-dotdeb-wheezy]/File[/etc/apt/sources.list.d/dotdeb-wheezy.list]/ensure: defined content as '{md5}f117d407b06bee024f38f77dd7884d71'
Info: /Stage[main]/Php::Repo::Debian/Apt::Source[dotdeb-wheezy]/Apt::Setting[list-dotdeb-wheezy]/File[/etc/apt/sources.list.d/dotdeb-wheezy.list]: Scheduling refresh of Class[Apt::Update]
Info: Class[Apt::Update]: Scheduling refresh of Exec[apt_update]
Notice: /Stage[main]/Apt::Update/Exec[apt_update]: Triggered 'refresh' from 1 events
Notice: /Stage[main]/Php::Packages/Package[php5-cli]/ensure: created

broken sources output:

Notice: /Stage[main]/Php::Repo::Debian/Apt::Key[php::repo::debian]/Apt_key[php::repo::debian]/ensure: created
Notice: /Stage[main]/Php::Repo::Debian/Apt::Source[dotdeb-wheezy]/Package[apt-transport-https]/ensure: created
Notice: /Stage[main]/Php::Repo::Debian/Apt::Source[source_php_wheezy-php56]/Apt::Setting[list-source_php_wheezy-php56]/File[/etc/apt/sources.list.d/source_php_wheezy-php56.list]/ensure: defined content as '{md5}388f39972254556224b8aeb890c1e672'
Info: /Stage[main]/Php::Repo::Debian/Apt::Source[source_php_wheezy-php56]/Apt::Setting[list-source_php_wheezy-php56]/File[/etc/apt/sources.list.d/source_php_wheezy-php56.list]: Scheduling refresh of Class[Apt::Update]
Notice: /Stage[main]/Php::Repo::Debian/Apt::Source[dotdeb-wheezy]/Apt::Setting[list-dotdeb-wheezy]/File[/etc/apt/sources.list.d/dotdeb-wheezy.list]/ensure: defined content as '{md5}f097cbe4a1ea1fe281b93efd805303b3'
Info: /Stage[main]/Php::Repo::Debian/Apt::Source[dotdeb-wheezy]/Apt::Setting[list-dotdeb-wheezy]/File[/etc/apt/sources.list.d/dotdeb-wheezy.list]: Scheduling refresh of Class[Apt::Update]
Info: Class[Apt::Update]: Scheduling refresh of Exec[apt_update]
Notice: /Stage[main]/Apt::Update/Exec[apt_update]: Triggered 'refresh' from 1 events
Error: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install php5-cli' returned 100: Reading package lists...

it could be a problem of the order of the source lists and that wheezy release is forced.

@c33s
Copy link
Member Author

c33s commented Mar 20, 2018

it is unclear for me, why the order of the source lists change and why it works before on jessie.

if i use logic values for the repos and use the jessie dotdeb repo for jessie (and not wheezy) it works
https://travis-ci.org/voxpupuli/puppet-php/builds/355666460?utm_source=github_status&utm_medium=notification

what we need is

  • refactoring the repo management for debian (use sury for all supported debian versions and dotdeb or the debian repos)
  • adding debian7, debian8 and debian9 to the build matrix with php 5.6, 7.0, 7.1
  • add tests for more php versions 5.6, 7.0, 7.1
  • rebase the open PR

then the tests should work

or the more risky way would be to merge the PR which only have the debian test broken and refactor the repo management later but before a new release

@c33s
Copy link
Member Author

c33s commented Mar 20, 2018

maybe we have to create a new major version for this because of a BC break

@c33s c33s added bug Something isn't working needs-help Extra attention is needed backwards-incompatible needs-feedback Further information is requested labels Mar 20, 2018
@bastelfreak
Copy link
Member

We shouldn't aim for a breaking change in each release. Sometimes they are needed. That is totally fine if the related issue/PR has a proper title and explains whay/why something changes. This will be automatically parsed and added to the top of the CHANGELOG.md.

@c33s
Copy link
Member Author

c33s commented Apr 8, 2018

php version & repo matrix

- debian 7 debian 8 debian 9
name wheezy jessie stretch
lts May 2018 April/May 2020 June 2022
ships 5.4 (php5) 5.6 (php5) 7.0 (php)
dotdeb 5.5, 5.6 5.6, 7.0 -
sury - 5.6, 7.0, 7.1, 7.2 5.6, 7.0, 7.1, 7.2

@c33s
Copy link
Member Author

c33s commented Apr 8, 2018

i am thinking about dropping wheezy and integrated dotdeb support and set sury as default repo and only use the native php if the requested version matches.

@jkroepke
Copy link
Contributor

jkroepke commented Apr 8, 2018

Looks valid.

I ll do it. #430

@SimonHoenscheid
Copy link
Sponsor Member

Why is debian 8 referenced in acceptence/php_spec and acceptence/php56_spec. Because 5.6 is the default, it is already covered in acceptence/php_spec. acceptence/php56_spec is the breaking one. removing it will fix the builds.

@c33s
Copy link
Member Author

c33s commented May 4, 2018

@SimonHoenscheid we should still investigate the problem because the tests worked before. we should know which change made them break. as far as i know only PR with green tests where merged, so why are the test breaking now? also why the wrong lib libdb5.1 required.
have a bad feeling about just removing the test without knowing whats the problem

@SimonHoenscheid
Copy link
Sponsor Member

The other question I am asking myself: what is the php56 test covering for debian 8 which is not covered by the php test?

@SimonHoenscheid
Copy link
Sponsor Member

SimonHoenscheid commented May 4, 2018

@c33s It seams to me the docker container is the wrong one. The travis job identifies the container as debian 8, but the dotdeb repo connected is a wheezy one. (debian 7) This can not work with the dependencies.

Info: /Stage[main]/Php::Repo::Debian/Apt::Source[dotdeb-wheezy]/Apt::Setting[list-dotdeb-wheezy]/File[/etc/apt/sources.list.d/dotdeb-wheezy.list]: Scheduling refresh of Class[Apt::Update]

php5-cli : Depends: libdb5.1 but it is not installable

@jkroepke
Copy link
Contributor

jkroepke commented May 4, 2018

Thats correct. Instead using the facts, whezzy is hardcoded.

There are multiple PRs for this issue, but the maintainer want to refactor the logic instead using a simple solution.

@c33s
Copy link
Member Author

c33s commented May 4, 2018

@SimonHoenscheid but why it has worked before? so it worked before and suddenly breaks? yes the wheezy part is hardcoded for dotdeb wasn't this always the case?

@SimonHoenscheid
Copy link
Sponsor Member

SimonHoenscheid commented May 4, 2018

The change which broke builds was part of commit c0cb2d0 on Febuary 17. I would guess it was just a mistake. And looking at the acceptence file for 56 the test was never meant to run on a debian box

The other acceptence test file has at least a reference to debian 7
when %(7)

@SimonHoenscheid
Copy link
Sponsor Member

@c33s please close bug was fixed in #439

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backwards-incompatible bug Something isn't working needs-feedback Further information is requested needs-help Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants