5.22.3. Creating a Patch for the Fix

Because there is a missing dependency for the Makefile target, you need to patch the Makefile.am file, which is generated from Makefile.in. You can use Quilt to create the patch:

     $ quilt new parallelmake.patch
     Patch patches/parallelmake.patch is now on top
     $ quilt add Makefile.am
     File Makefile.am added to patch patches/parallelmake.patch
                

For more information on using Quilt, see the "Using a Quilt Workflow" section.

At this point you need to make the edits to Makefile.am to add the missing dependency. For our example, you have to add the following line to the file:

     tools/snep-send.$(OBJEXT): include/near/dbus.h
                

Once you have edited the file, use the refresh command to create the patch:

     $ quilt refresh
     Refreshed patch patches/parallelmake.patch
                

Once the patch file exists, you need to add it back to the originating recipe folder. Here is an example assuming a top-level Source Directory named poky:

     $ cp patches/parallelmake.patch poky/meta/recipes-connectivity/neard/neard
                

The final thing you need to do to implement the fix in the build is to update the "neard" recipe (i.e. neard-0.14.bb) so that the SRC_URI statement includes the patch file. The recipe file is in the folder above the patch. Here is what the edited SRC_URI statement would look like:

     SRC_URI = "${KERNELORG_MIRROR}/linux/network/nfc/${BPN}-${PV}.tar.xz \
                file://neard.in \
                file://neard.service.in \
                file://parallelmake.patch \
               "
                

With the patch complete and moved to the correct folder and the SRC_URI statement updated, you can exit the devshell:

     $ exit