Hello internet, Debian is intending to replace classic ifupdown with ifupdown-ng, a clean-slate reimplementation intended from the beginning to be compatible with all existing flavors of ifupdown (Debian ifupdown, busybox, ifupdown2). Upon closer examination we found it is not yet fully compatible with classic Debian ifupdown to a degree we're satisfied with and boy are we ever sticklers for such things. Currently known incompatibilities are: - ifquery output is different https://github.com/ifupdown-ng/ifupdown-ng/issues/216 - ifstate should be made compatible for a smooth upgrade path https://github.com/ifupdown-ng/ifupdown-ng/issues/246 - interface renaming feature is missing - interface "pattern" matching is missing cf. /usr/share/doc/ifupdown/examples/pattern-matching or https://sources.debian.org/src/ifupdown/0.8.44/examples/pattern-matching/ - old-school scripts (vlan, bridge-utils, ifenslave) need to be stubbed - `SKIP_DOWN_AT_SYSRESET=yes` is a bad default and a behavior change This upstream issue is tracking progress: https://github.com/ifupdown-ng/ifupdown-ng/issues/247 The ifupdown-ng code is clean and simple C, making working on it a breeze. The challenge lies mostly in "reverse-engineering" and documenting the behaviour of the old implementation :-) Since ifupdown-ng would be installed on essentially all Debian systems (Priority: important) this is a low-effort but high-impact way to contribute to the project and consequently help with any of these would be greatly appreciated. For those hackers that need that extra bit of motivation: the alternative to ifupdown-ng as currently discussed seems to be further systemd(-networkd) monopolization -- make of that what you will ;-) Thanks, --Daniel
Hi there, I am a developer looking to get involved in Debian development and would love to contribute to this issue. What are the most pressing needs here? I was thinking of diving into the ifquery issue and going from there. Would appreciate any guidance you can offer! Thanks. Ian
Hi Ian, your mail didn't make it into my inbox somehow, just found it looking at the BTS by happenstance. I think ifquery is a good place to start. Since upstream has already agreed this change is welcome you should be able to just dive in. I don't have any specific advice at this point so if you need guidance you're going to have to ask narrower questions ;-) I'm on OFTC and Libera.chat if you have any realtime questions. Thanks <3, --Daniel
Hi Daniel, Thanks for the reply! Sorry to not be more specific, just was looking for general guidance but this gives me a good idea of where to go. I will def hit you up in chat if I have real time questions. Excited to get started! I
Hi Daniel, I’m Shahrukh from [OSS Revival](https://github.com/Project-OSS-Revival). We specialize in revitalizing and maintaining open-source projects to ensure long-term stability. As a team, we have a cumulative 15 years of experience in C/C++, and all our developers are programming polyglots with experience in maintaining OSS / commercial projects. I am interested in the development ifupdown-ng-compat upstream issue https://github.com/ifupdown-ng/ifupdown-ng/issues/247, ensuring it remains aligned classic Debian ifupdown. Regards, Shahrukh On Wed, 11 Dec 2024 14:52:08 +0100 Daniel =?utf-8?Q?Gr=C3=B6ber?= <dxld@darkboxed.org> wrote: > Package: wnpp > Severity: normal > X-Debbugs-Cc: dxld@darkboxed.org > Tags: help > Control: affects -1 ifupdown-ng-compat > > Hello internet, > > Debian is intending to replace classic ifupdown with ifupdown-ng, a > clean-slate reimplementation intended from the beginning to be compatible > with all existing flavors of ifupdown (Debian ifupdown, busybox, > ifupdown2). > > Upon closer examination we found it is not yet fully compatible with > classic Debian ifupdown to a degree we're satisfied with and boy are we > ever sticklers for such things. > > Currently known incompatibilities are: > > - ifquery output is different > https://github.com/ifupdown-ng/ifupdown-ng/issues/216 > > - ifstate should be made compatible for a smooth upgrade path > https://github.com/ifupdown-ng/ifupdown-ng/issues/246 > > - interface renaming feature is missing > > - interface "pattern" matching is missing > cf. /usr/share/doc/ifupdown/examples/pattern-matching or > https://sources.debian.org/src/ifupdown/0.8.44/examples/pattern-matching/ > > - old-school scripts (vlan, bridge-utils, ifenslave) need to be stubbed > > - `SKIP_DOWN_AT_SYSRESET=yes` is a bad default and a behavior change > > This upstream issue is tracking progress: > > https://github.com/ifupdown-ng/ifupdown-ng/issues/247 > > The ifupdown-ng code is clean and simple C, making working on it a > breeze. The challenge lies mostly in "reverse-engineering" and documenting > the behaviour of the old implementation :-) > > Since ifupdown-ng would be installed on essentially all Debian systems > (Priority: important) this is a low-effort but high-impact way to > contribute to the project and consequently help with any of these would be > greatly appreciated. > > For those hackers that need that extra bit of motivation: the alternative > to ifupdown-ng as currently discussed seems to be further > systemd(-networkd) monopolization -- make of that what you will ;-) > > Thanks, > --Daniel