Page MenuHomePhabricator

debian-glue fails with: jessie no longer support backports
Closed, ResolvedPublic

Description

Build of apertium-apy (Patch: https://gerrit.wikimedia.org/r/#/c/operations/debs/contenttranslation/apertium-apy/+/554849/) ended up with error:

18:32:32 ERROR: jessie no longer support backports. packages should ideally be rebuilt with
18:32:32 ERROR: internally built components. If this isn't possible for some reason, the
18:32:32 ERROR: ARCHIVE_BACKPORTS hook can be used to pull in the backports repository from
18:32:32 ERROR: archive.debian.org

Full log: https://integration.wikimedia.org/ci/job/debian-glue-backports/11/console

Event Timeline

hashar added a subscriber: akosiaris.

I have edited the task, the error about libeatmydata.so is unrelated.

The repository operations/debs/contenttranslation/apertium-apy has a debian/changelog pointing to the distribution jessie-wikimedia. CI thus build using the jessie distribution and setting WIKIMEDIA=yes which adds our custom packages.

The Jenkins job is debian-glue-backports, which mean that CI also inject the parameter BACKPORTS=yes. From the CI config:

        if 'backports' in job.name:  # T173999
            params['BACKPORTS'] = 'yes'
``

backports for Jessie have been removed entirely and are no more published by Debian.  I guess we should switch to the non backport CI job, and if any packages are missing have them uploaded to `jessie-wikimedia`, but that might have side effects :-\

We use backports since June 2018 change 7561d9d8e983e8e2407228286bb68f855961c339 / T196037

Use backports for apertium-apy

apertium-apy requires python3-tornado from the backports repository.
jessie-backports lack some packages such as python3-streamparser, hence
we need to target 'jessie-wikimedia' and enable backports in the CI job.

Switch repository to debian-glue-backports.

Bug: T196037
Change-Id: I4eee9b643c70abefe0c0545df92f3d801637c766

Or maybe Apertium is no more using Jessie and we can switch to Stretch? We might also want to drop the usage of backports entirely since they disappear before the distribution is end of life.

@hashar We are still on Jessie for Apertium :/

Cool! Then given jessie-backports is gone I am just going to switch CI to use the regular (non backport) job. If there are any packages missing, we would need to add them to jessie-wikimedia or find another trick ;)

Change 555917 had a related patch set uploaded (by Hashar; owner: Hashar):
[integration/config@master] apertium-apy drop backports

https://gerrit.wikimedia.org/r/555917

Running it locally with DIST=jessie-wikimedia gbp buildpackage:

The following packages have unmet dependencies:
 python3-tornado : Depends: python3-backports-abc which is a virtual package.
hashar renamed this task from Build: ERROR: ld.so: object 'libeatmydata.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. to debian-glue fails with: jessie no longer support backports.Dec 11 2019, 8:32 AM
hashar triaged this task as Medium priority.

Change 555917 merged by jenkins-bot:
[integration/config@master] apertium-apy drop backports

https://gerrit.wikimedia.org/r/555917

In CI I have replaced the backports job since there is no more any backports component for Jessie.

The build fails when running setup.py clean which tries to import from tornado.locks. The python module is not available on the build hosts and I don't think it should? But @akosiaris would surely know more than me about dependencies for the clean step.

I: pybuild base:170: python3.4 setup.py clean 
Traceback (most recent call last):
  File "setup.py", line 6, in <module>
    from apertium_apy import apy
  File "/build/apertium-apy-0.11.5/apertium_apy/apy.py", line 29, in <module>
    from tornado.locks import Semaphore
ImportError: No module named 'tornado.locks'

Or maybe CI should build the packages without the clean step? (by passing -nc). We have a fresh working directory on each build anyway but I am not sure what the clean step is for when packaging.

Filed T240423: debian-glue does not need to run step "debian/rules clean"

The CI jobs no more run debian/rules clean.

I guess https://gerrit.wikimedia.org/r/555917 and

The CI jobs no more run debian/rules clean.

have resolved this?

hashar claimed this task.

Marking this CI task resolved, the issue is Apertium relies on jessie-backports that has been phased out a year or so ago. Apertium should be updated which is T236080