Skip to contentSkip to conversation

RFC Distro config changes

PATCH In review Richard Purdie 5 participants 35 messages May 10, 2011 – May 19, 2011 1 message not in the archive

lore
Share & tools
lore
#0 lore raw

cover RFC Distro config changes

From: Richard Purdie <[email protected]>

As discussed, we want to make OE-Core usable with no distro set. This patch series makes some big steps towards that goal. I'd be interested in feedback on whether it does the right things and would be usable by others.

The key is the inclusion of a distro/defaultsetup.conf file by bitbake.conf and in turn this pulls in a variety of other common include files which can likely be shared. Any point of this cycle can be overridden by another layer so its totally customisable. I'd encourage users to use the pieces they can where possible so we all share best practises but obviously people have choice.

I did dump a load of "default" variables into default-distrovars.inc, I'm not calling that file finished, I just had to draw the line somewhere and start a discussion about this :)

Also, I'm aware there are still a few poky-* files in meta/conf/distro/include. Some of these can just be deleted, others renamed tcmode-* and I'll take care of that. I'll also delete the poky.conf file since it no longer contains anything required to make OE-Core build as far as I know (wider testing needed).

Pull URL: git://git.openembedded.org/openembedded-core-contrib
Branch: rpurdie/distro
Browse: http://git.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rpurdie/distro

Richard Purdie (6):
Drop poky-floating-revisions.inc, poky-bleeding.conf and
poky-lsb.conf
bitbake.conf: Include the new default-providers.inc and
default-versions.inc files
distro: Add defaultsetup.conf, a set of default configuration
providing sane overrridable default for commonly used options
machine/qemu: Add qemu-config as an essential machine speicfic
dependency and drop specific distro config
conf/distro/include/default-distrovars.inc: Create set of default
'distro' variable values
preferred-xorg-versions.inc: Drop this, it makes no sense given we
only have one version of these recipes

 meta/conf/bitbake.conf                             |    1 +
 meta/conf/distro/defaultsetup.conf                 |   24 +++
 meta/conf/distro/include/default-distrovars.inc    |   41 ++++++
 meta/conf/distro/include/default-providers.inc     |   34 +++++
 meta/conf/distro/include/default-versions.inc      |   18 +++
 meta/conf/distro/include/poky-fixed-revisions.inc  |   27 ----
 .../distro/include/poky-floating-revisions.inc     |   83 -----------
 .../distro/include/preferred-xorg-versions.inc     |  150 --------------------
 .../include/{poky-eglibc.inc => tclibc-eglibc.inc} |    6 +-
 .../include/{poky-glibc.inc => tclibc-glibc.inc}   |    6 +-
 .../include/{poky-uclibc.inc => tclibc-uclibc.inc} |    4 +
 .../{poky-default.inc => tcmode-default.inc}       |   13 +-
 meta/conf/distro/poky-bleeding.conf                |    8 -
 meta/conf/distro/poky-lsb.conf                     |    9 --
 meta/conf/distro/poky.conf                         |  150 ++------------------
 meta/conf/machine/include/qemu.inc                 |    1 +
 meta/conf/machine/qemux86-64.conf                  |    2 +-
 meta/conf/machine/qemux86.conf                     |    2 +-
 18 files changed, 149 insertions(+), 430 deletions(-)
 create mode 100644 meta/conf/distro/defaultsetup.conf
 create mode 100644 meta/conf/distro/include/default-distrovars.inc
 create mode 100644 meta/conf/distro/include/default-providers.inc
 create mode 100644 meta/conf/distro/include/default-versions.inc
 delete mode 100644 meta/conf/distro/include/poky-fixed-revisions.inc
 delete mode 100644 meta/conf/distro/include/poky-floating-revisions.inc
 delete mode 100644 meta/conf/distro/include/preferred-xorg-versions.inc
 rename meta/conf/distro/include/{poky-eglibc.inc => tclibc-eglibc.inc} (92%)
 rename meta/conf/distro/include/{poky-glibc.inc => tclibc-glibc.inc} (91%)
 rename meta/conf/distro/include/{poky-uclibc.inc => tclibc-uclibc.inc} (86%)
 rename meta/conf/distro/include/{poky-default.inc => tcmode-default.inc} (85%)
 delete mode 100644 meta/conf/distro/poky-bleeding.conf
 delete mode 100644 meta/conf/distro/poky-lsb.conf
Signature · 1 line
1.7.4.1
#1 lore raw

PATCH 1/6 Drop poky-floating-revisions.inc, poky-bleeding.conf and poky-lsb.conf

From: Richard Purdie <[email protected]>

---
 .../distro/include/poky-floating-revisions.inc     |   83 --------------------
 meta/conf/distro/poky-bleeding.conf                |    8 --
 meta/conf/distro/poky-lsb.conf                     |    9 --
 3 files changed, 0 insertions(+), 100 deletions(-)
 delete mode 100644 meta/conf/distro/include/poky-floating-revisions.inc
 delete mode 100644 meta/conf/distro/poky-bleeding.conf
 delete mode 100644 meta/conf/distro/poky-lsb.conf
meta/conf/distro/include/poky-floating-revisions.inc deleted +0 -83
deleted file mode 100644
index 22b4c38..0000000
@@ -1,83 +0,0 @@
-#
-# Package Versions for cutting edge testing:
-#
-
-SRCREV_pn-exmap-console ?= "${AUTOREV}"
-#SRCREV_pn-opkg-native ?= "${AUTOREV}"
-#SRCREV_pn-opkg-sdk ?= "${AUTOREV}"
-#SRCREV_pn-opkg ?= "${AUTOREV}"
-#SRCREV_pn-opkg-utils-naitve ?= "${AUTOREV}"
-#SRCREV_pn-opkg-utils ?= "${AUTOREV}"
-SRCREV_pn-gconf-dbus ?= "${AUTOREV}"
-SRCREV_pn-contacts ?= "${AUTOREV}"
-SRCREV_pn-dates ?= "${AUTOREV}"
-#SRCREV_pn-gtkhtml2 ?= "${AUTOREV}"
-SRCREV_pn-web ?= "${AUTOREV}"
-SRCREV_pn-eds-dbus ?= "${AUTOREV}"
-SRCREV_pn-matchbox-common ?= "${AUTOREV}"
-SRCREV_pn-matchbox-config-gtk ?= "${AUTOREV}"
-SRCREV_pn-matchbox-desktop ?= "${AUTOREV}"
-SRCREV_pn-matchbox-keyboard ?= "${AUTOREV}"
-SRCREV_pn-matchbox-panel ?= "${AUTOREV}"
-SRCREV_pn-matchbox-panel-2 ?= "${AUTOREV}"
-SRCREV_pn-matchbox-stroke ?= "${AUTOREV}"
-SRCREV_pn-matchbox-themes-extra ?= "${AUTOREV}"
-SRCREV_pn-matchbox-terminal ?= "${AUTOREV}"
-SRCREV_pn-matchbox-wm ?= "${AUTOREV}"
-SRCREV_pn-matchbox-wm-2 ?= "${AUTOREV}"
-SRCREV_pn-settings-daemon ?= "${AUTOREV}"
-SRCREV_pn-screenshot ?= "${AUTOREV}"
-SRCREV_pn-libfakekey ?= "${AUTOREV}"
-SRCREV_pn-oprofileui ?= "${AUTOREV}"
-SRCREV_pn-zaurusd ?= "${AUTOREV}"
-SRCREV_pn-libowl-av ?= "${AUTOREV}"
-SRCREV_pn-owl-video ?= "${AUTOREV}"
-SRCREV_pn-psplash ?= "${AUTOREV}"
-SRCREV_pn-exmap-console ?= "${AUTOREV}"
-SRCREV_pn-gtk-sato-engine ?= "${AUTOREV}"
-SRCREV_pn-matchbox-theme-sato ?= "${AUTOREV}"
-SRCREV_pn-matchbox-theme-sato-2 ?= "${AUTOREV}"
-SRCREV_pn-tasks ?= "${AUTOREV}"
-SRCREV_pn-sato-icon-theme ?= "${AUTOREV}"
-SRCREV_pn-matchbox-desktop-sato ?= "${AUTOREV}"
-SRCREV_pn-oh-puzzles ?= "${AUTOREV}"
-SRCREV_pn-libowl ?= "${AUTOREV}"
-SRCREV_pn-matchbox-applet-light ?= "${AUTOREV}"
-SRCREV_pn-fstests ?= "${AUTOREV}"
-SRCREV_pn-xvideo-tests ?= "${AUTOREV}"
-SRCREV_pn-clutter ?= "${AUTOREV}"
-SRCREV_pn-clutter-gst ?= "${AUTOREV}"
-SRCREV_pn-gaku ?= "${AUTOREV}"
-SRCREV_pn-gypsy ?= "${AUTOREV}"
-#SRCREV_pn-webkit-gtk ?= "${AUTOREV}"
-SRCREV_pn-aaina ?= "${AUTOREV}"
-SRCREV_pn-clutter-cairo ?= "${AUTOREV}"
-SRCREV_pn-table ?= "${AUTOREV}"
-SRCREV_pn-libmatchbox ?= "${AUTOREV}"
-SRCREV_pn-tasks ?= "${AUTOREV}"
-SRCREV_pn-mutter ?= "${AUTOREV}"
-SRCREV_pn-ofono ?= "${AUTOREV}"
-
-SRCREV_pn-dri2proto = "${AUTOREV}"
-#PREFERRED_VERSION_dri2proto ?= "1.99.1+git${SRCREV}"
-SRCREV_pn-libdrm = "${AUTOREV}"
-#PREFERRED_VERSION_libdrm ?= "2.4.0+git${SRCREV}"
-SRCREV_pn-libxcb = "${AUTOREV}"
-#PREFERRED_VERSION_libxcb ?= "1.1.90.1+gitr${SRCREV}"
-SRCREV_pn-lib-proto = "${AUTOREV}"
-#PREFERRED_VERSION_xcb-proto ?= "1.2+gitr${SRCREV}"
-SRCREV_pn-libxcb-sdk = "${AUTOREV}"
-#PREFERRED_VERSION_libxcb-sdk ?= "1.1.90.1+gitr${SRCREV}"
-SRCREV_pn-xf86-input-evdev = "${AUTOREV}"
-#PREFERRED_VERSION_xf86-input-evdev ?= "2.0.4"
-SRCREV_pn-xf86-input-mouse = "${AUTOREV}"
-#PREFERRED_VERSION_xf86-input-mouse ?= "1.3.0+git${SRCREV}"
-SRCREV_pn-xf86-input-keyboard = "${AUTOREV}"
-#PREFERRED_VERSION_xf86-input-keyboard ?= "1.3.1+git${SRCREV}"
-SRCREV_pn-xf86-input-synaptics = "${AUTOREV}"
-#PREFERRED_VERSION_xf86-input-synaptics ?= "0.15.2+git${SRCREV}"
-
-#SRCDATE_oprofile ?= "${DATE}"
-
-PREFERRED_VERSION_oprofile ?= "0.9.4+cvs${SRCDATE_oprofile}"
-
meta/conf/distro/poky-bleeding.conf deleted +0 -8
deleted file mode 100644
index 328acfe..0000000
@@ -1,8 +0,0 @@
-PREFERRED_VERSION_glib-2.0 ?= "2.17.4"
-PREFERRED_VERSION_glib-2.0-native ?= "2.17.4"
-PREFERRED_VERSION_atk ?= "1.22.0"
-PREFERRED_VERSION_pango ?= "1.21.2"
-PREFERRED_VERSION_gtk+ ?= "2.13.3"
-
-require conf/distro/include/poky-floating-revisions.inc
-require conf/distro/poky.conf
meta/conf/distro/poky-lsb.conf deleted +0 -9
deleted file mode 100644
index 5bc97ec..0000000
@@ -1,9 +0,0 @@
-require conf/distro/poky.conf
-
-DISTRO = "linuxstdbase"
-DISTROOVERRIDES = "poky:linuxstdbase"
-
-DISTRO_FEATURES += "pam largefile"
-PREFERRED_PROVIDER_virtual/libx11 = "libx11"
-
-
Signature · 1 line
1.7.4.1
#2 lore raw

PATCH 2/6 bitbake.conf: Include the new default-providers.inc and default-versions.inc files

In reply to Richard Purdie

From: Richard Purdie <[email protected]>

These are the minimal defaults to allow OE-Core to function standalone with no distro set and are constucted such that the distro can either override values, or totally replace the include file entirely as needed.

---
 meta/conf/bitbake.conf                            |    3 +
 meta/conf/distro/include/default-providers.inc    |   34 ++++++++++++
 meta/conf/distro/include/default-versions.inc     |   18 ++++++
 meta/conf/distro/include/poky-fixed-revisions.inc |   27 ---------
 meta/conf/distro/poky.conf                        |   59 +--------------------
 5 files changed, 56 insertions(+), 85 deletions(-)
 create mode 100644 meta/conf/distro/include/default-providers.inc
 create mode 100644 meta/conf/distro/include/default-versions.inc
 delete mode 100644 meta/conf/distro/include/poky-fixed-revisions.inc
meta/conf/bitbake.conf +3 -0
index 4a1bfa1..d843e70 100644
@@ -627,6 +627,9 @@ include conf/build/${BUILD_SYS}.conf
 include conf/target/${TARGET_SYS}.conf
 include conf/machine/${MACHINE}.conf
 include conf/machine-sdk/${SDKMACHINE}.conf
+include conf/distro/include/default-providers.inc
+include conf/distro/include/default-versions.inc
+include conf/distro/include/world-broken.inc
 include conf/distro/${DISTRO}.conf
 include conf/documentation.conf
 require conf/sanity.conf
meta/conf/distro/include/default-providers.inc new file +34 -0
new file mode 100644
index 0000000..d51ac64
@@ -0,0 +1,34 @@
+#
+# Default virtual providers
+#
+PREFERRED_PROVIDER_virtual/db ?= "db"
+PREFERRED_PROVIDER_virtual/db-native ?= "db-native"
+PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xf86"
+PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xf86-dri-lite"
+PREFERRED_PROVIDER_virtual/libgl ?= "mesa-xlib"
+PREFERRED_PROVIDER_virtual/update-alternatives ?= "update-alternatives-cworth"
+PREFERRED_PROVIDER_virtual/update-alternatives-native ?= "opkg-native"
+PREFERRED_PROVIDER_virtual/libx11 ?= "libx11-trim"
+PREFERRED_PROVIDER_xf86-video-intel ?= "xf86-video-intel"
+
+#
+# Default virtual runtime providers
+#
+VIRTUAL-RUNTIME_update-alternatives ?= "update-alternatives-cworth"
+
+#
+# Default recipe providers
+#
+PREFERRED_PROVIDER_dbus-glib ?= "dbus-glib"
+PREFERRED_PROVIDER_dbus-glib-native ?= "dbus-glib-native"
+PREFERRED_PROVIDER_gconf ?= "gconf-dbus"
+PREFERRED_PROVIDER_gdk-pixbuf ?= "gdk-pixbuf"
+PREFERRED_PROVIDER_libgcc ?= "libgcc"
+PREFERRED_PROVIDER_libgcc-nativesdk ?= "libgcc-nativesdk"
+PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers"
+PREFERRED_PROVIDER_linux-libc-headers-nativesdk ?= "linux-libc-headers-nativesdk"
+PREFERRED_PROVIDER_matchbox-panel ?= "matchbox-panel-2"
+PREFERRED_PROVIDER_opkg ?= "opkg"
+PREFERRED_PROVIDER_opkg-native ?= "opkg-native"
+PREFERRED_PROVIDER_opkg-nativesdk ?= "opkg-nativesdk"
+
meta/conf/distro/include/default-versions.inc new file +18 -0
new file mode 100644
index 0000000..0abbd8f
@@ -0,0 +1,18 @@
+#
+# Default preferred versions
+#
+PULSEAUDIOVERSION ?= "0.9.22"
+PULSEAUDIOVERSION_arm ?= "0.9.15"
+PREFERRED_VERSION_pulseaudio ?= "${PULSEAUDIOVERSION}"
+
+# Force the python versions in one place
+PYTHON_BASEVERSION ?= "2.6"
+PREFERRED_VERSION_python ?= "2.6.6"
+PREFERRED_VERSION_python-native ?= "2.6.6"
+
+# Force the older version of liberation-fonts until we fix the fontforge issue
+PREFERRED_VERSION_liberation-fonts ?= "1.04"
+
+
+
+
meta/conf/distro/include/poky-fixed-revisions.inc deleted +0 -27
deleted file mode 100644
index 9486080..0000000
@@ -1,27 +0,0 @@
-# Preferred Versions:
-#
-PREFERRED_VERSION_libmatchbox ?= "1.9"
-PREFERRED_VERSION_matchbox-theme-sato ?= "0.1"
-PREFERRED_VERSION_elfutils ?= "0.89"
-PREFERRED_VERSION_hal ?= "0.5.14"
-PREFERRED_VERSION_hal-info ?= "20091130"
-PREFERRED_VERSION_udev ?= "164"
-PREFERRED_VERSION_wpa-supplicant ?= "0.7.3"
-PREFERRED_VERSION_pseudo = "1.0"
-PREFERRED_VERSION_pseudo-native = "1.0"
-
-PULSEAUDIOVERSION ?= "0.9.22"
-PULSEAUDIOVERSION_arm ?= "0.9.15"
-PREFERRED_VERSION_pulseaudio ?= "${PULSEAUDIOVERSION}"
-
-# Force the python versions in one place
-PYTHON_BASEVERSION ?= "2.6"
-PREFERRED_VERSION_python ?= "2.6.6"
-PREFERRED_VERSION_python-native ?= "2.6.6"
-
-# Force the older version of liberation-fonts until we fix the fontforge issue
-PREFERRED_VERSION_liberation-fonts ?= "1.04"
-
-
-
-
meta/conf/distro/poky.conf +1 -58

82 lines not on this page · raw message

Signature · 1 line
1.7.4.1
#3 lore raw

Re: [PATCH 2/6] bitbake.conf: Include the new default-providers.inc and default-versions.inc files

Op 10 mei 2011, om 16:00 heeft Richard Purdie het volgende geschreven:

Quoted 25 lines

From: Richard Purdie <[email protected]>

These are the minimal defaults to allow OE-Core to function standalone with no distro set and are constucted such that the distro can either override values, or totally replace the include file entirely as needed.

---

meta/conf/bitbake.conf                            |    3 +
meta/conf/distro/include/default-providers.inc    |   34 ++++++++++++
meta/conf/distro/include/default-versions.inc     |   18 ++++++
meta/conf/distro/include/poky-fixed-revisions.inc |   27 ---------
meta/conf/distro/poky.conf                        |   59 +--------------------
5 files changed, 56 insertions(+), 85 deletions(-)

create mode 100644 meta/conf/distro/include/default-providers.inc create mode 100644 meta/conf/distro/include/default-versions.inc delete mode 100644 meta/conf/distro/include/poky-fixed-revisions.inc

meta/conf/distro/include/default-providers.inc new file +0 -0
new file mode 100644
index 0000000..d51ac64

meta/conf/distro/include/default-providers.inc

Quoted 2 lines
meta/conf/distro/include/default-providers.inc new file +1 -0
@@ -0,0 +1,34 @@
 
+PREFERRED_PROVIDER_gconf ?= "gconf-dbus"

the dbus port has long been merged upstream, so proper gconf would be a better choice. We could ignore it and just use dconf in meta-gnome, though ;)

Quoted 1 line

+PREFERRED_PROVIDER_opkg ?= "opkg"

We should sync with OE and drop the ssl/gpg stuff noone seems to be using.

meta/conf/distro/include/default-versions.inc line 6

Quoted 12 lines
meta/conf/distro/include/default-versions.inc new file +6 -0
new file mode 100644
index 0000000..0abbd8f
@@ -0,0 +1,18 @@
+#
+# Default preferred versions
+#
+PULSEAUDIOVERSION ?= "0.9.22"
+PULSEAUDIOVERSION_arm ?= "0.9.15"
+PREFERRED_VERSION_pulseaudio ?= "${PULSEAUDIOVERSION}

AIUI 0.9.15 is the last version that doesn't need atomic ops. In OE we backported the necessary bits to gcc 4.3.x, gcc 4.5.x already has them. So lets drop the _arm override or atleast document why.

meta/conf/distro/include/default-versions.inc line 11

Quoted 4 lines
meta/conf/distro/include/default-versions.inc new file +4 -0
+# Force the python versions in one place
+PYTHON_BASEVERSION ?= "2.6"
+PREFERRED_VERSION_python ?= "2.6.6"
+PREFERRED_VERSION_python-native ?= "2.6.6"

Not really related, but update to 2.7.x?

regards,

Koen

#4 lore raw

Re: [PATCH 2/6] bitbake.conf: Include the new default-providers.inc and default-versions.inc files

Quoted 28 lines · Koen Kooi

Op 10 mei 2011, om 16:00 heeft Richard Purdie het volgende geschreven:

Quoted 26 lines

From: Richard Purdie <[email protected]>

These are the minimal defaults to allow OE-Core to function standalone with no distro set and are constucted such that the distro can either override values, or totally replace the include file entirely as needed.

---

meta/conf/bitbake.conf                            |    3 +
meta/conf/distro/include/default-providers.inc    |   34 ++++++++++++
meta/conf/distro/include/default-versions.inc     |   18 ++++++
meta/conf/distro/include/poky-fixed-revisions.inc |   27 ---------
meta/conf/distro/poky.conf                        |   59 +--------------------
5 files changed, 56 insertions(+), 85 deletions(-)

create mode 100644 meta/conf/distro/include/default-providers.inc create mode 100644 meta/conf/distro/include/default-versions.inc delete mode 100644 meta/conf/distro/include/poky-fixed-revisions.inc

meta/conf/distro/include/default-providers.inc new file +0 -0
new file mode 100644
index 0000000..d51ac64
@@ -0,0 +1,34 @@
Quoted 5 lines

meta/conf/distro/include/default-providers.inc line 24

Quoted 1 line
meta/conf/distro/include/default-providers.inc new file +1 -0
+PREFERRED_PROVIDER_gconf ?= "gconf-dbus"

the dbus port has long been merged upstream, so proper gconf would be a better choice. We could ignore it and just use dconf in meta-gnome, though ;)

I agree we should be using gconf, could someone send me the recipe though? ;-).

Quoted 4 lines

meta/conf/distro/include/default-providers.inc line 31

Quoted 1 line
meta/conf/distro/include/default-providers.inc new file +1 -0
+PREFERRED_PROVIDER_opkg ?= "opkg"

We should sync with OE and drop the ssl/gpg stuff noone seems to be using.

You mean disable ssl/gpg in all cases?

Quoted 8 lines
Quoted 8 lines
meta/conf/distro/include/default-versions.inc new file +2 -0
new file mode 100644
index 0000000..0abbd8f
@@ -0,0 +1,18 @@
+#
+# Default preferred versions
Quoted 8 lines

meta/conf/distro/include/default-versions.inc

Quoted 4 lines
meta/conf/distro/include/default-versions.inc new file +4 -0
+#
+PULSEAUDIOVERSION ?= "0.9.22"
+PULSEAUDIOVERSION_arm ?= "0.9.15"
+PREFERRED_VERSION_pulseaudio ?= "${PULSEAUDIOVERSION}

AIUI 0.9.15 is the last version that doesn't need atomic ops. In OE we backported the necessary bits to gcc 4.3.x, gcc 4.5.x already has them. So lets drop the _arm override or atleast document why.

If we don't need 0.9.15, lets get rid of it...

Quoted 6 lines

meta/conf/distro/include/default-versions.inc line 11

Quoted 4 lines
meta/conf/distro/include/default-versions.inc new file +4 -0
+# Force the python versions in one place
+PYTHON_BASEVERSION ?= "2.6"
+PREFERRED_VERSION_python ?= "2.6.6"
+PREFERRED_VERSION_python-native ?= "2.6.6"

Not really related, but update to 2.7.x?

Sure. Patches welcome :)

Just to be clear, these are a reflection of what is in OECore today. These things are good imrovements and I'm more than happy to change or remove these entries as needed but they're all further standalone changes in their own right so I'm not going to hold the patch series on them.

Cheers,

Richard

#5 lore raw

Re: [PATCH 2/6] bitbake.conf: Include the new default-providers.inc and default-versions.inc files

Op 11 mei 2011, om 11:09 heeft Richard Purdie het volgende geschreven:

Quoted 29 lines · Koen Kooi
Quoted 28 lines

Op 10 mei 2011, om 16:00 heeft Richard Purdie het volgende geschreven:

Quoted 26 lines

From: Richard Purdie <[email protected]>

These are the minimal defaults to allow OE-Core to function standalone with no distro set and are constucted such that the distro can either override values, or totally replace the include file entirely as needed.

---

meta/conf/bitbake.conf                            |    3 +
meta/conf/distro/include/default-providers.inc    |   34 ++++++++++++
meta/conf/distro/include/default-versions.inc     |   18 ++++++
meta/conf/distro/include/poky-fixed-revisions.inc |   27 ---------
meta/conf/distro/poky.conf                        |   59 +--------------------
5 files changed, 56 insertions(+), 85 deletions(-)

create mode 100644 meta/conf/distro/include/default-providers.inc create mode 100644 meta/conf/distro/include/default-versions.inc delete mode 100644 meta/conf/distro/include/poky-fixed-revisions.inc

meta/conf/distro/include/default-providers.inc new file +0 -0
new file mode 100644
index 0000000..d51ac64
@@ -0,0 +1,34 @@
Quoted 8 lines
Quoted 5 lines

meta/conf/distro/include/default-providers.inc line 24

Quoted 1 line
meta/conf/distro/include/default-providers.inc new file +1 -0
+PREFERRED_PROVIDER_gconf ?= "gconf-dbus"

the dbus port has long been merged upstream, so proper gconf would be a better choice. We could ignore it and just use dconf in meta-gnome, though ;)

I agree we should be using gconf, could someone send me the recipe though? ;-).

I think we want to keep gconf in meta-gnome and pull the dependants out of oe-core

Quoted 6 lines
Quoted 4 lines

meta/conf/distro/include/default-providers.inc line 31

Quoted 1 line
meta/conf/distro/include/default-providers.inc new file +1 -0
+PREFERRED_PROVIDER_opkg ?= "opkg"

We should sync with OE and drop the ssl/gpg stuff noone seems to be using.

You mean disable ssl/gpg in all cases?

Yes, that's what we did in OE and no one complained, not even the usual suspects.

Quoted 17 lines
Quoted 8 lines
Quoted 8 lines
meta/conf/distro/include/default-versions.inc new file +2 -0
new file mode 100644
index 0000000..0abbd8f
@@ -0,0 +1,18 @@
+#
+# Default preferred versions
Quoted 8 lines

meta/conf/distro/include/default-versions.inc

Quoted 4 lines
meta/conf/distro/include/default-versions.inc new file +4 -0
+#
+PULSEAUDIOVERSION ?= "0.9.22"
+PULSEAUDIOVERSION_arm ?= "0.9.15"
+PREFERRED_VERSION_pulseaudio ?= "${PULSEAUDIOVERSION}

AIUI 0.9.15 is the last version that doesn't need atomic ops. In OE we backported the necessary bits to gcc 4.3.x, gcc 4.5.x already has them. So lets drop the _arm override or atleast document why.

Quoted 1 line

If we don't need 0.9.15, lets get rid of it...

Exactly :)

#6 lore raw

Re: [PATCH 2/6] bitbake.conf: Include the new default-providers.inc and default-versions.inc files

Quoted 37 lines · Koen Kooi

Op 11 mei 2011, om 11:09 heeft Richard Purdie het volgende geschreven:

Quoted 35 lines · Koen Kooi
Quoted 33 lines

Op 10 mei 2011, om 16:00 heeft Richard Purdie het volgende geschreven:

Quoted 25 lines

From: Richard Purdie <[email protected]>

These are the minimal defaults to allow OE-Core to function standalone with no distro set and are constucted such that the distro can either override values, or totally replace the include file entirely as needed.

---

meta/conf/bitbake.conf                            |    3 +
meta/conf/distro/include/default-providers.inc    |   34 ++++++++++++
meta/conf/distro/include/default-versions.inc     |   18 ++++++
meta/conf/distro/include/poky-fixed-revisions.inc |   27 ---------
meta/conf/distro/poky.conf                        |   59 +--------------------
5 files changed, 56 insertions(+), 85 deletions(-)

create mode 100644 meta/conf/distro/include/default-providers.inc create mode 100644 meta/conf/distro/include/default-versions.inc delete mode 100644 meta/conf/distro/include/poky-fixed-revisions.inc

meta/conf/distro/include/default-providers.inc new file +0 -0
new file mode 100644
index 0000000..d51ac64

meta/conf/distro/include/default-providers.inc

Quoted 2 lines
meta/conf/distro/include/default-providers.inc new file +1 -0
@@ -0,0 +1,34 @@
 
+PREFERRED_PROVIDER_gconf ?= "gconf-dbus"

the dbus port has long been merged upstream, so proper gconf would be a better choice. We could ignore it and just use dconf in meta-gnome, though ;)

Quoted 4 lines
Quoted 2 lines

I agree we should be using gconf, could someone send me the recipe though? ;-).

I think we want to keep gconf in meta-gnome and pull the dependants out of oe-core

We have a slight dependency conflict here as we've said we want sato in OECore so we have something we can actually test.

Are we now saying sato also needs to be separated out into its own layer?

Or can we define meta-gnome as being the gnome pieces without direct requirements in OECore for a minimal gtk desktop?

Cheers,

Richard

#7 lore raw

Re: [PATCH 2/6] bitbake.conf: Include the new default-providers.inc and default-versions.inc files

Op 11 mei 2011, om 13:24 heeft Richard Purdie het volgende geschreven:

Quoted 41 lines · Koen Kooi
Quoted 40 lines

Op 11 mei 2011, om 11:09 heeft Richard Purdie het volgende geschreven:

Quoted 37 lines · Koen Kooi
Quoted 28 lines

Op 10 mei 2011, om 16:00 heeft Richard Purdie het volgende geschreven:

Quoted 26 lines

From: Richard Purdie <[email protected]>

These are the minimal defaults to allow OE-Core to function standalone with no distro set and are constucted such that the distro can either override values, or totally replace the include file entirely as needed.

---

meta/conf/bitbake.conf                            |    3 +
meta/conf/distro/include/default-providers.inc    |   34 ++++++++++++
meta/conf/distro/include/default-versions.inc     |   18 ++++++
meta/conf/distro/include/poky-fixed-revisions.inc |   27 ---------
meta/conf/distro/poky.conf                        |   59 +--------------------
5 files changed, 56 insertions(+), 85 deletions(-)

create mode 100644 meta/conf/distro/include/default-providers.inc create mode 100644 meta/conf/distro/include/default-versions.inc delete mode 100644 meta/conf/distro/include/poky-fixed-revisions.inc

meta/conf/distro/include/default-providers.inc new file +0 -0
new file mode 100644
index 0000000..d51ac64
@@ -0,0 +1,34 @@
Quoted 5 lines

meta/conf/distro/include/default-providers.inc line 24

Quoted 1 line
meta/conf/distro/include/default-providers.inc new file +1 -0
+PREFERRED_PROVIDER_gconf ?= "gconf-dbus"

the dbus port has long been merged upstream, so proper gconf would be a better choice. We could ignore it and just use dconf in meta-gnome, though ;)

I agree we should be using gconf, could someone send me the recipe though? ;-).

Quoted 7 lines
Quoted 1 line

I think we want to keep gconf in meta-gnome and pull the dependants out of oe-core

We have a slight dependency conflict here as we've said we want sato in OECore so we have something we can actually test.

Are we now saying sato also needs to be separated out into its own layer?

I think that's the best way forward.

Quoted 2 lines

Or can we define meta-gnome as being the gnome pieces without direct requirements in OECore for a minimal gtk desktop?

If it's using gconf, it's not a minimal gtk desktop anymore. I see the point in having something like sato in oe-core, but I don't think that's worth having gconf(-dbus) in oe-core. But this is a different discussion, since there are other things that can use gconf (e.g. gstreamer) in oe-core, which we would need to take a look at.

Let's get your distro set merged and then improve on it.

regards,

Koen

#8 lore raw

Re: [PATCH 2/6] bitbake.conf: Include the new default-providers.inc and default-versions.inc files

Quoted 29 lines · Koen Kooi

Op 11 mei 2011, om 13:24 heeft Richard Purdie het volgende geschreven:

Quoted 17 lines · Koen Kooi
Quoted 16 lines

Op 11 mei 2011, om 11:09 heeft Richard Purdie het volgende geschreven:

Quoted 13 lines · Koen Kooi
Quoted 9 lines

Op 10 mei 2011, om 16:00 heeft Richard Purdie het volgende geschreven:

Review

Quoted 4 lines

+++ b/meta/conf/distro/include/default-providers.inc

(quoted diff) +1 -0
@@ -0,0 +1,34 @@
 
+PREFERRED_PROVIDER_gconf ?= "gconf-dbus"

the dbus port has long been merged upstream, so proper gconf would be a better choice. We could ignore it and just use dconf in meta-gnome, though ;)

I agree we should be using gconf, could someone send me the recipe though? ;-).

Quoted 7 lines
Quoted 1 line

I think we want to keep gconf in meta-gnome and pull the dependants out of oe-core

We have a slight dependency conflict here as we've said we want sato in OECore so we have something we can actually test.

Are we now saying sato also needs to be separated out into its own layer?

I think that's the best way forward.

Quoted 8 lines
Quoted 2 lines

Or can we define meta-gnome as being the gnome pieces without direct requirements in OECore for a minimal gtk desktop?

If it's using gconf, it's not a minimal gtk desktop anymore. I see the point in having something like sato in oe-core, but I don't think that's worth having gconf(-dbus) in oe-core. But this is a different discussion, since there are other things that can use gconf (e.g. gstreamer) in oe-core, which we would need to take a look at.

It could be argued that gtk with no way to store settings is a little useless. I'm in favour of having the core graphics testable so I'm not 100% convinced of your argument above. It certainly goes against the viewpoint that came out of the TSC meetings so we need further discussion.

In the meantime, replacing gconf-dbus with gconf would seem to move us closer to where we want to be overall.

Quoted 1 line

Let's get your distro set merged and then improve on it.

Done :)

Cheers,

Richard

#9 lore raw

PATCH 3/6 distro: Add defaultsetup.conf, a set of default configuration providing sane overrridable default for commonly used options

In reply to Richard Purdie

From: Richard Purdie <[email protected]>

The intent is to allow distros to share common core config but still allow customisations. The core should work with no distro set but users can still customise in any ways needed.

---
 meta/conf/bitbake.conf                             |    4 +-
 meta/conf/distro/defaultsetup.conf                 |   23 ++++++++++
 .../include/{poky-eglibc.inc => tclibc-eglibc.inc} |    6 ++-
 .../include/{poky-glibc.inc => tclibc-glibc.inc}   |    6 ++-
 .../include/{poky-uclibc.inc => tclibc-uclibc.inc} |    4 ++
 .../{poky-default.inc => tcmode-default.inc}       |   13 +++---
 meta/conf/distro/poky.conf                         |   46 +++++--------------
 7 files changed, 54 insertions(+), 48 deletions(-)
 create mode 100644 meta/conf/distro/defaultsetup.conf
 rename meta/conf/distro/include/{poky-eglibc.inc => tclibc-eglibc.inc} (92%)
 rename meta/conf/distro/include/{poky-glibc.inc => tclibc-glibc.inc} (91%)
 rename meta/conf/distro/include/{poky-uclibc.inc => tclibc-uclibc.inc} (86%)
 rename meta/conf/distro/include/{poky-default.inc => tcmode-default.inc} (85%)
meta/conf/bitbake.conf +1 -3
index d843e70..ce74a9b 100644
@@ -627,9 +627,7 @@ include conf/build/${BUILD_SYS}.conf
 include conf/target/${TARGET_SYS}.conf
 include conf/machine/${MACHINE}.conf
 include conf/machine-sdk/${SDKMACHINE}.conf
-include conf/distro/include/default-providers.inc
-include conf/distro/include/default-versions.inc
-include conf/distro/include/world-broken.inc
+include conf/distro/defaultsetup.conf
 include conf/distro/${DISTRO}.conf
 include conf/documentation.conf
 require conf/sanity.conf
meta/conf/distro/defaultsetup.conf new file +23 -0
new file mode 100644
index 0000000..af5ef7b
@@ -0,0 +1,23 @@
+include conf/distro/include/default-providers.inc
+include conf/distro/include/default-versions.inc
+include conf/distro/include/world-broken.inc
+
+TARGET_VENDOR ?= "-oecore"
+
+TARGET_FPU_arm ?= "soft"
+TARGET_FPU_armeb ?= "soft"
+
+TCMODE ?= "default"
+require conf/distro/include/tcmode-${TCMODE}.inc
+
+TCLIBC ?= "eglibc"
+require conf/distro/include/tclibc-${TCLIBC}.inc
+
+CACHE = "${TMPDIR}/cache/${TCMODE}-${TCLIBC}${@['', '/' + str(bb.data.getVar('MACHINE', d, 1))][bool(bb.data.getVar('MACHINE', d, 1))]}${@['', '/' + str(bb.data.getVar('SDKMACHINE', d, 1))][bool(bb.data.getVar('SDKMACHINE', d, 1))]}"
+
+USER_CLASSES ?= ""
+PACKAGE_CLASSES ?= "package_ipk"
+INHERIT_INSANE ?= "insane"
+INHERIT_DISTRO ?= "debian devshell sstate license"
+INHERIT += "${PACKAGE_CLASSES} ${USER_CLASSES} ${INHERIT_INSANE} ${INHERIT_DISTRO}"
+
meta/conf/distro/include/tclibc-eglibc.inc renamed from meta/conf/distro/include/poky-eglibc.inc +4 -2
similarity index 92%
rename from meta/conf/distro/include/poky-eglibc.inc
rename to meta/conf/distro/include/tclibc-eglibc.inc
index 3d2c362..16625e3 100644
@@ -2,6 +2,10 @@
 # eglibc specific configuration
 #
 
+TARGET_OS = "linux"
+TARGET_OS_arm = "linux-gnueabi"
+TARGET_OS_armeb = "linux-gnueabi"
+
 # Add glibc overrides to the overrides for eglibc.
 OVERRIDES .= ":libc-glibc"
 
@@ -17,8 +21,6 @@ PREFERRED_PROVIDER_virtual/libiconv-nativesdk ?= "eglibc-nativesdk"
 PREFERRED_PROVIDER_virtual/libc-nativesdk ?= "eglibc-nativesdk"
 PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-initial-nativesdk ?= "eglibc-initial-nativesdk"
 
-TARGET_OS = "${GLIBCTARGETOS}"
-
 CXXFLAGS += "-fvisibility-inlines-hidden"
 
 LIBC_DEPENDENCIES = "libsegfault \
meta/conf/distro/include/tclibc-glibc.inc renamed from meta/conf/distro/include/poky-glibc.inc +4 -2
similarity index 91%
rename from meta/conf/distro/include/poky-glibc.inc
rename to meta/conf/distro/include/tclibc-glibc.inc
index 4be7122..79da986 100644
@@ -2,6 +2,10 @@
 # glibc specific configuration
 #
 
+TARGET_OS = "linux"
+TARGET_OS_arm = "linux-gnueabi"
+TARGET_OS_armeb = "linux-gnueabi"
+
 # Add glibc to the overrides.
 OVERRIDES =. "libc-glibc:"
 
@@ -16,8 +20,6 @@ PREFERRED_PROVIDER_virtual/libiconv-nativesdk ?= "glibc-nativesdk"
 PREFERRED_PROVIDER_virtual/libc-nativesdk ?= "glibc-nativesdk"
 PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-initial-nativesdk ?= "glibc-initial-nativesdk"
 
-TARGET_OS = "${GLIBCTARGETOS}"
-
 CXXFLAGS += "-fvisibility-inlines-hidden"
 
 LIBC_DEPENDENCIES = "\
meta/conf/distro/include/tclibc-uclibc.inc renamed from meta/conf/distro/include/poky-uclibc.inc +4 -0
similarity index 86%
rename from meta/conf/distro/include/poky-uclibc.inc
rename to meta/conf/distro/include/tclibc-uclibc.inc
index def9dfe..18748fa 100644
@@ -2,6 +2,10 @@
 # uclibc specific configuration
 #
 
+TARGET_OS = "linux-uclibc"
+TARGET_OS_arm = "linux-uclibceabi"
+TARGET_OS_armeb = "linux-uclibceabi"
+
 # Add uclibc overrides to the overrides.
 OVERRIDES =. "libc-uclibc:"
 
meta/conf/distro/include/tcmode-default.inc renamed from meta/conf/distro/include/poky-default.inc +6 -7
similarity index 85%
rename from meta/conf/distro/include/poky-default.inc
rename to meta/conf/distro/include/tcmode-default.inc
index 91985b3..909d802 100644
@@ -1,18 +1,16 @@
 #
-# Poky's default configuration
+# Default toolchain configuration
 #
 
-TARGET_VENDOR = "-poky"
-
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "${POKYLIBC}"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "${TCLIBC}"
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross"
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "gcc-cross-initial"
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "gcc-cross-intermediate"
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross"
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross"
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs = "gcc-runtime"
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "${POKYLIBC}-initial"
-PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-for-gcc-nativesdk ?= "${POKYLIBC}-nativesdk"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "${TCLIBC}-initial"
+PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-for-gcc-nativesdk ?= "${TCLIBC}-nativesdk"
 
 PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
 
@@ -50,6 +48,7 @@ PREFERRED_VERSION_elfutils ?= "0.148"
 # some packages using an archive format incompatible with earlier gzip
 PREFERRED_VERSION_gzip-native ?= "1.4"
 
+# Setup suitable toolchain flags
 require conf/distro/include/as-needed.inc
-
+TARGET_LINK_HASH_STYLE ?= "${@['-Wl,--hash-style=gnu',''][bb.data.getVar('TARGET_ARCH', d, True) in ['mips', 'mipsel', 'mips64', 'mips64el']]}"
 
meta/conf/distro/poky.conf +12 -34

80 lines not on this page · raw message

Signature · 1 line
1.7.4.1
#10 lore raw

Re: [PATCH 3/6] distro: Add defaultsetup.conf, a set of default configuration providing sane overrridable default for commonly used options

Op 10 mei 2011, om 16:00 heeft Richard Purdie het volgende geschreven:

Quoted 34 lines

From: Richard Purdie <[email protected]>

The intent is to allow distros to share common core config but still allow customisations. The core should work with no distro set but users can still customise in any ways needed.

---

meta/conf/bitbake.conf                             |    4 +-
meta/conf/distro/defaultsetup.conf                 |   23 ++++++++++
.../include/{poky-eglibc.inc => tclibc-eglibc.inc} |    6 ++-
.../include/{poky-glibc.inc => tclibc-glibc.inc}   |    6 ++-
.../include/{poky-uclibc.inc => tclibc-uclibc.inc} |    4 ++
.../{poky-default.inc => tcmode-default.inc}       |   13 +++---
meta/conf/distro/poky.conf                         |   46 +++++--------------
7 files changed, 54 insertions(+), 48 deletions(-)

create mode 100644 meta/conf/distro/defaultsetup.conf
rename meta/conf/distro/include/{poky-eglibc.inc => tclibc-eglibc.inc} (92%) rename meta/conf/distro/include/{poky-glibc.inc => tclibc-glibc.inc} (91%) rename meta/conf/distro/include/{poky-uclibc.inc => tclibc-uclibc.inc} (86%) rename meta/conf/distro/include/{poky-default.inc => tcmode-default.inc} (85%)

meta/conf/bitbake.conf +0 -0
index d843e70..ce74a9b 100644
@@ -627,9 +627,7 @@ include conf/build/${BUILD_SYS}.conf

include conf/target/${TARGET_SYS}.conf
include conf/machine/${MACHINE}.conf
include conf/machine-sdk/${SDKMACHINE}.conf

meta/conf/bitbake.conf +1 -3
-include conf/distro/include/default-providers.inc
-include conf/distro/include/default-versions.inc
-include conf/distro/include/world-broken.inc
+include conf/distro/defaultsetup.conf
Quoted 1 line

include conf/distro/${DISTRO}.conf

Please include it after $DISTRO, otherwise ?= in $DISTRO won't work as intended.

Quoted 8 lines

include conf/documentation.conf
require conf/sanity.conf

meta/conf/distro/defaultsetup.conf new file +0 -0
new file mode 100644
index 0000000..af5ef7b

meta/conf/distro/defaultsetup.conf line 8

Quoted 8 lines
meta/conf/distro/defaultsetup.conf new file +8 -0
@@ -0,0 +1,23 @@
+include conf/distro/include/default-providers.inc
+include conf/distro/include/default-versions.inc
+include conf/distro/include/world-broken.inc
+
+TARGET_VENDOR ?= "-oecore"
+
+TARGET_FPU_arm ?= "soft"
+TARGET_FPU_armeb ?= "soft"

Something more elaborate would be better, this is what angstrom has:

conf/distro/include/angstrom.inc:TARGET_FPU_arm = "soft" conf/distro/include/angstrom.inc:TARGET_FPU_armeb = "soft" conf/distro/include/angstrom.inc:TARGET_FPU_ixp4xx = "soft" conf/distro/include/angstrom.inc:TARGET_FPU_ppc405 = "soft" conf/distro/include/angstrom.inc:TARGET_FPU_armv6 = "hard" conf/distro/include/angstrom.inc:TARGET_FPU_armv6-novfp = "soft" conf/distro/include/angstrom.inc:TARGET_FPU_armv7a = "hard" conf/distro/include/angstrom.inc:TARGET_FPU_ppc603e = "hard"

you really want to use hard (don't confuse it with hardfp) on armv7a.

meta/conf/distro/defaultsetup.conf line 20

Quoted 1 line
meta/conf/distro/defaultsetup.conf new file +1 -0
+INHERIT_INSANE ?= "insane"

excellent!

meta/conf/distro/include/tclibc-eglibc.inc line 7

Quoted 10 lines
meta/conf/distro/include/tclibc-eglibc.inc renamed from meta/conf/distro/include/poky-eglibc.inc +3 -0
@@ -2,6 +2,10 @@
 # eglibc specific configuration
 #
 
+TARGET_OS = "linux"
+TARGET_OS_arm = "linux-gnueabi"
+TARGET_OS_armeb = "linux-gnueabi"

Maybe something like angstroms version:

TARGET_OS = "linux"
TARGET_OS .= "${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb']]}" TARGET_OS .= "${@['','-gnuspe'][bb.data.getVar('BASE_PACKAGE_ARCH',d,1) in ['ppce500', 'ppce500v2']]}"

or the sane-toolchain version:

def compute_os_portion_of_target_triplet (d):
import bb
arm_eabi_unsupported_arches = "armv1 armv2 armv3" ppc_spe_supporting_arches = "ppce500v2 ppce500" gnu_suffix = ""
if bb.data.getVar('LIBC', d, 1) == "uclibc":
libc_suffix = "uclibc"
else:
libc_suffix = ""

if bb.data.getVar('TARGET_ARCH',d,1) in ['bfin']:
if libc_suffix is not "uclibc":
bb.fatal("bfin is not supported on glibc/eglibc. Please choose uclibc")
else:
os_suffix = "uclinux"
else:
os_suffix = "linux"
bparch = bb.data.getVar('BASE_PACKAGE_ARCH', d,1)

if bb.data.getVar('DISTRO_FEATURES',d,1) is not None and \
bparch is not None:
if 'eabi' in bb.data.getVar('DISTRO_FEATURES',d,1).split() and \
bb.data.getVar('TARGET_ARCH', d, 1) in [ 'arm', 'armeb' ]:
if bparch in arm_eabi_unsupported_arches.split():
bb.fatal("DISTRO requested EABI but selected machine does not support EABI") abi_suffix = ""
else:
if libc_suffix is not "uclibc":
gnu_suffix = "gnu"
abi_suffix = "eabi"
elif bparch in ppc_spe_supporting_arches.split():
if libc_suffix is not "uclibc":
gnu_suffix = "gnu"
abi_suffix = "spe"
else:
abi_suffix = ""
else:
bb.note("DISTRO_FEATURES is not set abi suffix not set")
abi_suffix = ""

if bb.data.getVar('TOOLCHAIN_BRAND', d, 1) is not None and \
"csl" in bb.data.getVar('TOOLCHAIN_BRAND', d, 1):
gnu_suffix = "gnu"

if libc_suffix + gnu_suffix + abi_suffix is not "":
return os_suffix + "-" + libc_suffix + gnu_suffix + abi_suffix
else:
return os_suffix

Quoted 17 lines
meta/conf/distro/include/tcmode-default.inc renamed from meta/conf/distro/include/poky-default.inc +1 -1
similarity index 85%
rename from meta/conf/distro/include/poky-default.inc
rename to meta/conf/distro/include/tcmode-default.inc
index 91985b3..909d802 100644
@@ -1,18 +1,16 @@
 
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "${POKYLIBC}"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "${TCLIBC}"

PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "gcc-cross-initial" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "gcc-cross-intermediate" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs = "gcc-runtime"

meta/conf/distro/include/tcmode-default.inc line 13

Quoted 4 lines
meta/conf/distro/include/tcmode-default.inc renamed from meta/conf/distro/include/poky-default.inc +2 -2
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "${POKYLIBC}-initial"
-PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-for-gcc-nativesdk ?= "${POKYLIBC}-nativesdk"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "${TCLIBC}-initial"
+PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-for-gcc-nativesdk ?= "${TCLIBC}-nativesdk"

Angstrom has this for *libc:

# The things *libc can provide.
PREFERRED_PROVIDER_virtual/libc = "${TCLIBC}" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "${TCLIBC}-initial" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "${TCLIBC}"

# And the same as above for the nativesdk PREFERRED_PROVIDER_virtual/libc-nativesdk = "${TCLIBC}-nativesdk" PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-initial-nativesdk = "${TCLIBC}-initial-nativesdk" PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-for-gcc-nativesdk = "${TCLIBC}-nativesdk"

I needed the initial-nativesdk for meta-toolchain, but I can't recall the exact problem

regards,

Koen

#11 lore raw

Re: [PATCH 3/6] distro: Add defaultsetup.conf, a set of default configuration providing sane overrridable default for commonly used options

Quoted 24 lines · Koen Kooi

Op 10 mei 2011, om 16:00 heeft Richard Purdie het volgende geschreven:

Quoted 22 lines

From: Richard Purdie <[email protected]>

The intent is to allow distros to share common core config but still allow customisations. The core should work with no distro set but users can still customise in any ways needed.

---

meta/conf/bitbake.conf                             |    4 +-
meta/conf/distro/defaultsetup.conf                 |   23 ++++++++++
.../include/{poky-eglibc.inc => tclibc-eglibc.inc} |    6 ++-
.../include/{poky-glibc.inc => tclibc-glibc.inc}   |    6 ++-
.../include/{poky-uclibc.inc => tclibc-uclibc.inc} |    4 ++
.../{poky-default.inc => tcmode-default.inc}       |   13 +++---
meta/conf/distro/poky.conf                         |   46 +++++--------------
7 files changed, 54 insertions(+), 48 deletions(-)

create mode 100644 meta/conf/distro/defaultsetup.conf
rename meta/conf/distro/include/{poky-eglibc.inc => tclibc-eglibc.inc} (92%) rename meta/conf/distro/include/{poky-glibc.inc => tclibc-glibc.inc} (91%) rename meta/conf/distro/include/{poky-uclibc.inc => tclibc-uclibc.inc} (86%) rename meta/conf/distro/include/{poky-default.inc => tcmode-default.inc} (85%)

Quoted 15 lines
Quoted 12 lines
meta/conf/bitbake.conf +0 -0
index d843e70..ce74a9b 100644
@@ -627,9 +627,7 @@ include conf/build/${BUILD_SYS}.conf

include conf/target/${TARGET_SYS}.conf
include conf/machine/${MACHINE}.conf
include conf/machine-sdk/${SDKMACHINE}.conf

meta/conf/bitbake.conf +1 -3
-include conf/distro/include/default-providers.inc
-include conf/distro/include/default-versions.inc
-include conf/distro/include/world-broken.inc
+include conf/distro/defaultsetup.conf
Quoted 1 line

include conf/distro/${DISTRO}.conf

Please include it after $DISTRO, otherwise ?= in $DISTRO won't work as intended.

Fixed, thanks.

Quoted 28 lines
Quoted 8 lines

include conf/documentation.conf
require conf/sanity.conf

meta/conf/distro/defaultsetup.conf new file +0 -0
new file mode 100644
index 0000000..af5ef7b

meta/conf/distro/defaultsetup.conf line 8

Quoted 8 lines
meta/conf/distro/defaultsetup.conf new file +8 -0
@@ -0,0 +1,23 @@
+include conf/distro/include/default-providers.inc
+include conf/distro/include/default-versions.inc
+include conf/distro/include/world-broken.inc
+
+TARGET_VENDOR ?= "-oecore"
+
+TARGET_FPU_arm ?= "soft"
+TARGET_FPU_armeb ?= "soft"

Something more elaborate would be better, this is what angstrom has:

conf/distro/include/angstrom.inc:TARGET_FPU_arm = "soft" conf/distro/include/angstrom.inc:TARGET_FPU_armeb = "soft" conf/distro/include/angstrom.inc:TARGET_FPU_ixp4xx = "soft" conf/distro/include/angstrom.inc:TARGET_FPU_ppc405 = "soft" conf/distro/include/angstrom.inc:TARGET_FPU_armv6 = "hard" conf/distro/include/angstrom.inc:TARGET_FPU_armv6-novfp = "soft" conf/distro/include/angstrom.inc:TARGET_FPU_armv7a = "hard" conf/distro/include/angstrom.inc:TARGET_FPU_ppc603e = "hard"

Quoted 1 line

you really want to use hard (don't confuse it with hardfp) on armv7a.

Agreed but we have a problem here as the default OVERRIDES in OECore don't include BASE_PACKAGE_ARCH. I'm kind of reluctant to do so too as the number of cases we need this are small and the strings aren't very unique. I'b feel happier if the override was something like parch-${BASE_PACKAGE_ARCH} as you could at least easily spot where it was being used.

I appreciate we need to do something here, its just a question of what.

Quoted 12 lines

meta/conf/distro/include/tclibc-eglibc.inc line 7

Quoted 9 lines
meta/conf/distro/include/tclibc-eglibc.inc renamed from meta/conf/distro/include/poky-eglibc.inc +3 -0
@@ -2,6 +2,10 @@
 # eglibc specific configuration
 #
 
+TARGET_OS = "linux"
+TARGET_OS_arm = "linux-gnueabi"
+TARGET_OS_armeb = "linux-gnueabi"

Maybe something like angstroms version:

Quoted 3 lines

TARGET_OS = "linux"
TARGET_OS .= "${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb']]}" TARGET_OS .= "${@['','-gnuspe'][bb.data.getVar('BASE_PACKAGE_ARCH',d,1) in ['ppce500', 'ppce500v2']]}"

I decided the _arm was more readable. Once we address the OVERRIDE issue, we can add the spe bits.

Quoted 42 lines

or the sane-toolchain version:

def compute_os_portion_of_target_triplet (d):
import bb
arm_eabi_unsupported_arches = "armv1 armv2 armv3" ppc_spe_supporting_arches = "ppce500v2 ppce500" gnu_suffix = ""
if bb.data.getVar('LIBC', d, 1) == "uclibc":
libc_suffix = "uclibc"
else:
libc_suffix = ""

if bb.data.getVar('TARGET_ARCH',d,1) in ['bfin']:
if libc_suffix is not "uclibc":
bb.fatal("bfin is not supported on glibc/eglibc. Please choose uclibc")
else:
os_suffix = "uclinux"
else:
os_suffix = "linux"
bparch = bb.data.getVar('BASE_PACKAGE_ARCH', d,1)

if bb.data.getVar('DISTRO_FEATURES',d,1) is not None and \
bparch is not None:
if 'eabi' in bb.data.getVar('DISTRO_FEATURES',d,1).split() and \
bb.data.getVar('TARGET_ARCH', d, 1) in [ 'arm', 'armeb' ]:
if bparch in arm_eabi_unsupported_arches.split():
bb.fatal("DISTRO requested EABI but selected machine does not support EABI") abi_suffix = ""
else:
if libc_suffix is not "uclibc":
gnu_suffix = "gnu"
abi_suffix = "eabi"
elif bparch in ppc_spe_supporting_arches.split():
if libc_suffix is not "uclibc":
gnu_suffix = "gnu"
abi_suffix = "spe"
else:
abi_suffix = ""
else:
bb.note("DISTRO_FEATURES is not set abi suffix not set")
abi_suffix = ""

Quoted 8 lines

if bb.data.getVar('TOOLCHAIN_BRAND', d, 1) is not None and \
"csl" in bb.data.getVar('TOOLCHAIN_BRAND', d, 1):
gnu_suffix = "gnu"

if libc_suffix + gnu_suffix + abi_suffix is not "":
return os_suffix + "-" + libc_suffix + gnu_suffix + abi_suffix
else:
return os_suffix

My eyes! We must be able to something more readable than that. Do we even support armv1?

Quoted 29 lines
Quoted 17 lines
meta/conf/distro/include/tcmode-default.inc renamed from meta/conf/distro/include/poky-default.inc +1 -1
similarity index 85%
rename from meta/conf/distro/include/poky-default.inc
rename to meta/conf/distro/include/tcmode-default.inc
index 91985b3..909d802 100644
@@ -1,18 +1,16 @@
 
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "${POKYLIBC}"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "${TCLIBC}"

PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "gcc-cross-initial" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "gcc-cross-intermediate" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs = "gcc-runtime"

meta/conf/distro/include/tcmode-default.inc line 13

Quoted 4 lines
meta/conf/distro/include/tcmode-default.inc renamed from meta/conf/distro/include/poky-default.inc +2 -2
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "${POKYLIBC}-initial"
-PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-for-gcc-nativesdk ?= "${POKYLIBC}-nativesdk"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "${TCLIBC}-initial"
+PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-for-gcc-nativesdk ?= "${TCLIBC}-nativesdk"

Angstrom has this for *libc:

# The things *libc can provide.
PREFERRED_PROVIDER_virtual/libc = "${TCLIBC}" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "${TCLIBC}-initial" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "${TCLIBC}"

Quoted 6 lines

# And the same as above for the nativesdk PREFERRED_PROVIDER_virtual/libc-nativesdk = "${TCLIBC}-nativesdk" PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-initial-nativesdk = "${TCLIBC}-initial-nativesdk" PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-for-gcc-nativesdk = "${TCLIBC}-nativesdk"

I needed the initial-nativesdk for meta-toolchain, but I can't recall the exact problem

These are partly in tcmode-default.inc and partly in in tclibc-*.inc. I've fixed this for them all to be in tcmode-default.inc :)

Cheers,

Richard

#12 lore raw

Re: [PATCH 3/6] distro: Add defaultsetup.conf, a set of default configuration providing sane overrridable default for commonly used options

Quoted 148 lines · Richard Purdie
Quoted 24 lines · Koen Kooi

Op 10 mei 2011, om 16:00 heeft Richard Purdie het volgende geschreven:

Quoted 22 lines

From: Richard Purdie <[email protected]>

The intent is to allow distros to share common core config but still allow customisations. The core should work with no distro set but users can still customise in any ways needed.

---

meta/conf/bitbake.conf                             |    4 +-
meta/conf/distro/defaultsetup.conf                 |   23 ++++++++++
.../include/{poky-eglibc.inc => tclibc-eglibc.inc} |    6 ++-
.../include/{poky-glibc.inc => tclibc-glibc.inc}   |    6 ++-
.../include/{poky-uclibc.inc => tclibc-uclibc.inc} |    4 ++
.../{poky-default.inc => tcmode-default.inc}       |   13 +++---
meta/conf/distro/poky.conf                         |   46 +++++--------------
7 files changed, 54 insertions(+), 48 deletions(-)

create mode 100644 meta/conf/distro/defaultsetup.conf
rename meta/conf/distro/include/{poky-eglibc.inc => tclibc-eglibc.inc} (92%) rename meta/conf/distro/include/{poky-glibc.inc => tclibc-glibc.inc} (91%) rename meta/conf/distro/include/{poky-uclibc.inc => tclibc-uclibc.inc} (86%) rename meta/conf/distro/include/{poky-default.inc => tcmode-default.inc} (85%)

Quoted 15 lines
Quoted 12 lines
meta/conf/bitbake.conf +0 -0
index d843e70..ce74a9b 100644
@@ -627,9 +627,7 @@ include conf/build/${BUILD_SYS}.conf

include conf/target/${TARGET_SYS}.conf
include conf/machine/${MACHINE}.conf
include conf/machine-sdk/${SDKMACHINE}.conf

meta/conf/bitbake.conf +1 -3
-include conf/distro/include/default-providers.inc
-include conf/distro/include/default-versions.inc
-include conf/distro/include/world-broken.inc
+include conf/distro/defaultsetup.conf
Quoted 1 line

include conf/distro/${DISTRO}.conf

Please include it after $DISTRO, otherwise ?= in $DISTRO won't work as intended.

Fixed, thanks.

Quoted 28 lines
Quoted 8 lines

include conf/documentation.conf
require conf/sanity.conf

meta/conf/distro/defaultsetup.conf new file +0 -0
new file mode 100644
index 0000000..af5ef7b

meta/conf/distro/defaultsetup.conf line 8

Quoted 8 lines
meta/conf/distro/defaultsetup.conf new file +8 -0
@@ -0,0 +1,23 @@
+include conf/distro/include/default-providers.inc
+include conf/distro/include/default-versions.inc
+include conf/distro/include/world-broken.inc
+
+TARGET_VENDOR ?= "-oecore"
+
+TARGET_FPU_arm ?= "soft"
+TARGET_FPU_armeb ?= "soft"

Something more elaborate would be better, this is what angstrom has:

conf/distro/include/angstrom.inc:TARGET_FPU_arm = "soft" conf/distro/include/angstrom.inc:TARGET_FPU_armeb = "soft" conf/distro/include/angstrom.inc:TARGET_FPU_ixp4xx = "soft" conf/distro/include/angstrom.inc:TARGET_FPU_ppc405 = "soft" conf/distro/include/angstrom.inc:TARGET_FPU_armv6 = "hard" conf/distro/include/angstrom.inc:TARGET_FPU_armv6-novfp = "soft" conf/distro/include/angstrom.inc:TARGET_FPU_armv7a = "hard" conf/distro/include/angstrom.inc:TARGET_FPU_ppc603e = "hard"

Quoted 1 line

you really want to use hard (don't confuse it with hardfp) on armv7a.

Agreed but we have a problem here as the default OVERRIDES in OECore don't include BASE_PACKAGE_ARCH. I'm kind of reluctant to do so too as the number of cases we need this are small and the strings aren't very unique. I'b feel happier if the override was something like parch-${BASE_PACKAGE_ARCH} as you could at least easily spot where it was being used.

I appreciate we need to do something here, its just a question of what.

Quoted 12 lines

meta/conf/distro/include/tclibc-eglibc.inc line 7

Quoted 9 lines
meta/conf/distro/include/tclibc-eglibc.inc renamed from meta/conf/distro/include/poky-eglibc.inc +3 -0
@@ -2,6 +2,10 @@
 # eglibc specific configuration
 #
 
+TARGET_OS = "linux"
+TARGET_OS_arm = "linux-gnueabi"
+TARGET_OS_armeb = "linux-gnueabi"

Maybe something like angstroms version:

Quoted 3 lines

TARGET_OS = "linux"
TARGET_OS .= "${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb']]}" TARGET_OS .= "${@['','-gnuspe'][bb.data.getVar('BASE_PACKAGE_ARCH',d,1) in ['ppce500', 'ppce500v2']]}"

I decided the _arm was more readable. Once we address the OVERRIDE issue, we can add the spe bits.

Quoted 46 lines

or the sane-toolchain version:

def compute_os_portion_of_target_triplet (d):
import bb
arm_eabi_unsupported_arches = "armv1 armv2 armv3" ppc_spe_supporting_arches = "ppce500v2 ppce500" gnu_suffix = ""
if bb.data.getVar('LIBC', d, 1) == "uclibc":
libc_suffix = "uclibc"
else:
libc_suffix = ""

if bb.data.getVar('TARGET_ARCH',d,1) in ['bfin']:
if libc_suffix is not "uclibc":
bb.fatal("bfin is not supported on glibc/eglibc. Please choose uclibc")
else:
os_suffix = "uclinux"
else:
os_suffix = "linux"
bparch = bb.data.getVar('BASE_PACKAGE_ARCH', d,1)

if bb.data.getVar('DISTRO_FEATURES',d,1) is not None and \
bparch is not None:
if 'eabi' in bb.data.getVar('DISTRO_FEATURES',d,1).split() and \
bb.data.getVar('TARGET_ARCH', d, 1) in [ 'arm', 'armeb' ]:
if bparch in arm_eabi_unsupported_arches.split():
bb.fatal("DISTRO requested EABI but selected machine does not support EABI") abi_suffix = ""
else:
if libc_suffix is not "uclibc":
gnu_suffix = "gnu"
abi_suffix = "eabi"
elif bparch in ppc_spe_supporting_arches.split():
if libc_suffix is not "uclibc":
gnu_suffix = "gnu"
abi_suffix = "spe"
else:
abi_suffix = ""
else:
bb.note("DISTRO_FEATURES is not set abi suffix not set")
abi_suffix = ""

if bb.data.getVar('TOOLCHAIN_BRAND', d, 1) is not None and \
"csl" in bb.data.getVar('TOOLCHAIN_BRAND', d, 1):
gnu_suffix = "gnu"

Quoted 7 lines
Quoted 4 lines

if libc_suffix + gnu_suffix + abi_suffix is not "":
return os_suffix + "-" + libc_suffix + gnu_suffix + abi_suffix
else:
return os_suffix

My eyes! We must be able to something more readable than that. Do we even support armv1?

oe had lot of combinations to consider e.g. oabi/eabi/spe/uclinux/uclibc/external-toolchain when it came to
compute the TARGET_OS and while not so readable may be it did address
all of the combinations and permutations well. oe-core may not *yet* worry for many of them and some like oabi can be dropped but eventually it might need something handy to compute TARGET_OS may be a map would be more readable.

-Khem

#13 lore raw

PATCH 4/6 machine/qemu: Add qemu-config as an essential machine speicfic dependency and drop specific distro config

In reply to Richard Purdie

From: Richard Purdie <[email protected]>

---
 meta/conf/distro/poky.conf         |    7 -------
 meta/conf/machine/include/qemu.inc |    1 +
 meta/conf/machine/qemux86-64.conf  |    2 +-
 meta/conf/machine/qemux86.conf     |    2 +-
 4 files changed, 3 insertions(+), 9 deletions(-)
meta/conf/distro/poky.conf +0 -7
index f13a67f..3a66a76 100644
@@ -32,13 +32,6 @@ LOCALE_UTF8_ONLY = "0"
 DISTRO_FEATURES = "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci"
 
 POKY_EXTRA_RDEPENDS = "task-core-boot"
-POKY_EXTRA_RDEPENDS_qemuarm = "qemu-config"
-POKY_EXTRA_RDEPENDS_qemuarmv6 = "qemu-config"
-POKY_EXTRA_RDEPENDS_qemuarmv7 = "qemu-config"
-POKY_EXTRA_RDEPENDS_qemumips = "qemu-config"
-POKY_EXTRA_RDEPENDS_qemuppc = "qemu-config"
-POKY_EXTRA_RDEPENDS_qemux86 = "qemu-config"
-POKY_EXTRA_RDEPENDS_qemux86-64 = "qemu-config"
 
 DISTRO_EXTRA_RDEPENDS += "${POKY_EXTRA_RDEPENDS}"
 DISTRO_EXTRA_RRECOMMENDS += "kernel-module-af-packet"
meta/conf/machine/include/qemu.inc +1 -0
index 61281bf..bd40983 100644
@@ -19,3 +19,4 @@ PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
 #PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers-yocto"
 
 EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native"
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "qemu-config"
meta/conf/machine/qemux86-64.conf +1 -1
index 182759a..ca91388 100644
@@ -30,6 +30,6 @@ XSERVER ?= "xserver-xf86-dri-lite \
 GLIBC_ADDONS = "nptl"
 GLIBC_EXTRA_OECONF = "--with-tls"
 
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "v86d"
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "v86d"
 
 TARGET_CC_ARCH = "-m64"
meta/conf/machine/qemux86.conf +1 -1
index f1a0939..8b14731 100644
@@ -29,6 +29,6 @@ XSERVER ?= "xserver-xf86-dri-lite \
 GLIBC_ADDONS = "nptl"
 GLIBC_EXTRA_OECONF = "--with-tls"
 
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "v86d"
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "v86d"
 
 TARGET_CC_ARCH = "-march=i586"
Signature · 1 line
1.7.4.1
#14 lore raw

PATCH 5/6 conf/distro/include/default-distrovars.inc: Create set of default 'distro' variable values

In reply to Richard Purdie

From: Richard Purdie <[email protected]>

---
 meta/conf/distro/defaultsetup.conf              |    1 +
 meta/conf/distro/include/default-distrovars.inc |   43 ++++++++++++++++++++
 meta/conf/distro/poky.conf                      |   48 +----------------------
 3 files changed, 46 insertions(+), 46 deletions(-)
 create mode 100644 meta/conf/distro/include/default-distrovars.inc
meta/conf/distro/defaultsetup.conf +1 -0
index af5ef7b..8da6c0a 100644
@@ -1,5 +1,6 @@
 include conf/distro/include/default-providers.inc
 include conf/distro/include/default-versions.inc
+include conf/distro/include/default-distrovars.inc
 include conf/distro/include/world-broken.inc
 
 TARGET_VENDOR ?= "-oecore"
meta/conf/distro/include/default-distrovars.inc new file +43 -0

43 lines not on this page · raw message

meta/conf/distro/poky.conf +2 -46

64 lines not on this page · raw message

Signature · 1 line
1.7.4.1
#15 lore raw

Re: [PATCH 5/6] conf/distro/include/default-distrovars.inc: Create set of default 'distro' variable values

Some minor remarks on the default-distrovars.inc contents:

2011/5/10 Richard Purdie <[email protected]> [...]

meta/conf/distro/include/default-distrovars.inc line 1

Quoted 9 lines
meta/conf/distro/include/default-distrovars.inc new file +1 -0
new file mode 100644
index 0000000..ab26a30
@@ -0,0 +1,43 @@
+QA_LOGFILE = "${TMPDIR}/qa.log"

Should this be here? I would expect the class file that uses this to have this as default and/or have this in local.conf.sample.
This does not seem too distro specific

meta/conf/distro/include/default-distrovars.inc line 3

Quoted 3 lines
meta/conf/distro/include/default-distrovars.inc new file +2 -0
+
+IMAGE_ROOTFS_SIZE_ext2 ?= "131072"

Hm, again something that is probalby not distro related. And why only for _ext2 and not eg for _ext3 or for _jffs2
Personally I always stuff this in my image recipe

meta/conf/distro/include/default-distrovars.inc line 5

Quoted 3 lines
meta/conf/distro/include/default-distrovars.inc new file +2 -0
+
+OEINCLUDELOGS ?= "yes"

in local.conf.sample?

meta/conf/distro/include/default-distrovars.inc line 6

Quoted 2 lines
meta/conf/distro/include/default-distrovars.inc new file +1 -0
+KERNEL_CONSOLE ?= "ttyS0"

I'm inclined to put this into the machine conf. Is this really a distro thing?

meta/conf/distro/include/default-distrovars.inc line 15

Quoted 10 lines
meta/conf/distro/include/default-distrovars.inc new file +9 -0
+
+require conf/distro/include/preferred-xorg-versions.inc
+
+PCMCIA_MANAGER ?= "pcmciautils"
+
+IMAGE_LINGUAS ?= "en-us en-gb"
+LIMIT_BUILT_LOCALES ?= "POSIX en_US en_GB"
+ENABLE_BINARY_LOCALE_GENERATION ?= "1"
+LOCALE_UTF8_ONLY ?= "0"

Again something I tend to do in image recipes; then again this might be because I do not use feeds, only make images.

Quoted 4 lines
meta/conf/distro/include/default-distrovars.inc new file +2 -0
+
+DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi

nfs zeroconf pci"

Is this the complete range? I would expect all features to be enabled by default (and let MACHINE_FEATURES reduce that set)

meta/conf/distro/include/default-distrovars.inc line 22

Quoted 6 lines
meta/conf/distro/include/default-distrovars.inc new file +5 -0
+
+DISTRO_EXTRA_RDEPENDS += "task-core-boot"
+DISTRO_EXTRA_RRECOMMENDS += "kernel-module-af-packet"
+
+IMAGE_FEATURES ?= ""

Has a var with ?= assignment of an empty string any meaning. Thought an empty string would be the default.

meta/conf/distro/include/default-distrovars.inc line 27

Quoted 7 lines
meta/conf/distro/include/default-distrovars.inc new file +2 -0
+
+# This is a list of packages that are used by the build system to build

the distribution, they are not

meta/conf/distro/include/default-distrovars.inc new file +3 -0
+# directly part of the distribution.
+HOSTTOOLS_WHITELIST_GPLv3 ?= ""
+WHITELIST_GPLv3 ?= "less"

I'm not sure why less is listed in the line above:
the less license is not gpl (at least not less 443)

Quoted 14 lines

+LGPLv2_WHITELIST_GPLv3 ?= "libassuan gnutls libtasn1 libidn libgcc gcc-runtime"

meta/conf/distro/include/default-distrovars.inc new file +7 -0
+
+# This is a list of packages that require a commercial license to ship
+# product. If shipped as part of an image these packages may have
+# implications so they are disabled by default
+COMMERCIAL_LICENSE ?= "lame gst-fluendo-mp3 libmad mpeg2dec ffmpeg qmmp"
+COMMERCIAL_AUDIO_PLUGINS ?= ""
+# COMMERCIAL_AUDIO_PLUGINS ?= "gst-plugins-ugly-mad

gst-plugins-ugly-mpegaudioparse"

meta/conf/distro/include/default-distrovars.inc new file +2 -0
+COMMERCIAL_VIDEO_PLUGINS ?= ""
+# COMMERCIAL_VIDEO_PLUGINS ?= "gst-plugins-ugly-mpeg2dec

gst-plugins-ugly-mpegstream gst-plugins-bad-mpegvideoparse"

meta/conf/distro/include/default-distrovars.inc line 41

Quoted 4 lines
meta/conf/distro/include/default-distrovars.inc new file +4 -0
+COMMERCIAL_QT ?= ""
+# COMMERCIAL_QT ?= "qmmp"
+# Set of common licenses used for license.bbclass
+COMMON_LICENSE_DIR ??= "${COREBASE}/meta/files/common-licenses"

maybe the above could be in a separate license.inc file or so.

meta/conf/distro/include/default-distrovars.inc

Quoted 3 lines
meta/conf/distro/include/default-distrovars.inc new file +2 -0
+
+BB_GENERATE_MIRROR_TARBALLS ??= "0"

local.conf.sample ?

Enjoy! Frans

#16 lore raw

Re: [PATCH 5/6] conf/distro/include/default-distrovars.inc: Create set of default 'distro' variable values

Quoted 1 line · Frans Meulenbroeks

Some minor remarks on the default-distrovars.inc contents:

To quote the email prefacing this patch series:

"""
I did dump a load of "default" variables into default-distrovars.inc, I'm not calling that file finished, I just had to draw the line somewhere and start a discussion about this :)
"""

but we can have this discussion.

Quoted 15 lines

2011/5/10 Richard Purdie <[email protected]> [...]

meta/conf/distro/include/default-distrovars.inc line 1

Quoted 9 lines
meta/conf/distro/include/default-distrovars.inc new file +1 -0
new file mode 100644
index 0000000..ab26a30
@@ -0,0 +1,43 @@
+QA_LOGFILE = "${TMPDIR}/qa.log"

Should this be here? I would expect the class file that uses this to have this as default and/or have this in local.conf.sample.
This does not seem too distro specific

If this is unset, the logfile isn't generated at all with the current defaults. I don't claim the current defaults are correct but its a separate patch if we do want to change the defaults.

Quoted 6 lines

meta/conf/distro/include/default-distrovars.inc line 3

Quoted 3 lines
meta/conf/distro/include/default-distrovars.inc new file +2 -0
+
+IMAGE_ROOTFS_SIZE_ext2 ?= "131072"

Hm, again something that is probalby not distro related. And why only for _ext2 and not eg for _ext3 or for _jffs2
Personally I always stuff this in my image recipe

Left there pending a review of where various image sizes are set.

Quoted 4 lines

meta/conf/distro/include/default-distrovars.inc line 5

Quoted 3 lines
meta/conf/distro/include/default-distrovars.inc new file +2 -0
+
+OEINCLUDELOGS ?= "yes"

in local.conf.sample?

If its there, this can be dropped, yes. I think forcing it on by default may be a good thing though. I'm not 100% sure that variable even still exists tbh.

Quoted 4 lines

meta/conf/distro/include/default-distrovars.inc line 6

Quoted 2 lines
meta/conf/distro/include/default-distrovars.inc new file +1 -0
+KERNEL_CONSOLE ?= "ttyS0"

I'm inclined to put this into the machine conf. Is this really a distro thing?

No, left for compatibility pending cleanup.

Quoted 4 lines
Quoted 4 lines
meta/conf/distro/include/default-distrovars.inc new file +4 -0
+
+require conf/distro/include/preferred-xorg-versions.inc
+
+PCMCIA_MANAGER ?= "pcmciautils"
Quoted 8 lines

meta/conf/distro/include/default-distrovars.inc line 15

Quoted 6 lines
meta/conf/distro/include/default-distrovars.inc new file +5 -0
+
+IMAGE_LINGUAS ?= "en-us en-gb"
+LIMIT_BUILT_LOCALES ?= "POSIX en_US en_GB"
+ENABLE_BINARY_LOCALE_GENERATION ?= "1"
+LOCALE_UTF8_ONLY ?= "0"

Again something I tend to do in image recipes; then again this might be because I do not use feeds, only make images.

These ones are more distro policy and whilst an image can change them a default is good in those cases. If there are defaults set elsewhere we should review and pick the correct ones.

Quoted 5 lines
Quoted 3 lines
meta/conf/distro/include/default-distrovars.inc new file +1 -0
+DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi

nfs zeroconf pci"

Is this the complete range? I would expect all features to be enabled by default (and let MACHINE_FEATURES reduce that set)

Needs further investigation.

Quoted 8 lines

meta/conf/distro/include/default-distrovars.inc line 22

Quoted 6 lines
meta/conf/distro/include/default-distrovars.inc new file +5 -0
+
+DISTRO_EXTRA_RDEPENDS += "task-core-boot"
+DISTRO_EXTRA_RRECOMMENDS += "kernel-module-af-packet"
+
+IMAGE_FEATURES ?= ""

Has a var with ?= assignment of an empty string any meaning. Thought an empty string would be the default.

No, its not.

Quoted 22 lines

meta/conf/distro/include/default-distrovars.inc line 27

Quoted 7 lines
meta/conf/distro/include/default-distrovars.inc new file +2 -0
+
+# This is a list of packages that are used by the build system to build

the distribution, they are not

meta/conf/distro/include/default-distrovars.inc new file +3 -0
+# directly part of the distribution.
+HOSTTOOLS_WHITELIST_GPLv3 ?= ""
+WHITELIST_GPLv3 ?= "less"

I'm not sure why less is listed in the line above:
the less license is not gpl (at least not less 443)

Quoted 11 lines

+LGPLv2_WHITELIST_GPLv3 ?= "libassuan gnutls libtasn1 libidn libgcc gcc-runtime"

meta/conf/distro/include/default-distrovars.inc new file +7 -0
+
+# This is a list of packages that require a commercial license to ship
+# product. If shipped as part of an image these packages may have
+# implications so they are disabled by default
+COMMERCIAL_LICENSE ?= "lame gst-fluendo-mp3 libmad mpeg2dec ffmpeg qmmp"
+COMMERCIAL_AUDIO_PLUGINS ?= ""
+# COMMERCIAL_AUDIO_PLUGINS ?= "gst-plugins-ugly-mad

gst-plugins-ugly-mpegaudioparse"
+COMMERCIAL_VIDEO_PLUGINS ?= ""

Quoted 8 lines

meta/conf/distro/include/default-distrovars.inc line 41

Quoted 7 lines

+# COMMERCIAL_VIDEO_PLUGINS ?= "gst-plugins-ugly-mpeg2dec gst-plugins-ugly-mpegstream gst-plugins-bad-mpegvideoparse"

meta/conf/distro/include/default-distrovars.inc new file +4 -0
+COMMERCIAL_QT ?= ""
+# COMMERCIAL_QT ?= "qmmp"
+# Set of common licenses used for license.bbclass
+COMMON_LICENSE_DIR ??= "${COREBASE}/meta/files/common-licenses"

maybe the above could be in a separate license.inc file or so.

Possibly, setting these to defaults is good though.

Quoted 4 lines

meta/conf/distro/include/default-distrovars.inc

Quoted 3 lines
meta/conf/distro/include/default-distrovars.inc new file +2 -0
+
+BB_GENERATE_MIRROR_TARBALLS ??= "0"

local.conf.sample ?

I regard local.conf.sample as things a new user cares about. I don't think this fits that category. Its here pending the creation of a more "advanced settings" version of local.conf.sample we've talked about being created.

Cheers,

Richard

#17 lore raw

Re: [PATCH 5/6] conf/distro/include/default-distrovars.inc: Create set of default 'distro' variable values

2011/5/10 Richard Purdie <[email protected]>

Quoted 5 lines · Frans Meulenbroeks
Quoted 1 line

Some minor remarks on the default-distrovars.inc contents:

To quote the email prefacing this patch series:

Quoted 8 lines

"""
I did dump a load of "default" variables into default-distrovars.inc, I'm not calling that file finished, I just had to draw the line somewhere and start a discussion about this :)
"""

but we can have this discussion.

I saw that note. Idea was indeed to initiate the discussion and make suggestions for improvements.

Quoted 17 lines
Quoted 4 lines

2011/5/10 Richard Purdie <[email protected]> [...]

Quoted 12 lines

meta/conf/distro/include/default-distrovars.inc line 1

Quoted 9 lines
meta/conf/distro/include/default-distrovars.inc new file +1 -0
new file mode 100644
index 0000000..ab26a30
@@ -0,0 +1,43 @@
+QA_LOGFILE = "${TMPDIR}/qa.log"

Should this be here? I would expect the class file that uses this to have this as default and/or have this in local.conf.sample.
This does not seem too distro specific

Quoted 4 lines

If this is unset, the logfile isn't generated at all with the current defaults. I don't claim the current defaults are correct but its a separate patch if we do want to change the defaults.

It is good to to have the qa file made by default, but I am not sure whether it is distro specific.
Actually I probably would expect things like QA_LOGFILE to live in the same spot as where TMPDIR and DOWNLOADDIR etc are defined

Quoted 10 lines
Quoted 7 lines

meta/conf/distro/include/default-distrovars.inc line 3

Quoted 4 lines
meta/conf/distro/include/default-distrovars.inc new file +2 -0
+
+IMAGE_ROOTFS_SIZE_ext2 ?= "131072"

Hm, again something that is probalby not distro related. And why only for _ext2 and not eg for _ext3 or for _jffs2
Personally I always stuff this in my image recipe

Left there pending a review of where various image sizes are set.

Ok understood

Quoted 10 lines
Quoted 5 lines

meta/conf/distro/include/default-distrovars.inc line 5

Quoted 4 lines
meta/conf/distro/include/default-distrovars.inc new file +2 -0
+
+OEINCLUDELOGS ?= "yes"

in local.conf.sample?

If its there, this can be dropped, yes. I think forcing it on by default may be a good thing though. I'm not 100% sure that variable even still exists tbh.

In openembedded/classes and openembedded/site this var does not exist. I do not have an oe-core/yocto tree handy to check if it is there. BTW I do have BBINCLUDELOGS in my local.conf.sample. As far as I know this is a bitbake var and actually being used.

Quoted 85 lines
Quoted 5 lines

meta/conf/distro/include/default-distrovars.inc line 6

Quoted 3 lines
meta/conf/distro/include/default-distrovars.inc new file +1 -0
+KERNEL_CONSOLE ?= "ttyS0"

I'm inclined to put this into the machine conf. Is this really a distro thing?

No, left for compatibility pending cleanup.

Quoted 4 lines
Quoted 4 lines
meta/conf/distro/include/default-distrovars.inc new file +4 -0
+
+require conf/distro/include/preferred-xorg-versions.inc
+
+PCMCIA_MANAGER ?= "pcmciautils"
Quoted 8 lines

meta/conf/distro/include/default-distrovars.inc line 15

Quoted 6 lines
meta/conf/distro/include/default-distrovars.inc new file +5 -0
+
+IMAGE_LINGUAS ?= "en-us en-gb"
+LIMIT_BUILT_LOCALES ?= "POSIX en_US en_GB"
+ENABLE_BINARY_LOCALE_GENERATION ?= "1"
+LOCALE_UTF8_ONLY ?= "0"

Again something I tend to do in image recipes; then again this might be because I do not use feeds, only make images.

These ones are more distro policy and whilst an image can change them a default is good in those cases. If there are defaults set elsewhere we should review and pick the correct ones.

Quoted 1 line

meta/conf/distro/include/default-distrovars.inc line 16

Quoted 1 line
meta/conf/distro/include/default-distrovars.inc new file +1 -0
+DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost

wifi

Quoted 4 lines
Quoted 2 lines

nfs zeroconf pci"

Is this the complete range? I would expect all features to be enabled by default (and let MACHINE_FEATURES reduce that set)

Needs further investigation.

Quoted 8 lines

meta/conf/distro/include/default-distrovars.inc line 22

Quoted 6 lines
meta/conf/distro/include/default-distrovars.inc new file +5 -0
+
+DISTRO_EXTRA_RDEPENDS += "task-core-boot"
+DISTRO_EXTRA_RRECOMMENDS += "kernel-module-af-packet"
+
+IMAGE_FEATURES ?= ""

Has a var with ?= assignment of an empty string any meaning. Thought an empty string would be the default.

No, its not.

Quoted 2 lines

meta/conf/distro/include/default-distrovars.inc

Quoted 2 lines
meta/conf/distro/include/default-distrovars.inc new file +2 -0
+
+# This is a list of packages that are used by the build system to

build

Quoted 9 lines

meta/conf/distro/include/default-distrovars.inc line 27

Quoted 5 lines

the distribution, they are not

meta/conf/distro/include/default-distrovars.inc new file +3 -0
+# directly part of the distribution.
+HOSTTOOLS_WHITELIST_GPLv3 ?= ""
+WHITELIST_GPLv3 ?= "less"

I'm not sure why less is listed in the line above:
the less license is not gpl (at least not less 443)

Quoted 7 lines

meta/conf/distro/include/default-distrovars.inc

Quoted 7 lines

+LGPLv2_WHITELIST_GPLv3 ?= "libassuan gnutls libtasn1 libidn libgcc gcc-runtime"

meta/conf/distro/include/default-distrovars.inc new file +5 -0
+
+# This is a list of packages that require a commercial license to ship
+# product. If shipped as part of an image these packages may have
+# implications so they are disabled by default
+COMMERCIAL_LICENSE ?= "lame gst-fluendo-mp3 libmad mpeg2dec ffmpeg

qmmp"

Quoted 4 lines
Quoted 4 lines
meta/conf/distro/include/default-distrovars.inc new file +2 -0
+COMMERCIAL_AUDIO_PLUGINS ?= ""
+# COMMERCIAL_AUDIO_PLUGINS ?= "gst-plugins-ugly-mad

gst-plugins-ugly-mpegaudioparse"
+COMMERCIAL_VIDEO_PLUGINS ?= ""

Quoted 8 lines

meta/conf/distro/include/default-distrovars.inc line 41

Quoted 7 lines

+# COMMERCIAL_VIDEO_PLUGINS ?= "gst-plugins-ugly-mpeg2dec gst-plugins-ugly-mpegstream gst-plugins-bad-mpegvideoparse"

meta/conf/distro/include/default-distrovars.inc new file +4 -0
+COMMERCIAL_QT ?= ""
+# COMMERCIAL_QT ?= "qmmp"
+# Set of common licenses used for license.bbclass
+COMMON_LICENSE_DIR ??= "${COREBASE}/meta/files/common-licenses"

maybe the above could be in a separate license.inc file or so.embedded

Possibly, setting these to defaults is good though.

Quoted 4 lines

meta/conf/distro/include/default-distrovars.inc

Quoted 3 lines
meta/conf/distro/include/default-distrovars.inc new file +2 -0
+
+BB_GENERATE_MIRROR_TARBALLS ??= "0"

local.conf.sample ?

Quoted 7 lines

I regard local.conf.sample as things a new user cares about. I don't think this fits that category. Its here embeddedpending the creation of a more
"advanced settings" version of local.conf.sample we've talked about being created.

I'm unaware of any discussion on an advanced settings version of

local.conf.sample.

Anyway there are two different groups of users for oe/yocto:
Those who want to do a distro with package feeds etc and those (like me) who are more into creating (lean &lightweight) images for embedded, non-networked (or non network upgradeable) devices (like a microwave etc). For the latter it could be very useful to have a "distro-less" system or a very simple default distro. Main interest for those people is probably the cross environment and the image creation capabilities.
If one wants full control on what is being in the image it helps to have that in a logical location.

But I am digressing...

Frans.

#18 lore raw

Re: [PATCH 5/6] conf/distro/include/default-distrovars.inc: Create set of default 'distro' variable values

In reply to Richard Purdie
Quoted 38 lines · Richard Purdie

From: Richard Purdie <[email protected]>

---
 meta/conf/distro/defaultsetup.conf              |    1 + meta/conf/distro/include/default-distrovars.inc |   43 ++++++++++++++++++++ meta/conf/distro/poky.conf                      |   48 +----------------------

 3 files changed, 46 insertions(+), 46 deletions(-)

 create mode 100644 meta/conf/distro/include/default-distrovars.inc

meta/conf/distro/defaultsetup.conf +0 -0
index af5ef7b..8da6c0a 100644
@@ -1,5 +1,6 @@

 include conf/distro/include/default-providers.inc include conf/distro/include/default-versions.inc +include conf/distro/include/default-distrovars.inc include conf/distro/include/world-broken.inc

 TARGET_VENDOR ?= "-oecore"

meta/conf/distro/include/default-distrovars.inc new file +11 -0
new file mode 100644
index 0000000..ab26a30
@@ -0,0 +1,43 @@
+QA_LOGFILE = "${TMPDIR}/qa.log"
+
+IMAGE_ROOTFS_SIZE_ext2 ?= "131072"
+
+OEINCLUDELOGS ?= "yes"
+KERNEL_CONSOLE ?= "ttyS0"
+
+require conf/distro/include/preferred-xorg-versions.inc
+
+PCMCIA_MANAGER ?= "pcmciautils"
+

meta/conf/distro/include/default-distrovars.inc line 21

Quoted 10 lines
meta/conf/distro/include/default-distrovars.inc new file +10 -0
+IMAGE_LINGUAS ?= "en-us en-gb"
+LIMIT_BUILT_LOCALES ?= "POSIX en_US en_GB"
+ENABLE_BINARY_LOCALE_GENERATION ?= "1"
+LOCALE_UTF8_ONLY ?= "0"
+
+DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci"
+
+DISTRO_EXTRA_RDEPENDS += "task-core-boot"
+DISTRO_EXTRA_RRECOMMENDS += "kernel-module-af-packet"
+

others can be overridden but the above two are a problem. they are forcing distros to have these in RDEPENDS and RRECOMMENDS e.g. a distro which does not want kernel-module-af-packet will have to have some way to remove it. My opinion is do not add them to policy

-Khem

#19 lore raw

Re: [PATCH 5/6] conf/distro/include/default-distrovars.inc: Create set of default 'distro' variable values

Quoted 12 lines · Khem Raj

meta/conf/distro/include/default-distrovars.inc line 21

Quoted 6 lines

+++ b/meta/conf/distro/include/default-distrovars.inc

meta/conf/distro/include/default-distrovars.inc new file +3 -0
@@ -0,0 +1,43 @@
 
+DISTRO_EXTRA_RDEPENDS += "task-core-boot"
+DISTRO_EXTRA_RRECOMMENDS += "kernel-module-af-packet"
+

others can be overridden but the above two are a problem. they are forcing distros to have these in RDEPENDS and RRECOMMENDS e.g. a distro which does not want kernel-module-af-packet will have to have some way to remove it. My opinion is do not add them to policy

Agreed, I merged your patch to remove these two things.

Cheers,

Richard

#20 lore raw

PATCH 6/6 preferred-xorg-versions.inc: Drop this, it makes no sense given we only have one version of these recipes

In reply to Richard Purdie

From: Richard Purdie <[email protected]>

---
 meta/conf/distro/include/default-distrovars.inc    |    2 -
 .../distro/include/preferred-xorg-versions.inc     |  150 --------------------
 2 files changed, 0 insertions(+), 152 deletions(-)
 delete mode 100644 meta/conf/distro/include/preferred-xorg-versions.inc
meta/conf/distro/include/default-distrovars.inc +0 -2
index ab26a30..9b1d0ee 100644
@@ -5,8 +5,6 @@ IMAGE_ROOTFS_SIZE_ext2 ?= "131072"
 OEINCLUDELOGS ?= "yes"
 KERNEL_CONSOLE ?= "ttyS0"
 
-require conf/distro/include/preferred-xorg-versions.inc
-
 PCMCIA_MANAGER ?= "pcmciautils"
 
 IMAGE_LINGUAS ?= "en-us en-gb"
meta/conf/distro/include/preferred-xorg-versions.inc deleted +0 -150

150 lines not on this page · raw message

Signature · 1 line
1.7.4.1
#21 lore raw
In reply to Richard Purdie

2011/5/10 Richard Purdie <[email protected]>

Quoted 32 lines

From: Richard Purdie <[email protected]>

As discussed, we want to make OE-Core usable with no distro set. This patch series
makes some big steps towards that goal. I'd be interested in feedback on whether it
does the right things and would be usable by others.

The key is the inclusion of a distro/defaultsetup.conf file by bitbake.conf and
in turn this pulls in a variety of other common include files which can likely be
shared. Any point of this cycle can be overridden by another layer so its totally
customisable. I'd encourage users to use the pieces they can where possible so we
all share best practises but obviously people have choice.

I did dump a load of "default" variables into default-distrovars.inc, I'm not
calling that file finished, I just had to draw the line somewhere and start a
discussion about this :)

Also, I'm aware there are still a few poky-* files in meta/conf/distro/include.
Some of these can just be deleted, others renamed tcmode-* and I'll take care
of that. I'll also delete the poky.conf file since it no longer contains anything
required to make OE-Core build as far as I know (wider testing needed).

Quoted 5 lines

Pull URL: git://git.openembedded.org/openembedded-core-contrib
Branch: rpurdie/distro
Browse:
http://git.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rpurdie/distro

THere is something wrong with git.
If I browse to the 2nd url I get:
Bad object id: rpurdie/distro
going to git and navigating to the branch gives the same result.

Anyway, although I am not able to review the changes on git, a thumbs up
for the initiative.

Frans

#22 lore raw
Quoted 6 lines · Frans Meulenbroeks
Quoted 5 lines

Pull URL: git://git.openembedded.org/openembedded-core-contrib
Branch: rpurdie/distro
Browse:
http://git.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rpurdie/distro

Quoted 7 lines

THere is something wrong with git.
If I browse to the 2nd url I get:
Bad object id: rpurdie/distro
going to git and navigating to the branch gives the same result.

Anyway, although I am not able to review the changes on git, a thumbs up
for the initiative.

I've noticed this happening with branches on that repository for the past couple of days, its not just this branch.

Khem/Cliff/Tom: Who might be able to look into and help fix this?

Frans: You can still checkout the branch and look, its just the web interface that has issues.

Cheers,

Richard

A message that is not in the archive (sent off-list or not yet received): [email protected]

#24 lore raw

cover RFC Distro config changes

---------- Forwarded message ----------
From: Khem Raj <[email protected]>
Date: Tue, May 10, 2011 at 8:35 PM
Subject: Re: [OE-core] [PATCH 0/6] RFC Distro config changes
To: Richard Purdie <[email protected]>

Quoted 5 lines · Richard Purdie
Quoted 5 lines

THere is something wrong with git.
If I browse to the 2nd url I get:
Bad object id: rpurdie/distro
going to git and navigating to the branch gives the same result.

Quoted 7 lines
Quoted 2 lines

 Anyway, although I am not able to review the changes on git, a thumbs up for the initiative.

I've noticed this happening with branches on that repository for the past couple of days, its not just this branch.

Khem/Cliff/Tom: Who might be able to look into and help fix this?

Hi

This was a url rewrite problem when I tried to redirect gitweb traffic to cgit the regexp was too liberal. I have rewritten the rewrite rules and now everything should be hunky dory

Let me know if you run into problems

Sorry for inconvenience

-Khem

#25 lore raw
In reply to Richard Purdie

Op 10 mei 2011, om 16:00 heeft Richard Purdie het volgende geschreven:

Quoted 12 lines

From: Richard Purdie <[email protected]>

As discussed, we want to make OE-Core usable with no distro set. This patch series makes some big steps towards that goal. I'd be interested in feedback on whether it does the right things and would be usable by others.

The key is the inclusion of a distro/defaultsetup.conf file by bitbake.conf and in turn this pulls in a variety of other common include files which can likely be shared. Any point of this cycle can be overridden by another layer so its totally customisable. I'd encourage users to use the pieces they can where possible so we all share best practises but obviously people have choice.

Quoted 3 lines

I did dump a load of "default" variables into default-distrovars.inc, I'm not calling that file finished, I just had to draw the line somewhere and start a discussion about this :)

For angstrom we had to change a few things, have a look at http://git.angstrom-distribution.org/cgi-bin/cgit.cgi/meta-angstrom/tree/conf/distro/include/angstrom-core-tweaks.inc , specifically lines 12-18 and 53-54

regards,

Koen

#26 lore raw
Quoted 14 lines · Koen Kooi

Op 10 mei 2011, om 16:00 heeft Richard Purdie het volgende geschreven:

Quoted 12 lines

From: Richard Purdie <[email protected]>

As discussed, we want to make OE-Core usable with no distro set. This patch series makes some big steps towards that goal. I'd be interested in feedback on whether it does the right things and would be usable by others.

The key is the inclusion of a distro/defaultsetup.conf file by bitbake.conf and in turn this pulls in a variety of other common include files which can likely be shared. Any point of this cycle can be overridden by another layer so its totally customisable. I'd encourage users to use the pieces they can where possible so we all share best practises but obviously people have choice.

Quoted 6 lines
Quoted 3 lines

I did dump a load of "default" variables into default-distrovars.inc, I'm not calling that file finished, I just had to draw the line somewhere and start a discussion about this :)

For angstrom we had to change a few things, have a look at
http://git.angstrom-distribution.org/cgi-bin/cgit.cgi/meta-angstrom/tree/conf/distro/include/angstrom-core-tweaks.inc , specifically lines 12-18 and 53-54

I don't understand what TOOLCHAIN_PATH and TOOLCHAIN_SYSPATH do, I can't find any reference to them in OECore. For the uclibc bits, I'm proposing to add:

+DEPLOY_DIR_append = "-uclibc"
+STAGING_DIR_TARGET_append = "-uclibc"
+STAGING_DIR_HOST_append = "-uclibc"
+SSTATE_MANIFESTS_append = "-uclibc"

to tclibc-uclibc.inc.

For the SDK/TOOLCHAIN bits, I need to have a close look at the SDK and figure out what the implications are there as I want to ensure that they can all be parallel installed as well as being in separate tarballs but its something we need to look at.

Cheers,

Richard

#27 lore raw

Op 11 mei 2011, om 11:45 heeft Richard Purdie het volgende geschreven:

Quoted 19 lines · Koen Kooi
Quoted 18 lines

Op 10 mei 2011, om 16:00 heeft Richard Purdie het volgende geschreven:

Quoted 15 lines

From: Richard Purdie <[email protected]>

As discussed, we want to make OE-Core usable with no distro set. This patch series makes some big steps towards that goal. I'd be interested in feedback on whether it does the right things and would be usable by others.

The key is the inclusion of a distro/defaultsetup.conf file by bitbake.conf and in turn this pulls in a variety of other common include files which can likely be shared. Any point of this cycle can be overridden by another layer so its totally customisable. I'd encourage users to use the pieces they can where possible so we all share best practises but obviously people have choice.

I did dump a load of "default" variables into default-distrovars.inc, I'm not calling that file finished, I just had to draw the line somewhere and start a discussion about this :)

Quoted 5 lines
Quoted 2 lines

For angstrom we had to change a few things, have a look at
http://git.angstrom-distribution.org/cgi-bin/cgit.cgi/meta-angstrom/tree/conf/distro/include/angstrom-core-tweaks.inc , specifically lines 12-18 and 53-54

I don't understand what TOOLCHAIN_PATH and TOOLCHAIN_SYSPATH do, I can't find any reference to them in OECore.

They are for torublesome recipes combined with external toolchains. Denys, could you enlighten us a bit more on those?

Quoted 9 lines

For the uclibc bits, I'm proposing
to add:

(quoted diff) +4 -0
+DEPLOY_DIR_append = "-uclibc"
+STAGING_DIR_TARGET_append = "-uclibc"
+STAGING_DIR_HOST_append = "-uclibc"
+SSTATE_MANIFESTS_append = "-uclibc"

to tclibc-uclibc.inc.

Can we use _append_libc-uclibc = "uclibc" or even plain ${TCLIBC} in a generic include file? That would be a lot more readable and fix glibc vs eglibc.

Quoted 4 lines

For the SDK/TOOLCHAIN bits, I need to have a close look at the SDK and figure out what the implications are there as I want to ensure that they can all be parallel installed as well as being in separate tarballs but its something we need to look at.

I needed 'armv5te' and 'armv7a' in the tarball name, so that's how this is derived. It matched the OE names, but Khem found some bugs and changed it a little.

#28 lore raw
Quoted 9 lines · Koen Kooi

Op 11 mei 2011, om 11:45 heeft Richard Purdie het volgende geschreven:

Quoted 8 lines

For the uclibc bits, I'm proposing
to add:

(quoted diff) +4 -0
+DEPLOY_DIR_append = "-uclibc"
+STAGING_DIR_TARGET_append = "-uclibc"
+STAGING_DIR_HOST_append = "-uclibc"
+SSTATE_MANIFESTS_append = "-uclibc"
Quoted 5 lines
Quoted 1 line

to tclibc-uclibc.inc.

Can we use _append_libc-uclibc = "uclibc" or even plain ${TCLIBC} in a generic include file? That would be a lot more readable and fix glibc vs eglibc.

Changing uclibc around is ok as its not something that has worked well in with OE-Core for a while. What I'm trying to avoid is having to bump all the versions of the sstate files, the sysroot layout and associated version numbers which is what would have to happen if we change the eglibc layout :(.

Obviously, if angstrom switches layout its pain for you though so I suspect someone loses with this either way :/.

Quoted 8 lines
Quoted 4 lines

For the SDK/TOOLCHAIN bits, I need to have a close look at the SDK and figure out what the implications are there as I want to ensure that they can all be parallel installed as well as being in separate tarballs but its something we need to look at.

I needed 'armv5te' and 'armv7a' in the tarball name, so that's how this is derived. It matched the OE names, but Khem found some bugs and changed it a little.

Makes sense and I see the need, I just want to ensure the tarballs we have can be parallel installed.

Cheers,

Richard

#29 lore raw

Op 11 mei 2011, om 12:54 heeft Richard Purdie het volgende geschreven:

Quoted 16 lines · Koen Kooi
Quoted 9 lines

Op 11 mei 2011, om 11:45 heeft Richard Purdie het volgende geschreven:

Quoted 8 lines

For the uclibc bits, I'm proposing
to add:

(quoted diff) +4 -0
+DEPLOY_DIR_append = "-uclibc"
+STAGING_DIR_TARGET_append = "-uclibc"
+STAGING_DIR_HOST_append = "-uclibc"
+SSTATE_MANIFESTS_append = "-uclibc"
Quoted 5 lines
Quoted 1 line

to tclibc-uclibc.inc.

Can we use _append_libc-uclibc = "uclibc" or even plain ${TCLIBC} in a generic include file? That would be a lot more readable and fix glibc vs eglibc.

Quoted 8 lines

Changing uclibc around is ok as its not something that has worked well in with OE-Core for a while. What I'm trying to avoid is having to bump all the versions of the sstate files, the sysroot layout and associated version numbers which is what would have to happen if we change the eglibc layout :(.

Obviously, if angstrom switches layout its pain for you though so I suspect someone loses with this either way :/.

I would think consistency is best, so either set always append TCLIBC or never. This isn't a lot more pain than the '-' to '_' change in machine names a while ago. And that even had runtime pains!

regards,

Koen

#30 lore raw
Quoted 25 lines · Koen Kooi

Op 11 mei 2011, om 12:54 heeft Richard Purdie het volgende geschreven:

Quoted 22 lines · Koen Kooi
Quoted 9 lines

Op 11 mei 2011, om 11:45 heeft Richard Purdie het volgende geschreven:

Quoted 8 lines

For the uclibc bits, I'm proposing
to add:

(quoted diff) +4 -0
+DEPLOY_DIR_append = "-uclibc"
+STAGING_DIR_TARGET_append = "-uclibc"
+STAGING_DIR_HOST_append = "-uclibc"
+SSTATE_MANIFESTS_append = "-uclibc"
Quoted 5 lines
Quoted 1 line

to tclibc-uclibc.inc.

Can we use _append_libc-uclibc = "uclibc" or even plain ${TCLIBC} in a generic include file? That would be a lot more readable and fix glibc vs eglibc.

Changing uclibc around is ok as its not something that has worked well in with OE-Core for a while. What I'm trying to avoid is having to bump all the versions of the sstate files, the sysroot layout and associated version numbers which is what would have to happen if we change the eglibc layout :(.

Quoted 5 lines
Quoted 2 lines

Obviously, if angstrom switches layout its pain for you though so I suspect someone loses with this either way :/.

I would think consistency is best, so either set always append TCLIBC or never. This isn't a lot more pain than the '-' to '_' change in machine names a while ago. And that even had runtime pains!

I would agree we should always append TCLIBC

Quoted 7 lines

regards,

Koen
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Signature · 1 line
-Khem
#31 lore raw
In reply to Richard Purdie
Quoted 27 lines · Richard Purdie
Quoted 14 lines · Koen Kooi

Op 10 mei 2011, om 16:00 heeft Richard Purdie het volgende geschreven:

Quoted 12 lines

From: Richard Purdie <[email protected]>

As discussed, we want to make OE-Core usable with no distro set. This patch series makes some big steps towards that goal. I'd be interested in feedback on whether it does the right things and would be usable by others.

The key is the inclusion of a distro/defaultsetup.conf file by bitbake.conf and in turn this pulls in a variety of other common include files which can likely be shared. Any point of this cycle can be overridden by another layer so its totally customisable. I'd encourage users to use the pieces they can where possible so we all share best practises but obviously people have choice.

Quoted 6 lines
Quoted 3 lines

I did dump a load of "default" variables into default-distrovars.inc, I'm not calling that file finished, I just had to draw the line somewhere and start a discussion about this :)

For angstrom we had to change a few things, have a look at
http://git.angstrom-distribution.org/cgi-bin/cgit.cgi/meta-angstrom/tree/conf/distro/include/angstrom-core-tweaks.inc , specifically lines 12-18 and 53-54

I don't understand what TOOLCHAIN_PATH and TOOLCHAIN_SYSPATH do, I can't find any reference to them in OECore. For the uclibc bits, I'm proposing to add:

Review

Quoted 4 lines
(quoted diff) +4 -0
+DEPLOY_DIR_append = "-uclibc"
+STAGING_DIR_TARGET_append = "-uclibc"
+STAGING_DIR_HOST_append = "-uclibc"
+SSTATE_MANIFESTS_append = "-uclibc"

this wont work. Since virtclasses empty out some of these vars e.g. native resets STAGING_DIR_HOST but this will still append -uclibc to it since append happens at the end

Quoted 18 lines

to tclibc-uclibc.inc.

For the SDK/TOOLCHAIN bits, I need to have a close look at the SDK and figure out what the implications are there as I want to ensure that they can all be parallel installed as well as being in separate tarballs but its something we need to look at.

Cheers,

Richard

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

#32 lore raw
Quoted 12 lines · Khem Raj

Review

Quoted 6 lines · Richard Purdie

On Tue, 2011-05-10 at 17:58 +0200, Koen Kooi wrote:

(quoted diff) +4 -0
+DEPLOY_DIR_append = "-uclibc"
+STAGING_DIR_TARGET_append = "-uclibc"
+STAGING_DIR_HOST_append = "-uclibc"
+SSTATE_MANIFESTS_append = "-uclibc"

this wont work. Since virtclasses empty out some of these vars e.g. native resets STAGING_DIR_HOST but this will still append -uclibc to it since append happens at the end

Something like below can serve us better

meta/conf/distro/include/tclibc-uclibc.inc +4 -4
@@ -21,10 +21,10 @@ CXXFLAGS += "-fvisibility-inlines-hidden"
 IMAGE_LINGUAS = ""
 
 DEPLOY_DIR_IMAGE = "${TMPDIR}/deploy/images"
-DEPLOY_DIR_append = "-uclibc"
-STAGING_DIR_TARGET_append = "-uclibc"
-STAGING_DIR_HOST_append = "-uclibc"
-SSTATE_MANIFESTS_append = "-uclibc"
+DEPLOY_DIR_append = "${@["-uclibc", ""][oe.utils.inherits(d, 'native', 'nativesdk')]}"
+STAGING_DIR_TARGET_append = "${@["-uclibc", ""][oe.utils.inherits(d, 'native', 'nativesdk')]}"
+STAGING_DIR_HOST_append = "${@["-uclibc", ""][oe.utils.inherits(d, 'native', 'nativesdk')]}"
+SSTATE_MANIFESTS_append = "${@["-uclibc", ""][oe.utils.inherits(d, 'native', 'nativesdk')]}"
 
 LIBC_DEPENDENCIES = "\
     uclibc \
#33 lore raw
In reply to Richard Purdie
Quoted 25 lines · Richard Purdie

From: Richard Purdie <[email protected]>

As discussed, we want to make OE-Core usable with no distro set. This patch series makes some big steps towards that goal. I'd be interested in feedback on whether it does the right things and would be usable by others.

The key is the inclusion of a distro/defaultsetup.conf file by bitbake.conf and in turn this pulls in a variety of other common include files which can likely be shared. Any point of this cycle can be overridden by another layer so its totally customisable. I'd encourage users to use the pieces they can where possible so we all share best practises but obviously people have choice.

I did dump a load of "default" variables into default-distrovars.inc, I'm not calling that file finished, I just had to draw the line somewhere and start a discussion about this :)

Also, I'm aware there are still a few poky-* files in meta/conf/distro/include. Some of these can just be deleted, others renamed tcmode-* and I'll take care of that. I'll also delete the poky.conf file since it no longer contains anything required to make OE-Core build as far as I know (wider testing needed).

Pull URL: git://git.openembedded.org/openembedded-core-contrib
Branch: rpurdie/distro
Browse: http://git.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rpurdie/distro

Quoted 13 lines

Richard Purdie (6):
Drop poky-floating-revisions.inc, poky-bleeding.conf and
poky-lsb.conf
bitbake.conf: Include the new default-providers.inc and
default-versions.inc files
distro: Add defaultsetup.conf, a set of default configuration
providing sane overrridable default for commonly used options
machine/qemu: Add qemu-config as an essential machine speicfic
dependency and drop specific distro config
conf/distro/include/default-distrovars.inc: Create set of default
'distro' variable values
preferred-xorg-versions.inc: Drop this, it makes no sense given we
only have one version of these recipes

I've taken feedback on board, tweaked the series and then merged it. My reasoning is that whilst this might not be 100% perfect in every way, it moves us a lot closer to where we want to be. We were going to start seeing patch conflicts if it was out of tree for too long and that didn't seem worthwhile.

Cheers,

Richard

#34 lore raw
Quoted 5 lines · Richard Purdie

I've taken feedback on board, tweaked the series and then merged it. My reasoning is that whilst this might not be 100% perfect in every way, it moves us a lot closer to where we want to be. We were going to start seeing patch conflicts if it was out of tree for too long and that didn't seem worthwhile.

I have expected at least another review cycle since this is a huge change and potential to change a lot of stuff for users...

Signature · 3 lines
Otavio Salvador                             O.S. Systems
E-mail: [email protected]  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br
#35 lore raw
Quoted 10 lines · Otavio Salvador
Quoted 5 lines · Richard Purdie

I've taken feedback on board, tweaked the series and then merged it. My reasoning is that whilst this might not be 100% perfect in every way, it moves us a lot closer to where we want to be. We were going to start seeing patch conflicts if it was out of tree for too long and that didn't seem worthwhile.

I have expected at least another review cycle since this is a huge change and potential to change a lot of stuff for users...

Its a process of iterative improvement. I'm not calling what is there now 100% complete, just a lot better than what preceded it. If there are further changes needed, lets discuss them! :)

Cheers,

Richard