[meta-networking,v2] ifupdown-ng: Add recipe

Message ID 20220103163754.32439-1-alexk@zuma.ai
State New
Headers show
Series [meta-networking,v2] ifupdown-ng: Add recipe | expand

Commit Message

Alex Kiernan Jan. 3, 2022, 4:37 p.m. UTC
ifupdown-ng is a network device manager that is largely compatible with
Debian ifupdown, BusyBox ifupdown and Cumulus Networks' ifupdown2.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Alex Kiernan <alexk@zuma.ai>
---
Changes in v2:
- drop merged upstream SBINDIR patch

 .../ifupdown-ng/ifupdown-ng_0.11.3.bb         | 45 +++++++++++++++++++
 1 file changed, 45 insertions(+)
 create mode 100644 meta-networking/recipes-support/ifupdown-ng/ifupdown-ng_0.11.3.bb

Comments

Ross Burton Jan. 4, 2022, 10:28 a.m. UTC | #1
On Mon, 3 Jan 2022 at 16:40, Alex Kiernan <alex.kiernan@gmail.com> wrote:
> ifupdown-ng is a network device manager that is largely compatible with
> Debian ifupdown, BusyBox ifupdown and Cumulus Networks' ifupdown2.

If this is a superior alternative, should this be merged into oe-core
as the replacement for the existing ifupdown scripts?

Ross
Otavio Salvador Jan. 5, 2022, 12:14 p.m. UTC | #2
Em seg., 3 de jan. de 2022 às 13:37, Alex Kiernan
<alex.kiernan@gmail.com> escreveu:
>
> ifupdown-ng is a network device manager that is largely compatible with
> Debian ifupdown, BusyBox ifupdown and Cumulus Networks' ifupdown2.
>
> Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> Signed-off-by: Alex Kiernan <alexk@zuma.ai>
> ---
> Changes in v2:
> - drop merged upstream SBINDIR patch
>
>  .../ifupdown-ng/ifupdown-ng_0.11.3.bb         | 45 +++++++++++++++++++
>  1 file changed, 45 insertions(+)
>  create mode 100644 meta-networking/recipes-support/ifupdown-ng/ifupdown-ng_0.11.3.bb
>
> diff --git a/meta-networking/recipes-support/ifupdown-ng/ifupdown-ng_0.11.3.bb b/meta-networking/recipes-support/ifupdown-ng/ifupdown-ng_0.11.3.bb
> new file mode 100644
...

> +do_compile () {
> +       oe_runmake
> +}
> +
> +do_install () {
> +       oe_runmake 'DESTDIR=${D}' install
> +}

The do_compile and do_install could be dropped as this is the default.
Otavio Salvador Jan. 5, 2022, 12:16 p.m. UTC | #3
Hello Ross,

Em ter., 4 de jan. de 2022 às 07:28, Ross Burton <ross@burtonini.com> escreveu:
> On Mon, 3 Jan 2022 at 16:40, Alex Kiernan <alex.kiernan@gmail.com> wrote:
> > ifupdown-ng is a network device manager that is largely compatible with
> > Debian ifupdown, BusyBox ifupdown and Cumulus Networks' ifupdown2.
>
> If this is a superior alternative, should this be merged into oe-core
> as the replacement for the existing ifupdown scripts?

I think we could consider it but it'd be interesting to check the size
difference between both so we can have a clear idea on the impact of
it.
Alex Kiernan Jan. 5, 2022, 12:51 p.m. UTC | #4
On Wed, Jan 5, 2022 at 12:16 PM Otavio Salvador
<otavio.salvador@ossystems.com.br> wrote:
>
> Hello Ross,
>
> Em ter., 4 de jan. de 2022 às 07:28, Ross Burton <ross@burtonini.com> escreveu:
> > On Mon, 3 Jan 2022 at 16:40, Alex Kiernan <alex.kiernan@gmail.com> wrote:
> > > ifupdown-ng is a network device manager that is largely compatible with
> > > Debian ifupdown, BusyBox ifupdown and Cumulus Networks' ifupdown2.
> >
> > If this is a superior alternative, should this be merged into oe-core
> > as the replacement for the existing ifupdown scripts?
>

I suspect it's too early, though I guess there's already ifupdown in
busybox, so three is possibly excessive.

> I think we could consider it but it'd be interesting to check the size
> difference between both so we can have a clear idea on the impact of
> it.
>

Smaller if anything (though I've just realised I've not dealt the
ALTERNATIVES paths correctly):
Ross Burton Jan. 5, 2022, 4:36 p.m. UTC | #5
On Wed, 5 Jan 2022 at 12:51, Alex Kiernan <alex.kiernan@gmail.com> wrote:
> Smaller if anything (though I've just realised I've not dealt the
> ALTERNATIVES paths correctly):

There's a case to be made for just conflicting with ifupdown and not
bothering with alternatives.

Ross
Khem Raj Jan. 5, 2022, 4:37 p.m. UTC | #6
On 1/5/22 8:36 AM, Ross Burton wrote:
> On Wed, 5 Jan 2022 at 12:51, Alex Kiernan <alex.kiernan@gmail.com> wrote:
>> Smaller if anything (though I've just realised I've not dealt the
>> ALTERNATIVES paths correctly):
> 
> There's a case to be made for just conflicting with ifupdown and not
> bothering with alternatives.

thats works for me.

> 
> Ross
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#94662): https://lists.openembedded.org/g/openembedded-devel/message/94662
> Mute This Topic: https://lists.openembedded.org/mt/88115930/1997914
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Khem Raj Jan. 5, 2022, 7:06 p.m. UTC | #7
btw. it fails to compile with musl

https://errors.yoctoproject.org/Errors/Details/621451/

On Wed, Jan 5, 2022 at 8:37 AM Khem Raj <raj.khem@gmail.com> wrote:
>
>
>
> On 1/5/22 8:36 AM, Ross Burton wrote:
> > On Wed, 5 Jan 2022 at 12:51, Alex Kiernan <alex.kiernan@gmail.com> wrote:
> >> Smaller if anything (though I've just realised I've not dealt the
> >> ALTERNATIVES paths correctly):
> >
> > There's a case to be made for just conflicting with ifupdown and not
> > bothering with alternatives.
>
> thats works for me.
>
> >
> > Ross
> >
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#94662): https://lists.openembedded.org/g/openembedded-devel/message/94662
> > Mute This Topic: https://lists.openembedded.org/mt/88115930/1997914
> > Group Owner: openembedded-devel+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
Alex Kiernan Jan. 5, 2022, 8:31 p.m. UTC | #8
Yeah, I realised that w/ some more testing locally... will pick that
up along with RCONFLICTing on ifupdown

On Wed, Jan 5, 2022 at 7:06 PM Khem Raj <raj.khem@gmail.com> wrote:
>
> btw. it fails to compile with musl
>
> https://errors.yoctoproject.org/Errors/Details/621451/
>
> On Wed, Jan 5, 2022 at 8:37 AM Khem Raj <raj.khem@gmail.com> wrote:
> >
> >
> >
> > On 1/5/22 8:36 AM, Ross Burton wrote:
> > > On Wed, 5 Jan 2022 at 12:51, Alex Kiernan <alex.kiernan@gmail.com> wrote:
> > >> Smaller if anything (though I've just realised I've not dealt the
> > >> ALTERNATIVES paths correctly):
> > >
> > > There's a case to be made for just conflicting with ifupdown and not
> > > bothering with alternatives.
> >
> > thats works for me.
> >
> > >
> > > Ross
> > >
> > >
> > >
> > > -=-=-=-=-=-=-=-=-=-=-=-
> > > Links: You receive all messages sent to this group.
> > > View/Reply Online (#94662): https://lists.openembedded.org/g/openembedded-devel/message/94662
> > > Mute This Topic: https://lists.openembedded.org/mt/88115930/1997914
> > > Group Owner: openembedded-devel+owner@lists.openembedded.org
> > > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> > > -=-=-=-=-=-=-=-=-=-=-=-
> > >

Patch

diff --git a/meta-networking/recipes-support/ifupdown-ng/ifupdown-ng_0.11.3.bb b/meta-networking/recipes-support/ifupdown-ng/ifupdown-ng_0.11.3.bb
new file mode 100644
index 000000000000..42bf1c235b61
--- /dev/null
+++ b/meta-networking/recipes-support/ifupdown-ng/ifupdown-ng_0.11.3.bb
@@ -0,0 +1,45 @@ 
+SUMMARY = "Flexible ifup/ifdown implementation"
+DESCRIPTION = "ifupdown-ng is a network device manager that is largely \
+compatible with Debian ifupdown, BusyBox ifupdown and Cumulus Networks' \
+ifupdown2."
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://COPYING;md5=451f521abe917914139c9739ea0f2bc5"
+
+DEPENDS = "libbsd"
+
+PV .= "+git${SRCPV}"
+
+SRC_URI = "git://github.com/ifupdown-ng/ifupdown-ng.git;protocol=https;branch=main"
+SRCREV = "553f056ed9fccdf08709ea4d3087df5e7d590ff1"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig update-alternatives
+
+LIBBSD_CFLAGS = "`pkg-config --cflags libbsd-overlay`"
+LIBBSD_LIBS = "`pkg-config --cflags --libs libbsd-overlay`"
+
+EXTRA_OEMAKE = "\
+    CC='${CC} ${CFLAGS} ${LDFLAGS}' \
+    LD='${LD} ${LDFLAGS}' \
+    SBINDIR='${base_sbindir}' \
+    LIBBSD_CFLAGS='${LIBBSD_CFLAGS}' \
+    LIBBSD_LIBS='${LIBBSD_LIBS}' \
+    INTERFACES_FILE='${sysconfdir}/network/interfaces' \
+    CONFIG_FILE='${sysconfdir}/network/ifupdown-ng.conf' \
+    EXECUTOR_PATH='${libexecdir}/${BPN}' \
+"
+
+do_compile () {
+	oe_runmake
+}
+
+do_install () {
+	oe_runmake 'DESTDIR=${D}' install
+}
+
+ALTERNATIVE_PRIORITY = "120"
+ALTERNATIVE:${PN} = "ifup ifdown"
+
+ALTERNATIVE_LINK_NAME[ifup] = "${base_sbindir}/ifup"
+ALTERNATIVE_LINK_NAME[ifdown] = "${base_sbindir}/ifdown"