diff options
Diffstat (limited to 'meta-poky')
24 files changed, 272 insertions, 272 deletions
diff --git a/meta-poky/README.poky b/meta-poky/README.poky deleted file mode 100644 index 2ba3b5c03e..0000000000 --- a/meta-poky/README.poky +++ /dev/null @@ -1,71 +0,0 @@ -Poky -==== - -Poky is an integration of various components to form a complete prepackaged -build system and development environment. It features support for building -customised embedded device style images. There are reference demo images -featuring a X11/Matchbox/GTK themed UI called Sato. The system supports -cross-architecture application development using QEMU emulation and a -standalone toolchain and SDK with IDE integration. - -Additional information on the specifics of hardware that Poky supports -is available in README.hardware. Further hardware support can easily be added -in the form of layers which extend the systems capabilities in a modular way. - -As an integration layer Poky consists of several upstream projects such as -BitBake, OpenEmbedded-Core, Yocto documentation and various sources of information -e.g. for the hardware support. Poky is in turn a component of the Yocto Project. - -The Yocto Project has extensive documentation about the system including a -reference manual which can be found at: - http://yoctoproject.org/documentation - -OpenEmbedded-Core is a layer containing the core metadata for current versions -of OpenEmbedded. It is distro-less (can build a functional image with -DISTRO = "nodistro") and contains only emulated machine support. - -For information about OpenEmbedded, see the OpenEmbedded website: - http://www.openembedded.org/ - - -Contribution Guidelines -======================= - -A guide to submitting patches to OpenEmbedded is available at: - -http://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded - -There is good documentation on how to write/format patches at: - -https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines - - -Where to Send Patches -===================== - -As Poky is an integration repository (built using a tool called combo-layer), -patches against the various components should be sent to their respective -upstreams: - -bitbake: - Git repository: http://git.openembedded.org/bitbake/ - Mailing list: bitbake-devel@lists.openembedded.org - -documentation: - Git repository: http://git.yoctoproject.org/cgit/cgit.cgi/yocto-docs/ - Mailing list: docs@lists.yoctoproject.org - -meta-poky, meta-yocto-bsp: - Git repository: http://git.yoctoproject.org/cgit/cgit.cgi/meta-yocto(-bsp) - Mailing list: poky@lists.yoctoproject.org - -Everything else should be sent to the OpenEmbedded Core mailing list. If in -doubt, check the oe-core git repository for the content you intend to modify. -Before sending, be sure the patches apply cleanly to the current oe-core git -repository. - - Git repository: http://git.openembedded.org/openembedded-core/ - Mailing list: openembedded-core@lists.openembedded.org - -Note: The scripts directory should be treated with extra care as it is a mix of -oe-core and poky-specific files from meta-poky. diff --git a/meta-poky/README.poky.md b/meta-poky/README.poky.md new file mode 100644 index 0000000000..7dd5e6d831 --- /dev/null +++ b/meta-poky/README.poky.md @@ -0,0 +1,73 @@ +Poky +==== + +Poky is an integration of various components to form a pre-packaged +build system and development environment which is used as a development and +validation tool by the [Yocto Project](https://www.yoctoproject.org/). It +features support for building customised embedded style device images +and custom containers. There are reference demo images ranging from X11/GTK+ + to Weston, commandline and more. The system supports cross-architecture +application development using QEMU emulation and a standalone toolchain and +SDK suitable for IDE integration. + +Additional information on the specifics of hardware that Poky supports +is available in README.hardware. Further hardware support can easily be added +in the form of BSP layers which extend the systems capabilities in a modular way. +Many layers are available and can be found through the +[layer index](https://layers.openembedded.org/). + +As an integration layer Poky consists of several upstream projects such as +[BitBake](https://git.openembedded.org/bitbake/), +[OpenEmbedded-Core](https://git.openembedded.org/openembedded-core/), +[Yocto documentation](https://git.yoctoproject.org/cgit.cgi/yocto-docs/), +the '[meta-yocto](https://git.yoctoproject.org/cgit.cgi/meta-yocto/)' layer +which has configuration and hardware support components. These components +are all part of the Yocto Project and OpenEmbedded ecosystems. + +The Yocto Project has extensive documentation about the system including a +reference manual which can be found at <https://docs.yoctoproject.org/> + +OpenEmbedded is the build architecture used by Poky and the Yocto project. +For information about OpenEmbedded, see the +[OpenEmbedded website](https://www.openembedded.org/). + +Contribution Guidelines +----------------------- + +Please refer to our contributor guide here: https://docs.yoctoproject.org/dev/contributor-guide/ +for full details on how to submit changes. + +Where to Send Patches +--------------------- + +As Poky is an integration repository (built using a tool called combo-layer), +patches against the various components should be sent to their respective +upstreams: + +OpenEmbedded-Core (files in meta/, meta-selftest/, meta-skeleton/, scripts/): + +- Git repository: <https://git.openembedded.org/openembedded-core/> +- Mailing list: openembedded-core@lists.openembedded.org + +BitBake (files in bitbake/): + +- Git repository: <https://git.openembedded.org/bitbake/> +- Mailing list: bitbake-devel@lists.openembedded.org + +Documentation (files in documentation/): + +- Git repository: <https://git.yoctoproject.org/cgit/cgit.cgi/yocto-docs/> +- Mailing list: docs@lists.yoctoproject.org + +meta-yocto (files in meta-poky/, meta-yocto-bsp/): + +- Git repository: <https://git.yoctoproject.org/cgit/cgit.cgi/meta-yocto> +- Mailing list: poky@lists.yoctoproject.org + +If in doubt, check the openembedded-core git repository for the content you +intend to modify as most files are from there unless clearly one of the above +categories. Before sending, be sure the patches apply cleanly to the current +git repository branch in question. + +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/765/badge)](https://bestpractices.coreinfrastructure.org/projects/765) + diff --git a/meta-poky/classes/poky-bleeding.bbclass b/meta-poky/classes/poky-bleeding.bbclass new file mode 100644 index 0000000000..3bfdcf1454 --- /dev/null +++ b/meta-poky/classes/poky-bleeding.bbclass @@ -0,0 +1,20 @@ +# +# AUTOREV and PV containing '+git' needs to be set early, before any anonymous python +# expands anything containing PV, else the parse process won't trigger the fetcher to +# cache the needed version data +# +python pokybleeding_version_handler () { + bpn = d.getVar("BPN") + # We're running before the class extension code at PreFinalise so manually fix BPN + bpn = bpn.replace("-nativesdk", "").replace("nativesdk-", "") + + if bpn in d.getVar("POKY_AUTOREV_RECIPES").split(): + if "pseudo" in bpn: + bb.warn("Here 5 %s %s" % (d.getVar("PN"), bpn)) + d.setVar("SRCREV", "${AUTOREV}") + if "+git" not in d.getVar("PV"): + d.appendVar("PV", "+git") +} + +addhandler pokybleeding_version_handler +pokybleeding_version_handler[eventmask] = "bb.event.RecipePreFinalise" diff --git a/meta-poky/conf/distro/include/gcsections.inc b/meta-poky/conf/distro/include/gcsections.inc index 7157373aa8..0e7bd2efff 100644 --- a/meta-poky/conf/distro/include/gcsections.inc +++ b/meta-poky/conf/distro/include/gcsections.inc @@ -2,31 +2,35 @@ CFLAGS_SECTION_REMOVAL = "-ffunction-sections -fdata-sections" LDFLAGS_SECTION_REMOVAL = "-Wl,--gc-sections" # packages with build problems using sections -CFLAGS_SECTION_REMOVAL_pn-glibc = "" -LDFLAGS_SECTION_REMOVAL_pn-glibc = "" -CFLAGS_SECTION_REMOVAL_pn-cairo = "" -LDFLAGS_SECTION_REMOVAL_pn-cairo = "" -CFLAGS_SECTION_REMOVAL_pn-perl = "" -LDFLAGS_SECTION_REMOVAL_pn-perl = "" -CFLAGS_SECTION_REMOVAL_pn-grub-efi = "" -LDFLAGS_SECTION_REMOVAL_pn-grub-efi = "" -CFLAGS_SECTION_REMOVAL_pn-grub = "" -LDFLAGS_SECTION_REMOVAL_pn-grub = "" +CFLAGS_SECTION_REMOVAL:pn-glibc = "" +LDFLAGS_SECTION_REMOVAL:pn-glibc = "" +CFLAGS_SECTION_REMOVAL:pn-cairo = "" +LDFLAGS_SECTION_REMOVAL:pn-cairo = "" +CFLAGS_SECTION_REMOVAL:pn-perl = "" +LDFLAGS_SECTION_REMOVAL:pn-perl = "" +CFLAGS_SECTION_REMOVAL:pn-grub-efi = "" +LDFLAGS_SECTION_REMOVAL:pn-grub-efi = "" +CFLAGS_SECTION_REMOVAL:pn-grub = "" +LDFLAGS_SECTION_REMOVAL:pn-grub = "" # SDK packages with build problems using sections -CFLAGS_SECTION_REMOVAL_pn-nativesdk-glibc = "" -LDFLAGS_SECTION_REMOVAL_pn-nativesdk-glibc = "" -CFLAGS_SECTION_REMOVAL_pn-nativesdk-mingw-w64-runtime = "" -LDFLAGS_SECTION_REMOVAL_pn-nativesdk-mingw-w64-runtime = "" -CFLAGS_SECTION_REMOVAL_pn-nativesdk-perl = "" -LDFLAGS_SECTION_REMOVAL_pn-nativesdk-perl = "" -CFLAGS_SECTION_REMOVAL_pn-nativesdk-mingw-w64-winpthreads = "" -LDFLAGS_SECTION_REMOVAL_pn-nativesdk-mingw-w64-winpthreads = "" +CFLAGS_SECTION_REMOVAL:pn-nativesdk-glibc = "" +LDFLAGS_SECTION_REMOVAL:pn-nativesdk-glibc = "" +CFLAGS_SECTION_REMOVAL:pn-nativesdk-cairo = "" +LDFLAGS_SECTION_REMOVAL:pn-nativesdk-cairo = "" +CFLAGS_SECTION_REMOVAL:pn-nativesdk-mingw-w64-runtime = "" +LDFLAGS_SECTION_REMOVAL:pn-nativesdk-mingw-w64-runtime = "" +CFLAGS_SECTION_REMOVAL:pn-nativesdk-perl = "" +LDFLAGS_SECTION_REMOVAL:pn-nativesdk-perl = "" +CFLAGS_SECTION_REMOVAL:pn-nativesdk-mingw-w64-winpthreads = "" +LDFLAGS_SECTION_REMOVAL:pn-nativesdk-mingw-w64-winpthreads = "" # set default for target -CFLAGS_append_class-target = " ${CFLAGS_SECTION_REMOVAL}" -LDFLAGS_append_class-target = " ${LDFLAGS_SECTION_REMOVAL}" +CFLAGS:append:class-target = " ${CFLAGS_SECTION_REMOVAL}" +CXXFLAGS:append:class-target = " ${CFLAGS_SECTION_REMOVAL}" +LDFLAGS:append:class-target = " ${LDFLAGS_SECTION_REMOVAL}" # set default for nativesdk -CFLAGS_append_class-nativesdk = " ${CFLAGS_SECTION_REMOVAL}" -LDFLAGS_append_class-nativesdk = " ${LDFLAGS_SECTION_REMOVAL}" +CFLAGS:append:class-nativesdk = " ${CFLAGS_SECTION_REMOVAL}" +CXXFLAGS:append:class-nativesdk = " ${CFLAGS_SECTION_REMOVAL}" +LDFLAGS:append:class-nativesdk = " ${LDFLAGS_SECTION_REMOVAL}" diff --git a/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc b/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc index 273ebfdfef..3e10251e8b 100644 --- a/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc +++ b/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc @@ -1,8 +1,8 @@ -# Add an extra DISTRO_FEATURE -DISTRO_FEATURES_append = " pam" +# Add extra DISTRO_FEATUREs +DISTRO_FEATURES:append = " pam usrmerge" -# Use the LTSI Kernel -PREFERRED_VERSION_linux-yocto = "5.4%" +# Use our alternate kernel version +PREFERRED_VERSION_linux-yocto = "6.6%" # Ensure the kernel nfs server is enabled -KERNEL_FEATURES_append_pn-linux-yocto = " features/nfsd/nfsd-enable.scc" +KERNEL_FEATURES:append:pn-linux-yocto = " features/nfsd/nfsd-enable.scc" diff --git a/meta-poky/conf/distro/include/poky-floating-revisions.inc b/meta-poky/conf/distro/include/poky-floating-revisions.inc index 1fc5045920..0721a718bd 100644 --- a/meta-poky/conf/distro/include/poky-floating-revisions.inc +++ b/meta-poky/conf/distro/include/poky-floating-revisions.inc @@ -1,56 +1,22 @@ # -# Package Versions for cutting edge testing: +# Set recipe versions to auto-rev for cutting edge testing # -#SRCREV_pn-opkg-native ?= "${AUTOREV}" -#SRCREV_pn-opkg-sdk ?= "${AUTOREV}" -#SRCREV_pn-opkg ?= "${AUTOREV}" -#SRCREV_pn-opkg-utils-native ?= "${AUTOREV}" -#SRCREV_pn-opkg-utils ?= "${AUTOREV}" -SRCREV_pn-gconf-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-2 ?= "${AUTOREV}" -SRCREV_pn-matchbox-themes-extra ?= "${AUTOREV}" -SRCREV_pn-matchbox-terminal ?= "${AUTOREV}" -SRCREV_pn-matchbox-wm ?= "${AUTOREV}" -SRCREV_pn-settings-daemon ?= "${AUTOREV}" -SRCREV_pn-screenshot ?= "${AUTOREV}" -SRCREV_pn-libfakekey ?= "${AUTOREV}" -SRCREV_pn-psplash ?= "${AUTOREV}" -SRCREV_pn-gtk-sato-engine ?= "${AUTOREV}" -SRCREV_pn-matchbox-theme-sato ?= "${AUTOREV}" -SRCREV_pn-sato-icon-theme ?= "${AUTOREV}" -SRCREV_pn-matchbox-desktop-sato ?= "${AUTOREV}" -SRCREV_pn-oh-puzzles ?= "${AUTOREV}" -SRCREV_pn-libowl ?= "${AUTOREV}" -SRCREV_pn-clutter ?= "${AUTOREV}" -SRCREV_pn-clutter-gst ?= "${AUTOREV}" -SRCREV_pn-libmatchbox ?= "${AUTOREV}" -SRCREV_pn-ofono ?= "${AUTOREV}" - -SRCREV_pn-dri2proto = "${AUTOREV}" -#PREFERRED_VERSION_dri2proto ?= "1.99.1+git%" -SRCREV_pn-libdrm = "${AUTOREV}" -#PREFERRED_VERSION_libdrm ?= "2.4.0+git%" -SRCREV_pn-libxcb = "${AUTOREV}" -#PREFERRED_VERSION_libxcb ?= "1.1.90.1+gitr%" -SRCREV_pn-lib-proto = "${AUTOREV}" -#PREFERRED_VERSION_xcb-proto ?= "1.2+gitr%" -SRCREV_pn-libxcb-sdk = "${AUTOREV}" -#PREFERRED_VERSION_libxcb-sdk ?= "1.1.90.1+gitr%" -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_pn-xf86-input-keyboard = "${AUTOREV}" -#PREFERRED_VERSION_xf86-input-keyboard ?= "1.3.1+git%" -SRCREV_pn-xf86-input-synaptics = "${AUTOREV}" -#PREFERRED_VERSION_xf86-input-synaptics ?= "0.15.2+git%" - -#SRCDATE_oprofile ?= "${DATE}" - -PREFERRED_VERSION_oprofile ?= "0.9.4+cvs${SRCDATE_oprofile}" +INHERIT += "poky-bleeding" +POKY_AUTOREV_RECIPES = "\ + libmatchbox \ + opkg-utils \ + matchbox-config-gtk \ + matchbox-desktop \ + matchbox-keyboard \ + matchbox-panel-2 \ + matchbox-terminal \ + matchbox-theme-sato \ + matchbox-wm \ + pseudo \ + puzzles \ + sato-icon-theme \ + sato-screenshot \ + settings-daemon \ +" diff --git a/meta-poky/conf/distro/include/poky-world-exclude.inc b/meta-poky/conf/distro/include/poky-world-exclude.inc index 1a2dea5859..f3ac59c519 100644 --- a/meta-poky/conf/distro/include/poky-world-exclude.inc +++ b/meta-poky/conf/distro/include/poky-world-exclude.inc @@ -1,4 +1,4 @@ # -# Things we exlude fromw world testing within the reference distro +# Things we exlude from world testing within the reference distro # diff --git a/meta-poky/conf/distro/poky-altcfg.conf b/meta-poky/conf/distro/poky-altcfg.conf index 177bf8d184..3d64bdd1fe 100644 --- a/meta-poky/conf/distro/poky-altcfg.conf +++ b/meta-poky/conf/distro/poky-altcfg.conf @@ -2,14 +2,16 @@ # An example of subclassing a distro, primarily used for testing alternate configuration # combinations on the Yocto Project autobuilder # + +PACKAGE_CLASSES ?= "package_ipk" require conf/distro/poky.conf DISTRO = "poky-altcfg" DISTROOVERRIDES = "poky:poky-altcfg" #DISTROOVERRIDES = "poky:linuxstdbase" -INIT_MANAGER ?= "systemd" +POKY_INIT_MANAGER:poky-altcfg = "systemd" # systemd isn't suitable with musl -INIT_MANAGER_libc-musl ?= "sysvinit" +POKY_INIT_MANAGER:poky-altcfg:libc-musl = "sysvinit" require conf/distro/include/poky-distro-alt-test-config.inc diff --git a/meta-poky/conf/distro/poky-bleeding.conf b/meta-poky/conf/distro/poky-bleeding.conf index 2d3e046a45..8cbf2284d0 100644 --- a/meta-poky/conf/distro/poky-bleeding.conf +++ b/meta-poky/conf/distro/poky-bleeding.conf @@ -1,8 +1,4 @@ -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" +PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-dev" require conf/distro/include/poky-floating-revisions.inc require conf/distro/poky.conf diff --git a/meta-poky/conf/distro/poky-tiny.conf b/meta-poky/conf/distro/poky-tiny.conf index 5a867b1de5..f3dfa8107a 100644 --- a/meta-poky/conf/distro/poky-tiny.conf +++ b/meta-poky/conf/distro/poky-tiny.conf @@ -26,12 +26,13 @@ # [ ] Drop ldconfig from the installation # [ ] Modify the runqemu scripts to work with ext2 parameter: # runqemu qemux86 qemuparams="-nographic" bootparams="console=ttyS0,115200 root=0800" -# [ ] Modify busybox to allow for DISTRO_FEATURES-like confiruration +# [ ] Modify busybox to allow for DISTRO_FEATURES-like configuration require conf/distro/poky.conf require conf/distro/include/gcsections.inc DISTRO = "poky-tiny" +DISTRO_NAME = "Poky Tiny" DISTROOVERRIDES = "poky:poky-tiny" TCLIBC = "musl" @@ -43,7 +44,7 @@ FULL_OPTIMIZATION="-Os -pipe ${DEBUG_FLAGS}" # Distro config is evaluated after the machine config, so we have to explicitly # set the kernel provider to override a machine config. PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-tiny" -PREFERRED_VERSION_linux-yocto-tiny ?= "5.10%" +PREFERRED_VERSION_linux-yocto-tiny ?= "6.6%" # We can use packagegroup-core-boot, but in the future we may need a new packagegroup-core-tiny #POKY_DEFAULT_EXTRA_RDEPENDS += "packagegroup-core-boot" @@ -57,11 +58,13 @@ TCLIBCAPPEND = "" # in the LIBC features below. # Leave native enable to avoid build failures ENABLE_WIDEC = "false" -ENABLE_WIDEC_class-native = "true" +ENABLE_WIDEC:class-native = "true" # Drop native language support. This removes the # eglibc->bash->gettext->libc-posix-clang-wchar dependency. USE_NLS="no" +# As we don't have native language support, don't install locales into images +IMAGE_LINGUAS = "" # Comment out any of the lines below to disable them in the build # DISTRO_FEATURES options: @@ -79,15 +82,11 @@ DISTRO_FEATURES = "${DISTRO_FEATURES_TINY} \ ${DISTRO_FEATURES_WIFI} \ " -# Enable LFS - see bug YOCTO #5865 -DISTRO_FEATURES_append_libc-uclibc = " largefile" -DISTRO_FEATURES_append_libc-musl = " largefile" - -DISTRO_FEATURES_class-native = "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}" -DISTRO_FEATURES_class-nativesdk = "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}" +DISTRO_FEATURES:class-native = "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}" +DISTRO_FEATURES:class-nativesdk = "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}" # enable mdev/busybox for init -INIT_MANAGER ?= "mdev-busybox" +POKY_INIT_MANAGER:poky-tiny = "mdev-busybox" # FIXME: Consider adding "modules" to MACHINE_FEATURES and using that in # packagegroup-core-base to select modutils-initscripts or not. Similar with "net" and @@ -98,8 +97,7 @@ INIT_MANAGER ?= "mdev-busybox" # udev, grub, etc. These pull in gettext, which fails to build with wide # character support. IMAGE_FSTYPES = "cpio.gz" - -QB_DEFAULT_FSTYPE = "${IMAGE_FSTYPES}" +QB_DEFAULT_FSTYPE = "cpio.gz" # Drop v86d from qemu dependency list (we support serial) # Drop grub from meta-intel BSPs @@ -111,19 +109,20 @@ MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "" # The mtrace script included by eglibc is a perl script. This means the system # will build perl in case this package is installed. Since we don't care about # this script for the purposes of tiny, remove the dependency from here. -RDEPENDS_${PN}-mtrace_pn-eglibc = "" - -PNBLACKLIST[build-appliance-image] = "not buildable with poky-tiny" -PNBLACKLIST[core-image-base] = "not buildable with poky-tiny" -PNBLACKLIST[core-image-clutter] = "not buildable with poky-tiny" -PNBLACKLIST[core-image-full-cmdline] = "not buildable with poky-tiny" -PNBLACKLIST[core-image-rt] = "not buildable with poky-tiny" -PNBLACKLIST[core-image-rt-sdk] = "not buildable with poky-tiny" -PNBLACKLIST[core-image-sato] = "not buildable with poky-tiny" -PNBLACKLIST[core-image-sato-dev] = "not buildable with poky-tiny" -PNBLACKLIST[core-image-sato-sdk] = "not buildable with poky-tiny" -PNBLACKLIST[core-image-x11] = "not buildable with poky-tiny" -PNBLACKLIST[core-image-weston] = "not buildable with poky-tiny" +RDEPENDS:${PN}-mtrace:pn-eglibc = "" + +SKIP_RECIPE[build-appliance-image] = "not buildable with poky-tiny" +SKIP_RECIPE[core-image-rt] = "not buildable with poky-tiny" +SKIP_RECIPE[core-image-rt-sdk] = "not buildable with poky-tiny" +SKIP_RECIPE[core-image-sato] = "not buildable with poky-tiny" +SKIP_RECIPE[core-image-sato-dev] = "not buildable with poky-tiny" +SKIP_RECIPE[core-image-sato-sdk] = "not buildable with poky-tiny" +SKIP_RECIPE[core-image-x11] = "not buildable with poky-tiny" +SKIP_RECIPE[core-image-weston] = "not buildable with poky-tiny" # Disable python usage in opkg-utils since it won't build with tiny config -PACKAGECONFIG_remove_pn-opkg-utils = "python" +PACKAGECONFIG:remove:pn-opkg-utils = "python" + +# If shadow-base is brought into the image, logins will fail because it +# doesn't have the heuristics to work when CONFIG_MULTIUSER is unset. +PACKAGE_EXCLUDE += "shadow-base" diff --git a/meta-poky/conf/distro/poky.conf b/meta-poky/conf/distro/poky.conf index 623f39da66..5285753c31 100644 --- a/meta-poky/conf/distro/poky.conf +++ b/meta-poky/conf/distro/poky.conf @@ -1,62 +1,52 @@ DISTRO = "poky" DISTRO_NAME = "Poky (Yocto Project Reference Distro)" -DISTRO_VERSION = "3.2+snapshot-${METADATA_REVISION}" -DISTRO_CODENAME = "master" +DISTRO_VERSION = "5.0+snapshot-${METADATA_REVISION}" +DISTRO_CODENAME = "styhead" SDK_VENDOR = "-pokysdk" SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${METADATA_REVISION}', 'snapshot')}" SDK_VERSION[vardepvalue] = "${SDK_VERSION}" -MAINTAINER = "Poky <poky@lists.yoctoproject.org>" +MAINTAINER = "Poky Maintainers <poky@lists.yoctoproject.org>" TARGET_VENDOR = "-poky" -LOCALCONF_VERSION = "1" +LOCALCONF_VERSION = "2" # Override these in poky based distros -POKY_DEFAULT_DISTRO_FEATURES = "largefile opengl ptest multiarch wayland vulkan" +POKY_DEFAULT_DISTRO_FEATURES = "opengl ptest multiarch wayland vulkan" POKY_DEFAULT_EXTRA_RDEPENDS = "packagegroup-core-boot" POKY_DEFAULT_EXTRA_RRECOMMENDS = "kernel-module-af-packet" DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}" -PREFERRED_VERSION_linux-yocto ?= "5.10%" -PREFERRED_VERSION_linux-yocto-rt ?= "5.10%" +PREFERRED_VERSION_linux-yocto ?= "6.6%" +PREFERRED_VERSION_linux-yocto-rt ?= "6.6%" SDK_NAME = "${DISTRO}-${TCLIBC}-${SDKMACHINE}-${IMAGE_BASENAME}-${TUNE_PKGARCH}-${MACHINE}" -SDKPATH = "/opt/${DISTRO}/${SDK_VERSION}" +SDKPATHINSTALL = "/opt/${DISTRO}/${SDK_VERSION}" -DISTRO_EXTRA_RDEPENDS += " ${POKY_DEFAULT_EXTRA_RDEPENDS}" -DISTRO_EXTRA_RRECOMMENDS += " ${POKY_DEFAULT_EXTRA_RRECOMMENDS}" +DISTRO_EXTRA_RDEPENDS += "${POKY_DEFAULT_EXTRA_RDEPENDS}" +DISTRO_EXTRA_RRECOMMENDS += "${POKY_DEFAULT_EXTRA_RRECOMMENDS}" TCLIBCAPPEND = "" -PREMIRRORS ??= "\ -bzr://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ -cvs://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ -git://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ -gitsm://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ -hg://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ -osc://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ -p4://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ -svn://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n" +PACKAGE_CLASSES ?= "package_rpm" SANITY_TESTED_DISTROS ?= " \ - poky-3.0 \n \ - poky-3.1 \n \ - poky-3.2 \n \ - ubuntu-16.04 \n \ - ubuntu-18.04 \n \ + poky-4.3 \n \ + poky-5.0 \n \ ubuntu-20.04 \n \ - fedora-31 \n \ - fedora-32 \n \ - fedora-33 \n \ - centos-7 \n \ - centos-8 \n \ - debian-8 \n \ - debian-9 \n \ - debian-10 \n \ - opensuseleap-15.1 \n \ - opensuseleap-15.2 \n \ + ubuntu-22.04 \n \ + ubuntu-23.04 \n \ + fedora-38 \n \ + fedora-39 \n \ + centosstream-8 \n \ + debian-11 \n \ + debian-12 \n \ + opensuseleap-15.4 \n \ + almalinux-8.8 \n \ + almalinux-9.2 \n \ + rocky-9 \n \ " # add poky sanity bbclass INHERIT += "poky-sanity" @@ -73,7 +63,14 @@ require conf/distro/include/yocto-uninative.inc require conf/distro/include/security_flags.inc INHERIT += "uninative" -INHERIT += "reproducible_build" - BB_SIGNATURE_HANDLER ?= "OEEquivHash" BB_HASHSERVE ??= "auto" + +POKY_INIT_MANAGER = "sysvinit" +INIT_MANAGER ?= "${POKY_INIT_MANAGER}" + +# We need debug symbols so that SPDX license manifests for the kernel work +KERNEL_EXTRA_FEATURES:append = " features/debug/debug-kernel.scc" + +# Enable creation of SPDX manifests by default +INHERIT += "create-spdx" diff --git a/meta-poky/conf/layer.conf b/meta-poky/conf/layer.conf index 7241af02e4..13bba953a0 100644 --- a/meta-poky/conf/layer.conf +++ b/meta-poky/conf/layer.conf @@ -9,7 +9,7 @@ BBFILE_COLLECTIONS += "yocto" BBFILE_PATTERN_yocto = "^${LAYERDIR}/" BBFILE_PRIORITY_yocto = "5" -LAYERSERIES_COMPAT_yocto = "gatesgarth" +LAYERSERIES_COMPAT_yocto = "scarthgap" # This should only be incremented on significant changes that will # cause compatibility issues with other layers diff --git a/meta-poky/conf/bblayers.conf.sample b/meta-poky/conf/templates/default/bblayers.conf.sample index 8b1cbdfc5c..8b1cbdfc5c 100644 --- a/meta-poky/conf/bblayers.conf.sample +++ b/meta-poky/conf/templates/default/bblayers.conf.sample diff --git a/meta-poky/conf/conf-notes.txt b/meta-poky/conf/templates/default/conf-notes.txt index 084cc98369..cfd1f1977b 100644 --- a/meta-poky/conf/conf-notes.txt +++ b/meta-poky/conf/templates/default/conf-notes.txt @@ -11,7 +11,7 @@ Common targets are: meta-toolchain meta-ide-support -You can also run generated qemu images with a command like 'runqemu qemux86' +You can also run generated qemu images with a command like 'runqemu qemux86-64'. Other commonly useful commands are: - 'devtool' and 'recipetool' handle common recipe tasks diff --git a/meta-poky/conf/templates/default/conf-summary.txt b/meta-poky/conf/templates/default/conf-summary.txt new file mode 100644 index 0000000000..8fc03030c7 --- /dev/null +++ b/meta-poky/conf/templates/default/conf-summary.txt @@ -0,0 +1 @@ +This is the default build configuration for the Poky reference distribution. diff --git a/meta-poky/conf/local.conf.sample b/meta-poky/conf/templates/default/local.conf.sample index 096359ee8a..1a93c9bdcf 100644 --- a/meta-poky/conf/local.conf.sample +++ b/meta-poky/conf/templates/default/local.conf.sample @@ -2,9 +2,11 @@ # This file is your local configuration file and is where all local user settings # are placed. The comments in this file give some guide to the options a new user # to the system might want to change but pretty much any configuration option can -# be set in this file. More adventurous users can look at local.conf.extended -# which contains other examples of configuration which can be placed in this file -# but new users likely won't need any of them initially. +# be set in this file. More adventurous users can look at +# local.conf.sample.extended which contains other examples of configuration which +# can be placed in this file but new users likely won't need any of them +# initially. There's also site.conf.sample which contains examples of site specific +# information such as proxy server addresses. # # Lines starting with the '#' character are commented out and in some cases the # default values are provided as comments to show people example syntax. Enabling @@ -29,13 +31,17 @@ # demonstration purposes: # #MACHINE ?= "beaglebone-yocto" +#MACHINE ?= "genericarm64" #MACHINE ?= "genericx86" #MACHINE ?= "genericx86-64" -#MACHINE ?= "edgerouter" # # This sets the default machine to be qemux86-64 if no other machine is selected: MACHINE ??= "qemux86-64" +# These are some of the more commonly used values. Looking at the files in the +# meta/conf/machine directory, or the conf/machine directory of any additional layers +# you add in will show all the available machines. + # # Where to place downloads # @@ -103,8 +109,8 @@ DISTRO ?= "poky" # - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager) # - 'package_rpm' for rpm style packages # E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk" -# We default to rpm: -PACKAGE_CLASSES ?= "package_rpm" +# OE-Core defaults to ipkg, whilst Poky defaults to rpm: +# PACKAGE_CLASSES ?= "package_rpm" # # SDK target architecture @@ -137,7 +143,8 @@ PACKAGE_CLASSES ?= "package_rpm" # "debug-tweaks" - make an image suitable for development # e.g. ssh root access has a blank password # There are other application targets that can be used here too, see -# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details. +# meta/classes-recipe/image.bbclass and +# meta/classes-recipe/core-image.bbclass for more details. # We default to enabling the debugging tweaks. EXTRA_IMAGE_FEATURES ?= "debug-tweaks" @@ -148,11 +155,7 @@ EXTRA_IMAGE_FEATURES ?= "debug-tweaks" # enable extra features. Some available options which can be included in this variable # are: # - 'buildstats' collect build statistics -# - 'image-mklibs' to reduce shared library files size for an image -# - 'image-prelink' in order to prelink the filesystem image -# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink -# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats" # # Runtime testing of images @@ -160,9 +163,9 @@ USER_CLASSES ?= "buildstats image-mklibs image-prelink" # The build system can test booting virtual machine images under qemu (an emulator) # after any root filesystems are created and run tests against those images. It can also # run tests against any SDK that are built. To enable this uncomment these lines. -# See classes/test{image,sdk}.bbclass for further details. +# See meta/classes-recipe/test{image,sdk}.bbclass for further details. #IMAGE_CLASSES += "testimage testsdk" -#TESTIMAGE_AUTO_qemuall = "1" +#TESTIMAGE_AUTO:qemuall = "1" # # Interactive shell configuration @@ -188,7 +191,7 @@ PATCHRESOLVE = "noop" # # Monitor the disk space during the build. If there is less that 1GB of space or less # than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully -# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort +# shutdown the build. If there is less than 100MB or 1K inodes, perform a hard halt # of the build. The reason for this is that running completely out of space can corrupt # files and damages the build in ways which may not be easily recoverable. # It's necessary to monitor /tmp, if there is no space left the build will fail @@ -198,19 +201,19 @@ BB_DISKMON_DIRS ??= "\ STOPTASKS,${DL_DIR},1G,100K \ STOPTASKS,${SSTATE_DIR},1G,100K \ STOPTASKS,/tmp,100M,100K \ - ABORT,${TMPDIR},100M,1K \ - ABORT,${DL_DIR},100M,1K \ - ABORT,${SSTATE_DIR},100M,1K \ - ABORT,/tmp,10M,1K" + HALT,${TMPDIR},100M,1K \ + HALT,${DL_DIR},100M,1K \ + HALT,${SSTATE_DIR},100M,1K \ + HALT,/tmp,10M,1K" # # Shared-state files from other locations # -# As mentioned above, shared state files are prebuilt cache data objects which can +# As mentioned above, shared state files are prebuilt cache data objects which can be # used to accelerate build time. This variable can be used to configure the system # to search other mirror locations for these objects before it builds the data itself. # -# This can be a filesystem directory, or a remote url such as http or ftp. These +# This can be a filesystem directory, or a remote url such as https or ftp. These # would contain the sstate-cache results from previous builds (possibly from other # machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the # cache locations to check for the shared objects. @@ -218,34 +221,42 @@ BB_DISKMON_DIRS ??= "\ # at the end as shown in the examples below. This will be substituted with the # correct path within the directory structure. #SSTATE_MIRRORS ?= "\ -#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \ +#file://.* https://someserver.tld/share/sstate/PATH;downloadfilename=PATH \ #file://.* file:///some/local/dir/sstate/PATH" # # Yocto Project SState Mirror # # The Yocto Project has prebuilt artefacts available for its releases, you can enable -# use of these by uncommenting the following line. This will mean the build uses +# use of these by uncommenting some of the following lines. This will mean the build uses # the network to check for artefacts at the start of builds, which does slow it down -# equally, it will also speed up the builds by not having to build things if they are +# initially but it will then speed up the builds by not having to build things if they are # present in the cache. It assumes you can download something faster than you can build it # which will depend on your network. +# Note: For this to work you also need hash-equivalence passthrough to the matching server +# There is a choice between our sstate server directly and a faster content delivery network +# (CDN) kindly provided by JSDelivr, uncomment one of the SSTATE_MIRRORS lines, not both. +# Using the CDN rather than the yoctoproject.org address is suggested/preferred. +# +#BB_HASHSERVE_UPSTREAM = "hashserv.yocto.io:8687" +#SSTATE_MIRRORS ?= "file://.* http://cdn.jsdelivr.net/yocto/sstate/all/PATH;downloadfilename=PATH" # -#SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/2.5/PATH;downloadfilename=PATH" +###SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH" + # # Qemu configuration # # By default native qemu will build with a builtin VNC server where graphical output can be # seen. The line below enables the SDL UI frontend too. -PACKAGECONFIG_append_pn-qemu-system-native = " sdl" +PACKAGECONFIG:append:pn-qemu-system-native = " sdl" # By default libsdl2-native will be built, if you want to use your host's libSDL instead of # the minimal libsdl built by libsdl2-native then uncomment the ASSUME_PROVIDED line below. #ASSUME_PROVIDED += "libsdl2-native" # You can also enable the Gtk UI frontend, which takes somewhat longer to build, but adds # a handy set of menus for controlling the emulator. -#PACKAGECONFIG_append_pn-qemu-system-native = " gtk+" +#PACKAGECONFIG:append:pn-qemu-system-native = " gtk+" # # Hash Equivalence @@ -274,4 +285,4 @@ PACKAGECONFIG_append_pn-qemu-system-native = " sdl" # CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to # track the version of this file when it was generated. This can safely be ignored if # this doesn't mean anything to you. -CONF_VERSION = "1" +CONF_VERSION = "2" diff --git a/meta-poky/conf/local.conf.sample.extended b/meta-poky/conf/templates/default/local.conf.sample.extended index ba1d0973b5..bc2dec9f52 100644 --- a/meta-poky/conf/local.conf.sample.extended +++ b/meta-poky/conf/templates/default/local.conf.sample.extended @@ -33,8 +33,8 @@ # If you want to get an image based on directfb without x11 alter # DISTRO_FEATURES: -DISTRO_FEATURES_append = " directfb" -DISTRO_FEATURES_remove = "x11" +DISTRO_FEATURES:append = " directfb" +DISTRO_FEATURES:remove = "x11" # ENABLE_BINARY_LOCALE_GENERATION controls the generation of binary locale # packages at build time using qemu-native. Disabling it (by setting it to 0) @@ -119,15 +119,6 @@ DISTRO_FEATURES_remove = "x11" # # TCMODE ?= "external-sourcery" -# mklibs library size optimization is more useful to smaller images, -# and less useful for bigger images. Also mklibs library optimization -# can break the ABI compatibility, so should not be applied to the -# images which are to be extended or upgraded later. -#This enabled mklibs library size optimization just for the specified image. -#MKLIBS_OPTIMIZED_IMAGES ?= "core-image-minimal" -#This enable mklibs library size optimization will be for all the images. -#MKLIBS_OPTIMIZED_IMAGES ?= "all" - # This value is currently used by pseudo to determine if the recipe should # build both the 32-bit and 64-bit wrapper libraries on a 64-bit build system. # @@ -144,7 +135,7 @@ DISTRO_FEATURES_remove = "x11" # Uncomment the following lines to enable multilib builds #require conf/multilib.conf #MULTILIBS = "multilib:lib32" -#DEFAULTTUNE_virtclass-multilib-lib32 = "x86" +#DEFAULTTUNE:virtclass-multilib-lib32 = "x86" # Set RPM_PREFER_ELF_ARCH to configure preferred ABI when using rpm packaging # backend to generate a rootfs, choices are: @@ -186,7 +177,7 @@ DISTRO_FEATURES_remove = "x11" # product. If shipped as part of an image these packages may have # implications so they are disabled by default. To enable them, # un-comment the below as appropriate. -#LICENSE_FLAGS_WHITELIST = "commercial_gst-fluendo-mp3 \ +#LICENSE_FLAGS_ACCEPTED = "commercial_gst-fluendo-mp3 \ # commercial_gst-openmax \ # commercial_gst-plugins-ugly \ # commercial_lame \ @@ -204,7 +195,7 @@ DISTRO_FEATURES_remove = "x11" # "action,directory,minimum_space,minimum_free_inode" # # The "action" must be set and should be one of: -# ABORT: Immediately abort +# HALT: Immediately halt # STOPTASKS: The new tasks can't be executed any more, will stop the build # when the running tasks have been done. # WARN: show warnings (see BB_DISKMON_WARNINTERVAL for more information) @@ -322,7 +313,7 @@ DISTRO_FEATURES_remove = "x11" # Note this is not officially supported and is just illustrated here to # show an example of how it can be done # You'll also need your fortran recipe to depend on libgfortran -#FORTRAN_forcevariable = ",fortran" +#FORTRAN:forcevariable = ",fortran" # # Kernel image features @@ -389,4 +380,9 @@ DISTRO_FEATURES_remove = "x11" # Enable LTO system-wide # #require conf/distro/include/lto.inc -#DISTRO_FEATURES_append = " lto" +#DISTRO_FEATURES:append = " lto" + +# +# Set PS1 for SDK +# +#SDK_PS1 ?= "${SDK_NAME}${SDK_VENDOR}:\$ " diff --git a/meta-poky/conf/site.conf.sample b/meta-poky/conf/templates/default/site.conf.sample index 5164fedf63..5164fedf63 100644 --- a/meta-poky/conf/site.conf.sample +++ b/meta-poky/conf/templates/default/site.conf.sample diff --git a/meta-poky/recipes-core/base-files/base-files_%.bbappend b/meta-poky/recipes-core/base-files/base-files_%.bbappend new file mode 100644 index 0000000000..8802adbb46 --- /dev/null +++ b/meta-poky/recipes-core/base-files/base-files_%.bbappend @@ -0,0 +1 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" diff --git a/meta-poky/recipes-core/base-files/files/poky/motd b/meta-poky/recipes-core/base-files/files/poky/motd new file mode 100644 index 0000000000..0fb6e633f0 --- /dev/null +++ b/meta-poky/recipes-core/base-files/files/poky/motd @@ -0,0 +1,5 @@ + +WARNING: Poky is a reference Yocto Project distribution that should be used for +testing and development purposes only. It is recommended that you create your +own distribution for production use. + diff --git a/meta-poky/recipes-core/busybox/busybox/poky-tiny/defconfig b/meta-poky/recipes-core/busybox/busybox/poky-tiny/defconfig index b0fb88a0c1..6e9faa4119 100644 --- a/meta-poky/recipes-core/busybox/busybox/poky-tiny/defconfig +++ b/meta-poky/recipes-core/busybox/busybox/poky-tiny/defconfig @@ -1160,7 +1160,7 @@ CONFIG_CTTYHACK=y # # Options common to all shells # -# CONFIG_FEATURE_SH_MATH is not set +CONFIG_FEATURE_SH_MATH=y # CONFIG_FEATURE_SH_MATH_64 is not set # CONFIG_FEATURE_SH_MATH_BASE is not set CONFIG_FEATURE_SH_EXTRA_QUIET=y diff --git a/meta-poky/recipes-core/busybox/busybox_%.bbappend b/meta-poky/recipes-core/busybox/busybox_%.bbappend index 000578744a..46dfc12456 100644 --- a/meta-poky/recipes-core/busybox/busybox_%.bbappend +++ b/meta-poky/recipes-core/busybox/busybox_%.bbappend @@ -1,2 +1,2 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" diff --git a/meta-poky/recipes-core/psplash/psplash_git.bbappend b/meta-poky/recipes-core/psplash/psplash_git.bbappend index 433ef66977..1533b13c3e 100644 --- a/meta-poky/recipes-core/psplash/psplash_git.bbappend +++ b/meta-poky/recipes-core/psplash/psplash_git.bbappend @@ -1,2 +1,2 @@ -FILESEXTRAPATHS_prepend_poky := "${THISDIR}/files:" +FILESEXTRAPATHS:prepend:poky := "${THISDIR}/files:" diff --git a/meta-poky/recipes-core/tiny-init/tiny-init.bb b/meta-poky/recipes-core/tiny-init/tiny-init.bb index 44c8e1bf5e..1de4f5e715 100644 --- a/meta-poky/recipes-core/tiny-init/tiny-init.bb +++ b/meta-poky/recipes-core/tiny-init/tiny-init.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384 PR = "r2" -RDEPENDS_${PN} = "busybox" +RDEPENDS:${PN} = "busybox" SRC_URI = "file://init \ file://rc.local.sample \ @@ -27,5 +27,5 @@ do_install() { install -m 0755 ${WORKDIR}/rc.local.sample ${D}${sysconfdir} } -FILES_${PN} = "/init ${sysconfdir}/rc.local.sample" -RCONFLICTS_${PN} = "systemd" +FILES:${PN} = "/init ${sysconfdir}/rc.local.sample" +RCONFLICTS:${PN} = "systemd" |