#1089696 RFH: ifupdown-ng-compat: Incompatibilities with classic ifupdown remain

Package:
wnpp
Source:
wnpp
Submitter:
Daniel Gröber
Date:
2025-04-14 09:45:01 UTC
Severity:
normal
Tags:
#1089696#5
Date:
2024-12-11 13:52:08 UTC
From:
To:
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

#1089696#12
Date:
2025-01-23 18:22:42 UTC
From:
To:
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

#1089696#17
Date:
2025-01-24 15:08:06 UTC
From:
To:
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

#1089696#22
Date:
2025-01-24 17:05:19 UTC
From:
To:
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

#1089696#27
Date:
2025-02-12 10:03:13 UTC
From:
To:
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