got into an animated discussion the other day regarding proper
design of patch files associated with a recipe. as a demo, i can
actually use part of a recipe file ripped from the meta-digi-arm
layer, for "kernel-module-qualcomm", whose recipe file contains (in
part):

  SRC_URI = " \
    ${CAF_MIRROR};destsuffix=${PV};branch=${SRCBRANCH} \
    file://qualcomm-pre-up \
    file://modprobe-qualcomm.conf \
    file://0001-qcacld-Fix-compiling-errors-when-BUILD_DEBUG_VERSION.patch \
    file://0002-Update-cfg80211_vendor_event_alloc-call-for-newer-ke.patch \
    file://0003-wlan_hdd_main-Update-cfg80211_ap_stopped-to-nl80211_.patch \
    file://0004-qcacld-2.0-remove-unused-code.patch \
    file://0005-Including-header-file-for-regulatory_hint_user.patch \
    file://0006-Updating-calls-to-alloc_netdev_mq.patch \
    file://0007-wlan_hdd_cfg80211-update-cfg80211_inform_bss-params-.patch \
    file://0008-wlan_hdd_p2p-Update-call-to-cfg80211_rx_mgmt-for-dif.patch \
    file://0009-linux_ac-Fix-for-f_dentry.patch \
    file://0010-native_sdio-src-hif-Do-not-call-to-HIGH-SPEED-functi.patch \
    file://0011-osdep_adf.h-fix-for-undefined-ath_sysctl_pktlog_size.patch \
    file://0012-Kbuild-Add-compilation-flag-based-on-kernel-support.patch \
    file://0013-Kbuild-do-not-compile-the-DEBUG-version-inconditiona.patch \
    file://0014-Kbuild-Group-most-of-the-relevant-DEBUG-options.patch \
    file://0015-wlan_hdd_cfg80211-fix-missing-ifdef-clause.patch \
    file://0016-Add-.gitignore-rules.patch \
    file://0017-wlan_hdd_main-initialize-all-adapter-completion-vari.patch \
    file://0018-qcacld-Indicate-disconnect-event-to-upper-layers.patch \
    file://0019-wdd_hdd_main-Print-con_mode-to-clearly-see-if-in-FTM.patch \
    file://0020-Makefile-Pass-BUILD_DEBUG_VERSION-to-kbuild-system.patch \
    file://0021-cosmetic-change-log-level.patch \
    file://0022-fix-issue-with-_scan_callback.patch \
  "

  when i was presented with something resembling the above the other
day, my immediate reaction was , "yuck." at the time, i opined that,
if the purpose of the above was to simply add a qualcomm module, it
was silly to do that with a lengthy, numbered series of patches that
were almost certainly inter-dependent and even numbered to enforce a
particular processing order.

  i insisted that the above was unnecessarily messy and, if a
developer tried to examine the patches, it would be next to impossible
to do that easily, as it would require walking through each patch,
then mentally adding the next one, and so on and so on.

  i suggested that, in cases like this, adding a well-defined
functionality should be done with a single all-encompassing patch or,
at the very worst, a small number of patches that might be applied
independently. as in, "Add-qualcomm-driver.patch".

  the argument i got coming back was that the above made sense as it
reflected the *history* of how that driver came to be added. i
shuddered, and pointed out that if one wanted to see the history,
that's what version control is for -- there is no reason that the
information from version control should be used *verbatim* to generate
the patches for a recipe.

  in any event, i can appreciate the value of sometimes adding
numbering to patches to enforce a processing order, but when one has a
numbered series of patches getting up to 20 or 25, that strikes me as
time to collapse all that into larger and more modular and more
meaningful patches.

  thoughts?

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================


-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to