1*4882a593SmuzhiyunRelease 2.1 (krogoth) 2*4882a593Smuzhiyun===================== 3*4882a593Smuzhiyun 4*4882a593SmuzhiyunThis section provides migration information for moving to the Yocto 5*4882a593SmuzhiyunProject 2.1 Release (codename "krogoth") from the prior release. 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun.. _migration-2.1-variable-expansion-in-python-functions: 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunVariable Expansion in Python Functions 10*4882a593Smuzhiyun-------------------------------------- 11*4882a593Smuzhiyun 12*4882a593SmuzhiyunVariable expressions, such as ``${VARNAME}`` no longer expand 13*4882a593Smuzhiyunautomatically within Python functions. Suppressing expansion was done to 14*4882a593Smuzhiyunallow Python functions to construct shell scripts or other code for 15*4882a593Smuzhiyunsituations in which you do not want such expressions expanded. For any 16*4882a593Smuzhiyunexisting code that relies on these expansions, you need to change the 17*4882a593Smuzhiyunexpansions to expand the value of individual variables through 18*4882a593Smuzhiyun``d.getVar()``. To alternatively expand more complex expressions, use 19*4882a593Smuzhiyun``d.expand()``. 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun.. _migration-2.1-overrides-must-now-be-lower-case: 22*4882a593Smuzhiyun 23*4882a593SmuzhiyunOverrides Must Now be Lower-Case 24*4882a593Smuzhiyun-------------------------------- 25*4882a593Smuzhiyun 26*4882a593SmuzhiyunThe convention for overrides has always been for them to be lower-case 27*4882a593Smuzhiyuncharacters. This practice is now a requirement as BitBake's datastore 28*4882a593Smuzhiyunnow assumes lower-case characters in order to give a slight performance 29*4882a593Smuzhiyunboost during parsing. In practical terms, this requirement means that 30*4882a593Smuzhiyunanything that ends up in :term:`OVERRIDES` must now 31*4882a593Smuzhiyunappear in lower-case characters (e.g. values for :term:`MACHINE`, 32*4882a593Smuzhiyun:term:`TARGET_ARCH`, :term:`DISTRO`, and also recipe names if 33*4882a593Smuzhiyun``_pn-``\ recipename overrides are to be effective). 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun.. _migration-2.1-expand-parameter-to-getvar-and-getvarflag-now-mandatory: 36*4882a593Smuzhiyun 37*4882a593SmuzhiyunExpand Parameter to ``getVar()`` and ``getVarFlag()`` is Now Mandatory 38*4882a593Smuzhiyun---------------------------------------------------------------------- 39*4882a593Smuzhiyun 40*4882a593SmuzhiyunThe expand parameter to ``getVar()`` and ``getVarFlag()`` previously 41*4882a593Smuzhiyundefaulted to False if not specified. Now, however, no default exists so 42*4882a593Smuzhiyunone must be specified. You must change any ``getVar()`` calls that do 43*4882a593Smuzhiyunnot specify the final expand parameter to calls that do specify the 44*4882a593Smuzhiyunparameter. You can run the following ``sed`` command at the base of a 45*4882a593Smuzhiyunlayer to make this change:: 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun sed -e 's:\(\.getVar([^,()]*\)):\1, False):g' -i `grep -ril getVar *` 48*4882a593Smuzhiyun sed -e 's:\(\.getVarFlag([^,()]*,[^,()]*\)):\1, False):g' -i `grep -ril getVarFlag *` 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun.. note:: 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun The reason for this change is that it prepares the way for changing 53*4882a593Smuzhiyun the default to True in a future Yocto Project release. This future 54*4882a593Smuzhiyun change is a much more sensible default than False. However, the 55*4882a593Smuzhiyun change needs to be made gradually as a sudden change of the default 56*4882a593Smuzhiyun would potentially cause side-effects that would be difficult to 57*4882a593Smuzhiyun detect. 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun.. _migration-2.1-makefile-environment-changes: 60*4882a593Smuzhiyun 61*4882a593SmuzhiyunMakefile Environment Changes 62*4882a593Smuzhiyun---------------------------- 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun:term:`EXTRA_OEMAKE` now defaults to "" instead of 65*4882a593Smuzhiyun"-e MAKEFLAGS=". Setting :term:`EXTRA_OEMAKE` to "-e MAKEFLAGS=" by default 66*4882a593Smuzhiyunwas a historical accident that has required many classes (e.g. 67*4882a593Smuzhiyun``autotools``, ``module``) and recipes to override this default in order 68*4882a593Smuzhiyunto work with sensible build systems. When upgrading to the release, you 69*4882a593Smuzhiyunmust edit any recipe that relies upon this old default by either setting 70*4882a593Smuzhiyun:term:`EXTRA_OEMAKE` back to "-e MAKEFLAGS=" or by explicitly setting any 71*4882a593Smuzhiyunrequired variable value overrides using :term:`EXTRA_OEMAKE`, which is 72*4882a593Smuzhiyuntypically only needed when a Makefile sets a default value for a 73*4882a593Smuzhiyunvariable that is inappropriate for cross-compilation using the "=" 74*4882a593Smuzhiyunoperator rather than the "?=" operator. 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun.. _migration-2.1-libexecdir-reverted-to-prefix-libexec: 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun``libexecdir`` Reverted to ``${prefix}/libexec`` 79*4882a593Smuzhiyun------------------------------------------------ 80*4882a593Smuzhiyun 81*4882a593SmuzhiyunThe use of ``${libdir}/${BPN}`` as ``libexecdir`` is different as 82*4882a593Smuzhiyuncompared to all other mainstream distributions, which either uses 83*4882a593Smuzhiyun``${prefix}/libexec`` or ``${libdir}``. The use is also contrary to the 84*4882a593SmuzhiyunGNU Coding Standards (i.e. 85*4882a593Smuzhiyunhttps://www.gnu.org/prep/standards/html_node/Directory-Variables.html) 86*4882a593Smuzhiyunthat suggest ``${prefix}/libexec`` and also notes that any 87*4882a593Smuzhiyunpackage-specific nesting should be done by the package itself. Finally, 88*4882a593Smuzhiyunhaving ``libexecdir`` change between recipes makes it very difficult for 89*4882a593Smuzhiyundifferent recipes to invoke binaries that have been installed into 90*4882a593Smuzhiyun``libexecdir``. The Filesystem Hierarchy Standard (i.e. 91*4882a593Smuzhiyunhttps://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s07.html) now 92*4882a593Smuzhiyunrecognizes the use of ``${prefix}/libexec/``, giving distributions the 93*4882a593Smuzhiyunchoice between ``${prefix}/lib`` or ``${prefix}/libexec`` without 94*4882a593Smuzhiyunbreaking FHS. 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun.. _migration-2.1-ac-cv-sizeof-off-t-no-longer-cached-in-site-files: 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun``ac_cv_sizeof_off_t`` is No Longer Cached in Site Files 99*4882a593Smuzhiyun-------------------------------------------------------- 100*4882a593Smuzhiyun 101*4882a593SmuzhiyunFor recipes inheriting the :ref:`autotools <ref-classes-autotools>` 102*4882a593Smuzhiyunclass, ``ac_cv_sizeof_off_t`` is no longer cached in the site files for 103*4882a593Smuzhiyun``autoconf``. The reason for this change is because the 104*4882a593Smuzhiyun``ac_cv_sizeof_off_t`` value is not necessarily static per architecture 105*4882a593Smuzhiyunas was previously assumed. Rather, the value changes based on whether 106*4882a593Smuzhiyunlarge file support is enabled. For most software that uses ``autoconf``, 107*4882a593Smuzhiyunthis change should not be a problem. However, if you have a recipe that 108*4882a593Smuzhiyunbypasses the standard :ref:`ref-tasks-configure` task 109*4882a593Smuzhiyunfrom the :ref:`autotools <ref-classes-autotools>` class and the software the recipe is building 110*4882a593Smuzhiyunuses a very old version of ``autoconf``, the recipe might be incapable 111*4882a593Smuzhiyunof determining the correct size of ``off_t`` during ``do_configure``. 112*4882a593Smuzhiyun 113*4882a593SmuzhiyunThe best course of action is to patch the software as necessary to allow 114*4882a593Smuzhiyunthe default implementation from the :ref:`autotools <ref-classes-autotools>` class to work such 115*4882a593Smuzhiyunthat ``autoreconf`` succeeds and produces a working configure script, 116*4882a593Smuzhiyunand to remove the overridden ``do_configure`` task such that the default 117*4882a593Smuzhiyunimplementation does get used. 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun.. _migration-2.1-image-generation-split-out-from-filesystem-generation: 120*4882a593Smuzhiyun 121*4882a593SmuzhiyunImage Generation is Now Split Out from Filesystem Generation 122*4882a593Smuzhiyun------------------------------------------------------------ 123*4882a593Smuzhiyun 124*4882a593SmuzhiyunPreviously, for image recipes the :ref:`ref-tasks-rootfs` 125*4882a593Smuzhiyuntask assembled the filesystem and then from that filesystem generated 126*4882a593Smuzhiyunimages. With this Yocto Project release, image generation is split into 127*4882a593Smuzhiyunseparate :ref:`ref-tasks-image` tasks for clarity both in 128*4882a593Smuzhiyunoperation and in the code. 129*4882a593Smuzhiyun 130*4882a593SmuzhiyunFor most cases, this change does not present any problems. However, if 131*4882a593Smuzhiyunyou have made customizations that directly modify the ``do_rootfs`` task 132*4882a593Smuzhiyunor that mention ``do_rootfs``, you might need to update those changes. 133*4882a593SmuzhiyunIn particular, if you had added any tasks after ``do_rootfs``, you 134*4882a593Smuzhiyunshould make edits so that those tasks are after the 135*4882a593Smuzhiyun:ref:`ref-tasks-image-complete` task rather than 136*4882a593Smuzhiyunafter ``do_rootfs`` so that your added tasks run at the correct 137*4882a593Smuzhiyuntime. 138*4882a593Smuzhiyun 139*4882a593SmuzhiyunA minor part of this restructuring is that the post-processing 140*4882a593Smuzhiyundefinitions and functions have been moved from the 141*4882a593Smuzhiyun:ref:`image <ref-classes-image>` class to the 142*4882a593Smuzhiyun:ref:`rootfs-postcommands <ref-classes-rootfs*>` class. Functionally, 143*4882a593Smuzhiyunhowever, they remain unchanged. 144*4882a593Smuzhiyun 145*4882a593Smuzhiyun.. _migration-2.1-removed-recipes: 146*4882a593Smuzhiyun 147*4882a593SmuzhiyunRemoved Recipes 148*4882a593Smuzhiyun--------------- 149*4882a593Smuzhiyun 150*4882a593SmuzhiyunThe following recipes have been removed in the 2.1 release: 151*4882a593Smuzhiyun 152*4882a593Smuzhiyun- ``gcc`` version 4.8: Versions 4.9 and 5.3 remain. 153*4882a593Smuzhiyun 154*4882a593Smuzhiyun- ``qt4``: All support for Qt 4.x has been moved out to a separate 155*4882a593Smuzhiyun ``meta-qt4`` layer because Qt 4 is no longer supported upstream. 156*4882a593Smuzhiyun 157*4882a593Smuzhiyun- ``x11vnc``: Moved to the ``meta-oe`` layer. 158*4882a593Smuzhiyun 159*4882a593Smuzhiyun- ``linux-yocto-3.14``: No longer supported. 160*4882a593Smuzhiyun 161*4882a593Smuzhiyun- ``linux-yocto-3.19``: No longer supported. 162*4882a593Smuzhiyun 163*4882a593Smuzhiyun- ``libjpeg``: Replaced by the ``libjpeg-turbo`` recipe. 164*4882a593Smuzhiyun 165*4882a593Smuzhiyun- ``pth``: Became obsolete. 166*4882a593Smuzhiyun 167*4882a593Smuzhiyun- ``liboil``: Recipe is no longer needed and has been moved to the 168*4882a593Smuzhiyun ``meta-multimedia`` layer. 169*4882a593Smuzhiyun 170*4882a593Smuzhiyun- ``gtk-theme-torturer``: Recipe is no longer needed and has been moved 171*4882a593Smuzhiyun to the ``meta-gnome`` layer. 172*4882a593Smuzhiyun 173*4882a593Smuzhiyun- ``gnome-mime-data``: Recipe is no longer needed and has been moved to 174*4882a593Smuzhiyun the ``meta-gnome`` layer. 175*4882a593Smuzhiyun 176*4882a593Smuzhiyun- ``udev``: Replaced by the ``eudev`` recipe for compatibility when 177*4882a593Smuzhiyun using ``sysvinit`` with newer kernels. 178*4882a593Smuzhiyun 179*4882a593Smuzhiyun- ``python-pygtk``: Recipe became obsolete. 180*4882a593Smuzhiyun 181*4882a593Smuzhiyun- ``adt-installer``: Recipe became obsolete. See the 182*4882a593Smuzhiyun ":ref:`migration-guides/migration-2.1:adt removed`" section for more information. 183*4882a593Smuzhiyun 184*4882a593Smuzhiyun.. _migration-2.1-class-changes: 185*4882a593Smuzhiyun 186*4882a593SmuzhiyunClass Changes 187*4882a593Smuzhiyun------------- 188*4882a593Smuzhiyun 189*4882a593SmuzhiyunThe following classes have changed: 190*4882a593Smuzhiyun 191*4882a593Smuzhiyun- ``autotools_stage``: Removed because the 192*4882a593Smuzhiyun :ref:`autotools <ref-classes-autotools>` class now provides its 193*4882a593Smuzhiyun functionality. Recipes that inherited from ``autotools_stage`` should 194*4882a593Smuzhiyun now inherit from ``autotools`` instead. 195*4882a593Smuzhiyun 196*4882a593Smuzhiyun- ``boot-directdisk``: Merged into the ``image-vm`` class. The 197*4882a593Smuzhiyun ``boot-directdisk`` class was rarely directly used. Consequently, 198*4882a593Smuzhiyun this change should not cause any issues. 199*4882a593Smuzhiyun 200*4882a593Smuzhiyun- ``bootimg``: Merged into the 201*4882a593Smuzhiyun :ref:`image-live <ref-classes-image-live>` class. The ``bootimg`` 202*4882a593Smuzhiyun class was rarely directly used. Consequently, this change should not 203*4882a593Smuzhiyun cause any issues. 204*4882a593Smuzhiyun 205*4882a593Smuzhiyun- ``packageinfo``: Removed due to its limited use by the Hob UI, which 206*4882a593Smuzhiyun has itself been removed. 207*4882a593Smuzhiyun 208*4882a593Smuzhiyun.. _migration-2.1-build-system-ui-changes: 209*4882a593Smuzhiyun 210*4882a593SmuzhiyunBuild System User Interface Changes 211*4882a593Smuzhiyun----------------------------------- 212*4882a593Smuzhiyun 213*4882a593SmuzhiyunThe following changes have been made to the build system user interface: 214*4882a593Smuzhiyun 215*4882a593Smuzhiyun- *Hob GTK+-based UI*: Removed because it is unmaintained and based on 216*4882a593Smuzhiyun the outdated GTK+ 2 library. The Toaster web-based UI is much more 217*4882a593Smuzhiyun capable and is actively maintained. See the 218*4882a593Smuzhiyun ":ref:`toaster-manual/setup-and-use:using the toaster web interface`" 219*4882a593Smuzhiyun section in the Toaster User Manual for more information on this 220*4882a593Smuzhiyun interface. 221*4882a593Smuzhiyun 222*4882a593Smuzhiyun- *"puccho" BitBake UI*: Removed because is unmaintained and no longer 223*4882a593Smuzhiyun useful. 224*4882a593Smuzhiyun 225*4882a593Smuzhiyun.. _migration-2.1-adt-removed: 226*4882a593Smuzhiyun 227*4882a593SmuzhiyunADT Removed 228*4882a593Smuzhiyun----------- 229*4882a593Smuzhiyun 230*4882a593SmuzhiyunThe Application Development Toolkit (ADT) has been removed because its 231*4882a593Smuzhiyunfunctionality almost completely overlapped with the :ref:`standard 232*4882a593SmuzhiyunSDK <sdk-manual/using:using the standard sdk>` and the 233*4882a593Smuzhiyun:ref:`extensible SDK <sdk-manual/extensible:using the extensible sdk>`. For 234*4882a593Smuzhiyuninformation on these SDKs and how to build and use them, see the 235*4882a593Smuzhiyun:doc:`/sdk-manual/index` manual. 236*4882a593Smuzhiyun 237*4882a593Smuzhiyun.. note:: 238*4882a593Smuzhiyun 239*4882a593Smuzhiyun The Yocto Project Eclipse IDE Plug-in is still supported and is not 240*4882a593Smuzhiyun affected by this change. 241*4882a593Smuzhiyun 242*4882a593Smuzhiyun.. _migration-2.1-poky-reference-distribution-changes: 243*4882a593Smuzhiyun 244*4882a593SmuzhiyunPoky Reference Distribution Changes 245*4882a593Smuzhiyun----------------------------------- 246*4882a593Smuzhiyun 247*4882a593SmuzhiyunThe following changes have been made for the Poky distribution: 248*4882a593Smuzhiyun 249*4882a593Smuzhiyun- The ``meta-yocto`` layer has been renamed to ``meta-poky`` to better 250*4882a593Smuzhiyun match its purpose, which is to provide the Poky reference 251*4882a593Smuzhiyun distribution. The ``meta-yocto-bsp`` layer retains its original name 252*4882a593Smuzhiyun since it provides reference machines for the Yocto Project and it is 253*4882a593Smuzhiyun otherwise unrelated to Poky. References to ``meta-yocto`` in your 254*4882a593Smuzhiyun ``conf/bblayers.conf`` should automatically be updated, so you should 255*4882a593Smuzhiyun not need to change anything unless you are relying on this naming 256*4882a593Smuzhiyun elsewhere. 257*4882a593Smuzhiyun 258*4882a593Smuzhiyun- The :ref:`uninative <ref-classes-uninative>` class is now enabled 259*4882a593Smuzhiyun by default in Poky. This class attempts to isolate the build system 260*4882a593Smuzhiyun from the host distribution's C library and makes re-use of native 261*4882a593Smuzhiyun shared state artifacts across different host distributions practical. 262*4882a593Smuzhiyun With this class enabled, a tarball containing a pre-built C library 263*4882a593Smuzhiyun is downloaded at the start of the build. 264*4882a593Smuzhiyun 265*4882a593Smuzhiyun The :ref:`uninative <ref-classes-uninative>` class is enabled through the 266*4882a593Smuzhiyun ``meta/conf/distro/include/yocto-uninative.inc`` file, which for 267*4882a593Smuzhiyun those not using the Poky distribution, can include to easily enable 268*4882a593Smuzhiyun the same functionality. 269*4882a593Smuzhiyun 270*4882a593Smuzhiyun Alternatively, if you wish to build your own ``uninative`` tarball, 271*4882a593Smuzhiyun you can do so by building the ``uninative-tarball`` recipe, making it 272*4882a593Smuzhiyun available to your build machines (e.g. over HTTP/HTTPS) and setting a 273*4882a593Smuzhiyun similar configuration as the one set by ``yocto-uninative.inc``. 274*4882a593Smuzhiyun 275*4882a593Smuzhiyun- Static library generation, for most cases, is now disabled by default 276*4882a593Smuzhiyun in the Poky distribution. Disabling this generation saves some build 277*4882a593Smuzhiyun time as well as the size used for build output artifacts. 278*4882a593Smuzhiyun 279*4882a593Smuzhiyun Disabling this library generation is accomplished through a 280*4882a593Smuzhiyun ``meta/conf/distro/include/no-static-libs.inc``, which for those not 281*4882a593Smuzhiyun using the Poky distribution can easily include to enable the same 282*4882a593Smuzhiyun functionality. 283*4882a593Smuzhiyun 284*4882a593Smuzhiyun Any recipe that needs to opt-out of having the ``--disable-static`` 285*4882a593Smuzhiyun option specified on the configure command line either because it is 286*4882a593Smuzhiyun not a supported option for the configure script or because static 287*4882a593Smuzhiyun libraries are needed should set the following variable:: 288*4882a593Smuzhiyun 289*4882a593Smuzhiyun DISABLE_STATIC = "" 290*4882a593Smuzhiyun 291*4882a593Smuzhiyun- The separate ``poky-tiny`` distribution now uses the musl C library 292*4882a593Smuzhiyun instead of a heavily pared down ``glibc``. Using musl results in a 293*4882a593Smuzhiyun smaller distribution and facilitates much greater maintainability 294*4882a593Smuzhiyun because musl is designed to have a small footprint. 295*4882a593Smuzhiyun 296*4882a593Smuzhiyun If you have used ``poky-tiny`` and have customized the ``glibc`` 297*4882a593Smuzhiyun configuration you will need to redo those customizations with musl 298*4882a593Smuzhiyun when upgrading to the new release. 299*4882a593Smuzhiyun 300*4882a593Smuzhiyun.. _migration-2.1-packaging-changes: 301*4882a593Smuzhiyun 302*4882a593SmuzhiyunPackaging Changes 303*4882a593Smuzhiyun----------------- 304*4882a593Smuzhiyun 305*4882a593SmuzhiyunThe following changes have been made to packaging: 306*4882a593Smuzhiyun 307*4882a593Smuzhiyun- The ``runuser`` and ``mountpoint`` binaries, which were previously in 308*4882a593Smuzhiyun the main ``util-linux`` package, have been split out into the 309*4882a593Smuzhiyun ``util-linux-runuser`` and ``util-linux-mountpoint`` packages, 310*4882a593Smuzhiyun respectively. 311*4882a593Smuzhiyun 312*4882a593Smuzhiyun- The ``python-elementtree`` package has been merged into the 313*4882a593Smuzhiyun ``python-xml`` package. 314*4882a593Smuzhiyun 315*4882a593Smuzhiyun.. _migration-2.1-tuning-file-changes: 316*4882a593Smuzhiyun 317*4882a593SmuzhiyunTuning File Changes 318*4882a593Smuzhiyun------------------- 319*4882a593Smuzhiyun 320*4882a593SmuzhiyunThe following changes have been made to the tuning files: 321*4882a593Smuzhiyun 322*4882a593Smuzhiyun- The "no-thumb-interwork" tuning feature has been dropped from the ARM 323*4882a593Smuzhiyun tune include files. Because interworking is required for ARM EABI, 324*4882a593Smuzhiyun attempting to disable it through a tuning feature no longer makes 325*4882a593Smuzhiyun sense. 326*4882a593Smuzhiyun 327*4882a593Smuzhiyun .. note:: 328*4882a593Smuzhiyun 329*4882a593Smuzhiyun Support for ARM OABI was deprecated in gcc 4.7. 330*4882a593Smuzhiyun 331*4882a593Smuzhiyun- The ``tune-cortexm*.inc`` and ``tune-cortexr4.inc`` files have been 332*4882a593Smuzhiyun removed because they are poorly tested. Until the OpenEmbedded build 333*4882a593Smuzhiyun system officially gains support for CPUs without an MMU, these tuning 334*4882a593Smuzhiyun files would probably be better maintained in a separate layer if 335*4882a593Smuzhiyun needed. 336*4882a593Smuzhiyun 337*4882a593Smuzhiyun.. _migration-2.1-supporting-gobject-introspection: 338*4882a593Smuzhiyun 339*4882a593SmuzhiyunSupporting GObject Introspection 340*4882a593Smuzhiyun-------------------------------- 341*4882a593Smuzhiyun 342*4882a593SmuzhiyunThis release supports generation of GLib Introspective Repository (GIR) 343*4882a593Smuzhiyunfiles through GObject introspection, which is the standard mechanism for 344*4882a593Smuzhiyunaccessing GObject-based software from runtime environments. You can 345*4882a593Smuzhiyunenable, disable, and test the generation of this data. See the 346*4882a593Smuzhiyun":ref:`dev-manual/common-tasks:enabling gobject introspection support`" 347*4882a593Smuzhiyunsection in the Yocto Project Development Tasks Manual for more 348*4882a593Smuzhiyuninformation. 349*4882a593Smuzhiyun 350*4882a593Smuzhiyun.. _migration-2.1-miscellaneous-changes: 351*4882a593Smuzhiyun 352*4882a593SmuzhiyunMiscellaneous Changes 353*4882a593Smuzhiyun--------------------- 354*4882a593Smuzhiyun 355*4882a593SmuzhiyunThese additional changes exist: 356*4882a593Smuzhiyun 357*4882a593Smuzhiyun- The minimum Git version has been increased to 1.8.3.1. If your host 358*4882a593Smuzhiyun distribution does not provide a sufficiently recent version, you can 359*4882a593Smuzhiyun install the buildtools, which will provide it. See the 360*4882a593Smuzhiyun :ref:`ref-manual/system-requirements:required git, tar, python and gcc versions` 361*4882a593Smuzhiyun section for more information on the buildtools tarball. 362*4882a593Smuzhiyun 363*4882a593Smuzhiyun- The buggy and incomplete support for the RPM version 4 package 364*4882a593Smuzhiyun manager has been removed. The well-tested and maintained support for 365*4882a593Smuzhiyun RPM version 5 remains. 366*4882a593Smuzhiyun 367*4882a593Smuzhiyun- Previously, the following list of packages were removed if 368*4882a593Smuzhiyun package-management was not in 369*4882a593Smuzhiyun :term:`IMAGE_FEATURES`, regardless of any 370*4882a593Smuzhiyun dependencies:: 371*4882a593Smuzhiyun 372*4882a593Smuzhiyun update-rc.d 373*4882a593Smuzhiyun base-passwd 374*4882a593Smuzhiyun shadow 375*4882a593Smuzhiyun update-alternatives 376*4882a593Smuzhiyun run-postinsts 377*4882a593Smuzhiyun 378*4882a593Smuzhiyun With the Yocto Project 2.1 release, these packages are 379*4882a593Smuzhiyun only removed if "read-only-rootfs" is in :term:`IMAGE_FEATURES`, since 380*4882a593Smuzhiyun they might still be needed for a read-write image even in the absence 381*4882a593Smuzhiyun of a package manager (e.g. if users need to be added, modified, or 382*4882a593Smuzhiyun removed at runtime). 383*4882a593Smuzhiyun 384*4882a593Smuzhiyun- The 385*4882a593Smuzhiyun :ref:`devtool modify <sdk-manual/extensible:use \`\`devtool modify\`\` to modify the source of an existing component>` 386*4882a593Smuzhiyun command now defaults to extracting the source since that is most 387*4882a593Smuzhiyun commonly expected. The ``-x`` or ``--extract`` options are now no-ops. If 388*4882a593Smuzhiyun you wish to provide your own existing source tree, you will now need 389*4882a593Smuzhiyun to specify either the ``-n`` or ``--no-extract`` options when running 390*4882a593Smuzhiyun ``devtool modify``. 391*4882a593Smuzhiyun 392*4882a593Smuzhiyun- If the formfactor for a machine is either not supplied or does not 393*4882a593Smuzhiyun specify whether a keyboard is attached, then the default is to assume 394*4882a593Smuzhiyun a keyboard is attached rather than assume no keyboard. This change 395*4882a593Smuzhiyun primarily affects the Sato UI. 396*4882a593Smuzhiyun 397*4882a593Smuzhiyun- The ``.debug`` directory packaging is now automatic. If your recipe 398*4882a593Smuzhiyun builds software that installs binaries into directories other than 399*4882a593Smuzhiyun the standard ones, you no longer need to take care of setting 400*4882a593Smuzhiyun ``FILES_${PN}-dbg`` to pick up the resulting ``.debug`` directories 401*4882a593Smuzhiyun as these directories are automatically found and added. 402*4882a593Smuzhiyun 403*4882a593Smuzhiyun- Inaccurate disk and CPU percentage data has been dropped from 404*4882a593Smuzhiyun ``buildstats`` output. This data has been replaced with 405*4882a593Smuzhiyun ``getrusage()`` data and corrected IO statistics. You will probably 406*4882a593Smuzhiyun need to update any custom code that reads the ``buildstats`` data. 407*4882a593Smuzhiyun 408*4882a593Smuzhiyun- The ``meta/conf/distro/include/package_regex.inc`` is now deprecated. 409*4882a593Smuzhiyun The contents of this file have been moved to individual recipes. 410*4882a593Smuzhiyun 411*4882a593Smuzhiyun .. note:: 412*4882a593Smuzhiyun 413*4882a593Smuzhiyun Because this file will likely be removed in a future Yocto Project 414*4882a593Smuzhiyun release, it is suggested that you remove any references to the 415*4882a593Smuzhiyun file that might be in your configuration. 416*4882a593Smuzhiyun 417*4882a593Smuzhiyun- The ``v86d/uvesafb`` has been removed from the ``genericx86`` and 418*4882a593Smuzhiyun ``genericx86-64`` reference machines, which are provided by the 419*4882a593Smuzhiyun ``meta-yocto-bsp`` layer. Most modern x86 boards do not rely on this 420*4882a593Smuzhiyun file and it only adds kernel error messages during startup. If you do 421*4882a593Smuzhiyun still need to support ``uvesafb``, you can simply add ``v86d`` to 422*4882a593Smuzhiyun your image. 423*4882a593Smuzhiyun 424*4882a593Smuzhiyun- Build sysroot paths are now removed from debug symbol files. Removing 425*4882a593Smuzhiyun these paths means that remote GDB using an unstripped build system 426*4882a593Smuzhiyun sysroot will no longer work (although this was never documented to 427*4882a593Smuzhiyun work). The supported method to accomplish something similar is to set 428*4882a593Smuzhiyun ``IMAGE_GEN_DEBUGFS`` to "1", which will generate a companion debug 429*4882a593Smuzhiyun image containing unstripped binaries and associated debug sources 430*4882a593Smuzhiyun alongside the image. 431*4882a593Smuzhiyun 432*4882a593Smuzhiyun 433