Re: Supporting alternative zlib implementations

2024-09-24 Thread Mike Hommey
On Wed, Sep 25, 2024 at 01:55:17AM +0200, Guillem Jover wrote:
> Hi!
> 
> On Wed, 2024-09-25 at 00:39:10 +0200, Fay Stegerman wrote:
> > * Guillem Jover  [2024-09-24 17:45]:
> > > Personally, I think fully migrating from zlib to zlib-ng would sound
> > > great (even for trixie), but I guess we can take it slow if you do not
> > > feel confident or have concerns over this.
> > 
> > As using an alternative zlib implementation could impact Reproducible Builds
> > [1], I would recommend taking that into consideration before deciding on 
> > this
> > kind of change.
> 
> Ah, this is related to something I wanted to mention too and forgot.
> 
> I don't think the specific case you mention is in itself a concern for
> Debian, because we only guarantee reproducibility given the same inputs,
> which includes the set of packages and their versions that were used
> when building the binaries. So if there was a switch, those would end up
> being recorded as well, and used when reproducing the outputs. And this
> could also happen with a newer version of zlib itself.
> 
> The problem though is, that because the compressed stream is going to
> change, that can make certain test suites fail if we perform this
> switch, which I think would be the main fallout that we'd see from
> this and would need manual fixing, although I assume Fedora has probably
> handled most of these already. For example when I added explicit
> zlib-ng support to dpkg, I had to fix its test suite to parametrize
> sizes for test artifacts.

As someone who recently tested a rust port of zlib-ng, another factor to
take into account is that while zlib-ng is faster, it also looks like it
compresses less at the same compression level.
Using higher compression levels with the same compression rate is also
usually faster too, but without touching the compression levels, you
end up with something that compresses in less time, but also with a
bigger output.

Mike



Re: Supporting alternative zlib implementations

2024-09-24 Thread Fay Stegerman
* Guillem Jover  [2024-09-24 17:45]:
[...]
> Personally, I think fully migrating from zlib to zlib-ng would sound
> great (even for trixie), but I guess we can take it slow if you do not
> feel confident or have concerns over this.

As using an alternative zlib implementation could impact Reproducible Builds
[1], I would recommend taking that into consideration before deciding on this
kind of change.

- Fay

[1] 
https://lists.reproducible-builds.org/pipermail/rb-general/2024-September/003526.html



Re: Supporting alternative zlib implementations

2024-09-24 Thread Guillem Jover
Hi!

On Wed, 2024-09-25 at 00:39:10 +0200, Fay Stegerman wrote:
> * Guillem Jover  [2024-09-24 17:45]:
> > Personally, I think fully migrating from zlib to zlib-ng would sound
> > great (even for trixie), but I guess we can take it slow if you do not
> > feel confident or have concerns over this.
> 
> As using an alternative zlib implementation could impact Reproducible Builds
> [1], I would recommend taking that into consideration before deciding on this
> kind of change.

Ah, this is related to something I wanted to mention too and forgot.

I don't think the specific case you mention is in itself a concern for
Debian, because we only guarantee reproducibility given the same inputs,
which includes the set of packages and their versions that were used
when building the binaries. So if there was a switch, those would end up
being recorded as well, and used when reproducing the outputs. And this
could also happen with a newer version of zlib itself.

The problem though is, that because the compressed stream is going to
change, that can make certain test suites fail if we perform this
switch, which I think would be the main fallout that we'd see from
this and would need manual fixing, although I assume Fedora has probably
handled most of these already. For example when I added explicit
zlib-ng support to dpkg, I had to fix its test suite to parametrize
sizes for test artifacts.

I think it would be pretty easy to at least see the extent of this
fallout by performing a mass rebuild for packages build-depending
on zlib1g-dev with a zlib-ng version.

Thanks,
Guillem



Re: Supporting alternative zlib implementations

2024-09-24 Thread Charles Plessy
Le Tue, Sep 24, 2024 at 03:58:10PM +0200, Mark Brown a écrit :
> 
>zlib-ng:  https://github.com/zlib-ng/zlib-ng

Hi Mark, just out of curiosity, would the carbon footprint of Debian be
lower or higher after replacing zlib with zlib-ng?

Have a nice day,

Charles

-- 
Charles Plessy Nagahama, Yomitan, Okinawa, Japan
Debian Med packaging team http://www.debian.org/devel/debian-med
Tooting from home  https://framapiaf.org/@charles_plessy
- You  do not have  my permission  to use  this email  to train  an AI -



Reproducibility across different hardware

2024-09-24 Thread Simon Richter

Hi,

On 9/25/24 08:55, Guillem Jover wrote:


So if there was a switch, those would end up
being recorded as well, and used when reproducing the outputs. And this
could also happen with a newer version of zlib itself.


I have a POWER9 box, which includes a NX-GZIP coprocessor, which is 
currently not used for anything, but it makes even -9 compression very 
cheap (9 GB/s). If I were to use it (probably through the kernel 
subsystem), I should probably record it somewhere.


Thinking about it, I'd expect POWER to generate different output than 
x86 when building an arch:all package with the result of some floating 
point computation, at least when -ffast-math is active (x86 being wrong).


   Simon



Re: Supporting alternative zlib implementations

2024-09-24 Thread Guillem Jover
Hi!

On Tue, 2024-09-24 at 15:58:10 +0200, Mark Brown wrote:
> In the past I've pushed back on doing anything here since zlib is
> essential and it seemed better to be consistent over the ecosystem than
> to use a more niche implementation, and some of the early optimisation
> efforts had not worked well on CPUs other than their immediate targets.
> However given the user feedback and looking at the Fedora experience I
> think it might be time to reevaluate that.  

Great! I'm happy to hear that.

> Obviously it's far too late to do anything with the default for trixie,
> we might want to evaluate doing something after the release but for now
> it's too late.  

Personally I don't think it's too late, there should be several months
until the freeze, and I think if we wanted to switch we could perhaps
do a staged transition and see how it goes and only do the final
replacement if everything seems fine.

> There's been some ongoing discussion (which sadly I wasn't looped into
> most of) of zlib-ng in WNPP:
> 
>https://bugs.debian.org/1002056
> 
> with some packaging done, but not AIUI building the zlib compatible ABI
> for zlib-ng yet which would allow it to be used as a replacement.
> Adding support for the compatible ABI allowing it to be an alternative
> for standard zlib seems to me like an obvious step we could take, it
> would need a lot of care given that zlib is essentially but would let
> people get zlib-ng if they wanted, and if there are problems it can be
> held in unstable (or experimental) to avoid impact on trixie.  This
> would allow people to kick the tires.

Sorry, I've been meaning to bring this up again to your attention,
given that as you mention zlib-ng has seen steady development and
buy in from the community at large. But at the same time, I've been
both a bit reluctant to upload anything to avoid the impression of
some kind of attempt to a hostile takeover, and to bring this up to
you as from your earlier push back I thought that would require some
(perhaps) exceeding changed circumstances. But given your mail, I'm
happy to work on this again and start with say uploading some initial
stuff into experimental for example, after this thread settles a bit?

(I'll start by refreshing the packaging first though.)

> Does anyone have thoughts on this?

Personally, I think fully migrating from zlib to zlib-ng would sound
great (even for trixie), but I guess we can take it slow if you do not
feel confident or have concerns over this.

Also if you'd prefer to take over the zlib-ng ITP, as a continuation
of zlib, that'd seem fine with me too.

Thanks,
Guillem



Supporting alternative zlib implementations

2024-09-24 Thread Mark Brown
A recurrning question with the zlib package in Debian is interest in the
various alternative zlib implementations that are out there.  There was
a long period where upstream zlib development seemed very stalled,
during that period people who wanted improvements started forking their
own projects.  The main ones I'm aware of are:

   zlib-ng:  https://github.com/zlib-ng/zlib-ng
   chromium: https://chromium.googlesource.com/chromium/src/third_party/zlib

zlib-ng seems pretty healthy, the chromium fork is less generally active
but is used by Chrome/ChromeOS which is a big userbase.

The main thing people seem excited about is performance work for modern
platforms though both projects have been doing other work on the code.
Unfortunately it looks like there is little interest in bringing these
forks together in spite of zlib's upstream development having picked up
a bit again.

Fedora did a transition to zlib-ng relatively recently, in version 40:

   https://fedoraproject.org/wiki/Changes/ZlibNGTransition
   https://packages.fedoraproject.org/pkgs/zlib/zlib/
   https://packages.fedoraproject.org/pkgs/zlib-ng/zlib-ng/

In the past I've pushed back on doing anything here since zlib is
essential and it seemed better to be consistent over the ecosystem than
to use a more niche implementation, and some of the early optimisation
efforts had not worked well on CPUs other than their immediate targets.
However given the user feedback and looking at the Fedora experience I
think it might be time to reevaluate that.  

Obviously it's far too late to do anything with the default for trixie,
we might want to evaluate doing something after the release but for now
it's too late.  

There's been some ongoing discussion (which sadly I wasn't looped into
most of) of zlib-ng in WNPP:

   https://bugs.debian.org/1002056

with some packaging done, but not AIUI building the zlib compatible ABI
for zlib-ng yet which would allow it to be used as a replacement.
Adding support for the compatible ABI allowing it to be an alternative
for standard zlib seems to me like an obvious step we could take, it
would need a lot of care given that zlib is essentially but would let
people get zlib-ng if they wanted, and if there are problems it can be
held in unstable (or experimental) to avoid impact on trixie.  This
would allow people to kick the tires.

Does anyone have thoughts on this?


signature.asc
Description: PGP signature


Re: GnuPG 2.4 before Trixie freeze

2024-09-24 Thread Fabio Fantoni

Il 24/09/2024 14:43, Stephan Verbücheln ha scritto:

Hello everyone

Debian Trixie and Sid still have GnuPG 2.2.x. GnuPG 2.4.5 is available
in Experimental.
GnuPG 2.4.0 was released on December 20, 2022. The 2.4.x series has
various useful new features such as TPM support.


Is it realistic to get GnuPG 2.4 into Trixie before the freeze?

What is missing for acceptance into unstable/testing?

Regards
Stephan


You can search bugs related to 2.4 and looking into them for possible 
information, for example from a very fast look this seems one:


https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1022702



OpenPGP_signature.asc
Description: OpenPGP digital signature


Re: proposal: Hybrid network stack for Trixie

2024-09-24 Thread Simon Richter

Hi,

On 9/22/24 19:22, Chris Hofstaedtler wrote:


The "server" group supposedly wants (and I agree) networkd, but they also want 
the configuration interface of networkd.


I'm not sure about that -- I'd expect the "server" group to be split into

 - "pets": their IP address doesn't change often anyway, anything 
beyond "set IP address during boot" is bloat. ifupdown is bloat because 
it requires a python interpreter to do what a one-line shell script can 
do, and networkd is bloat because it runs an entire service to do nothing.


Nobody cares about either kind of bloat, because resources are cheap -- 
what people do care about is interface stability, which is why switching 
the interface naming scheme was so controversial back then.


 - "cattle": the IP configuration comes from a central place, and is 
integrated with asset management. If it's a small operation, they use 
DHCP, but anything more sophisticated brings their own management 
solution, and whatever system we provide needs to be able to go out of 
the way.


 - "container": the IP address is managed from outside. The OS 
installation we generate should not interfere.



The "laptop" group supposedly wants (and I agree) NetworkManager,
but they also want the configuration interface of NetworkManager.


They specifically want the user interface. The configuration interface 
is less of a contract and more of a guideline, but that doesn't matter 
to the users, because they will only ever use the integrated solution 
where system and UI components are provided by the same package, and are 
kept consistent that way.


Providing a typesafe interface for passing the privilege-separation 
boundary is hard, but it is much more difficult if that interface also 
needs to be long-term stable. Anything that wants to replace N-M is 
either a rewrite with the same basic structure (tightly coupled 
interfaces on both sides of the privilege separation boundary, upgraded 
in lock step) or a massive sink of manpower that, frankly, no one has.



Who actually wants the configuration interface of netplan,
especially by default?


I can see it in the server space, because we need the integration with 
other tools that contribute fragments of network configuration without 
wanting to take over (libvirt and docker), and with tools that take over.


Integrating these tools into a consistent whole would be the core task 
of a distribution.


ifupdown defines a policy that works reasonably well on servers: "do not 
interfere." That is, if libvirt or docker change something because they 
need it (like moving the default route into a bridge), then ifupdown 
does not revert that change. It's shit, but it works.


systemd-networkd, for good reasons, deviates from this, but this means 
further integration work is required from the distribution because the 
end result needs to be consistent again. If netplan can provide the 
"consistent whole", then it makes sense not to reinvent the wheel.


My expectation as a user is that I should be able to install libvirt and 
docker on a server, and configure bridged networking in both without 
losing connectivity.


Right now, it works by accident, which is bad, but breaking it in the 
name of correctness will make a lot of people very angry, like renaming 
all the interfaces or requiring "nofail" in the fstab to continue 
booting did.


   Simon



GnuPG 2.4 before Trixie freeze

2024-09-24 Thread Stephan Verbücheln
Hello everyone

Debian Trixie and Sid still have GnuPG 2.2.x. GnuPG 2.4.5 is available
in Experimental.
GnuPG 2.4.0 was released on December 20, 2022. The 2.4.x series has
various useful new features such as TPM support.


Is it realistic to get GnuPG 2.4 into Trixie before the freeze?

What is missing for acceptance into unstable/testing?

Regards
Stephan


signature.asc
Description: This is a digitally signed message part


Bug#1082655: ITP: ocaml-stdlib-random -- versioned Random module from the OCaml standard library

2024-09-24 Thread Stéphane Glondu
Package: wnpp
Severity: wishlist
Owner: Stéphane Glondu 
X-Debbugs-Cc: debian-devel@lists.debian.org, debian-ocaml-ma...@lists.debian.org

* Package name: ocaml-stdlib-random
  Version : 1.2.0
  Upstream Contact: Florian Angeletti
* URL : https://github.com/ocaml/stdlib-random
* License : LGPL-2.1 with linking exception
  Programming Lang: C, OCaml
  Description : versioned Random module from the OCaml standard library

 The stdlib-random package provides a stable and compiler-independent
 implementation of all the PRNGs used in the Random module. Those
 PRNGs are available in the various libraries:
 .
  * stdlib-random.v3: OCaml 3.07 to 3.11 PRNG
  * stdlib-random.v4: OCaml 3.12 to 4.14 PRNG
  * stdlib-random.v5: current OCaml 5.0 PRNG
  * stdlib-random.v5o: pure OCaml version of the OCaml 5 PRNG
 .
 All those libraries can be used together and the signature of their
 Random$n module has been extended to the latest signature whenever
 possible.

This package is a test dependency of camomile. It will be maintained
in the OCaml team.


Salsa CI documentation updated

2024-09-24 Thread Otto Kekäläinen
Hi!

We've overhauled the README.md at
https://salsa.debian.org/salsa-ci-team/pipeline to be as complete as
possible, yet clear and to the point. If you are not yet using Salsa
CI for pre-upload quality assurance for your package, you might want
to check out what Salsa CI offers, or just review that your current
usage is optimal.

We also added a RUNNERS.md for those who want to experiment with
customer runners or donate CI capacity to Debian.

Feedback and improvement suggestions are also welcome as Merge
Requests are via email.

- Otto



Re: proposal: Hybrid network stack for Trixie

2024-09-24 Thread Lukas Märdian

On 23.09.24 13:33, Richard Lewis wrote:

Lukas Märdian  writes:

On 23.09.24 12:27, Ansgar 🙀 wrote:

On Mon, 2024-09-23 at 12:22 +0200, Lukas Märdian wrote:

On 22.09.24 15:58, Ansgar 🙀 wrote:

On Fri, 2024-09-20 at 13:12 +0200, Lukas Märdian wrote:



The benefit that Netplan would provide in such cases is that
debian-installer
installs a /etc/netplan/01-network-manager-all.yaml config file, reading:

network:
     version: 2
     renderer: NetworkManager

So on desktop installations including NetworkManager, netplan will
be
configured to do nothing? Why install netplan at all on desktop systems
then?


Because it allows to add configuration in a way that is common with
server, cloud
and other instances of Debian



Could you give an example of why this is useful to unify?

For example: is there a scenario in which someone is using
systemd-networkd but then finds they need to do X, which they cant
essily do using systend but which nm support is better--- therefore if
they are using netplan they can simply install network-manager, change a
netplan setting and gain X with no need to understand the differences
between the network-manager and systemd configuration languages?


My ideas was not so much about switching from one networking daemon to another.
In most cases users will probably stick to the network stack of their chosen
environment. With systemd-networkd and NetworkManager being good candidates for
their corresponding scenarios.

But knowledge builds up over the years in our community and spreads around 
forums,
stack overflow, etc.

Those are the places where we figure out "How to setup a bond on Debian?",
"How to connect a headless embedded board to the WiFi network" or "How to change
the embedded-switch mode on SR-IOV physical functions?". We find solutions and
help each other out, which is great!

But with fragmented network-configuration tooling those solutions will not work
in many cases, as they depend on a specific context of the base-image in use
(e.g. server vs desktop vs embedded vs cloud).

With Netplan I'm hoping to avoid such frustration by providing a way to 
configure
the network that works independently of the base-image context. Of course 
without
forcing people to use it or impacting the lower layer to be configured directly.

-- Lukas



Re: proposal: Hybrid network stack for Trixie

2024-09-24 Thread Pierre-Elliott Bécue
Chris Hofstaedtler  wrote on 23/09/2024 at 12:25:15+0200:

> * Pierre-Elliott Bécue  [240923 11:34]:
>> Lukas Märdian  wrote on 20/09/2024 at 13:12:36+0200:
>> > # Why
>> > The ifupdown package is a Debian only solution that is becoming a 
>> > maintenance
>> > burden. We've had plenty of discussions over the years and consensus is 
>> > that we
>> > want to get rid of it.
>> 
>> I like ifupdown. It's simple and just works.
>
> I find this quite funny, given a recent discussion about IPv6 dad
> issues with ifupdown on #debian-admin.

Still looking for the funny bit, except if you're implying that as a DSA
member, I should dislike ifupdown because Philipp had to manually
intervene on a server managed by it. In that case it'd indeed be really
funny, but probably not for the reason you'd think it is.

> It's certainly limited in what it can do within reasonable
> configuration effort, and it often works. I think both are true for
> almost all of the discussed options :-)

Well, netplan has no added value in my environments, contrary to some
big changes we had in the past (systemd, journald - which still forwards
logs to rsyslog, …), so I'd rather not being force-fed this tool. I'd
react the same if someone were to try making me adopt resolved or
timesyncd.

But in the whole, I don't care that much, I'm perfectly fine with apt
purge netplan.io after bootstrapping a server if the "consensus" is to
force-feed it.

-- 
PEB


signature.asc
Description: PGP signature


Re: ifupdown-ng source stanza (Was: proposal: Hybrid network stack for Trixie)

2024-09-24 Thread Sirius
On mån, 2024/09/23 at 10:57:22 +0200, Daniel Gröber wrote:
> Hi Sirius,
> 
> Thanks for taking ifupdown-ng for a spin.

No problem at all. Thank you for being patient for my response, I have
been working out some kinks around finit to get the system spitting out a
graphical session. :-D

> On Mon, Sep 23, 2024 at 08:22:51AM +0200, Sirius wrote:
> > I did switch to ifupdown-ng (as it seems the regular ifupdown is on its
> > way out) and the one thing I noticed was that ifupdown-ng does not handle
> > the include directive for /etc/network/interfaces.d/.
> 
> I think you're using the version in stable? I upstreamed a patch for
> 'source' stanza glob pattern support as we use for interfaces.d a while
> ago. We've had it in Debian since 0.12.1-1, but its not in stable. I'll
> upload a backport as soon as I feel -ng is ready.

I am. It really is no problem, it arrives when it arrives. In the
meantime, having the stanzas directly in /etc/network/interfaces works. No
problem at all.

> > iwd and ifupdown{,-ng} works, and works well, but what I like about them
> > most is that they have lean dependencies and focus on one thing in true
> > unix fashion. I can sidestep both systemd and Network-Manager entirely
> > with a few rebuilt packages. That works for me.
> 
> When using ifupdown with wpa_supplicant we have per-SSID configuration
> support (cf. wpa_action.8) I wonder if a similar integration would be
> possible with iwd?

With iwd, you run iw and then find the SSID and give it the secret for the
SSID and it then stores that in its database. As long as system dbus and
iwd is running when you ifup the interface, it works. No wpa_supplicant
needed.

And while it may be an Intel piece of software, it works with any wifi
card. My system has a MediaTek and it works just as well as the Intel card
on my laptop.

-- 
Kind regards,

/S