Thursday, 21 October 2021

Re: PHP 8.1 transition plan

On Thu, Oct 21, 2021 at 12:03:58PM -0700, Steve Langasek wrote:
> Thanks, Bryce.
>
> On Thu, Oct 21, 2021 at 11:28:10AM -0700, Bryce Harrington wrote:
> > Hi devs,
>
> > I've started on the php 8.1 transition, details are here:
>
> > https://wiki.ubuntu.com/ServerTeam/Transition/Php8.1
> > https://people.canonical.com/~ubuntu-archive/transitions/html/html/php8.1.html
>
> > I anticipate this PHP update will be straightforward; the challenge will
> > be getting it completed prior to the OpenSSL 3.0 transition starting, as
> > the two certainly have potential for intertwining. The OpenSSL
> > transition starts the week of Nov 4th, so that gives 2 weeks, which is a
> > bit tight for transitioning php but potentially doable if no major
> > troubles crop up.
>
> The entanglement is expected to be minimal. If the transitions overlap, php
> does not have to be rebuilt against openssl 3 right away, and not doing so
> will not block migration of openssl 3 to the release pocket (because
> migrating it will not remove, or cause uninstallability of, the libssl1.1
> binary packages); and if php8.1 does end up built against openssl 3 (e.g.
> because php8.1 has to be reuploaded to fix a bug), we will hopefully not see
> openssl 3 blocking it in -proposed for too long (the longest delay with
> openssl 3 is likely to be resolving autopkgtest regressions in the
> reverse-dependencies, which may involve tracking down and ignoring test
> failures from packages that aren't yet ported to openssl 3).

Ah, that assessment is good to hear.

One other note is that our current php8.0 does not support OpenSSL 3.0,
but php8.1 does. However, there's a workaround patch for php8.0 if
needed.

> > The php8.1 language runtime itself has been uploaded to -proposed for
> > universe; it won't migrate to release until the full transition is
> > complete. php8.0 will remain in the archive until that point.
>
> I actually can't see any reason that it would block in -proposed for the
> transition as a whole, can you clarify?

Sorry, what I should have said is it won't move to *main* until the
transition is complete.

What's keeping it in -proposed presently is a build issue for armhf due
to a couple unsupported assembly calls (details in wiki).

> > I've updated php-defaults in -proposed to set 8.1 as the default. This
> > allows no-change rebuilds of various php components to build against
> > that version. This rebuilding of the PHP ecosystem is what consumes
> > most of the time for this transition, and of course help's always
> > welcome.
>
> php-defaults of course will block for a while :)
>
> Cheers,
> --
> Steve Langasek Give me a lever long enough and a Free OS
> Debian Developer to set it on, and I can move the world.
> Ubuntu Developer https://www.debian.org/
> slangasek@ubuntu.com vorlon@debian.org

> -----BEGIN PGP SIGNATURE-----
>
> iQIzBAABCgAdFiEErEg/aN5yj0PyIC/KVo0w8yGyEz0FAmFxuZgACgkQVo0w8yGy
> Ez24IhAAhPc3rL5g316gStN67DrbPnkfuhRvBpdcsZzIoVkVvWv7EWL6PtSGBTUa
> tVAaaR1QU23L8H7vSOCayhdWumRSZuZhiNXGj+wm1KDv9HC1VyrocW0VJoSC/Nm/
> d2FWa9PFgNCaqju5TMmA0O7hOYH/uL0WWG6s6TTVf//upRp5Le0t2zha0kny6nuw
> xwq52gV9eEbzLS8nWjHRsefK2vmuFh4kcKQvU3TjIci6UCRPBKOApl1Ir81lsm7u
> mpzRVSjFcJgrn4vE7g8ELbMIPLCgx1bUduGbzjLQPMnolw9rKw1RhxxFx9rCX6l+
> BC1hHy3oKaYvbRSOsZxR96B4FnC7VgHtC2MZCitRLLdcstlfwH1ftHJ/fZQbq2kp
> W2I9x4MshBCv56fRs6jf2yDkHNqdoYrROmHYl8D5/N6O+gTvH+wu4PxWjvMCf2q5
> XjcyjMLzPMCC0NDErZZ/5CfRw/WT3blPVlYOXQIUaKNBRG60P0DahvkI4TQfYEiS
> ZU1xt53uvQZZVycO0gazFx6Jj44PDdU1NznDrycfWJq4D+BIf7U5FnV3M91/WCc+
> d/KgtgzbulZHnp8oWUsq/CgHVN3bIC11/EvDxP0RFm4JF5HsQHVrsrt6hoT8w3ks
> xkdK3XUfQS/QniL+djPetZr2eYswvzTcxoi/v2XutsxG3HnhUUE=
> =qzOl
> -----END PGP SIGNATURE-----


> --
> ubuntu-devel mailing list
> ubuntu-devel@lists.ubuntu.com
> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel


--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel

Re: PHP 8.1 transition plan

Thanks, Bryce.

On Thu, Oct 21, 2021 at 11:28:10AM -0700, Bryce Harrington wrote:
> Hi devs,

> I've started on the php 8.1 transition, details are here:

> https://wiki.ubuntu.com/ServerTeam/Transition/Php8.1
> https://people.canonical.com/~ubuntu-archive/transitions/html/html/php8.1.html

> I anticipate this PHP update will be straightforward; the challenge will
> be getting it completed prior to the OpenSSL 3.0 transition starting, as
> the two certainly have potential for intertwining. The OpenSSL
> transition starts the week of Nov 4th, so that gives 2 weeks, which is a
> bit tight for transitioning php but potentially doable if no major
> troubles crop up.

The entanglement is expected to be minimal. If the transitions overlap, php
does not have to be rebuilt against openssl 3 right away, and not doing so
will not block migration of openssl 3 to the release pocket (because
migrating it will not remove, or cause uninstallability of, the libssl1.1
binary packages); and if php8.1 does end up built against openssl 3 (e.g.
because php8.1 has to be reuploaded to fix a bug), we will hopefully not see
openssl 3 blocking it in -proposed for too long (the longest delay with
openssl 3 is likely to be resolving autopkgtest regressions in the
reverse-dependencies, which may involve tracking down and ignoring test
failures from packages that aren't yet ported to openssl 3).

> The php8.1 language runtime itself has been uploaded to -proposed for
> universe; it won't migrate to release until the full transition is
> complete. php8.0 will remain in the archive until that point.

I actually can't see any reason that it would block in -proposed for the
transition as a whole, can you clarify? (php8.0 doesn't built any
unversioned packages which are superseded by php8.1, which would introduce
installability problems; the only unversioned dependency of php8.0 and
php8.1 binary packages is on php-common from php-defaults, which is
compatible between the two releases and has no further dependencies on
unversioned php packages.)

> I've updated php-defaults in -proposed to set 8.1 as the default. This
> allows no-change rebuilds of various php components to build against
> that version. This rebuilding of the PHP ecosystem is what consumes
> most of the time for this transition, and of course help's always
> welcome.

php-defaults of course will block for a while :)

Cheers,
--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer https://www.debian.org/
slangasek@ubuntu.com vorlon@debian.org

PHP 8.1 transition plan

Hi devs,

I've started on the php 8.1 transition, details are here:

https://wiki.ubuntu.com/ServerTeam/Transition/Php8.1
https://people.canonical.com/~ubuntu-archive/transitions/html/html/php8.1.html

I anticipate this PHP update will be straightforward; the challenge will
be getting it completed prior to the OpenSSL 3.0 transition starting, as
the two certainly have potential for intertwining. The OpenSSL
transition starts the week of Nov 4th, so that gives 2 weeks, which is a
bit tight for transitioning php but potentially doable if no major
troubles crop up.

The php8.1 language runtime itself has been uploaded to -proposed for
universe; it won't migrate to release until the full transition is
complete. php8.0 will remain in the archive until that point.

I've updated php-defaults in -proposed to set 8.1 as the default. This
allows no-change rebuilds of various php components to build against
that version. This rebuilding of the PHP ecosystem is what consumes
most of the time for this transition, and of course help's always
welcome.

Bryce

--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel

Friday, 15 October 2021

+1 maintenance report

For release week, with stuff mostly in freeze I opted to focus time on a
few of the older update-excuse issues to help move them forward. This
was a rather short +1 week for me anyway due to holidays, meetings, and
other competing end-of-release priorities. I'll be doing migration work
the next few weeks anyway for the php 8.1 transition, so can followup
then.


------------------------------------------------------------------------
[LP: #1937256] paperwork: autopkgtest armhf regression: Libinsane

Registered upstream project, and added link to the upstream bug that
Graham identified. Upstream has reproduced and is actively working on
it. Meanwhile, Debian has implemented a workaround in their 2.0.3-2
release.

I did a syncpackage on it, but it was too late for inclusion in impish.
However, it got accepted to jammy-proposed, and I believe it should pass
on its own. Once it does, this bug can be closed.


------------------------------------------------------------------------
[LP: #1915312] dub: autopkgtest regression and gcc-11 FTBFS

Verified the suggested patch builds locally. Packaged it in a PPA.
Once freeze lifts, this can be retargeted to JJ and uploaded.


------------------------------------------------------------------------
[LP: #1918287] node-pbkdf2: autopkgtest fails in hirsute on s390x for 3.1.1-1

Registered upstream project, and added link to the upstream bug that
Balint filed. No activity by upstream so far.

I retriggered the test on the off chance it works now, as the last test
run was against hirsute.


------------------------------------------------------------------------
[LP: #1937173, #1932313] breezy: FTBFS breezy 3.2.1-1

breezy has been failing its upstream testsuite for quite a while,
and it has been blocking several other packages from migrating, like
breezy-debian and lintian-brush.

A number of us +1'ers have been chipping away at this, narrowing the
problem to some changes in import behavior with python 3.9.5; I devoted
the remainder of my week chasing down solutions to the rest of the test
failures. There's still one error I don't quite understand, that has to
do with overridden import logic, which I suspect is a weird enough
corner case that we can just skip until upstream has a chance to sort it
out properly.

I'm going to hold off on uploading the fixed breezy until the archive
opens up more fully, so I can test against jammy's python version.

Bryce

--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel

+1 maintenance report

Here's my report for the week of October 11-15.
This is Impish release week, therefore I was a bit distracted by last-minute things here and there. And also helped a bit with ISO testing.
Other than that I've been mostly focused on fixing FTBFS issues, as collected and reported by ginggs [0]. Some in main, filing 0-day SRUs accordingly, some in universe that already carried an Ubuntu delta, for the others I decided to wait for the big Debian sync, that should probably resolve a few.

### devtools ###

devtools / 2.21.4ubuntu1 (any)

Probably an intermittent failure. Build passed for me locally and in a PPA after
installing the 'po4a' build-dep on the build host. Could not reproduce the build
failure from the report.
https://launchpad.net/~slyon/+archive/ubuntu/testing/+sourcepub/12781749/+listing-archive-extra


### libunity ###

libunity / 7.1.4+19.04.20190319-6 (any)

Fix FTBFS with new valac 0.52, by adopting the signature type to be NULLable.
Got it sponsored into Debian (thanks seb128!), waiting for the sync back to
Ubuntu.

https://pad.lv/1945969


### glm ###

glm / 0.9.9.8+ds-1ubuntu1 (amd64)

Fix FTBFS with GCC-11 (test-core_func_integer), by reducing the upstream
optimization level of the tests. Forwarded upstream and to Debian.
Prepared paperwork for 0-day SRU to impish.

https://pad.lv/1946750
https://github.com/g-truc/glm/pull/1087
https://bugs.debian.org/996241


### util-linux ###

util-linux / 2.36.1-8ubuntu2

Sponsoring post-release (0-day) SRU for alexghiti, to fix display of RISC-V
Unleashed/Unmatched bootloader partitions.

https://pad.lv/1944741


### aplus-fsf ###

aplus-fsf / 4.22.1-10.1ubuntu2 (any)

Fix FTBFS with GCC-11, by avoiding ordered pointer comparisons with integer.
Uploaded into universe & forwarded to Debian.

https://bugs.debian.org/983970


### aufs-tools ###

aufs-tools / 1:4.14+20190211-1ubuntu1 (any)
docker.io / 20.10.7-0ubuntu6 (any)

aufs-tools fails to build from source because linux-libc-dev does not ship the
linux/aufs_type.h header anymore. aufs-tools has been dropped from Debian
testing last year and is only used by docker.io (as a unused test-depend) so we
should probably remove src:aufs-tools from Ubuntu. I dropped that unused
test-dependency from docker.io and filed a removal bug.

https://pad.lv/1947004


### calligra ###

calligra / 1:3.2.1+dfsg-2ubuntu9 (any)

Fix FTBFS with cmake 3.16+ The bug has been fixed in Gentoo and Debian.
Cherry-picking the Debian fix on top of our Ubuntu delta, should be merged
after archive opening.
Testing the new git-ubuntu rich history upload on the way! \o/ Nice work Robie!

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=502c8c6d98afd5a69a0323dfa2ea708c94bbafeb
https://salsa.debian.org/qt-kde-team/extras/calligra/-/commit/93aa606a24952543a48da76772b677d6b4c53a9b


### cdbs ###

cdbs / 0.4.163ubuntu2 (amd64)

Fix FTBFS because of failing auto-udeb test. Ubuntu is building using the
'noudeb' profile by default nowadays. So skip the udeb test.
This is another git-ubuntu "rich history" upload :-)
=> https://git.launchpad.net/ubuntu/+source/cdbs/log/

https://pad.lv/1884836


### checkinstall ###

checkinstall / 1.6.2+git20170426.d24a630-2ubuntu2 (any)

Fix FTBFS: In glibc 2.33, the _STAT_VER and _MKNOD_VER definitions were removed
from public headers. They have no plans to add these back so checkinstall
needs to attempt its own definitions. There is some protection as if they
were wrong and there was a mismatch, we'd get an error at runtime.
Removed in upstream glibc:
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=8ed005daf0ab03e142500324a34087ce179ae78e
Similar to:
https://www.mail-archive.com/openembedded-core@lists.openembedded.org/msg144864.html

Forwarded to Debian:
https://bugs.debian.org/996478


### gsmlib ###

gsmlib / 1.10+20120414.gita5e5ae9a-0.5 (any)

Sync from Debian, that contains my latest FTBFS fixes and contains new FTBFS
fixes to make it build with GCC-11, by opting to use "-std=c++14" instead of the
new c++17 default (to avoid dynamic exception specifications).


### lasi ###

lasi / 1.1.0-2ubuntu3 (any)

Fix FTFBFS with C++17/GCC-11, by avoiding dynamic exception specification.
GCC 11 defaults to C++17 which does not allow dynamic exception specifications
anymore. Replace "throw(std::runtime_error)" with "noexcept(false)" as described
in https://gcc.gnu.org/gcc-11/porting_to.html

https://bugs.debian.org/984083


### knot ###

knot / 3.0.5-1ubuntu2 (any)

knot fails to build from source with newer autotools, as it returns the string
"none required" instead of an empty string when searching for libraries.
This problem is already fixed upstream and I forwarded the patch to Debian.

https://gitlab.nic.cz/knot/knot-dns/-/commit/70dc4a5c85b65678662854c18a3475371ef4a8eb
https://bugs.debian.org/996558


### libloki ###

libloki / 0.1.7-3ubuntu3 (any)

Again, GCC 11 defaults to C++17 which does not allow dynamic exception specs
anymore. I replaced the throw(...) specifications in the recommended way and
forwarded the change to Debian.

https://bugs.debian.org/984186


### TODO ###

* ~ubuntu-archive to check the aufs-tools removal: https://pad.lv/1947004


Cheers,
  Lukas

[0] https://people.canonical.com/~ginggs/ftbfs-report/test-rebuild-20210927-impish-impish.html

Thursday, 14 October 2021

Ubuntu 21.10 (Impish Indri) released

Ubuntu 21.10, codenamed "Impish Indri", is here. This release continues
Ubuntu's proud tradition of integrating the latest and greatest open
source technologies into a high-quality, easy-to-use Linux distribution.
The team has been hard at work through this cycle, partnering with the
community and our partners, to introduce new features and fix bugs.

Ubuntu Desktop 21.10 makes wayland sessions available while using the
Nvidia proprietary driver. PulseAudio 15 introduces support for Bluetooth
LDAC and AptX codecs, as well as HFP Bluetooth profiles providing better
audio quality. The recovery key feature at installation time has been
improved, with the recovery key now optional, stronger and editable.
Ubuntu Desktop 21.10 includes GNOME version 40, with a new and
improved Activities Overview design. Workspaces are now arranged
horizontally, and the overview and app grid are accessed vertically.
Each direction has accompanying keyboard shortcuts, touchpad gestures
and mouse actions.

Ubuntu Server 21.10 integrates recent innovations from key open
infrastructure projects like OpenStack Xena, QEMU 6.0, PHP8, libvirt 7.6,
Kubernetes, and Ceph with advanced life-cycle management tools for
multi-cloud and on-prem operations from bare metal, VMWare and
OpenStack, to every major public cloud.

The Ubuntu Kernel has been updated to the 5.13 based Linux kernel and
our default toolchain has moved to the gcc 11.2.0 release with glibc 2.34.

The newest Ubuntu Budgie, Kubuntu, Lubuntu, Ubuntu Kylin, Ubuntu MATE,
Ubuntu Studio, and Xubuntu are also being released today. More details
can be found for these at their individual release notes under the
Official Flavours section:

https://discourse.ubuntu.com/t/impish-indri-release-notes/

Maintenance updates will be provided for 9 months for all flavours
releasing with 21.10.

To get Ubuntu 21.10
-------------------

In order to download Ubuntu 21.10, visit:

https://ubuntu.com/download

Users of Ubuntu 21.04 will be offered an automatic upgrade to 21.10.
For further information about upgrading, see:

https://ubuntu.com/download/desktop/upgrade

As always, upgrades to the latest version of Ubuntu are entirely free of
charge.

We recommend that all users read the release notes, which document
caveats, workarounds for known issues, as well as more in-depth notes on
the release itself. They are available at:

https://discourse.ubuntu.com/t/impish-indri-release-notes/

Find out what's new in this release with a graphical overview:

https://ubuntu.com/desktop
https://ubuntu.com/desktop/features

If you have a question, or if you think you may have found a bug but
aren't sure, you can try asking in any of the following places:

#ubuntu on irc.libera.chat
https://lists.ubuntu.com/mailman/listinfo/ubuntu-users
https://ubuntuforums.org
https://askubuntu.com
https://discourse.ubuntu.com


Help Shape Ubuntu
-----------------

If you would like to help shape Ubuntu, take a look at the list of ways
you can participate at:

https://discourse.ubuntu.com/contribute


About Ubuntu
------------

Ubuntu is a full-featured Linux distribution for desktops, laptops, IoT,
cloud, and servers, with a fast and easy installation and regular
releases. A tightly-integrated selection of excellent applications is
included, and an incredible variety of add-on software is just a few
clicks away.

Professional services including support are available from Canonical and
hundreds of other companies around the world. For more information about
support, visit:

https://ubuntu.com/support


More Information
----------------

You can learn more about Ubuntu and about this release on our website
listed below:

https://ubuntu.com

To sign up for future Ubuntu announcements, please subscribe to Ubuntu's
very low volume announcement list at:

https://lists.ubuntu.com/mailman/listinfo/ubuntu-announce


On behalf of the Ubuntu Release Team,

Ɓukasz 'sil2100' Zemczak


--
ubuntu-announce mailing list
ubuntu-announce@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-announce

Wednesday, 13 October 2021

git-ubuntu rich history beta

git-ubuntu is now able to accept rich history directly from any uploader.

The CLI is in beta and subject to change. Feedback appreciated!

# Summary

sudo snap refresh --beta git-ubuntu # beta channel snap required

git ubuntu clone foo
cd foo
<make and commit your changes>
dpkg-buildpackage <your normal options> $(git ubuntu prepare-upload args)
<dput as usual>

Alternatively, if you don't use dpkg-buildpackage, you can prepare your
source upload as usual, use
`git ubuntu prepare-upload mangle <../changes file here>` to add the
extra headers, sign (or re-sign) the changes file with `debsign` and
then upload as usual.

# CLI Design

Ubuntu developers tend to have complex and custom workflows. To try and
support them all, I've started by implementing the low level first. I
didn't want to wrap everything and assume that you generate the changes
file in some particular way. The `prepare-upload` subcommand is intended
for integration and wrapping by your own tooling. I suggest you make an
alias or wrapper script to operate it in the way that you want.

Eventually I expect a high level CLI such as `git ubuntu submit` to do
all the work for you, but I want to get the low level stuff right first.

# Details of what the subcommands do

There are two subcommands being added here: `git ubuntu prepare-upload
args` and `git ubuntu prepare-upload mangle`. Both will push the current
branch to a personal remote (defaulting to your personal Launchpad
namespace that `git ubuntu clone` sets up named after your Launchpad
username; details overridable with `--remote` and `--branch`). After
that, `args` will output the required additional changes file headers in
a form suitable for `dpkg-buildpackage`. `mangle` will instead replace
an existing changes file to add the headers, stripping the signature if
it was signed (as the alteration requires re-signing).

# Details of the changes file headers

* Vcs-Git: points to the git repository where the rich history can be
found.

* Vcs-Git-Ref: the ref which when fetched contains the rich history.

* Vcs-Git-Commit: the commit hash of your rich history. This must match
your upload.

When git-ubuntu imports your upload, it will look in the location
specified by these headers for the rich history. If present and if they
match your upload, then it will use your commit instead of synthesizing
its own.

# Caveats

* If empty directories exist in your source, then your rich history
will likely mismatch and will be rejected. A synthesized commit will
be used instead. git-ubuntu will warn you if this is about to happen
if you used `git-ubuntu clone`. See LP: #1917877 for details and a
workaround.

* Note that error paths are not currently well handled. I intend to fix
these before a final release. I'd appreciate feedback on what edge
cases you hit, so I can make sure I handle those.

* For now, only Launchpad git URLs are accepted to avoid the risk from
a malicious git repository host. `git-ubuntu prepare-upload` will
check that the URL will be acceptable.