Patchwork [v3] netbase: split up in netbase and init-ifupdown

login
register
mail settings
Submitter Constantin Musca
Date Sept. 18, 2012, 10:01 a.m.
Message ID <1347962498-756-1-git-send-email-constantinx.musca@intel.com>
Download mbox | patch
Permalink /patch/36731/
State New
Headers show

Comments

Constantin Musca - Sept. 18, 2012, 10:01 a.m.
- netbase should only include etc-rpc, etc-protocols, etc-services
and the hosts file
- the init script/configuration files should be in another package
(init-ifupdown)

[YOCTO #2486]

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
---
 meta/conf/layer.conf                               |    1 +
 .../init-ifupdown/init-ifupdown-1.0/copyright      |   11 ++++++
 .../init-ifupdown-1.0}/init                        |    0
 .../init-ifupdown-1.0}/interfaces                  |    0
 .../init-ifupdown-1.0}/nfsroot                     |    0
 .../init-ifupdown-1.0}/qemuarm/interfaces          |    0
 .../init-ifupdown-1.0}/qemuarmv6/interfaces        |    0
 .../init-ifupdown-1.0}/qemuarmv7/interfaces        |    0
 .../init-ifupdown-1.0}/qemumips/interfaces         |    0
 .../init-ifupdown-1.0}/qemumips64/interfaces       |    0
 .../init-ifupdown-1.0}/qemuppc/interfaces          |    0
 .../init-ifupdown-1.0}/qemush4/interfaces          |    0
 .../init-ifupdown-1.0}/qemux86-64/interfaces       |    0
 .../init-ifupdown-1.0}/qemux86/interfaces          |    0
 .../init-ifupdown/init-ifupdown_1.0.bb             |   41 ++++++++++++++++++++
 meta/recipes-core/netbase/netbase_5.0.bb           |   33 ++--------------
 .../packagegroups/packagegroup-core-boot.bb        |    3 +-
 17 files changed, 59 insertions(+), 30 deletions(-)
 create mode 100644 meta/recipes-core/init-ifupdown/init-ifupdown-1.0/copyright
 rename meta/recipes-core/{netbase/netbase-5.0 => init-ifupdown/init-ifupdown-1.0}/init (100%)
 rename meta/recipes-core/{netbase/netbase-5.0 => init-ifupdown/init-ifupdown-1.0}/interfaces (100%)
 rename meta/recipes-core/{netbase/netbase-5.0 => init-ifupdown/init-ifupdown-1.0}/nfsroot (100%)
 rename meta/recipes-core/{netbase/netbase-5.0 => init-ifupdown/init-ifupdown-1.0}/qemuarm/interfaces (100%)
 rename meta/recipes-core/{netbase/netbase-5.0 => init-ifupdown/init-ifupdown-1.0}/qemuarmv6/interfaces (100%)
 rename meta/recipes-core/{netbase/netbase-5.0 => init-ifupdown/init-ifupdown-1.0}/qemuarmv7/interfaces (100%)
 rename meta/recipes-core/{netbase/netbase-5.0 => init-ifupdown/init-ifupdown-1.0}/qemumips/interfaces (100%)
 rename meta/recipes-core/{netbase/netbase-5.0 => init-ifupdown/init-ifupdown-1.0}/qemumips64/interfaces (100%)
 rename meta/recipes-core/{netbase/netbase-5.0 => init-ifupdown/init-ifupdown-1.0}/qemuppc/interfaces (100%)
 rename meta/recipes-core/{netbase/netbase-5.0 => init-ifupdown/init-ifupdown-1.0}/qemush4/interfaces (100%)
 rename meta/recipes-core/{netbase/netbase-5.0 => init-ifupdown/init-ifupdown-1.0}/qemux86-64/interfaces (100%)
 rename meta/recipes-core/{netbase/netbase-5.0 => init-ifupdown/init-ifupdown-1.0}/qemux86/interfaces (100%)
 create mode 100644 meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb
Koen Kooi - Sept. 18, 2012, 12:40 p.m.
Op 18 sep. 2012, om 12:01 heeft Constantin Musca <constantinx.musca@intel.com> het volgende geschreven:

> - netbase should only include etc-rpc, etc-protocols, etc-services
> and the hosts file
> - the init script/configuration files should be in another package
> (init-ifupdown)
> 
> [YOCTO #2486]
> 
> Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
> 
> --- /dev/null
> +++ b/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb
> @@ -0,0 +1,41 @@
> +SUMMARY = "Basic TCP/IP networking init scripts and configuration files"
> +DESCRIPTION = "This package provides high level tools to configure network interfaces"
> +HOMEPAGE = "http://packages.debian.org/ifupdown"
> +SECTION = "base"
> +LICENSE = "GPLv2"
> +LIC_FILES_CHKSUM = "file://${WORKDIR}/copyright;md5=3dd6192d306f582dee7687da3d8748ab"
> +RDEPENDS_${PN} = "netbase"
> +RCONFLICTS_${PN} = "netbase (< 5.0-r1)"

Since R* is for packaging they should live below do_install to mimic the order of task execution in the recipe
Martin Jansa - Sept. 18, 2012, 3:22 p.m.
On Tue, Sep 18, 2012 at 02:40:04PM +0200, Koen Kooi wrote:
> 
> Op 18 sep. 2012, om 12:01 heeft Constantin Musca <constantinx.musca@intel.com> het volgende geschreven:
> 
> > - netbase should only include etc-rpc, etc-protocols, etc-services
> > and the hosts file
> > - the init script/configuration files should be in another package
> > (init-ifupdown)
> > 
> > [YOCTO #2486]
> > 
> > Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
> > 
> > --- /dev/null
> > +++ b/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb
> > @@ -0,0 +1,41 @@
> > +SUMMARY = "Basic TCP/IP networking init scripts and configuration files"
> > +DESCRIPTION = "This package provides high level tools to configure network interfaces"
> > +HOMEPAGE = "http://packages.debian.org/ifupdown"
> > +SECTION = "base"
> > +LICENSE = "GPLv2"
> > +LIC_FILES_CHKSUM = "file://${WORKDIR}/copyright;md5=3dd6192d306f582dee7687da3d8748ab"
> > +RDEPENDS_${PN} = "netbase"
> > +RCONFLICTS_${PN} = "netbase (< 5.0-r1)"
> 
> Since R* is for packaging they should live below do_install to mimic the order of task execution in the recipe

And I guess that layers changing machine specific parts of netbase did
that with PRINC so e.g. for me, I've

SHR root@gjama ~ $ opkg info netbase
Package: netbase
Version: 5.0-r8

So I guess I'll have to change this RCONFLICTS too in such layer, but
problem is that in BSP you don't know how many other layers someone is
using so PR of netbase (before this patch) is just lucky guess in this one.

Cheers,

> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Otavio Salvador - Sept. 18, 2012, 3:31 p.m.
On Tue, Sep 18, 2012 at 12:22 PM, Martin Jansa <martin.jansa@gmail.com> wrote:
> On Tue, Sep 18, 2012 at 02:40:04PM +0200, Koen Kooi wrote:
>>
>> Op 18 sep. 2012, om 12:01 heeft Constantin Musca <constantinx.musca@intel.com> het volgende geschreven:
>>
>> > - netbase should only include etc-rpc, etc-protocols, etc-services
>> > and the hosts file
>> > - the init script/configuration files should be in another package
>> > (init-ifupdown)
>> >
>> > [YOCTO #2486]
>> >
>> > Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
>> >
>> > --- /dev/null
>> > +++ b/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb
>> > @@ -0,0 +1,41 @@
>> > +SUMMARY = "Basic TCP/IP networking init scripts and configuration files"
>> > +DESCRIPTION = "This package provides high level tools to configure network interfaces"
>> > +HOMEPAGE = "http://packages.debian.org/ifupdown"
>> > +SECTION = "base"
>> > +LICENSE = "GPLv2"
>> > +LIC_FILES_CHKSUM = "file://${WORKDIR}/copyright;md5=3dd6192d306f582dee7687da3d8748ab"
>> > +RDEPENDS_${PN} = "netbase"
>> > +RCONFLICTS_${PN} = "netbase (< 5.0-r1)"
>>
>> Since R* is for packaging they should live below do_install to mimic the order of task execution in the recipe
>
> And I guess that layers changing machine specific parts of netbase did
> that with PRINC so e.g. for me, I've
>
> SHR root@gjama ~ $ opkg info netbase
> Package: netbase
> Version: 5.0-r8
>
> So I guess I'll have to change this RCONFLICTS too in such layer, but
> problem is that in BSP you don't know how many other layers someone is
> using so PR of netbase (before this patch) is just lucky guess in this one.

It seems netbase needs to bump it's version so the RCONFLICTS can be like:

RCONFLICTS_${PN} = "netbase (< 5.0.1)

Regards
Ross Burton - Sept. 18, 2012, 3:39 p.m.
On 18 September 2012 16:31, Otavio Salvador <otavio@ossystems.com.br> wrote:
> It seems netbase needs to bump it's version so the RCONFLICTS can be like:
>
> RCONFLICTS_${PN} = "netbase (< 5.0.1)

But we're not upstream for netbase -- it's downloaded from Debian.

Of course it's so simple that forking it is an option.

Ross
Otavio Salvador - Sept. 18, 2012, 4:33 p.m.
On Tue, Sep 18, 2012 at 12:39 PM, Burton, Ross <ross.burton@intel.com> wrote:
> On 18 September 2012 16:31, Otavio Salvador <otavio@ossystems.com.br> wrote:
>> It seems netbase needs to bump it's version so the RCONFLICTS can be like:
>>
>> RCONFLICTS_${PN} = "netbase (< 5.0.1)
>
> But we're not upstream for netbase -- it's downloaded from Debian.
>
> Of course it's so simple that forking it is an option.

You don't need to fork it but you can append something in the version
just for this.

You could use 5.0+yocto for example. Another option is to change epoch
and be done with it.

Patch

diff --git a/meta/conf/layer.conf b/meta/conf/layer.conf
index ed50f1c..1308077 100644
--- a/meta/conf/layer.conf
+++ b/meta/conf/layer.conf
@@ -18,6 +18,7 @@  SIGGEN_EXCLUDERECIPES_ABISAFE += " \
   shadow-securetty \
   opkg-config-base \
   netbase \
+  init-ifupdown \
   formfactor \
   xserver-xf86-config \
   pointercal \
diff --git a/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/copyright b/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/copyright
new file mode 100644
index 0000000..2a8e0d1
--- /dev/null
+++ b/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/copyright
@@ -0,0 +1,11 @@ 
+This package was created by Peter Tobias tobias@et-inf.fho-emden.de on
+Wed, 24 Aug 1994 21:33:28 +0200 and maintained by Anthony Towns
+<ajt@debian.org> until 2001.
+It is currently maintained by Marco d'Itri <md@linux.it>.
+
+Copyright 1994-2010 Peter Tobias, Anthony Towns and Marco d'Itri
+
+The programs in this package are distributed under the terms of the GNU
+General Public License, version 2 as distributed by the Free Software
+Foundation. On Debian systems, a copy of this license may be found in
+/usr/share/common-licenses/GPL-2.
diff --git a/meta/recipes-core/netbase/netbase-5.0/init b/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/init
similarity index 100%
rename from meta/recipes-core/netbase/netbase-5.0/init
rename to meta/recipes-core/init-ifupdown/init-ifupdown-1.0/init
diff --git a/meta/recipes-core/netbase/netbase-5.0/interfaces b/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces
similarity index 100%
rename from meta/recipes-core/netbase/netbase-5.0/interfaces
rename to meta/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces
diff --git a/meta/recipes-core/netbase/netbase-5.0/nfsroot b/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/nfsroot
similarity index 100%
rename from meta/recipes-core/netbase/netbase-5.0/nfsroot
rename to meta/recipes-core/init-ifupdown/init-ifupdown-1.0/nfsroot
diff --git a/meta/recipes-core/netbase/netbase-5.0/qemuarm/interfaces b/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarm/interfaces
similarity index 100%
rename from meta/recipes-core/netbase/netbase-5.0/qemuarm/interfaces
rename to meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarm/interfaces
diff --git a/meta/recipes-core/netbase/netbase-5.0/qemuarmv6/interfaces b/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarmv6/interfaces
similarity index 100%
rename from meta/recipes-core/netbase/netbase-5.0/qemuarmv6/interfaces
rename to meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarmv6/interfaces
diff --git a/meta/recipes-core/netbase/netbase-5.0/qemuarmv7/interfaces b/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarmv7/interfaces
similarity index 100%
rename from meta/recipes-core/netbase/netbase-5.0/qemuarmv7/interfaces
rename to meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarmv7/interfaces
diff --git a/meta/recipes-core/netbase/netbase-5.0/qemumips/interfaces b/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemumips/interfaces
similarity index 100%
rename from meta/recipes-core/netbase/netbase-5.0/qemumips/interfaces
rename to meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemumips/interfaces
diff --git a/meta/recipes-core/netbase/netbase-5.0/qemumips64/interfaces b/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemumips64/interfaces
similarity index 100%
rename from meta/recipes-core/netbase/netbase-5.0/qemumips64/interfaces
rename to meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemumips64/interfaces
diff --git a/meta/recipes-core/netbase/netbase-5.0/qemuppc/interfaces b/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuppc/interfaces
similarity index 100%
rename from meta/recipes-core/netbase/netbase-5.0/qemuppc/interfaces
rename to meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuppc/interfaces
diff --git a/meta/recipes-core/netbase/netbase-5.0/qemush4/interfaces b/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemush4/interfaces
similarity index 100%
rename from meta/recipes-core/netbase/netbase-5.0/qemush4/interfaces
rename to meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemush4/interfaces
diff --git a/meta/recipes-core/netbase/netbase-5.0/qemux86-64/interfaces b/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemux86-64/interfaces
similarity index 100%
rename from meta/recipes-core/netbase/netbase-5.0/qemux86-64/interfaces
rename to meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemux86-64/interfaces
diff --git a/meta/recipes-core/netbase/netbase-5.0/qemux86/interfaces b/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemux86/interfaces
similarity index 100%
rename from meta/recipes-core/netbase/netbase-5.0/qemux86/interfaces
rename to meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemux86/interfaces
diff --git a/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb b/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb
new file mode 100644
index 0000000..80d0a02
--- /dev/null
+++ b/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb
@@ -0,0 +1,41 @@ 
+SUMMARY = "Basic TCP/IP networking init scripts and configuration files"
+DESCRIPTION = "This package provides high level tools to configure network interfaces"
+HOMEPAGE = "http://packages.debian.org/ifupdown"
+SECTION = "base"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/copyright;md5=3dd6192d306f582dee7687da3d8748ab"
+RDEPENDS_${PN} = "netbase"
+RCONFLICTS_${PN} = "netbase (< 5.0-r1)"
+PR = "r0"
+
+inherit update-rc.d
+
+INITSCRIPT_NAME = "networking"
+INITSCRIPT_PARAMS = "start 40 S . stop 40 0 6 1 ."
+
+SRC_URI = "file://copyright \
+           file://init \
+           file://interfaces \
+           file://nfsroot"
+
+do_install () {
+	install -d ${D}${sysconfdir}/init.d \
+		   ${D}${sysconfdir}/network/if-pre-up.d \
+		   ${D}${sysconfdir}/network/if-up.d \
+		   ${D}${sysconfdir}/network/if-down.d \
+		   ${D}${sysconfdir}/network/if-post-down.d
+	install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/networking
+	install -m 0644 ${WORKDIR}/interfaces ${D}${sysconfdir}/network/interfaces
+	install -m 0755 ${WORKDIR}/nfsroot ${D}${sysconfdir}/network/if-pre-up.d
+
+	# Disable network manager on machines that commonly do NFS booting
+	case "${MACHINE}" in
+		"qemuarm*" | "qemux86" | "qemux86-64" | "qemumips*" | "qemuppc" | "qemush*")
+			touch ${D}${sysconfdir}/network/nm-disabled-eth0
+			;;
+		*)
+			;;
+	esac
+}
+
+CONFFILES_${PN} = "${sysconfdir}/network/interfaces"
diff --git a/meta/recipes-core/netbase/netbase_5.0.bb b/meta/recipes-core/netbase/netbase_5.0.bb
index 3aea874..3c683b0 100644
--- a/meta/recipes-core/netbase/netbase_5.0.bb
+++ b/meta/recipes-core/netbase/netbase_5.0.bb
@@ -4,45 +4,20 @@  HOMEPAGE = "http://packages.debian.org/netbase"
 SECTION = "base"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://debian/copyright;md5=3dd6192d306f582dee7687da3d8748ab"
-PR = "r0"
-
-inherit update-rc.d
-
-INITSCRIPT_NAME = "networking"
-INITSCRIPT_PARAMS = "start 40 S . stop 40 0 6 1 ."
+PR = "r1"
 
 SRC_URI = "${DEBIAN_MIRROR}/main/n/netbase/netbase_${PV}.tar.gz \
-           file://init \
-           file://hosts \
-           file://interfaces \
-           file://nfsroot"
+           file://hosts"
 
 SRC_URI[md5sum] = "a379d9199d44d817543eddc211a29b70"
 SRC_URI[sha256sum] = "ac9424d3cb2bd3c07b6c5bc5875c434d3bc687a73cd7c54b7dc7122308afa9dc"
 
 do_install () {
-	install -d ${D}${sysconfdir}/init.d \
-		   ${D}${mandir}/man8 \
-		   ${D}${sysconfdir}/network/if-pre-up.d \
-		   ${D}${sysconfdir}/network/if-up.d \
-		   ${D}${sysconfdir}/network/if-down.d \
-		   ${D}${sysconfdir}/network/if-post-down.d
-	install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/networking
+	install -d ${D}/${mandir}/man8 ${D}${sysconfdir}
 	install -m 0644 ${WORKDIR}/hosts ${D}${sysconfdir}/hosts
 	install -m 0644 etc-rpc ${D}${sysconfdir}/rpc
 	install -m 0644 etc-protocols ${D}${sysconfdir}/protocols
 	install -m 0644 etc-services ${D}${sysconfdir}/services
-	install -m 0644 ${WORKDIR}/interfaces ${D}${sysconfdir}/network/interfaces
-	install -m 0755 ${WORKDIR}/nfsroot ${D}${sysconfdir}/network/if-pre-up.d
-
-	# Disable network manager on machines that commonly do NFS booting
-	case "${MACHINE}" in
-		"qemuarm*" | "qemux86" | "qemux86-64" | "qemumips*" | "qemuppc" | "qemush*")
-			touch ${D}${sysconfdir}/network/nm-disabled-eth0
-			;;
-		*)
-			;;
-	esac
 }
 
-CONFFILES_${PN} = "${sysconfdir}/hosts ${sysconfdir}/network/interfaces"
+CONFFILES_${PN} = "${sysconfdir}/hosts"
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-boot.bb b/meta/recipes-core/packagegroups/packagegroup-core-boot.bb
index 16ad4e3..3153b87 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-boot.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-boot.bb
@@ -6,7 +6,7 @@  SUMMARY = "Minimal boot requirements"
 DESCRIPTION = "The minimal set of packages required to boot the system"
 LICENSE = "MIT"
 DEPENDS = "virtual/kernel"
-PR = "r10"
+PR = "r11"
 
 inherit packagegroup
 
@@ -39,6 +39,7 @@  RDEPENDS_${PN} = "\
     ${@base_contains("MACHINE_FEATURES", "keyboard", "${VIRTUAL-RUNTIME_keymaps}", "", d)} \
     modutils-initscripts \
     netbase \
+    init-ifupdown \
     ${VIRTUAL-RUNTIME_login_manager} \
     ${VIRTUAL-RUNTIME_init_manager} \
     ${VIRTUAL-RUNTIME_dev_manager} \