Compare commits

..

576 Commits

Author SHA1 Message Date
Armin Kuster
c83e52cef0 bitbake: tests/fetch: Resolve fetch error in bitbake-selftest
FAIL: test_wget_latest_versionstring (bb.tests.fetch.FetchLatestVersionTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/pokybuild/yocto-worker/oe-selftest/build/bitbake/lib/bb/tests/fetch.py", line 1229, in test_wget_latest_versionstring
      self.assertTrue(verstring, msg="Could not find upstream version for %s" % k[0])
      AssertionError: '' is not true : Could not find upstream version for db

[YOCTO #13496]

The Oracle UPSTREAM_CHECK_URI used changed and does not work with logic in wget.

Update UPSTREAM_CHECK_URI and UPSTREAM_CHECK_REGEX to match the ones used in the
recipe. Also change the version being checked.

(Bitbake rev: 1b989fb76e3e5f044c2e14c7b26a5562803fde9d)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-07 07:40:36 +00:00
Scott Rifenbark
5f660914cd bitbake: bitbake-user-manual: Fixed section head typo
Unseting -> Unsetting

(Bitbake rev: 582f1d7a8d150cf5917dfc1efa844f40131ae4bf)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-12 21:44:34 +00:00
Scott Rifenbark
c3dd2826dd documentation: Updated the manual ref tables
I truncated the rows pre-2.4. This is needless history.

(From yocto-docs rev: 8f728b4ff907ca06e08e6e3f89e69aed3c777efc)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-15 11:49:05 +00:00
Scott Rifenbark
f4190447e7 poky.ent: Updated release variable to "November 2018"
(From yocto-docs rev: 3286a3fb99705ec217464634f6b5d8f4fd9e3b19)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-15 11:49:05 +00:00
Yong, Jonathan
6f8b9e9208 bitbake: bitbake-user-manual: Added "usehead" parameter.
(Bitbake rev: 0c7cf572b8350e7ec1e451d207d67f1f7ce018cb)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-10 20:42:47 +00:00
Richard Purdie
68a612b7d3 python-3.5: Fix manifest to handle reprlib correctly
The current line is looking for py files in __pycache__ which is incorrect.
Fix it to correctly include the right files (modelled after ${PN}-signal).

Patch isn't relavent to later releases since manifest generation changed
significantly.

[YOCTO #12831]

(From OE-Core rev: 3638cb32ba9ba32b4d498fc31ab7fdf82f0d2495)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-24 21:46:06 +00:00
Richard Purdie
8883ee32f2 bitbake: main: Fix environment handling for UI module imports
The environment was being cleared before the UI imports occurred which
caused problems for graphical UIs like taskexp. The full environment was
intended to be available to UI clients and it was only meant to be cleared
for the server/cooker, so tweak the code order so this is the case.

This fixes problems reported for taskexp.

[YOCTO #12670]

(Bitbake rev: 2e4845c526117d5524cff910afbb6f8212a3e199)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-23 15:57:32 +00:00
Scott Rifenbark
9f65c15e14 Documentation: Updated month and year date for 2.4.4 release.
Implemented the ENTITY method to apply the month and date
release time for the 2.4.4 release, which is now "December 2018".

Updated poky.ent to use the new ENTITY.

(From yocto-docs rev: 89f034c819288a936fd029dd754fcdd17a86ce43)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-22 12:21:13 +00:00
Richard Purdie
940da2e688 build-appliance-image: Update to rocko head revision
(From OE-Core rev: 8a2c177c7dad5c838b3c6abd3088a2bc3896a6a3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 21:36:34 +00:00
Richard Purdie
30c10a3d8b poky.conf: Bump version for 2.4.4 rocko release
(From meta-yocto rev: b6e1076d4ec38a61854efbeaa13faa9785a56c8d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 21:36:20 +00:00
Armin Kuster
d67a82687f linux-yoct-rt/4.4: update to 4.4.162
(From OE-Core rev: e5698cbd2f6b848666db9be0834974a92151f986)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 21:34:09 +00:00
Armin Kuster
90296035e1 linux-yocto-tiny/4.4: update to 4.4.162
(From OE-Core rev: 1ec800e929f0b8bd3f14aa55d4f7123230eb53d5)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 21:34:09 +00:00
Armin Kuster
b3a83f2b96 linux-yocto/4.4: update to 4.4.162
(From OE-Core rev: 1e4a0b4a9ecc45d211aabe2822e1d594a9293d3d)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 21:34:09 +00:00
Bruce Ashfield
2b55a844db linux-yocto/4.12: update to v4.12.28
Integrating Paul Gortmaker's -stable updates to 4.12 that comprise the
following changes:

    f4fd7580487d Linux 4.12.28
    d15dfc7d192f net: mvneta: eliminate wrong call to handle rx descriptor error
    c7a79cbd2b44 net: mvneta: use proper rxq_number in loop on rx queues
    f65f1aed2ef2 net: mvneta: clear interface link status on port disable
    402f4ea26693 tcp: add tcp_ooo_try_coalesce() helper
    035eddf502ef tcp: call tcp_drop() from tcp_data_queue_ofo()
    c224a5920d55 tcp: detect malicious patterns in tcp_collapse_ofo_queue()
    7c5d21c36cec tcp: avoid collapses in tcp_prune_queue() if possible
    f999a5cfc3eb tcp: free batches of packets in tcp_prune_ofo_queue()
    3471d76b1128 net: add rb_to_skb() and other rb tree helpers
    fcd212157f50 libnvdimm, pfn: fix start_pad handling for aligned namespaces
    d90d61722843 libnvdimm, dax: fix 1GB-aligned namespaces vs physical misalignment
    df6a2110169e drm/sun4i: Fix error path handling
    d2d90272068d drm/i915: Flush pending GTT writes before unbinding
    55e3ba836aee powerpc/perf: Dereference BHRB entries safely
    32c5b092ac7e clk: sunxi: sun9i-mmc: Implement reset callback for reset controls
    a472f9b5c546 pinctrl: cherryview: Mask all interrupts on Intel_Strago based systems
    32f9f01a1b49 spi: a3700: Fix clk prescaling for coefficient over 15
    39e2376e2774 spi: xilinx: Detect stall with Unknown commands
    104bf43e4653 Revert "parisc: Re-enable interrupts early"
    2c6a864363b5 parisc: Hide Diva-built-in serial aux and graphics card
    4e92abc4d371 parisc: Align os_hpmc_size on word boundary
    8df2ad333664 ALSA: usb-audio: Add native DSD support for Esoteric D-05X
    2d7184d7f8b1 ALSA: rawmidi: Avoid racy info ioctl via ctl device
    425708ccc413 mfd: twl6040: Fix child-node lookup
    d99aacab316b mfd: twl4030-audio: Fix sibling-node lookup
    cd2ca561cdd7 mfd: cros ec: spi: Don't send first message too soon
    f5d153b69e6a crypto: mcryptd - protect the per-CPU queue with a lock
    01b2634b17f4 acpi, nfit: fix health event notification
    1170a37d5339 ACPI: APEI / ERST: Fix missing error handling in erst_reader()
    0cf5d1f5ce10 bpf: fix incorrect sign extension in check_alu_op()
    39cc58874bfc bpf, sparc: fix usage of wrong reg for load_skb_regs after call
    8c570303798e bpf, ppc64: do not reload skb pointers in non-skb context
    05bd23b36b88 bpf, s390x: do not reload skb pointers in non-skb context
    da92e092ffa7 platform/x86: asus-wireless: send an EV_SYN/SYN_REPORT between state changes
    ab3980511fa0 thermal/drivers/hisi: Fix multiple alarm interrupts firing
    ed7ec377cb05 thermal/drivers/hisi: Simplify the temperature/step computation
    b4322338048d thermal/drivers/hisi: Fix kernel panic on alarm interrupt
    e9b4b6019cc2 thermal/drivers/hisi: Fix missing interrupt enablement
    01f1870f5aa8 IB/opa_vnic: Properly return the total MACs in UC MAC list
    59522364dab2 IB/opa_vnic: Properly clear Mac Table Digest
    84cf0ea1cb2a cpuidle: fix broadcast control when broadcast can not be entered
    fdb28a72dafa rtc: set the alarm to the next expiring timer
    245a952509f6 tcp: fix under-evaluated ssthresh in TCP Vegas
    ebe28298b759 clk: sunxi-ng: sun6i: Rename HDMI DDC clock to avoid name collision
    c31c122f7744 staging: greybus: light: Release memory obtained by kasprintf
    7900ee86e495 net: ipv6: send NS for DAD when link operationally up
    0c8d7ea9c7db ibmvnic: Set state UP
    eb3237c59a98 fm10k: ensure we process SM mbx when processing VF mbx
    a076534d71b3 vfio/pci: Virtualize Maximum Payload Size
    0e8c3cf3f83e i40e: fix client notify of VF reset
    2e3bad157461 scsi: lpfc: PLOGI failures during NPIV testing
    022e3fe9ac98 scsi: lpfc: Fix secure firmware updates
    9e7341570bf9 fm10k: fix mis-ordered parameters in declaration for .ndo_set_vf_bw
    af88451b2676 ASoC: codecs: msm8916-wcd-analog: fix module autoload
    2fc38deb5bed ASoC: img-parallel-out: Add pm_runtime_get/put to set_fmt callback
    4529e660bc83 tracing: Exclude 'generic fields' from histograms
    3485fd44f243 PCI/AER: Report non-fatal errors only to the affected endpoint
    64e367610786 Bluetooth: BT_HCIUART now depends on SERIAL_DEV_BUS
    47663fe61367 Bluetooth: hci_uart_set_flow_control: Fix NULL deref when using serdev
    58adf4fe65f8 md: always set THREAD_WAKEUP and wake up wqueue if thread existed
    e9f7be0e550e block,bfq: Disable writeback throttling
    c09fcc304541 IB/rxe: put the pool on allocation failure
    392f4c00adca IB/rxe: check for allocation failure on elem
    179099ba0d69 ixgbe: fix use of uninitialized padding
    e2e131da3b6b i40e: use the safe hash table iterator when deleting mac filters
    757ad831c703 igb: check memory allocation failure
    e156a3afb676 PM / OPP: Move error message to debug level
    9bd17b3b4bb6 PCI: Create SR-IOV virtfn/physfn links before attaching driver
    54da833e63b0 scsi: mpt3sas: Fix IO error occurs on pulling out a drive from RAID1 volume created on two SATA drive
    929cc7c94e3b scsi: cxgb4i: fix Tx skb leak
    84aa72a81de3 PCI: Avoid bus reset if bridge itself is broken
    3932edaebc65 net: phy: at803x: Change error to EINVAL for invalid MAC
    e9bd07539e3f rtc: pl031: make interrupt optional
    9f77ab2f562c crypto: lrw - Fix an error handling path in 'create()'
    59e5a2e7eec9 crypto: crypto4xx - increase context and scatter ring buffer elements
    13c0df6a379d clk: sunxi-ng: sun5i: Fix bit offset of audio PLL post-divider
    68e13e506d6e clk: sunxi-ng: nm: Check if requested rate is supported by fractional clock
    3996734fc715 drm: Add retries for lspcon mode detection
    77190a6d2d57 backlight: pwm_bl: Fix overflow condition
    d3b4b8043ff7 optee: fix invalid of_node_put() in optee_driver_init()
    752218b19686 posix-timer: Properly check sigevent->sigev_notify
    16c39a33a5c6 ACPI / APEI: adjust a local variable type in ghes_ioremap_pfn_irq()
    ba0b2e6cbb82 Linux 4.12.27
    feea4d492d73 usb: musb: da8xx: fix babble condition handling
    6d8d83c4ec67 ath10k: fix build errors with !CONFIG_PM
    00e875f83a3c ath9k: fix tx99 potential info leak
    01cf18e17476 lightnvm: pblk: fix min size for page mempool
    4413575d48be lightnvm: pblk: initialize debug stat counter
    87135620a06a lightnvm: pblk: fix changing GC group list for a line
    3b1abf7d20f6 icmp: don't fail on fragment reassembly time exceeded
    4be8ae2da97b IB/ipoib: Fix lockdep issue found on ipoib_ib_dev_heavy_flush
    7d284754ed54 IB/ipoib: Grab rtnl lock on heavy flush when calling ndo_open/stop
    634b3e0fefd7 RDMA/cma: Avoid triggering undefined behavior
    f9f24086ba42 macvlan: Only deliver one copy of the frame to the macvlan interface
    aba3745fc9b0 udf: Avoid overflow when session starts at large offset
    4a9bf3983ef9 md-cluster: fix wrong condition check in raid1_write_request
    e08da1a3d9d5 raid5-ppl: check recovery_offset when performing ppl recovery
    a6b9b60622b0 scsi: bfa: integer overflow in debugfs
    a6adc19ff5a4 scsi: sd: change allow_restart to bool in sysfs interface
    d23a6641b217 scsi: sd: change manage_start_stop to bool in sysfs interface
    be59ef05ed52 rtl8188eu: Fix a possible sleep-in-atomic bug in rtw_disassoc_cmd
    9257df5ece69 vt6655: Fix a possible sleep-in-atomic bug in vt6655_suspend
    5d0d0b750520 IB/core: Fix calculation of maximum RoCE MTU
    950215a22a7a scsi: scsi_devinfo: Add REPORTLUN2 to EMC SYMMETRIX blacklist entry
    40dd3da9911d raid5: Set R5_Expanded on parity devices as well as data.
    d63147f7712f pinctrl: adi2: Fix Kconfig build problem
    b25a34c20291 dev/dax: fix uninitialized variable build warning
    3b928d69ed7c tty fix oops when rmmod 8250
    6fd73bd5acc5 ipv4: ipv4_default_advmss() should use route mtu
    e8552a24db2a soc: mediatek: pwrap: fix compiler errors
    023499e5fff8 powerpc/xmon: Check before calling xive functions
    7092b9c569ee powerpc/perf/hv-24x7: Fix incorrect comparison in memord
    d85bb8676f60 serdev: ttyport: enforce tty-driver open() requirement
    dcc2d9b7db19 mfd: mxs-lradc: Fix error handling in mxs_lradc_probe()
    d7630ac47698 scsi: hpsa: destroy sas transport properties before scsi_host
    a2133c918746 scsi: hpsa: cleanup sas_phy structures in sysfs when unloading
    37686080a0c8 PCI: Detach driver before procfs & sysfs teardown on device remove
    585eb66776b7 RDMA/cxgb4: Declare stag as __be32
    06a21042a540 xfs: fix incorrect extent state in xfs_bmap_add_extent_unwritten_real
    98da748f2c95 xfs: fix log block underflow during recovery cycle verification
    9aaebfb38490 l2tp: cleanup l2tp_tunnel_delete calls
    4fd806e81bcb nvme: use kref_get_unless_zero in nvme_find_get_ns
    377d9449f868 platform/x86: hp_accel: Add quirk for HP ProBook 440 G4
    89e9f0fce2a4 liquidio: fix kernel panic in VF driver
    85aad298ecc2 samples/bpf: adjust rlimit RLIMIT_MEMLOCK for xdp1
    767f9da42096 ARM64: dts: meson-gxbb-odroidc2: fix usb1 power supply
    65743dd02181 mtd: spi-nor: stm32-quadspi: Fix uninitialized error return code
    0501313aa697 btrfs: tests: Fix a memory leak in error handling path in 'run_test()'
    563e097ec448 btrfs: avoid null pointer dereference on fs_info when calling btrfs_crit
    3faadbbe68b1 btrfs: undo writable superblocke when sprouting fails
    7028f26c6034 btrfs: Explicitly handle btrfs_update_root failure
    3f0a4dfc8eb9 Bluetooth: hci_ldisc: Fix another race when closing the tty.
    abb921b20fa0 Ib/hfi1: Return actual operational VLs in port info query
    879b18ebb8f4 bcache: fix wrong cache_misses statistics
    744eb7bd3386 bcache: explicitly destroy mutex while exiting
    653aad5c1702 media: usbtv: fix brightness and contrast controls
    c4d5c7940953 GFS2: Take inode off order_write list when setting jdata flag
    2e510357e1a6 scsi: scsi_debug: write_same: fix error report
    56c755841ee6 misc: pci_endpoint_test: Avoid triggering a BUG()
    b55d52393e28 misc: pci_endpoint_test: Fix failure path return values in probe
    aeac8e4c0c15 thermal/drivers/step_wise: Fix temperature regulation misbehavior
    aaca414203c4 ASoC: rsnd: rsnd_ssi_run_mods() needs to care ssi_parent_mod
    0587e5a36d00 ppp: Destroy the mutex when cleanup
    4a7735ca4455 clk: tegra: Fix cclk_lp divisor register
    0006385aadd0 clk: tegra: Use readl_relaxed_poll_timeout_atomic() in tegra210_clock_init()
    6ae2754d991b blk-mq-sched: dispatch from scheduler IFF progress is made in ->dispatch
    ec4585cdc959 clk: hi6220: mark clock cs_atb_syspll as critical
    f203d6193f5c clk: imx6: refine hdmi_isfr's parent to make HDMI work on i.MX6 SoCs w/o VPU
    c9ce9a4d1734 clk: imx: imx7d: Fix parent clock for OCRAM_CLK
    5f200f317929 clk: mediatek: add the option for determining PLL source clock
    6f7955a0aa2a crypto: tcrypt - fix buffer lengths in test_aead_speed()
    40734099baaa xfs: truncate pagecache before writeback in xfs_setattr_size()
    165b974bd72a iommu/amd: Limit the IOVA page range to the specified addresses
    a2e1fcc04fb6 badblocks: fix wrong return value in badblocks_set if badblocks are disabled
    75920b77b802 target/file: Do not return error for UNMAP if length is zero
    ca73c042292d target:fix condition return in core_pr_dump_initiator_port()
    8e2ee3f5ff33 iscsi-target: fix memory leak in lio_target_tiqn_addtpg()
    f1ae60da96df target/iscsi: Fix a race condition in iscsit_add_reject_from_cmd()
    d5adfbee09dc target/iscsi: Detect conn_cmd_list corruption early
    edd7fdf83184 platform/x86: intel_punit_ipc: Fix resource ioremap warning
    da2aa58cb07b powerpc/pseries/vio: Dispose of virq mapping on vdevice unregister
    2ae1d60028ab powerpc/ipic: Fix status get and status clear
    1d0cfd6df447 powerpc/opal: Fix EBUSY bug in acquiring tokens
    88189efa7ee7 netfilter: ipvs: Fix inappropriate output of procfs
    39254860365c iommu/mediatek: Fix driver name
    c82f9ea385ab PCI: dwc: Fix enumeration end when reaching root subordinate
    5dad0dfd17df PCI: Do not allocate more buses than available in parent
    4a917030981d powerpc: Don't preempt_disable() in show_cpuinfo()
    0bc0d339ff6c powerpc/powernv/cpufreq: Fix the frequency read by /proc/cpuinfo
    7842177fdc43 PCI/PME: Handle invalid data when reading Root Status
    301c44edb5a1 dmaengine: ti-dma-crossbar: Correct am335x/am43xx mux value type
    2761bc37b1c2 ASoC: Intel: Skylake: Fix uuid_module memory leak in failure case
    c42830902147 PM / s2idle: Clear the events_check_enabled flag
    9c70ec2c413d scsi: aacraid: address UBSAN warning regression
    3819c3c756b0 scsi: aacraid: use timespec64 instead of timeval
    e262d43729be rtc: pcf8563: fix output clock rate
    3ecf1bdeb61e video: fbdev: au1200fb: Return an error code if a memory allocation fails
    d56242baba22 video: fbdev: au1200fb: Release some resources if a memory allocation fails
    3b53b4e4c0ab video: udlfb: Fix read EDID timeout
    f50c8ab6dc0d fbdev: controlfb: Add missing modes to fix out of bounds access
    bfbfacb318cd sfc: don't warn on successful change of MAC
    ae058bf77e63 HID: cp2112: fix broken gpio_direction_input callback
    91590951dec1 ext4: fix crash when a directory's i_size is too small
    4fae0491c35c ext4: fix fdatasync(2) after fallocate(2) operation
    df19eb58d7be dmaengine: dmatest: fix container_of member in dmatest_callback
    100cb4506fb4 dmaengine: dmatest: move callback wait queue to thread context
    4d873e954ac0 eeprom: at24: change nvmem stride to 1
    b90737b239b0 iw_cxgb4: only insert drain cqes if wq is flushed
    6b1f48a27656 dm: fix various targets to dm_register_target after module __init resources created
    26c2e6fc10f1 scsi: core: Fix a scsi_show_rq() NULL pointer dereference
    04039227baf7 nfsd: auth: Fix gid sorting when rootsquash enabled
    143fdc512ac6 NFS: Fix unstable write completion
    7482c56f758c NFS: Use an atomic_long_t to count the number of commits
    3ef4a32040bf nfs: don't wait on commit in nfs_commit_inode() if there were no commit requests
    4a70dd38f444 xhci: Don't add a virt_dev to the devs array before it's fully allocated
    fa7944fd5601 usb: xhci: fix TDS for MTK xHCI1.1
    80aa2eb9b51b ceph: drop negative child dentries before try pruning inode's alias
    b9db0ab47687 mmc: core: apply NO_CMD23 quirk to some specific cards
    ff1b82c5314c usbip: fix stub_send_ret_submit() vulnerability to null transfer_buffer
    cea2ad71f37b usbip: fix stub_rx: harden CMD_SUBMIT path to handle malicious input
    1e5edda8ccd3 usbip: fix stub_rx: get_pipe() to validate endpoint number
    3ac1e4089c48 USB: core: prevent malicious bNumInterfaces overflow
    2479ee21bf60 USB: uas and storage: Add US_FL_BROKEN_FUA for another JMicron JMS567 ID
    b3fd05a19818 tracing: Allocate mask_str buffer dynamically
    5eb37713e296 kernel: make groups_sort calling a responsibility group_info allocators
    d87a616735d8 cifs: fix NULL deref in SMB2_read
    d22121ce1210 crypto: rsa - fix buffer overread when stripping leading zeroes
    0ad02bd37731 mfd: fsl-imx25: Clean up irq settings during removal

(From OE-Core rev: 408daaa6d0fb2147a541b0f14d73b362bd848d3c)

(From OE-Core rev: 768051963683a354a80e11c7d792791b160c2f2b)

(From OE-Core rev: 717dea8a2b98c15f4eacca333c3fa7d5df612a1c)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
{Fixup for Sumo context]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 21:34:09 +00:00
Bruce Ashfield
89b94e40f4 linux-yocto/4.12: update to v4.12.26
Integrating Paul Gortmaker's -stable 4.12 release, which comprises
the following commits:

b0f63e84c132 Linux 4.12.26
61be5424616e usbnet: fix alignment for frames with no ethernet header
6d0519e75609 tipc: fix memory leak in tipc_accept_from_sock()
8560506d5b7a tipc: call tipc_rcv() only if bearer is up in tipc_udp_recv()
5ceba73f1c24 tcp: remove buggy call to tcp_v6_restore_cb()
450a839e54a6 tcp/dccp: block bh before arming time_wait timer
872d246eaed9 stmmac: reset last TSO segment size after device open
74386d6ee7bf sit: update frag_off info
3df033244a42 s390/qeth: fix GSO throughput regression
b7bd0107008f s390/qeth: fix early exit from error path
7f02573318ba s390/qeth: build max size GSO skbs on L2 devices
3c8a527e0496 rds: Fix NULL pointer dereference in __rds_rdma_map
00c0600c0a35 net: remove hlist_nulls_add_tail_rcu()
193d9a02e802 net: realtek: r8169: implement set_link_ksettings()
8fb1c5e220ee net: qmi_wwan: add Quectel BG96 2c7c:0296
0c2ba29a13d9 net/packet: fix a race in packet_bind() and packet_notifier()
bb06331e9156 net: openvswitch: datapath: fix data type in queue_gso_packets
ea15a664c5b8 usb: gadget: ffs: Forbid usb_ep_alloc_request from sleeping
7f11deffc177 ipmi: Stop timers before cleaning up the module
fb006a18929e fix kcm_clone()
ee82eaf439cc RDMA/cxgb4: Annotate r2 and stag as __be32
b71be191d4ed md: free unused memory after bitmap resize
6d24efc56915 dm raid: fix panic when attempting to force a raid to sync
490fc05683b4 blk-mq: Avoid that request queue removal can trigger list corruption
d9e8cb49aaf1 ide: ide-atapi: fix compile error with defining macro DEBUG
115978628b54 ipvlan: fix ipv6 outbound device
ee2ce344ee06 powerpc/powernv/idle: Round up latency and residency values
0fe4d3f9fb5b afs: Connect up the CB.ProbeUuid
94bdd552d7b1 IB/mlx5: Assign send CQ and recv CQ of UMR QP
aa02d85e4d08 IB/mlx4: Increase maximal message size under UD QP
dd955bcce383 bnxt_re: changing the ip address shouldn't affect new connections
a4b3e59bcb04 f2fs: fix to clear FI_NO_PREALLOC
78f9d39a2735 xfrm: Copy policy family in clone_policy
4577662b6010 atm: horizon: Fix irq release error
d7241b40fe6d kbuild: rpm-pkg: fix jobserver unavailable warning
bffb011d5446 mailbox: mailbox-test: don't rely on rx_buffer content to signal data ready
849ef7edfa4c clk: hi3660: fix incorrect uart3 clock freqency
d561354fe15d clk: uniphier: fix DAPLL2 clock rate of Pro5
eada5db0be6e clk: qcom: common: fix legacy board-clock registration
11ea07285eb4 geneve: fix fill_info when link down
4e0b53bd177a sctp: return error if the asoc has been peeled off in sctp_wait_for_sndbuf
be7cba326d33 sctp: use the right sk after waking up from wait_buf sleep
2c485f6fa3be sctp: do not free asoc when it is already dead in sctp_sendmsg
6e2b427a32da slub: fix sysfs duplicate filename creation when slub_debug=O
e66ebbc23607 zsmalloc: calling zs_map_object() from irq is a bug
dc423eda615d sparc64/mm: set fields in deferred pages
956c73ca6664 block: wake up all tasks blocked in get_request()
1f35bda74d1a dt-bindings: usb: fix reg-property port-number range
412c76f0f9b8 sunrpc: Fix rpc_task_begin trace point
09f79313b317 NFS: Fix a typo in nfs_rename()
a550f7b43f63 dynamic-debug-howto: fix optional/omitted ending line number to be LARGE instead of 0
80f443550f8f lib/genalloc.c: make the avail variable an atomic_long_t
1dfea0e03917 drivers/rapidio/devices/rio_mport_cdev.c: fix resource leak in error handling path in 'rio_dma_transfer()'
4add25bf3dff route: update fnhe_expires for redirect when the fnhe exists
c53ad6cb2f86 route: also update fnhe_genid when updating a route cache
d09b814cd2aa gre6: use log_ecn_error module parameter in ip6_tnl_rcv()
f9ef4cd05462 mac80211_hwsim: Fix memory leak in hwsim_new_radio_nl()
a95269b0e4e5 x86/mpx/selftests: Fix up weird arrays
76e5bd0ae30a coccinelle: fix parallel build with CHECK=scripts/coccicheck
59f2aa43a314 kbuild: pkg: use --transform option to prefix paths in tar
50ce05457e39 irqchip/qcom: Fix u32 comparison with value less than zero
e3fec500f619 ARM: avoid faulting on qemu
602f85aeefb7 crypto: talitos - fix ctr-aes-talitos
73e76cb0ca1f crypto: talitos - fix use of sg_link_tbl_len
f17fe30404de crypto: talitos - fix AEAD for sha224 on non sha224 capable chips
f5fa317606b7 crypto: talitos - fix setkey to check key weakness
519619ec114a crypto: talitos - fix memory corruption on SEC2
e7984cca5abc crypto: talitos - fix AEAD test failures
64d05b5d1d86 bus: arm-ccn: fix module unloading Error: Removing state 147 which has instances left.
e14e213dfd51 bus: arm-ccn: Fix use of smp_processor_id() in preemptible context
63efd55a2c6b bus: arm-ccn: Check memory allocation failure
fd30c25b5596 bus: arm-cci: Fix use of smp_processor_id() in preemptible context
d358187f050b media: dvb: i2c transfers over usb cannot be done from stack
2ae277ebe31f drm/exynos: gem: Drop NONCONTIG flag for buffers allocated without IOMMU
0792a5a27074 drm/bridge: analogix dp: Fix runtime PM state in get_modes() callback
fdc899328ff3 kdb: Fix handling of kallsyms_symbol_next() return value
08f22e2251fd brcmfmac: change driver unbind order of the sdio function devices
f9a77013fa02 powerpc/64s: Initialize ISAv3 MMU registers before setting partition table
9c6dfd696e5a KVM: s390: Fix skey emulation permission check
092937ce1aae s390: fix compat system call table
4f4b2e279816 s390: always save and restore all registers on context switch
8c54b7d880d4 smp/hotplug: Move step CPUHP_AP_SMPCFD_DYING to the correct place
a2ec325c7d20 iommu/vt-d: Fix scatterlist offset handling
743ac71ece80 ALSA: usb-audio: Fix the missing ctl name suffix at parsing SU
1df6e988ae39 ALSA: usb-audio: Add check return value for usb_string()
974394e57a05 ALSA: usb-audio: Fix out-of-bound error
f4753360efda ALSA: seq: Remove spurious WARN_ON() at timer check
478c2ed7ca1c ALSA: pcm: prevent UAF in snd_pcm_info
b12060cae8c2 btrfs: handle errors while updating refcounts in update_ref_for_cow
ecfc013c7f23 btrfs: fix missing error return in btrfs_drop_snapshot
45822ea3d1bf X.509: fix comparisons of ->pkey_algo
19057ced2699 X.509: reject invalid BIT STRING for subjectPublicKey
a3ad8e49bc26 KEYS: reject NULL restriction string when type is specified
7c2ccfe13faa KEYS: add missing permission check for request_key() destination
664879ff9aef ASN.1: check for error from ASN1_OP_END__ACT actions
4c0e7ec3072d ASN.1: fix out-of-bounds read when parsing indefinite length item
17a6f363daf9 efi/esrt: Use memunmap() instead of kfree() to free the remapping
8dd372dd8845 efi: Move some sysfs files to be read-only by root
97c6b857262f scsi: libsas: align sata_device's rps_resp on a cacheline
eb78a8b8f172 scsi: use dma_get_cache_alignment() as minimum DMA alignment
db4a32fa5cf2 scsi: dma-mapping: always provide dma_get_cache_alignment
1f55442d0992 isa: Prevent NULL dereference in isa_bus driver callbacks
93fdb7dc713e hv: kvp: Avoid reading past allocated blocks from KVP file
d745d533737a pinctrl: armada-37xx: Fix direction_output() callback behavior
ae6add36f3ce iio: adc: meson-saradc: fix the bit_idx of the adc_en clock
50c87ecdb250 iio: adc: cpcap: fix incorrect validation
657257ba13ae iio: health: max30102: Temperature should be in milli Celsius
3da92b4ab2cc virtio: release virtio index when fail to device_register
f6fe0d2777b2 can: peak/pcie_fd: fix potential bug in restarting tx queue
654babccd437 can: usb_8dev: cancel urb on -EPIPE and -EPROTO
bda1dccdda47 can: esd_usb2: cancel urb on -EPIPE and -EPROTO
9ff8eb7ef05b can: ems_usb: cancel urb on -EPIPE and -EPROTO
51e5de2b036b can: mcba_usb: cancel urb on -EPROTO
c94c94a367ef can: kvaser_usb: cancel urb on -EPIPE and -EPROTO
c8474d8798ab can: kvaser_usb: ratelimit errors if incomplete messages are received
1936ba2b0b40 can: kvaser_usb: Fix comparison bug in kvaser_usb_read_bulk_callback()
bc86162fa81a can: kvaser_usb: free buf in error paths
4a879f2d1636 can: ti_hecc: Fix napi poll return value for repoll
09b06e3f7b1d can: flexcan: fix VF610 state transition issue
f81db8e7d0cb can: peak/pci: fix potential bug when probe() fails
7b747f65c553 can: mcba_usb: fix device disconnect bug
0a3964b0a8d3 usb: f_fs: Force Reserved1=1 in OS_DESC_EXT_COMPAT
d1c24d05d7ec serdev: ttyport: fix tty locking in close
541fbaaf6db7 serdev: ttyport: fix NULL-deref on hangup
a6d00d0df9e5 serdev: ttyport: add missing receive_buf sanity checks
b30e0bedb66b usb: gadget: udc: renesas_usb3: fix number of the pipes

(From OE-Core rev: 5fddf0226efc996f7eeba76f15e3335c9e60c2f3)

(From OE-Core rev: 650cbbf76742adfd4e8c44c2c98dbeaaebc9e3bc)

(From OE-Core rev: 433b22acce62dde53ac82f5ed3a65b153f4de47d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 21:34:09 +00:00
Bruce Ashfield
b43de6a774 linux-yocto/4.12: bump to v4.12.25
Integrating Paul Gortmaker's v4.12.25 -stable queue, which comprises the
following commits:

  e61748ef5db0 Linux 4.12.25
  c34553e3e8af x86/bugs: Rename SSBD_NO to SSB_NO
  4aa9e65a91b9 x86/bugs: Remove x86_spec_ctrl_set()
  7283d22a40c4 x86/bugs: Expose x86_spec_ctrl_base directly
  60fb8f1bbd46 x86/speculation: Rework speculative_store_bypass_update()
  cc8a65725832 x86/cpufeatures: Disentangle SSBD enumeration
  4cadf648f802 x86/cpufeatures: Disentangle MSR_SPEC_CTRL enumeration from IBRS
  14476a34b4d0 x86/speculation: Use synthetic bits for IBRS/IBPB/STIBP
  e66dd0595eac x86/cpu: Make alternative_msr_write work for 32-bit code
  32e38eda9958 x86/bugs: Fix the parameters alignment and missing void
  5593194735ea x86/bugs: Make cpu_show_common() static
  86e7eb199990 x86/bugs: Fix __ssb_select_mitigation() return type
  4efd9170a722 Documentation/spec_ctrl: Do some minor cleanups
  e074092d9d0a proc: Use underscores for SSBD in 'status'
  f57b4be9a391 x86/bugs: Rename _RDS to _SSBD
  f395cafed558 x86/speculation: Make "seccomp" the default mode for Speculative Store Bypass
  9599751872de seccomp: Move speculation migitation control to arch code
  647fb2d84f05 seccomp: Add filter flag to opt-out of SSB mitigation
  44d5a1d9fe07 seccomp: Use PR_SPEC_FORCE_DISABLE
  9490e71c3074 prctl: Add force disable speculation
  ad5b97fe1ab6 x86/bugs: Make boot modes __ro_after_init
  cfc00a7877b6 seccomp: Enable speculation flaw mitigations
  bc4bf81c64b0 proc: Provide details on speculation flaw mitigations
  a41d2136a447 nospec: Allow getting/setting on non-current task
  7e17279e72b9 x86/speculation: Add prctl for Speculative Store Bypass mitigation
  eea6b1abc91e x86/process: Allow runtime control of Speculative Store Bypass
  c8630c28cd28 prctl: Add speculation control prctls
  ecefae5ca101 x86/speculation: Create spec-ctrl.h to avoid include hell
  4bcdf54612aa x86/bugs/AMD: Add support to disable RDS on Fam[15,16,17]h if requested
  6ce1317929a3 x86/bugs: Whitelist allowed SPEC_CTRL MSR values
  cd5e5e6f2e39 x86/bugs/intel: Set proper CPU features and setup RDS
  d97584229d85 x86/bugs: Provide boot parameters for the spec_store_bypass_disable mitigation
  793b7453cfc5 x86/cpufeatures: Add X86_FEATURE_RDS
  c6c3cd47ccbb x86/bugs: Expose /sys/../spec_store_bypass
  2d92a521bda7 x86/bugs: Read SPEC_CTRL MSR during boot and re-use reserved bits
  81865e325abe x86/bugs: Concentrate bug reporting into a separate function
  45245a5b9dc4 x86/bugs: Concentrate bug detection into a separate function
  05e82d536970 x86/nospec: Simplify alternative_msr_write()
  effb0dfecfa2 x86/cpu_entry_area: Sync cpu_entry_area to initial_page_table
  89fffee9d555 x86/xen: Zero MSR_IA32_SPEC_CTRL before suspend
  76199d7beb0b x86/speculation: Move firmware_restrict_branch_speculation_*() from C to CPP
  426210b00b02 x86/speculation: Use IBRS if available before calling into firmware
  63904f8a6d41 x86/entry/64: Fix CR3 restore in paranoid_exit()
  35cf6a9daf5f x86/cpu: Change type of x86_cache_size variable to unsigned int
  7fded60b2cb7 x86/spectre: Fix an error message
  343945a16727 x86/speculation: Add <asm/msr-index.h> dependency
  eb0f059ee2de nospec: Move array_index_nospec() parameter checking into separate macro
  31951a39de73 x86/speculation: Fix up array_index_nospec_mask() asm constraint
  344711f16fec x86/entry/64: Remove the unused 'icebp' macro
  d4324affaf05 x86/entry/64: Fix paranoid_entry() frame pointer warning
  3cadbc9228b4 x86/entry/64: Indent PUSH_AND_CLEAR_REGS and POP_REGS properly
  0d561147160c x86/entry/64: Get rid of the ALLOC_PT_GPREGS_ON_STACK and SAVE_AND_CLEAR_REGS macros
  22c1269eefa9 x86/entry/64: Use PUSH_AND_CLEAN_REGS in more cases
  ac897d25b1d3 x86/entry/64: Introduce the PUSH_AND_CLEAN_REGS macro
  226eea037fa6 x86/entry/64: Interleave XOR register clearing with PUSH instructions
  120d889cac9f x86/entry/64: Merge the POP_C_REGS and POP_EXTRA_REGS macros into a single POP_REGS macro
  2d5eb3888f24 x86/entry/64: Merge SAVE_C_REGS and SAVE_EXTRA_REGS, remove unused extensions
  797a6f4444f1 x86/speculation: Clean up various Spectre related details
  ff032faca431 KVM/nVMX: Set the CPU_BASED_USE_MSR_BITMAPS if we have a valid L02 MSR bitmap
  1aaab2d1a1fd KVM/x86: Reduce retpoline performance impact in slot_handle_level_range(), by always inlining iterator helper methods
  dd17c0f5a114 Revert "x86/speculation: Simplify indirect_branch_prediction_barrier()"
  add7dd4f1f81 x86/speculation: Correct Speculation Control microcode blacklist again
  358f03a9395f x86/speculation: Update Speculation Control microcode blacklist
  0307861327c7 x86/mm/pti: Fix PTI comment in entry_SYSCALL_64()
  a612b987b028 x86/entry/64/compat: Clear registers for compat syscalls, to reduce speculation attack surface
  1b8b432f6dee x86/entry/64: Clear registers for exceptions/interrupts, to reduce speculation attack surface
  513e4bbfc32c x86/entry/64: Clear extra registers beyond syscall arguments, to reduce speculation attack surface

(From OE-Core rev: 400c1bd54c0191b96bccfe0d2755995bdfc04fc1)

(From OE-Core rev: 50bf492ce1db930b5a1c3f0d750015c04a6aaaf0)

(From OE-Core rev: 7f06443cbf482c6922fba077330738ea505f85f7)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 21:34:09 +00:00
Bruce Ashfield
a67ab45c53 linux-yocto/4.12: gcc8 + platform support
Integrating the following changes to fix gcc8 issues, add perf support
for new platforms, and misc bug fixes:

   7e7ac3f0fda9 perf vendor events intel: Update Goldmont events to V12
   0a384f4a74bb perf intel-pt: Always set no branch for dummy event
   d55c0eebc474 perf intel-pt: Set no_aux_samples for the tracking event
   1f0b8b1b621f perf vendor events: Add Goldmont Plus V1 event file
   6b230bd7967e objtool, perf: Fix GCC 8 -Wrestrict error
   2eb720eab978 tools/lib/subcmd/pager.c: do not alias select() params
   16818d5811b1 clocksource/drivers/arm_arch_timer: Fix mem frame loop initialization
   0924074f300a of: dynamic: fix memory leak related to properties of __of_node_dup
   f6579a9e6a8e debugobjects: Make kmemleak ignore debug objects
   9184d19fa9ba intel-socfpga: dts: improve qspi node for rsu feature
   68846ecd1d27 intel-socfpga: dts: add rsu node to enable rsu driver
   9f174f4e95f7 FogBugz #514234: arm64: dts: stratix10: Add PL330 DMA to Stratix10 dts
   8a97ef8580e8 FogBugz #554835-3: Intel RSU binding documentation
   c850e5570554 FogBugz #554835-1: Add Stratix 10 SoC RSU Driver
   e030a1b198b4 FogBugz #549288-4: dts: add Stratix10 sdram ecc
   c25a3bffb901 FogBugz #549288-3: edac: Add support for Stratix10 SDRAM EDAC
   64430c11c84b FogBugz #549288-2: Add Stratix10 ECC Manager binding
   c34e0d995e50 FogBugz #549288-1: misc: Stratix10 Protected register access defines
   ac8afaba8d13 mtd: spi-nor: cadence-quadspi: Fix page fault kernel panic
   16431863e036 FogBugz #554812: fpga: stratix10: unitialized data
   1ee99e139667 arm64: dts: stratix10: Change pad skew values for EMAC0 PHY driver
   3269b14acb76 FogBugz #251539-2: dts: Add Altera Quad SPI Driver Device Tree Binding
   99a5d81c3ea7 FogBugz #251539-1: Add Altera Quad SPI Driver

(From OE-Core rev: 37410a8ff156530dabdfdc7be4cd575768fa688d)

(From OE-Core rev: bffa3ca508b8542157efdd2ff61ff8a7922a6468)

(From OE-Core rev: 6130fad4231f4fb78abffb11b397fa6e4261be13)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 21:34:09 +00:00
Richard Purdie
5e714f0e38 yocto-uninative: Upgrade to verson 2.3 which includes glibc 2.28
This allows us to handle distros which contain glibc 2.28 such as
Ubuntu 18.10.

(From OE-Core rev: 5c7d9abcd611d23d4340f9a0aee2564f72158a0b)

(From OE-Core rev: b3d50458fdf8de719030a9d316fc766dc52912af)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fixed up for sumo context]
Signed-off-by: Armin Kuster <akuster808@gmail.com>

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 21:34:08 +00:00
Dan McGregor
1b6a6b7791 os-release: move to nonarch_libdir
Even on multilib systems, /usr/lib is where systemd expects the
os-release file to live.

(From OE-Core rev: b7b476efee8c959a0227905e40bd9b5ef493632d)

(From OE-Core rev: b1d7ff6eea46af96c84d16111d5327700723cb98)

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 21:34:08 +00:00
Joshua Lock
58d8fd09a5 os-release: fix to install in the expected location
os-release (5) recommends that the os-release file be installed in
/usr/lib/os-release and that /etc/os-release be a relative symlink to it.

(From OE-Core rev: 4feb8614ee25a3d3ceb7f5187120a1256a993155)

(From OE-Core rev: 4e67fa950cd3ca6e44d7f46743904d23a756e498)

(From OE-Core rev: 26138b13baddf8b236ede7f0e01fb39063d65eb1)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 21:34:08 +00:00
Armin Kuster
d6ea55c28a tzdata: update to 2018f
Briefly:
  Volgograd moves from +03 to +04 on 2018-10-28.
  Fiji ends DST 2019-01-13, not 2019-01-20.
  Most of Chile changes DST dates, effective 2019-04-06.

  Changes to future timestamps

    Volgograd moves from +03 to +04 on 2018-10-28 at 02:00.
    (Thanks to Alexander Fetisov and Stepan Golosunov.)

    Fiji ends DST 2019-01-13 instead of the 2019-01-20 previously
    predicted.  (Thanks to Raymond Kumar.)  Adjust future predictions
    accordingly.

    Most of Chile will end DST on the first Saturday in April at 24:00 mainland
    time, and resume DST on the first Saturday in September at 24:00 mainland
    time.  The changes are effective from 2019-04-06, and do not affect the
    Magallanes region modeled by America/Punta_Arenas.  (Thanks to Juan Correa
    and Tim Parenti.)  Adjust future predictions accordingly.

  Changes to past timestamps

    The 2018-05-05 North Korea 30-minute time zone change took place
    at 23:30 the previous day, not at 00:00 that day.

    China's 1988 spring-forward transition was on April 17, not
    April 10.  Its DST transitions in 1986/91 were at 02:00, not 00:00.
    (Thanks to P Chan.)

    Fix several issues for Macau before 1992.  Macau's pre-1904 LMT
    was off by 10 s.  Macau switched to +08 in 1904 not 1912, and
    temporarily switched to +09/+10 during World War II.  Macau
    observed DST in 1942/79, not 1961/80, and there were several
    errors for transition times and dates.  (Thanks to P Chan.)

    The 1948-1951 fallback transitions in Japan were at 25:00 on
    September's second Saturday, not at 24:00.  (Thanks to Phake Nick.)
    zic turns this into 01:00 on the day after September's second
    Saturday, which is the best that POSIX or C platforms can do.

    Incorporate 1940-1949 Asia/Shanghai DST transitions from a 2014
    paper by Li Yu, replacing more-questionable data from Shanks.

  Changes to time zone abbreviations

    Use "PST" and "PDT" for Philippine time.  (Thanks to Paul Goyette.)

 Changes to documentation

    New restrictions: A Rule name must start with a character that
    is neither an ASCII digit nor "-" nor "+", and an unquoted name
    should not use characters in the set "!$%&'()*,/:;<=>?@[\]^`{|}~".
    The latter restriction makes room for future extensions (a
    possibility noted by Tom Lane).

    tzfile.5 now documents what time types apply before the first and
    after the last transition, if any.

    Documentation now uses the spelling "timezone" for a TZ setting
    that determines timestamp history, and "time zone" for a
    geographic region currently sharing the same standard time.

    The name "TZif" is now used for the tz binary data format.

    tz-link.htm now mentions the A0 TimeZone Migration utilities.
    (Thanks to Aldrin Martoq for the link.)

  Changes to build procedure

    New 'make' target 'rearguard_tarballs' to build the rearguard
    tarball only.  This is a convenience on platforms that lack lzip
    if you want to build the rearguard tarball.  (Problem reported by
    Deborah Goldsmith.)

    tzdata.zi is now more stable from release to release.  (Problem
    noted by Tom Lane.)  It is also a bit shorter.

    tzdata.zi now can contain comment lines documenting configuration
    information, such as which data format was selected, which input
    files were used, and how leap seconds are treated.  (Problems
    noted by Lester Caine and Brian Inglis.)  If the Makefile defaults
    are used these comment lines are absent, for backward
    compatibility.  A redistributor intending to alter its copy of the
    files should also append "-LABEL" to the 'version' file's first
    line, where "LABEL" identifies the redistributor's change.
(From OE-Core rev: 9d786808fb9471eff46d95dd354f6254e468aa17)

(From OE-Core rev: 834df7b26c12e4d164a50bcd07b194cb455336ae)

Signed-off-by: Armin Kuster <akuster808@gmail.com>

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 21:34:08 +00:00
Armin Kuster
7522dfaeee tzcode: update to 2018f
Changes to code

    zic now always generates TZif files where time type 0 is used for
    timestamps before the first transition.  This simplifies the
    reading of TZif files and should not affect behavior of existing
    TZif readers because the same set of time types is used; only
    their internal indexes may have changed.  This affects only the
    legacy zones EST5EDT, CST6CDT, MST7MDT, PST8PDT, CET, MET, and
    EET, which previously used nonzero types for these timestamps.

    Because of the type 0 change, zic no longer outputs a dummy
    transition at time -2**59 (before the Big Bang), as clients should
    no longer need this to handle historical timestamps correctly.
    This reverts a change introduced in 2013d and shrinks most TZif
    files by a few bytes.

    zic now supports negative time-of-day in Rule and Leap lines, e.g.,
    "Rule X min max - Apr lastSun -6:00 1:00 -" means the transition
    occurs at 18:00 on the Saturday before the last Sunday in April.
    This behavior was documented in 2018a but the code did not
    entirely match the documentation.

    localtime.c no longer requires at least one time type in TZif
    files that lack transitions or have a POSIX-style TZ string.  This
    future-proofs the code against possible future extensions to the
    format that would allow TZif files with POSIX-style TZ strings and
    without transitions or time types.

    A read-access subscript error in localtime.c has been fixed.
    It could occur only in TZif files with timecnt == 0, something that
    does not happen in practice now but could happen in future versions.

    localtime.c no longer ignores TZif POSIX-style TZ strings that
    specify only standard time.  Instead, these TZ strings now
    override the default time type for timestamps after the last
    transition (or for all time stamps if there are no transitions),
    just as DST strings specifying DST have always done.

    leapseconds.awk now outputs "#updated" and "#expires" comments,
    and supports leap seconds at the ends of months other than June
    and December.  (Inspired by suggestions from Chris Woodbury.)
(From OE-Core rev: 4670dcdb6e2504469c30ebed828d4702d8c0003c)

(From OE-Core rev: 14b02a009ee97da39ad3f140215812c853d40348)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 21:34:08 +00:00
Armin Kuster
898b0f7788 tzdata: update to 2018e
Briefly:

    North Korea switches back to +09 on 2018-05-05.
    The main format uses negative DST again, for Ireland etc.
    'make tarballs' now also builds a rearguard tarball.
    New 's' and 'd' suffixes in SAVE columns of Rule and Zone lines.

  Changes to past and future time stamps

    North Korea switches back from +0830 to +09 on 2018-05-05.
    (Thanks to Kang Seonghoon, Arthur David Olson, Seo Sanghyeon,
    and Tim Parenti.)

    Bring back the negative-DST changes of 2018a, except be more
    compatible with data parsers that do not support negative DST.
    Also, this now affects historical time stamps in Namibia and the
    former Czechoslovakia, not just Ireland.  The main format now uses
    negative DST to model time stamps in Europe/Dublin (from 1971 on),
    Europe/Prague (1946/7), and Africa/Windhoek (1994/2017).  This
    does not affect UT offsets, only time zone abbreviations and the
    tm_isdst flag.  Also, this does not affect rearguard or vanguard
    formats; effectively the main format now uses vanguard instead of
    rearguard format.  Data parsers that do not support negative DST
    can still use data from the rearguard tarball described below

(From OE-Core rev: f717eeff2d4823163cb72fb79101220cc48b3286)

(From OE-Core rev: 7e3d97ca8ceea71f66385ba733c389a1c410ebd3)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 21:34:08 +00:00
Armin Kuster
ffaca4ae58 tzcode-native: updatet to 2018e
Changes to build procedure

    The command 'make tarballs' now also builds the tarball
    tzdataVERSION-rearguard.tar.gz, which is like tzdataVERSION.tar.gz
    except that it uses rearguard format intended for trailing-edge
    data parsers.

  Changes to data format and to code

    The SAVE column of Rule and Zone lines can now have an 's' or 'd'
    suffix, which specifies whether the adjusted time is standard time
    or daylight saving time.  If no suffix is given, daylight saving
    time is used if and only if the SAVE column is nonzero; this is
    the longstanding behavior.  Although this new feature is not used
    in tzdata, it could be used to specify the legal time in Namibia
    1994-2017, as opposed to the popular time (see below).

  Changes to past time stamps

    From 1994 through 2017 Namibia observed DST in winter, not summer.
    That is, it used negative DST, as Ireland still does.  This change
    does not affect UTC offsets; it affects only the tm_isdst flag and
    the abbreviation used during summer, which is now CAT, not WAST.
    Although (as noted by Michael Deckers) summer and winter time were
    both simply called "standard time" in Namibian law, in common
    practice winter time was considered to be DST (as noted by Stephen
    Colebourne).  The full effect of this change is only in vanguard
    format; in rearguard and main format, the tm_isdst flag is still
    zero in winter and nonzero in summer.

    In 1946/7 Czechoslovakia also observed negative DST in winter.
    The full effect of this change is only in vanguard format; in
    rearguard and main formats, it is modeled as plain GMT without
    daylight saving.  Also, the dates of some 1944/5 DST transitions
    in Czechoslovakia have been changed.
(From OE-Core rev: aeb3d295581908ca9a9d8f1705f70b49b2de32e3)

(From OE-Core rev: 46bbf84f441c65f910558649c7ed2350b023cbf9)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 21:34:08 +00:00
akuster@mvista.com
705e57b695 tzcode-native: update to 2018d
(From OE-Core rev: 257a61425075aaace928ce1e2303cd0de2127203)

(From OE-Core rev: 1019edfded5ae323d51606f933eb6177d4d49ee2)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 21:34:08 +00:00
akuster@mvista.com
101f9293c4 tzdata: update to 2018d
(From OE-Core rev: af7ca3e3596784c5837e9bd339cc7114883ce67a)

(From OE-Core rev: 159f9a120b5407517d825302ca19786dd042b64f)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 21:34:08 +00:00
Juro Bystricky
928b08523b tzcode: remove unused patch files
(From OE-Core rev: 7118b4df6d43de4d27426826ce2dce93b2baf9b4)

(From OE-Core rev: 7edc4a6d92599fa56b0b70e24e9789f3dbbeeee2)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 21:34:08 +00:00
Hongxu Jia
68c76b3f7d valgrind: fix compile ptest failure on mips32
- Pass mips32's CFLAGS to tests

- Fix broken inline asm in tests on mips32-linux

- Build mips n32 successfully, support it.

(From OE-Core rev: 23d9eba99d1180a0b859aadc23a10b391b8f6440)

(From OE-Core rev: 2c7d665e9f643a3b13565b0a4a75d5cb3f8eba94)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-05 16:02:44 +00:00
Jagadeesh Krishnanjanappa
fbcfe7f3e5 valgrind: fix ptest compilation for PowerPC64
The fix is similar to what was done for PowerPC32.
It solves below error, while compiling for PowerPC64,

-- snip --
| ../../../../valgrind-3.13.0/none/tests/ppc64/test_isa_2_06_part2.c: In function 'usage':
| ../../../../valgrind-3.13.0/none/tests/ppc64/test_isa_2_06_part2.c:1778:3: warning: implicit declaration of function 'fprintf' [-Wimplicit-function-declaration]
|    fprintf(stderr,
|    ^~~~~~~
| ../../../../valgrind-3.13.0/none/tests/ppc64/test_isa_2_06_part2.c:1778:3: warning: incompatible implicit declaration of built-in function 'fprintf'
| ../../../../valgrind-3.13.0/none/tests/ppc64/test_isa_2_06_part2.c:1778:3: note: include '<stdio.h>' or provide a declaration of 'fprintf'
| ../../../../valgrind-3.13.0/none/tests/ppc64/test_isa_2_06_part2.c:1778:11: error: 'stderr' undeclared (first use in this function)
|    fprintf(stderr,
|            ^~~~~~
-- snip --

(From OE-Core rev: 49bac1a59bc1cfebce69cad723f74d44e1fbe1d5)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-05 16:02:44 +00:00
Zhixiong Chi
98e473329e valgrind: fix the shared object issue while prelink ptest
If valgrind-ptest is installed, we will get the some prelink error
like below at do_image:

  .../usr/sbin/prelink: /usr/lib64/valgrind/ptest/memcheck/tests/wrap7:\
  Could not find one of the dependencies: \
  .../usr/sbin//prelink-rtld: error   \
  while loading shared libraries: wrap7so.so: cannot open shared  \
  object file: No such file or directory

The wrap7 needs to link the shared object in the path
/usr/lib64/valgrind/ptest/memcheck/tests, but it fails.
So we correct the path for ptest.

(From OE-Core rev: 1ec0c977c55ae2c38252e1807dc15c56007d30dc)

(From OE-Core rev: f679285f54fa1d160d22a25682d50eb5032c2569)

Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-05 16:02:44 +00:00
Manjukumar Matha
ca6bdf1805 valgrind: Mask CPUID support in HWCAP on aarch64
valgrind currently does not know anything about the CPUID flag added to
the HWCAP auxv entry in kernel 4.11+

At runtime it will fails like this:

ARM64 front end: branch_etc
disInstr(arm64): unhandled instruction 0xD5380001
disInstr(arm64): 1101'0101 0011'1000 0000'0000 0000'0001 ==2082==
valgrind: Unrecognised instruction at address 0x4014e64.

This patch is a workaround by masking all HWCAP. This patch is dervied
from https://bugzilla.redhat.com/show_bug.cgi?id=1464211

(From OE-Core rev: cdeb3d530af6cec1959c986aff3d6906939c8918)

(From OE-Core rev: e6cb66399f6ba874a7954d3212157576030dda34)

Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-05 16:02:44 +00:00
Chin Huat Ang
16c0989eec toolchain-scripts: preserve host path in environment setup script
The environment setup script generated in the build directory sets the PATH
variable by expanding ${PATH} which would have host paths filtered. Sourcing
this script to run runqemu will not work as it complains host stty (/bin/stty)
cannot be found.

To resolve this, the script no longer expands ${PATH} during generation time,
instead it will now source oe-init-build-env to initialize the build
environment so that all host paths will be preserved. Also be sure to prepend
STAGING_BINDIR_TOOLCHAIN to the PATH variable so that the toolchain from the
build directory can be found.

[YOCTO #12695]

(From OE-Core rev: a64a144096c0637387244b89ed22f4b5352b2522)

(From OE-Core rev: d4657ac24542967ecd241726063da2d2dc3e9e23)

Signed-off-by: Chin Huat Ang <chin.huat.ang@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-05 16:02:44 +00:00
Jose Perez Carranza
d9122cb2d0 lsb/lsbtests: Update package lists to use latest version of binary
Currently  package list is pointing to  "lsb-setup-4.1.0-1.noarch.rpm"
which is not available anymore on
http://ftp.linuxfoundation.org/pub/lsb/base/released-all/binary/ hence
BASE_PACKAGES_LIST is updated to point to the latest available version.

[YOCTO #12240]

(From OE-Core rev: a1e61b05d83de0feeb6d05851477108902d1dfb0)

(From OE-Core rev: 5db7781c27bb4bb57e8a6749337bf52dc33355cc)

Signed-off-by: Jose Perez Carranza <jose.perez.carranza@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-05 16:02:44 +00:00
Anuj Mittal
0118c2d2aa perl: skip tests that are not useful
Some tests, like the one that compares the hashes for a list of files
against those stored in a .dat file, don't make sense for downstream
distros packaging perl.

Backport a patch from upstream that allows skipping of these tests at
runtime. Also remove the local patch trying to keep hashes up-to-date
for one of those tests.

Fixes [YOCTO #12787]

(From OE-Core rev: 557f4618b75b8739a647e46054ab587ae2bbdc25)

(From OE-Core rev: 5cabded0895a5634b194ba125d1231b52e09a5e9)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fix up for rocko context]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-05 16:02:44 +00:00
Scott Rifenbark
0d6e6eb510 documentation: Updated release date for 2.4.4 release
It was September.  More likely to be November now.  All manual
history tables updated.

(From yocto-docs rev: ee04a4f2b95ab99d16b2c0418c12f91350c5bdef)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-20 14:28:09 +01:00
Ross Burton
cd3c8323d8 make: add missing Signed-off-by
(From OE-Core rev: 5282774e0a8df40a04808622e6d265157477488f)

(From OE-Core rev: 4aa55a2c338e38816275789ac89cdd617bda9b42)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-18 11:09:39 +01:00
Khem Raj
2832aa209d make: Backport fixes to not assume glibc internal glob implementation
Exposed with glibc 2.27

(From OE-Core rev: cdf370f1bd046ba6207b63c9a82bdfff2b261a7d)

(From OE-Core rev: bd81e47c12b8f3bbb8a9e24379b6632e36f11462)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-18 11:09:39 +01:00
Richard Purdie
076b057c46 recipes: Update git.gnome.org addresses after upstream changes
git.gnome.org is no more. It has ceased to be. It's an ex-git.

Please see here:
https://about.gitlab.com/2018/05/31/welcome-gnome-to-gitlab/

Note that gitlab does not support git://, only https:// (and ssh).

[Commit message from Alexander Kanavin]

(From OE-Core rev: 8382cdc0888ca645a44aacaac1155afb8dcde979)

(From OE-Core rev: d40c87b003b290a1739039156b27f194f68f12c2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fixup for sumo context]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-18 11:09:39 +01:00
He Zhe
caa4a47877 cryptodev: Fix build errors with v4.17+
Backport from upstream to update internal syscall function usage.
https://github.com/cryptodev-linux/cryptodev-linux
f60aa08c63fc02780554a0a12180a478ca27d49f

(From OE-Core rev: 270a1e9bcf26a43f5cbdc5b901c4c6f79495311d)

(From OE-Core rev: 87718444c054bad8d83e19d4ead2397420c63289)

Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-18 11:09:39 +01:00
Armin Kuster
cfcbc502a7 shadow: CVE-2016-6252
Backport patch from the upstream
https://github.com/shadow-maint/shadow/commit/
1d5a926cc2d6078d23a96222b1ef3e558724dad1

(From OE-Core rev: dd9e2dedb9ab41f509bae26f12704cbee1eb765d)

Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-10 13:27:02 +01:00
Kai Kang
fbe29a7e5f shadow: update ownership and permission of /var/spool/mail
Update shadow to change ownership of /var/spool/mail from root:root to
root:mail and permission from 0755 to 0775 just as in most popular
distributions such as fedora and debian(It also set setgid bit in debian
but we don't need it).

(From OE-Core rev: b3ab5fe359c38cdd5cd86cb8ffe076d7a2baac18)

(From OE-Core rev: a77eff19be1d5812999bf584364000440f218fbb)

(From OE-Core rev: 1af360c925a044fa4fa093cd109f3f2a5cbe7944)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-10 13:27:02 +01:00
Jagadeesh Krishnanjanappa
9833879d81 shadow: CVE-2018-7169
newgidmap: enforce setgroups=deny if self-mapping a group

This is necessary to match the kernel-side policy of "self-mapping in a
user namespace is fine, but you cannot drop groups" -- a policy that was
created in order to stop user namespaces from allowing trivial privilege
escalation by dropping supplementary groups that were "blacklisted" from
certain paths.

This is the simplest fix for the underlying issue, and effectively makes
it so that unless a user has a valid mapping set in /etc/subgid (which
only administrators can modify) -- and they are currently trying to use
that mapping -- then /proc/$pid/setgroups will be set to deny. This
workaround is only partial, because ideally it should be possible to set
an "allow_setgroups" or "deny_setgroups" flag in /etc/subgid to allow
administrators to further restrict newgidmap(1).

We also don't write anything in the "allow" case because "allow" is the
default, and users may have already written "deny" even if they
technically are allowed to use setgroups. And we don't write anything if
the setgroups policy is already "deny".

Ref: https://bugs.launchpad.net/ubuntu/+source/shadow/+bug/1729357
Fixes: CVE-2018-7169

Affects shadow <= 4.5

(From OE-Core rev: a875522540372a4fa6658885692e564dfd729f54)

(From OE-Core rev: cfc8931d53cf9959995a4068a7e397e100922358)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-10 13:27:02 +01:00
Andrej Valek
2f89032e5f shadow: fix CVE-2017-2616
(From OE-Core rev: 94a1e2794df15f0f2cb62ae030cd81e6c0798b1f)

(From OE-Core rev: 8894c70ae5a44974f74434d251def3148818a866)

(From OE-Core rev: eec9169658733335c6f8251b5122706fa8ab467d)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-10 13:27:02 +01:00
Martin Jansa
f29617bf18 license.bbclass: be a bit more strict when searching ${PN}-${LICENSE_PACKAGE_SUFFIX} in packages
* linux-firmware contains ${PN}-license package since this commit:
  commit 1ee083da0730408fffdbbf5f29abc299c0e61be9
  Author: Jackie Huang <jackie.huang@windriver.com>
  Date:   Mon Apr 13 10:17:21 2015 +0800

    linux-firmware: fix the mess of licenses
* LICENSE_CREATE_PACKAGE functionality in license.bbclass when enabled
  adds new package with suffix:
  LICENSE_PACKAGE_SUFFIX ??= "-lic"
  but then it checks if ${PN}-${LICENSE_PACKAGE_SUFFIX} is included
  in PACKAGES before adding it and when found it shows:
  WARNING: linux-firmware-1_0.0+gitAUTOINC+4c0bf113a5-r0 do_package: linux-firmware-lic package already existed in linux-firmware.
  and doesn't add the ${PN}-lic to PACKAGES and causes another warning:
  WARNING: linux-firmware-1_0.0+gitAUTOINC+4c0bf113a5-r0 do_package: QA Issue: linux-firmware: Files/directories were installed but not shipped in any package:
  /usr
  /usr/share
  /usr/share/licenses
  /usr/share/licenses/linux-firmware

  that's because it was searching ${PN}-lic in PACKAGES as a string
  so it found ${PN}-lic as a substring of ${PN}-license, add a split
  to search in an list

(From OE-Core rev: 9b9897fc034819385a9d4ce591cc79dd458f3f24)

(From OE-Core rev: 9aed83eb8694a0bd409a6a2481bfd2a1b98919e1)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Yocto 12572]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-10 13:27:02 +01:00
Peter Kjellerstedt
c5d9b77ba8 license.bbclass: Minor simplification of get_deployed_dependencies()
Since ${SSTATE_ARCHS} now contains ${PACKAGE_EXTRA_ARCHS} there is no
longer any need to add those extra architectures to the list of
architectures handled in get_deployed_dependencies().

(From OE-Core rev: e55e6df4f1434458cdfa0e2d3610b48119e5a782)

(From OE-Core rev: 64ca9e513eabc85db9648a6483bd3024c7fe8746)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-10 13:27:02 +01:00
Hongxu Jia
05711ba185 patch: fix CVE-2018-6952
(From OE-Core rev: 1314a6953aa647706107557faaba8574e307d2bd)

(From OE-Core rev: 7d518d342eb67d25aa071fb08d03f06d6da576c6)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-13 10:55:38 +01:00
Daniel Díaz
40a817a038 multilib_header: recognize BPF as a target
When building with `clang -target bpf` using the
multilib_header, a recursion was unavoidable because
bits/wordsize.h would #include itself, still lacking
a definition for __MHWORDSIZE or __WORDSIZE.

(From OE-Core rev: 70b41b3c335a80b4ac243f468f22331d261299db)

(From OE-Core rev: 58abe666d3bad7a915c244c61085482e94b3d549)

(From OE-Core rev: edb02f0d1d313fb026e39cc320e63be7e0132e7b)

Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-13 10:55:38 +01:00
Ross Burton
094c364e4e python2: Fix build with gcc8
(From OE-Core rev: 910f68c9c8dc26e12d28ef29e956af63d100f121)

(From OE-Core rev: 04c2d53ef48a09747d0577d9ec1ffa548d247615)

(From OE-Core rev: 9a3772e9411864301ca2799b4d5827476a6b7fcf)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Martin Hundebøll <martin@geanix.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-13 10:55:38 +01:00
Derek Straka
33bf568714 python-native: add dependency for gdbm and db native packages
These two packages are required to ensure the manifest files contain
all of the generated packages.  Without this, the db and gdbm packages
will not contain the .so files as they are skipped during the compilation steps

(From OE-Core rev: 912c06615269f42230db2d93d70db2b340ed270a)

(From OE-Core rev: 1e2d12f87445361cc57b7fc1e4ba5eec0265087d)

Signed-off-by: Derek Straka <derek@asterius.io>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-13 10:55:38 +01:00
Derek Straka
5a353c4210 python: Upgrade both python and python-native to 2.7.14
Rebased:
  - python/01-use-proper-tools-for-cross-build.patch
  - python/fix-makefile-for-ptest.patch
  - python/parallel-makeinst-create-bindir.patch

Removed Upstreamed Patch:
  - python/Don-t-use-getentropy-on-Linux.patch

Updated license checksum for changes in the copyright date.  The license
terms remain unchanged

Added an extra do_compile item to create the native pgen that no longer
gets compiled by default

(From OE-Core rev: 9f2de4f9cf1eb6de75dc789bd0549f45c7a68c55)

(From OE-Core rev: 00bdc9752e76fb66bb7eb8d6c3249aa031f14fdb)

Signed-off-by: Derek Straka <derek@asterius.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

[Bug fix release only]
CVE-2017-9233
CVE-2016-0718
CVE-2012-0876
CVE-2016-4472

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-13 10:55:38 +01:00
Jagadeesh Krishnanjanappa
a47d077ff4 libvorbis: CVE-2018-10392
Sanity check number of channels in setup.

Fixes #2335.
Link: https://gitlab.xiph.org/xiph/vorbis/issues/2335

(From OE-Core rev: a8e6ce64d4561826f2f5926c2dc67939c95a8626)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-13 10:55:38 +01:00
Jagadeesh Krishnanjanappa
6f7c2da540 libvorbis: CVE-2017-14160 CVE-2018-10393
CVE-2017-14160: fix bounds check on very low sample rates.

(From OE-Core rev: 5bed33fbd29eea9449114186d42b4b2a5e88b32f)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-13 10:55:38 +01:00
Ross Burton
3cbd516bd1 bzip2: use Yocto Project mirror for SRC_URI
The bzip.org domain expired and is now a holding site for adverts, so we can't
trust a tarball that appears on that site (luckily we have source checksums to
detect this).

For now, point SRC_URI at the tarball in the Yocto Project source mirror, but
set HOMEPAGE and UPSTREAM_CHECK_URI to the sourceware.org/bzip2/ page which
apparently will be resurrected as the new canonical home page.

(From OE-Core rev: 9e291d9923efc988abe8689c64bafbb29da06339)

(From OE-Core rev: aa427fd4a54f0f082705d86a487ecc601c725c3a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-13 10:55:38 +01:00
Ross Burton
66550feb26 classes: sanity-check LIC_FILES_CHKSUM
We assume that LIC_FILES_CHKSUM is a file: URI but don't actually verify this,
which can lead to problems if you have a URI that resolves to a path of / as
Bitbake will then dutifully checksum / recursively.

[ YOCTO #12883 ]

(From OE-Core rev: e2b8a3d5a10868f9c0dec8d7b9f5f89fdd100fc8)

(From OE-Core rev: f6f54155420ae54a34f1ab87e76623c536adf2f9)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-30 15:57:44 +01:00
Denys Dmytriyenko
02b05d1ff4 module-base.bbclass: fix out-of-tree module builds with custom EXTRA_OEMAKE
Commit d2aa88a6a92985f21414fceea2dc0facbf7f8779 was meant to backport build
dependencies on bc-native and openssl-native, but it also changed execution
of do_make_scripts() from calling make directly to using oe_runmake. That
change was made in master/sumo as part of a separate make-mod-scripts recipe.

Unfortunately, that doesn't work here in rocko in the context of module-base
class, as it gets executed inside out-of-tree module environment. Quite often
those out-of-tree modules provide own Makefile with custom EXTRA_OEMAKE var
defined. But do_make_scripts() gets executed within STAGING_KERNEL_DIR and
cannot simply use custom EXTRA_OEMAKE set by a module.

Move back to calling make and passing HOSTCC/HOSTCPP directly w/o using
EXTRA_OEMAKE.

For more details please see:
http://lists.openembedded.org/pipermail/openembedded-core/2018-August/154189.html

(From OE-Core rev: eb3eaa6970bb8c3647187593df23e2784dd26935)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Cc: Bruce Ashfield <bruce.ashfield@windriver.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: Anuj Mittal <anuj.mittal@intel.com>
Cc: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 17:16:03 +01:00
Ross Burton
61da85778a bitbake: checksum: sanity check path when recursively checksumming
In case something goes tragically wrong, catch a request to checksum / and
refuse.

(Bitbake rev: 8bd16328a9332c57b03198826e22b48fadcd21d9)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:58 +01:00
Ross Burton
1b966ffd5f bitbake: utils/md5_file: don't iterate line-by-line
Opening a file in binary mode and iterating it seems like the simple solution
but will still break on newlines, which for binary files isn't really useful as
the size of the chunks could be huge or tiny.

Instead, let's be a bit more clever: we'll be MD5ing lots of files, but we don't
want to fill up memory: use mmap() to open the file and read the file in 8k
blocks.

(Bitbake rev: f3f28ec7e6cad5003014462feeb9178496107e08)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:58 +01:00
Richard Purdie
f7a8c088ae bitbake: tests/fetch: Update gnome.org urls after upstream changes
(Bitbake rev: cdda992d4eedcf8e23b9a7222c16d49dee1586bd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 10:44:21 +01:00
Scott Rifenbark
2731fd35d5 documentation: Preparation for 2.4.4 release
poky.ent - updated variables for 2.4.4
mega-manual.sed - updated string from "2.4.3" to "2.4.4"
<manual>.xml - updated manual revision tables for 2.4.4 and
               September 2018 date

(From yocto-docs rev: 1bba098ba20f2b1349ac840fd36f62de401f8701)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:18 +01:00
Jagadeesh Krishnanjanappa
4a59df45f8 libxcursor: CVE-2017-16612
affects: <= 1.1.14

CVE-2017-16612: Fix heap overflows when parsing malicious files

It is possible to trigger heap overflows due to an integer overflow
while parsing images and a signedness issue while parsing comments.

The integer overflow occurs because the chosen limit 0x10000 for
dimensions is too large for 32 bit systems, because each pixel takes 4 bytes.
Properly chosen values allow an overflow which in turn will lead to less
allocated memory than needed for subsequent reads.

The signedness bug is triggered by reading the length of a comment
as unsigned int, but casting it to int when calling the function
XcursorCommentCreate. Turning length into a negative value allows the
check against XCURSOR_COMMENT_MAX_LEN to pass, and the following
addition of sizeof (XcursorComment) + 1 makes it possible to allocate
less memory than needed for subsequent reads.

(From OE-Core rev: bdf13518e79ab949c4320226a399ee4a3913ee30)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:46 +01:00
Chen Qi
3259b70497 devtool/sdk.py: error out in case of downloading file failure
It's possible that downloading file from updateserver fails. In
this case, we should error out instead of continue.

We have users reporting unexpected behavior of 'devtool sdk-update'.
When an invalid url is supplied, e.g., `devtool sdk-update http://invalid',
the program reports 'Note: Already up-to-date'.

This is obviously not expected. We should error out in such case.

(From OE-Core rev: 449564783dfb162536a2f772b3a8704973221e0f)

(From OE-Core rev: 4b022a62998e38dbefe1f882bcb9a229485ac9da)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:46 +01:00
Rasmus Villemoes
b332766553 perf: disable parallelism for 'make clean'
Whenever perf got rebuilt, I was consistently getting errors such as

| find: '[...]/perf/1.0-r9/perf-1.0/plugin_mac80211.so': No such file or directory
| find: '[...]/perf/1.0-r9/perf-1.0/plugin_mac80211.so': No such file or directory
| find: find: '[...]/perf/1.0-r9/perf-1.0/libtraceevent.a''[...]/perf/1.0-r9/perf-1.0/libtraceevent.a': No such file or directory: No such file or directory
|
[...]
| find: cannot delete '/mnt/xfs/devel/pil/yocto/tmp-glibc/work/wandboard-oe-linux-gnueabi/perf/1.0-r9/perf-1.0/util/.pstack.o.cmd': No such file or directory

breaking the whole build. The root cause seems to be that the implicit
'make clean' done during do_configure ends up running in parallel, and
thus multiple find commands attempt to stat and/or delete the same
file.

A patch disabling parallelism for the clean target has been ack'ed
upstream (lkml.kernel.org/r/20180705134955.GB3686@krava), but it should
be harmless to pass JOBS=1 even with a fixed kernel. This can be removed
if and when all relevant -stable kernels have that patch.

(From OE-Core rev: bb58203b668df42fd08c2e5fa4a172cf63e37369)

(From OE-Core rev: d12722681a4c13c1a6bc9c965cc43c4544ce7aa9)

(From OE-Core rev: ad21736cf1be017af4b211b5cdd577cdf28dee20)

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:46 +01:00
Armin Kuster
58356f3322 glibc: Update 2.26 to tip
CVES: CVE-2018-11236, CVE-2017-18269,  CVE-2018-11237

LIC_FILES_CHKSUM for LICENSE changed do to removal of
"stdio-common/tst-printf.c is copyright C E Chew" text

changelog:
c9570bd x86: Populate COMMON_CPUID_INDEX_80000001 for Intel CPUs [BZ #23459]
86e0996 x86: Correct index_cpu_LZCNT [BZ #23456]
cf6deb0 conform/conformtest.pl: Escape literal braces in regular expressions
b12bed3 stdio-common/tst-printf.c: Remove part under a non-free license [BZ #23363]
20dc7a9 libio: Add tst-vtables, tst-vtables-interposed
4b10e69 Synchronize support/ infrastructure with master
762e9d6 NEWS: Reorder out-of-order bugs
2781bd5 libio: Disable vtable validation in case of interposition [BZ #23313]
74d16a5 Check length of ifname before copying it into to ifreq structure.
3aaf8bd getifaddrs: Don't return ifa entries with NULL names [BZ #21812]
f958b45 Use _STRUCT_TIMESPEC as guard in <bits/types/struct_timespec.h> [BZ #23349]
81b994b Fix parameter type in C++ version of iseqsig (bug 23171)
7b52c8a libio: Avoid _allocate_buffer, _free_buffer function pointers [BZ #23236]
4df8479 Add NEWS entry for CVE-2018-11236
a5bc5ec Add references to CVE-2018-11236, CVE-2017-18269
58ad5f8 Add a test case for [BZ #23196]
6b4362f Don't write beyond destination in __mempcpy_avx512_no_vzeroupper (bug 23196)
af7519f Fix path length overflow in realpath [BZ #22786]
365722a Fix stack overflow with huge PT_NOTE segment [BZ #20419]
be056fa Fix blocking pthread_join. [BZ #23137]
02f0dd8 Fix signed integer overflow in random_r (bug 17343).
3241353 i386: Fix i386 sigaction sa_restorer initialization (BZ#21269)
677e6d1 [BZ #22342] Fix netgroup cache keys.
71d339c Fix i386 memmove issue (bug 22644).
31e2d15 Fix crash in resolver on memory allocation failure (bug 23005)
1f7c474 getlogin_r: return early when linux sentinel value is set
7e7a5f0 resolv: Fully initialize struct mmsghdr in send_dg [BZ #23037]

(From OE-Core rev: 1c6b71d4ee2b12d1360d53740a1f00e05832d40d)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:46 +01:00
Ross Burton
f6e03ac1a7 cryptodev: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: cecd562742c94f223c92bf5426148967fc9a8054)

(From OE-Core rev: ce0554c6807b3a67bd770b172e81595797715e9e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:46 +01:00
Alexander Kanavin
ed79a8ccbe cryptodev: switch SRC_URI to git
One of the tarball mirrors is down; the other is blocked by Intel's corporate proxy
for being deemed 'suspicious' (the same problem might pop up in other
companies as well). Let's just take the source from github.

(From OE-Core rev: 69f60f6ef9061760643d6b4e378052ddad424754)

(From OE-Core rev: b5d9098b2df889c7394296eeab1fc4fab036e704)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:46 +01:00
Daniel Schultz
037fa41038 cryptodev: Fix build errors with v4.13+
Without this compiles of 4.13 and later kernels fail.

Backport from https://github.com/cryptodev-linux/cryptodev-linux
Based on commit f0d69774afb27ffc62bf353465fba145e70cb85a

(From OE-Core rev: 317fd9814653ee22496dda63a02e628e8a16899b)

(From OE-Core rev: 8894f352fd1f2a087528808cc3dc52d7a5cc72bd)

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:46 +01:00
Christopher Larson
f29fea340f ovmf: set PARALLEL_MAKE for target as well
This can fail for target, not just native.

(From OE-Core rev: 747c7dc8702d2241475894876d06a2f1f2b29fed)

(From OE-Core rev: 0d4ccd6eac41c878b5a9eec10e1a00b76241b846)

(From OE-Core rev: 7786a7d99cfe1695b4a1017021dee826b4994167)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:46 +01:00
Khem Raj
7add7e5892 ovmf: Fix build with gcc8
(From OE-Core rev: 278b00ddccb274150ed85e48e984675b40fc9aaa)

(From OE-Core rev: 2e4a05879f56e96bcdc0770d3fe27abc8b9af35e)

(From OE-Core rev: 2b3d976392d53afc3033ddf37d2404d61904bf78)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:46 +01:00
Ross Burton
9c8021f2fb ovmf: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 68d567bd64debc3dfb37df3c814287549da56a3b)

(From OE-Core rev: d2882641a0b4df887c0af974ce36ff50834b7f29)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:46 +01:00
Martin Jansa
ecb366b52d perf: fix build with kernel older than 4.8
* perf is failing to build for me since this oe-core commit:
  commit 9b38c824961fc9dce51bda95c25dac91a69fc64f
  Author: Hongxu Jia <hongxu.jia@windriver.com>
  Date:   Tue Apr 24 11:33:47 2018 +0800

    perf: make a copy of kernel source to perf workdir

  the problem is that perf sources in kernel older than 4.8 (in my case
  4.4) are depending on the "global" include headers outside tools
  directory, e.g. swab.h in:
  kernel-source/tools$ git grep swab.h
  perf/MANIFEST:include/linux/swab.h
  perf/MANIFEST:include/uapi/linux/swab.h
  perf/util/include/asm/byteorder.h:#include "../../../../include/uapi/linux/swab.h"

  this was resolved in 4.8 with:
  commit 7e3f36411342a54f1981fa97b43550b8406a3d69
  Author: Arnaldo Carvalho de Melo <acme@redhat.com>
  Date:   Mon Jul 18 17:42:16 2016 -0300

    perf tools: Remove tools/perf/util/include/asm/byteorder.h

    Not used anymore. This also stops include linux/swab.h directly
    from the kernel sources, remove that reference from the MANIFEST.

  and few more changes to make tools/include more complete and standalone:
  tools/include in 4.15:
  asm  asm-generic  linux  tools  trace  uapi

  tools/include in 4.4:
  asm  asm-generic  linux  tools

  but copying the include header even for kernels which don't really
  need it doesn't add big overhead, so just copy include to perf sources
  for all kernels.

(From OE-Core rev: 19fb2d11a8bb3c6dfdd5edc1b9155d642dc0f5e0)

(From OE-Core rev: 7950b1ed077eaecff1523221c297158aa54b7ecf)

(From OE-Core rev: c2fa80c4cfedd993d07b20db0315e91f9481d11c)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Hongxu Jia
42eadd3dea perf: make a copy of kernel source to perf workdir
Since perf contaminates linux shared workdir, it probably caused
kernel-devsrc compile failure at world build.
...
|0 blocks
|cpio: ./tools/perf/arch/arm/util/sedr7ORqk: Cannot stat:
No such file or directory
|0 blocks
...
cpio tried to find a file at ${S}/tools/perf and failed
if the input list is not valid.

Make a copy of kernel shared source directory into a perf workdir
could fix the issue.

Drop `Fix for rebuilding' which is obsolete

[YOCTO #10880]

(From OE-Core rev: 9b38c824961fc9dce51bda95c25dac91a69fc64f)

(From OE-Core rev: 1a39330bf79f3d36a1a0f6d34b421de53ff36405)

(From OE-Core rev: 6f9117c0bceeedbfce08647825edf86966457bfc)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Anuj Mittal
8b2dbbddc4 perf: enable support for libaudit
perf needs audit-python to be able to show syscall names and for
'perf trace' to work.

Enable dependency on audit-python if present in PACKAGECONFIG. It's
disabled by default since audit as of now is in meta-selinux.

Fixes [YOCTO #3343]
Fixes [YOCTO #3358]

(From OE-Core rev: c386abacae89a148e77ffa51630c7917e90406f9)

(From OE-Core rev: 5b7550a62fa0fa7892c28ae920ee243c223bf3c2)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
b33d89d5ea Binutils: Security fix for CVE-2018-7642
Affects: <= 2.30

(From OE-Core rev: a424ac771bfceed2cef4dad8c0fd698764bc62a6)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
bdb3981466 Binutils: Security fix for CVE-2018-7569
Affects: <= 2.30

(From OE-Core rev: b99d1f2212ea73ddafd3fbf9426b37a04d89b809)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
3552c38b32 Binutils: Security fix for CVE-2018-7568
Affects: <= 2.30

(From OE-Core rev: d407e48c7e925806e162bb91e9b14088acedb05c)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
1b709e6837 Binutils: Security fix for CVE-2018-7208
Affects: <= 2.30

(From OE-Core rev: fc5adfb0af0cae0071c0136068f37fd35529fc7f)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
5281adb885 Binutils: Security fix for CVE-2018-6759
Affects: <= 2.30

(From OE-Core rev: 7baa3e4c8e920caa09082f88e412687cc1590454)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
53df81889a Binutils: Security fix for CVE-2018-6323
Affected: <= 2.29.1

(From OE-Core rev: 52a93bb4c5b5128ff3fa8be84c41309cfeff8224)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
1b202d632b Binutils: Security fix for CVE-2018-13033
Affects: <= 2.30

(From OE-Core rev: 64afab325facc55f4a49247e4033b1d3c8b22b67)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
8eeacb689b Binutils: Security fix for CVE-2018-10535
Affects: <= 2.30

(From OE-Core rev: 5fc41ff3341074497a1359969baf880d8035826b)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
5a60b74887 Binutils: Security fix for CVE-2018-10534
Affects: <= 2.30

(From OE-Core rev: 7934bbc460009f52824e142273f2ecce957fc123)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
711e5e7b08 Binutils: Security fix for CVE-2018-10373
Affects: <= 2.30

(From OE-Core rev: bea11092ddf2e6778bd55af1f2044a9e9fa1383b)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
2d7d54a5c5 Binutils: Security fix for CVE-2018-10372
Affects: <= 2.30

(From OE-Core rev: 8d254fe04992aed29a2c8ecbf99e91d0167449ce)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
e82b9a5096 binutils: Security fix for CVE-2017-17123
Affects: <= 2.29.1

(From OE-Core rev: 520bc451e7727568ec7457ace7b1281493f9cbdc)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
e1a49c7e83 binutls: Security fix for CVE-2017-17125
Affects: <= 2.29.1

(From OE-Core rev: 7e5cf6ef776465101f18daf22f283c87423c7d20)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
e6fdc8959b binutls: Security fix for CVE-2017-17122
Affects: <= 2.29.1

(From OE-Core rev: 86c54c4770ce207575e29c589732c74e68d9ff3c)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
4e970e6409 Binutils: Security fix for CVE-2017-17121
Affects: <= 2.29.1

(From OE-Core rev: 942e7f65fd656f2cc526a3c99edcea60f341132c)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
ad4d04429a binutls: Security fix for CVE-2017-17080
Affects: <= 2.29.1

(From OE-Core rev: 238a0a40a7835226dd25134e88f830683f60dac3)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
1abb9cc58e binutls: Security fix for CVE-2017-16832
Affects: <= 2.29.1

(From OE-Core rev: ec8861a2f280a3210f9423fd1b687bca6340b8ca)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
d40d4bf86f binutls: Security fix for CVE-2017-16831
Affects: <= 2.29.1

(From OE-Core rev: ab9e8161a3b89914d8664175a684675bc99d6f21)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
7d51055f44 binutls: Security fix for CVE-2017-16830
Affects: <= 2.29.1

(From OE-Core rev: 29c6da2092599145e5a4f00ccc6029f31ec724da)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
2720b93220 binutls: Security fix for CVE-2017-16829
Affects: <= 2.29.1

(From OE-Core rev: 7dc47bc3f3d66aea3b8bbc2fb6fb9bbb7d2dc0a0)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
3a47233ad7 binutls: Security fix for CVE-2017-16828
Affects: <= 2.29.1

(From OE-Core rev: 98e5e27514a19d31038aec22408e27b84514c5b8)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
8073f5664b binutls: Security fix for CVE-2017-16827
Affects: <= 2.29.1

(From OE-Core rev: 9fa2d818018420f3c9afc30012267e6a46fe1d09)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
aa7d33713c binutls: Security fix for CVE-2017-16826
Affects: <= 2.29.1

(From OE-Core rev: acac226dd46a0e27da51db75197f57dd45254502)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
d85be1b736 binutls: Security fix for CVE-2017-15996
Affects: <= 2.29.1

(From OE-Core rev: ee5ad659a9f2ea1714e3ae51ca1948f165fb21d3)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
f0be43144f binutls: Security fix for CVE-2017-15939
affects: <= 2.29.1

(From OE-Core rev: dec0162e16040aa00c5fff3e5cfde1b488af3e55)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
e4c382ecc6 binutls: Security fix for CVE-2017-15225
Affects: <= 2.29.1

(From OE-Core rev: 885e991934e5e20ac69551e73da9d3219eb4c24e)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
09d31d0806 binutls: Security fix for CVE-2017-15025
Affects: <= 2.29.1

(From OE-Core rev: b3cc9eedf3a64d4c0914b2eaf204fe38a864d238)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
8011a1aed9 binutls: Security fix for CVE-2017-15024
Affects: <= 2.29.1

(From OE-Core rev: 349b3cfb39c76304e351481899de9f72e4f1295b)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
9e7dc232e7 binutls: Security fix for CVE-2017-15023
affects: <= 2.29.1

(From OE-Core rev: 755fd4e68af4cdafc482c02b7822cc06215da4fb)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
00a04d8d8b binutls: Security fix for CVE-2017-15022
Affected: <= 2.29.1

(From OE-Core rev: c19aa7eafd38639095b415efc16dba3777507d70)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
fb5416e874 binutls: Security fix for CVE-2017-15021
Affects: <= 2.29.1

(From OE-Core rev: 65411acb41a2461aab2904fea2d348d2a06e48e0)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
bc0ca9fb89 binutils: Security fix for CVE-2017-14940
Affects: <= 2.29.1

(From OE-Core rev: 59deda9b709640030bc0199e34e39fa07cfcca69)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
bc5c5f19b6 binutls: Security fix for CVE-2017-14939
Affects: <= 2.29.1

(From OE-Core rev: 03fb0028d76d18bac48b333f743ce27e21324d59)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
b38088da6a binutls: Security fix for CVE-2017-14938
Affects: <= 2.29.1

(From OE-Core rev: 45de3690367c8e0adf443a2f2630ecf8791789d6)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
6e01f78994 binutls: Security fix CVE-2017-14934
Affects: <= 2.29.1

(From OE-Core rev: b7715d4782cf956c198eaa6b43a6bf11fe8ece7c)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:45 +01:00
Armin Kuster
9be7b4f3db binutls: Security fix CVE-2017-14933
Affects: <= 2.29.1

(From OE-Core rev: 16cdbc7504cc14547bb99ed742484ae9e658ec6e)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:44 +01:00
Armin Kuster
4ad8bd4a60 binutls: Security fix CVE-2017-14932
(From OE-Core rev: 56d6acf145cc7550377588ca3c654d6f86143dfe)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:44 +01:00
Armin Kuster
701eecc7d3 binutils: Secuirty fix CVE-2017-14930
affects <= 2.29.1

(From OE-Core rev: 47c3add5dcc7a29d4647da2c0ad86d756323aa8f)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:44 +01:00
Armin Kuster
1ce31b2a81 binutils: Security fix CVE-2017-12967
affects: <= 2.29.1

[v2]
Fix patch header typo
Rename 2017-12967 to 2017-17124

(From OE-Core rev: 732f051ff9b0103774d670d8c4971315cbb83a68)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:44 +01:00
Armin Kuster
407c64a876 binutils: Update to tip of 2.29 branch
mostly bug fixes

(From OE-Core rev: dc9b9d2e1fc8353d187a14deee576fcda52442c2)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:44 +01:00
Armin Kuster
8cd24ce202 linux-yocto-tiny/4.9: update to 4.9.113
(From OE-Core rev: 5151c48322739c3176229e999076fa273627ff7e)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:44 +01:00
Armin Kuster
c52af8e03b linux-yocto-rt/4.9: update to 4.9.113
(From OE-Core rev: b8f70fa45322acc63c8fafa378cdc4cc62d2720d)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:44 +01:00
Armin Kuster
041c5de9cb linux-yocto/4.9: update to 4.9.113
(From OE-Core rev: 209a17ddd45dd9958bc699316555ae8a4f51a67e)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:44 +01:00
Armin Kuster
f94714019c linux-stable-tiny/4.4: update to 4.4.141
(From OE-Core rev: f6814bf9e64c73b4494aa73099563d53471f1711)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:44 +01:00
Armin Kuster
10ca912018 linux-yocto-rt/4.4: update to 4.4.141
(From OE-Core rev: 925c53489d7ad1ed177a71ac87915eb2dcfe1e77)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:44 +01:00
Armin Kuster
c59c390ae3 linux-yocto/4.4: update to 4.4.141
(From OE-Core rev: 9a61367b48f8175be91103779bfd22f301d109f6)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:44 +01:00
Richard Purdie
47d29e4229 yocto-uninative: Upgrade to version 2.2
This version adds nativesdk-libnss-nis to resolve glibc symbol issues

We need this to avoid symbol mismatch issues for binaries that use this
on newer systems which then won't run on older ones where it isn't present.

(From OE-Core rev: 98c7ab9cf32765d604c35dc69bc7bd90e94fc8f3)

(From OE-Core rev: 026408c9d90e6241ce1b3d4cadefc48b7aba1734)

(From OE-Core rev: 8b861d3c362615011a7004d902193587340a9f8c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:44 +01:00
Richard Purdie
d1cebbbb92 yocto-uninative: Update to version 2.1
This fixes issues with fontforge-native.

(From OE-Core rev: cec85a6fcadc24fd266fa34631cb095e0a773c1a)

(From OE-Core rev: 462e20dddeb4da278eebe8a2f870f75709dfbe77)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:44 +01:00
Ovidiu Panait
e6200912a8 lsof: Update SRC_URI
lsof 4.89 archive has been moved to OLD directory and turned into tar.gz,
so update SRC_URI and checksums.

(From OE-Core rev: 12482854ed9012f309fc8dfa28169f84003f9e63)

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:44 +01:00
Bruce Ashfield
51b315fc97 make-mod-scripts: add build requirements for external modules
Newer kernels (4.14/v4.15+) have dependencies for the build of
modules (and hence external modules). Without these dependencies
explicitly in the build chain, you can end up with build failures like:

  work-shared/qemux86/kernel-source/scripts/extract-cert.c:21:25: fatal
  error: openssl/bio.h: No such file or directory
  |  #include <openssl/bio.h>
  |                          ^
  | compilation terminated.
  | make[2]: *** [scripts/extract-cert] Error 1
  | make[1]: *** [scripts] Error 2

To ensure that these headers are in place, and that the scripts use
our build environment flags, we add a dependency on openssl-native
and use oe_make to invoke the build.

Older kernels have no issues with the extra dependency, so there's no
need to make this conditional.

(From OE-Core rev: 916cb2029d3c97bf12ebf03832b9ba980451dbcf)

Fixes [YOCTO #12860]

(From OE-Core rev: d2aa88a6a92985f21414fceea2dc0facbf7f8779)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Tweaked to have changes in module*.bbclass instead from where
make-mod-scripts was split in sumo]
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:44 +01:00
Richard Purdie
9e83976054 make-mod-scripts/kernel-devsrc: Fix objtool issues
Kernels which use tools/objtool can now fail when building external modules
due to objtool being missing, the generated files can also cause problems
for kernel-devsrc.

Ensure objtool is generated in make-mod-scripts by also calling
"make prepare".

For devsrc, delete the generated binaries since they'd be native
binaries and unsuitable for the target.

The oeqa kernel module tests also need to have the additional "make prepare"
step added.

(From OE-Core rev: 52fd2993784b4218f5df4f343e7da45d964df305)

Fixes [YOCTO #12860]

(From OE-Core rev: 49b208fc7b3d52826ba57a86ed52bc30e181ff78)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Tweaked to add "make prepare" to module-base.bbclass instead of
make-mod-scripts.bb]
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:44 +01:00
Dogukan Ergun
53d5f01d2d wic: if we can't get from ioctl, try from os.stat()
Under some conditions, ioctl FIGETBSZ can't return real value.
We can try to use fallback via os.stat() to get block size.

Source of patch:
17365f4fe9

(From OE-Core rev: d8f7cf2d38934c248be91101236f7537d0d31ea7)

(From OE-Core rev: 4f528a93352c6301d57a9aaeb082d0cc313d91c3)

Signed-off-by: Dogukan Ergun <dogukan.ergun@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:22:44 +01:00
Liwei Song
9ed1178c87 linux-firmware: package rtl8168 firmware
Add package for rtl8168 firmware which is required by Realtek
Ethernet Controller.

(From OE-Core rev: e5315d5d820cb1b164c75a0cab3804f6c69b5ba9)

(From OE-Core rev: 9910484a101279060cd0c9bc3e8b8af8700ba255)

(From OE-Core rev: 931a52e8698f684ccbb26ddec18764ad9d9a3e8f)

Signed-off-by: Liwei Song <liwei.song@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:54:56 +01:00
Otavio Salvador
8813bd55ee linux-firmware: upgrade to 8fc2d4e5 revision
8fc2d4e Merge git://git.marvell.com/mwifiex-firmware
e1abab6 linux-firmware: update Marvell USB8997 firmware image to add WPA2 vulnerability fix
c38c231 linux-firmware: update Marvell SD8897-B0 firmware image to add WPA2 vulnerability fix
0686ec7 Merge branch 'firmware-update' of https://github.com/intel/opa-firmware
bb7f773 Update Intel OPA hfi1 firmware
397a604 qed: Add firmware 8.33.12.0
40d4117 linux-firmware: Add firmware file for Intel Bluetooth,9560
bf3934f linux-firmware: Add firmware file for Intel Bluetooth,9260
f865934 linux-firmware: Update firmware file for Intel Bluetooth,8265
7dab503 Merge branch 'for-upstream' of git://git.chelsio.net/pub/git/linux-firmware
0caed67 cxgb4: update firmware to revision 1.19.1.0
0783fb9 nfp: add symlink for mixed mode Agilio CX 2x25GbE cards
380957e nfp: update Agilio SmartNIC flower firmware to rev 5701
b562d2f linux-firmware: update wil6210 firmware to 5.2.0.18
c1aa76a linux-firmware: rsi: update firmware images for Redpine 9113 chipset
1621614 Merge tag 'iwlwifi-fw-2018-04-06' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware
50c1323 iwlwifi: update firmwares for 3160, 3168 and 7265
c711ea5 iwlwifi: add some new FW versions and update older ones
8c1e439 amdgpu: update vce firmware for Polaris
31accdf linux-firmware: Add firmware file for Intel Bluetooth,9560
89139e8 linux-firmware: Add firmware file for Intel Bluetooth,9260
58cdb52 linux-firmware: Update firmware file for Intel Bluetooth,8265
9cb49be linux-firmware: Update firmware patch for Intel Bluetooth 8260
a3be6d4 Merge https://github.com/Netronome/linux-firmware into netro

License-Update: new files and version update. Same terms.
(From OE-Core rev: 8c0ee2072d493ecd09284c27fc8d627e3e6c5ae8)

(From OE-Core rev: 1325518f8f2dafc09acd1bef5f93aa3550063306)

(From OE-Core rev: 1690043f681ca75a76619eb6b02e5e2610a9051a)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:54:56 +01:00
Otavio Salvador
676de647d8 linux-firmware: upgrade to 4c0bf11 revision
License-Update: new releases and copyright years updated.
(From OE-Core rev: cf757ca67325415a26555c67a098f168453339a4)

(From OE-Core rev: 8f5ca5903bb76fb08f9962bbbdf50620952c6c92)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:54:56 +01:00
Nicolas Dechesne
3147a5c3e8 linux-firmware: fix typo
(From OE-Core rev: 6dddf0151d486c474cbf522ced8c5ad96ae290fd)

(From OE-Core rev: f4efd16147ae5edf39935cec6a70263e878d984b)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:54:56 +01:00
Liwei Song
1ad9505fdc linux-firmware: package all ibt-17-x-x.sfi/ddc firmware
All ibt-17-x-x.sfi/ddc firmware are use to support Intel Bluetooth 9560
they are needed in different version of Bluetooth driver since
4.14 kernel version.

commit b77bb7afe513 ("linux-firmware: package ibt-17-16-1 firmware")
only package one of the ibt-17 series firmware.

As the Bluetooth driver's update, to avoid packaging the ibt-17 firmware
one by one, install them in one package ibt-17.

(From OE-Core rev: f6110c0213064c324397476f3eae3851328790dd)

(From OE-Core rev: 12d2acce1f3266170707e917133ff549157a8150)

Signed-off-by: Liwei Song <liwei.song@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:54:56 +01:00
Liwei Song
22d02d2bb7 linux-firmware: package ibt-17-16-1 firmware
Package ibt-17-16-1 firmware for Bluetooth device 9460/9560

(From OE-Core rev: b77bb7afe5131d9157be9dfebda4d4185a98a820)

(From OE-Core rev: cc27af68451655c3844db4f25cac93331a6a4770)

Signed-off-by: Liwei Song <liwei.song@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:54:56 +01:00
Liwei Song
265f1cfcaf linux-firmware: package iwlwifi-9000 series fimware
Add package for 9000 seires Intel wireless firmware.

(From OE-Core rev: 7e6891e71d8da85371909925bbcb6baf816f3289)

(From OE-Core rev: cfa8efa626732d91b385d036005e0b6eb7e3f3de)

Signed-off-by: Liwei Song <liwei.song@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:54:56 +01:00
Nicolas Dechesne
6d811b491c linux-firmware: add packaging for QCOM firmware for APQ8016 and APQ8096
Firmware files for VPU and GPU found on various Qualcomm based devices, such as
Dragonboard 410c and/or Dragonboard 820c.

* venus-1.8 and adreno-a3xx firmware are VPU and GPU for Qualcomm APQ8016 SoC
* venus-4.2 and adreno-a530 firmware are VPU and GPU for Qualcomm APQ8096 SoC

(From OE-Core rev: 687d71982a88f1db91316d646ecaeaf07ab88e7a)

(From OE-Core rev: ef5923466435a6e73076f7eb6b38b74ced4173ec)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:54:56 +01:00
Otavio Salvador
1b0984c638 linux-firmware: Bump revision to 65b1c68c
The bump includes following changes:

65b1c68 wl18xx: update firmware file 8.9.0.0.76
8650396 wl127x/wl128x: update firmwares
2eefafb rtlwifi: rtl8723de: Add firmware for new driver/device
4a77cab linux-firmware: DMC firmware for cannonlake v1.07
2567e09 nvidia: add GP108 signed firmware
2451bb2 linux-firmware: liquidio: add v1.7.0 vswitch firmware
7f93c9d brcm: add CYW4373 firmwares and Cypress license file
fdee922 linux-firmware: Update firmware patch for Intel Bluetooth 8260
9a843a1 linux-firmware: Update firmware file for Intel Bluetooth 8265
97339b3 linux-firmware: Add firmware file for Intel Bluetooth 9260
db9964e linux-firmware: Add firmware file for Intel Bluetooth 9560
e4252cf Revert commits a42f895, c113d33, 041aff8, 73d13b5
a42f895 linux-firmware: Update firmware patch for Intel Bluetooth 8260
c113d33 linux-firmware: Update firmware file for Intel Bluetooth 8265
041aff8 linux-firmware: Add firmware file for Intel Bluetooth 9260
73d13b5 linux-firmware: Add firmware file for Intel Bluetooth 9560
30946b9 amdgpu: add firmware for Raven
71a4800 amdgpu: update vega10 vce firmware
89c6211 linux-firmware: intel: Add Cannonlake audio firmware
b39260f nfp: add firmware for tc-flower
c752e24 nfp: change firmware directory layout
00a92a3 nfp: update firmware for Agilio CX SmartNICs
02d857e linux-firmware: DMC firmware for skylake v1.27
17e6288 brcm: update firmware for bcm4358
1841cec brcm: update firmware for bcm4356
b3f4e74 brcm: update firmware for bcm4354
cd86989 brcm: introduce firmware for bcm43430 revision 0
5ee46c2 brcm: update firmware for bcm4339
8e864c2 Mellanox: Add new mlxsw_spectrum firmware 13.1530.152
fd45000 WHENCE: Add missing entry for mlxsw_spectrum firmware
7f9bbc7 WHENCE: Fix typo in entry for iwlwifi-8265-34.ucode
284de20 s2255drv: f2255usb: firmware version 1.2.8
7c705a4 amdgpu: add new CP firmware for polaris chips
5582ca4 qed: Add firmware 8.33.1.0
e721933 qcom: add venus firmware files for v4.2
f36a8e2 qcom: add firmware files for Adreno a530
85313b4 iwlwifi: add firmware version 34 for new 9000 series
6c161c5 linux-firmware: liquidio: update firmware to v1.7.0
b964279 linux-firmware: intel: Update Geminilake audio firmware
c4276b6 iwlwifi: add firmware version 33 for new 9000 series
5a05332 iwlwifi: add new firmware version 34 for 8000C and 8265
1a5fd94 iwlwifi: update firmwares for 3160, 3168, 7260, 7265 and 7265D
796c912 iwlwifi: update firmwares for 3160, 3168, 7265D, 8000C and 8265
1156e62 linux-firmware: DMC firmware for kabylake v1.04
db3e185 linux-firmware: update Marvell PCIe-USB8997 firmware image
de81715 linux-firmware: GuC firmware for kabylake v9.39
434e712 linux-firmware: GuC firmware for Broxton v9.29
0aebd9f linux-firmware: GuC firmware for Skylake v9.33
de5b4c2 linux-firmware/i915: Add Cannonlake DMC version 1.06
8e7c787 linux-firmware/i915: Add Geminilake DMC version 1.04
e0494e9 linux-firmware: update Marvell PCIe-USB8997 firmware image
11db131 linux-firmware: update Marvell PCIe-USB8897-A2 firmware image

Included in those changes, two license checksums has been changed:

 - LICENCE.Netronome: minimal change dropping a word in license name;
 - WHENCE: adjustments due the new firmware versions;

(From OE-Core rev: 4facc572380daf5b7e6294b388a657fa0a44a6f2)

(From OE-Core rev: 48779f278687a5f6af4b75d01595b8a125b2ba96)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:54:56 +01:00
Hannu Lounento
9dea0ce980 systemd: remove the group 'lock'
The upstream commit 61f32bff6130a44d077886d38cff89ad161bf177 included in
the release v229 removed the use of the group:

    commit 61f32bff6130a44d077886d38cff89ad161bf177
    Author: Martin Pitt <martin.pitt@ubuntu.com>
    Date:   Mon Feb 1 12:09:34 2016 +0100

        tmpfiles: drop /run/lock/lockdev

        Hardly any software uses that any more, and better locking mechanisms like
        flock() have been available for many years.

        Also drop the corresponding "lock" group from sysusers.d/basic.conf.in, as
        nothing else is using this.

    [...]
    diff --git a/sysusers.d/basic.conf.in b/sysusers.d/basic.conf.in
    index 823d6cb20..b2dc5ebd4 100644
    --- a/sysusers.d/basic.conf.in
    +++ b/sysusers.d/basic.conf.in
    @@ -19,7 +19,6 @@ g wheel   -     -            -

     # Access to certain kernel and userspace facilities
     g kmem    -     -            -
    -g lock    -     -            -
     g tty     @TTY_GID@     -            -
     g utmp    -     -            -
    [...]

The upstream documentation doc/UIDS-GIDS.md says that basic.conf.in is "the
precise list of the currently defined groups":

    ## Special `systemd` GIDs

    `systemd` defines no special UIDs beyond what Linux already defines (see
    above). However, it does define some special group/GID assignments, which are
    primarily used for `systemd-udevd`'s device management. The precise list of the
    currently defined groups is found in this `sysusers.d` snippet:
    [basic.conf](https://raw.githubusercontent.com/systemd/systemd/master/sysusers.d/basic.conf.in)

    It's strongly recommended that downstream distributions include these groups in
    their default group databases.

Removing the creation of the group also avoids the need to define a GID
for it when using static ids.

(From OE-Core rev: da3659155cd1825a4a8d3d7c5288b4273714de15)

(From OE-Core rev: 1776ab75b8e5f00e69b99565af4cfeef27bc95d4)

Signed-off-by: Hannu Lounento <hannu.lounento@vaisala.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:54:56 +01:00
Ross Burton
aff05697e1 minicom: change SRC_URI to use Debian mirrors
Alioth is dead and the minicom project on Salsa (the replacement for Alioth)
doesn't actually have any files in, so just use the Debian mirror instead.

(From OE-Core rev: b0338efcdabeec79c568c74b6888d7d523e8e9dc)

(From OE-Core rev: e92ee196e6d305bc443567241c6d07e79e74a2eb)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:54:56 +01:00
Ross Burton
46e66e6902 mirrors: add Debian snapshot mirror for 2018
Add a Debian snapshot mirror from 2018 (specifically, 10th March, the date 9.4
was released) to DEBIAN_MIRRORS.

(From OE-Core rev: f3f394913b4e4a7c601ad1158faaf8b9d493e1c7)

(From OE-Core rev: 8756cf22afb30eeb7a633bbe0cdd8187a2f4a3f5)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:54:56 +01:00
Ross Burton
97a93ec146 shadow: update SRC_URI now Alioth is down
Alioth is dead so we can't use it for SRC_URI anymore.  There is a shadow
repository on GitHub which is the new upstream, but for some reason it is
missing the 4.2.1 tag and tarball that we use.  Also 4.2.1 was never uploaded
into Debian itself, so we can't use their mirror network either.

For now point SRC_URI at the Yocto Project source mirror and set
UPSTREAM_CHECK_URI so that we get nagged to upgrade to 4.6.

(From OE-Core rev: b3e246fef166030f327b5a852718ea907ada1759)

(From OE-Core rev: 6de1c2eca77f73176aa0eaca3d816aa3a262ff6d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:54:56 +01:00
Ross Burton
fc34a24e48 chrpath: Alioth is dead, use DEBIAN_MIRROR
The previous host of chrpath, Alioth, is dead.  chrpath hasn't yet moved to
Salsa, so download the tarball from the Debian mirrors.

(From OE-Core rev: a8a2c5ec891286a1e7fd5ebdd33565f9ae3965c2)

(From OE-Core rev: 8310ff1730a1d814f63de5e313605b0094c7931c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:54:55 +01:00
Armin Kuster
c2e819760f popt: update SRC_URI
It appears the rpm5.org has been down for some time, switch to fossies

WARNING: popt-native-1.16-r3 do_fetch: Failed to fetch URL http://rpm5.org/files/popt/popt-1.16.tar.gz, attempting MIRRORS if available

(From OE-Core rev: 347ee336dcc94e6fa4e4788117013615b90abd70)

(From OE-Core rev: 9e3bf0ce4ebb885ca0ede0e636d80e032c29e744)

(From OE-Core rev: 3eb66e250e9dd38db0b1d557a0fda3c33e43ef04)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 50804c0663)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:54:55 +01:00
André Draszik
80ae0df05d common-licenses: Add BSD-1-Clause
Some projects are starting to use it.
  https://spdx.org/licenses//BSD-1-Clause.html

(From OE-Core rev: 77f692ecb39d880b2cb420850a31534860eb2cc5)

(From OE-Core rev: 676a98455a613ab8d491d5c3e0bf317b2707d5fa)

Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 77f692ecb39d880b2cb420850a31534860eb2cc5)
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:54:55 +01:00
Anuj Mittal
7d9730fa94 libxml2: fix makefile for ptests
Changes to Makefile in latest version mean when "make -k runtests" is executed,
it leads to errors like:

| make: *** No rule to make target 'runtest.c', needed by 'runtest.o'.
| make: *** No rule to make target 'SAX.c', needed by 'SAX.lo'.
| make: *** No rule to make target 'entities.c', needed by 'entities.lo'.
| make: *** No rule to make target 'encoding.c', needed by 'encoding.lo'.

Make sure that we don't try to check and compile the tests again on the target.

(From OE-Core rev: 5cf92ca436e1a1ba60fec8b30b6cb3cfd4842bc8)

(From OE-Core rev: 833164ff0d0a767f82291e3d8eacc4b4832470a4)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:54:55 +01:00
Richard Purdie
c184cb1ad4 oeqa/selftest/systemd_boot: Never use cleansstate in QA tests without special handling of SSTATE_DIR
Removing things straight from the live sstate directory is prone to issues
since other builds may be relying on the artefact presence.

Also, cleansstate is very slow on the huge sstate that the autobuilder has
on slow NFS drives. This may well be causing long buildtimes in oe-selftest
as the time taken to remove the artefact by be long.

(From meta-yocto rev: c4efa89f77e4d69826a9bbba47393ec737547469)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-15 16:19:15 +01:00
Peter Kjellerstedt
9589076fed bitbake: fetch2/__init__: Disable pseudo in runfetchcmd()
If a fetcher, e.g., git, is run when pseudo is active it will think it
is running as root. If it in turn uses ssh (as git does), ssh too will
think it is running as root. This will cause it to try to read root's
ssh configuration from /root/.ssh which will fail. If ssh then needs to
ask for credentials it will hang indefinitely as there is nowhere for it
to ask the user for them (and even if there was it would not access the
correct private keys).

The solution to the above is to temporarily disable pseudo while
executing any fetcher commands. There should be no reason for them to be
executed under pseudo anyway so this should not be a problem.

RP Ammendum:

We finally did get more information about how to reproduce this problem,
something needs to trigger bb.fetch2.get_srcrev() in a pseudo context,
for example when AUTOREV is in use or the recipe doesn't have a defined
SRCREV. That SRC_URI needs to be using protocol=ssh. This would trigger
an ls-remote of the remote repo and if that happens under pseudo, the
wrong ssh credentials may be attempted which can hang.

[YOCTO #12464]

(Bitbake rev: d0fb46eead1f23356d8c3bd53a85047521ef29a7)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:56:01 +01:00
Tzu Hsiang Lin
63a68b093e bitbake: fetch2: fix import error for Python 3.6.5
When running bitbake command with Python 3.6.5 always result in
import error causing by the change of distutils module.
This patch replaces the method to search executable in PATH by
"/usr/bin/env <command>".

(Bitbake rev: e4fcf4d9cef6816afac9eebb8d57c82cd1ceb293)

Signed-off-by: Tzu Hsiang Lin <t9360341@ntut.org.tw>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:44:00 +01:00
Juro Bystricky
f4372765f3 distcc-doc_3.2: improve reproducibility
Remove timestamps from metadata of gzip compressed files.

(From OE-Core rev: 8d009dd8c3c56601905a156cb06f339dd4a298e6)

(From OE-Core rev: 6c20c550a82aed9e8fa312f09888c8f16250159c)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:52 +01:00
Alexander Kanavin
ade1061c62 ifupdown: correct the repository location
The old repo is gone.

(From OE-Core rev: f171137579bf3141032d309fa433c14ac9141e43)

(From OE-Core rev: a6e472565c5d5e9e1343278626b3bdd4d5c6fc04)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:52 +01:00
Kevin Carli
748ff8cf64 tzdata: fix a typo.
(From OE-Core rev: 6e3ea2f17bcd9d942f838ba972338d92e95f65d4)

(From OE-Core rev: ab24caaccd64e0d6b237b8a1d0b221286671eef9)

Signed-off-by: Kevin Carli <k.carli@overkiz.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:52 +01:00
Hongxu Jia
fe958e8864 perl: fix CVE-2017-12837
https://perl5.git.perl.org/perl.git/commitdiff/96c83ed78aeea1a0496dd2b2d935869a822dc8a5

(From OE-Core rev: bd53256e165f5bb59a28d77a466d71fce39080fa)

(From OE-Core rev: d3a785ea11caffe2537fd83f2b9d13f1b64adab9)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:52 +01:00
Bruce Ashfield
66e1c58a5b linux-yoct/4.12: update to v4.12.24
Updating to include Paul Gortmaker's latest round of stable updates, which
comprise the following commits:

   dc2f71a08d7a Linux 4.12.24
   4cab262afa69 iio: adc: ti-ads1015: add 10% to conversion wait time
   89f573e6f136 tools include: Do not use poison with C++
   d4f418739d68 kprobes/x86: Disable preemption in ftrace-based jprobes
   28861253362b perf test attr: Fix ignored test case result
   12c60baac963 staging: fsl-mc/dpio: Fix incorrect comparison
   43e1cab01765 serial: imx: Update cached mctrl value when changing RTS
   6122e955f082 usbip: tools: Install all headers needed for libusbip development
   c1fce3e6296c serial: sh-sci: suppress warning for ports without dma channels
   444cfc461e20 sysrq : fix Show Regs call trace on ARM
   0040e82b1a65 usb: xhci: Return error when host is dead in xhci_disable_slot()
   e1667a3749da staging: fsl-dpaa2/eth: Account for Rx FD buffers on error path
   7e22cbc6bd55 usb: mtu3: fix error return code in ssusb_gadget_init()
   c528464afcea EDAC, sb_edac: Fix missing break in switch
   e207a0c6a285 clocksource/drivers/arm_arch_timer: Validate CNTFRQ after enabling frame
   c3c5783f9303 serial: 8250: Preserve DLD[7:4] for PORT_XR17V35X
   ca7b446eff2f PCI: dra7xx: Create functional dependency between PCIe and PHY
   7897f75fc207 usb: phy: tahvo: fix error handling in tahvo_usb_probe()
   c240911c41c3 mmc: sdhci-msm: fix issue with power irq
   97227123b5f0 mmc: tmio: check mmc_regulator_get_supply return value
   05ce425fa841 spi: spi-axi: fix potential use-after-free after deregistration
   42f90afc67e4 spi: sh-msiof: Fix DMA transfer size check
   c652d0d523bf staging: rtl8188eu: avoid a null dereference on pmlmepriv
   3dc08560ab63 serial: 8250_fintek: Fix rs485 disablement on invalid ioctl()
   d57c00699295 m68k: fix ColdFire node shift size calculation
   df74b0c1e0b4 staging: greybus: loopback: Fix iteration count on async path
   96be1d656724 x86/entry/64: Don't use IST entry for #BP stack (part #2)
   8e3f9a001776 selftests/x86/ldt_get: Add a few additional tests for limits
   0d0517d16bc5 s390/pci: do not require AIS facility
   778bf06a0661 PM / Domains: Fix genpd to deal with drivers returning 1 from ->prepare()
   bd4084ce13d2 s390: vfio-ccw: Do not attempt to free no-op, test and tic cda.
   fd6fe520a496 ima: fix hash algorithm initialization
   83cd72f27843 usb: host: fix incorrect updating of offset
   4ab295bc9cdf USB: usbfs: Filter flags passed in from user space
   d8ce9fecf049 USB: Fix off by one in type-specific length check of BOS SSP capability
   dc9843bd9e72 USB: core: Add type-specific length check of BOS descriptors
   ab95f86f0fac usb: xhci: fix panic in xhci_free_virt_devices_depth_first
   c1b551b8718a xhci: Don't show incorrect WARN message about events for empty rings
   8412154c096c USB: ulpi: fix bus-node lookup
   10d2d61bff44 usb: hub: Cycle HUB power when initialization fails
   da44857edd20 powerpc/kprobes: Fix call trace due to incorrect preempt count
   67482fcb1f0a powerpc/kprobes: Disable preemption before invoking probe handler for optprobes
   6f745a984365 powerpc/jprobes: Disable preemption when triggered through ftrace
   3fefceeaca8e USB: serial: usb_debug: add new USB device id
   9c971e7d3a9f USB: serial: option: add Quectel BG96 id
   cc01c484eee9 serial: 8250_pci: Add Amazon PCI serial device ID
   d16393b7a9d8 usb: quirks: Add no-lpm quirk for KY-688 USB 3.1 Type-C Hub
   7a0ac9cc347c uas: Always apply US_FL_NO_ATA_1X quirk to Seagate devices
   52c2b20403f0 s390/runtime instrumentation: simplify task exit handling
   04dd38b88979 drm/fsl-dcu: enable IRQ before drm_atomic_helper_resume()
   f363e7cdb4f6 drm/fsl-dcu: avoid disabling pixel clock twice on suspend
   2845e7d136c8 drm/i915: Prevent zero length "index" write
   79413d6f2f6f drm/i915: Don't try indexed reads to alternate slave addresses
   f5cc8d6842e6 drm/i915/gvt: Correct ADDR_4K/2M/1G_MASK definition
   1fab446c5b5a drm/i915: Fix false-positive assert_rpm_wakelock_held in i915_pmic_bus_access_notifier v2
   708262ebbebc md: forbid a RAID5 from having both a bitmap and a journal.
   40219fc4a45b e1000e: fix the use of magic numbers for buffer overrun issue
   9bbd7fc437e0 include/linux/compiler-clang.h: handle randomizable anonymous structs
   13782a203fb8 drm/amd/pp: fix typecast error in powerplay.
   dd1ab1b7a09e drm/ttm: once more fix ttm_buffer_object_transfer
   1e1df0b0eb71 drm/hisilicon: Ensure LDI regs are properly configured.
   e10ca648a294 drm/panel: simple: Add missing panel_simple_unprepare() calls
   28fb6325953c drm/radeon: fix atombios on big endian
   0f7ff143e866 drm/tilcdc: Precalculate total frametime in tilcdc_crtc_set_mode()
   00debaff36fb drm/amdgpu: Remove check which is not valid for certain VBIOS
   53543b5a5062 drm/amdgpu: Properly allocate VM invalidate eng v2
   6095ee5e76ed drm/amdgpu: correct reference clock value on vega10
   8544b664f20e Revert "drm/radeon: dont switch vt on suspend"
   3b28b8cd6364 nvme-pci: add quirk for delay before CHK RDY for WDC SN200
   2c1ae94e88ee hwmon: (jc42) optionally try to disable the SMBUS timeout
   8fcaaeed325c bcache: recover data from backing when data is clean
   027fe49240fa bcache: only permit to recovery read error when cache device is clean
   3746f4374ee2 bcache: Fix building error on MIPS
   72ea117f664e cxl: Check if vphb exists before iterating over AFU devices
   8ee52dd3b01a i2c: i801: Fix Failed to allocate irq -2147483648 error
   ab7ae0720406 eeprom: at24: check at24_read/write arguments
   1025c12d637b eeprom: at24: correctly set the size for at24mac402
   32aba2ddc564 eeprom: at24: fix reading from 24MAC402/24MAC602
   ec5216d0e845 mmc: core: prepend 0x to OCR entry in sysfs
   a64429e1d089 mmc: core: prepend 0x to pre_eol_info entry in sysfs
   32f6d6221e55 mmc: core: Do not leave the block driver in a suspended state
   fa455ca7acc6 arm64: module-plts: factor out PLT generation code for ftrace
   d9c2c353dc61 s390: revert ELF_ET_DYN_BASE base changes
   5c10828c07be lockd: lost rollback of set_grace_period() in lockd_down_net()
   91ed144855d5 crypto: skcipher - Fix skcipher_walk_aead_common
   0ff5af74c047 nfsd: fix panic in posix_unblock_lock called from nfs4_laundromat
   b187299249a2 nfsd: Fix another OPEN stateid race
   2e36e8a92541 nfsd: Fix stateid races between OPEN and CLOSE
   237c8c16013d btrfs: clear space cache inode generation always
   e6eedfd1ca3f mm/hugetlb: fix NULL-pointer dereference on 5-level paging machine
   b19cd2bae194 autofs: revert "autofs: take more care to not update last_used on path walk"
   9c0369beda80 device-dax: implement ->split() to catch invalid munmap attempts
   0d73cfed1391 platform/x86: hp-wmi: Fix tablet mode detection for convertibles

(From OE-Core rev: 5f5603c33368d7b0143aeb77a95bed90bb92cb51)

(From OE-Core rev: e6d735e7101ce243f238585e31c6f4b04e1389b0)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:52 +01:00
Bruce Ashfield
a596f4f2cd linux-yocto/4.12: update to v4.12.23
Integrating the -stable updates from Paul Gortmake that comprise the following
commits:

   6e83f40c507e Linux 4.12.23
   55e376304f1b e1000e: fix buffer overrun while the I219 is processing DMA transactions
   3882bb678dd8 e1000e: Fix return value test
   167170375055 e1000e: Fix error path in link detection
   47722947f954 ARM64: dts: meson-gxl: Add alternate ARM Trusted Firmware reserved memory zone
   1dbaaa42b464 media: v4l2-ctrl: Fix flags field on Control events
   c7c9d8c465d7 [media] cx231xx-cards: fix NULL-deref on missing association descriptor
   6ee1ead888a3 media: rc: check for integer overflow
   6f70063599b3 media: Don't do DMA on stack for firmware upload in the AS102 driver
   ef4c54828c1d powerpc/64s/hash: Allow MAP_FIXED allocations to cross 128TB boundary
   d308f45eb9e7 powerpc/64s/hash: Fix fork() with 512TB process address space
   61c9dab21d03 powerpc/64s/hash: Fix 128TB-512TB virtual address boundary case allocation
   40744bdf965e powerpc/64s/hash: Fix 512T hint detection to use >= 128T
   c5866bd94f03 powerpc/64s/radix: Fix 128TB-512TB virtual address boundary case allocation
   49e9f537eb43 powerpc/signal: Properly handle return value from uprobe_deny_signal()
   fb991189ca1f parisc: Fix validity check of pointer size argument in new CAS implementation
   ae519d5e90b9 ixgbe: Fix skb list corruption on Power systems
   2a827971bc99 fm10k: Use smp_rmb rather than read_barrier_depends
   b1222f423f70 i40evf: Use smp_rmb rather than read_barrier_depends
   61d3820d1146 ixgbevf: Use smp_rmb rather than read_barrier_depends
   8c40cc266d42 igbvf: Use smp_rmb rather than read_barrier_depends
   d05a14e4483e igb: Use smp_rmb rather than read_barrier_depends
   9062b3d8fadd i40e: Use smp_rmb rather than read_barrier_depends
   bb0ddf274e82 spi-nor: intel-spi: Fix broken software sequencing codes
   11604df811a9 IB/srp: Avoid that a cable pull can trigger a kernel crash
   7a2f561b9470 IB/hfi1: Fix incorrect available receive user context count
   305382ae2297 IB/cm: Fix memory corruption in handling CM request
   9792edc692f1 IB/CM: Create appropriate path records when handling CM request
   0624d71dcd6f IB/srpt: Do not accept invalid initiator port names
   ff4035fcfb4d svcrdma: Preserve CB send buffer across retransmits
   f18fd397f0c1 libnvdimm, namespace: make 'resource' attribute only readable by root
   91d9aa084602 libnvdimm, region : make 'resource' attribute only readable by root
   ea9427658840 libnvdimm, namespace: fix label initialization to use valid seq numbers
   c0bcae085da8 libnvdimm, pfn: make 'resource' attribute only readable by root
   aa91e16e2756 libnvdimm, dimm: clear 'locked' status on successful DIMM enable
   eca24c2a944d clk: ti: dra7-atl-clock: fix child-node lookups
   104ab8491706 SUNRPC: Fix tracepoint storage issues with svc_recv and svc_rqst_status
   a6579fafe2b9 dax: fix general protection fault in dax_alloc_inode
   b4f77dd3db27 dax: fix PMD faults on zero-length files
   12b2a43aa1b0 lockd: double unregister of inetaddr notifiers
   f2fa2903113c irqchip/gic-v3: Fix ppi-partitions lookup
   c08ddb437ddb genirq: Track whether the trigger type has been set
   fc12863e2ba3 raid1: prevent freeze_array/wait_all_barriers deadlock
   3c56a460c8bf block: Fix a race between blk_cleanup_queue() and timeout handling
   1e28e345115e p54: don't unregister leds when they are not initialized
   937209dd49f8 mailbox: bcm-flexrm-mailbox: Fix FlexRM ring flush sequence
   73d36ccc25ad mtd: nand: mtk: fix infinite ECC decode IRQ issue
   886c51dad821 mtd: nand: Fix writing mtdoops to nand flash.
   684797376fd0 mtd: nand: omap2: Fix subpage write
   b58d7cba2730 target: Avoid early CMD_T_PRE_EXECUTE failures during ABORT_TASK
   8412e7db941c target: Fix quiese during transport_write_pending_qf endless loop
   7c302f595f4b target: Fix caw_sem leak in transport_generic_request_failure
   cc36f84ff1f0 target: Fix QUEUE_FULL + SCSI task attribute handling
   41411af9e8ad target: fix null pointer regression in core_tmr_drain_tmr_list
   8734ebeb8106 iscsi-target: Fix non-immediate TMR reference leak
   2e2bc1186a08 iscsi-target: Make TASK_REASSIGN use proper se_cmd->cmd_kref
   6de2abbd4c31 scsi: lpfc: Fix oops if nvmet_fc_register_targetport fails
   2000b870234f scsi: lpfc: Fix FCP hba_wqidx assignment
   01f0e334995a scsi: lpfc: Fix crash receiving ELS while detaching driver
   020ccb98ef75 scsi: lpfc: fix pci hot plug crash in list_add call
   9b58a782f5a4 scsi: lpfc: fix pci hot plug crash in timer management routines
   e316d92e10ac scsi: sd_zbc: Fix sd_zbc_read_zoned_characteristics()
   f98e27e575f1 net/9p: Switch to wait_event_killable()
   8be417a79efc fs/9p: Compare qid.path in v9fs_test_inode
   2e349fe9c2bb fix a page leak in vhost_scsi_iov_to_sgl() error recovery
   c0697b079ae5 mfd: lpc_ich: Avoton/Rangeley uses SPI_BYT method
   2ace5971b1c1 ASoC: sun8i-codec: Set the BCLK divider
   c7316d6679de ASoC: sun8i-codec: Fix left and right channels inversion
   2eb91e439cdf ASoC: sun8i-codec: Invert Master / Slave condition
   0a116d482fa8 ALSA: hda/realtek - Fix ALC700 family no sound issue
   1505048e3ff8 ALSA: hda: Fix too short HDMI/DP chmap reporting
   1a1f798bfb30 ALSA: timer: Remove kernel warning at compat ioctl error paths
   1051d7755bda ALSA: usb-audio: Add sanity checks in v2 clock parsers
   199cd7823763 ALSA: usb-audio: Fix potential out-of-bound access at parsing SU
   cf7d9d2b53dc ALSA: usb-audio: Add sanity checks to FE parser
   aba17bf44d13 ALSA: pcm: update tstamp only if audio_tstamp changed
   29259072ec04 ext4: prevent data corruption with journaling + DAX
   97da4f9039cb ext4: prevent data corruption with inline data + DAX
   5ddf166442c3 ext4: fix interaction between i_size, fallocate, and delalloc after a crash
   9ed0b612fb77 ata: fixes kernel crash while tracing ata_eh_link_autopsy event
   9d238de93426 fsnotify: fix pinning group in fsnotify_prepare_user_wait()
   5b981d854914 fsnotify: pin both inode and vfsmount mark
   91b0d40827a2 fsnotify: clean up fsnotify_prepare/finish_user_wait()
   99a127e4a587 md/bitmap: revert a patch
   b11cb870192e Bluetooth: btqcomsmd: Add support for BD address setup
   cd4c4ed7d2a0 md: don't check MD_SB_CHANGE_CLEAN in md_allow_write
   96e829f152c7 rtlwifi: fix uninitialized rtlhal->last_suspend_sec time
   7d43a23c6689 rtlwifi: rtl8192ee: Fix memory leak when loading firmware
   ef7cb0278073 nfsd: deal with revoked delegations appropriately
   b6996af90c58 NFS: revalidate "." etc correctly on "open".
   76d4c8adb264 NFS: Avoid RCU usage in tracepoints
   78e607a16574 nfs: Fix ugly referral attributes
   43f950f570f7 NFS: Revert "NFS: Move the flock open mode check into nfs_flock()"
   52e54c5dc1d3 NFS: Fix typo in nomigration mount option
   930ac0de39d5 isofs: fix timestamps beyond 2027
   70fb63a15260 fanotify: fix fsnotify_prepare_user_wait() failure
   568131ebc640 bcache: check ca->alloc_thread initialized before wake up it
   4739cc25fe6a libceph: don't WARN() if user tries to add invalid key
   f5e35be74237 eCryptfs: use after free in ecryptfs_release_messaging()
   8fa715eede18 fscrypt: lock mutex before checking for bounce page pool
   e880aa103552 nilfs2: fix race condition that causes file system corruption
   0eb9f2d0c80d autofs: fix careless error in recent commit
   7724ca25f299 autofs: don't fail mount for transient error
   020cd1b07344 rt2x00usb: mark device removed when get ENOENT usb error
   728ec449a62c MIPS: math-emu: Fix final emulation phase for certain instructions
   e67e9e160afb MIPS: BCM47XX: Fix LED inversion for WRT54GSv1
   b7fc80471672 MIPS: Fix an n32 core file generation regset support regression
   695a30121f31 MIPS: dts: remove bogus bcm96358nb4ser.dtb from dtb-y entry
   649b942f5f21 dm: discard support requires all targets in a table support discards
   9a77250fe32f dm: fix race between dm_get_from_kobject() and __dm_destroy()
   0f222c2c6239 MIPS: pci: Remove KERN_WARN instance inside the mt7620 driver
   badd13d39a0d dm: allocate struct mapped_device with kvzalloc
   1ea71c17d132 ovl: Put upperdentry if ovl_check_origin() fails
   20f908eac772 dm bufio: fix integer overflow when limiting maximum cache size
   21e0f5780760 dm mpath: remove annoying message of 'blk_get_request() returned -11'
   84370754991c dm crypt: allow unaligned bv_offset
   c27aa7e405c2 dm cache: fix race condition in the writeback mode overwrite_bio optimisation
   463a9e155dab dm integrity: allow unaligned bv_offset
   fa7ebbb65fac ALSA: hda: Add Raven PCI ID
   571d0222e808 PCI: Apply Cavium ThunderX ACS quirk to more Root Ports
   86602f1c5aac PCI: Set Cavium ACS capability quirk flags to assert RR/CR/SV/UF
   fc037283c8a7 PCI/ASPM: Use correct capability pointer to program LTR_L1.2_THRESHOLD
   f56bf6a0bd36 PCI/ASPM: Account for downstream device's Port Common_Mode_Restore_Time
   03a249b08df1 PM / OPP: Add missing of_node_put(np)
   2c1211c2edc9 nbd: don't start req until after the dead connection logic
   01d54a192605 nbd: wait uninterruptible for the dead timeout
   7bc2c995f8db net: mvneta: fix handling of the Tx descriptor counter
   504d2a22b3af MIPS: ralink: Fix typo in mt7628 pinmux function
   2f51d995b2b7 MIPS: ralink: Fix MT7628 pinmux
   55cc724a945f ARM: 8721/1: mm: dump: check hardware RO bit for LPAE
   884c853ff37b ARM: 8722/1: mm: make STRICT_KERNEL_RWX effective for LPAE
   c6a032594344 arm64: Implement arch-specific pte_access_permitted()
   8420a2afdea5 x86/entry/64: Fix entry_SYSCALL_64_after_hwframe() IRQ tracing
   95f53ae99256 lib/mpi: call cond_resched() from mpi_powm() loop
   a5d620687584 sched: Make resched_cpu() unconditional
   188ec06978ac serdev: fix registration of second slave
   9a6630779ac1 cpufreq: schedutil: Reset cached_raw_freq when not in sync with next_freq
   12da4fd9af22 ACPI / EC: Fix regression related to triggering source of EC event handling
   1925155cbaf8 s390/disassembler: correct disassembly lines alignment
   3bbfc892e348 s390/disassembler: increase show_code buffer size
   f2dd6d7f4453 s390/disassembler: add missing end marker for e7 table
   e4d2498802cf s390/guarded storage: fix possible memory corruption
   c1de5b04dff3 s390/runtime instrumention: fix possible memory corruption
   1156f0d1e7b9 s390/noexec: execute kexec datamover without DAT
   893ce3be12b7 s390: fix transactional execution control register handling
   e883dcdf2291 lguest: disable it vs. removing it.
   40bda3ef7bfd x86/entry/64: Don't use IST entry for #BP stack
   7414e2e34e6f kvm/x86: fix icebp instruction handling
   32ec5903cbbe perf/hwbp: Simplify the perf-hwbp code, fix documentation
   cc46dc546e06 media: usbtv: prevent double free in error case
   ffe911e1acac ALSA: seq: Make ioctls race-free

(From OE-Core rev: cd10e3be03a5c7c8c0e376c3e35fcba6d064a6db)

(From OE-Core rev: ee5c22ca623f852bb57504df683d5009fe8bd92e)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:52 +01:00
Bruce Ashfield
fc2aeb1372 linux-yocto/4.12: update to v4.12.22
Paul Gortmaker released another 4.12-stable that comprises the following
changes:

   23dcfbfbca0a Linux 4.12.22
   d4879ce5efb7 arm64: Kill PSCI_GET_VERSION as a variant-2 workaround
   77915e1a7544 arm64: Add ARM_SMCCC_ARCH_WORKAROUND_1 BP hardening support
   b06fbedb6e14 arm/arm64: smccc: Implement SMCCC v1.1 inline primitive
   1f400b388a20 arm/arm64: smccc: Make function identifiers an unsigned quantity
   f5d3afa3aecc firmware/psci: Expose SMCCC version through psci_ops
   4c69d3a66e60 firmware/psci: Expose PSCI conduit
   cfec930a45f8 arm64: KVM: Add SMCCC_ARCH_WORKAROUND_1 fast handling
   9e9697733818 arm64: KVM: Report SMCCC_ARCH_WORKAROUND_1 BP hardening support
   2a8574eb6e3f arm/arm64: KVM: Turn kvm_psci_version into a static inline
   2c79f828dfed arm64: KVM: Make PSCI_VERSION a fast path
   042626a87234 arm/arm64: KVM: Advertise SMCCC v1.1
   48a9e563e528 arm/arm64: KVM: Implement PSCI 1.0 support
   28283de68052 arm/arm64: KVM: Add smccc accessors to PSCI code
   33d47367626b arm/arm64: KVM: Add PSCI_VERSION helper
   82ca1dcebf95 arm/arm64: KVM: Consolidate the PSCI include files
   efb7c6b5b7f9 arm64: KVM: Increment PC after handling an SMC trap
   b720b7837ed8 arm64: Branch predictor hardening for Cavium ThunderX2
   6f2750c7a1c9 arm64: Implement branch predictor hardening for Falkor
   b56fa11959a7 arm64: Implement branch predictor hardening for affected Cortex-A CPUs
   5eb80f970c49 arm64: cputype: Add missing MIDR values for Cortex-A72 and Cortex-A75
   cf45e77d8106 arm64: entry: Apply BP hardening for suspicious interrupts from EL0
   e9c2f25bf62d arm64: entry: Apply BP hardening for high-priority synchronous exceptions
   b4f51ebd0fc3 arm64: KVM: Use per-CPU vector when BP hardening is enabled
   e8f7c5ba8c70 arm64: Move BP hardening to check_and_switch_context
   e2c124fa14e1 arm64: Add skeleton to harden the branch predictor against aliasing attacks
   ddd305f0fdf8 arm64: Move post_ttbr_update_workaround to C code
   204d987e7143 drivers/firmware: Expose psci_get_version through psci_ops structure
   8880e6380d91 arm64: cpufeature: Pass capability structure to ->enable callback
   48017c15187b arm64: Run enable method for errata work arounds on late CPUs
   cf64258fb122 arm64: cpufeature: __this_cpu_has_cap() shouldn't stop early
   7d550f8cb119 arm64: futex: Mask __user pointers prior to dereference
   b9d01590df34 arm64: uaccess: Mask __user pointers for __arch_{clear, copy_*}_user
   1b74ca827ed3 arm64: uaccess: Don't bother eliding access_ok checks in __{get, put}_user
   41b08b7c365b arm64: uaccess: Prevent speculative use of the current addr_limit
   1736debe11ef arm64: entry: Ensure branch through syscall table is bounded under speculation
   84e4780beea5 arm64: Use pointer masking to limit uaccess speculation
   d77d4c9aa433 arm64: Make USER_DS an inclusive limit
   b96ab81a6468 arm64: Implement array_index_mask_nospec()
   21eb21937d8e arm64: barrier: Add CSDB macros to control data-value prediction
   da1217a79997 arm64: idmap: Use "awx" flags for .idmap.text .pushsection directives
   c20b48f5b7a3 arm64: entry: Reword comment about post_ttbr_update_workaround
   15d4d37f7709 arm64: Force KPTI to be disabled on Cavium ThunderX
   3489abd67e33 arm64: kpti: Add ->enable callback to remap swapper using nG mappings
   b154d9be8c6f arm64: mm: Permit transitioning from Global to Non-Global without BBM
   1610bb019302 arm64: kpti: Make use of nG dependent on arm64_kernel_unmapped_at_el0()
   250a3a64585f arm64: Turn on KPTI only on CPUs that need it
   32da2aa26b97 arm64: cputype: Add MIDR values for Cavium ThunderX2 CPUs
   93d290bbe8f1 arm64: kpti: Fix the interaction between ASID switching and software PAN
   923618230c12 arm64: mm: Introduce TTBR_ASID_MASK for getting at the ASID in the TTBR
   51218390beb6 arm64: capabilities: Handle duplicate entries for a capability
   630cf7161fca arm64: Take into account ID_AA64PFR0_EL1.CSV3
   4b7ebe5c3644 arm64: Kconfig: Reword UNMAP_KERNEL_AT_EL0 kconfig entry
   e09f32469091 arm64: Kconfig: Add CONFIG_UNMAP_KERNEL_AT_EL0
   8202169d678a arm64: use RET instruction for exiting the trampoline
   414d9eabda3d arm64: kaslr: Put kernel vectors address in separate data page
   fce92f180168 arm64: entry: Add fake CPU feature for unmapping the kernel at EL0
   83584a583bff arm64: tls: Avoid unconditional zeroing of tpidrro_el0 for native tasks
   4732b98b6400 arm64: cpu_errata: Add Kryo to Falkor 1003 errata
   85dacaa58475 arm64: erratum: Work around Falkor erratum #E1003 in trampoline code
   bb0fa2f9cece arm64: entry: Hook up entry trampoline to exception vectors
   df7f7308d5f0 arm64: entry: Explicitly pass exception level to kernel_ventry macro
   14bcc912ca7e arm64: mm: Map entry trampoline into trampoline and kernel page tables
   c30f47afaa64 arm64: entry: Add exception trampoline page for exceptions from EL0
   21b891bf770f arm64: mm: Invalidate both kernel and user ASIDs when performing TLBI
   09e8df92ba8e arm64: mm: Add arm64_kernel_unmapped_at_el0 helper
   6832da386e60 arm64: mm: Allocate ASIDs in pairs
   bfd2ff25b585 arm64: mm: Fix and re-enable ARM64_SW_TTBR0_PAN
   1e4477930e5e arm64: mm: Rename post_ttbr0_update_workaround
   1e1890551573 arm64: mm: Remove pre_ttbr0_update_workaround for Falkor erratum #E1003
   0223b2589432 arm64: mm: Move ASID from TTBR0 to TTBR1
   9fe82f4ebdc3 arm64: mm: Temporarily disable ARM64_SW_TTBR0_PAN
   199f832ebf00 arm64: mm: Use non-global mappings for kernel space
   e9b0e14af7e3 arm64: move TASK_* definitions to <asm/processor.h>
   cab5207f57fd brd: remove unused brd_mutex
   7522521435a4 arm/syscalls: Optimize address limit check
   797f169015c5 Revert "arm/syscalls: Check address limit on user-mode return"
   3056c8f5be3a syscalls: Use CHECK_DATA_CORRUPTION for addr_limit_user_check
   74116ef5625a arm64: add VMAP_STACK overflow detection
   0d82fd80a2d1 arm64: add on_accessible_stack()
   c38502bc1472 arm64: add basic VMAP_STACK support
   c3a53247c1ff arm64: use an irq stack pointer
   73dcb6d84040 arm64: assembler: allow adr_this_cpu to use the stack pointer
   344a8e142697 arm64: factor out entry stack manipulation
   59c4a6fb5606 efi/arm64: add EFI_KIMG_ALIGN
   1a5300c6063f arm64: move SEGMENT_ALIGN to <asm/memory.h>
   3969d302c52f arm64: clean up irq stack definitions
   f030f0edba48 arm64: clean up THREAD_* definitions
   1f3c78245a4a arm64: factor out PAGE_* and CONT_* definitions
   8a5bc40e0c93 arm64: kernel: remove {THREAD,IRQ_STACK}_START_SP
   deba543af0b8 fork: allow arch-override of VMAP stack alignment
   774f64ce7b0f arm64: remove __die()'s stack dump
   7342855775d5 arm64: unwind: remove sp from struct stackframe
   553dbcbcff1d arm64: unwind: reference pt_regs via embedded stack frame
   926b0fe43412 arm64: unwind: disregard frame.sp when validating frame pointer
   da32ad8b5c11 arm64: unwind: avoid percpu indirection for irq stack
   eac4e8ecdd77 arm64: move non-entry code out of .entry.text
   b341e176374e arm64: consistently use bl for C exception entry
   3cdad1f0b9d0 arm64: Add ASM_BUG()
   01ace65c9150 arm64/vdso: Support mremap() for vDSO
   8050b6ba63cb arm64: Handle trapped DC CVAP
   0ee09d69dc93 arm64: Expose DC CVAP to userspace
   704046e3e554 arm64: Convert __inval_cache_range() to area-based
   b40935f19c73 arm64: mm: Fix set_memory_valid() declaration
   29530b5b549e arm64: Abstract syscallno manipulation
   f9f1c9d7d767 arm64: syscallno is secretly an int, make it official
   ab69949ffe23 x86/tracing: Build tracepoints only when they are used
   03793940e25c x86/tracing: Disentangle pagefault and resched IPI tracing key
   2822852ed8a5 x86/idt: Clean up the i386 low level entry macros
   d5654eb18f73 x86/idt: Remove the tracing IDT completely
   0d38071a05e7 x86/smp: Use static key for reschedule interrupt tracing
   4ef6e0f37891 x86/smp: Remove pointless duplicated interrupt code
   40b216cec86d x86/mce: Remove duplicated tracing interrupt code
   03f41cf538fd x86/irqwork: Get rid of duplicated tracing interrupt code
   418b9a493901 x86/apic: Remove the duplicated tracing versions of interrupts
   5be95f8dfffe x86/irq: Get rid of duplicated trace_x86_platform_ipi() code
   bd936c5d828a x86/apic: Remove the duplicated tracing version of local_timer_interrupt()
   f4971407abbb x86/traps: Simplify pagefault tracing logic
   2f436623b2c3 x86/tracing: Introduce a static key for exception tracing
   4395735bf0a9 arm64/syscalls: Check address limit on user-mode return
   3e1d12839e05 arm/syscalls: Check address limit on user-mode return
   649cd48799ef x86/syscalls: Check address limit on user-mode return
   8fe35f321cd3 audit: fix memleak in auditd_send_unicast_skb.
   4b1e889a4dd0 arm64: ptrace: Flush user-RW TLS reg to thread_struct before reading
   75a382c72d50 arm64: Add dump_backtrace() in show_regs

(From OE-Core rev: 9edeb4733e4a49d11febadc0e282c68c05e39575)

(From OE-Core rev: 87b88590ec4f9fce8a9d1bcc56631f17abd137f0)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:52 +01:00
Scott Rifenbark
44376d10e6 poky.ent: Updated poky version.
(From yocto-docs rev: f2ccccd9098b11b6dbfa4edbe240cc9c47893b60)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:32 +01:00
Scott Rifenbark
90414ecd5c documentation: Prepped set for a 2.4.3 release
poky.ent - variables updated
mega-manual.sed - 2.4.3 replaced 2.4.2
<manual>.xml - Updated the manual revision tables for a "June 2018"
               date.

(From yocto-docs rev: 62919ae0c15f12f0fcb75e3fc78387ab756d07a3)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-29 21:08:36 +01:00
Scott Rifenbark
683b359216 ref-manual: Updated SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS variable
For commit 8608810da1c91116415dc568b2a1a929c923c629, the
special token (*) addition did not apply to the rocko release.
I have taken that out of the variable description.

(From yocto-docs rev: a7ba7b6e9b4fcb457d43fc1e86aa0dbcefe1399e)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-29 11:41:57 +01:00
Scott Rifenbark
47cfa7747d bsp-guide: Fixed manual title in title page note
(From yocto-docs rev: 0bc79b58022a44168074eb9081e15c49e658c01d)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-29 11:41:57 +01:00
Joshua Watt
614f869cf0 ref-manual: Updated the SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS variable
Describes the new wildcard syntax

(From yocto-docs rev: 8608810da1c91116415dc568b2a1a929c923c629)

Signed-off-by: Joshua Watt <jpewhacker@gmail.com>
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-29 11:41:57 +01:00
Scott Rifenbark
ef4bb21693 documentation: Updated manual notes
I updated the notes to help the user get the version of the
docs that they are interested in.  Sometimes a search using the
web returns really old versions of the manual and the user
is clueless about using a manual that is not matching the
YP release they are working with.

(From yocto-docs rev: d0ef1c7edec0a28ce8a49992b71e6d3c878cdbb4)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-29 11:41:57 +01:00
David Reyna
9c3da34ec6 bitbake: toaster: do not fail on optional 'custom.xml' file
Explicitly capture and ignore errors when trying to load the optional
'custom.xml' fixture file.

[YOCTO #12554]

(Bitbake rev: 5b26fc8e332daaed092cdbafea3f0b8e11e5e7ae)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-29 11:41:57 +01:00
David Reyna
4c93959c55 bitbake: Toaster: fix shutdown and extra threads
Fix typo in shutdown code to kill threads when "kill -0" is not enough.
Use the '--noreload' flag for 'runserver' so that there are no extra
and unaccounted threads.

[YOCTO #12555]

(Bitbake rev: 14079cb1fd497799548c677962d89c02a6d2bf92)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-29 11:41:57 +01:00
Richard Purdie
7e7ee662f5 build-appliance-image: Update to rocko head revision
(From OE-Core rev: 0d70ca998b3bdc18db6a5644f4ed8797fd0e7ddd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-23 17:46:34 +01:00
Richard Purdie
78b61238f2 poky: Bump version to 2.4.3
(From meta-yocto rev: 52883b21ee64c04db23a6fb3f32b33c39d54b324)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-23 17:46:21 +01:00
Kevin Hao
996446e4e8 meta-yocto-bsp: bump to the latest v4.12 stable kernel for the non-x86 BSPs
(From meta-yocto rev: 08884dc6ed749da5e7f73c9045a56d2dd53827bb)

(From meta-yocto rev: 5de52cf4a74f6d87f7f62f322f8f39f3f4f0a136)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-23 17:43:00 +01:00
Anuj Mittal
ba26632573 linux-yocto: update genericx86* SRCREVs for 4.12
Bump to stable kernel release 4.12.21.

(From meta-yocto rev: de49fbc8dda014ab26294ff97955d545dd09123c)

(From meta-yocto rev: c0fee7423ae9321a2f0d28036abee62bef6360ea)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-23 17:43:00 +01:00
Andre McCurdy
38d3bba482 libnl: fix CVE-2017-0553
An elevation of privilege vulnerability in libnl could enable a local
malicious application to execute arbitrary code within the context of
the Wi-Fi service. This issue is rated as Moderate because it first
requires compromising a privileged process and is mitigated by
current platform configurations. Product: Android. Versions: 5.0.2,
5.1.1, 6.0, 6.0.1, 7.0, 7.1.1. Android ID: A-32342065. NOTE: this
issue also exists in the upstream libnl before 3.3.0 library.

  https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0553

Backport fix from upstream libnl 3.3.0 release:

  3e18948f17
  http://lists.infradead.org/pipermail/libnl/2017-May/002313.html

(From OE-Core rev: f452fbc5d2ffb9c1417079574bed0dfcdc44787a)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-23 17:43:00 +01:00
Khem Raj
e662f466bc ncurses: Abstract out termlib
termlib needs to be disabled on some targets e.g. mingw
this change paves the way for doing that. Functionally
it does not change anything for other platforms

(From OE-Core rev: 88f33e1e5ba4f85093f60a296cba3ee1c1341c43)

(From OE-Core rev: 82fc84b059367917690336d279cd8cab679d63ed)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-23 17:43:00 +01:00
Koen Kooi
ccefb1eb89 ncurses: fix deletion of /usr/lib/terminfo
Ncurses doesn't honour ${libdir} for terminfo, so try more options to remove it.

(From OE-Core rev: 17fd322e925cf492b22c75e296d5fee31e3511db)

(From OE-Core rev: 3d07d4a1e8a7324437e2f37ffcafbb032a086008)

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-23 17:43:00 +01:00
Koen Kooi
2cbdd48672 ncurses: fix do_install failure when base_libdir has more than one level
Other sections of the .inc already use mkdir -p, so use it here as well.

(From OE-Core rev: 62434e5021b99391a0c129a40bf943465a19e7ce)

(From OE-Core rev: f7538ee974d5bb07be193a3c8e31a05087bcc990)

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-23 17:43:00 +01:00
Hongxu Jia
20f56ec183 ncurses: 6.0+20170715 -> 6.0+20171125
- Drop backported CVE fix

includes cves:
CVE-2017-10684
CVE-2017-10685
CVE-2017-11112
CVE-2017-11113

(From OE-Core rev: 382e861b8c89c65b3538c706361767eff78d4a5a)

(From OE-Core rev: 6e7b9c78aca121301e9c92ed9cdb65f1a7613ee0)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-23 17:43:00 +01:00
Andre McCurdy
9915e071bc package.py: use single quotes for path passed to file in is_elf()
Align package.py is_elf() with recent changes in package.bbclass
isELF():

  http://git.openembedded.org/openembedded-core/commit/?id=7877761534b0c2492da6289e9f2269d41b6ed464

(From OE-Core rev: 5fcb57ffd67384b3487d0a1b83a1f13d52a15eb7)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit ab056c7f6065f310be4dd256ceb45f85ff981f69)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-08 15:37:17 +01:00
Mark Hatle
febd2e26a3 package.bbclass: Add '-b' option to file call in isELF
The isELF function works by running:

   result = file <pathname>
   if 'ELF' in result

By default 'file' will prepend the result with the path name of the file
that is being checked.  This usually works fine, such as:

$ file /home/foo/openembedded-core/meta/classes/package.bbclass
/home/foo/openembedded-core/meta/classes/package.bbclass: Python script, ASCII text executable, with very long lines

However, if the path includes 'ELF', ELF will end up in the result, and then
the check will return positive.

$ file /home/ELF/openembedded-core/meta/classes/package.bbclass
/home/ELF/openembedded-core/meta/classes/package.bbclass: Python script, ASCII text executable, with very long lines

This will then result in the isELF coming back true, and possibly causing the
checks that use isELF, such as the 'is it already stripped' check, to do the
incorrect thing.

Adding the '-b' option to file will result in the path being omitted in the
result:

$ file /home/ELF/openembedded-core/meta/classes/package.bbclass
Python script, ASCII text executable, with very long lines

(From OE-Core rev: b6d5729a0f0e6f2c8b36d425a18e9e2ed26f5de0)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 5a324e9b2cf6378f8eaa4e394f9cb36d4e2680ac)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-08 15:37:17 +01:00
Andre McCurdy
d86e69883c package.bbclass: use single quotes for path passed to file in isELF()
Apparently there are recipes in the wild which generate files with
filenames containing '$' characters - which cause errors during
packaging.

Instead of adding another special case to escape '$' characters when
constructing the command passed to oe.utils.getstatusoutput(), switch
to using single quotes to quote the path - and therefore make isELF()
consistent with the way filenames and paths are quoted by every other
caller of oe.utils.getstatusoutput() in oe-core.

(From OE-Core rev: 080f0ee910684beb8bc263d5a45d3aa39b6ee647)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 7877761534b0c2492da6289e9f2269d41b6ed464)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-08 15:37:17 +01:00
Andre McCurdy
4fca51f08e Revert "package.bbclass: Add '-b' option to file call in isELF"
This reverts commit 46ddc11a8be79515b4ab9f9f7568c3d624ac72fe.

The change is good in master but became subtly broken during the
backport to rocko. Either the path passed to file should be quoted
using double quotes (with any " chars in the path being escaped) or
the path should be quoted using single quotes (and then any " chars
in the path should NOT be escaped). Escaping " chars and using single
quotes will cause problems for filenames containing " chars.

(From OE-Core rev: 534a4e6775e5b4030619b20ae1f6a319adadccf5)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-08 15:37:17 +01:00
Armin Kuster
3befe6d7b7 ruby: Update to 2.4.4
The dot releases are maint only.

2.4.4 included:
CVE-2017-17742: HTTP response splitting in WEBrick
CVE-2018-6914: Unintentional file and directory creation with directory traversal in tempfile and tmpdir
CVE-2018-8777: DoS by large request in WEBrick
CVE-2018-8778: Buffer under-read in String#unpack
CVE-2018-8779: Unintentional socket creation by poisoned NUL byte in UNIXServer and UNIXSocket
CVE-2018-8780: Unintentional directory traversal by poisoned NUL byte in Dir

2.4.3 includes:
CVE-2017-17405: Command injection vulnerability in Net::FTP

(From OE-Core rev: 7003a36ef3f686af97798ff6f4bc7b3473f937de)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-07 15:57:37 +01:00
Andre McCurdy
41943e4fba ruby: fix typo in gmp PACKAGECONFIG option
(From OE-Core rev: 9fb931b69ece7f8a644f9e25600bcbbc9266a761)

(From OE-Core rev: 02fe324eb6913b27961e8e30c5510c89733dd011)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-07 15:57:37 +01:00
Ross Burton
f75993bc22 ruby: remove spurious db build dependency
The dbm module uses gdbm by default which is also a build dependency.

(From OE-Core rev: 79121ff54420e5cc331552ca5620aed81a36aac9)

(From OE-Core rev: f18fe9f116bd6697ded5d93eeccdfea7c3215d7b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-07 15:57:37 +01:00
Leonardo Sandoval
d9a5006a73 ruby: upgrade to 2.4.2
The CVE-2017-14064 patch is already at 2.4.2 as explained on
project's commit, so removing from the recipe & repo.

    commit 83735ba29a0bfdaffa8e9c2a1dc025c3b0b63153
    Author: hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
    Date:   Wed Apr 12 00:21:18 2017 +0000

        Merge json-2.0.4.

          * https://github.com/flori/json/releases/tag/v2.0.4
          * 09fabeb03e/CHANGES.md (2017-03-23-204)

        git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58323 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

(From OE-Core rev: 6e37a88af155d5e5453fb0f44bb11d6f8e406438)

(From OE-Core rev: 59fed1c288bc8d5549fffccedcc24ae9f4f32dac)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-07 15:57:37 +01:00
Hongxu Jia
ce99882619 grub/grub-efi: fix conflict
While installing grub and grub-efi, there are conflict files
in ${sysconfdir} ${datadir} ${bindir} ${sbindir}.

- Since all of the conflicted files are tools which is
  common for grub and grub-efi, we split them (except
  grub-editenv) to grub-common in grub.

- The package grub-common runtime depends grub-editenv

- The package grub-editenv runtime provides grub-efi-editenv

- Remove SYSROOT_DIRS_BLACKLIST

- The recipe grub-efi does not generate the duplicated files
  and use runtime depends grub-common to instead

Debian and Fedora do the similar thing.

Debian use a common package grub-common for both of pc bios and efi,
and use package grub-pc-bin for pc bios, grub-efi-amd64-bin for efi.
Both of grub-pc-bin and grub-efi-amd64-bin requires grub-common.
https://packages.debian.org/sid/grub-common
https://packages.debian.org/jessie/grub-pc-bin
https://packages.debian.org/jessie/grub-efi-amd64-bin

Fedora use a common package grub2-tools for both of pc bios and efi,
and use package grub2 for pc bios, grub2-efi-modules for efi.
Both of grub2 and grub2-efi-modules requires grub2-tools.
https://www.rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/g/grub2-tools-2.02-0.34.fc24.x86_64.html
https://www.rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/g/grub2-2.02-0.34.fc24.x86_64.html
https://www.rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/g/grub2-efi-modules-2.02-0.34.fc24.x86_64.html

[YOCTO #11639]

(From OE-Core rev: 60c360c0561f1ff5ff2135c4557f5992f9485617)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-07 15:57:37 +01:00
Martin Jansa
b0488ff67a scripts/test-dependencies.sh: remove
* with RSS used in pyro this script isn't very useful anymore
* RSS makes sure that the dependencies are almost always deterministic
  the only case known to me where dependencies are different based on
  what was already built in TMPDIR are runtime dependencies resolved
  by shlibs code in package.bbclass (which is using global pkgdata, not
  specific to given recipe and its RSS) as described here:
  https://bugzilla.yoctoproject.org/show_bug.cgi?id=9217#c4
  but for this case it's not worth running complete test-dependencies.sh
  runs

(From OE-Core rev: 522005e722ceb1d1447826e6d7a36d43e49d0450)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-07 15:57:37 +01:00
Martin Jansa
5f0f70d430 Revert "waf.bbclass: explicitly pass bindir and libdir if supported"
* this doesn't work correctly as discussed in:
  http://lists.openembedded.org/pipermail/openembedded-commits/2018-January/218460.html
* some of the issues were fixed in master since then
  but not all, so revert it until it's completely resolved

This reverts commit eac21f981337bfaddb2d67161a1ff049158041ce.

(From OE-Core rev: 74c26c2f63121d92d50b0cca4d3288b8d196b777)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-07 15:57:37 +01:00
Armin Kuster
701cc0009f perl: Security fix CVE-2017-12883
Affects: Perl  < 5.24.3-rc1 and  5.26.x before 5.26.1-RC1

(From OE-Core rev: d20917f3ce9ac45fb9562d1cabf7ddc212b1d07a)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:49 +01:00
Charles-Antoine Couret
0d0ca4211e perl: add patch to solve libcrypt incompatibility
Add Perl's patch submitted to upstream to be compiled along with glibc with libcrypt split.

(From OE-Core rev: 79703d83790a2973fefdb0e12e125b5f17e98cdf)

(From OE-Core rev: 53eef48621b19a1b88c042f9ee5eeb84d9746c64)

Signed-off-by: Charles-Antoine Couret <charles-antoine.couret@essensium.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:49 +01:00
Yi Zhao
54b9f0da14 rsync: update to 3.1.3
(From OE-Core rev: ded47001bec3fbbcbcdbe358a32c14ed0322d431)

Updating is safer than backporting the CVE fixes.
Included CVE:
CVE-2017-16548
CVE-2017-15994
CVE-2017-17434
CVE-2017-17434
CVE-2018-5764

plus many bugfixes

(From OE-Core rev: 3f244c68defd45d89107ff58a95c8d4462faeaed)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:49 +01:00
Armin Kuster
e635664e16 mpfr: Update SRC_URI to use gnu
ERROR: mpfr-native-3.1.5-r0 do_checkuri: Fetcher failure for URL: 'http://www.mpfr.org/mpfr-3.1.5/mpfr-3.1.5.tar.xz'. URL http://www.mpfr.org/mpfr-3.1.5/mpfr-3.1.5.tar.xz doesn't work
ERROR: mpfr-native-3.1.5-r0 do_checkuri: Function failed: do_checkuri

Found gnu has the same copy

(From OE-Core rev: ee3de1e4963ae56515be3a56b473f25ace286511)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:49 +01:00
Richard Purdie
66d56fd242 uninative: Set the dynamic linker to use at compile time
Its possible some dynamic runtime library in the dependency chain may
come from sstate and link to libraries which need the libc from
uninative. If we don't do this and binaries are run at do_install time
they would fail to find the symbols from the later libc. Examples:

cmake-native do_install:
bin/cmake: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by TOPDIR/tmp/work/x86_64-linux/cmake-native/3.10.3-r0/recipe-sysroot-native/usr/lib/libexpat.so.1)

dbus-native do_install:
tmp/work/x86_64-linux/dbus-native/1.12.2-r0/build/bus/.libs/lt-dbus-daemon: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-x32/build/build/tmp/work/x86_64-linux/dbus-native/1.12.2-r0/recipe-sysroot-native/usr/lib/libexpat.so.1)

This issue is resolved when the interpreter is changed at sstate unpack
time but this isn't soon enough to avoid issues at compile/install time.

By specifing which dynamic linker/loader to use at compile time, this
race window is removed entirely.

(From OE-Core rev: 35867ee035030ab76fc9ccdb0eb1c3f80126301c)

(From OE-Core rev: cead3c4925d39f8adc328007d8a8c1b23cc72842)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:49 +01:00
Richard Purdie
c9a58aa355 uninative: Add allow-shlib-undefined to BUILD_LDFLAGS and drop other workarounds
We have a problem when for example, a glibc 2.27 based system builds some
library like libpopt-native and puts it into sstate then it is reused
on a pre glibc-2.27 system to build something which depends on popt like
rpm-native. This results in an error like:

recipe-sysroot-native/usr/lib/libpopt.so: undefined reference to `glob@GLIBC_2.27'

In the past we've had this problem with new symbols like getrandom and
getentropy, here its with a more complex symbol where there is an old
version and a newer version.

We've looked into various options, basically we cannot link against our
uninative libc/ld.so since we don't have the right headers or compiler
link libraries. The compiler doesn't allow you to switch in a new set
either, even if we did want to ship them. Shipping a complete compiler,
dev headers and libs also isn't an option.

On the other hand if we follow the ld man page, it does say:

"""
The reasons for allowing undefined symbol references in shared libraries
specified at link time are that:

- A shared library specified at link time may not be the same as the one
  that is available at load time, so the symbol might actually be
  resolvable at load time.
"""

which is exactly this case. By the time the binary runs, it will use
our uninative loader and libc and the symbol will be available.

Therefore we basically have a choice, we get weird intermittent bugs,
we drop uninative entirely, or we pass this option.

If we pass the option, we can drop the other workarounds too.

(From OE-Core rev: 75a62ede393bf6b4972390ef5290d50add19341a)

(From OE-Core rev: d18bf7fa8e80d6cfaf3fdbe1ab06eec84b954432)

(From OE-Core rev: 4545f5436a5a106154680825ecb1cb60437faa91)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Clean up for Rocko context]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:49 +01:00
Richard Purdie
941a1341d7 bitbake.conf: Set and export TZ envvar to UTC
We just ran into an issue where tar failed to build on one server setup
but built everywhere else just fine.

It was running makeinfo to regenerate some docs files and makeinfo was too
old for the host it was running on. There was no dependency on makeinfo-native
as it was not meant to be regenerating the docs.

It was being regenerated as a date from a timestamp used in the docs
was different in Asian timezones than in the other timezones our builds
were being tested in.

I added an entry to https://wiki.yoctoproject.org/wiki/TipsAndTricks/
about how this was debugged.

As such, lets default to setting and exporting TZ to 'UTC' as was already
pioneered by the reproducibile builds work. This makes the builds
deterministic.

[YOCTO #12665]

(From OE-Core rev: 2a90ae7a3286724ff9e3615c4dbf56038f703810)

(From OE-Core rev: e31f31f81efe4b60938b724bece2a03c7c74a68d)

(From OE-Core rev: 2c72aa56e6065100582cb17f281c4c11521712e6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Drop simple.bbclass changes]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:49 +01:00
Richard Purdie
f16f69462b yocto-uninative: Update to version 1.9 (fedora28 compatible)
This includes the libxcrypt change which allows uninative to work on fedora28.

(From OE-Core rev: 4b27ab6487a54b42a52aa16e98ea4d19fa62b5ae)

(From OE-Core rev: 0685eb697f1dfa3b858b6e594cbd8e6070b4fbb8)

(From OE-Core rev: 2b462bdc2b9bad40425769ece380e46b52cca095)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:49 +01:00
Mark Hatle
9565237a67 package.bbclass: Add '-b' option to file call in isELF
The isELF function works by running:

   result = file <pathname>
   if 'ELF' in result

By default 'file' will prepend the result with the path name of the file
that is being checked.  This usually works fine, such as:

$ file /home/foo/openembedded-core/meta/classes/package.bbclass
/home/foo/openembedded-core/meta/classes/package.bbclass: Python script, ASCII text executable, with very long lines

However, if the path includes 'ELF', ELF will end up in the result, and then
the check will return positive.

$ file /home/ELF/openembedded-core/meta/classes/package.bbclass
/home/ELF/openembedded-core/meta/classes/package.bbclass: Python script, ASCII text executable, with very long lines

This will then result in the isELF coming back true, and possibly causing the
checks that use isELF, such as the 'is it already stripped' check, to do the
incorrect thing.

Adding the '-b' option to file will result in the path being omitted in the
result:

$ file /home/ELF/openembedded-core/meta/classes/package.bbclass
Python script, ASCII text executable, with very long lines

(From OE-Core rev: 5a324e9b2cf6378f8eaa4e394f9cb36d4e2680ac)

(From OE-Core rev: 46ddc11a8be79515b4ab9f9f7568c3d624ac72fe)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[fixup for Rocko]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:49 +01:00
Jackie Huang
95f831745c patch: fix CVE-2018-1000156
* CVE detail: https://nvd.nist.gov/vuln/detail/CVE-2018-1000156

* upstream tracking: https://savannah.gnu.org/bugs/index.php?53566

* Fix arbitrary command execution in ed-style patches:
  - src/pch.c (do_ed_script): Write ed script to a temporary file instead
    of piping it to ed: this will cause ed to abort on invalid commands
    instead of rejecting them and carrying on.
  - tests/ed-style: New test case.
  - tests/Makefile.am (TESTS): Add test case.

(From OE-Core rev: 6b6ae212837a07aaefd2b675b5b527fbce2a4270)

(From OE-Core rev: 413c54e0698589b17976e88fa7ab76e5dbac51aa)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:49 +01:00
Jackie Huang
4240011020 patch: fix CVE-2018-6951
* CVE detail: https://nvd.nist.gov/vuln/detail/CVE-2018-6951

* upstream tracking: http://savannah.gnu.org/bugs/?53132

* Fix segfault with mangled rename patch
  - src/pch.c (intuit_diff_type): Ensure that two filenames are specified
    for renames and copies (fix the existing check).

(From OE-Core rev: cdf74e1c67698b2d44a7460ff7d365d6da7b7b96)

(From OE-Core rev: e628af83e8d00ed3e3db318b323a9f5e48d35aae)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:49 +01:00
Huang Qiyu
85eaada5ec patch:2.7.5 -> 2.7.6
Upgrade patch from 2.7.5 to 2.7.6.

(From OE-Core rev: e5dcd58e5b2ef0b8e2bbe90e9bb1cede4e76bf75)

(From OE-Core rev: 6ecaabfff944773a09096a9ce293842c7c00b3a1)

Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:48 +01:00
Yue Tao
064ebecc67 dhcp: Security Advisory - CVE-2017-3144
Fix CVE-2017-3144

References:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3144
https://kb.isc.org/article/AA-01541

Patch from:
https://source.isc.org/cgi-bin/gitweb.cgi?p=dhcp.git;a=commitdiff;h=5097bc0559f592683faac1f67bf350e1bddf6ed4

(From OE-Core rev: bcbe9025560dee658c0ead566384e1a8647cebf9)

(From OE-Core rev: cf029db42a6bb96203d2d6bb64a62e6eeec9be8d)

Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:48 +01:00
Alexander Kanavin
2f9a3ae674 gio-module-cache.bbclass: pass in ${libexecdir}
When it was something else than /usr/libexec (e.g. when
installing native SDK packages), things broke down.

(From OE-Core rev: d99e819a6cbde6d1116c434ddba4c5f8eca7e6d8)

(From OE-Core rev: 1c8c163bfb736518f66276eca5765c493b8cc787)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:48 +01:00
Cuero Bugot
bca049bce2 uninative: add variables to the whitelist so that it does not re-triger recipe parsing
When uninative is activated (poky's default) internal datastore variables are modified (NATIVELSBSTRING and SSTATEPOSTUNPACKFUNCS) to enable uninative
support. This is happening after parsing is done at the beginning of the build. On the next bitbake call the recipe would be parsed if the two
variables above were not added to the parsing whitelist BB_HASHCONFIG_WHITELIST.

The fix is to add these two variables to the recipe parsing whitelist BB_HASHCONFIG_WHITELIST, this is done at recipe parsing time, only when
uninative.bbclass is used.

(From OE-Core rev: 75bb95ada98ef129d2fa48568f27dddb078c852c)

(From OE-Core rev: ca52b8e4f32063234815493746c4059392862af8)

Signed-off-by: Cuero Bugot <cbugot@sierrawireless.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:48 +01:00
Manjukumar Matha
6db2f5f39f package_manager.py: Skip gpgcheck while using dnf on target
By default, RPM_SIGN_PACKAGES is not defined. Add gpgcheck=0 to
oe-remote-repo.repo file, otherwise dnf will complain during
install operation on target

Note, RPM_SIGN_PACKAGES is set only when you inherit sign_rpm explicitly

(From OE-Core rev: 002a71eaa7606828c399972d8fd35e19e7b71929)

(From OE-Core rev: 21ca5428fa320aa4c925fe8a1a141c7df863fa84)

Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:48 +01:00
Juro Bystricky
901ad79f65 libpcre-ptest: skip locale test
If a fr_FR locale is found, it is automatically tested. The test
will fail if the locale is UTF-8, as the test blindly assumes
(and expects) a non-UTF fr_FR locale.
The remedy is to skip the test.

[YOCTO #12215]

(From OE-Core rev: 4cedddb83623c79980b354642dfeaf78218ca4b7)

(From OE-Core rev: ebb6c4f6a2bb6a6be4b3c4f8b7095bad529c62ea)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:48 +01:00
Alexander Kanavin
1e3c515525 openssl: update 1.1.0g -> 1.1.0h
Please see this security advisory:
https://www.openssl.org/news/secadv/20180327.txt

Remove 0001-Remove-test-that-requires-running-as-non-root.patch
(issue fixed upstream)
Remove 0001-aes-asm-aes-armv4-bsaes-armv7-.pl-make-it-work-with-.patch
(backport)

License-Update: copyright years

(From OE-Core rev: 96d5e9c186fb83f1b5d9b38ace0b1222c3c04c54)

(From OE-Core rev: a4f7a637d9a2c738f217c67394a98f6081149022)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:48 +01:00
Alexander Kanavin
b8be402e02 openssl: update 1.0.2n -> 1.0.2o
Please see this security advisory:
https://www.openssl.org/news/secadv/20180327.txt

License-Update: copyright years

(From OE-Core rev: 13542282e34c078296c46a98721b31ed9a69a980)

(From OE-Core rev: 9460cdd9227edcca425b919d5b9061d1da55528b)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:48 +01:00
Koen Kooi
26f09806b8 openssl: fix libdir logic to allow multiarch style paths
The recipes were using 'basename' to turn '/usr/lib' into 'lib', which breaks when libdir is '/usr/lib/tuple', leading to libraries ending up in '/usr/tuple', which isn't in FILES_*. Change the logic to use sed to strip the prefix instead.

(From OE-Core rev: e58d5521c7bae8daafdac85754545be176550a02)

(From OE-Core rev: 373763d4f6668c3e324edf8d699c8c15d0267278)

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:48 +01:00
Alexander Kanavin
fea202bf76 openssl: drop openssl-1.0.2a-x32-asm.patch
The patch was applied in a completely incorrect spot (due to fuzz),
no one noticed or complained. Meanwhile upstream says the issue
has been resolved differently:
https://rt.openssl.org/Ticket/Display.html?id=3759&user=guest&pass=guest

(From OE-Core rev: 325e516b59e677dc8e2c5756589fa8037b3e9392)

(From OE-Core rev: d7f682f592538073eefd24bf06c32e8e2e685f05)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:48 +01:00
Ross Burton
5813576e78 openssl: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 7baba7a19c5610a63ccbfd6a2238667772b32118)

(From OE-Core rev: 95b5ec1d6d614ebd1ea3a57bbbcef33b08966265)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:48 +01:00
Richard Purdie
2a2d94c5ab package_rpm: set _builddir to B not S
Recipes which use a shared workdir (e.g. gcc-runtine and libgcc) can
race over temporary files causing interesting build failures.

Using B instead of S avoids this problem.

[YOCTO #12605]

(From OE-Core rev: d6c13a5ff441f7076eb327c0d0b747bd7603db0f)

(From OE-Core rev: 9c72ddb605f1f4fc98fa427e37b5ba8c8758c6cd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:48 +01:00
Bruce Ashfield
5c5a1f05a7 linux-yocto/4.12: intel-socfpga, intel-pmc-core and ish support for CoffeeLake board
Integrating a series of mainline backports to allow better 4.12 support
for the coffeelake board:

   97e710ef0545 driver: clk: socfpga: remove unused variable
   2852089a6b7f x86/cpu: Add Cannonlake to Intel family
   1af96090b1f4 ACPI / LPIT: Export lpit_read_residency_count_address()
   1e85b644ad5e ACPI / LPIT: Add Low Power Idle Table (LPIT) support
   3b931f776349 platform/x86: intel_pmc_core: Special case for Coffeelake
   5666379331a9 platform/x86: intel_pmc_core: Add CannonLake PCH support
   de9e9e9518ee platform/x86: intel_pmc_core: Read base address from LPIT
   f422abd33358 platform/x86: intel_pmc_core: Remove unused header file
   ec1ca0048923 platform/x86: intel_pmc_core: Convert to ICPU macro
   f894e2c0cfff platform/x86: intel_pmc_core: Substitute PCI with CPUID enumeration
   ce7b50cc047d platform/x86: intel_pmc_core: Refactor debugfs entries
   c9ca0426c9c8 platform/x86: intel_pmc_core: Fix file permission warnings
   17294194d03c platform/x86: intel_pmc_core: Change driver to a module
   7f142e82c8f0 platform/x86: intel_pmc_core: Fix kernel doc for pmc_dev
   d095df17ddf4 platform/x86: intel_pmc_core: Remove unused variable
   cdfd431ccc3d platform/x86: intel_pmc_core: Remove unused EXPORTED API
   c54edf864c58 platform/x86: intel_pmc_core: Make the driver PCH family agnostic
   5302f0bfbaed HID: intel-ish-hid: Enable Cannon Lake and Coffee Lake laptop/desktop
   7e5cc39c3f61 HID: intel-ish-hid: Enable Gemini Lake ish driver
   b00e0e88689f HID: intel-ish-hid: Enable Cannon Lake ish driver

(From OE-Core rev: 0b53601c0e8a87e336dadd6854c19cdb2e1f6b55)

(From OE-Core rev: 61e6adc8dfb8aa63628a2e96f9d5f7ab62307c59)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:48 +01:00
Bruce Ashfield
d44f211a8c linux-yocto/meta: improve wifi driver granularity
Integrating the following commit for the 4.12+ kernels:

   Author: Nathan Rossi <nathan@nathanrossi.com>
   Date:   Wed Mar 21 00:10:02 2018 +1000

    features/wifi: Add WiFi driver fragments for various vendors/interfaces

    This change adds WiFi driver configuration fragments. The fragments are
    split into vendor and interface files to allow for easy selection of
    drivers for specific interface types (USB, PCI, SDIO) which is useful
    for BSPs with specific interfaces. The specific vendor/interface config
    fragments can be included by specific BSPs in its .scc files.

    However .scc files (wifi-*.scc) are provided to allow enabling interface
    specific or all interfaces drivers via KERNEL_FEATURES or inclusion via
    other .scc files. And wifi-common.scc is provided to enable the base
    config options required for all WiFi drivers, which is done to ensure
    correct configuration for default no config setups (e.g.
    linux-yocto-tiny).

    This patch only enables a limited set of drivers, which is based on what
    the common-pc-wifi.cfg fragment sets as well as some additional drivers,
    that primarily appear in USB WiFi devices.

    Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
    Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>

This gives us a much better granularity of drivers and a good baseline for
future improvements.

The 4.12 fragments are also slightly re-organized on top of this commit
to avoid patch failures when including the new frags.

(From OE-Core rev: c24d6863768a64b2c1632d5202790689a1164694)

(From OE-Core rev: 9e1bc0e552d7609428cb71bda7d2b6b726146c21)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Removed upsupported kernels]
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:48 +01:00
Bruce Ashfield
863649bf39 linux-yocto/4.12: add ssl and utils native dependencies
Via the -stable updates, and other configuration changes the 4.12 kernel has the
same dependency on openssl headers as 4.14+.

So we add the same DEPENDS line that we already have in newer kernels to avoid the
following error:

   |   HOSTCC  scripts/sign-file
   | build/tmp/work-shared/qemux86-64/kernel-source/scripts/sign-file.c:25:30: fatal error: openssl/opensslv.h: No such file or directory
   | compilation terminated.
   | scripts/Makefile.host:107: recipe for target 'scripts/sign-file' failed
   | make[3]: *** [scripts/sign-file] Error 1
   | make[3]: *** Waiting for unfinished jobs....

(From OE-Core rev: 80f6840baecb8b161f6443f3dd1af4e70b5e5221)

(From OE-Core rev: 8660345a665ef74828036c89257bc23246243c40)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:47 +01:00
Bruce Ashfield
71eb1d44ac linux-yocto/4.12: update to v4.12.21
Integrating Paul Gortmaker's stable update to 4.12, this includes CVE
fixes for meltdown and spectre:

   3bb926457832 Linux 4.12.21
   76781f72ce64 lguest: disable it vs. removing it.
   6ab3176bb365 x86/speculation: Fix typo IBRS_ATT, which should be IBRS_ALL
   efa97ecdf026 x86/pti: Mark constant arrays as __initconst
   a4d9aaf35e28 x86/spectre: Simplify spectre_v2 command line parsing
   1dbde4da259a x86/retpoline: Avoid retpolines for built-in __init functions
   7f3a7b69b0f7 x86/paravirt: Remove 'noreplace-paravirt' cmdline option
   ebeddfbee13f x86/speculation: Use Indirect Branch Prediction Barrier in context switch
   7e0a7c84eb35 x86/cpuid: Fix up "virtual" IBRS/IBPB/STIBP feature bits on Intel
   bf0c4c3f38f6 x86/spectre: Fix spelling mistake: "vunerable"-> "vulnerable"
   f4d4ccfdf361 x86/spectre: Report get_user mitigation for spectre_v1
   12f20abacd8b nl80211: Sanitize array index in parse_txq_params
   7686c72bfd9c vfs, fdtable: Prevent bounds-check bypass via speculative execution
   a3d62741fc9b x86/syscall: Sanitize syscall table de-references under speculation
   0b99c598274c x86/get_user: Use pointer masking to limit speculation
   bf532304a22f x86/uaccess: Use __uaccess_begin_nospec() and uaccess_try_nospec
   04584b001618 x86/usercopy: Replace open coded stac/clac with __uaccess_{begin, end}
   5a64c3ccd99d x86: Introduce __uaccess_begin_nospec() and uaccess_try_nospec
   9bbc24f34f03 x86: Introduce barrier_nospec
   b55fd06d6fe0 x86: Implement array_index_mask_nospec
   79a2efa3e0f5 array_index_nospec: Sanitize speculative array de-references
   e9046d054bb9 Documentation: Document array_index_nospec
   0078d6b103f9 x86/asm: Move 'status' from thread_struct to thread_info
   46afe23798a3 x86/entry/64: Push extra regs right away
   4213246ab7a8 x86/entry/64: Remove the SYSCALL64 fast path
   026a59b9de37 x86/spectre: Check CONFIG_RETPOLINE in command line parser
   a345c5f7a1b6 x86/mm: Fix overlap of i386 CPU_ENTRY_AREA with FIX_BTMAP
   999e3eca6861 x86/speculation: Simplify indirect_branch_prediction_barrier()
   c7acab78a24c x86/retpoline: Simplify vmexit_fill_RSB()
   be5c3f1101f7 x86/cpufeatures: Clean up Spectre v2 related CPUID flags
   7addf309d0e0 x86/cpu/bugs: Make retpoline module warning conditional
   b7c17f71e9cc x86/bugs: Drop one "mitigation" from dmesg
   af16629cc1da x86/nospec: Fix header guards names
   ebfadec0c9dc x86/alternative: Print unadorned pointers
   2e4bcf1ccaa9 x86/speculation: Add basic IBPB (Indirect Branch Prediction Barrier) support
   332de1ac4373 x86/cpufeature: Blacklist SPEC_CTRL/PRED_CMD on early Spectre v2 microcodes
   79a2a1ba23e7 x86/pti: Do not enable PTI on CPUs which are not vulnerable to Meltdown
   d29069565618 x86/msr: Add definitions for new speculation control MSRs
   114a7b0f431c x86/cpufeatures: Add AMD feature bits for Speculation Control
   2d5755e9daac x86/cpufeatures: Add Intel feature bits for Speculation Control
   3f5d9b428f05 x86/cpufeatures: Add CPUID_7_EDX CPUID leaf
   2f1b883356ca module/retpoline: Warn about missing retpoline in module
   8c935f65cf6a KVM: VMX: Make indirect call speculation safe
   79c0d980e610 KVM: x86: Make indirect calls in emulator speculation safe
   956ca31407ab x86/retpoline: Remove the esp/rsp thunk
   de8cd92003c6 x86/mm/64: Fix vmapped stack syncing on very-large-memory 4-level systems
   f2846896cd75 x86/microcode: Fix again accessing initrd after having been freed
   badb7498ab69 x86/retpoline: Optimize inline assembler for vmexit_fill_RSB
   750d9c97cede x86/pti: Document fix wrong index
   8d759c94307d kprobes/x86: Disable optimizing on the function jumps to indirect thunk
   59a3c4dc0ab9 kprobes/x86: Blacklist indirect thunk functions for kprobes
   2eef7eab7aea retpoline: Introduce start/end markers of indirect thunk
   a37c55916910 x86/mce: Make machine check speculation protected
   3aab76cd9d88 x86/tsc: Fix erroneous TSC rate on Skylake Xeon
   b129f5955cd5 x86/tsc: Future-proof native_calibrate_tsc()
   7639b8268579 x86/mm/pkeys: Fix fill_sig_info_pkey
   b19a92bb0f18 x86/cpufeature: Move processor tracing out of scattered features
   eb5a1177e60b x86/retpoline: Add LFENCE to the retpoline/RSB filling RSB macros
   ed114eb7be88 x86/retpoline: Fill RSB on context switch for affected CPUs
   70d519c9f97c x86/kasan: Panic if there is not enough memory to boot
   01e21b5f7c9c x86/retpoline: Remove compile time warning
   8ca1b5f8a9f4 x86,perf: Disable intel_bts when PTI
   6f037d7eaeaa security/Kconfig: Correct the Documentation reference for PTI
   b8c74586d251 x86/pti: Fix !PCID and sanitize defines
   8e24a4722756 selftests/x86: Add test_vsyscall
   c3d9420f23cf x86/retpoline: Fill return stack buffer on vmexit
   dd182d455654 x86/retpoline/irq32: Convert assembler indirect jumps
   d592a8a2c5f5 x86/retpoline/checksum32: Convert assembler indirect jumps
   0f3df59f16d3 x86/retpoline/xen: Convert Xen hypercall indirect jumps
   c0459b479a22 x86/retpoline/ftrace: Convert ftrace assembler indirect jumps
   11edfaeadbd1 x86/retpoline/entry: Convert entry assembler indirect jumps
   bf4c91a3b74f x86/retpoline/crypto: Convert crypto assembler indirect jumps
   2b243b8623a5 x86/spectre: Add boot time option to select Spectre v2 mitigation
   8ab0d792e81c x86/retpoline: Add initial retpoline support
   f2f4c0853dba x86/pti: Make unpoison of pgd for trusted boot work for real
   7495fd5400e6 x86/alternatives: Fix optimize_nops() checking
   8b932f131e26 sysfs/cpu: Fix typos in vulnerability documentation
   299b4adfed2e x86/cpu/AMD: Use LFENCE_RDTSC in preference to MFENCE_RDTSC
   32996f3a0a81 x86/cpu/AMD: Make LFENCE a serializing instruction
   10ffc3c2b2f7 x86/mm/pti: Remove dead logic in pti_user_pagetable_walk*()
   9e1201731d4b x86/tboot: Unbreak tboot with PTI enabled
   728d879e5c6b x86/cpu: Implement CPU vulnerabilites sysfs functions
   aeba317a23de sysfs/cpu: Add vulnerability folder
   83e59b5d52bf x86/cpufeatures: Add X86_BUG_SPECTRE_V[12]
   f7845c2cbd6e x86/Documentation: Add PTI description
   16331e2c3b06 x86/pti: Unbreak EFI old_memmap
   5723b0260415 kdump: Write the correct address of mem_section into vmcoreinfo
   50d02826dfc0 mm/sparse.c: wrong allocation for mem_section
   d3cbfb481af2 mm/sparsemem: Fix ARM64 boot crash when CONFIG_SPARSEMEM_EXTREME=y

(From OE-Core rev: 607b443f2abb915d4d12d6483b26030734983288)

(From OE-Core rev: f10c5251dcb545e633f01b680ffee6e8cf75852d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:47 +01:00
Mikko Rapeli
d9d6f90d4e mirrors.bbclass: change Debian anonscm to salsa
Debian anonscm service in Alioth is shutdown and thus
fetching sources fails.

https://wiki.debian.org/Alioth

"Alioth is broken, and there is nobody around to fix it. Don't ask the remaining people who give it life support to implement fixes and changes. It is being replaced by a cocktail of ?GitLab (see Salsa), read-only repos and keep-alive mechanisms. See below for more information."

https://wiki.debian.org/Salsa

"What is Salsa?

Salsa is the name of a collaborative development server for Debian based on the gitlab software. Salsa is supposed to provide the necessary tools for package maintainers, packaging teams and other Debian related individuals and groups for collaborative development.

What is the status of Salsa?

After various discussions about the future of Alioth, the Alioth Sprint in August 2017 gave birth to the initial setup of the the upcoming Salsa service. The productive weekend resulted in a working prototype and was launched as a beta in December 2017. It left its beta status in January 2018."

(From OE-Core rev: 08ff7b42d8b7d06ef61255185c95e900ada8769b)

(From OE-Core rev: 407de0c37ba21aff49b9fd43ee74ea4af28d19d4)

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:47 +01:00
Mikko Rapeli
41481eb0b9 ca-certificates: change SRC_URI from Debian anonscm to salsa
Debian anonscm service in Alioth is shutdown and thus
fetching ca-certificates sources fails.

https://wiki.debian.org/Alioth

"Alioth is broken, and there is nobody around to fix it. Don't ask the remaining people who give it life support to implement fixes and changes. It is being replaced by a cocktail of ?GitLab (see Salsa), read-only repos and keep-alive mechanisms. See below for more information."

(From OE-Core rev: fc20ff2003cee7ee3b78ba3bc236a60a8caabc35)

(From OE-Core rev: 127d1d68346bece34ccd8f6203976e2399c31a92)

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:47 +01:00
Mikko Rapeli
1ef261608d ncurses: change SRC_URI from Debian anonscm to salsa
Debian anonscm service in Alioth is shutdown and thus
fetching ncurses sources fails.

https://wiki.debian.org/Alioth

"Alioth is broken, and there is nobody around to fix it. Don't ask the remaining people who give it life support to implement fixes and changes. It is being replaced by a cocktail of ?GitLab (see Salsa), read-only repos and keep-alive mechanisms. See below for more information."

(From OE-Core rev: 8fab5794218445ddb3e8f73a74fa3f130e7c42f6)

(From OE-Core rev: fd64bf2dab8f259fb5e3d04e1a2af09e0775adc5)

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:47 +01:00
André Draszik
edad03b919 curl: DEPENDS on libidn2 (not libidn)
Since v7.51.0, libidn2 is the only available option, libidn
support was dropped.
The configure option was renamed as of v7.53.0

Therefore, curl unconditionally tries to build against libidn2,
which in particular is a problem for curl-native, as that might
or might not build against the build-machine's libidn2 now,
which furthermore causes problems when trying to share sstate
between multiple build machines.

We therefore see the following in the config log:
    ...
    checking whether to build with libidn2... (assumed) yes
    ...
    checking for libidn2 options with pkg-config... no
    configure: IDN_LIBS: "-lidn2"
    configure: IDN_LDFLAGS: ""
    configure: IDN_CPPFLAGS: ""
    configure: IDN_DIR: ""
    checking if idn2_lookup_ul can be linked... yes
    checking idn2.h usability... yes
    checking idn2.h presence... yes
    checking for idn2.h... yes
    ...
      IDN support:      enabled (libidn2)
    ...
even though this recipe tries to disable that.

While libidn2 isn't available in OE, this change at least:
* prevents curl-native to silently build against libidn2 if
  that is installed on build machine, even if not requested
* alerts people who use the PACKAGECONFIG option that it's
  not actually doing what they intend to do

(From OE-Core rev: 705eaea991622bdbb2ee83eefa8df8e665e3efe4)

(From OE-Core rev: 6ec8cb59b2f58784a9f74afa6018791694f8a030)

Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:47 +01:00
Andrej Valek
df6d284c66 libxml2: 2.9.4 -> 2.9.5
(From OE-Core rev: a0d2427bb86668215d7c9e1be07cb9a2d86f6755)

This includes these CVEs:

CVE-2017-7376
CVE-2017-7375
CVE-2017-5130
CVE-2017-16932
CVE-2017-16931

see http://xmlsoft.org/news.html for more info.

(From OE-Core rev: 6a62f30bcb516f6a5c97f21086ecd13ffbb6f821)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:47 +01:00
Oleksandr Kravchuk
c4f6da7849 curl: upgrade to 7.58.0
(From OE-Core rev: 9763c9d649a22f9024d832eb625bee35b583e717)

This update include these CVES:
CVE-2018-1000122	CWE-126: Buffer Over-read
CVE-2018-1000121	CWE-476: NULL Pointer Dereference
CVE-2018-1000120	CWE-122: Heap-based Buffer Overflow

Mostly bugfixes.

(From OE-Core rev: f99e2ce01ed01cf036a8282b2d155d941ed7ec9b)

Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:47 +01:00
Huang Qiyu
32a6e809f8 curl: 7.54.1 -> 7.57.0
1.Upgrade curl from 7.54.1 to 7.57.0.
2.Delete CVE-2017-1000099.patch, CVE-2017-1000100.patch, CVE-2017-1000101.patch, CVE-2017-1000254.patch, reproducible-mkhelp.patch, since it is integrated upstream.
3.Remove "do_install_append()" from curl_7.57.0.bb, since curl/curlbuild.h has been removed.

this update include CVE fixes for:
CVE-2018-1000007	CWE-522: Insufficiently Protected Credentials
CVE-2018-1000005	CWE-126: Buffer Over-read
CVE-2017-8818		CWE-125: Out-of-bounds Read
CVE-2017-8817		CWE-126: Buffer Over-read
CVE-2017-8816		CWE-131: Incorrect Calculation of Buffer Size
CVE-2017-1000257	CWE-126: Buffer Over-read

Most of the changes are bug fixes.
https://curl.haxx.se/changes.html

(From OE-Core rev: 215d5677004537fc190b5381157ac8b94db6d7e8)

(From OE-Core rev: 7f1029aff8abaadb25730fef50c495dcd6fc1e30)

Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Safer to upgrade than to backport CVE-2017-8818. Lots of depends patches]
Signed-off-by: Armin Kuster <akuster808@gmail.com>

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:47 +01:00
Jason Wessel
78c773ce2d logging.bbclass: Enclose the tr string in quotes
On some linux hosts image recipes will fail to build as follows:

ERROR: build-essential-0.3-r0 do_image_ext3: Usage: bbdebug [123] "message"
ERROR: build-essential-0.3-r0 do_image_ext3: Function failed: do_image_ext3 (log file is located at /opt/build/tmp/work/intel_corei7_64-wrs-linux/build-essential/0.3-r0/temp/log.do_image_ext3.43744)
ERROR: Logfile of failure stored in: /opt/build/tmp/work/intel_corei7_64-wrs-linux/build-essential/0.3-r0/temp/log.do_image_ext3.43744
ERROR: Task (/opt/layers/meta-overc/meta-build/recipes-core/images/build-essential_0.3.bb:do_image_ext3) failed with exit code '1'

Running with bitbake -v -v -v -D we get in the log file:
+ bbdebug 1 Executing 'dd if=/dev/zero of=/opt/build/tmp/work/intel_corei7_64-wrs-linux/build-essential/0.3-r0/deploy-build-essential-image-complete/build-essential-intel-corei7-64-20180220190510.rootfs.ext3 seek=484486 count=0 bs=1024'
+ USAGE='Usage: bbdebug [123] "message"'
+ '[' 3 -lt 2 ']'
+ DBGLVL=1
+ shift
++ echo 1

++ echo 1
++ tr -d t

++ tr -d t
+ NONDIGITS=1
+ '[' 1 ']'
+ bbfatal 'Usage: bbdebug [123] "message"'

The debug output tells us that the NONDIGITS check failed to remove
the digits using the tr expression.  Enclosing the expression in
quotes causes it to work properly.

(From OE-Core rev: 9e6d283aa9c77685f55a62fa220226d9149ecd7a)

(From OE-Core rev: 35ed47d1fcbdd384aa804b686e1c92d22b74fc15)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-03 09:53:47 +01:00
Tanu Kaskinen
fdeecc9011 libvorbis: CVE-2018-5146
Prevent out-of-bounds write in codebook decoding. The bug could allow
code execution from a specially crafted Ogg Vorbis file.

References:
https://www.debian.org/security/2018/dsa-4140
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5146

(From OE-Core rev: 1b18cdf6b8bdb00ff5df165b9ac7bc2b10c87d57)

Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-02 17:06:40 +01:00
Tanu Kaskinen
e4ba6a1d6e libvorbis: CVE-2017-14632
Xiph.Org libvorbis 1.3.5 allows Remote Code Execution upon freeing
uninitialized memory in the function vorbis_analysis_headerout() in
info.c when vi->channels<=0, a similar issue to Mozilla bug 550184.

References:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14632

(From OE-Core rev: a2b4718b5db8f220c89d71fbea4e3418be20731e)

Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-02 17:06:40 +01:00
Tanu Kaskinen
0e894d205f libvorbis: CVE-2017-14633
In Xiph.Org libvorbis 1.3.5, an out-of-bounds array read vulnerability
exists in the function mapping0_forward() in mapping0.c, which may lead
to DoS when operating on a crafted audio file with vorbis_analysis().

References:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14633

(From OE-Core rev: 300b5e921460f8ab1d4870014b343eddd00e77b1)

Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-02 17:06:40 +01:00
Niko Mauno
0ec2418733 bitbake.conf: Add comm to HOSTTOOLS
This mitigates following issues during u-boot do_compile() step --
otherwise, if comm is not available, they are quietly ignored:

  .../scripts/check-config.sh: line 33: comm: command not found
  .../scripts/check-config.sh: line 39: comm: command not found

Since 'comm' is provided by coreutils package, adding it to HOSTTOOLS
was considered a lower impact fix compared to adding coreutils-native
buildtime dependency to u-boot recipe.

(From OE-Core rev: c1b711e265e2ff6ba74b0f6f568f231ddf476f8b)

Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-30 09:04:44 +01:00
Bruce Ashfield
6b744113ad lttng-modules: update to v2.10.5 for kernel 4.15
(From OE-Core rev: 7f00a5161889a422d83dc113521d9241fdd89abf)

(From OE-Core rev: 30f326fb9c0f3b4dbfe7f99e18b74f90e99f4207)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[got reports the latest 4.4 is having issues too]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:12 +01:00
Richard Purdie
87447ec88c lttng-ust: upgrade 2.9.1 -> 2.10.1
(From OE-Core rev: 7c3ec9b7d21377ac3bc80de418615b00a23505b6)

(From OE-Core rev: 6dc7f7d8b83b3136f16fc3afb10192cff8462533)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:12 +01:00
Richard Purdie
3e63f7cb93 lttng-modules: upgrade 2.9.5 -> 2.10.4
LICENSE file contains a list of files and addtional files were added to
the list, license was unchanged.

(From OE-Core rev: f6372633b481fc267c1983a5276616513ec778a9)

(From OE-Core rev: 173f3534a7217074f7291d42b1d572242bc710e0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:12 +01:00
Armin Kuster
228aa9815c distcc: Change SRC_URI
ERROR: distcc-3.2-r0 do_fetch: Fetcher failure: Unable to find revision d8b18df3e9dcbe4f092bed565835d3975e99432c in branch 3.2 even from upstream
ERROR: distcc-3.2-r0 do_fetch: Fetcher failure for URL: 'git://github.com/distcc/distcc.git;branch=3.2'. Unable to fetch URL from any source.
ERROR: distcc-3.2-r0 do_fetch: Function failed: base_do_fetch

[v2]
upstream deleted the branch and the hash no longer exists.

Took the git snapshot from yocto and created a copy on my github.
There was no offical 3.2 release, only rc versions.

(From OE-Core rev: 22d30ed7c847b6ee4fdccb96fa9a3ce3d1491967)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:12 +01:00
Tanu Kaskinen
7c99bd7189 e2fsprogs: fix compatibility with glibc 2.27
glibc 2.27 added function copy_file_range(), and e2fsprogs happens to
have a different function with the same name. The conflict made
e2fsprogs-native build fail.

Here's a backport of a fix from upstream, the fix was released in
e2fsprogs 1.43.8.

The master branch doesn't need this fix, since it has new enough
e2fsprogs version. At least rocko, pyro and morty need this, I haven't
checked older stable branches. Apparently the problematic function was
introduced in e2fsprogs version 1.43.

(From OE-Core rev: 0dbe43e520be5e60e3a98fc0e46358bb291b0c13)

Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:12 +01:00
Juro Bystricky
cf2f4bd8cf openssl_1.0.2n: improve reproducibility
Improve reproducible build of:

openssl-staticdev
openssl-dbg
libcrypto

There are two main causes that prevent reproducible build, both related to
the generated file "buildinf.h":

1. "buildinf.h" contains build host CFLAGS, containing various build
   host references.  We need to pass sanitized CFLAGS to the script
   generating this file ("mkbuildinf.pl". )

2. We also need to modify the script "mkbuildinf.pl" itsel in order to
   generate a build timestamp based on SOURCE_DATE_EPOCH, if present in
   the environment.

(From OE-Core rev: 6c556ed3553d8f5e75d65cd7db92b26df43846b7)

(From OE-Core rev: 5a7cf3296715ac6543a171984fd09168bf73d1af)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:12 +01:00
Anuj Mittal
9e5d96c2ab checklayer: remove reference to undefined class
LayerError doesn't exist and will lead to an error when this failure
code path is hit.

(From OE-Core rev: 7780482772d005c77825dc3e99e63f00911156bf)

(From OE-Core rev: d06cf17109a2ca310c270ce4a27a15cb6190e2ff)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:12 +01:00
Zhang Xiao
e22a534bae valgrind: Fix multilib header conflict - valgrind/config.h
Header file conflict between 32-bit and 64-bit versions.

(From OE-Core rev: 6084879306db61c347b6f01f3bb64de327a9052d)

(From OE-Core rev: 1c2213fe1ac082288f366e4578d7a6e84410d820)

Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:11 +01:00
Zhang Xiao
68fb7d153c tiff: Fix multilib header conflict - tiffconf.h
Header file conflict between 32-bit and 64-bit versions.

(From OE-Core rev: 53f320797765b5f184a83cd065f9b5e454ee14e3)

(From OE-Core rev: 837f8df7bd5767e49ce59b2b1e5a4a65d1bfa276)

Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:11 +01:00
Markus Lehtonen
3fae046acf scripts/oe-build-perf-report: fix comparing arbitrary commits
Fix a crash when generating a txt report and the two commits to be
compared were not consecutive (but there were some tested commits
between them).

(From OE-Core rev: f3afd2c47f4c740df52dfd80e208ce721d5ebf6e)

(From OE-Core rev: 00b197b2fb2253f2c5c534b16cc2d3d55aad6352)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:11 +01:00
Alexander Kanavin
d3c573ee1a ca-certificates: run postinst script only for -target package
Nativesdk package has a special arrangement where the same thing is done
in do_install(). It was assumed (in the comment) that postinsts don't run when
installing nativesdk packages, but this was incorrect: they are run, but
any failures were previously silently ignored. Now this missing failure reporting has
been fixed, and so we get to see the failures.

(From OE-Core rev: 8ebb695c1429f8d57d655072a362a4f176258699)

(From OE-Core rev: 31f69f8fd8a08fadee0ea288214aa33c33ad6912)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:11 +01:00
Bruce Ashfield
89d4430fa3 linux-yocto/4.12: backport bugfixes for x86
Integrating the following commits:

  60b649971940 x86/hibernate/64: Mask off CR3's PCID bits in the saved CR3
  cec3c008ec8f drm/i915/cfl: Coffee Lake works on Kaby Lake PCH.
  073873cb152c brd: remove unused brd_mutex
  912c53b1b346 audit: fix memleak in auditd_send_unicast_skb.

(From OE-Core rev: 3c14c6612c48d46677837f5f4c31cfd1a6ff6174)

(From OE-Core rev: 39202a1d0714e91dff6c18b1043fd236df25434f)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:11 +01:00
Bruce Ashfield
a09e645e56 linux-yocto/4.12: warning: drm/i915/cfl: Coffee Lake works on Kaby Lake PCH
Integrating the following warning backport:

    commit eb371933cf4d3495d0899880b2e0e252ce9db517 upstream.

    Coffee Lake CPU on Kaby Lake PCH is possible.
    It does exist, and it does work.

    The only missed case was this warning here noticed
    by Wendy who could get one system with this configuration
    and reported the issue for us:

    Hardware Configuration
    Board ID KBL S DDR4 UDIMM EV CRB
    Processor    Intel® Processor code named Coffee Lake S, (6+2), 6 cores 12 threads, GT2, A0 (Internal) (QNJ4)

    [ 3.220585] WARNING: CPU: 10 PID: 206 at drivers/gpu/drm/i915/i915_drv.c:340 i915_driver_load+0x1210/0x1660 [i915]
    [ 3.221312] Modules linked in: hid_generic usbhid i915 i2c_algo_bit drm_kms_helper e1000e syscopyarea sysfillrect sysimgblt nvme fb_sys_fops ptp ahci i2c_hid drm pps_core nvme_core libahci wmi hid video
    [ 3.222050] CPU: 10 PID: 206 Comm: systemd-udevd Not tainted 4.13.0-rc5-intel-next+ #1
    [ 3.222706] Hardware name: Intel Corporation Kabylake Client platform/KBL S DDR4 UDIMM EV CRB, BIOS KBLSE2R1.R00.X089.P00.1705051000 05/05/2017

    Cc: Wendy Wang <wendy.wang@intel.com>
    Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
    Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20170821235056.9015-1-rodrigo.vivi@intel.com
    Signed-off-by: Liwei Song <liwei.song@windriver.com>

(From OE-Core rev: 62acf087dca83ff094b1c0300b5752978807ca17)

(From OE-Core rev: 690075e07e39f28cd076ef66c9b49ab6a46457b6)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fixup to bypass the aufs & systemtap changes]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:11 +01:00
Bruce Ashfield
864c0f5269 linux-yocto/4.12: memleak and build warning fixes
Integrating the warning/leak fixes:

  73873cb152c brd: remove unused brd_mutex
  912c53b1b346 audit: fix memleak in auditd_send_unicast_skb.

(From OE-Core rev: 4aec8f304216d5427f22d4a72f9f39be097513cb)

(From OE-Core rev: bc6310b704dd7dcbd865ee8f09ce0f7b4326497c)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:11 +01:00
Bruce Ashfield
7cc677aa4f linux-yocto/4.12: fix aufs compile warning
From: "Kexin(Casey) Chen" <Casey.Chen@windriver.com>

   Forward port linux-yocto-4.8's patch to fix the build warning.

       http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-4.8/commit/?h=standard/base&id=7e0dd2f2b0971f0e3191e1ddc088e09eb9855567

   fs/aufs/debug.h:95:19: warning: comparison of constant '0'
   with boolean expression is always false [-Wbool-compare]
      if (unlikely((e) < 0)) \
                    ^

   fs/aufs/vdir.c:852:2: note: in expansion of macro 'AuTraceErr'
      AuTraceErr(!valid);
      ^~~~~~~~~~

   In expansion of AuTraceErr(!valid), comparison of (!valid)
   and constant '0' always passes unlikely(x) false. function
   'static int seek_vdir(struct file *file, struct dir_context *ctx)'
   is to find whether there is a valid vd_deblk following ctx->pos.
   return 1 means valid, 0 for not. Change to AuTraceErr(valid - 1)
   makes more sense.

   Signed-off-by: Kexin(Casey) Chen <Casey.Chen@windriver.com>
   Signed-off-by: Dengke Du <dengke.du@windriver.com>

(From OE-Core rev: 1ba624ec410b13da9645efe7bc72908195c08259)

(From OE-Core rev: 20a7e72a1fa97f673de12856b3bf53c48a05a834)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:11 +01:00
Bruce Ashfield
67ddcc4a30 linux-yocto/4.12: add stratix10 SoC development board
Integrating the patches to introduce support for  stratix10 SOC, which
comprises the following commits:

   22f73c1fe991 drivers: ethernet: stmmac: keep Ethernet clock in enable status on Stratix10 platform
   c3ceae6df341 drivers: ethernet: stmmac: improve phy control during ethernet suspend/resume
   883d8df59543 drivers: ethernet: stmmac: set delay_us value as 0
   063b17881fed arm64: dts: stratix10: add interrupt-parent property in root node
   e991516fa777 arm64: dts: stratix10: correct PMU interrupt number
   555f51414098 arm64: dts: stratix10: add alias for i2c1
   a5dd201f0e8c arm64: dts: stratix10: control FPGA IO from linux kernel
   67e763e631bd mtd: spi-nor: add support for mt25qu02g serial flash
   6068e35ed261 arm64: dts: stratix10: enable qspi feature
   2d019c47939c arm64: dts: stratix10: add USB ECC reset bit
   d9b9d63a6417 FogBugz #516572: add clock to USB nodes
   f4bca65baf07 arm64: dts: stratix10: enable USB on the devkit
   1ed12c04eac6 arm64: dts: stratix10: remove phy node for usb
   b9b8f08f50ca usb: dwc2: add optional usb ecc reset bit
   7a04b5cba903 usb: dwc2: disable erroneous overcurrent condition
   aac3bd2a2e23 dts: stratix10_socdk: enable gpio1 and leds
   9807c107b1c3 arm64: dts: stratix10: fix interrupt number for gpio1
   cbd264cde6bc arm64: dts: stratix10: add gpio header
   f91f7117ef93 gpio: gpio-dwapb: add optional reset
   3aa90a6801aa mtd: spi-nor: Allow Cadence QSPI support for ARM64
   3bb156eb80b6 FogBugz #495013-1: dts: stratix10: Add QSPI support for Stratix10
   81981997697b reset: socfpga: fix for 64-bit compilation
   882cc1f9800d FogBugz #491967-5: dts: stratix10: add ltc2497
   d7b3bc0833a6 FogBugz #492768: Revert "i2c: dw: temporary workaround for i2c clocks"
   60711b82517f arm64: dts: stratix10: add reset property for various peripherals
   f9aeefce1310 arm64: stratix10: add the 'altr,modrst-off' property
   e65b02b3b5b7 arm64: stratix10: include the reset manager bindings
   7ffbb161ee30 reset: socfpga: build the reset-socfpga for Stratix10 SOC
   95197b89dd72 FogBugz #493310: dts: use the clocks for the timers and uarts
   c6ec92c9222a FogBugz #493306: mark the l4_sp_clk as a critical clock
   7caf335dd0fa FogBugz #492768: i2c: dw: temporary workaround for i2c clocks
   b247b5ed60c0 FogBugz #491967-2: dts: stratix10: enable i2c
   b0ea5bac0b3a FogBugz #492420: fix up the correct order of parents for noc_clk
   c81d19a6683b arm64: dts: stratix10: add ethernet/sdmmc support to S10 devkit
   00d6740c9ec9 FogBugz #491251: temporary remove PSCI node
   789aabac6e9d arm64: dts: fix up the gic register for the Stratix10 platform
   9504049ea576 FogBugz #488936-2: Add clocks to emac/sdmmc node
   8ad32e880376 FogBugz #488936-1: dts: bringup SoCFPGA Stratix10 devkit
   f826ccc79752 FogBugz #488843-2: add clock driver for Stratix10 SOC
   56594bb54083 FogBugz #488843-1: dts: clock bindings for the SoCFPGA Stratix10
   2a25f1e19487 FogBugz #488851: dts: use spin-table for SMP
   d36f9d7f16c3 net: stmmac: Adjust dump offset of DMA registers for ethtool
   50eb2994beea Revert "FogBugz #470510: Update stratix10_swvp.dts file for S10 SoC Simics/VP"
   9cc3c6bc11a7 net: stmmac: Add additional registers for dwmac1000_dma ethtool
   4b12474ecb09 FogBugz #470512: Update stratix10_swvp.dts file for S10 SoC Simics/VP
   2e1cf1b70e9a FogBugz #468942-2: Modify QSPI read_delay for Arria10.
   a2baa4e9366e FogBugz #454145: Update stratix10_swvp.dts file for S10 SoC VP
   352eccb9c28e dt-bindings: reset: Add reset manager offsets for Stratix10
   4951f51f6650 FogBugz #458420-2: ARM: dts: add lcd character panel
   52625560a859 FogBugz #458420-1: dts: arria10 socdk: add max1619
   a7926b2fe419 ARM: dts: socfpga: set the i2c frequency
   af2c59f5810f FogBugz #374571: Fix Sysid driver hotplug support.
   b1d136a8001d FogBugz #284482-2: A10 cache coherency is different than A5/C5.
   8dc53e9000e6 FogBugz #284482-1: A10 cache coherency is different than A5/C5.
   cf59a2fb8882 FogBugz #408870: add debugfs interface for fpga config complete timeout
   a2a924222a02 FogBugz #421690: use a unique name to register freeze controller
   db0c754560cb FogBugz #403389-1: Altera Partial Reconfiguration IP Core
   2b11bb966e23 FogBugz #412211: fpga: fix fpga mgr debugfs for module
   546b85ceb86f FogBugz #411427: fpga: memory leaks in fpga manager debugfs
   186529660ef2 FogBugz #405628-1: fpga: doc: add config complete timeout
   e97cb7797091 FogBugz #404467: add missing binding documentation
   9454b288338e FogBugz #411698-3: hwmon: Add Altera A10-SR power supply alarms
   181766fbe257 FogBugz #411698-2: Add Altera A10-SR power supply alarms
   995c713ce65a FogBugz #408205: fix printf format error
   ff30a92ebff5 FogBugz #398879-2: fpga mgr debugfs
   46856886744c FogBugz #398879-1: fpga: doc: documentation for FPGA debugfs
   559f1b2b61f1 FogBugz #365525-3: socfpga: dts: remove fpga image specific info
   6ac61db6de48 ARM: DT: Enable symbols when CONFIG_OF_OVERLAY is used
   784a7fe5585c OF: DT-Overlay configfs interface (v7)
   dcc6ae577325 FogBugz #334039: enable SMP for the Stratix10 SWVP
   83c3f4a2b7dc FogBugz #332965: missing Makefile to build Stratix10 SWVP dts
   5604a2ed0cd1 FogBugz #331066: misc: altera_hwmutex: remove redundant unused of_match_ptr
   e5ad2362d2bc FogBugz #331067: misc: altera_hwmutex: remove .owner
   fdcb3fa5a3a5 FogBugz #332657-2: Stratix 10 Software Virtual Platform
   d64f00ea688a FogBugz #332657-1: Stratix 10 Software Virtual Platform
   86026fe01b25 FogBugz #299928: arria10 swvp: add device tree
   146f064db340 devicetree: net: micrel-ksz90x1.txt: correct documentation
   71244d32db2b TRCom NAND board device tree.
   bb328948b0b5 FogBugz #184650: Cleanup Altera license headers.
   8e855ce4b0c2 misc: sysid: use IS_ERR and PTR_ERR to check for error
   d5e88e198db0 misc: hwmutex: use IS_ERR and PTR_ERR to check for error
   8e7d24910197 FogBugz #236669: Add a Kconfig for ILC driver
   790e85ef4b28 misc: ilc: replace devm_request_and_ioremap with devm_ioremap_and_resource
   1025d2218b88 misc: sysid: replace devm_request_and_ioremap with devm_ioremap_and_resource
   0b1dbbb5a411 misc: hwmutex: replace devm_request_and_ioremap with devm_ioremap_resource
   f78ea9d901c6 FogBugz #240546: Move VIP driver into FB hardware folder
   56c37d32951b FogBugz #177284: add Altera VIP framebuffer driver
   c006613bfc15 FogBugz #229601: newhaven lcd: fix kbuild test robot warnings
   a20f46e5560c FogBugz #101176: add sys entry to set lcd module brightness
   effc29afd46a FogBugz #125882: lcd module needs time to process commands.
   ffab5da4edbf FogBugz #118160: support tilde character on newhaven lcd module
   c72219530e09 FogBugz #114479: load custom character for backslash
   0eb518db5832 FogBugz #107683: handle backspace better in lcd driver
   c62a261496fc tty: newhaven_lcd: Remove devinit and devexit
   717f3b73f7c7 FogBugz #102358: i2c newhaven lcd driver uses faulty hyphen
   394b437bac51 FogBugz #100586: Set lcd backlight brightness to max
   3754d6b77c1b FogBugz #84276: lcd driver on i2c
   115230c21271 FogBugz #143478: drivers/misc: Move sysid from arch to drivers
   8e28bdd388c4 FogBugz #178225: Add Altera interrupt latency counter driver
   095297e45627 FogBugz #144109: Remove extra lines from license header
   6534e0969ae2 FogBugz #143451: Fix mutex compatible string
   8eb7914d1532 FogBugz #138162: Add Altera hardware mutex driver
   075f0367ff60 FogBugz #184646: Turn on all peripheral clocks for a system reboot
   d695a0616fda FogBugz #172665: Sample driver for DMA transfer to FPGA soft IP (FIFO)
   f7b3f6418bbc FogBugz #143478: arch/arm: Move sysid from arch to drivers
   1dd2f4af39a0 ARM: socfpga: Turn on ARM errata for L2 cache
   40146055677a mm/sparsemem: Fix ARM64 boot crash when CONFIG_SPARSEMEM_EXTREME=y

(From OE-Core rev: 06c9f43fc018cc35bb0ffef133d6f53eb2964e26)

(From OE-Core rev: afb9c2b28190e8f9ca8f2366a9129a5ccdd06356)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:11 +01:00
Ross Burton
0d36bbf8f9 qemu: fix memfd_create with glibc 2.27
glibc 2.27 has added memfd_create() but this conflicts with a copy in qemu, so
take a patch from upstream to fix building with glibc 2.27.

(From OE-Core rev: f90ce8913a4635ffb4ac0c585413e84f06793784)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:11 +01:00
Alexander Kanavin
d6f7a6d1dd lame: revert "lame: fix CVE-2017-13712"
I don't know how this made it in, but the backported patch most definitely
fails to apply:

ERROR: lame-3.99.5-r1 do_patch: Command Error: 'quilt --quiltrc /home/ak/development/poky/build-musl/tmp/work/core2-64-poky-linux-musl/lame/3.99.5-r1/recipe-sysroot-native/etc/quiltrc push' exited with 0  Output:
Applying patch CVE-2017-13712.patch
patching file libmp3lame/id3tag.c
Hunk #1 succeeded at 195 with fuzz 1 (offset 1 line).
Hunk #11 succeeded at 1023 (offset 24 lines).
Hunk #12 FAILED at 1051.

The reason we have't seen it is that LICENSE_FLAGS_WHITELIST += " commercial"
needs to be in config to trigger this.

This reverts commit fd994b5bed.

(From OE-Core rev: 93aa9a5be30bbd6d9a39beb436a21bcfccceb9a7)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:11 +01:00
Ross Burton
4f9ad1e39d package-manager: add install_glob()
(From OE-Core rev: 8d1b530c82de386d4183f5673c060b9d416a3835)

(From OE-Core rev: 0b1d7eaac274dd8ea341ff6b372f17f6a42da8d6)

(From OE-Core rev: 833acdd7e8d6b7a254266abc72745ea6ba556667)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:11 +01:00
Ross Burton
59b982e6b8 package_manager: improve install_complementary
- No need to use bb.utils.which() as subprocess will search $PATH
- Clarity flow by moving the install inside the try/except

(From OE-Core rev: f4d22b7195dd8f08fe26dd353c7e860208e87d6a)

(From OE-Core rev: 92a0359b1e2558b175374a81a1d6146724cd1a9e)

(From OE-Core rev: 409e2e8c2b8f99d6f3d5930047f29649a1e62888)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:11 +01:00
Ross Burton
b0184b6082 sdk: generate locale archive and remove packages
(From OE-Core rev: c6f1010a47df33b40320aa5784181b659a3254d7)

(From OE-Core rev: a513db5e5a8e9b13370e785fcec144a22b0e6226)

(From OE-Core rev: bc7cfd6f42580f64e52b89449cae59eb55480e63)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:11 +01:00
Ross Burton
970c3960fc populate_sdk_base: depend on nativesdk-glibc-locale
If we're building a SDK and we're using glibc so may be installing locales,
add a build-dependency on natiesdk-glibc-locale so the locales we need will
exist.

(From OE-Core rev: 8d6869a0a89d8cf3c6e57723fab2750ba2c885db)

(From OE-Core rev: 602fad36954a8e6a31b1c4d7a3ac9c002dcc8b8d)

(From OE-Core rev: 6b573f8304a39780db3fd71ade6d5495cf8079d1)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:11 +01:00
Ross Burton
58cfc175c4 populate_sdk: install UTF-8 locales in SDKs
As glibc 2.27 can't read older locale-archives, SDKs using glibc 2.27 on hosts
using glibc earlier than 2.27 won't be able to find any locales, so bitbake
won't start and Python can't use UTF-8.

So by default install all locales into the SDK.  Special-case Extensible SDKs by
installing no locales as they ship glibc in a buildtools, and that will have the
locales.

Locale installation requires cross-localedef, so add that to DEPENDS.

Also remove the explicit en_US addition in buildtools-tarball as it is now
redundant.

(From OE-Core rev: 96896568d197cd06302713c24c0f7d91bfaea6c1)

(From OE-Core rev: 8327d50ef66c94592d76b42e147011daafc6a7c3)

(From OE-Core rev: 8859d60d48918d763213470429288553adaa419c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:11 +01:00
Ross Burton
78ed353929 sdk: only install locales if we're using glibc
Using glibc-locale to install locales only makes sense if we're using glibc.

(From OE-Core rev: 8fc80734053645fa893694dfe33ddaee99aa9a1a)

(From OE-Core rev: e75b001444a5cb7bf6d91003d973cf3f9d84dae3)

(From OE-Core rev: 6ea3e46b60c89b37afadc186008dec3f0a39a69d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:11 +01:00
Ross Burton
46ce466e19 sdk: install specified locales into SDK
(From OE-Core rev: 9b1c3dbe79f67d3b46e0f90a73bce6c61f094a50)

(From OE-Core rev: 680956f20788201dc439e253c8fa12e7a21ecc56)

(From OE-Core rev: 55b2052883ec579599b41260bb5cb2433dd80b51)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:11 +01:00
Ross Burton
d01564bb48 cross-localedef-native: add way to specify which locale archive to write
localedef has no way to specify which locale archive to use, and the
compile-time default isn't useful as it points to the work directory.

Add support to read an environmental variable for the path, and don't fail to
write a new locale archive.

(From OE-Core rev: bf0f205a3c3714926649bd69db29e4df1c0ea112)

(From OE-Core rev: 14bcbecb6c19367ae0864a27750c8ea24681d48f)

(From OE-Core rev: 6c7c5f3e23278067a8585debe32dfd0955090b91)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:11 +01:00
Ross Burton
b149a64fcb glibc: relocate locale paths in nativesdk
nativesdk is built with a specific prefix but this will be different at install
time, however glibc hard-codes the path to locale files. Expand these strings to 4K and move them to a magic segment which we can relocate when the SDK is installed.

(From OE-Core rev: 59e0679378aac27c4fea0b06721e0a184a93c100)

(From OE-Core rev: 6456fceed311bcf5b3b9c7682448e51210278d1f)

(From OE-Core rev: db88ef58e5ce0b5d9b24a9bda0cd16a16a54ae6f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:11 +01:00
Ross Burton
4467157edd glibc: don't use host locales in nativesdk
(From OE-Core rev: d7ded85766852689a0d774c896a11d0609004ab2)

(From OE-Core rev: d68b8e95190718d04387ae1bf9e3b73ce14200da)

(From OE-Core rev: 53b7ee6afc247b14da0c016e8d46abebacb11e98)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:11 +01:00
Ross Burton
1106592315 default-distrovars: don't rename locales for nativesdk
(From OE-Core rev: 909da982c74b2ed931a65dda248557cb18f773e0)

(From OE-Core rev: 652e45b756bb73815f2e1ffd9686106a1c3d2549)

(From OE-Core rev: fa13b6f6656ff97aa156854e6d36aa56826b89ad)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-26 15:07:10 +01:00
Drew Moseley
1648bcafa3 beaglebone: Find /boot partition on mmcblk0
After commit edcf39820f the beaglebone
builds fail to mount the boot partition as it is specified in
/etc/fstab with the device node /dev/mmcblkp1.  With systemd in
particular this is considered an error and the system drops into
emergency mode.

(From meta-yocto rev: f97e0e8beef8ce115ecaf40971def8ff3a0cfecd)

Signed-off-by: Drew Moseley <drew.moseley@northern.tech>
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-19 15:56:17 +00:00
Mark Hatle
91870e9277 gcc: Fix internal compiler error for PPC test case "gcc.dg/vmx/7d-02.c"
Fix an internal compiler error on PPC from building a specific test:

$ $CC -S 7d-02.c
7d-02.c: In function â:
7d-02.c:11:5: internal compiler error: in copy_to_mode_reg, at explow.c:612
     vec_st(v, i*16,p);
     ^~~~~~

The failure appears to happen on all optimizations levels as well.

(From OE-Core rev: b042347ee8cdbd2dfb0c2f616a94c4cca4b0ecd1)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-19 15:56:17 +00:00
Mark Hatle
6c6c744457 gcc: Fix test case issue when SSE is not enabled
Whenever "-mno-sse" is used, "-mfpmath" should be set to 387.

The test case should be modified accordingly as below:

/* { dg-additional-options "-mno-sse -mfpmath=387 " { target { i?86-*-* x86_64-*-* } } } */

Original patch from: RAGHUNATH LOLUR <raghunath.lolur@kpit.com>

(From OE-Core rev: b3d0d7b599d605568abdb45057d3f6fbc80224d9)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-19 15:56:16 +00:00
Denys Dmytriyenko
90f01fbd8b maintainers.inc: add myself as maintainer for the new busybox-inittab
(From OE-Core rev: ba2eb6237497494e3ec0296485ded61b024c5ba7)

(From OE-Core rev: 3718d467be290203e3e9d6a174838a4aa89833c2)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-19 15:56:16 +00:00
Denys Dmytriyenko
92f50421dc layer.conf: add busybox-inittab to SIGGEN_EXCLUDERECIPES_ABISAFE
Similar to sysvinit-inittab

(From OE-Core rev: a673d5bbf7e4db6de9a5151df041e6c5db7e413e)

(From OE-Core rev: e4ec23c7b4f2a9b9783d59075a570651806b6284)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-19 15:56:16 +00:00
Denys Dmytriyenko
95ecae14a8 busybox: separate inittab into own package, due to SERIAL_CONSOLES being machine-specific
* Create busybox-inittab recipe to produce machine-specific package with /etc/inittab
  and necessary getty calls for a machine, based on SERIAL_CONSOLES, similar to how
  sysvinit-inittab was done

* Since CONFIG_FEATURE_USE_INITTAB is controlled by VIRTUAL-RUNTIME_init_manager, make
  main busybox package RDEPENDS on busybox-inittab when init_manager is set to busybox

(From OE-Core rev: afb09abd2f0f7555ba156260a87fd3867f591310)

(From OE-Core rev: b96bc3d6e575dab3a39634f5b22a199c4f9fc892)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-19 15:56:16 +00:00
niko.mauno@vaisala.com
22ce3c1206 package_manager.py: Explicit complementary fail
When running bitbake -c populate_sdk <image_name>, it is expected that
packages matching SDKIMAGE_INSTALL_COMPLEMENTARY name mask (unless
declared in PACKAGE_EXCLUDE_COMPLEMENTARY) are installed to resulting
SDK. Underlying mechanism issues a package manager install call for set
of complementary packages. However the mechanism doesn't seem to inform
the user all too obviously in case the package manager command behind
install_complementary() method fails -- and since it is combined with
attempt_only=True option, user might end up wondering why several *-dev,
*-dbg packages are missing from resulting SDK.

Improve associated install() method behaviour in affected OpkgPM and
DpkgPM classes so that a problematic state of affairs becomes directly
obvious for bitbake user, resulting in shell output like:

  WARNING: someimage-1.0-r0 do_populate_sdk: Unable to install packages.
  Command '...' returned 1:
  Collected errors:
   * Solver encountered 1 problem(s):
   * Problem 1/1:
   *   - package somepkg-dev-1.0-r0.x86 requires somepkg = 1.0-r0, but
         none of the providers can be installed
   *
   * Solution 1:
   *   - allow deinstallation of someotherpkg-1.1-r1.x86

   *   - do not ask to install a package providing somepkg-dev

   * Solution 2:
   *   - do not ask to install a package providing somepkg-dev

(From OE-Core rev: 2502bd591c37bf532d02dc6b37fc1e8b5224fb0a)

(From OE-Core rev: 6ea3b9c595893f9148e579dc5628c0b9a239bcc9)

Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 0d4459e708)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-19 15:56:16 +00:00
Otavio Salvador
a149114fec go: Upgrade 1.9 to 1.9.4 stable release
The 1.9.4 fixes a number of issues in the Go compiler and is important
to get in before we start working on 1.10 inclusion.

 - go1.9.1 (released 2017/10/04) includes two security fixes.

 - go1.9.2 (released 2017/10/25) includes fixes to the compiler,
   linker, runtime, documentation, go command, and the crypto/x509,
   database/sql, log, and net/smtp packages. It includes a fix to a
   bug introduced in Go 1.9.1 that broke go get of non-Git
   repositories under certain conditions.

 - go1.9.3 (released 2018/01/22) includes fixes to the compiler,
   runtime, and the database/sql, math/big, net/http, and net/url
   packages.

 - go1.9.4 (released 2018/02/07) includes a security fix to “go get”.

(From OE-Core rev: 06980901ee3cbe9ccb8cd3849bf6506d7b29a9bc)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Matt Madison <matt@madison.systems>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-19 15:56:16 +00:00
Richard Purdie
cca8bde9d7 uninative: Add compatiblity version check
If glibc is newer on the host than in uninative, the failure mode is
pretty nasty for clusters where the sstate is shared, including the Yocto
Project autobuilder.

This check aborts the use of uninative in such scenarios where a newer
glibc version appears and avoids corruption of sstate caches.

We use ldd to check the glibc version since that is included in libc-bin
(or equivalent) which locales use so it should always be present.

(From OE-Core rev: 7dccdf82d49fb11cb2a7cb205ae08311e5d43291)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 15:38:18 -07:00
Richard Purdie
287ed0c9ad yocto-uninative: Upgrade to 1.8 version with glibc 2.27
Now distros are starting to ship glibc 2.27 we need a uninatve version
which contains glibc 2.27 which is in the 1.8 version.

(From OE-Core rev: ead79135851c7b01968375bb6f512cb79d2618ca)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 15:38:18 -07:00
Richard Purdie
28a93c3e51 unfs3: Fix libtirpc usage for unfs3-native version
(From OE-Core rev: de61731aed7f085209cb997b9500777dcd1c74a1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 15:38:18 -07:00
Khem Raj
378fe001b0 libtirpc: Extend to native and nativesdk recipes
(From OE-Core rev: 066f99b3712cac0bc10e8773e814ce960f3be39c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 15:38:18 -07:00
Khem Raj
edd50a4eba unfs3: Fix build with musl
Should also fix build on new build hosts where
with glibc 2.27 rpc support is dropped in favor
of libtirpc

(From OE-Core rev: 6cc4046bfad12cc95b67a7dc72309c6c8577c655)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 15:38:18 -07:00
Juro Bystricky
f1ff13cb0c gcc6: Patch to fix broken gcc-sanitizers build
Backport a patch to fix errors such as:
error: aggregate 'sigaltstack handler_stack' has incomplete type and cannot be defined

(From OE-Core rev: 6a3d9e53e3b3340c48af2242c9871bb2e0a763f5)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:54:06 -07:00
Daniel Díaz
f94e741f1f gdb: fix header ordering for TRAP_HWBKPT
This error can appear in gdb/nat/linux-ptrace.c because of
the order in which some headers are processed:
| In file included from ../../gdb-7.11.1/gdb/nat/linux-ptrace.c:20:0:
| ../../gdb-7.11.1/gdb/nat/linux-ptrace.h:175:22: error: expected identifier before numeric constant
|  # define TRAP_HWBKPT 4
|                       ^
| Makefile:2357: recipe for target 'linux-ptrace.o' failed
| make[2]: *** [linux-ptrace.o] Error 1
| make[2]: *** Waiting for unfinished jobs....
| make[2]: Leaving directory '/oe/build/tmp-rpb-glibc/work/aarch64-linaro-linux/gdb/7.11.1-r0/build-aarch64-linaro-linux/gdb'
| Makefile:8822: recipe for target 'all-gdb' failed
| make[1]: *** [all-gdb] Error 2
| make[1]: Leaving directory '/oe/build/tmp-rpb-glibc/work/aarch64-linaro-linux/gdb/7.11.1-r0/build-aarch64-linaro-linux'
| Makefile:846: recipe for target 'all' failed
| make: *** [all] Error 2

A patch from GDB's current master solves the issue.

(From OE-Core rev: 4aaf747099714ec11158571527396ed9e818729e)

(From OE-Core rev: 5a4f22a0cb9b1a6151256d009d06e130ddc62573)

Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:54:06 -07:00
Fathi Boudra
e81d780f73 glibc: add missing TRAP_BRANCH/TRAP_HWBKPT definitions
Patch submitted upstream, pending to be merged:
https://sourceware.org/bugzilla/show_bug.cgi?id=21286

(From OE-Core rev: 11ebb5054e5ec1171ade90249e3a30ac8174a35a)

(From OE-Core rev: 16bef85e5616f123394c2376ab62f9bf10194abd)

Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:54:06 -07:00
Richard Purdie
62adf92cb7 gcc: Remove patch causing ICE on x86_64 valgrind compile
| ../../valgrind-3.12.0/VEX/priv/host_ppc_isel.c: In function 'iselInt64Expr':
| ../../valgrind-3.12.0/VEX/priv/host_ppc_isel.c:3270:1: internal compiler error: Segmentation fault
|  }
|  ^
| Please submit a full bug report,
| with preprocessed source if appropriate.
| See <http://gcc.gnu.org/bugs.html> for instructions.
| rm -f libvexmultiarch-amd64-linux.a
| Makefile:1813: recipe for target 'priv/libvex_amd64_linux_a-host_ppc_isel.o' failed

Remove the patch to gcc causing this until the issue can be figured out.

(From OE-Core rev: 36be209262ee1e0a7598c9437c9f8c4e926c0e35)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:54:06 -07:00
Juro Bystricky
6f57e8a418 gcc6: Backport few more patches
Backported series of patches from https://github.com/hjl-tools/gcc.git
branch /hjl/indirect/gcc-6-branch/master which contains
an IA patch series for security related issues

(From OE-Core rev: f59291f9a3a7ef65206ef0503ce27eb61dc95caf)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:54:06 -07:00
Andre McCurdy
4732d2936c gcc6: enable FL_LPAE flag for armv7ve cores
The following commit added the FL_LPAE flag to FL_FOR_ARCH7VE, but
neglected to also add it to the armv7ve compatible cores defined in
arm-cores.def.

  af2d9b9e58

The result is that gcc 6.4 now refuses to allow -march=armv7ve and
-mcpu=XXX to be used together, even when -mcpu is set to an armv7ve
compatible core:

  arm-linux-gnueabi-gcc -march=armv7ve -mcpu=cortex-a7 -Werror ...
  error: switch -mcpu=cortex-a7 conflicts with -march=armv7ve switch [-Werror]

Fix by defining flags for armv7ve compatible cores directly from
FL_FOR_ARCH7VE, rather than re-creating the armv7ve flags
independently by combining FL_FOR_ARCH7A with the armv7ve specific
FL_THUMB_DIV and FL_ARM_DIV flags.

(From OE-Core rev: e0d856d64f9e2afd762d6d40bcc6c8dc5e06b430)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:54:06 -07:00
Khem Raj
6e6e9f4cdf gcc7/gcc6: Fix unaligned STRD issue on ARM
Backport
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82445

Fixes [YOCTO 12297]

Cherry-picked from oe-core master 568227133be3f9f015679df3525f6c4f86304fd0

(From OE-Core rev: 7d1fa740451229e7114b5a0c2d3ace39a7618830)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 568227133be3f9f015679df3525f6c4f86304fd0)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:54:06 -07:00
Khem Raj
42c804e351 gcc6: Upgrade to 6.4
Cherry-picked from oe-core master 7874fa86cb583fe6a178b95ead09430486197197

(From OE-Core rev: 86ffec0971b521bdaf9b031005bd3561ff97bdf8)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:54:06 -07:00
Khem Raj
5ed61141e1 gcc: Fix libssh_nonshared linker specs for ppc/musl
The change to link libssp_nonshared.a only for musl was to move
spec file changes to config/linux.h under a conditional when
DEFAULT_LIBC == LIBC_MUSL which worked fine for all but ppc
since gcc for ppc provided its own linux.h overrides which are
used. This patch duplicates the change in those headers too

Cherry-picked from oe-core master 9d39168a6acfa1f289a4448271c0bf9caaea10ec

(From OE-Core rev: 9d265f398a97dccb19811b048b1f4a2dd9d3fdd5)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:54:05 -07:00
Khem Raj
a678744d32 gcc: Link libssp_nonshared.a only on musl targets
glibc already provides the content for libssp_nonshared
in libc_nonshared.a therefore we dont need to make it
universal.

This also fixed build issues on glibc when linking statically
and using -fstack-protector

Fixed errors like
/mnt/a/oe/build/tmp/work/i586-bec-linux/aufs-util/3.14+gitAUTOINC+bdfcc0dcfc-r0/recipe-sysroot/usr/lib/../lib/libc.a(stack_chk_fail.o): In function `__stack_chk_fail':                                                                       /usr/src/debug/glibc/2.26-r0/git/debug/stack_chk_fail.c:27: multiple definition of `__stack_chk_fail_local'                                                                                                                                   /mnt/a/oe/build/tmp/work/i586-bec-linux/aufs-util/3.14+gitAUTOINC+bdfcc0dcfc-r0/recipe-sysroot/usr/lib/../lib/libssp_nonshared.a(libssp_nonshared_la-ssp-local.o):/usr/src/debug/gcc-runtime/7.1.0-r0/gcc-7.1.0/build.i586-bec-linux.i586-bec-linux/i586-bec-linux/libssp/../../../../../../../../work-shared/gcc-7.1.0-r0/gcc-7.1.0/libssp/ssp-local.c:47: first defined here                                                                                                              collect2: error: ld returned 1 exit status

Cherry-picked from oe-core master d71eba26850838b2878efea3f8c392a2eb2ebbfb

(From OE-Core rev: 9ee16f7f57f37e62c1fae3b27d93de2d83b2a804)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:54:05 -07:00
Khem Raj
a498b7248d gcc-runtime: Disable libitm on riscv
Cherry-picked from oe-core master 21caa8bcda93ce67ef58548f7b85d0569d13d0b9

(From OE-Core rev: 956004c369654a1a47c3cf91e82301cb412b1a17)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:54:05 -07:00
Richard Purdie
fe2c3c59e3 bitbake: providers: Fix determinism issue
We saw builds where runtime providers were sometimes changing order and the
build result was therefore non-deterministic. For example it could show:

DEBUG: providers for lib32-initd-functions are: ['lib32-lsbinitscripts', 'lib32-initscripts']
or
DEBUG: providers for lib32-initd-functions are: ['lib32-initscripts', 'lib32-lsbinitscripts']

which could cause a test to pass or fail.

This change ensures we don't rely on the random order of dictonaries in
memory and act deterministically.

(Bitbake rev: 223a0f68530571d2280f526bddbc718fa803a3dc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-09 06:12:02 -08:00
Khem Raj
5ba69a97ab glibc: Update to tip of 2.26
This will make it easy to backport to rocko if needed after 2.27 is landed in master
plus it fixes the aarch64 build issue seen with binutils 2.30

(From OE-Core rev: 774e372d95c9082766477ea6dbfcd10c48ac4658)

(From OE-Core rev: cb7cf1d12377d3b9a1cc159b68fc1d841004e6dd)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

[fixup to align with rocko context]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-27 15:51:03 +00:00
Peter Kjellerstedt
9aaf033303 glibc: Adapt do_install_append_aarch64() for usrmerge
Change hardcoded /lib to ${nonarch_base_libdir} to correctly adapt the
code in do_install_append_aarch64() for when usrmerge is enabled in
DISTRO_FEATURES.

(From OE-Core rev: ac373c9f760463d989d6a1eb3a14b7c5b255b9d4)

(From OE-Core rev: 1c121dcf930b0b2e9f5c6e79715864a753a2d34b)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-27 15:51:03 +00:00
Ross Burton
633519ae97 libtirpc: refresh patches
(From OE-Core rev: 1b674cc1df9e919d61ad45668b0dd3221b9b3544)

(From OE-Core rev: 0faa642260678a4f934c26698edc56793f16277d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-27 15:51:03 +00:00
Ross Burton
19f6f03083 libtirpc: stop dropping in NIS headers
libtirpc prior to 1.0.2 assumed that the system provided nis.h but this isn't
always true.  Until now we've been using a tarball of the missing files from
Gentoo, but libtirpc 1.0.2 added a copy of nis.h to the sources so this isn't
required anymore.

(From OE-Core rev: a6e786e7c8bed33fa269aac99724df606829ec6f)

(From OE-Core rev: a4153060233051f5e1c1e19c4c91350581b0c0f2)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-27 15:51:03 +00:00
Jagadeesh Krishnanjanappa
2c60d1b0dd libunwind: Fix multilib header conflict - libunwind.h
libunwind.h conflicts between 32-bit and 64-bit versions

This patch solves below error:
-- snip --
file /usr/include/libunwind.h conflicts between attempted installs of libunwind-dev-1.2-r0.core2_64 and lib32-libunwind-dev-1.2-r0.i586
-- snip --

(From OE-Core rev: 6fdaf90fe9b8b2360f5a93752745bf248f9e289d)

(From OE-Core rev: f2170de280fa0903aadd5b36a2fb3d317ebac502)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-27 15:51:03 +00:00
Oleksandr Kravchuk
985609ed8f libmpc: fix SRC_URI
(From OE-Core rev: 462021964a79a6c940cbce80a31a2ea3283e797c)

(From OE-Core rev: 04e5af853927cff2072fb4278a9d9fa2bd99812f)

Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-27 15:51:03 +00:00
Armin Kuster
200186b192 siteinfo: add aarch64_illp32 decode
(From OE-Core rev: 8f9d6f92edb5682a7f2012af6466dbcd19e2e422)

(From OE-Core rev: 5d42dc0e3c7a91047d66cc393aec75989ea1f53a)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-27 15:51:03 +00:00
Armin Kuster
0b88595a44 update-rc.d: QA regression.
I noticed many new QA warning with arm64 mulitlib
suspicious values 'initd-functions-dev' in RRECOMMENDS [multilib]

I believe this is a regression via commit
http://cgit.openembedded.org/openembedded-core/commit/meta/classes/update-rc.d.bbclass?id=cdcebd81c872cb7386c658998e27cf24e1d0447c

(From OE-Core rev: 223119dc96d2e37e3788df630d1995bf56dc156a)

(From OE-Core rev: 210e4ff3848b60073c9aa3c3a4fa2e4d560cfd19)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-27 15:51:03 +00:00
Manjukumar Matha
b138d655df webkitgtk_2.18.6.bb: Fix configure failure for aarch64 build
Fix configure failure for aarch64

| -- Performing Test CXX_COMPILER_SUPPORTS_-fcolor-diagnostics - Failed
| -- Performing Test CXX_COMPILER_SUPPORTS_-fdiagnostics-color=always
| -- Performing Test CXX_COMPILER_SUPPORTS_-fdiagnostics-color=always -Success
| CMake Error at Source/cmake/OptionsCommon.cmake:42 (WEBKIT_PREPEND_GLOBAL_COMPILER_FLAG):
|   Unknown CMake command "WEBKIT_PREPEND_GLOBAL_COMPILER_FLAG".
| Call Stack (most recent call first):
|   Source/cmake/WebKitCommon.cmake:58 (include)
|   CMakeLists.txt:166 (include)

(From OE-Core rev: 86b38c9b1def872a5bbabb842e33a12eb83b275c)

(From OE-Core rev: 6fa5293e6628ab0bb93da1c6e622194286c9d957)

Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-27 15:51:03 +00:00
Khem Raj
75722f462e eglinfo-fb: Pass -DMESA_EGL_NO_X11_HEADERS to cxxflags
This helps in compiling on graphics drivers which use
this define to differentiate between eglfs and x11 headers
e.g. mali or mesa

(From OE-Core rev: 2638482c3b2a5766d2a1377a589245664140e270)

(From OE-Core rev: 670ccc391ed95564279d36a7967d46a922d69c95)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-27 15:51:03 +00:00
Denys Dmytriyenko
76af05d052 openssl: remove patch from 1.0.2m left behind after update to 1.0.2n
(From OE-Core rev: 2ccbd281c267d93ab1af854f603f988fc8dd0231)

(From OE-Core rev: b90c5c98b97582e6f1cadaf67a3bdcba05a3d038)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-27 15:51:03 +00:00
Alexander Kanavin
040b85b155 p11-kit: take source code from official git
The previous tarball URI seems to be gone.

Also, adjust a few things to make it actually build;
handling autotools-based projects from git checkouts is always harder
than taking them from tarballs :-(

(From OE-Core rev: b4542e867d54c56e6ef088fac28ae3d5e6c0d7bc)

(From OE-Core rev: af250003bdda95eb8b4eebff059a654e52d2497f)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-27 15:51:03 +00:00
Anuj Mittal
342fbd6a3e linux-yocto: update genericx86* SRCREVs for v4.12
Bump to stable kernel release 4.12.20

(From meta-yocto rev: 36ce71d96d3175ec9eeb254caa0ad4cf3da87095)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-20 14:56:18 +00:00
Kevin Hao
2b5d5d7ecd meta-yocto-bsp: bump to the latest linux stable kernel for the non-x86 BSPs
Bump to the latest stable kernel for 4.4, 4.9 and 4.12.

(From meta-yocto rev: 9e8ef5a41850594c20d2063815fc52b75cc7f765)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-20 14:56:18 +00:00
Anuj Mittal
d75a48f791 linux-yocto: update genericx86* SRCREVs for v4.9
Bump to stable kernel release 4.9.78.

(From meta-yocto rev: 4cdd75c13693512c70fad0ab8bfb8327899b8ae7)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-20 14:56:18 +00:00
Anuj Mittal
0a3bdfe36d linux-yocto: update genericx86* SRCREVs for v4.4
Bump to stable kernel release 4.4.113.

(From meta-yocto rev: a99200c9d45b40b95c8a75503fe4a821e4b1ae9e)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-20 14:56:18 +00:00
Anuj Mittal
771144419d linux-yocto: update genericx86* SRCREVs for v4.12
Bump to stable kernel release 4.12.19.

(From meta-yocto rev: 016df72bc06ae722e2e7b998f21a3d12f3a4b60e)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-20 14:56:18 +00:00
Anuj Mittal
867ecd64b9 linux-yocto: update genericx86* SRCREVs for v4.12
Bump to stable kernel release v4.12.18.

(From meta-yocto rev: 2188c31e379595d8e7497aeb459e0af147ce05a6)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-20 14:56:18 +00:00
Anuj Mittal
a42a1d9ac2 linux-yocto: update genericx86* SRCREVs for v4.9
Bump to stable kernel release v4.9.65.

(From meta-yocto rev: 0a5ac4a30f19ed57360fd04ac00b627e6986c937)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-20 14:56:18 +00:00
Anuj Mittal
78b184ac0b linux-yocto: update genericx86* SRCREVs for v4.4
Bump to stable kernel release v4.4.93.

(From meta-yocto rev: fe3547a72153997bb6c3b973d2ee39b69d658679)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-20 14:56:18 +00:00
Kevin Hao
93d7b07cfc meta-yocto-bsp: bump to the latest linux stable kernel for the non-x86 BSPs
Bump to the latest stable kernel for 4.4, 4.9 and 4.12.

(From meta-yocto rev: f70b990b5ebd74b1605a81030c0f966f9d63516c)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-20 14:56:18 +00:00
Bruce Ashfield
74bc3fbbdb linux-yocto/4.12: fix qemuarm64 boot failure
The -stable update to 4.12 needs one more commit to fix the boot of
qemuarm64. This will be part of the next 4.12 -stable series, but for
now, we merge the patch directly.

  40146055677a mm/sparsemem: Fix ARM64 boot crash when CONFIG_SPARSEMEM_EXTREME=y

(From OE-Core rev: a8eb060cbbbb00581e8260dd6bfc31cff5558e8f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-20 14:48:42 +00:00
Bruce Ashfield
adc8f73e9e kernel-yocto/4.9: update to v4.9.82
Updating to the korg -stable release of 4.9.82 which comprises the
following commits:

   3e598a7089ee Linux 4.9.82
   2de1085e8deb ftrace: Remove incorrect setting of glob search field
   df113487f844 mn10300/misalignment: Use SIGSEGV SEGV_MAPERR to report a failed user copy
   38e3bc59e0dd ovl: fix failure to fsync lower dir
   a468a3749bb5 acpi, nfit: fix register dimm error handling
   623c28ee02b3 ACPI: sbshc: remove raw pointer from printk() message
   3169a7c06e91 drm/i915: Avoid PPS HW/SW state mismatch due to rounding
   8fe7ceaf8a4e btrfs: Handle btrfs_set_extent_delalloc failure in fixup worker
   3c83fe52b5c1 lib/ubsan: add type mismatch handler for new GCC/Clang
   3f8130127c0c lib/ubsan.c: s/missaligned/misaligned/
   1bb09d05a41c clocksource/drivers/stm32: Fix kernel panic with multiple timers
   944723bf84d3 pktcdvd: Fix pkt_setup_dev() error path
   86d408d10efd pinctrl: intel: Initialize GPIO properly when used through irqchip
   10ddc77ffb92 EDAC, octeon: Fix an uninitialized variable warning
   2d4e295284a9 xtensa: fix futex_atomic_cmpxchg_inatomic
   71611b37cca4 alpha: fix formating of stack content
   7d22d92ca6c9 alpha: fix reboot on Avanti platform
   68d18e90eeec alpha: fix crash if pthread_create races with signal delivery
   21f94109d0f1 signal/sh: Ensure si_signo is initialized in do_divide_error
   498b8b7453a3 signal/openrisc: Fix do_unaligned_access to send the proper signal
   5795b076bd7f Bluetooth: btusb: Restore QCA Rome suspend/resume fix with a "rewritten" version
   84bf682f5342 Revert "Bluetooth: btusb: fix QCA Rome suspend/resume"
   6913d1b190b9 Bluetooth: btsdio: Do not bind to non-removable BCM43341
   df9658e80605 HID: quirks: Fix keyboard + touchpad on Toshiba Click Mini not working
   71baf27d8c2b pipe: fix off-by-one error when checking buffer limits
   a705c24b5d50 pipe: actually allow root to exceed the pipe buffer limits
   91cebf98cd94 kernel/relay.c: revert "kernel/relay.c: fix potential memory leak"
   33a4459bdef1 kernel/async.c: revert "async: simplify lowest_in_progress()"
   da3b224658d3 fs/proc/kcore.c: use probe_kernel_read() instead of memcpy()
   1666d38f4ed6 media: cxusb, dib0700: ignore XC2028_I2C_FLUSH
   b2e7c63cad18 media: ts2020: avoid integer overflows on 32 bit machines
   d1d85ae79d5e media: dvb-frontends: fix i2c access helpers for KASAN
   b7f9df60f410 watchdog: imx2_wdt: restore previous timeout after suspend+resume
   eb10c5973eb2 ASoC: skl: Fix kernel warning due to zero NHTL entry
   76376783a453 ASoC: rockchip: i2s: fix playback after runtime resume
   f6741799aa53 KVM: arm/arm64: Handle CPU_PM_ENTER_FAILED
   ba88289e7acb KVM: nVMX: Fix races when sending nested PI while dest enters/leaves L2
   51e22c571fad arm: KVM: Fix SMCCC handling of unimplemented SMC/HVC calls
   68f2013e1ff8 crypto: sha512-mb - initialize pending lengths correctly
   a96e82079025 crypto: caam - fix endless loop when DECO acquire fails
   f2d4bed9eabf media: v4l2-compat-ioctl32.c: refactor compat ioctl32 logic
   437c4ec62efb media: v4l2-compat-ioctl32.c: don't copy back the result for certain errors
   30dcb0756b0f media: v4l2-compat-ioctl32.c: drop pr_info for unknown buffer type
   30ac343c4222 media: v4l2-compat-ioctl32.c: copy clip list in put_v4l2_window32
   55e3f3e6846c media: v4l2-compat-ioctl32: Copy v4l2_window->global_alpha
   8465657a3be4 media: v4l2-compat-ioctl32.c: make ctrl_is_pointer work for subdevs
   9a7cd41be3ad media: v4l2-compat-ioctl32.c: fix ctrl_is_pointer
   eec955463de3 media: v4l2-compat-ioctl32.c: copy m.userptr in put_v4l2_plane32
   daff4d009f4f media: v4l2-compat-ioctl32.c: avoid sizeof(type)
   81e0acf07015 media: v4l2-compat-ioctl32.c: move 'helper' functions to __get/put_v4l2_format32
   02129c9bc235 media: v4l2-compat-ioctl32.c: fix the indentation
   f294548da645 media: v4l2-compat-ioctl32.c: add missing VIDIOC_PREPARE_BUF
   e78d9fdf5ecc media: v4l2-ioctl.c: don't copy back the result for -ENOTTY
   daaa81c48402 nsfs: mark dentry with DCACHE_RCUACCESS
   b93728341fb7 crypto: poly1305 - remove ->setkey() method
   45f31106baa3 crypto: mcryptd - pass through absence of ->setkey()
   c1ebf9f83547 crypto: cryptd - pass through absence of ->setkey()
   d2b492bda560 crypto: hash - introduce crypto_hash_alg_has_setkey()
   016572d31d32 ahci: Add Intel Cannon Lake PCH-H PCI ID
   72c0031a914e ahci: Add PCI ids for Intel Bay Trail, Cherry Trail and Apollo Lake AHCI
   3332b6f3276b ahci: Annotate PCI ids for mobile Intel chipsets as such
   058d13f85da6 kernfs: fix regression in kernfs_fop_write caused by wrong type
   b79d8854ee0e NFS: Fix a race between mmap() and O_DIRECT
   967f650f8835 NFS: reject request for id_legacy key without auxdata
   ca2c316f7cb4 NFS: commit direct writes even if they fail partially
   d1840343f948 NFS: Add a cond_resched() to nfs_commit_release_pages()
   e1df8c682df6 nfs/pnfs: fix nfs_direct_req ref leak when i/o falls back to the mds
   298dc6c6696b ubifs: Massage assert in ubifs_xattr_set() wrt. init_xattrs
   de14d0c124ca ubi: block: Fix locking for idr_alloc/idr_remove
   84f9d8536c8b ubi: fastmap: Erase outdated anchor PEBs during attach
   44ebd641be56 mtd: nand: sunxi: Fix ECC strength choice
   d80cd3e93653 mtd: nand: Fix nand_do_read_oob() return value
   d25d52ff1011 mtd: nand: brcmnand: Disable prefetch by default
   cbdabc7027b1 mtd: cfi: convert inline functions to macros
   198a7ddaf5d2 media: hdpvr: Fix an error handling path in hdpvr_probe()
   f320dd20224c media: dvb-usb-v2: lmedm04: move ts2020 attach to dm04_lme2510_tuner
   1ff1353a03c6 media: dvb-usb-v2: lmedm04: Improve logic checking of warm start
   7e2fb808d3c7 dccp: CVE-2017-8824: use-after-free in DCCP code
   a384e5437f70 sched/rt: Up the root domain ref count when passing it around via IPIs
   1c679981309b sched/rt: Use container_of() to get root domain in rto_push_irq_work_func()
   57ddb8eae517 usb: gadget: uvc: Missing files for configfs interface
   0b376535ad54 posix-timer: Properly check sigevent->sigev_notify
   83946c33b9b9 kaiser: fix compile error without vsyscall
   297c7cc4b565 dmaengine: dmatest: fix container_of member in dmatest_callback
   7e68916c361a CIFS: zero sensitive data when freeing
   f59eda16646a cifs: Fix autonegotiate security settings mismatch
   ee6858f72a39 cifs: Fix missing put_xid in cifs_file_strict_mmap
   ba4f9c192d3b powerpc/pseries: include linux/types.h in asm/hvcall.h
   7f3bd8db9974 Linux 4.9.81
   2760f452a718 x86/microcode: Do the family check first
   230ca8fb9515 drm: rcar-du: Fix race condition when disabling planes at CRTC stop
   758e22acf4fd drm: rcar-du: Use the VBK interrupt for vblank events
   1cb145c67260 ASoC: rsnd: avoid duplicate free_irq()
   24978c21f7ed ASoC: rsnd: don't call free_irq() on Parent SSI
   a7de0e9718c3 ASoC: simple-card: Fix misleading error message
   7c17a1e5852a crypto: tcrypt - fix S/G table for test_aead_speed()
   fc00dde96099 KVM/SVM: Allow direct access to MSR_IA32_SPEC_CTRL
   e5a83419c957 KVM/VMX: Allow direct access to MSR_IA32_SPEC_CTRL
   755502f810c6 KVM/VMX: Emulate MSR_IA32_ARCH_CAPABILITIES
   7013129a4034 KVM/x86: Add IBPB support
   6236b782eba3 KVM: VMX: make MSR bitmaps per-VCPU
   ff546f9d83d3 KVM: VMX: introduce alloc_loaded_vmcs
   46e24dfc2dfe KVM: nVMX: Eliminate vmcs02 pool
   b7649e177670 KVM: nVMX: mark vmcs12 pages dirty on L2 exit
   1edccf20b9d8 KVM: nVMX: vmx_complete_nested_posted_interrupt() can't fail
   19b1d4bdfe5c KVM: nVMX: kmap() can't fail
   34900390e966 x86/speculation: Fix typo IBRS_ATT, which should be IBRS_ALL
   4b234a253e52 x86/pti: Mark constant arrays as __initconst
   961cb14c615d x86/spectre: Simplify spectre_v2 command line parsing
   fe4333893936 x86/retpoline: Avoid retpolines for built-in __init functions
   eb99bd6341cb x86/kvm: Update spectre-v1 mitigation
   7552556f65af x86/paravirt: Remove 'noreplace-paravirt' cmdline option
   cda6b6074cc6 x86/cpuid: Fix up "virtual" IBRS/IBPB/STIBP feature bits on Intel
   f67e05d1506a x86/spectre: Fix spelling mistake: "vunerable"-> "vulnerable"
   359fde6bd0ec x86/spectre: Report get_user mitigation for spectre_v1
   0781a50a30d3 nl80211: Sanitize array index in parse_txq_params
   c26ceec69576 vfs, fdtable: Prevent bounds-check bypass via speculative execution
   c3193fd49f6f x86/syscall: Sanitize syscall table de-references under speculation
   398a39311c0b x86/get_user: Use pointer masking to limit speculation
   065eae4be83d x86/uaccess: Use __uaccess_begin_nospec() and uaccess_try_nospec
   ae75f83e79e4 x86/usercopy: Replace open coded stac/clac with __uaccess_{begin, end}
   e06d7bfb223e x86: Introduce __uaccess_begin_nospec() and uaccess_try_nospec
   1f03d140e2f5 x86: Introduce barrier_nospec
   8c33e2d23a68 x86: Implement array_index_mask_nospec
   579ef9ea20d6 array_index_nospec: Sanitize speculative array de-references
   899ab2cf9138 Documentation: Document array_index_nospec
   f03d00ba0b47 x86/asm: Move 'status' from thread_struct to thread_info
   572e50917811 x86/entry/64: Push extra regs right away
   d7f8d17406d6 x86/entry/64: Remove the SYSCALL64 fast path
   9eedeb72c412 x86/spectre: Check CONFIG_RETPOLINE in command line parser
   77d1424d2fb8 x86/retpoline: Simplify vmexit_fill_RSB()
   77b3b3ee2386 x86/cpufeatures: Clean up Spectre v2 related CPUID flags
   98911226d51e x86/cpu/bugs: Make retpoline module warning conditional
   557cbfa22211 x86/bugs: Drop one "mitigation" from dmesg
   18bc71dff630 x86/nospec: Fix header guards names
   31fd9eda7f69 x86/speculation: Add basic IBPB (Indirect Branch Prediction Barrier) support
   6c5e49150a51 x86/cpufeature: Blacklist SPEC_CTRL/PRED_CMD on early Spectre v2 microcodes
   a8799fd14d9f x86/pti: Do not enable PTI on CPUs which are not vulnerable to Meltdown
   af57d43c908f x86/msr: Add definitions for new speculation control MSRs
   c26a6bea26b3 x86/cpufeatures: Add AMD feature bits for Speculation Control
   40532f65cccc x86/cpufeatures: Add Intel feature bits for Speculation Control
   d3eba7744075 x86/cpufeatures: Add CPUID_7_EDX CPUID leaf
   a1745ad92f50 module/retpoline: Warn about missing retpoline in module
   ec86a1dad0c0 KVM: VMX: Make indirect call speculation safe
   fea3c9a54012 KVM: x86: Make indirect calls in emulator speculation safe
   734e687d1d7b x86/retpoline: Remove the esp/rsp thunk
   9692602ab850 KEYS: encrypted: fix buffer overread in valid_master_desc()
   0a01ecbd23a9 b43: Add missing MODULE_FIRMWARE()
   113d22965c78 media: soc_camera: soc_scale_crop: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE
   dd7b14c3e05e x86/microcode/AMD: Do not load when running on a hypervisor
   0a9b2dec6c12 x86/asm: Fix inline asm call constraints for GCC 4.4
   b671f40419bb soreuseport: fix mem leak in reuseport_add_sock()
   5771415d24bf ipv6: Fix SO_REUSEPORT UDP socket with implicit sk_ipv6only
   fa46d1437fab cls_u32: add missing RCU annotation.
   b980f718f525 tcp_bbr: fix pacing_gain to always be unity when using lt_bw
   73adb3b74efd vhost_net: stop device during reset owner
   ee46a8614204 tcp: release sk_frag.page in tcp_disconnect
   5db5cabbf09d r8169: fix RTL8168EP take too long to complete driver initialization.
   9f2f873d5a1c qmi_wwan: Add support for Quectel EP06
   97fe899816a6 qlcnic: fix deadlock bug
   ce43c07fcef8 net: igmp: add a missing rcu locking section
   7d3d60ef2256 ip6mr: fix stale iterator
   ffcf167d348e serial: core: mark port as initialized after successful IRQ change
   400d3c8b0c7f kaiser: allocate pgd with order 0 when pti=off
   ae1fc8de51b1 x86/pti: Make unpoison of pgd for trusted boot work for real
   0a61cd6caed7 kaiser: fix intel_bts perf crashes
   374c84de94af ASoC: pcm512x: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE
   0ee4f5e7bbff pinctrl: pxa: pxa2xx: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE
   781a2d683110 auxdisplay: img-ascii-lcd: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE
   9fed3978c39b powerpc/64s: Allow control of RFI flush via debugfs
   1f0c936f431d powerpc/64s: Wire up cpu_show_meltdown()
   6aec12e1869e powerpc/powernv: Check device-tree for RFI flush settings
   7db0fff62f52 powerpc/pseries: Query hypervisor for RFI flush settings
   0ef9f8289edf powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti
   c3b82ebee6e0 powerpc/64s: Add support for RFI flush of L1-D cache
   48cc95d4e4d6 powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL
   00e40620a51e powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL
   9d914324d966 powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL
   8fd3f98d0f4d powerpc/64: Add macros for annotating the destination of rfid/hrfid
   be6641a7e6f7 powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper
   331b057d4f3c Linux 4.9.80
   1333c3e996eb spi: imx: do not access registers while clocks disabled
   5846849a1ac7 serial: imx: Only wakeup via RTSDEN bit if the system has RTS/CTS
   9df847674ede usbip: vhci_hcd: clear just the USB_PORT_STAT_POWER bit
   57d4bb1beecb usb/gadget: Fix "high bandwidth" check in usb_gadget_ep_match_desc()
   92e64a1079fa usb: uas: unconditionally bring back host after reset
   f24d171a8100 usb: f_fs: Prevent gadget unbind if it is already unbound
   800de0fab17a USB: serial: simple: add Motorola Tetra driver
   f80079536bb6 usbip: list: don't list devices attached to vhci_hcd
   4c6fcc3425e1 usbip: prevent bind loops on devices attached to vhci_hcd
   ec719c52af16 USB: serial: io_edgeport: fix possible sleep-in-atomic
   aa6a93fd0c38 CDC-ACM: apply quirk for card reader
   c3b1f3137751 USB: cdc-acm: Do not log urb submission errors on disconnect
   068cc4ad2b23 USB: serial: pl2303: new device id for Chilitag
   2ef0d2ad5ce8 usb: option: Add support for FS040U modem
   55eaecffe3d6 tty: fix data race between tty_init_dev and flush of buf
   383e0620b70b staging: lustre: separate a connection destroy from free struct kib_conn
   f94b238fb856 drm/vc4: Move IRQ enable to PM path
   ace1911b7620 staging: rtl8188eu: Fix incorrect response to SIOCGIWESSID
   0e216b0a0f74 usb: gadget: don't dereference g until after it has been null checked
   b4bfc8ef594a media: usbtv: add a new usbid
   c16c193e3abc ARM: dts: NSP: Fix PPI interrupt types
   9adb2a0f9a47 iwlwifi: mvm: fix the TX queue hang timeout for MONITOR vif type
   a248dc6a55b7 scsi: ufs: ufshcd: fix potential NULL pointer dereference in ufshcd_config_vreg
   fa64914313c1 scsi: aacraid: Prevent crash in case of free interrupt during scsi EH path
   fde77c712ac0 xfs: Properly retry failed dquot items in case of error during buffer writeback
   d96024440ee5 xfs: ubsan fixes
   9301165c4623 drm/omap: Fix error handling path in 'omap_dmm_probe()'
   f7170eb80aff drm/bridge: tc358767: fix 1-lane behavior
   8ae615fecee5 drm/bridge: tc358767: fix AUXDATAn registers access
   1bdfc52c331a drm/bridge: tc358767: fix timing calculations
   c55908604ecc drm/bridge: tc358767: fix DP0_MISC register set
   8d4bfe89aacf drm/bridge: tc358767: filter out too high modes
   5f6a0441ca0d drm/bridge: tc358767: do no fail on hi-res displays
   7b8623841f2b kmemleak: add scheduling point to kmemleak_scan()
   d2a67f7afcad SUNRPC: Allow connect to return EHOSTUNREACH
   c4ecc2f69643 quota: Check for register_shrinker() failure.
   d47907bcac94 net: ethernet: xilinx: Mark XILINX_LL_TEMAC broken on 64-bit
   e11616d5e6c3 drm/amdgpu: don't try to move pinned BOs
   54a1fdff1b09 xfs: fortify xfs_alloc_buftarg error handling
   98ae1ca7534e bnxt_en: Fix an error handling path in 'bnxt_get_module_eeprom()'
   d5a746cf4797 hwmon: (pmbus) Use 64bit math for DIRECT format values
   3b7742374f3e lockd: fix "list_add double add" caused by legacy signal interface
   f25e222ccc50 nfsd: check for use of the closed special stateid
   f35ab8e2eeb8 grace: replace BUG_ON by WARN_ONCE in exit_net hook
   2a7d4a723d2e nfsd: Ensure we check stateid validity in the seqid operation checks
   5cd3586ca8d4 nfsd: CLOSE SHOULD return the invalid special stateid for NFSv4.x (x>0)
   c57767b60962 auxdisplay: img-ascii-lcd: Only build on archs that have IOMEM
   c6a34556f539 xen-netfront: remove warning when unloading module
   b5bfda0f8e29 xfs: always free inline data before resetting inode fork during ifree
   5c0b19bd8cff KVM: VMX: Fix rflags cache during vCPU reset
   b0fa04e8429e KVM: X86: Fix softlockup when get the current kvmclock
   90ef2c30ebd3 reiserfs: remove unneeded i_version bump
   8cfb3965ebcd btrfs: fix deadlock when writing out space cache
   030d4676a268 mac80211: fix the update of path metric for RANN frame
   03899a46c223 openvswitch: fix the incorrect flow action alloc size
   827558408206 drm/amdkfd: Fix SDMA oversubsription handling
   16980affa1b0 drm/amdkfd: Fix SDMA ring buffer size calculation
   8afdbb165a79 drm/amdgpu: Fix SDMA load/unload sequence on HWS disabled mode
   409982cbb5eb bcache: check return value of register_shrinker
   6436981ba6d1 cpufreq: Add Loongson machine dependencies
   876b31fd9815 KVM: x86: ioapic: Preserve read-only values in the redirection table
   1d3ab3b2964e ACPI / bus: Leave modalias empty for devices which are not present
   a9f2c1693667 KVM: x86: ioapic: Clear Remote IRR when entry is switched to edge-triggered
   2f9e94ef498d KVM: x86: ioapic: Fix level-triggered EOI and IOAPIC reconfigure race
   ec73d16bc7ce KVM: X86: Fix operand/address-size during instruction decoding
   114de9bfefa5 KVM: x86: Don't re-execute instruction when not passing CR2 value
   60d9b22b1ffc KVM: x86: emulator: Return to user-mode on L1 CPL=0 emulation failure
   d8f75b4c7f25 cpupower : Fix cpupower working when cpu0 is offline
   82e57cdce058 cpupowerutils: bench - Fix cpu online check
   036c227cdd1c drm/vc4: Account for interrupts in flight
   30942f91b5a5 igb: Free IRQs when device is hotplugged
   3a98d0753928 mtd: nand: denali_pci: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE
   e29997d55268 gpio: ath79: add missing MODULE_DESCRIPTION/LICENSE
   cb1a0b51d103 gpio: iop: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE
   517931760e69 power: reset: zx-reboot: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE
   ddba3c67a5b8 HID: wacom: EKR: ensure devres groups at higher indexes are released
   b7edc45f3ada crypto: af_alg - whitelist mask and type
   1ce8e52f6f36 crypto: sha3-generic - fixes for alignment and big endian operation
   95259cb008ba crypto: aesni - handle zero length dst buffer
   f1803207b5ea crypto: ecdh - fix typo in KPP dependency of CRYPTO_ECDH
   cc1fa4a7b653 gpio: Fix kernel stack leak to userspace
   241c04f75e90 gpio: stmpe: i2c transfer are forbiden in atomic context
   efe3f94f83d2 tools/gpio: Fix build error with musl libc
   2a7076e71575 RDMA/mlx5: set UMR wqe fence according to HCA cap
   20e6f5bdf542 net/mlx5: Define interface bits for fencing UMR wqe
   56bc086358ca loop: fix concurrent lo_open/lo_release
   6c6f924f9c62 Linux 4.9.79
   f12d0602633d nfsd: auth: Fix gid sorting when rootsquash enabled
   f531fbb06a56 bpf: reject stores into ctx via st and xadd
   265d7657c9ba bpf: fix 32-bit divide by zero
   4606077802f2 bpf: fix divides by zero
   5cb917aa1f1e bpf: avoid false sharing of map refcount with max_entries
   fcabc6d00885 bpf: arsh is not supported in 32 bit alu thus reject it
   a3d6dd6a66c1 bpf: introduce BPF_JIT_ALWAYS_ON config
   5226bb3b9551 bpf: fix bpf_tail_call() x64 JIT
   c964ad34f6d9 x86: bpf_jit: small optimization in emit_bpf_tail_call()
   c98ff7299b40 hrtimer: Reset hrtimer cpu base proper on CPU hotplug
   9f3a6cadf494 x86/microcode/intel: Extend BDW late-loading further with LLC size check
   dc1932c69835 perf/x86/amd/power: Do not load AMD power module on !AMD platforms
   eecfa2eeefe3 flow_dissector: properly cap thoff field
   18717ee28ef5 tun: fix a memory leak for tfile->tx_array
   1105145cb3d5 mlxsw: spectrum_router: Don't log an error on missing neighbor
   3110e2134c97 gso: validate gso_type in GSO handlers
   cc99c6d59adf ip6_gre: init dev->mtu and dev->hard_header_len correctly
   1711ba166e5f be2net: restore properly promisc mode after queues reconfiguration
   00f9e47c6f9d ppp: unlock all_ppp_mutex before registering device
   260eb694b5a4 ipv4: Make neigh lookup keys for loopback/point-to-point devices be INADDR_ANY
   014510b11781 net: Allow neigh contructor functions ability to modify the primary_key
   66c16a22e3b1 vmxnet3: repair memory leak
   0e52703d0746 tipc: fix a memory leak in tipc_nl_node_get_link()
   2f056e7def42 sctp: return error if the asoc has been peeled off in sctp_wait_for_sndbuf
   8e3534ea657e sctp: do not allow the v4 socket to bind a v4mapped v6 address
   0f51492d1bd5 r8169: fix memory corruption on retrieval of hardware statistics.
   1bd21b158e07 pppoe: take ->needed_headroom of lower device into account on xmit
   cf67be7a1a21 net: tcp: close sock if net namespace is exiting
   a44d91150f33 net: qdisc_pkt_len_init() should be more robust
   0ae16964f215 net: igmp: fix source address check for IGMPv3 reports
   283498b4ca35 lan78xx: Fix failure in USB Full Speed
   c2ceff11b46e ipv6: ip6_make_skb() needs to clear cork.base.dst
   fb50d8c9169e ipv6: fix udpv6 sendmsg crash caused by too small MTU
   8b0d3e81cdec ipv6: Fix getsockopt() for sockets with default IPV6_AUTOFLOWLABEL
   5bb5ae9718f6 dccp: don't restart ccid2_hc_tx_rto_expire() if sk in closed state
   5f6c581bcb3c eventpoll.h: add missing epoll event masks
   9a0be5afbfbb vsyscall: Fix permissions for emulate mode with KAISER/PTI
   1be7d46e775c um: link vmlinux with -no-pie
   d680db722516 orangefs: fix deadlock; do not write i_size in read_iter
   42f0aba58e00 Input: trackpoint - force 3 buttons if 0 button is reported
   19a7db1e2ef3 mm: fix 100% CPU kswapd busyloop on unreclaimable nodes
   e62b0c661f65 Revert "module: Add retpoline tag to VERMAGIC"
   c41bb027ed63 scsi: libiscsi: fix shifting of DID_REQUEUE host byte
   7b50205cf8b9 fs/fcntl: f_setown, avoid undefined behaviour
   0ccfbd4d6f02 reiserfs: don't preallocate blocks for extended attributes
   b7d25282b75e reiserfs: fix race in prealloc discard
   898eeca02a55 netfilter: xt_osf: Add missing permission checks
   2c3184ea8032 netfilter: nfnetlink_cthelper: Add missing permission checks
   2915f16bdce2 ACPICA: Namespace: fix operand cache leak
   3a53accd9c39 ACPI / scan: Prefer devices without _HID/_CID for _ADR matching
   542cde0e3cc2 ipc: msg, make msgrcv work with LONG_MIN
   685cce58f1c2 mm, page_alloc: fix potential false positive in __zone_watermark_ok
   714c19ef57a5 cma: fix calculation of aligned offset
   bc0e2174b092 hwpoison, memcg: forcibly uncharge LRU pages
   c57664bd1299 mm/mmap.c: do not blow on PROT_NONE MAP_FIXED holes in the stack
   1d8c402e0c46 drivers: base: cacheinfo: fix boot error message when acpi is enabled
   f5aaa5a2836d drivers: base: cacheinfo: fix x86 with CONFIG_OF enabled
   318e17d09cbc Prevent timer value 0 for MWAITX
   45ee9d5e97a4 KVM: arm/arm64: Check pagesize when allocating a hugepage at Stage 2
   41e4aa17bc02 can: af_can: canfd_rcv(): replace WARN_ONCE by pr_warn_once
   40bf2c0c1c9e can: af_can: can_rcv(): replace WARN_ONCE by pr_warn_once
   69e78e7214e3 usbip: Fix potential format overflow in userspace tools
   853c39f239eb usbip: Fix implicit fallthrough warning
   ce601a07bc50 usbip: prevent vhci_hcd driver from leaking a socket pointer address
   5c26ee198fca orangefs: initialize op on loop restart in orangefs_devreq_read
   fb39345e7314 orangefs: use list_for_each_entry_safe in purge_waiting_ops
   c36c940cd4aa x86/asm/32: Make sync_core() handle missing CPUID on all 32-bit kernels

(From OE-Core rev: 2db2bfa47dd3e04b67e5a1642d36ac6f1eff245f)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-20 14:48:42 +00:00
Bruce Ashfield
789a122a8d linux-yocto/4.12: update to v4.12.20
Updating to Paul Gortmaker's 4.12.20 release, which comprises
the following commits:

   26041ea62c10 Linux 4.12.20
   80da9fc42759 kvm: x86: fix RSM when PCID is non-zero
   94ff73e84af3 x86/pti: Rename BUG_CPU_INSECURE to BUG_CPU_MELTDOWN
   1c6aaef6e08f x86/alternatives: Add missing '\n' at end of ALTERNATIVE inline asm
   a14ac5bc4953 x86/tlb: Drop the _GPL from the cpu_tlbstate export
   a95cc558c4ba x86/events/intel/ds: Use the proper cache flush method for mapping ds buffers
   e94e2440d266 x86/kaslr: Fix the vaddr_end mess
   ec2c4771ab78 x86/mm: Map cpu_entry_area at the same place on 4/5 level
   21390d1cf697 x86/mm: Set MODULES_END to 0xffffffffff000000
   a657f6bde81f x86/process: Define cpu_tss_rw in same section as declaration
   f0ca9ecfacd8 x86/pti: Switch to kernel CR3 at early in entry_SYSCALL_compat()
   882c46ebc1eb x86/pti: Make sure the user/kernel PTEs match
   0920dd036f51 x86/cpu, x86/pti: Do not enable PTI on AMD processors
   2832199b24b5 x86/pti: Enable PTI by default
   abe84bdf0450 mm/mprotect: add a cond_resched() inside change_pmd_range()
   79c74e87dd70 kernel/acct.c: fix the acct->needcheck check in check_free_space()
   8097b1b3ed8e x86/espfix/64: Fix espfix double-fault handling on 5-level systems
   1a698b5094c6 x86/decoder: Fix and update the opcodes map
   3bc0a0230c85 x86/idt: Load idt early in start_secondary
   96523a6b3c9f x86/ldt: Make LDT pgtable free conditional
   0930c225b7fd x86/ldt: Plug memory leak in error path
   7b392c0fd57c x86/mm: Remove preempt_disable/enable() from __native_flush_tlb()
   a569be19aca4 x86/smpboot: Remove stale TLB flush invocations
   171c680cd430 x86/ldt: Make the LDT mapping RO
   b20a4e9c0824 x86/mm/dump_pagetables: Allow dumping current pagetables
   4cb373d5878c x86/mm/dump_pagetables: Check user space page table for WX pages
   419aaf9950b0 x86/mm/dump_pagetables: Add page table directory to the debugfs VFS hierarchy
   f2ea744855ef x86/mm/pti: Add Kconfig
   21ee6ef0b6da x86/dumpstack: Indicate in Oops whether PTI is configured and enabled
   4792df02eaa2 x86/mm: Clarify the whole ASID/kernel PCID/user PCID naming
   079aafe7e55e x86/mm: Use INVPCID for __native_flush_tlb_single()
   f82db33b19f6 x86/mm: Optimize RESTORE_CR3
   156823d62b52 x86/mm: Use/Fix PCID to optimize user/kernel switches
   3c6ddf8979d7 x86/mm: Abstract switching CR3
   842c1304aa61 x86/mm: Allow flushing for future ASID switches
   54ccd28274b7 x86/pti: Map the vsyscall page if needed
   05347c693d0a x86/pti: Put the LDT in its own PGD if PTI is on
   86aa46082664 x86/mm/64: Make a full PGD-entry size hole in the memory map
   bd91c7622d4b x86/events/intel/ds: Map debug buffers in cpu_entry_area
   f2a19cac5364 x86/cpu_entry_area: Add debugstore entries to cpu_entry_area
   788856fff986 x86/mm/pti: Map ESPFIX into user space
   2946dc511e38 x86/mm/pti: Share entry text PMD
   8f01f3ca70af x86/entry: Align entry text section to PMD boundary
   419ac1b145f8 x86/mm/pti: Share cpu_entry_area with user space page tables
   43ac2d12a830 x86/mm/pti: Force entry through trampoline when PTI active
   c0226c119bb4 x86/mm/pti: Add functions to clone kernel PMDs
   0de21941f44c x86/mm/pti: Populate user PGD
   dc46e9eafde8 x86/mm/pti: Allocate a separate user PGD
   a3293057588e x86/mm/pti: Allow NX poison to be set in p4d/pgd
   b51aa0399145 x86/mm/pti: Add mapping helper functions
   66d1447e7cd8 x86/pti: Add the pti= cmdline option and documentation
   399981179cc2 x86/mm/pti: Add infrastructure for page table isolation
   ff4703d2378d x86/mm/pti: Prepare the x86/entry assembly code for entry/exit CR3 switching
   6eb83fa9c76d x86/mm/pti: Disable global pages if PAGE_TABLE_ISOLATION=y
   0cbc392772c6 x86/cpufeatures: Add X86_BUG_CPU_INSECURE
   bb426b09a2b3 nohz: Prevent a timer interrupt storm in tick_nohz_stop_sched_tick()
   f8da34e6aea2 ring-buffer: Do no reuse reader page if still in use
   f56cc813891f ring-buffer: Mask out the info bits when returning buffer page length
   99df0a6bd678 x86/cpu_entry_area: Prevent wraparound in setup_cpu_entry_area_ptes() on 32bit
   dd6eac2b6f66 init: Invoke init_espfix_bsp() from mm_init()
   fc78bbdec893 x86/cpu_entry_area: Move it out of the fixmap
   b73f4c11bfb7 x86/cpu_entry_area: Move it to a separate unit
   90383f5be7ac x86/mm: Create asm/invpcid.h
   f7938aecc9e1 x86/mm: Put MMU to hardware ASID translation in one place
   21c7af3777f8 x86/mm: Remove hard-coded ASID limit checks
   546fe7d48686 x86/mm: Move the CR3 construction functions to tlbflush.h
   029ed77f57b6 x86/mm: Add comments to clarify which TLB-flush functions are supposed to flush what
   c786774ceccb x86/mm: Remove superfluous barriers
   f0c8c4bd2347 x86/mm: Use __flush_tlb_one() for kernel memory
   c1d18bf3f32b x86/microcode: Dont abuse the TLB-flush interface
   cba3ab6a6841 x86/uv: Use the right TLB-flush API
   8a7c2006beba x86/entry: Rename SYSENTER_stack to CPU_ENTRY_AREA_entry_stack
   d6a432d4d3a0 x86/doc: Remove obvious weirdnesses from the x86 MM layout documentation
   07e8a63c2c4f x86/mm/64: Improve the memory map documentation
   1dddc45476c4 x86/ldt: Prevent LDT inheritance on exec
   93439585326e x86/ldt: Rework locking
   315b737482ac arch, mm: Allow arch_dup_mmap() to fail
   3cd977c67053 x86/vsyscall/64: Warn and fail vsyscall emulation in NATIVE mode
   e5667337a507 x86/vsyscall/64: Explicitly set _PAGE_USER in the pagetable hierarchy
   4664833b9c38 x86/mm/dump_pagetables: Make the address hints correct and readable
   9ed67a029dd7 x86/mm/dump_pagetables: Check PAGE_PRESENT for real
   0f9f378903ae x86/Kconfig: Limit NR_CPUS on 32-bit to a sane amount
   358a83a1de54 x86/cpufeatures: Make CPU bugs sticky
   ae16a824dd62 x86/paravirt: Provide a way to check for hypervisors
   93231925335a x86/paravirt: Dont patch flush_tlb_single
   3e9cf8fb4db0 x86/entry/64: Make cpu_entry_area.tss read-only
   47cb726a9600 x86/entry: Clean up the SYSENTER_stack code
   ff29cda6c2f2 x86/entry/64: Remove the SYSENTER stack canary
   33e8a0a90105 x86/entry/64: Move the IST stacks into struct cpu_entry_area
   8aa71a5cdc32 x86/entry/64: Create a per-CPU SYSCALL entry trampoline
   077a04534cc4 x86/entry/64: Return to userspace from the trampoline stack
   698892158210 x86/entry/64: Use a per-CPU trampoline stack for IDT entries
   7df5dc38dc29 x86/espfix/64: Stop assuming that pt_regs is on the entry stack
   7b6d319e2616 x86/entry/64: Separate cpu_current_top_of_stack from TSS.sp0
   e75df8aedce8 x86/entry: Remap the TSS into the CPU entry area
   0e0055bbeb2a x86/entry: Move SYSENTER_stack to the beginning of struct tss_struct
   d9e17c57f62a x86/dumpstack: Handle stack overflow on all stacks
   b6645c3c626e x86/entry: Fix assumptions that the HW TSS is at the beginning of cpu_tss
   99a47d22f1fa x86/kasan/64: Teach KASAN about the cpu_entry_area
   0863f76db090 x86/mm/fixmap: Generalize the GDT fixmap mechanism, introduce struct cpu_entry_area
   3b825a015513 x86/entry/gdt: Put per-CPU GDT remaps in ascending order
   8e905774d607 x86/dumpstack: Add get_stack_info() support for the SYSENTER stack
   ca02a72c9150 x86/entry/64: Allocate and enable the SYSENTER stack
   4eec07ec7a5c x86/irq/64: Print the offending IP in the stack overflow warning
   a7b282cd43ba x86/irq: Remove an old outdated comment about context tracking races
   d2408cf269d1 x86/entry/64/paravirt: Use paravirt-safe macro to access eflags
   6a99c031df60 x86/mm/kasan: Don't use vmemmap_populate() to initialize shadow
   b3f96767d068 locking/barriers: Convert users of lockless_dereference() to READ_ONCE()
   c1763d787577 locking/barriers: Add implicit smp_read_barrier_depends() to READ_ONCE()
   756428416ce0 perf/x86: Enable free running PEBS for REGS_USER/INTR
   2eecb0acd97a x86: Make X86_BUG_FXSAVE_LEAK detectable in CPUID on AMD
   493513aefcc5 x86/cpufeature: Add User-Mode Instruction Prevention definitions
   019141d42ebe drivers/misc/intel/pti: Rename the header file to free up the namespace
   871d6926064c x86/xen: Fix xen head ELF annotations
   d20c9ba72b8f x86/boot: Annotate verify_cpu() as a callable function
   d32d0f94a7ee x86/head: Fix head ELF function annotations
   18f077dfae1c x86/head: Remove unused 'bad_address' code
   d5d921a047b9 x86/head: Remove confusing comment
   f6dd6567d09d kernel/signal.c: remove the no longer needed SIGNAL_UNKILLABLE check in complete_signal()
   cf2791ad9e53 kernel/signal.c: protect the SIGNAL_UNKILLABLE tasks from !sig_kernel_only() signals
   2071cfd700f6 kernel/signal.c: protect the traced SIGNAL_UNKILLABLE tasks from SIGKILL
   806424fd3065 kvm, mm: account kvm related kmem slabs to kmemcg
   9575a6ffb4b7 x86/virt: Add enum for hypervisors to replace x86_hyper
   e8baad3e5158 x86/virt, x86/platform: Merge 'struct x86_hyper' into 'struct x86_platform' and 'struct x86_init'
   cb995fcf5ae2 x86/mm/64: Rename the register_page_bootmem_memmap() 'size' parameter to 'nr_pages'
   c94b6dded6eb x86/xen: Drop 5-level paging support code from the XEN_PV code
   119347a0ef41 x86/xen: Provide pre-built page tables only for CONFIG_XEN_PV=y and CONFIG_XEN_PVH=y
   199e4741c8b9 x86/kasan: Use the same shadow offset for 4- and 5-level paging
   1c5ea732a936 mm/sparsemem: Allocate mem_section at runtime for CONFIG_SPARSEMEM_EXTREME=y
   8915a13ca5a4 mm, x86/mm: Fix performance regression in get_user_pages_fast()
   66ea32e385a8 x86/insn-eval: Add a utility function to get register offsets
   7ce86fc1e901 x86/insn-eval: Do not BUG on invalid register type
   c958c84cf7c2 x86/mpx, x86/insn: Relocate insn util functions to a new insn-eval file
   8d8f073eaa31 x86/mpx: Do not use SIB.base if its value is 101b and ModRM.mod = 0
   ec1786527e7f x86/mpx: Do not use SIB.index if its value is 100b and ModRM.mod is not 11b
   897aeabaf3c1 x86/mpx: Use signed variables to compute effective addresses
   bdc345828604 x86/mpx: Simplify handling of errors when computing linear addresses
   d35dbe818a6a ptrace,x86: Make user_64bit_mode() available to 32-bit builds
   ef02e49ac1a7 x86/boot: Relocate definition of the initial state of CR0
   1542a015ace2 x86/mm: Relocate page fault error codes to traps.h
   7edfe87940e2 selftests/x86/ldt_gdt: Run most existing LDT test cases against the GDT as well
   be33b76702d9 selftests/x86/ldt_gdt: Add infrastructure to test set_thread_area()
   738b110511ba selftests/x86/ldt_gdt: Robustify against set_thread_area() and LAR oddities
   1f9e12c2e81e x86/cpufeatures: Fix various details in the feature definitions
   14fe162f996f x86/cpufeatures: Re-tabulate the X86_FEATURE definitions
   be9780fb7a30 x86/build: Beautify build log of syscall headers
   601a71aa8028 x86/mm: Define _PAGE_TABLE using _KERNPG_TABLE
   6a9dda277c24 bitops: Revert cbe96375025e ("bitops: Add clear/set_bit32() to linux/bitops.h")
   c3e13e28aa72 x86/cpuid: Replace set/clear_bit32()
   a87fa3721441 x86/cpufeatures: Enable new SSE/AVX/AVX512 CPU features
   8bf58a744e9a x86/cpuid: Prevent out of bound access in do_clear_cpu_cap()
   5dd037e50e83 x86/fpu: Remove the explicit clearing of XSAVE dependent features
   691bb62c5c87 x86/fpu: Make XSAVE check the base CPUID features before enabling
   384a2d7af44d x86/fpu: Parse clearcpuid= as early XSAVE argument
   36381d76b645 x86/cpuid: Add generic table for CPUID dependencies
   50c6c061f4d6 bitops: Add clear/set_bit32() to linux/bitops.h
   4ef351ff7bab x86/fpu/debug: Remove unused 'x86_fpu_state' and 'x86_fpu_deactivate_state' tracepoints
   cc2b5786a84b x86/entry/64: Shorten TEST instructions
   d26fc8d39309 x86/traps: Use a new on_thread_stack() helper to clean up an assertion
   f475d79e9115 x86/entry/64: Remove thread_struct::sp0
   ee2f1a81b613 x86/entry/32: Fix cpu_current_top_of_stack initialization at boot
   a69652f6e628 x86/entry/64: Remove all remaining direct thread_struct::sp0 reads
   f7945199711d x86/entry/64: Stop initializing TSS.sp0 at boot
   3476ab68a9bf x86/xen/64, x86/entry/64: Clean up SP code in cpu_initialize_context()
   c2e6ce4b2921 x86/entry: Add task_top_of_stack() to find the top of a task's stack
   45c4053bf8d4 x86/entry/64: Pass SP0 directly to load_sp0()
   1acf96028d04 x86/entry/32: Pull the MSR_IA32_SYSENTER_CS update code out of native_load_sp0()
   ab80fe6f16d3 x86/entry/64: De-Xen-ify our NMI code
   d067fb259523 xen, x86/entry/64: Add xen NMI trap entry
   13ead6fcd2ab x86/entry/64: Remove the RESTORE_..._REGS infrastructure
   6793d49993e4 x86/entry/64: Use POP instead of MOV to restore regs on NMI return
   ba46462c7964 x86/entry/64: Merge the fast and slow SYSRET paths
   905d20dd5054 x86/entry/64: Use pop instead of movq in syscall_return_via_sysret
   99bc33079304 x86/entry/64: Shrink paranoid_exit_restore and make labels local
   3c16e0932979 x86/entry/64: Simplify reg restore code in the standard IRET paths
   4fc1d8b76f21 x86/entry/64: Move SWAPGS into the common IRET-to-usermode path
   f32123527bed x86/entry/64: Split the IRET-to-user and IRET-to-kernel paths
   3b475309f976 x86/entry/64: Remove the restore_c_regs_and_iret label
   f3bd88849f88 x86/asm: Don't use the confusing '.ifeq' directive
   d36e0d395ca2 x86/entry: Use SYSCALL_DEFINE() macros for sys_modify_ldt()
   ca024e7d1862 x86/asm: Remove unnecessary \n\t in front of CC_SET() from asm templates
   dcc5f2f8c5db x86/mm/64: Remove the last VM_BUG_ON() from the TLB code
   c01d65a2df94 x86/mm: Flush more aggressively in lazy TLB mode
   71570531a921 x86/mm/32: Load a sane CR3 before cpu_init() on secondary CPUs
   7896047cb4de x86/mm/32: Move setup_clear_cpu_cap(X86_FEATURE_PCID) earlier
   557c6cb2e892 x86/mm/64: Stop using CR3.PCID == 0 in ASID-aware code
   bdf06611e863 x86/mm: Factor out CR3-building code
   28dfb0cf1cd6 x86/mm/64: Initialize CR4.PCIDE early
   c45360a1779f x86/mm: Get rid of VM_BUG_ON in switch_tlb_irqs_off()
   50522881fb0b x86/mm: Document how CR4.PCIDE restore works
   d8fa770e4331 x86/mm: Reinitialize TLB state on hotplug and resume
   223590ce02fa x86/xen: Get rid of paravirt op adjust_exception_frame
   9148019af215 x86/mm, mm/hwpoison: Clear PRESENT bit for kernel 1:1 mappings of poison pages
   93753465c1fb x86/mm/dump_pagetables: Speed up page tables dump for CONFIG_KASAN=y
   866ec7bd5055 x86/mm: Implement PCID based optimization: try to preserve old TLB entries using PCID
   0ca4a0dcd2b1 x86/mpx: Do not allow MPX if we have mappings above 47-bit
   69fa7265508d x86/mm/dump_pagetables: Fix printout of p4d level
   172774bfa3ef x86/boot: Add early cmdline parsing for options with arguments
   47c915550f9e x86/mm: Enable CR4.PCIDE on supported systems
   4bda31395beb x86/mm: Add the 'nopcid' boot option to turn off PCID
   ae3c78546a4d x86/mm: Disable PCID on 32-bit kernels
   a506eb1a28ee x86/mm: Stop calling leave_mm() in idle code
   8d640d568fc8 x86/mm: Rework lazy TLB mode and TLB freshness tracking
   6856a6907443 x86/mm: Track the TLB's tlb_gen and update the flushing algorithm
   75309cc8a392 x86/mm: Give each mm TLB flush generation a unique ID
   90d8521ed090 x86/xen/64: Rearrange the SYSCALL entries
   cd77afb4a51a x86/asm: Add suffix macro for GEN_*_RMWcc()
   5d4c36800831 x86/entry/64: Refactor IRQ stacks and make them NMI-safe
   9b1ff5eeadc1 irq: Make the irqentry text section unconditional
   2df8e4dd8ad5 x86: provide an init_mem_mapping hypervisor hook
   03a415bbc469 x86/kasan: don't allocate extra shadow memory
   e5881507ab4b x86/mm: Delete a big outdated comment about TLB flushing
   2612885620dc x86/mm: Don't reenter flush_tlb_func_common()
   8c33de3d1431 x86/mm: Remove reset_lazy_tlbstate()
   22e8e068200a x86/ldt: Simplify the LDT switching logic
   306b70104b69 x86/boot/64: Put __startup_64() into .head.text
   6785f222adc3 x86/mm: Add support for 5-level paging for KASLR
   3591558ac071 x86/mm: Make kernel_physical_mapping_init() support 5-level paging
   e93998d5a995 x86/mm: Add sync_global_pgds() for configuration with 5-level paging
   8d08f0f9511a x86/boot/64: Add support of additional page table level during early boot
   08ef52fc8c27 x86/boot/64: Rename init_level4_pgt and early_level4_pgt
   8e3d8cc05bab x86/boot/64: Rewrite startup_64() in C
   40029728da7c x86/boot/compressed: Enable 5-level paging during decompression stage
   9f9cc4499abe x86/boot/efi: Define __KERNEL32_CS GDT on 64-bit configurations
   f56c74bc479b x86/asm: Fix comment in return_from_SYSCALL_64()
   37edb519e13e x86/mm: Split read_cr3() into read_cr3_pa() and __read_cr3()
   ae39e66a6c22 x86/ldt: Rename ldt_struct::size to ::nr_entries
   8e9fceb46493 mm/vmstat: Make NR_TLB_REMOTE_FLUSH_RECEIVED available even on UP
   73c1f133b39a x86/mm, KVM: Teach KVM's VMX code that CR3 isn't a constant
   6652b39ab9a7 x86/mm: Be more consistent wrt PAGE_SHIFT vs PAGE_SIZE in tlb flush code
   5f8577a5dfcb x86/mm: Rework lazy TLB to track the actual loaded mm
   0444036bd674 x86/mm: Remove the UP asm/tlbflush.h code, always use the (formerly) SMP code
   a8c7f8a7a0b3 x86/mm: Use new merged flush logic in arch_tlbbatch_flush()
   d47f84368847 x86/mm: Refactor flush_tlb_mm_range() to merge local and remote cases
   5a32e49af880 x86/mm: Change the leave_mm() condition for local TLB flushes
   c2c97859bbc5 x86/mm: Pass flush_tlb_info to flush_tlb_others() etc
   30210c7c83b5 mm, x86/mm: Make the batched unmap TLB flush API more generic
   a56dacbe25a0 x86/mm: Reduce indentation in flush_tlb_func()
   4e69fbba04b0 x86/mm: Reimplement flush_tlb_page() using flush_tlb_mm_range()

(From OE-Core rev: 3ec455603ac02ecd2df0192082a0866a6389c821)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
(cherry picked from commit 22d84ba8025076209a6c8bfed6a0fcec6e10b353)
hand applied do to other pending changes
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-20 14:48:42 +00:00
Juro Bystricky
1fbe857983 libc6: improve reproducibility
Building various libraries (libc6, libc6-pic, libc6-staticdev, libc6-dbg, ...)
can be non-deterministic because they may be built with two different versions
of intl/plural.c. in two otherwise identical builds. We may or may not re-generate
the file plural.c from the file plural.y, based on bison being installed or not
and based on mtimes of those two files, as the Makefile contains:

plural.c: plural.y
	$(BISON) $(BISONFLAGS) $@ $^

If the above rule does not fire, we use a "fallback" plural.c, otherwise
we use plural.c re-generated from plural.y.
The fix is to always require bison to be installed and unconditionally
re-generate plural.c. (This is achieved by touching plural.y).

[YOCTO #12291]

(From OE-Core rev: 112c6e77a81ec748cd116d1088dae2a1f59643f5)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b79eeb68c6ad7c92a3e54c6f97a8bf49f0098206)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-19 23:53:34 +00:00
Andrea Adami
3424b09737 musl: Disable thumb1 ISA
thumb1 is unsupported see http://www.openwall.com/lists/musl/2017/10/20/10

Fix
[YOCTO #12336]

(From OE-Core rev: 12e40b38f49e99bcecfab8086cfe8f32d2eb931a)

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit d29bd5571187cb30d25f3a885e9e61aa20dd6d7a)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-19 23:53:34 +00:00
Andre McCurdy
574a45c606 musl: prevent errors if do_install is run more than once
(From OE-Core rev: bdd7bae339096265e887de84f718cbbcd9f7e267)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 3d4c1e0d94175f8c782e94725d365e5e1d1178c1)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-19 23:53:34 +00:00
Khem Raj
1758a2e30f musl: Update to 1.1.18
Rich Felker (9):
      fix access by setjmp and longjmp to __hwcap on arm built as thumb2
      for executing init array functions, use function type with prototype
      fix read-after-free type error in pthread_detach
      fix incorrect base name offset from nftw when pathname ends in slash(es)
      in dns parsing callback, enforce MAXADDRS to preclude overflow
      release 1.1.17
      fix regression in glob with literal . or .. path component
      fix build regression on ARM for ISA levels less than v5
      release 1.1.18

Szabolcs Nagy (1):
      math: rewrite fma with mostly int arithmetics

Will Dietz (1):
      posix_spawn: use larger stack to cover worst-case in execvpe

(From OE-Core rev: fe87fe129da60f49e7e06fb6add361ffad8a046a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit c3f0a70a40e0a8115e9046fb96b4b371b0db44ee)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-19 23:53:34 +00:00
Khem Raj
334678dd65 musl: Update to latest
* fix use of memset without declaration in sched.h cpu set macros
* powerpc{64}: fix MAP_NORESERVE and MAP_LOCKED in mman.h

(From OE-Core rev: a079c431a8f00562273347698220ed0c6ce4b58d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 3953c54c30473450d4baf511772276e5e8e09919)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-19 23:53:34 +00:00
Khem Raj
c8067294cb gcc-7.3: Drop upstreamed musl cpuinfo patch
This patch is already in gcc-7-branch
6e6c7fc1e1

Thanks nsz for noticing it

(From OE-Core rev: 1dd8f90ec954c22ab08b396210c6ad2f0a2c585d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3d9c32f31047e9fae289b45fcf733c5df1ddaceb)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-19 23:53:34 +00:00
Mariia Movchan
699aeb239a packagegroup-core-tools-profile: disable valgrind on armeb
Valgrind supports only little endian ARM.

(From OE-Core rev: 15ad0cb24c3943330a3956078336842f3922296f)

Signed-off-by: Mariia Movchan <mmovchan@cisco.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit dece983e35721ca1cfc6ddddaf52726fb1d6db1f)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-19 23:53:34 +00:00
Alexander Kanavin
7770160fb4 webkitgtk: update to 2.18.6
(From OE-Core rev: 1c5ea29ed49a73e9cf5abbb9abfdbd1ccd9c5eee)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit f5d0ef12a5f1c4fa3981e70ef614e34bc64c380f)

includes:
CVE-2018-4088
CVE-2017-13885
CVE-2017-7165
CVE-2017-13884
CVE-2017-7160
CVE-2017-7153
CVE-2017-7153
CVE-2017-7161
CVE-2018-4096
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-19 23:53:34 +00:00
Bruce Ashfield
f47fedbb42 linux-yocto/4.12: pinctrl backports
Backporting the following pinctrl commits to enable controllers on
Intel Cannon Lake:

  4b7a5c1b4ec5 pinctrl: intel: Add Intel Cannon Lake PCH-H pin controller support
  044631ce1937 pinctrl: intel: Add Intel Cannon Lake PCH pin controller support
  2054b0ea59a7 pinctrl: intel: Make it possible to specify mode per pin in a group
  55b9053b5a5a pinctrl: intel: Add support for variable size pad groups

(From OE-Core rev: 7636a42fb615b9ea4881483a61d3dac0ec72a5a6)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 4c05eb243c2cf10304383f6265721b695750cb9b)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-19 23:53:34 +00:00
Otavio Salvador
1c55a7e4b5 package_rpm.bbclass: Fix matching of architecture independent packages
OE-Core changes the architecture independent RPM packages to use
"noarch" instead of "all". This change has been included in the commit
below:

,----
| commit 341810aff923ace6b1cc1e15e19383c4f8773b51
| Author: Alexander Kanavin <alexander.kanavin@linux.intel.com>
| Date:   Mon Jan 9 16:37:28 2017 +0200
|
|     package_rpm.bbclass: make architecture-independent .rpm packages
|     "noarch" instead of "all"
|
|     Too many places in dnf/rpm4 stack make that assumption; let's not
|     fight against it.
|
|     Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
`----

This is causing problems with machines that has "all" inside the
machine name.

Reported-by: Alexandru Palalau <ioan-alexandru.palalau@nxp.com>
(From OE-Core rev: e92fdac3055b612ae1a1c1b033b5451a1750fe34)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 3e4ddeab65d4d2e4aaf03d442c2a1a8c7a2ce8a2)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-19 23:53:34 +00:00
Alexander Kanavin
932ecd6def openssl: update to 1.0.2n
Drop upstreamed 0001-aes-armv4-bsaes-armv7-sha256-armv4-.pl-make-it-work-.patch

Rebase a couple more patches (via devtool upgrade).

(From OE-Core rev: a69526f9cd7682d8a8ff49fd8101b46616e3c05f)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 8a79b8619ce797d5395989e7bb804bc2accfbb14)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-19 23:53:34 +00:00
Juro Bystricky
5dc6fd13c5 openssl-ptest: improve reproducibility
Remove buildhost references from Makefile and Configure.

(From OE-Core rev: d2ddc9986371c816cefee726e72aba6f09a816d7)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 891e33f4ad0919f5b3be77cd63260121d62b6ee7)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-19 23:53:34 +00:00
Richard Purdie
50189fdf62 build-appliance-image: Update to rocko head revision
(From OE-Core rev: abc7fbab2c125b247f3274ca4b29e4f858b5ae12)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-14 15:36:14 +00:00
Richard Purdie
a9588646fc poky.conf: Bump version for 2.4.2 rocko release
(From meta-yocto rev: 58e4977e640fce124d74add31a10a49cec2ba963)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-14 15:36:02 +00:00
Kristi Rifenbark
90c1d0d127 documentation: Updated Manual Revision Table for 2.4.2 Release Date
(From yocto-docs rev: 1e406f3a88a9a399491e2e0859b568a9ab459b4c)

Signed-off-by: Kristi Rifenbark <kristi@buzzcollectivemarketing.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-14 15:24:49 +00:00
Kristi Rifenbark
583b5a8445 yocto-project-qs: Fixed spelling error in Welcome section
(From yocto-docs rev: 24f7772c136a0266c1322c755fdb8e86c6a9afec)

Signed-off-by: Kristi Rifenbark <kristi@buzzcollectivemarketing.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-14 15:24:49 +00:00
Kristi Rifenbark
0fa8ccad9a dev-manual: Fixed variable link to DEFAULTTUNE variable
Fixed [YOCTO #12458]

(From yocto-docs rev: 85f2705115039429057ea35d2230693b71dd85ae)

Signed-off-by: Kristi Rifenbark <kristi@buzzcollectivemarketing.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-14 15:24:49 +00:00
Kristi Rifenbark
ebca025896 ref-manual: Removed Ubuntu 14.04 from Supported Linux Distribution
Fixes [YOCTO #12537]

(From yocto-docs rev: 23428e7cce7749ddb565caa21774128e9269465e)

Signed-off-by: Kristi Rifenbark <kristi@buzzcollectivemarketing.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-14 15:24:49 +00:00
Scott Rifenbark
80e2c6f36b documentation: Prepared files for a 2.4.2 point release
poky.ent - Updated variables to reflect 2.4.2
mega-manual.sed - changes "2.4.1" string to "2.4.2"
<manual>.xml - Updated release manual table to use "TBD 2018"
               release date.

(From yocto-docs rev: cee187153d4136a90556fefbdaaf41bdc9d65006)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-14 15:24:48 +00:00
Kristi Rifenbark
3aaf67b0b9 ref-manual, yocto-project-qs, poky.ent: Fixed CentOS package
Fixes [YOCTO #12467]

Changed the CentOS variable to use python34-pip
instead of python3-pip. Removed notes indicating
CentOS 6.x exceptions because this version does
not support CentOS 6.x.

(From yocto-docs rev: 66b24fff05588580f75ae951b373a53ebcd08d13)

Signed-off-by: Kristi Rifenbark <kristi@buzzcollectivemarketing.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-14 15:24:48 +00:00
Scott Rifenbark
97e213868d mega-manual: Updated sdk-manual figure used
I failed to copy the updated sdk-manual title figure to the
mega-manual/figures directory when the sdk-manual title had changed.
This was causing the title of the sdk-manual in the mega-manual
to render as the old one.

(From yocto-docs rev: 7c510b205ea0df0db8d61d15efcbff4dd2033af3)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-14 15:24:48 +00:00
Scott Rifenbark
8dff604764 ref-manual: Updated Note to use bullet form and fixed link to sdk-manual
(From yocto-docs rev: 3bcc0c82af3d5bda5d98d83a60ba3d24eed40216)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-14 15:24:48 +00:00
Scott Rifenbark
6e933d7db2 ref-manual, yocto-project-qs: Fixed targets for sdk-manual links
I had tried using a #-type target for some links designed to
go to the top of the sdk-manual.  It was not working out so I removed
the targets.  The links now render benign for the mega-manual as
they should and render hot for the individual manual as they should.

(From yocto-docs rev: c9a8887983976670a96f99a3d4271f5498927550)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-14 15:24:48 +00:00
Scott Rifenbark
0a3d933c89 mega-manual.sed: Fixed string for sdk-manual links
This string was not changed to reflect the new sdk-manual title.
I updated the string so that the links render correctly in the
mega-manual.

(From yocto-docs rev: 2e4cf995a8c3d1f9ed072911eea43930f27ff771)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-14 15:24:48 +00:00
Ming Liu
21ba45aa77 net-tools: change a '=' to '+='
This avoids other do_patch dependencies being overridden.

(From OE-Core rev: 77a0f0b2f50059f9d6cb67374e7d83dff806dc0c)

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b5e94026c754d9015e97487f5c0a5b727ffd4ff8)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-29 08:45:29 +00:00
Zumeng Chen
27681a92cd kernel-uboot: support Image kernel type for arm64
Image will be generated for arm64, and no compression for Image in u-boot as
well. So we just put the file into the right place for the rest of the build
to find it.

(From OE-Core rev: 9498f075a2fae4ff7387bbaeefae493c285b14f6)

Signed-off-by: Zumeng Chen <zumeng.chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit ce6337ab4b415ee18360dfe4443a71ab75a60254)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-29 08:45:29 +00:00
Richard Purdie
55635d1259 libunwind: Fix PACKAGECONFIG option typo
(From OE-Core rev: c3035922f2376f90ff282b085368f6d44bd7c020)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c777a6d0ea9505aa57c1c5785af388c23c5e7731)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-29 08:45:28 +00:00
Juro Bystricky
9b34adef2f glibc-locale.inc: avoid duplicate packages
PACKAGES_DYNAMIC contained an identical set of packages twice.
I suspect this was a result of global search/replace when moving
recipes from eglibc to glibc long time ago.

(From OE-Core rev: 78120e0e4da7f4be229fb4567a0f3e58bd4e4169)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 9d0f0fa80ffbafc2d4a1df0fa3ac5d84396a8182)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-29 08:45:28 +00:00
Armin Kuster
d6bc9224d8 tzdata: update to 2018c
The 2018c release of the tz code and data is available. It follows on the 2018a and 2018b releases, which were published but were not announced until now, due to problems discovered late in their release processes. 2018a had a build-failure typo, and 2018a and 2018b both had problems with ICU and Java, downstream packages which do not support a feature (negative DST offsets) used in 2018a and 2018b. The typo has been fixed, and data changes using negative DST offsets have been reverted pending development of a mechanism to export data to platforms lacking support for such data.

  Briefly:
  São Tomé and Príncipe switched from +00 to +01.
  Brazil's DST will now start on November's first Sunday.
  Use Debian-style installation locations, instead of 4.3BSD-style.
  New zic option -t.

  Changes to past and future time stamps

    São Tomé and Príncipe switched from +00 to +01 on 2018-01-01 at
    01:00.  (Thanks to Steffen Thorsen and Michael Deckers.)

  Changes to future time stamps

    Starting in 2018 southern Brazil will begin DST on November's
    first Sunday instead of October's third Sunday. (Thanks to
    Steffen Thorsen.)

  Changes to past time stamps

    Japanese DST transitions (1948-1951) were Sundays at 00:00, not
    Saturdays or Sundays at 02:00.  (Thanks to Takayuki Nikai.)

    A discrepancy of 4 s in timestamps before 1931 in South Sudan has
    been corrected.  The 'backzone' and 'zone.tab' files did not agree
    with the 'africa' and 'zone1970.tab' files.  (Problem reported by
    Michael Deckers.)

    The abbreviation invented for Bolivia Summer Time (1931-2) is now
    BST instead of BOST, to be more consistent with the convention
    used for Latvian Summer Time (1918-9) and for British Summer Time.

  Changes to build procedure

    The default installation locations have been changed to mostly
    match Debian circa 2017, instead of being designed as an add-on to
    4.3BSD circa 1986.  This affects the Makefile macros TOPDIR,
    TZDIR, MANDIR, and LIBDIR.  New Makefile macros TZDEFAULT, USRDIR,
    USRSHAREDIR, BINDIR, ZDUMPDIR, and ZICDIR let installers tailor
    locations more precisely.  (This responds to suggestions from
    Brian Inglis and from Steve Summit.)

    The default installation procedure no longer creates the
    backward-compatibility link US/Pacific-New, which causes
    confusion during user setup (e.g., see Debian bug 815200).
    Use 'make BACKWARD="backward pacificnew"' to create the link
    anyway, for now.  Eventually we plan to remove the link entirely.

    tzdata.zi now contains a version-number comment.
    (Suggested by Tom Lane.)

    The Makefile now quotes values like BACKWARD more carefully when
    passing them to the shell.  (Problem reported by Zefram.)

    Builders no longer need to specify -DHAVE_SNPRINTF on platforms
    that have snprintf and use pre-C99 compilers. (Problem reported
    by Jon Skeet.)

    The build procedure now works around mawk 1.3.3's lack of support
    for character class expressions.  (Problem reported by Ohyama.)

(From OE-Core rev: ee6e62f066f02b301d656d3d856c80eab02c356c)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 97927956a6629381b54973d01e16c5f039f5e5bb)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-29 08:45:28 +00:00
Armin Kuster
e3e3297b2a tzcode: update to 2018c
removed patches now included in update.

The 2018a through 2018c releases reflect the following changes, which were either circulated on the tz mailing list or are relatively minor technical or administrative changes. This announcement has merged the set of changes made by the three releases, to make it easier to see the difference between 2017c and 2018c; please see the 2018c NEWS file for more details about intermediate versions.

Release 2018c - 2018-01-22 23:00:44 -0800
Release 2018b - 2018-01-17 23:24:48 -0800
Release 2018a - 2018-01-12 22:29:21 -0800

Changes to code

    zic has a new option -t FILE that specifies the location of the
    file that determines local time when TZ is unset. The default for
    this location can be configured via the new TZDEFAULT makefile
    macro, which defaults to /etc/localtime.

    Diagnostics and commentary now distinguish UT from UTC more
    carefully; see theory.html for more information about UT vs UTC.

    zic has been ported to GCC 8's -Wstringop-truncation option.
    (Problem reported by Martin Sebor.)

  Changes to documentation and commentary

    The zic man page now documents the longstanding behavior that
    times and years can be out of the usual range, with negative times
    counting backwards from midnight and with year 0 preceding year 1.
    (Problem reported by Michael Deckers.)

    The theory.html file now mentions the POSIX limit of six chars
    per abbreviation, and lists alphabetic abbreviations used.

    The files tz-art.htm and tz-link.htm have been renamed to
    tz-art.html and tz-link.html, respectively, for consistency with
    other file names and to simplify web server configuration.

(From OE-Core rev: 61949dcb18d712b73e0ea92b70d1a6904e7a0e16)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit aae1131225b92d2f984a2de35b2e21592ae8195d)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-29 08:45:28 +00:00
Otavio Salvador
e49391d58c grub: Move grub-editenv packaging to grub2.inc
The editenv utility must be available on grub and grub-efi so we
better have it inside the grub2.inc file to avoid the duplication of
metadata.

(From OE-Core rev: 80f340f25ffdf7b8ca7a6ccf2e12f28b46b3c70d)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit ebdd054ad85b19d47dd20eab0ba3f31ef5141140)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-29 08:45:28 +00:00
Otavio Salvador
8fde211b3e grub-efi: Add loadenv and test as default built-in
To allow scripting and environment changes, the loadenv and test must
be enabled. This adds those to the default set.

(From OE-Core rev: 567649a3556da4387f3b58a6076d459e167ba3ef)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit b7c9a298801c828c06b6e7da47c35f592864ce74)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-29 08:45:28 +00:00
Otavio Salvador
4e34bb5d92 grub-efi: Rework GRUB_BUILTIN variable as it is too long
As we will add new values here, it is better to split it in multiple
lines.

(From OE-Core rev: 9d05172cc7239910b583dcc6750a192c41795616)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 1a491515d58d0d9f03f7a3a84738f53377b0f819)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-29 08:45:28 +00:00
Richard Purdie
dd21509449 grub-efi: Fix DEPENDS
We need to append to DEPENDS else the dependencies on bison/flex-native
are lost, potentially resulting in build failures.

(From OE-Core rev: 4726eab43782fb8d6864250811b2296fdea1e252)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit bead76b50dc60e1b6b39fa5b659a7af44ff91adc)
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-29 08:45:28 +00:00
Otavio Salvador
912b9fa6fd libarchive: Enable xz and lzo by default
The XZ format is widely used and multiple recipes inside OE-Core
already use it, so making the XZ enabled by default align the
expectation of users. The LZO, on the other side, is commonly used in
embedded systems due its performance so it makes sense to be available
by default.

(From OE-Core rev: c8feb193682f6f7a03ca9524a6aeb24a13da5808)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 6d24b0bc7ebddd10de5ad8f210b8ed85fc6ae769)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-29 08:45:28 +00:00
Tom Hochstein
b624e0b010 libepoxy: Fix build break for EGL_CAST dependency
This is a backport [1] to fix the following build error:

| In file included from /home/r60874/upstream/xwayland/tmp/work/armv7at2hf-neon-mx6qdl-fslc-linux-gnueabi/gtk+3/3.22.17-r0/recipe-sysroot/usr/include/epoxy/egl.h:46:0,
|                  from ../../../gtk+-3.22.17/gdk/wayland/gdkglcontext-wayland.h:32,
|                  from ../../../gtk+-3.22.17/gdk/wayland/gdkglcontext-wayland.c:24:
| ../../../gtk+-3.22.17/gdk/wayland/gdkglcontext-wayland.c: In function 'gdk_wayland_gl_context_realize':
| ../../../gtk+-3.22.17/gdk/wayland/gdkglcontext-wayland.c:179:43: error: expected expression before 'EGLContext'
|                                          : EGL_NO_CONTEXT,
|                                            ^

[1] ebe3a53db1

(From OE-Core rev: 5eb1eb0e984704c3c36499ccc9497bc3d81cb0d2)

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit b468e28194be39f6d6a2084bb51773c45253d5f7)
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-29 08:45:28 +00:00
Otavio Salvador
4aa7508362 image_types_wic.bbclass: Ensure '-c image_wic' works
The 'wic' image may use files which has been deployed (e.g in
do_deploy) for some partitions that may need to be copied in a
specific partition or filesystem (e.g a bootloader).

When using 'bitbake <image> -c image_wic', from a clean build, the
contents of do_deploy must also be available so we need to ensure all
do_deploy of the image dependencies has been complete.

Reported-by: Fabio Berton <fabio.berton@ossystems.com.br>
(From OE-Core rev: 6c32803432cd847ae81767afcfbe4b5db41b9672)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f387c28640cbb209b8a8ed5734b21c754d9f7663)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-29 08:45:28 +00:00
Mark Hatle
04395b3336 uninative.bbclass: Fix broken symlink issue
If two builds are sharing the same DL_DIR, and the uninative file is local
to a layer.  When the first build gets to uninative it creates the link local
to itself, and subsequent users can use the same link.  However if that first
build then is deleted from the disk, the symlink is no longer valid (broken).

We need to update the system to detect this case, and use the model
implemented by the bitbke fetch2 code.  Look for a broken link, remove it,
then try to create the link and ignore an exception if it already exists
(since we just unlinked any bad one).

(From OE-Core rev: 32895152580152c6613a4d651ba1bcee9be9883f)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit bfd9664edad7044b5da53fc33b8d0f6508f00950)
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-29 08:45:28 +00:00
Bruce Ashfield
014afe7666 linux-yocto/4.12: update to v4.12.19
Integrating the -stable update from Paul Gortmaker which comprises
the following commits:

   4aff9b16f4ba Linux 4.12.19
   28f16fcc84f9 Bluetooth: Prevent stack info leak from the EFS element.
   a430cb040780 loop: fix concurrent lo_open/lo_release
   4dd428f5965c net: ipv4: fix for a race condition in raw_sendmsg
   4428a99052e6 bpf: fix lockdep splat
   686f16d77fee bpf/verifier: Fix states_equal() comparison of pointer and UNKNOWN
   2c4577f1274b bpf: fix branch pruning logic
   d16a3b7b0642 bpf: reject out-of-bounds stack pointer calculation
   a1177b36876f x86/microcode/AMD: Add support for fam17h microcode loading
   19be0f0937af iommu/arm-smmu-v3: Cope with duplicated Stream IDs
   2e9834fd3352 iommu/arm-smmu-v3: Don't free page table ops twice
   1e67d5342bde KVM: X86: Fix load RFLAGS w/o the fixed bit
   b45b19d6e92d KVM: PPC: Book3S HV: Fix pending_pri value in kvmppc_xive_get_icp()
   ce4ad56d8b44 KVM: PPC: Book3S: fix XIVE migration of pending interrupts
   721f59a0bf4f KVM: arm/arm64: Fix HYP unmapping going off limits
   a7dbd1b73e6c arm64: kvm: Prevent restoring stale PMSCR_EL1 for vcpu
   3e4266c9ea63 KVM: arm/arm64: vgic-its: Preserve the revious read from the pending table
   c15b6348058e x86/asm: Use register variable to get stack pointer value
   19af84ace857 x86/asm: Fix inline asm call constraints for GCC 4.4
   78d54c1f3ac1 x86/asm: Fix inline asm call constraints for Clang
   9a6d78ff4fb7 arm64: prevent regressions in compressed kernel image size when upgrading to binutils 2.27
   3af55325636e mm: Handle 0 flags in _calc_vm_trans() macro
   f951c9e762b6 arm-ccn: perf: Prevent module unload while PMU is in use
   21bc2a95624c arm64: fix CONFIG_DEBUG_WX address reporting
   a2fb441f8cbd arm64: Initialise high_memory global variable earlier
   2b2e733345b0 kbuild: do not call cc-option before KBUILD_CFLAGS initialization
   4c67bceb55f4 jump_label: Invoke jump_label_test() via early_initcall()
   7cdf334210c3 ARM: BUG if jumping to usermode address in kernel mode
   77358b0b4d2f arm64: SW PAN: Update saved ttbr0 value on enter_lazy_tlb
   09bddb96452b arm64: SW PAN: Point saved ttbr0 at the zero page when switching to init_mm
   f451d0e885e1 arm64: fpsimd: Prevent registers leaking from dead tasks
   bf4bfcfd1780 KVM: arm/arm64: vgic-its: Check result of allocation before use
   bdd70c122339 KVM: arm/arm64: vgic: Preserve the revious read from the pending table
   6b99a8c8cdc0 KVM: arm/arm64: Fix broken GICH_ELRSR big endian conversion
   eadaba010c36 KVM: VMX: remove I/O port 0x80 bypass on Intel hosts
   b31b0eb03c2c arm: KVM: Fix VTTBR_BADDR_MASK BUG_ON off-by-one
   7c5a020deec8 arm64: KVM: fix VTTBR_BADDR_MASK BUG_ON off-by-one
   e1d48f51262e KVM: x86: fix APIC page invalidation
   4465b8b94411 x86/PCI: Make broadcom_postcore_init() check acpi_disabled
   74d50f1ac954 perf tools: Fix leaking rec_argv in error cases
   a8698071c4ba KVM: lapic: Fixup LDR on load in x2apic
   18db8c0cd612 KVM: lapic: Split out x2apic ldr calculation
   06e79931a082 KVM: x86: inject exceptions produced by x86_decode_insn
   1c7ccddc0a60 KVM: x86: Exit to user-mode on #UD intercept when emulator requires
   933a293d5925 KVM: x86: pvclock: Handle first-time write to pvclock-page contains random junk
   27a37b1b39b5 mm/madvise.c: fix madvise() infinite loop under special circumstances
   9a415da9c31c mm, hugetlbfs: introduce ->split() to vm_operations_struct
   ab1e80ae2b42 mm: fix device-dax pud write-faults triggered by get_user_pages()
   84392a1ffc54 mm/cma: fix alloc_contig_range ret code/potential leak
   390e49975c0c mm, thp: Do not make page table dirty unconditionally in touch_p[mu]d()
   c9d8192b4165 mm, oom_reaper: gather each vma to prevent leaking TLB entry
   557cc85757eb mm, memory_hotplug: do not back off draining pcp free pages from kworker context
   e7f78f55bdcb KVM: SVM: obey guest PAT
   eee1b36f5bd8 KVM: nVMX: set IDTR and GDTR limits when loading L1 host state
   eca2c0a4f6fd KVM: PPC: Book3S HV: Don't call real-mode XICS hypercall handlers if not enabled
   139c8678fb65 x86/decoder: Add new TEST instruction pattern
   f06e373ee93d RDS: Heap OOB write in rds_message_alloc_sgs()
   4f72d5339c6f RDS: null pointer dereference in rds_atomic_free_op
   3911496c7b54 net: Fix double free and memory corruption in get_net_ns_by_id()
   5c9f58b167bd MIPS: math-emu: do not use bools for arithmetic
   a756ea350c02 crypto: salsa20 - fix blkcipher_walk API usage
   632cfeb3cb42 crypto: hmac - require that the underlying hash algorithm is unkeyed
   fdd279fd5561 netlink: Add netns check on taps
   c142151947e9 dccp: CVE-2017-8824: use-after-free in DCCP code
   edd820b4ba76 media: hdpvr: Fix an error handling path in hdpvr_probe()
   aa0327d3dddc powerpc/tm: Add commandline option to disable hardware transactional memory

(From OE-Core rev: 4ff3897ce27fcfc1ba0dfec92e209f03ebc85bf4)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-28 10:14:02 +00:00
Bruce Ashfield
2eebf95f9e linux-yocto/4.9: update to v4.9.78
Integrating the korg 4.9 -stable updates. These include patches for
Spectre and meltdown mitigation. The changelog follows:

   79584a422125 Linux 4.9.78
   60249fe9050b MIPS: AR7: ensure the port type's FCR value is used
   06d7342d8498 x86/retpoline: Optimize inline assembler for vmexit_fill_RSB
   b9f8b5935394 x86/pti: Document fix wrong index
   4b71be496642 kprobes/x86: Disable optimizing on the function jumps to indirect thunk
   36ad6ba501d6 kprobes/x86: Blacklist indirect thunk functions for kprobes
   09402d83395f retpoline: Introduce start/end markers of indirect thunk
   c5aa687060a8 x86/mce: Make machine check speculation protected
   87ac29717de8 usbip: fix warning in vhci_hcd_probe/lockdep_init_map
   0d92cf7f29e6 x86/cpu, x86/pti: Do not enable PTI on AMD processors
   ddfaa7acd7a2 arm64: KVM: Fix SMCCC handling of unimplemented SMC/HVC calls
   2904adc5b1c0 dm thin metadata: THIN_MAX_CONCURRENT_LOCKS should be 6
   cabf6294a6dc dm btree: fix serious bug in btree_split_beneath()
   ca2d73686720 workqueue: avoid hard lockups in show_workqueue_state()
   d314f3bc7f3d libata: apply MAX_SEC_1024 to all LITEON EP1 series devices
   8a3f4baaa4c3 proc: fix coredump vs read /proc/*/stat race
   43c3e093c26d scripts/gdb/linux/tasks.py: fix get_thread_info
   23d68eddd857 can: peak: fix potential bug in packet fragmentation
   19f47eafe10c ARM: dts: kirkwood: fix pin-muxing of MPP7 on OpenBlocks A7
   1f32f15ec73c ARM: sunxi_defconfig: Enable CMA
   969e2145eb4a phy: work around 'phys' references to usb-nop-xceiv devices
   9a50ea0ce7cc tracing: Fix converting enum's from the map in trace_event_eval_update()
   cb513d1414f9 Input: twl4030-vibra - fix sibling-node lookup
   eaabab6468b3 Input: twl6040-vibra - fix child-node lookup
   9be13b3357e1 Input: 88pm860x-ts - fix child-node lookup
   607b86e17352 Input: ALPS - fix multi-touch decoding on SS4 plus touchpads
   9792f9b483cd perf tools: Fix build with ARCH=x86_64
   c557481a9491 x86/apic/vector: Fix off by one in error path
   5b13f593565f pipe: avoid round_pipe_size() nr_pages overflow on 32-bit
   02802dfc82a2 x86/tsc: Fix erroneous TSC rate on Skylake Xeon
   5ab44e8f0f0d x86/mm/pkeys: Fix fill_sig_info_pkey
   eee0cba7b02f module: Add retpoline tag to VERMAGIC
   a96cf98dda3f x86/cpufeature: Move processor tracing out of scattered features
   13ccac5de853 objtool: Improve error message for bad file argument
   b73d68788f79 x86/retpoline: Add LFENCE to the retpoline/RSB filling RSB macros
   abf67b1e7881 x86/retpoline: Fill RSB on context switch for affected CPUs
   1ad4f2872c3b sched/deadline: Zero out positive runtime after throttling constrained tasks
   997231f9fd7a scsi: hpsa: fix volume offline state
   d303d0ca9afb iser-target: Fix possible use-after-free in connection establishment error
   0476e6d0b752 af_key: fix buffer overread in parse_exthdrs()
   e4dc05ab8f5a af_key: fix buffer overread in verify_address_len()
   676109b28cad timers: Unconditionally check deferrable base
   4b6e681f5952 ALSA: hda - Apply the existing quirk to iMac 14,1
   fae704d5bd29 ALSA: hda - Apply headphone noise quirk for another Dell XPS 13 variant
   b9e168a0c629 ALSA: pcm: Remove yet superfluous WARN_ON()
   e4ff9f294629 ALSA: seq: Make ioctls race-free
   d8a3170db0de futex: Prevent overflow by strengthen input validation
   bb7119eea22c scsi: sg: disable SET_FORCE_LOW_DMA
   c9ca9d9d9b79 libnvdimm, btt: Fix an incompatibility in the log layout
   b8cf9ff79d63 Linux 4.9.77
   1b92c48a2eeb x86/pti/efi: broken conversion from efi to kernel page table
   92e8f2049474 objtool: Fix retpoline support for pre-ORC objtool
   44f1eae7fe65 x86/retpoline: Remove compile time warning
   c05d544d5343 selftests/x86: Add test_vsyscall
   c1ddd99a0296 x86/retpoline: Fill return stack buffer on vmexit
   276e30044710 x86/retpoline/irq32: Convert assembler indirect jumps
   a590960ae6ea x86/retpoline/checksum32: Convert assembler indirect jumps
   87a1fe36250d x86/retpoline/xen: Convert Xen hypercall indirect jumps
   9e37da4c3de1 x86/retpoline/hyperv: Convert assembler indirect jumps
   83d7658362cc x86/retpoline/ftrace: Convert ftrace assembler indirect jumps
   8b1bacc3218c x86/retpoline/entry: Convert entry assembler indirect jumps
   2adc2f74449f x86/retpoline/crypto: Convert crypto assembler indirect jumps
   8f96937ee304 x86/spectre: Add boot time option to select Spectre v2 mitigation
   2bb5de42f254 x86/retpoline: Add initial retpoline support
   4bf050da57d9 x86/asm: Use register variable to get stack pointer value
   4d8bd3e2f6b1 objtool: Allow alternatives to be ignored
   3adb52ab2976 objtool: Detect jumps to retpoline thunks
   35aee626fa63 objtool, modules: Discard objtool annotation sections for modules
   00bcb5ada638 x86/mm/32: Move setup_clear_cpu_cap(X86_FEATURE_PCID) earlier
   91b7e5cdc80a x86/alternatives: Add missing '\n' at end of ALTERNATIVE inline asm
   194dc04770f5 x86/alternatives: Fix optimize_nops() checking
   5ddd318a4715 sysfs/cpu: Fix typos in vulnerability documentation
   9c5e750c8e84 x86/cpu/AMD: Use LFENCE_RDTSC in preference to MFENCE_RDTSC
   abcc3e5f0079 x86/cpu/AMD: Make LFENCE a serializing instruction
   45a98824bd79 x86/cpu: Implement CPU vulnerabilites sysfs functions
   11ec2df9c020 sysfs/cpu: Add vulnerability folder
   56eff367e071 x86/cpu: Merge bugs.c and bugs_64.c
   26323fb4d717 x86/cpufeatures: Add X86_BUG_SPECTRE_V[12]
   43fe95308d27 x86/pti: Rename BUG_CPU_INSECURE to BUG_CPU_MELTDOWN
   d88f601b9ac9 x86/cpufeatures: Add X86_BUG_CPU_INSECURE
   c2cacde516a4 x86/cpufeatures: Make CPU bugs sticky
   ef463981018e x86/cpu: Factor out application of forced CPU caps
   4e6c2af2ba93 x86/Documentation: Add PTI description
   d598347989aa e1000e: Fix e1000_check_for_copper_link_ich8lan return value.
   3ba5d3a2cf40 uas: ignore UAS for Norelsys NS1068(X) chips
   6aebc2670ebf Bluetooth: Prevent stack info leak from the EFS element.
   c51d23dffc2e staging: android: ashmem: fix a race condition in ASHMEM_SET_SIZE ioctl
   8ab8c6e6607a usbip: vudc_tx: fix v_send_ret_submit() vulnerability to null xfer buffer
   86c8d58fc753 usbip: fix vudc_rx: harden CMD_SUBMIT path to handle malicious input
   6851ec74bfe4 usbip: remove kernel addresses from usb device and urb debug msgs
   435db24bb91f USB: fix usbmon BUG trigger
   9f6ca0ea7a7a usb: misc: usb3503: make sure reset is low for at least 100us
   11632d079e9e USB: serial: cp210x: add new device ID ELV ALC 8xxx
   4abe275c2dee USB: serial: cp210x: add IDs for LifeScan OneTouch Verio IQ
   820ef2a0e54c bpf, array: fix overflow in max_entries and undefined behavior in index_mask
   a9bfac14cde2 bpf: prevent out-of-bounds speculation
   f55093dccd3a bpf: refactor fixup_bpf_calls()
   28035366afe9 bpf: move fixup_bpf_calls() function
   60c7a9cd5050 target: Avoid early CMD_T_PRE_EXECUTE failures during ABORT_TASK
   748e1b6281f5 iscsi-target: Make TASK_REASSIGN use proper se_cmd->cmd_kref
   ec61bafb2abd kaiser: Set _PAGE_NX only if supported
   08a752581104 drm/vmwgfx: Potential off by one in vmw_view_add()
   012df71d2980 KVM: x86: Add memory barrier on vmcs field lookup
   431fd501aa3f x86/microcode/intel: Extend BDW late-loading with a revision check
   553a8b8c8d87 rbd: set max_segments to USHRT_MAX
   3752d2fb9a6d crypto: algapi - fix NULL dereference in crypto_remove_spawns()
   b28394cbb402 net/sched: Fix update of lastuse in act modules implementing stats_update
   e2b825e8de16 mlxsw: spectrum_router: Fix NULL pointer deref
   16d5b481d098 ethtool: do not print warning for applications using legacy API
   dde00c92245d ipv6: fix possible mem leaks in ipv6_make_skb()
   6f237183c7ca net: stmmac: enable EEE in MII, GMII or RGMII only
   7f4226ffcba0 sh_eth: fix SH7757 GEther initialization
   eb2f80e099d4 sh_eth: fix TSU resource handling
   ce31b6ac1111 RDS: null pointer dereference in rds_atomic_free_op
   cebb382931c4 RDS: Heap OOB write in rds_message_alloc_sgs()
   61196a67cac4 net: core: fix module type in sock_diag_bind
   ca5681b723d3 ip6_tunnel: disable dst caching if tunnel is dual-stack
   fe71f34fbf83 8021q: fix a memory leak for VLAN 0 device
   66bb6c2c4445 xhci: Fix ring leak in failure path of xhci_alloc_virt_device()
   135f98084eac cx82310_eth: use skb_cow_head() to deal with cloned skbs
   7c5015409bef smsc75xx: use skb_cow_head() to deal with cloned skbs
   ab4fd7a2ddc5 sr9700: use skb_cow_head() to deal with cloned skbs
   542bcc549379 lan78xx: use skb_cow_head() to deal with cloned skbs
   1ecdfc1ee99d zswap: don't param_set_charp while holding spinlock
   5c1b80f674e9 x86/acpi: Reduce code duplication in mp_override_legacy_irq()
   43ff00f87377 ALSA: aloop: Fix racy hw constraints adjustment
   5af666d0ddb7 ALSA: aloop: Fix inconsistent format due to incomplete rule
   01046dd834ac ALSA: aloop: Release cable upon open error path
   bee3f2d5c02a ALSA: pcm: Allow aborting mutex lock at OSS read/write loops
   3a00564cb49f ALSA: pcm: Abort properly at pending signal in OSS read/write loops
   8e81425e80c9 ALSA: pcm: Add missing error checks in OSS emulation plugin builder
   83da0245eda2 ALSA: pcm: Remove incorrect snd_BUG_ON() usages
   0199927a8e51 x86/acpi: Handle SCI interrupts above legacy space gracefully
   64ab063b7193 platform/x86: wmi: Call acpi_wmi_init() later
   491c0ca3dbd5 kvm: vmx: Scrub hardware GPRs at VM-exit
   78c00f597ba8 MIPS: Disallow outsized PTRACE_SETREGSET NT_PRFPREG regset accesses
   1f4cff1c364b MIPS: Also verify sizeof `elf_fpreg_t' with PTRACE_SETREGSET
   cfc5c63a38ca MIPS: Fix an FCSR access API regression with NT_PRFPREG and MSA
   f616180a8720 MIPS: Consistently handle buffer counter with PTRACE_SETREGSET
   5b593a81fddd MIPS: Guard against any partial write attempt with PTRACE_SETREGSET
   8eb5655aacdd MIPS: Factor out NT_PRFPREG regset access helpers
   14e1c579acba MIPS: Validate PR_SET_FP_MODE prctl(2) requests against the ABI of the task
   30191718645d IB/srpt: Disable RDMA access by the initiator
   02f201f78fb9 can: gs_usb: fix return value of the "set_bittiming" callback
   c781e3be97a1 KVM: Fix stack-out-of-bounds read in write_mmio
   c5ab9ee144d8 ath10k: rebuild crypto header in rx data frames
   234c8e60437d mac80211: Add RX flag to indicate ICV stripped
   b58aa24edb62 dm bufio: fix shrinker scans when (nr_to_scan < retain_target)
   7bbc6ca48877 Linux 4.9.76
   5e1f377fc810 mtd: nand: pxa3xx: Fix READOOB implementation
   beca4e2d9944 Map the vsyscall page with _PAGE_USER
   47f3cea393ab x86/tlb: Drop the _GPL from the cpu_tlbstate export
   91dfc41e753b parisc: qemu idle sleep support
   14c06206b98f parisc: Fix alignment of pa_tlb_lock in assembly on 32-bit SMP kernel
   dd43c465ba24 x86/microcode/AMD: Add support for fam17h microcode loading
   2b009d33f427 Input: elantech - add new icbody type 15
   cc1349fa9c22 ARC: uaccess: dont use "l" gcc inline asm constraint modifier
   e6a897a684c2 iommu/arm-smmu-v3: Cope with duplicated Stream IDs
   03975faee7ce iommu/arm-smmu-v3: Don't free page table ops twice
   4d53eb494950 kernel/signal.c: remove the no longer needed SIGNAL_UNKILLABLE check in complete_signal()
   794ac8ef9b06 kernel/signal.c: protect the SIGNAL_UNKILLABLE tasks from !sig_kernel_only() signals
   1453b3ac6cf8 kernel/signal.c: protect the traced SIGNAL_UNKILLABLE tasks from SIGKILL
   79258d983480 kernel: make groups_sort calling a responsibility group_info allocators
   3a381abc5b70 nbd: fix use-after-free of rq/bio in the xmit path
   2b9b2002e05d fscache: Fix the default for fscache_maybe_release_page()
   34fa2eede095 sunxi-rsb: Include OF based modalias in device uevent
   c195a4c0230d crypto: pcrypt - fix freeing pcrypt instances
   868f50b95dbe crypto: chacha20poly1305 - validate the digest size
   f6db86f31b47 crypto: n2 - cure use after free
   790080ce0e32 kernel/acct.c: fix the acct->needcheck check in check_free_space()
   9f74755895f9 Linux 4.9.75
   92fd81f77267 kaiser: Set _PAGE_NX only if supported
   ea6cd39d230f KPTI: Report when enabled
   e71fac01727a KPTI: Rename to PAGE_TABLE_ISOLATION
   59094faf3f61 x86/kaiser: Move feature detection up
   402e63de94af kaiser: disabled on Xen PV
   2c2721754a7f x86/kaiser: Reenable PARAVIRT
   1817d2c2fac1 x86/paravirt: Dont patch flush_tlb_single
   fe5cb75fd2dd kaiser: kaiser_flush_tlb_on_return_to_user() check PCID
   b72c26e911c5 kaiser: asm/tlbflush.h handle noPGE at lower level
   8c2f8a5cc15b kaiser: drop is_atomic arg to kaiser_pagetable_walk()
   169b369f99af kaiser: use ALTERNATIVE instead of x86_cr3_pcid_noflush
   8018307a45a9 x86/kaiser: Check boottime cmdline params
   50624dd12d6d x86/kaiser: Rename and simplify X86_FEATURE_KAISER handling
   23e09439aa46 kaiser: add "nokaiser" boot option, using ALTERNATIVE
   cb7d8d7e6737 kaiser: fix unlikely error in alloc_ldt_struct()
   3df146178706 kaiser: kaiser_remove_mapping() move along the pgd
   05ddad146d02 kaiser: paranoid_entry pass cr3 need to paranoid_exit
   d0142ceb7926 kaiser: x86_cr3_pcid_noflush and x86_cr3_pcid_user
   6a2b4117614c kaiser: PCID 0 for kernel and 128 for user
   0b5ca9d99599 kaiser: load_new_mm_cr3() let SWITCH_USER_CR3 flush user
   2684b12a169e kaiser: enhanced by kernel and user PCIDs
   1972bb9d9206 kaiser: vmstat show NR_KAISERTABLE as nr_overhead
   1ce27de4011e kaiser: delete KAISER_REAL_SWITCH option
   c27cdea56c54 kaiser: name that 0x1000 KAISER_SHADOW_PGD_OFFSET
   61b7a404fa13 kaiser: cleanups while trying for gold link
   604db4961085 kaiser: align addition to x86/mm/Makefile
   be6bf01f4caa kaiser: tidied up kaiser_add/remove_mapping slightly
   67fab0d4acb3 kaiser: tidied up asm/kaiser.h somewhat
   f43f386f0bf0 kaiser: ENOMEM if kaiser_pagetable_walk() NULL
   f881e626849c kaiser: fix perf crashes
   19377944317f kaiser: fix regs to do_nmi() ifndef CONFIG_KAISER
   639c005daeeb kaiser: KAISER depends on SMP
   7a92e20d157f kaiser: fix build and FIXME in alloc_ldt_struct()
   0994a2cf8fe4 kaiser: stack map PAGE_SIZE at THREAD_SIZE-PAGE_SIZE
   ac2f1018ac21 kaiser: do not set _PAGE_NX on pgd_none
   8f0baadf2bea kaiser: merged update
   13be4483bb48 KAISER: Kernel Address Isolation
   b5fd58e997cf x86/boot: Add early cmdline parsing for options with arguments
   8824b2d7abfb tcp_bbr: reset long-term bandwidth sampling on loss recovery undo
   61c51da2b4bd tcp_bbr: reset full pipe detection on loss recovery undo
   07bcb2489b96 Linux 4.9.74
   181a832c2e26 mm/vmstat: Make NR_TLB_REMOTE_FLUSH_RECEIVED available even on UP
   d76dabb5af06 tty: fix tty_ldisc_receive_buf() documentation
   00fc57ae06c3 n_tty: fix EXTPROC vs ICANON interaction with TIOCINQ (aka FIONREAD)
   404ae546c7d1 x86/smpboot: Remove stale TLB flush invocations
   e8119ac05d71 nohz: Prevent a timer interrupt storm in tick_nohz_stop_sched_tick()
   249d4a9b3246 timers: Reinitialize per cpu bases on hotplug
   574e543ff970 timers: Invoke timer_start_debug() where it makes sense
   d840687aa8a3 timers: Use deferrable base independent of base::nohz_active
   09d3e69305b3 usb: xhci: Add XHCI_TRUST_TX_LENGTH for Renesas uPD720201
   ab1fbfecd330 USB: Fix off by one in type-specific length check of BOS SSP capability
   425d2f15338d usb: add RESET_RESUME for ELSA MicroLink 56K
   0f2e9cbc231c usb: Add device quirk for Logitech HD Pro Webcam C925e
   d98f4d4d0283 USB: serial: option: adding support for YUGA CLM920-NC5
   192cdf5ecaf8 USB: serial: option: add support for Telit ME910 PID 0x1101
   6ab3d87ad702 USB: serial: qcserial: add Sierra Wireless EM7565
   0af1aebb6a8b USB: serial: ftdi_sio: add id for Airbus DS P8GR
   03dce0573d38 usbip: vhci: stop printing kernel pointer addresses in messages
   9e9f4255c0d3 usbip: stub: stop printing kernel pointer addresses in messages
   1ef5c433b3b9 usbip: prevent leaking socket pointer address in messages
   3c579d0b4f0f usbip: fix usbip bind writing random string after command in match_busid
   67b539cab43c s390/qeth: update takeover IPs after configuration change
   476d7d693295 s390/qeth: lock IP table while applying takeover changes
   475018c79742 s390/qeth: don't apply takeover changes to RXIP
   6ed7c48e93bb s390/qeth: apply takeover changes when mode is toggled
   7493d98ea84c net/mlx5: Fix error flow in CREATE_QP command
   c844a4589487 net/mlx5e: Prevent possible races in VXLAN control flow
   604225824f06 net/mlx5e: Add refcount to VXLAN structure
   d1614fd9cd10 net/mlx5e: Fix possible deadlock of VXLAN lock
   9424a79ec11d net/mlx5e: Fix features check of IPv6 traffic
   138723912343 net/mlx5: Fix rate limit packet pacing naming and struct
   e74fe7268e7e tcp: invalidate rate samples during SACK reneging
   58f6ebbd3424 sock: free skb in skb_complete_tx_timestamp on error
   a746fadd5e31 net: phy: micrel: ksz9031: reconfigure autoneg after phy autoneg workaround
   03c93293a83a net: Fix double free and memory corruption in get_net_ns_by_id()
   8c38f3190fd6 net: fec: Allow reception of frames bigger than 1522 bytes
   243adaa4eaea net: bridge: fix early call to br_stp_change_bridge_id and plug newlink leaks
   e4f669802775 ipv4: Fix use-after-free when flushing FIB tables
   e51abae8458a adding missing rcu_read_unlock in ipxip6_rcv
   ae67e5486b97 sctp: Replace use of sockets_allocated with specified macro.
   99cf2daf0da3 net: mvmdio: disable/unprepare clocks in EPROBE_DEFER case
   f75f910ffa90 net: ipv4: fix for a race condition in raw_sendmsg
   484369ff9715 tg3: Fix rx hang on MTU change with 5717/5719
   7887a700ce61 tcp md5sig: Use skb's saddr when replying to an incoming segment
   a4bf8efd2bcb tcp_bbr: record "full bw reached" decision in new full_bw_reached bit
   53288d82188b RDS: Check cmsg_len before dereferencing CMSG_DATA
   8b032bde2899 ptr_ring: add barriers
   b3b56038bab0 net: reevalulate autoflowlabel setting after sysctl setting
   8baa58c5d536 net: qmi_wwan: add Sierra EM7565 1199:9091
   0b18782288a2 netlink: Add netns check on taps
   2c1a0b2e2bac net: igmp: Use correct source address on IGMPv3 reports
   930882f8b831 net: fec: unmap the xmit buffer that are not transferred by DMA
   f6d7cdbb0285 ipv6: mcast: better catch silly mtu values
   c2f78bf8ca3a ipv4: igmp: guard against silly MTU values
   b929ccccbc8c kbuild: add '-fno-stack-check' to kernel build options
   04bdf71d9f74 x86/mm/64: Fix reboot interaction with CR4.PCIDE
   b52f937eccd4 x86/mm: Enable CR4.PCIDE on supported systems
   e6a29320de00 x86/mm: Add the 'nopcid' boot option to turn off PCID
   1e7f3d8875ee x86/mm: Disable PCID on 32-bit kernels
   3e5daacf6517 x86/mm: Remove the UP asm/tlbflush.h code, always use the (formerly) SMP code
   a94af050080f x86/mm: Reimplement flush_tlb_page() using flush_tlb_mm_range()
   113980c002eb x86/mm: Make flush_tlb_mm_range() more predictable
   219acedb061c x86/mm: Remove flush_tlb() and flush_tlb_current_task()
   72b812d5b874 x86/vm86/32: Switch to flush_tlb_mm_range() in mark_screen_rdonly()
   65ca46e5fe12 ALSA: hda - fix headset mic detection issue on a Dell machine
   a1dbcd823a30 ALSA: hda: Drop useless WARN_ON()
   d30d1761bc43 ASoC: tlv320aic31xx: Fix GPIO1 register definition
   b04640a450d3 ASoC: twl4030: fix child-node lookup
   00add00ed2c0 ASoC: fsl_ssi: AC'97 ops need regmap, clock and cleaning up on failure
   35f87d45cba3 ASoC: da7218: fix fix child-node lookup
   125e81b5afcb ASoC: wm_adsp: Fix validation of firmware and coeff lengths
   72d5e020c0ef iw_cxgb4: Only validate the MSN for successful completions
   2e0d458c315a ring-buffer: Mask out the info bits when returning buffer page length
   81e155e7b023 tracing: Fix crash when it fails to alloc ring buffer
   5dc4cd2688e3 tracing: Fix possible double free on failure of allocating trace buffer
   6edea15d120c tracing: Remove extra zeroing out of the ring buffer page
   3d16a1315add sync objtool's copy of x86-opcode-map.txt
   b3e88217e2f9 Linux 4.9.73
   37435f7e80ef bpf/verifier: Fix states_equal() comparison of pointer and UNKNOWN
   69cf72b28791 net: mvneta: eliminate wrong call to handle rx descriptor error
   a57f99f484e5 net: mvneta: use proper rxq_number in loop on rx queues
   405f3d7946fd net: mvneta: clear interface link status on port disable
   423716cf2815 libnvdimm, pfn: fix start_pad handling for aligned namespaces
   77b318a4e558 powerpc/perf: Dereference BHRB entries safely
   2635a64d0e94 clk: sunxi: sun9i-mmc: Implement reset callback for reset controls
   18276e9bcd49 kvm: x86: fix RSM when PCID is non-zero
   e5c73b3b60e1 KVM: X86: Fix load RFLAGS w/o the fixed bit
   418dfce4fa63 pinctrl: cherryview: Mask all interrupts on Intel_Strago based systems
   cb8b2fd1909e spi: xilinx: Detect stall with Unknown commands
   373386ec3f70 parisc: Hide Diva-built-in serial aux and graphics card
   10b4a621f367 PCI / PM: Force devices to D0 in pci_pm_thaw_noirq()
   3176065495e1 ALSA: usb-audio: Fix the missing ctl name suffix at parsing SU
   beab14a3eeb8 ALSA: usb-audio: Add native DSD support for Esoteric D-05X
   cec92448c58e ALSA: rawmidi: Avoid racy info ioctl via ctl device
   becf7d87cda9 mfd: twl6040: Fix child-node lookup
   f4c0796fdc8b mfd: twl4030-audio: Fix sibling-node lookup
   2db85cb211d0 mfd: cros ec: spi: Don't send first message too soon
   e81cff1cedef crypto: mcryptd - protect the per-CPU queue with a lock
   d31a207aaf07 acpi, nfit: fix health event notification
   54c74d38819d ACPI: APEI / ERST: Fix missing error handling in erst_reader()
   2df397931072 Linux 4.9.72
   6430e166aee8 sparc32: Export vac_cache_size to fix build error
   3695b3b18519 bpf: fix incorrect sign extension in check_alu_op()
   d75d3ee237ce bpf: reject out-of-bounds stack pointer calculation
   7b5b73ea87a0 bpf: fix branch pruning logic
   565f012f5abb bpf: adjust insn_aux_data when patching insns
   3b6c84bc6449 Revert "Bluetooth: btusb: driver to enable the usb-wakeup feature"
   dbeb719e24c3 platform/x86: asus-wireless: send an EV_SYN/SYN_REPORT between state changes
   00ecb4b1a599 MIPS: math-emu: Fix final emulation phase for certain instructions
   3cff90788e28 thermal/drivers/hisi: Fix multiple alarm interrupts firing
   1b2c46a6be45 thermal/drivers/hisi: Simplify the temperature/step computation
   2dac559df962 thermal/drivers/hisi: Fix kernel panic on alarm interrupt
   b679b8d7bad0 thermal/drivers/hisi: Fix missing interrupt enablement
   82bf76afa8af thermal: hisilicon: Handle return value of clk_prepare_enable
   b86c7b8c5dfb cpuidle: fix broadcast control when broadcast can not be entered
   15319d2a49ca rtc: set the alarm to the next expiring timer
   acc96729e1d8 tcp: fix under-evaluated ssthresh in TCP Vegas
   5859027994f9 clk: sunxi-ng: sun6i: Rename HDMI DDC clock to avoid name collision
   bb0618ac2302 staging: greybus: light: Release memory obtained by kasprintf
   4bf42a2ec12a net: ipv6: send NS for DAD when link operationally up
   52d0a601aec4 fm10k: ensure we process SM mbx when processing VF mbx
   76d83bfc1158 vfio/pci: Virtualize Maximum Payload Size
   de5a4c816d31 scsi: lpfc: PLOGI failures during NPIV testing
   b438d2f7e23c scsi: lpfc: Fix secure firmware updates
   fc9d6386a9a3 fm10k: fix mis-ordered parameters in declaration for .ndo_set_vf_bw
   bd0feaac155f ASoC: img-parallel-out: Add pm_runtime_get/put to set_fmt callback
   6af9b18a2e48 tracing: Exclude 'generic fields' from histograms
   fbb2d72a54c6 PCI/AER: Report non-fatal errors only to the affected endpoint
   1d4b32bee9c7 IB/rxe: check for allocation failure on elem
   2141182852b8 ixgbe: fix use of uninitialized padding
   700053c8733e igb: check memory allocation failure
   c236525bae02 PM / OPP: Move error message to debug level
   164a941c031b PCI: Create SR-IOV virtfn/physfn links before attaching driver
   b40eeea31afd scsi: mpt3sas: Fix IO error occurs on pulling out a drive from RAID1 volume created on two SATA drive
   fd1d9dccc01d scsi: cxgb4i: fix Tx skb leak
   241833a3a90d PCI: Avoid bus reset if bridge itself is broken
   d3469e616668 net: phy: at803x: Change error to EINVAL for invalid MAC
   206e1621ba72 kvm, mm: account kvm related kmem slabs to kmemcg
   bdb33bb5e2ce rtc: pl031: make interrupt optional
   1525e330d646 crypto: crypto4xx - increase context and scatter ring buffer elements
   291c7e488f64 backlight: pwm_bl: Fix overflow condition
   d14718c9f434 bnxt_en: Fix NULL pointer dereference in reopen failure path
   9e1771368a98 cpuidle: powernv: Pass correct drv->cpumask for registration
   5460e4672b81 ARM: dma-mapping: disallow dma_get_sgtable() for non-kernel managed memory
   9c1433b5dd2b Btrfs: fix an integer overflow check
   0708a476810d netfilter: nfnetlink_queue: fix secctx memory leak
   54420c1ac421 xhci: plat: Register shutdown for xhci_plat
   55b6a5d080aa net: moxa: fix TX overrun memory leak
   ce19146a0de0 isdn: kcapi: avoid uninitialized data
   bb011a451387 virtio_balloon: prevent uninitialized variable use
   c6f9090929dc virtio-balloon: use actual number of stats for stats queue buffers
   808ed3bd9d42 KVM: pci-assign: do not map smm memory slot pages in vt-d page tables
   29c4f517ff5b net: ipconfig: fix ic_close_devs() use-after-free
   e9a1ba292fff cpufreq: Fix creation of symbolic links to policy directories
   e0d13153057e ARM: dts: am335x-evmsk: adjust mmc2 param to allow suspend
   b5ed572a1b7d netfilter: nf_nat_snmp: Fix panic when snmp_trap_helper fails to register
   01060acf6aab netfilter: nfnl_cthelper: fix a race when walk the nf_ct_helper_hash table
   9e6398184a4d irda: vlsi_ir: fix check for DMA mapping errors
   37f41dac70ca RDMA/iser: Fix possible mr leak on device removal event
   661f5348696a i40e: Do not enable NAPI on q_vectors that have no rings
   2eb783a705b0 IB/rxe: increment msn only when completing a request
   2f0e39f2e3d7 IB/rxe: double free on error
   7f077afe94d9 net: Do not allow negative values for busy_read and busy_poll sysctl interfaces
   521a7e3dad6b nbd: set queue timeout properly
   f4fcc56632cf infiniband: Fix alignment of mmap cookies to support VIPT caching
   cd083d5bcafd IB/core: Protect against self-requeue of a cq work item
   26452a5033dc i40iw: Receive netdev events post INET_NOTIFIER state
   102a8a163449 bna: avoid writing uninitialized data into hw registers
   51533c4bf144 s390/qeth: no ETH header for outbound AF_IUCV
   118b0404d68d s390/qeth: size calculation outbound buffers
   60d59823046a r8152: prevent the driver from transmitting packets with carrier off
   b89e229112c0 ASoC: STI: Fix reader substream pointer set
   347848e0bb99 HID: xinmo: fix for out of range for THT 2P arcade controller.
   afa055f2a1d0 hwmon: (asus_atk0110) fix uninitialized data access
   5700ffc4accb ARM: dts: ti: fix PCI bus dtc warnings
   2df19698db73 KVM: VMX: Fix enable VPID conditions
   e0249c023448 KVM: x86: correct async page present tracepoint
   8386ff5203e0 kvm: vmx: Flush TLB when the APIC-access address changes
   3bd2017b6a20 scsi: lpfc: Fix PT2PT PRLI reject
   0f4aa1f0f576 pinctrl: st: add irq_request/release_resources callbacks
   7656871eff6a inet: frag: release spinlock before calling icmp_send()
   e6e8067ec34a tipc: fix nametbl deadlock at tipc_nametbl_unsubscribe
   bfb38fbd868d r8152: fix the rx early size of RTL8153
   7171aa2680b2 iommu/exynos: Workaround FLPD cache flush issues for SYSMMU v5
   0f0ac218057f netfilter: nfnl_cthelper: Fix memory leak
   ec38fb443a09 netfilter: nfnl_cthelper: fix runtime expectation policy updates
   02197d86c56d usb: gadget: udc: remove pointer dereference after free
   2b943bed33e7 usb: gadget: f_uvc: Sanity check wMaxPacketSize for SuperSpeed
   2101ccbc2a91 hwmon: (max31790) Set correct PWM value
   4ee082a72731 net: qmi_wwan: Add USB IDs for MDM6600 modem on Motorola Droid 4
   9ed8f0fabae5 sctp: out_qlen should be updated when pruning unsent queue
   b4cf187a1bc5 bna: integer overflow bug in debugfs
   b3f662ccd367 sch_dsmark: fix invalid skb_cow() usage
   98d20e590266 vsock: cancel packets when failing to connect
   482b3f92aea2 vhost-vsock: add pkt cancel capability
   6f1848e778d9 vsock: track pkt owner vsock
   7ff28d3307b6 crypto: deadlock between crypto_alg_sem/rtnl_mutex/genl_mutex
   ddfc9f75993e r8152: fix the list rx_done may be used without initialization
   9712b2b73d7c cpuidle: Validate cpu_dev in cpuidle_add_sysfs()
   8f21b63c9dcf nvme-loop: handle cpu unplug when re-establishing the controller
   c9bbd2727d1e arm: kprobes: Align stack to 8-bytes in test code
   d0ee8d5b86b8 arm: kprobes: Fix the return address of multiple kretprobes
   6e2a6941fa4b HID: corsair: Add driver Scimitar Pro RGB gaming mouse 1b1c:1b3e support to hid-corsair
   e93ea3a50cc6 HID: corsair: support for K65-K70 Rapidfire and Scimitar Pro RGB
   2a7eee3d72b0 kvm: fix usage of uninit spinlock in avic_vm_destroy()
   2d9a34c064ad ALSA: hda - add support for docking station for HP 840 G3
   52c3323e4141 ALSA: hda - add support for docking station for HP 820 G2
   bb95f1caee61 arm64: Initialise high_memory global variable earlier
   76fcdc8cbbce cxl: Check if vphb exists before iterating over AFU devices

(From OE-Core rev: 5836f31aad5cb5772e899fa02e6716ab48dd1d01)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-28 10:14:02 +00:00
Bruce Ashfield
c3576a7687 linux-yocto/4.4: update to v4.4.113
Integrating the korg 4.4 -stable releases up to 113. These include
Spectre and Meltdown mitigation patches. Changelog follows:

   f0d0a93b0e81 Linux 4.4.113
   38bc402237f8 MIPS: AR7: ensure the port type's FCR value is used
   11e619414b69 x86/retpoline: Optimize inline assembler for vmexit_fill_RSB
   58f96ac5dba6 x86/pti: Document fix wrong index
   6cb73eb80451 kprobes/x86: Disable optimizing on the function jumps to indirect thunk
   9b8bd0d35868 kprobes/x86: Blacklist indirect thunk functions for kprobes
   799dc737680a retpoline: Introduce start/end markers of indirect thunk
   f59e7ce17ba3 x86/mce: Make machine check speculation protected
   ff535919c136 kbuild: modversions for EXPORT_SYMBOL() for asm
   6b1c99e275c0 x86/cpu, x86/pti: Do not enable PTI on AMD processors
   5ecd5c8388f0 arm64: KVM: Fix SMCCC handling of unimplemented SMC/HVC calls
   7e7b086ef2fe dm thin metadata: THIN_MAX_CONCURRENT_LOCKS should be 6
   9c7755af771a dm btree: fix serious bug in btree_split_beneath()
   b7bd013a3fe0 libata: apply MAX_SEC_1024 to all LITEON EP1 series devices
   082dfe6141f3 can: peak: fix potential bug in packet fragmentation
   2d5523bf47b4 ARM: dts: kirkwood: fix pin-muxing of MPP7 on OpenBlocks A7
   d5276c013713 phy: work around 'phys' references to usb-nop-xceiv devices
   cf3625004e6c tracing: Fix converting enum's from the map in trace_event_eval_update()
   b6306f3fdcaa Input: twl4030-vibra - fix sibling-node lookup
   a89e1ac9b0da Input: twl6040-vibra - fix child-node lookup
   8e70d4862271 Input: twl6040-vibra - fix DT node memory management
   47970b4ea09c Input: 88pm860x-ts - fix child-node lookup
   7fd133539289 x86/apic/vector: Fix off by one in error path
   aa041f13f8c6 pipe: avoid round_pipe_size() nr_pages overflow on 32-bit
   1782af2835fe module: Add retpoline tag to VERMAGIC
   fba063e6dfb4 x86/retpoline: Add LFENCE to the retpoline/RSB filling RSB macros
   8bd58b61d2fa sched/deadline: Zero out positive runtime after throttling constrained tasks
   ec7a002d7796 scsi: hpsa: fix volume offline state
   b78f2d36e737 af_key: fix buffer overread in parse_exthdrs()
   48907f2535aa af_key: fix buffer overread in verify_address_len()
   478a7fa82ff7 ALSA: hda - Apply the existing quirk to iMac 14,1
   a4d7639d5fb6 ALSA: hda - Apply headphone noise quirk for another Dell XPS 13 variant
   80547bb6154d ALSA: pcm: Remove yet superfluous WARN_ON()
   58c82be944f5 futex: Prevent overflow by strengthen input validation
   f1fcb9d2926c scsi: sg: disable SET_FORCE_LOW_DMA
   451725c3e785 x86/retpoline: Remove compile time warning
   eebc3f8adee0 x86/retpoline: Fill return stack buffer on vmexit
   f72655b837eb x86/retpoline/irq32: Convert assembler indirect jumps
   7e5bb301bd2f x86/retpoline/checksum32: Convert assembler indirect jumps
   6b222e7483af x86/retpoline/xen: Convert Xen hypercall indirect jumps
   d2beed45635e x86/retpoline/hyperv: Convert assembler indirect jumps
   7153a6d5ff05 x86/retpoline/ftrace: Convert ftrace assembler indirect jumps
   028083cb02db x86/retpoline/entry: Convert entry assembler indirect jumps
   9fe55976f0c8 x86/retpoline/crypto: Convert crypto assembler indirect jumps
   9f789bc5711b x86/spectre: Add boot time option to select Spectre v2 mitigation
   3c5e10905263 x86/retpoline: Add initial retpoline support
   675901851fd2 kconfig.h: use __is_defined() to check if MODULE is defined
   a88693d00698 EXPORT_SYMBOL() for asm
   b8e7a489b518 x86/asm: Make asm/alternative.h safe from assembly
   b76ac90af34d x86/kbuild: enable modversions for symbols exported from asm
   cfc8c1d61e46 x86/asm: Use register variable to get stack pointer value
   416f66509fce x86/mm/32: Move setup_clear_cpu_cap(X86_FEATURE_PCID) earlier
   642ce1bb5ea6 x86/cpu/AMD: Use LFENCE_RDTSC in preference to MFENCE_RDTSC
   20c28c04a6bc x86/cpu/AMD: Make LFENCE a serializing instruction
   e6c591e7a430 gcov: disable for COMPILE_TEST
   42375c1120d5 Linux 4.4.112
   125d76412866 selftests/x86: Add test_vsyscall
   999d4f1961fa x86/alternatives: Add missing '\n' at end of ALTERNATIVE inline asm
   e997d991ab2b x86/alternatives: Fix optimize_nops() checking
   433d7851e5ca sysfs/cpu: Fix typos in vulnerability documentation
   72cf81e43ba4 x86/cpu: Implement CPU vulnerabilites sysfs functions
   73492b686012 sysfs/cpu: Add vulnerability folder
   9718bf5f4ebb x86/cpu: Merge bugs.c and bugs_64.c
   caae411b6ee0 x86/cpufeatures: Add X86_BUG_SPECTRE_V[12]
   6349cab425ce x86/pti: Rename BUG_CPU_INSECURE to BUG_CPU_MELTDOWN
   07c7aa5e7e8a x86/cpufeatures: Add X86_BUG_CPU_INSECURE
   65b28590de24 x86/cpufeatures: Make CPU bugs sticky
   18b849b18d1c x86/cpu: Factor out application of forced CPU caps
   d013f41d0cc5 x86/Documentation: Add PTI description
   cf9f240627b4 e1000e: Fix e1000_check_for_copper_link_ich8lan return value.
   10a4324500ff uas: ignore UAS for Norelsys NS1068(X) chips
   0ae86454c435 Bluetooth: Prevent stack info leak from the EFS element.
   b4106c55b574 staging: android: ashmem: fix a race condition in ASHMEM_SET_SIZE ioctl
   27a194bc8d21 usbip: remove kernel addresses from usb device and urb debug msgs
   3f577093c511 USB: fix usbmon BUG trigger
   92e8ba1ea050 usb: misc: usb3503: make sure reset is low for at least 100us
   e4c9428d035b USB: serial: cp210x: add new device ID ELV ALC 8xxx
   a962c95895a7 USB: serial: cp210x: add IDs for LifeScan OneTouch Verio IQ
   531a2595ce1a target: Avoid early CMD_T_PRE_EXECUTE failures during ABORT_TASK
   694c1ed559c8 iscsi-target: Make TASK_REASSIGN use proper se_cmd->cmd_kref
   095b0ba360ff bpf, array: fix overflow in max_entries and undefined behavior in index_mask
   9a7fad4c0e21 bpf: prevent out-of-bounds speculation
   648064515d0d bpf: adjust insn_aux_data when patching insns
   19614eee0644 bpf: refactor fixup_bpf_calls()
   14c7c55f4527 bpf: move fixup_bpf_calls() function
   0748b80e4325 bpf: don't (ab)use instructions to store state
   087a92287dba bpf: add bpf_patch_insn_single helper
   c18b1bda4933 kaiser: Set _PAGE_NX only if supported
   0b6231faa212 drm/vmwgfx: Potential off by one in vmw_view_add()
   6785f955bcb6 KVM: x86: Add memory barrier on vmcs field lookup
   7d1bef0f6037 x86/microcode/intel: Extend BDW late-loading with a revision check
   c77dd7b425cd rbd: set max_segments to USHRT_MAX
   68829e75666e crypto: algapi - fix NULL dereference in crypto_remove_spawns()
   608644ac89aa ipv6: fix possible mem leaks in ipv6_make_skb()
   b188ce30cc1b net: stmmac: enable EEE in MII, GMII or RGMII only
   f574e2e8c6cf sh_eth: fix SH7757 GEther initialization
   29ca856bb76a sh_eth: fix TSU resource handling
   44496521c6bd RDS: null pointer dereference in rds_atomic_free_op
   10d06ed9a189 RDS: Heap OOB write in rds_message_alloc_sgs()
   d19b5ed46cce net: core: fix module type in sock_diag_bind
   b9f16497eec2 ip6_tunnel: disable dst caching if tunnel is dual-stack
   0e1cadec4187 8021q: fix a memory leak for VLAN 0 device
   7ec5d87df34a x86/pti/efi: broken conversion from efi to kernel page table
   cc0e36105661 Revert "userfaultfd: selftest: vm: allow to build in vm/ directory"
   3ae43090f13b xhci: Fix ring leak in failure path of xhci_alloc_virt_device()
   6321e1753563 sysrq: Fix warning in sysrq generated crash.
   6f61bd5c4ff5 hwrng: core - sleep interruptible in read
   f065b5f78d17 x86/mm/pat, /dev/mem: Remove superfluous error message
   146001aeb9af cx82310_eth: use skb_cow_head() to deal with cloned skbs
   be48b6ee6d07 smsc75xx: use skb_cow_head() to deal with cloned skbs
   36a1c87f57f6 sr9700: use skb_cow_head() to deal with cloned skbs
   efca4f469475 lan78xx: use skb_cow_head() to deal with cloned skbs
   ad196359a6d1 r8152: adjust ALDPS function
   a37ff616d720 r8152: use test_and_clear_bit
   9d614746ea0b r8152: fix the wake event
   ea6f411117e1 usb: musb: ux500: Fix NULL pointer dereference at system PM
   829b82508c55 usbvision fix overflow of interfaces array
   bd44e3f19d14 locking/mutex: Allow next waiter lockless wakeup
   1920b8a6a6ed futex: Replace barrier() in unqueue_me() with READ_ONCE()
   e143f5d26258 locks: don't check for race with close when setting OFD lock
   c4eafbc2ba11 zswap: don't param_set_charp while holding spinlock
   eeca23f21cfb mm/zswap: use workqueue to destroy pool
   45c26b0736ef mm/page-writeback: fix dirty_ratelimit calculation
   9780795fc1e5 mm/compaction: pass only pageblock aligned range to pageblock_pfn_to_page
   756000bec7c1 mm/compaction: fix invalid free_pfn and compact_cached_free_pfn
   0e82bbca5896 x86/acpi: Reduce code duplication in mp_override_legacy_irq()
   d091a2bb8c2e ALSA: aloop: Fix racy hw constraints adjustment
   a9cad56436f4 ALSA: aloop: Fix inconsistent format due to incomplete rule
   3d3b2c61e1be ALSA: aloop: Release cable upon open error path
   fa6c1876ecf7 ALSA: pcm: Allow aborting mutex lock at OSS read/write loops
   9bb4bb18ccff ALSA: pcm: Abort properly at pending signal in OSS read/write loops
   1ee7bc5526d8 ALSA: pcm: Add missing error checks in OSS emulation plugin builder
   3074fe070a89 ALSA: pcm: Remove incorrect snd_BUG_ON() usages
   f511ba8a5084 iommu/arm-smmu-v3: Don't free page table ops twice
   745a0d9c1a8e x86/acpi: Handle SCI interrupts above legacy space gracefully
   1a699374533b x86/vsdo: Fix build on PARAVIRT_CLOCK=y, KVM_GUEST=n
   8d383ff7deaa kvm: vmx: Scrub hardware GPRs at VM-exit
   0753661d5b17 net/mac80211/debugfs.c: prevent build failure with CONFIG_UBSAN=y
   f2c131d05d86 MIPS: Disallow outsized PTRACE_SETREGSET NT_PRFPREG regset accesses
   725679dc78a9 MIPS: Also verify sizeof `elf_fpreg_t' with PTRACE_SETREGSET
   9584ae52bd7e MIPS: Fix an FCSR access API regression with NT_PRFPREG and MSA
   a6972f8bd2b6 MIPS: Consistently handle buffer counter with PTRACE_SETREGSET
   e68049f6a9e8 MIPS: Guard against any partial write attempt with PTRACE_SETREGSET
   b1e808b9de5c MIPS: Factor out NT_PRFPREG regset access helpers
   1e918a43cbf0 MIPS: Validate PR_SET_FP_MODE prctl(2) requests against the ABI of the task
   6c2c83eb1b0d IB/srpt: Disable RDMA access by the initiator
   a71d6de9718e can: gs_usb: fix return value of the "set_bittiming" callback
   eb91461daa77 KVM: Fix stack-out-of-bounds read in write_mmio
   cbb1cc722aaa dm bufio: fix shrinker scans when (nr_to_scan < retain_target)
   c5ae3a6aa1a3 Linux 4.4.111
   516fa79e77f7 Fix build error in vma.c
   6dcf5491e01c Map the vsyscall page with _PAGE_USER
   90191f71d749 proc: much faster /proc/vmstat
   c819a67f7ee9 module: Issue warnings when tainting kernel
   7e35bc655ec1 module: keep percpu symbols in module's symtab
   104fd57d391a genksyms: Handle string literals with spaces in reference files
   a4c1c75373bf x86/tlb: Drop the _GPL from the cpu_tlbstate export
   d5bbffc0501d parisc: Fix alignment of pa_tlb_lock in assembly on 32-bit SMP kernel
   3db597feef08 x86/microcode/AMD: Add support for fam17h microcode loading
   0a99730ae0cc Input: elantech - add new icbody type 15
   30ce9c8dbc42 ARC: uaccess: dont use "l" gcc inline asm constraint modifier
   5f1aa83c58aa kernel/signal.c: remove the no longer needed SIGNAL_UNKILLABLE check in complete_signal()
   7a7f54f8e390 kernel/signal.c: protect the SIGNAL_UNKILLABLE tasks from !sig_kernel_only() signals
   be95f1308f79 kernel/signal.c: protect the traced SIGNAL_UNKILLABLE tasks from SIGKILL
   58330ec2fecd kernel: make groups_sort calling a responsibility group_info allocators
   d1698dc8a590 fscache: Fix the default for fscache_maybe_release_page()
   7cbb4a2305f8 sunxi-rsb: Include OF based modalias in device uevent
   3ad85176e78d crypto: pcrypt - fix freeing pcrypt instances
   869994e0bd29 crypto: chacha20poly1305 - validate the digest size
   0b72e17dde6e crypto: n2 - cure use after free
   83875f582596 kernel/acct.c: fix the acct->needcheck check in check_free_space()
   b17b901f0fea x86/kasan: Write protect kasan zero shadow
   b3e3db15b450 Linux 4.4.110
   b33c3c64c478 kaiser: Set _PAGE_NX only if supported
   2b24fe5c57af x86/kasan: Clear kasan_zero_page after TLB flush
   755bd549d932 x86/vdso: Get pvclock data from the vvar VMA instead of the fixmap
   64e239804e21 x86, vdso, pvclock: Simplify and speed up the vdso pvclock reader
   bfd51a4d715b KPTI: Report when enabled
   3e1457d6bf26 KPTI: Rename to PAGE_TABLE_ISOLATION
   7f79599df9c4 x86/kaiser: Move feature detection up
   e4ba212ec641 kaiser: disabled on Xen PV
   750fb627d764 x86/kaiser: Reenable PARAVIRT
   3e809caffdd7 x86/paravirt: Dont patch flush_tlb_single
   8eaca4c7d9f1 kaiser: kaiser_flush_tlb_on_return_to_user() check PCID
   0651b3ad99dd kaiser: asm/tlbflush.h handle noPGE at lower level
   28c6de544174 kaiser: drop is_atomic arg to kaiser_pagetable_walk()
   2dff99eb0335 kaiser: use ALTERNATIVE instead of x86_cr3_pcid_noflush
   e405a064bd7d x86/kaiser: Check boottime cmdline params
   dea9aa9ffae1 x86/kaiser: Rename and simplify X86_FEATURE_KAISER handling
   e345dcc94815 kaiser: add "nokaiser" boot option, using ALTERNATIVE
   500943e57db8 kaiser: fix unlikely error in alloc_ldt_struct()
   d41f46f77895 kaiser: _pgd_alloc() without __GFP_REPEAT to avoid stalls
   fc8334e6b3e5 kaiser: paranoid_entry pass cr3 need to paranoid_exit
   20268a10ffec kaiser: x86_cr3_pcid_noflush and x86_cr3_pcid_user
   3b4ce0e1a172 kaiser: PCID 0 for kernel and 128 for user
   0731188fc74c kaiser: load_new_mm_cr3() let SWITCH_USER_CR3 flush user
   eb82151d0b1d kaiser: enhanced by kernel and user PCIDs
   3e3d38fd9832 kaiser: vmstat show NR_KAISERTABLE as nr_overhead
   b9d2ccc54e17 kaiser: delete KAISER_REAL_SWITCH option
   aeda21d77e22 kaiser: name that 0x1000 KAISER_SHADOW_PGD_OFFSET
   c52e55a2a82d kaiser: cleanups while trying for gold link
   f127705d26b3 kaiser: kaiser_remove_mapping() move along the pgd
   0c68228f7b39 kaiser: tidied up kaiser_add/remove_mapping slightly
   5fbd46c4be78 kaiser: tidied up asm/kaiser.h somewhat
   407c3ff6a24c kaiser: ENOMEM if kaiser_pagetable_walk() NULL
   20cbe9a3aa2e kaiser: fix perf crashes
   487f0b73d826 kaiser: fix regs to do_nmi() ifndef CONFIG_KAISER
   d94df20135cc kaiser: KAISER depends on SMP
   9b94cf97f42c kaiser: fix build and FIXME in alloc_ldt_struct()
   003e47671690 kaiser: stack map PAGE_SIZE at THREAD_SIZE-PAGE_SIZE
   edde73205b3f kaiser: do not set _PAGE_NX on pgd_none
   bed9bb7f3e6d kaiser: merged update
   8a43ddfb93a0 KAISER: Kernel Address Isolation
   0fa147b40747 x86/boot: Add early cmdline parsing for options with arguments
   e68d6189c787 Linux 4.4.109
   5d67dbef745b mm/vmstat: Make NR_TLB_REMOTE_FLUSH_RECEIVED available even on UP
   2e3883922530 n_tty: fix EXTPROC vs ICANON interaction with TIOCINQ (aka FIONREAD)
   977614061c3d x86/smpboot: Remove stale TLB flush invocations
   458ed3179948 nohz: Prevent a timer interrupt storm in tick_nohz_stop_sched_tick()
   46e9398c96af usb: xhci: Add XHCI_TRUST_TX_LENGTH for Renesas uPD720201
   0ceb7a66392d USB: Fix off by one in type-specific length check of BOS SSP capability
   c359123bfdd2 usb: add RESET_RESUME for ELSA MicroLink 56K
   955ae55f2d16 usb: Add device quirk for Logitech HD Pro Webcam C925e
   e8cd11a935dd USB: serial: option: adding support for YUGA CLM920-NC5
   140cfcc8b093 USB: serial: option: add support for Telit ME910 PID 0x1101
   232972f73936 USB: serial: qcserial: add Sierra Wireless EM7565
   24162c1781c1 USB: serial: ftdi_sio: add id for Airbus DS P8GR
   76f611cbdbb4 usbip: vhci: stop printing kernel pointer addresses in messages
   feeae6411a1a usbip: stub: stop printing kernel pointer addresses in messages
   e0362688b4fa usbip: fix usbip bind writing random string after command in match_busid
   3f54a6d41d44 sock: free skb in skb_complete_tx_timestamp on error
   623bfb5818ab net: phy: micrel: ksz9031: reconfigure autoneg after phy autoneg workaround
   5854ca90c6c6 net: Fix double free and memory corruption in get_net_ns_by_id()
   dd1e454c4d74 net: bridge: fix early call to br_stp_change_bridge_id and plug newlink leaks
   169a9861c638 ipv4: Fix use-after-free when flushing FIB tables
   4033c396f80c sctp: Replace use of sockets_allocated with specified macro.
   ca57949d169e net: mvmdio: disable/unprepare clocks in EPROBE_DEFER case
   be27b620a861 net: ipv4: fix for a race condition in raw_sendmsg
   6dfc02ba5149 tg3: Fix rx hang on MTU change with 5717/5719
   6925223ab320 tcp md5sig: Use skb's saddr when replying to an incoming segment
   e0bdd21a86c5 net: reevalulate autoflowlabel setting after sysctl setting
   06525d5b8ea8 net: qmi_wwan: add Sierra EM7565 1199:9091
   f778ce6faa0d netlink: Add netns check on taps
   373b423038a8 net: igmp: Use correct source address on IGMPv3 reports
   0a8cb76e11d9 ipv6: mcast: better catch silly mtu values
   3d406a18bd94 ipv4: igmp: guard against silly MTU values
   1cd09d4b38a2 kbuild: add '-fno-stack-check' to kernel build options
   6c4db09c291a x86/mm/64: Fix reboot interaction with CR4.PCIDE
   fd0504525efd x86/mm: Enable CR4.PCIDE on supported systems
   dcccd3c266e2 x86/mm: Add the 'nopcid' boot option to turn off PCID
   78043e5b6fb2 x86/mm: Disable PCID on 32-bit kernels
   b2e24274d50e x86/mm: Remove the UP asm/tlbflush.h code, always use the (formerly) SMP code
   3efba6062a41 x86/mm: Reimplement flush_tlb_page() using flush_tlb_mm_range()
   9f4d1ba1d407 x86/mm: Make flush_tlb_mm_range() more predictable
   227d6f0e79f8 x86/mm: Remove flush_tlb() and flush_tlb_current_task()
   6ce9d1e6819e x86/vm86/32: Switch to flush_tlb_mm_range() in mark_screen_rdonly()
   c04ed3a84961 ALSA: hda - fix headset mic detection issue on a Dell machine
   0ba2ebc9f355 ALSA: hda: Drop useless WARN_ON()
   5251932b974d ASoC: twl4030: fix child-node lookup
   3096ced5a939 ASoC: fsl_ssi: AC'97 ops need regmap, clock and cleaning up on failure
   becb0c6409ad iw_cxgb4: Only validate the MSN for successful completions
   9dc9648942b1 ring-buffer: Mask out the info bits when returning buffer page length
   25fade614be3 tracing: Fix crash when it fails to alloc ring buffer
   c2a62f84d49f tracing: Fix possible double free on failure of allocating trace buffer
   075242101627 tracing: Remove extra zeroing out of the ring buffer page
   87060303469c net: mvneta: clear interface link status on port disable
   b7aac649af10 powerpc/perf: Dereference BHRB entries safely
   5a62acc900e9 kvm: x86: fix RSM when PCID is non-zero
   c9b5338394f2 KVM: X86: Fix load RFLAGS w/o the fixed bit
   0bf0c45449c3 spi: xilinx: Detect stall with Unknown commands
   46865ecdd061 parisc: Hide Diva-built-in serial aux and graphics card
   727b641b35dd PCI / PM: Force devices to D0 in pci_pm_thaw_noirq()
   6b08ff879603 ALSA: usb-audio: Fix the missing ctl name suffix at parsing SU
   af1195354355 ALSA: rawmidi: Avoid racy info ioctl via ctl device
   e7f1c0da02fb mfd: twl6040: Fix child-node lookup
   ee54e7a18e56 mfd: twl4030-audio: Fix sibling-node lookup
   381d368c9954 mfd: cros ec: spi: Don't send first message too soon
   2e234e707f7f crypto: mcryptd - protect the per-CPU queue with a lock
   db09203e3252 ACPI: APEI / ERST: Fix missing error handling in erst_reader()
   03028e068a1f Linux 4.4.108
   1cfeaadfd1b4 alpha: fix build failures
   d126c47656da ALSA: hda - Fix yet another i915 pointer leftover in error path
   3b67b56ea770 ALSA: hda - Degrade i915 binding failure message
   ef24d642e92a ALSA: hda - Clear the leftover component assignment at snd_hdac_i915_exit()
   7f3e85d820fd Revert "Bluetooth: btusb: driver to enable the usb-wakeup feature"
   9c631278a9c6 MIPS: math-emu: Fix final emulation phase for certain instructions
   69dd89a1f919 thermal: hisilicon: Handle return value of clk_prepare_enable
   c0303e4ffd3a cpuidle: fix broadcast control when broadcast can not be entered
   8e6e8ec18d95 rtc: set the alarm to the next expiring timer
   1e52ede8e1ed tcp: fix under-evaluated ssthresh in TCP Vegas
   ab8e096eed2f fm10k: ensure we process SM mbx when processing VF mbx
   0705d3b83699 scsi: lpfc: PLOGI failures during NPIV testing
   e4dff872fe97 scsi: lpfc: Fix secure firmware updates
   eb7b86ec94a4 PCI/AER: Report non-fatal errors only to the affected endpoint
   aa6d09cea6df ixgbe: fix use of uninitialized padding
   cffbf0ffc47c igb: check memory allocation failure
   1e91b0d64e92 PCI: Create SR-IOV virtfn/physfn links before attaching driver
   a916c4152a4b scsi: mpt3sas: Fix IO error occurs on pulling out a drive from RAID1 volume created on two SATA drive
   e9151f9d4b6f scsi: cxgb4i: fix Tx skb leak
   8f376337c637 PCI: Avoid bus reset if bridge itself is broken
   3190a0623c58 net: phy: at803x: Change error to EINVAL for invalid MAC
   a0ca85d4895a rtc: pl031: make interrupt optional
   d7ae9928a25d crypto: crypto4xx - increase context and scatter ring buffer elements
   78ffab9744ad backlight: pwm_bl: Fix overflow condition
   0ec5f7a3c9b6 bnxt_en: Fix NULL pointer dereference in reopen failure path
   7432a60515da cpuidle: powernv: Pass correct drv->cpumask for registration
   1779b33294da ARM: dma-mapping: disallow dma_get_sgtable() for non-kernel managed memory
   bec60b446b52 netfilter: nfnetlink_queue: fix secctx memory leak
   ff1ddbb38b19 xhci: plat: Register shutdown for xhci_plat
   ea9e1ca40939 isdn: kcapi: avoid uninitialized data
   f15394085d11 KVM: pci-assign: do not map smm memory slot pages in vt-d page tables
   27c2fa1ae0ea ARM: dts: am335x-evmsk: adjust mmc2 param to allow suspend
   17b1ff10a1fc netfilter: nf_nat_snmp: Fix panic when snmp_trap_helper fails to register
   7c9316d2f263 netfilter: nfnl_cthelper: fix a race when walk the nf_ct_helper_hash table
   3af547339068 irda: vlsi_ir: fix check for DMA mapping errors
   52cd7920b7ac RDMA/iser: Fix possible mr leak on device removal event
   85e54ef781b6 i40e: Do not enable NAPI on q_vectors that have no rings
   6a04a7798a3e net: Do not allow negative values for busy_read and busy_poll sysctl interfaces
   359f7020464f bna: avoid writing uninitialized data into hw registers
   8acee491cfbd s390/qeth: no ETH header for outbound AF_IUCV
   8ce4313f1279 r8152: prevent the driver from transmitting packets with carrier off
   19b1ad3a2e68 HID: xinmo: fix for out of range for THT 2P arcade controller.
   ebfb08395800 hwmon: (asus_atk0110) fix uninitialized data access
   2e114c7b4562 ARM: dts: ti: fix PCI bus dtc warnings
   f1fdf68b4f94 KVM: VMX: Fix enable VPID conditions
   caa4cfd173b7 KVM: x86: correct async page present tracepoint
   2849ef5dcefd scsi: lpfc: Fix PT2PT PRLI reject
   bc9aec2faddf pinctrl: st: add irq_request/release_resources callbacks
   1d75c214cebc inet: frag: release spinlock before calling icmp_send()
   aba55cb03579 netfilter: nfnl_cthelper: Fix memory leak
   b9fd3306a5af netfilter: nfnl_cthelper: fix runtime expectation policy updates
   e598cdd240a0 usb: gadget: udc: remove pointer dereference after free
   0c8496bfdb0e usb: gadget: f_uvc: Sanity check wMaxPacketSize for SuperSpeed
   d6c0e23a7fef net: qmi_wwan: Add USB IDs for MDM6600 modem on Motorola Droid 4
   b9a4a18a01fc bna: integer overflow bug in debugfs
   ffde339b95f5 sch_dsmark: fix invalid skb_cow() usage
   4bf8a4f179ed crypto: deadlock between crypto_alg_sem/rtnl_mutex/genl_mutex
   a88b064826f0 r8152: fix the list rx_done may be used without initialization
   125325fe1c19 cpuidle: Validate cpu_dev in cpuidle_add_sysfs()
   a23a447e47cc arm: kprobes: Align stack to 8-bytes in test code
   3f7855a52222 arm: kprobes: Fix the return address of multiple kretprobes
   779214d0eaca ALSA: hda - add support for docking station for HP 840 G3
   9a66598014db ALSA: hda - add support for docking station for HP 820 G2
   3b9d9ec0d826 x86/irq: Do not substract irq_tlb_count from irq_call_count
   18a5348d49af sched/core: Idle_task_exit() shouldn't use switch_mm_irqs_off()
   c22d4b4d1c7f ARM: Hide finish_arch_post_lock_switch() from modules
   4ead44fd2525 x86/mm, sched/core: Turn off IRQs in switch_mm()
   70a39c7fd167 x86/mm, sched/core: Uninline switch_mm()
   83cc4b50e3a9 x86/mm: Build arch/x86/mm/tlb.c even on !SMP
   425f13a36652 sched/core: Add switch_mm_irqs_off() and use it in the scheduler
   dfe513a4e8dd mm/mmu_context, sched/core: Fix mmu_context.h assumption
   8d5ee51a6bce mm/rmap: batched invalidations should use existing api
   85d3700c744a x86/mm: If INVPCID is available, use it to flush global mappings
   791a0f3fecda x86/mm: Add a 'noinvpcid' boot option to turn off INVPCID
   04ec428b15f1 x86/mm: Fix INVPCID asm constraint
   becf292446e9 x86/mm: Add INVPCID helpers
   5fc8d62d1921 cxl: Check if vphb exists before iterating over AFU devices
   9e1485b1b570 arm64: Initialise high_memory global variable earlier
   96c00ece76be Linux 4.4.107
   a815c0a370cf ath9k: fix tx99 potential info leak
   26c66554d7bf IB/ipoib: Grab rtnl lock on heavy flush when calling ndo_open/stop
   112814db6ec4 RDMA/cma: Avoid triggering undefined behavior
   4bbb49138f4a macvlan: Only deliver one copy of the frame to the macvlan interface
   b8d510ff7165 udf: Avoid overflow when session starts at large offset
   a114af87c0ba scsi: bfa: integer overflow in debugfs
   798f08501424 scsi: sd: change allow_restart to bool in sysfs interface
   c387c02d604d scsi: sd: change manage_start_stop to bool in sysfs interface
   2e03af22f65c vt6655: Fix a possible sleep-in-atomic bug in vt6655_suspend
   930fb06d1617 scsi: scsi_devinfo: Add REPORTLUN2 to EMC SYMMETRIX blacklist entry
   24bc48af0aee raid5: Set R5_Expanded on parity devices as well as data.
   09379498aff0 pinctrl: adi2: Fix Kconfig build problem
   5f2dbdff20e0 usb: musb: da8xx: fix babble condition handling
   68d3bc40f5ca tty fix oops when rmmod 8250
   afa8f0a7af70 powerpc/perf/hv-24x7: Fix incorrect comparison in memord
   28a5b0e438f1 scsi: hpsa: destroy sas transport properties before scsi_host
   942eb7dd5e42 scsi: hpsa: cleanup sas_phy structures in sysfs when unloading
   ec662d656073 PCI: Detach driver before procfs & sysfs teardown on device remove
   02922f3bb37f xfs: fix incorrect extent state in xfs_bmap_add_extent_unwritten_real
   f267a1390b41 xfs: fix log block underflow during recovery cycle verification
   92eff81ad96a l2tp: cleanup l2tp_tunnel_delete calls
   230c4ba404d3 bcache: fix wrong cache_misses statistics
   271252373027 bcache: explicitly destroy mutex while exiting
   ab9b3db40828 GFS2: Take inode off order_write list when setting jdata flag
   2a5bb1284e72 thermal/drivers/step_wise: Fix temperature regulation misbehavior
   561b9d998e65 ppp: Destroy the mutex when cleanup
   083dd685aebd clk: tegra: Fix cclk_lp divisor register
   f56be2ce49c1 clk: imx6: refine hdmi_isfr's parent to make HDMI work on i.MX6 SoCs w/o VPU
   22a1e337ed68 clk: mediatek: add the option for determining PLL source clock
   b59614cfd2d3 mm: Handle 0 flags in _calc_vm_trans() macro
   44de70ecec2d crypto: tcrypt - fix buffer lengths in test_aead_speed()
   b397507641fb arm-ccn: perf: Prevent module unload while PMU is in use
   75ee360a5114 target/file: Do not return error for UNMAP if length is zero
   646191449e76 target:fix condition return in core_pr_dump_initiator_port()
   e14086b2c9bc iscsi-target: fix memory leak in lio_target_tiqn_addtpg()
   7d93603ddb65 target/iscsi: Fix a race condition in iscsit_add_reject_from_cmd()
   09f29c7a953d powerpc/ipic: Fix status get and status clear
   c6c3637ee8ab powerpc/opal: Fix EBUSY bug in acquiring tokens
   59720463cf28 netfilter: ipvs: Fix inappropriate output of procfs
   f46b4bab4e93 powerpc/powernv/cpufreq: Fix the frequency read by /proc/cpuinfo
   ef476a74f8ed PCI/PME: Handle invalid data when reading Root Status
   e6d8207a84b0 dmaengine: ti-dma-crossbar: Correct am335x/am43xx mux value type
   600b973fc56f rtc: pcf8563: fix output clock rate
   ac0468efee60 video: fbdev: au1200fb: Return an error code if a memory allocation fails
   033d20b727f3 video: fbdev: au1200fb: Release some resources if a memory allocation fails
   314ce0575795 video: udlfb: Fix read EDID timeout
   2f5427451738 fbdev: controlfb: Add missing modes to fix out of bounds access
   57fa76a46673 sfc: don't warn on successful change of MAC
   c9b79738c0ab target: fix race during implicit transition work flushes
   dfd6deed8313 target: fix ALUA transition timeout handling
   7f5084b98f89 target: Use system workqueue for ALUA transitions
   f9b4a2e04c22 btrfs: add missing memset while reading compressed inline extents
   248aa3accad9 NFSv4.1 respect server's max size in CREATE_SESSION
   a49aa7aadbd3 efi/esrt: Cleanup bad memory map log messages
   dc81417eedf5 perf symbols: Fix symbols__fixup_end heuristic for corner cases
   acc7d1bd901c net/mlx4_core: Avoid delays during VF driver device shutdown
   5e469e44c8fd afs: Fix afs_kill_pages()
   80f74cef482f afs: Fix page leak in afs_write_begin()
   c58d7796ab93 afs: Populate and use client modification time
   fa034538cb04 afs: Fix the maths in afs_fs_store_data()
   1efae6ca3418 afs: Prevent callback expiry timer overflow
   43e68e3725df afs: Migrate vlocation fields to 64-bit
   9d8d20570f39 afs: Flush outstanding writes when an fd is closed
   549d7b98f55e afs: Adjust mode bits processing
   bb7a7cd6194f afs: Populate group ID from vnode status
   1c277e9ebba6 afs: Fix missing put_page()
   fec8348008b5 drm/radeon: reinstate oland workaround for sclk
   6a51e93b2fe3 mmc: mediatek: Fixed bug where clock frequency could be set wrong
   51b3eac39a6c sched/deadline: Use deadline instead of period when calculating overflow
   ca91884bcf7d sched/deadline: Throttle a constrained deadline task activated after the deadline
   cd0e18d2f24b sched/deadline: Make sure the replenishment timer fires in the next period
   4c6567f5af9a drm/radeon/si: add dpm quirk for Oland
   c383ebf1acd6 fjes: Fix wrong netdevice feature flags
   a33a9d0c705f scsi: hpsa: limit outstanding rescans
   0a609298214b scsi: hpsa: update check for logical volume status
   b0def6f1e26b openrisc: fix issue handling 8 byte get_user calls
   1236cc3664dc intel_th: pci: Add Gemini Lake support
   d270d24ee596 mlxsw: reg: Fix SPVMLR max record count
   e934e13550a0 mlxsw: reg: Fix SPVM max record count
   677a7aac2ec6 net: Resend IGMP memberships upon peer notification.
   26af6a8b51f1 dmaengine: Fix array index out of bounds warning in __get_unmap_pool()
   9cd4b8684621 net: wimax/i2400m: fix NULL-deref at probe
   b424289863d0 writeback: fix memory leak in wb_queue_work()
   fbdf477fcff6 netfilter: bridge: honor frag_max_size when refragmenting
   7edb2d2d8680 drm/omap: fix dmabuf mmap for dma_alloc'ed buffers
   dbfba339c729 Input: i8042 - add TUXEDO BU1406 (N24_25BU) to the nomux list
   df5678476040 NFSD: fix nfsd_reset_versions for NFSv4.
   5b0334584ad6 NFSD: fix nfsd_minorversion(.., NFSD_AVAIL)
   067cb6b2f716 net: bcmgenet: Power up the internal PHY before probing the MII
   a33e082dcaf4 net: bcmgenet: power down internal phy if open or resume fails
   8aaed873f3b9 net: bcmgenet: reserved phy revisions must be checked first
   c25da696fca1 net: bcmgenet: correct MIB access of UniMAC RUNT counters
   296b584763f7 net: bcmgenet: correct the RBUF_OVFL_CNT and RBUF_ERR_CNT MIB values
   accbd99507b1 net: initialize msg.msg_flags in recvfrom
   b5213e1e9f25 userfaultfd: selftest: vm: allow to build in vm/ directory
   ee9be9963039 userfaultfd: shmem: __do_fault requires VM_FAULT_NOPAGE
   0d0456ec2b08 md-cluster: free md_cluster_info if node leave cluster
   a1d72bc18e77 usb: phy: isp1301: Add OF device ID table
   75252bfe9e49 mac80211: Fix addition of mesh configuration element
   13e86efb2eee KEYS: add missing permission check for request_key() destination
   ef7ce82bc280 ext4: fix crash when a directory's i_size is too small
   2c367edaba65 ext4: fix fdatasync(2) after fallocate(2) operation
   52425e042843 dmaengine: dmatest: move callback wait queue to thread context
   af36d95af55f sched/rt: Do not pull from current CPU if only one CPU to pull
   f98ee9c0007b xhci: Don't add a virt_dev to the devs array before it's fully allocated
   ffc7565746bb Bluetooth: btusb: driver to enable the usb-wakeup feature
   8c7c3d5b785f ceph: drop negative child dentries before try pruning inode's alias
   2862cfca3989 usbip: fix stub_send_ret_submit() vulnerability to null transfer_buffer
   dfdf5fa3e664 USB: core: prevent malicious bNumInterfaces overflow
   05de6fa5c0e2 USB: uas and storage: Add US_FL_BROKEN_FUA for another JMicron JMS567 ID
   a34419b3f6a2 tracing: Allocate mask_str buffer dynamically
   c60db4f68593 autofs: fix careless error in recent commit
   8a311b0462b5 crypto: salsa20 - fix blkcipher_walk API usage
   43cd7f38612d crypto: hmac - require that the underlying hash algorithm is unkeyed
   4231b6a98fce Linux 4.4.106
   5c6db4afbd9f usb: gadget: ffs: Forbid usb_ep_alloc_request from sleeping
   a5fa9efe4e01 arm: KVM: Fix VTTBR_BADDR_MASK BUG_ON off-by-one
   9f5a8d610dd3 Revert "x86/mm/pat: Ensure cpa->pfn only contains page frame numbers"
   34933c2ce99c Revert "x86/efi: Hoist page table switching code into efi_call_virt()"
   1dfe268df584 Revert "x86/efi: Build our own page table structures"
   b90f87c641bc net/packet: fix a race in packet_bind() and packet_notifier()
   f50e9c872cb5 packet: fix crash in fanout_demux_rollover()
   d6189fa45c6d sit: update frag_off info
   6c154d536d94 rds: Fix NULL pointer dereference in __rds_rdma_map
   827fd89bc552 tipc: fix memory leak in tipc_accept_from_sock()
   047a7bb12d63 more bio_map_user_iov() leak fixes
   3a620404e24a s390: always save and restore all registers on context switch
   99962affcb8f ipmi: Stop timers before cleaning up the module
   b34957127058 audit: ensure that 'audit=1' actually enables audit for PID 1
   1b9baf30673c ipvlan: fix ipv6 outbound device
   cdfe2d0a4834 afs: Connect up the CB.ProbeUuid
   452ae0913614 IB/mlx5: Assign send CQ and recv CQ of UMR QP
   3d1d4642fc55 IB/mlx4: Increase maximal message size under UD QP
   8bfafc972a34 xfrm: Copy policy family in clone_policy
   5c15c5c8ebc5 jump_label: Invoke jump_label_test() via early_initcall()
   1b85cd5d9262 atm: horizon: Fix irq release error
   dde5bbd52a28 sctp: use the right sk after waking up from wait_buf sleep
   1ad621272bd7 sctp: do not free asoc when it is already dead in sctp_sendmsg
   59e52050b17c sparc64/mm: set fields in deferred pages
   7b99b00cf3f0 block: wake up all tasks blocked in get_request()
   5a54dcc51a4a sunrpc: Fix rpc_task_begin trace point
   c02608144e79 NFS: Fix a typo in nfs_rename()
   640192431a29 dynamic-debug-howto: fix optional/omitted ending line number to be LARGE instead of 0
   24c98ec494c2 lib/genalloc.c: make the avail variable an atomic_long_t
   90ec232a3911 route: update fnhe_expires for redirect when the fnhe exists
   41dee81f22c9 route: also update fnhe_genid when updating a route cache
   32f8870cc9a9 mac80211_hwsim: Fix memory leak in hwsim_new_radio_nl()
   0aab426757d3 kbuild: pkg: use --transform option to prefix paths in tar
   8f72d29e7024 EDAC, i5000, i5400: Fix definition of NRECMEMB register
   222de157ccd0 EDAC, i5000, i5400: Fix use of MTR_DRAM_WIDTH macro
   f1ff979f97bd powerpc/powernv/ioda2: Gracefully fail if too many TCE levels requested
   d42ebf56380f drm/amd/amdgpu: fix console deadlock if late init failed
   40b2b6453f89 axonram: Fix gendisk handling
   f2396d60746f netfilter: don't track fragmented packets
   ca6d40bb082a zram: set physical queue limits to avoid array out of bounds accesses
   39c626c1f9e3 i2c: riic: fix restart condition
   a836e1952f28 crypto: s5p-sss - Fix completing crypto request in IRQ handler
   7c5deeccc664 ipv6: reorder icmpv6_init() and ip6_mr_init()
   84bc40c4b31b bnx2x: do not rollback VF MAC/VLAN filters we did not configure
   871e4b11eba2 bnx2x: fix possible overrun of VFPF multicast addresses array
   1aead0538b89 bnx2x: prevent crash when accessing PTP with interface down
   6bbc908cfc1c spi_ks8995: fix "BUG: key accdaa28 not in .data!"
   687121453005 arm64: KVM: Survive unknown traps from guests
   5dc5c8e65515 arm: KVM: Survive unknown traps from guests
   ccf72fe2e5cc KVM: nVMX: reset nested_run_pending if the vCPU is going to be reset
   0a12875fa51f irqchip/crossbar: Fix incorrect type of register size
   8a15c626996c scsi: lpfc: Fix crash during Hardware error recovery on SLI3 adapters
   d9d47a6d6862 workqueue: trigger WARN if queue_delayed_work() is called with NULL @wq
   14a7aa2ae61e libata: drop WARN from protocol error in ata_sff_qc_issue()
   f9b291aed2a9 kvm: nVMX: VMCLEAR should not cause the vCPU to shut down
   ef21f3a12bb1 USB: gadgetfs: Fix a potential memory leak in 'dev_config()'
   4036947a43a0 usb: gadget: configs: plug memory leak
   24e9fc7ef051 HID: chicony: Add support for another ASUS Zen AiO keyboard
   3aec56b81960 gpio: altera: Use handle_level_irq when configured as a level_high
   c52017de0ba6 ARM: OMAP2+: Release device node after it is no longer needed.
   14c396184529 ARM: OMAP2+: Fix device node reference counts
   d180639d86e1 module: set __jump_table alignment to 8
   23f9e8448219 selftest/powerpc: Fix false failures for skipped tests
   3bf3fc6cbc8b x86/hpet: Prevent might sleep splat on resume
   0500c6d35274 ARM: OMAP2+: gpmc-onenand: propagate error on initialization failure
   572b639bde31 vti6: Don't report path MTU below IPV6_MIN_MTU.
   3771241e5bc3 Revert "s390/kbuild: enable modversions for symbols exported from asm"
   e891a29531d4 Revert "spi: SPI_FSL_DSPI should depend on HAS_DMA"
   f854e2099915 Revert "drm/armada: Fix compile fail"
   5327f9badacd mm: drop unused pmdp_huge_get_and_clear_notify()
   47c53ccca4a0 thp: fix MADV_DONTNEED vs. numa balancing race
   d4443b53732e thp: reduce indentation level in change_huge_pmd()
   696fbe191acd scsi: storvsc: Workaround for virtual DVD SCSI version
   dd8c78e2501e ARM: avoid faulting on qemu
   af1d17239682 ARM: BUG if jumping to usermode address in kernel mode
   750f60edebac arm64: fpsimd: Prevent registers leaking from dead tasks
   477b837533a2 KVM: VMX: remove I/O port 0x80 bypass on Intel hosts
   11030654676b arm64: KVM: fix VTTBR_BADDR_MASK BUG_ON off-by-one
   a0b99544dde8 media: dvb: i2c transfers over usb cannot be done from stack
   81bf294f5f7b drm/exynos: gem: Drop NONCONTIG flag for buffers allocated without IOMMU
   74b6030355a4 drm: extra printk() wrapper macros
   d6ff4cce9aa3 kdb: Fix handling of kallsyms_symbol_next() return value
   bb47cf7f8e47 s390: fix compat system call table
   dc41b6e35f93 iommu/vt-d: Fix scatterlist offset handling
   90a20a81dc1c ALSA: usb-audio: Add check return value for usb_string()
   9f5c6b108850 ALSA: usb-audio: Fix out-of-bound error
   e1d3b7d04d9d ALSA: seq: Remove spurious WARN_ON() at timer check
   659e7d2588f0 ALSA: pcm: prevent UAF in snd_pcm_info
   5986c9685f1e x86/PCI: Make broadcom_postcore_init() check acpi_disabled
   2c2e4b7d279a X.509: reject invalid BIT STRING for subjectPublicKey
   1471d1258921 ASN.1: check for error from ASN1_OP_END__ACT actions
   621dac1d6991 ASN.1: fix out-of-bounds read when parsing indefinite length item
   481efb4c7256 efi: Move some sysfs files to be read-only by root
   7e0091c2951f scsi: libsas: align sata_device's rps_resp on a cacheline
   98448333588c isa: Prevent NULL dereference in isa_bus driver callbacks
   90e2ea6dc851 hv: kvp: Avoid reading past allocated blocks from KVP file
   94739ddf35cb virtio: release virtio index when fail to device_register
   d73fcef16da0 can: usb_8dev: cancel urb on -EPIPE and -EPROTO
   191b419bd0b1 can: esd_usb2: cancel urb on -EPIPE and -EPROTO
   af11f3afc2c2 can: ems_usb: cancel urb on -EPIPE and -EPROTO
   bd424bd17572 can: kvaser_usb: cancel urb on -EPIPE and -EPROTO
   3e3dabd83630 can: kvaser_usb: ratelimit errors if incomplete messages are received
   816bc7dffea2 can: kvaser_usb: Fix comparison bug in kvaser_usb_read_bulk_callback()
   b6fa54c18e8d can: kvaser_usb: free buf in error paths
   a68e3c90dfb1 can: ti_hecc: Fix napi poll return value for repoll
   69b0bf95a51e Linux 4.4.105
   da57b1f7e74f xen-netfront: avoid crashing on resume after a failure in talk_to_netback()
   e1cadf7c4af2 usb: host: fix incorrect updating of offset
   43135100f117 USB: usbfs: Filter flags passed in from user space
   c0493eb552e0 USB: devio: Prevent integer overflow in proc_do_submiturb()
   2ee8d2acf3ef USB: Increase usbfs transfer limit
   9d812f7bef8c USB: core: Add type-specific length check of BOS descriptors
   f044af8c1dc3 usb: ch9: Add size macro for SSP dev cap descriptor
   ddaa1ae2eb7f usb: Add USB 3.1 Precision time measurement capability descriptor support
   a1f03a9bcfa4 usb: xhci: fix panic in xhci_free_virt_devices_depth_first
   6a85ba4157a0 usb: hub: Cycle HUB power when initialization fails
   40012163e52a Revert "ocfs2: should wait dio before inode lock in ocfs2_setattr()"
   33621da4d4ef net: fec: fix multicast filtering hardware setup
   5d036ccddc5d xen-netfront: Improve error handling during initialization
   cc4add389789 mm: avoid returning VM_FAULT_RETRY from ->page_mkwrite handlers
   1b7dbabf0242 tcp: correct memory barrier usage in tcp_check_space()
   bc42f67b73cb dmaengine: pl330: fix double lock
   ca0836061019 tipc: fix cleanup at module unload
   e5afc84f644c net: sctp: fix array overrun read on sctp_timer_tbl
   7e9236c00152 drm/exynos/decon5433: set STANDALONE_UPDATE_F on output enablement
   e26d58f897ca NFSv4: Fix client recovery when server reboots multiple times
   48222dd037f5 KVM: arm/arm64: Fix occasional warning from the timer work function
   f2fb416f4af6 nfs: Don't take a reference on fl->fl_file for LOCK operation
   7228df818d90 ravb: Remove Rx overflow log messages
   1bb50d02a8d3 net/appletalk: Fix kernel memory disclosure
   c73b58cfa83e vti6: fix device register to report IFLA_INFO_KIND
   e6533243f74f ARM: OMAP1: DMA: Correct the number of logical channels
   e6f105531992 net: systemport: Pad packet before inserting TSB
   3a44ade54473 net: systemport: Utilize skb_put_padto()
   8633eec0ee08 kprobes/x86: Disable preemption in ftrace-based jprobes
   7317cb116754 perf test attr: Fix ignored test case result
   1c4d7600390b sysrq : fix Show Regs call trace on ARM
   c86fa9ed3a0f EDAC, sb_edac: Fix missing break in switch
   c2e1be144805 x86/entry: Use SYSCALL_DEFINE() macros for sys_modify_ldt()
   ecd996c24a79 serial: 8250: Preserve DLD[7:4] for PORT_XR17V35X
   86b9d66d1f3f usb: phy: tahvo: fix error handling in tahvo_usb_probe()
   b6ca48b5cd08 spi: sh-msiof: Fix DMA transfer size check
   a96c19f5ba09 serial: 8250_fintek: Fix rs485 disablement on invalid ioctl()
   429feb597df3 selftests/x86/ldt_get: Add a few additional tests for limits
   93f45d8c67dc s390/pci: do not require AIS facility
   80f93e24ecfc ima: fix hash algorithm initialization
   71ce1cac5b4d USB: serial: option: add Quectel BG96 id
   9e51ee1b76ef s390/runtime instrumentation: simplify task exit handling
   ef3567cc5284 serial: 8250_pci: Add Amazon PCI serial device ID
   a8293de0ee1f usb: quirks: Add no-lpm quirk for KY-688 USB 3.1 Type-C Hub
   636b080991ee uas: Always apply US_FL_NO_ATA_1X quirk to Seagate devices
   3f7477e64478 bcache: recover data from backing when data is clean
   f80f34d8ba92 bcache: only permit to recovery read error when cache device is clean
   bd3799391822 Linux 4.4.104
   bd249dd07827 nfsd: Fix another OPEN stateid race
   54298082dbac nfsd: Fix stateid races between OPEN and CLOSE
   d7f5f10f5159 nfsd: Make init_open_stateid() a bit more whole
   68e6cd9a0547 drm/i915: Prevent zero length "index" write
   e6bcff7b6aa1 drm/i915: Don't try indexed reads to alternate slave addresses
   a61474fa8749 NFS: revalidate "." etc correctly on "open".
   c8ea49b690ee mtd: nand: Fix writing mtdoops to nand flash.
   a155a9568d9a drm/panel: simple: Add missing panel_simple_unprepare() calls
   c7716f65721a drm/radeon: fix atombios on big endian
   4d027a8bcc7f Revert "drm/radeon: dont switch vt on suspend"
   5a7391b6d898 bcache: Fix building error on MIPS
   6b4901e0e349 eeprom: at24: check at24_read/write arguments
   5c65b739389f mmc: core: Do not leave the block driver in a suspended state
   a6493ad6fc89 KVM: x86: inject exceptions produced by x86_decode_insn
   1e9e6bdccb80 KVM: x86: Exit to user-mode on #UD intercept when emulator requires
   ab29b6b818aa KVM: x86: pvclock: Handle first-time write to pvclock-page contains random junk
   591ddc92d756 btrfs: clear space cache inode generation always
   0d05a5593f63 mm/madvise.c: fix madvise() infinite loop under special circumstances
   2b7ef6bdd286 mm, thp: Do not make page table dirty unconditionally in touch_p[mu]d()
   f97fc9ab1ce2 x86/efi-bgrt: Replace early_memremap() with memremap()
   e85c6907b2b4 x86/efi-bgrt: Fix kernel panic when mapping BGRT data
   44ff3af83ee1 ARM: dts: omap3: logicpd-torpedo-37xx-devkit: Fix MMC1 cd-gpio
   36e0f05afd4e x86/efi: Build our own page table structures
   b73adb608520 x86/efi: Hoist page table switching code into efi_call_virt()
   87e2bd898d3a x86/mm/pat: Ensure cpa->pfn only contains page frame numbers
   b377c453b363 ipsec: Fix aborted xfrm policy dump crash
   27248d2fa77f netlink: add a start callback for starting a netlink dump
   08c15ad2e627 Linux 4.4.103
   3d7214a338d7 Revert "sctp: do not peel off an assoc from one netns to another one"
   c73eb1e0cc56 xen: xenbus driver must not accept invalid transaction ids
   eedd29f51078 s390/kbuild: enable modversions for symbols exported from asm
   681b2239862d ASoC: wm_adsp: Don't overrun firmware file buffer when reading region data
   b63209c78f9e btrfs: return the actual error value from from btrfs_uuid_tree_iterate
   e88f3fb0e340 ASoC: rsnd: don't double free kctrl
   47b99a3306d0 netfilter: nf_tables: fix oob access
   a1e4f6a15103 netfilter: nft_queue: use raw_smp_processor_id()
   85f286d6f8cd spi: SPI_FSL_DSPI should depend on HAS_DMA
   8537e96e4351 staging: iio: cdc: fix improper return value
   266913b390c3 iio: light: fix improper return value
   7e927748d4db mac80211: Suppress NEW_PEER_CANDIDATE event if no room
   9825826ed7bd mac80211: Remove invalid flag operations in mesh TSF synchronization
   f0d8fb74479b drm: Apply range restriction after color adjustment when allocation
   31447ebb1a86 ALSA: hda - Apply ALC269_FIXUP_NO_SHUTUP on HDA_FIXUP_ACT_PROBE
   7e920566c352 ath10k: set CTS protection VDEV param only if VDEV is up
   ef751ca54602 ath10k: fix potential memory leak in ath10k_wmi_tlv_op_pull_fw_stats()
   b24769300a00 ath10k: ignore configuring the incorrect board_id
   64b22ee723ee ath10k: fix incorrect txpower set by P2P_DEVICE interface
   c4cf731af838 drm/armada: Fix compile fail
   7f69dc100400 net: 3com: typhoon: typhoon_init_one: fix incorrect return values
   609797646f9b net: 3com: typhoon: typhoon_init_one: make return values more specific
   d7c3d5333e39 net: Allow IP_MULTICAST_IF to set index to L3 slave
   778395506a7f dmaengine: zx: set DMA_CYCLIC cap_mask bit
   37a48e6d83f5 PCI: Apply _HPX settings only to relevant devices
   57d2ce160310 RDS: RDMA: return appropriate error on rdma map failures
   bbb1fc744894 e1000e: Separate signaling for link check/link up
   5df4097cfc70 e1000e: Fix return value test
   fbb2d8000a8f e1000e: Fix error path in link detection
   d6968bc56e44 PM / OPP: Add missing of_node_put(np)
   fd3c395d4d46 net/9p: Switch to wait_event_killable()
   91bd72dd8c72 fscrypt: lock mutex before checking for bounce page pool
   cb1831a83e54 sched/rt: Simplify the IPI based RT balancing logic
   5a11b8458b35 media: v4l2-ctrl: Fix flags field on Control events
   0870fb4c3566 cx231xx-cards: fix NULL-deref on missing association descriptor
   d758f4d8bf20 media: rc: check for integer overflow
   878c0f9a7c69 media: Don't do DMA on stack for firmware upload in the AS102 driver
   a2943ce580f5 powerpc/signal: Properly handle return value from uprobe_deny_signal()
   937a91cd3992 parisc: Fix validity check of pointer size argument in new CAS implementation
   aef7cdb6a6ff ixgbe: Fix skb list corruption on Power systems
   bb923a81c33e fm10k: Use smp_rmb rather than read_barrier_depends
   b4ca98b7a803 i40evf: Use smp_rmb rather than read_barrier_depends
   a8e699dfca04 ixgbevf: Use smp_rmb rather than read_barrier_depends
   2f7de4d5f525 igbvf: Use smp_rmb rather than read_barrier_depends
   391cdaaaa9d9 igb: Use smp_rmb rather than read_barrier_depends
   146d53371385 i40e: Use smp_rmb rather than read_barrier_depends
   76c389ca1331 NFC: fix device-allocation error return
   ecc5e8914766 IB/srp: Avoid that a cable pull can trigger a kernel crash
   3e32b40435b9 IB/srpt: Do not accept invalid initiator port names
   54a8d930b93f libnvdimm, namespace: make 'resource' attribute only readable by root
   4dae2f771fa7 libnvdimm, namespace: fix label initialization to use valid seq numbers
   037646313522 clk: ti: dra7-atl-clock: fix child-node lookups
   eca460c485f9 clk: ti: dra7-atl-clock: Fix of_node reference counting
   36d2f19430e2 SUNRPC: Fix tracepoint storage issues with svc_recv and svc_rqst_status
   a694b1f85aea KVM: SVM: obey guest PAT
   8293dc75de47 KVM: nVMX: set IDTR and GDTR limits when loading L1 host state
   4e426ed57cd2 target: Fix QUEUE_FULL + SCSI task attribute handling
   63bfc4c90a87 iscsi-target: Fix non-immediate TMR reference leak
   8709c5386109 fs/9p: Compare qid.path in v9fs_test_inode
   1b11593eb742 fix a page leak in vhost_scsi_iov_to_sgl() error recovery
   509ab500a240 ALSA: hda/realtek - Fix ALC700 family no sound issue
   ef6745531648 ALSA: timer: Remove kernel warning at compat ioctl error paths
   3532750d20f5 ALSA: usb-audio: Add sanity checks in v2 clock parsers
   0b6cede2e455 ALSA: usb-audio: Fix potential out-of-bound access at parsing SU
   d1316b9d83de ALSA: usb-audio: Add sanity checks to FE parser
   b71cf750ddd3 ALSA: pcm: update tstamp only if audio_tstamp changed
   db12d9b5a181 ext4: fix interaction between i_size, fallocate, and delalloc after a crash
   189bc689547a ata: fixes kernel crash while tracing ata_eh_link_autopsy event
   f1be21021099 rtlwifi: fix uninitialized rtlhal->last_suspend_sec time
   3c260c60d20c rtlwifi: rtl8192ee: Fix memory leak when loading firmware
   a8b8ab79ca4f nfsd: deal with revoked delegations appropriately
   2a2d4b41472c nfs: Fix ugly referral attributes
   ab33df42eb3c NFS: Fix typo in nomigration mount option
   4e23be616976 isofs: fix timestamps beyond 2027
   85c79043808d bcache: check ca->alloc_thread initialized before wake up it
   9c093a258350 eCryptfs: use after free in ecryptfs_release_messaging()
   7d7b05e4ffd5 nilfs2: fix race condition that causes file system corruption
   9a4e08c634ce autofs: don't fail mount for transient error
   153142963ca1 MIPS: BCM47XX: Fix LED inversion for WRT54GSv1
   00fd53bc378f MIPS: Fix an n32 core file generation regset support regression
   4e82464aa4a3 dm: fix race between dm_get_from_kobject() and __dm_destroy()
   36c4819abc92 dm bufio: fix integer overflow when limiting maximum cache size
   a9f066404fd0 ALSA: hda: Add Raven PCI ID
   0c1faf9df0c8 MIPS: ralink: Fix typo in mt7628 pinmux function
   84c785ed786a MIPS: ralink: Fix MT7628 pinmux
   36a082ce590f ARM: 8721/1: mm: dump: check hardware RO bit for LPAE
   5f8046f7c9e3 ARM: 8722/1: mm: make STRICT_KERNEL_RWX effective for LPAE
   29c4b6b4f46d x86/decoder: Add new TEST instruction pattern
   4fdb1637b208 lib/mpi: call cond_resched() from mpi_powm() loop
   8ff3471878f3 sched: Make resched_cpu() unconditional
   3223ea129170 vsock: use new wait API for vsock_stream_sendmsg()
   df24d6c22460 AF_VSOCK: Shrink the area influenced by prepare_to_wait
   2417da3f4d6b ipv6: only call ip6_route_dev_notify() once for NETDEV_UNREGISTER
   5c2607d3e7cd s390/disassembler: increase show_code buffer size
   4337fa2425f6 s390/disassembler: add missing end marker for e7 table
   04bc7a273264 s390/runtime instrumention: fix possible memory corruption
   7ddbe701076d s390: fix transactional execution control register handling
   29ffb9c1fb4a Linux 4.4.102
   0208fabf7256 mm, hwpoison: fixup "mm: check the return value of lookup_page_ext for all call sites"
   5baf0fb260fc Linux 4.4.101
   a3805b10de80 mm/pagewalk.c: report holes in hugetlb ranges
   3630b2801907 mm/page_ext.c: check if page_ext is not prepared
   e34e744f70a6 mm: check the return value of lookup_page_ext for all call sites
   7b7a1c39e839 coda: fix 'kernel memory exposure attempt' in fsync
   c1b3703b643f mm/page_alloc.c: broken deferred calculation
   4ecf752738ac ipmi: fix unsigned long underflow
   c4baa4a5870c ocfs2: should wait dio before inode lock in ocfs2_setattr()
   8c325770546a nvme: Fix memory order on async queue deletion
   4310b6bfa8e0 arm64: fix dump_instr when PAN and UAO are in use
   1df403abfa9e serial: omap: Fix EFR write on RTS deassertion
   a9100b6f1a8a ima: do not update security.ima if appraisal status is not INTEGRITY_PASS
   51b8aea7abde net/sctp: Always set scope_id in sctp_inet6_skb_msgname
   ae93cefb9430 fealnx: Fix building error on MIPS
   2a0e60907e54 sctp: do not peel off an assoc from one netns to another one
   4cfc0b41af03 af_netlink: ensure that NLMSG_DONE never fails in dumps
   ef206ea779a9 vlan: fix a use-after-free in vlan_device_event()
   3bb6245e14ea bonding: discard lowest hash bit for 802.3ad layer3+4
   001e9cbe1dae netfilter/ipvs: clear ipvs_property flag when SKB net namespace changed
   0c1282c7f046 tcp: do not mangle skb->cb[] in tcp_make_synack()
   26d6298789e6 Linux 4.4.100
   f119ff8e5b6b USB: serial: garmin_gps: fix memory leak on probe errors
   8b36209e93df USB: serial: garmin_gps: fix I/O after failed probe and remove
   5cd938508c81 USB: serial: qcserial: add pid/vid for Sierra Wireless EM7355 fw update
   302dd596822a USB: Add delay-init quirk for Corsair K70 LUX keyboards
   965003b311e0 USB: usbfs: compute urb->actual_length for isochronous
   834a5d880a54 uapi: fix linux/rds.h userspace compilation errors
   16e7973f8e47 uapi: fix linux/rds.h userspace compilation error
   f5e303d54ac2 Revert "uapi: fix linux/rds.h userspace compilation errors"
   d9c8d4adb5a7 Revert "crypto: xts - Add ECB dependency"
   d2d72c0ee4c9 MIPS: Netlogic: Exclude netlogic,xlp-pic code from XLR builds
   9a8ef143951f MIPS: init: Ensure reserved memory regions are not added to bootmem
   034347aca034 MIPS: init: Ensure bootmem does not corrupt reserved memory
   a904ebe92a05 mm: add PHYS_PFN, use it in __phys_to_pfn()
   7f5eb098ef95 MIPS: End asm function prologue macros with .insn
   b15877443a93 staging: rtl8712: fixed little endian problem
   ade72053f452 ixgbe: do not disable FEC from the driver
   b6e7fb0be1e5 ixgbe: add mask for 64 RSS queues
   12ec51aaafe3 ixgbe: Reduce I2C retry count on X550 devices
   9d51db4caff9 ixgbe: handle close/suspend race with netif_device_detach/present
   f12976ce82cd ixgbe: fix AER error handling
   865fe71c0a06 arm64: dts: NS2: reserve memory for Nitro firmware
   e2d12bdaed6b ALSA: hda/realtek - Add new codec ID ALC299
   b1e8e6d4c065 gpu: drm: mgag200: mgag200_main:- Handle error from pci_iomap
   3e899991b99e backlight: adp5520: Fix error handling in adp5520_bl_probe()
   d6f21ea25118 backlight: lcd: Fix race condition during register
   fe21a3d68819 ALSA: vx: Fix possible transfer overflow
   3b985d39ed4f ALSA: vx: Don't try to update capture stream before running
   51abb2a73f16 scsi: lpfc: Clear the VendorVersion in the PLOGI/PLOGI ACC payload
   8d8723c8c187 scsi: lpfc: Correct issue leading to oops during link reset
   44eb947094c4 scsi: lpfc: Correct host name in symbolic_name field
   a7e7d319cc96 scsi: lpfc: FCoE VPort enable-disable does not bring up the VPort
   18477baf599e scsi: lpfc: Add missing memory barrier
   fdc1e9d553e1 staging: rtl8188eu: fix incorrect ERROR tags from logs
   0c098158785b scsi: ufs: add capability to keep auto bkops always enabled
   469e75ddff14 scsi: ufs-qcom: Fix module autoload
   bb848b61967f igb: Fix hw_dbg logging in igb_update_flash_i210
   ba83011a470c igb: close/suspend race in netif_device_detach
   559a20802838 igb: reset the PHY before reading the PHY ID
   7878dca7ca24 drm/sti: sti_vtg: Handle return NULL error from devm_ioremap_nocache
   b9ea0af4793b ata: SATA_MV should depend on HAS_DMA
   11cb9dedb2e6 ata: SATA_HIGHBANK should depend on HAS_DMA
   2066882df749 ata: ATA_BMDMA should depend on HAS_DMA
   4fd669feacd3 ARM: dts: Fix omap3 off mode pull defines
   955840ea5035 ARM: OMAP2+: Fix init for multiple quirks for the same SoC
   4a23041fa533 ARM: dts: Fix am335x and dm814x scm syscon to probe children
   84a97ea8b7b1 ARM: dts: Fix compatible for ti81xx uarts for 8250
   62641014202e fm10k: request reset when mbx->state changes
   2bb04f1ff63d extcon: palmas: Check the parent instance to prevent the NULL
   8d9142ff444e dmaengine: dmatest: warn user when dma test times out
   ec4f8a71c0fc Bluetooth: btusb: fix QCA Rome suspend/resume
   977784638f76 arm: crypto: reduce priority of bit-sliced AES cipher
   e455048c7ae9 net: qmi_wwan: fix divide by 0 on bad descriptors
   caeeef8438c3 net: cdc_ether: fix divide by 0 on bad descriptors
   46bdabbca02e sctp: do not peel off an assoc from one netns to another one
   11e8e55be18c xen-blkback: don't leak stack data via response ring
   49630dd2e10a bpf: don't let ldimm64 leak map addresses on unprivileged
   07e3aff243cd KVM: x86: fix singlestepping over syscall
   ceb5c560e2e4 ext4: fix data exposure after a crash
   0a418e57717d media: dib0700: fix invalid dvb_detach argument
   c344019c48a9 media: imon: Fix null-ptr-deref in imon_probe

(From OE-Core rev: 266f505a7de69850da4b3e82ccbf4c8466adfe51)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-28 10:14:01 +00:00
Bruce Ashfield
ff159a8b9f linux-yocto/4.12: iwlwifi and pci id backports
Integrating the following wilwifi and pci ID backports. These are
bug fixes, enablements and minor updates.

   850696176565 mmc: sdhci-pci: Add support for Intel CNP
   d7265bddf328 mmc: sdhci-pci: Use macros in pci_ids definition
   3a78458e37c1 spi: pxa2xx: Add support for Intel Cannonlake
   9de152318ec0 mfd: intel-lpss: Add Intel Cannonlake PCI IDs
   533713968b7d i2c: i801: Add support for Intel Cannon Lake
   b3a84be8dc44 Bluetooth: Add support for Intel Bluetooth device 9460/9560 [8087:0aaa]
   08dea20dfcdd iwlwifi: pcie: fix DMA memory mapping / unmapping
   9846e33915f4 iwlwifi: mvm: mark MIC stripped MPDUs
   d47d7a5921ec iwlwifi: mvm: enable RX offloading with TKIP and WEP
   295c08159f25 iwlwifi: mvm: flush queue before deleting ROC
   a49b4d426747 iwlwifi: add new cards for 9260 and 22000 series
   49f247c26220 iwlwifi: fix access to prph when transport is stopped
   3716aa8c7fb2 iwlwifi: pcie: fix erroneous "Read failed message"
   8ea811068131 iwlwifi: mvm: fix packet injection
   ce6f582d7790 iwlwifi: mvm: fix the TX queue hang timeout for MONITOR vif type
   789e2b172917 iwlwifi: mvm: don't use transmit queue hang detection when it is not possible
   4d697c7f2f30 iwlwifi: mvm: set correct chains in Rx status
   14f5ee3d7f2a iwlwifi: fix firmware names for 9000 and A000 series hw
   10f670720316 mac80211: add api to start ba session timer expired flow
   6975296fb60f timer: Prepare to change timer callback argument type
   617d38a55701 iwlwifi: fix PCI IDs and configuration mapping for 9000 series
   7768d0301e76 iwlwifi: mvm: support version 7 of the SCAN_REQ_UMAC FW command
   d10e7c4752ad iwlwifi: add new cards for a000 series
   f93a0bd94f2e iwlwifi: add new cards for 8265 series
   fd7fb7407891 iwlwifi: add new cards for 8260 series
   155e2cf7cf48 iwlwifi: drop RX frames during hardware restart
   a6a61a5c3dc6 iwlwifi: mvm: Convert timers to use timer_setup()
   2c55829d53e9 iwlwifi: mvm: hold mutex when flushing in iwl_mvm_flush_no_vif()
   c9d9e2dabd5b iwlwifi: mvm: add missing implementation of flush for a000 devices
   3793a1ba0652 iwlwifi: mvm: refactor iwl_mvm_flush_no_vif
   ef5fe37f634b iwlwifi: fix multi queue notification for a000 devices
   76b84cc9a0a7 iwlwifi: Add more call-sites for pcie reg dumper
   c76d3e3c5401 iwlwifi: remove host assisted paging
   d04bbe0546b1 iwlwifi: remove dead code for internal devices only
   f2aa0f94c3ed iwlwifi: mvm: improve latency when there is a reorder timeout
   16472c63581e iwlwifi: mvm: rs: remove the ANT C from the toogle antenna logic
   b12c3acdedd4 iwlwifi: mvm: reset seq num after restart
   b80a2cffd5ae iwlwifi: mvm: cleanup references to aggregation count limit
   08fb17fe5d5d iwlwifi: mvm: use RS macro instead of duplicating the code
   4ee07409e310 iwlwifi: pcie: remove set but not used variable tcph
   a707114d30c7 iwlwifi: pcie: sort IDs for the 9000 series for easier comparisons
   5437405de942 iwlwifi: mvm: add missing lq_color
   5b9fdea44032 iwlwifi: define minimum valid address for umac_error_event_table in cfg
   66130a345dc0 iwlwifi: mvm: move umac_error_event_table validity check to where it's set
   02ae1833fe0a iwlwifi: mvm: allow reading UMAC error data from SMEM in A000 devices
   92f982fbedea iwlwifi: mvm: pass baid_data to iwl_mvm_release_frames()
   f5373043dbf2 iwlwifi: mvm: remove duplicated fields in mvm reorder buffer
   46023b1981e8 iwlwifi: mvm: allocate reorder buffer according to need
   8b46150fdcba iwlwifi: remove dflt_pwr_limit from the transport
   1a0b98c751d9 iwlwifi: mvm: warn on invalid statistics size
   fd3b380a9842 iwlwifi: acpi: move code that reads SPLC to acpi
   390680e904da iwlwifi: fix indentation in a000 family configuration
   eff6a99d6123 iwlwifi: acpi: move function to get mcc into acpi code
   2c78cb7d30a5 iwlwifi: acpi: remove a couple of unnecessary ifdefs
   913d3ee53285 iwlwifi: acpi: make iwl_get_bios_mcc() use the common acpi functions
   99fb9256d5db iwlwifi: acpi: use iwl_acpi_get_wifi_pkg when reading reading SPLC
   ebe44b941059 iwlwifi: acpi: generalize iwl_mvm_sar_find_wifi_pkg()
   f9975d6cd5cb iwlwifi: acpi: move ACPI-related definitions to acpi.h
   c82427d45403 iwlwifi: acpi: move ACPI method definitions to acpi.h
   230d7769570e iwlwifi: acpi: add common code to read from ACPI
   11fe78e4e712 iwlwifi: mvm: change warning to warn_once()
   5bdafa97f8c2 iwlwifi: pcie: dump registers when HW becomes inaccessible
   e23f32f76e1b iwlwifi: mvm: add marker cmd response struct.
   29921783721e iwlwifi: fw: api: remove excess enum value documentation
   7d535c46c8a9 iwlwifi: mvm: don't send identical PHY_CTXT_CMD
   271cf21e8e38 iwlwifi: remove redundant reading from NVM file
   1f97d139cf89 iwlwifi: pcie: dynamic Tx command queue size
   49cd37c4bf52 iwlwifi: Add few debug prints to the WRT dump flow
   275329860324 iwlwifi: mvm: support firmware debug trigger on frame reorder timeout
   04901364779d iwlwifi: mvm: remove support for Link Quality Measurements
   36b34fa8d705 iwlwifi: mvm: Add new quota command API
   ebe4543c05ca iwlwifi: add a new a000 device
   c18499f54fb6 iwlwifi: fix wrong struct for a000 device
   b446945d074c iwlwifi: trans: move ref/unref code to the common part of the transport
   0c1dddd47c6e iwlwifi: mvm: add dbgfs entry for fw info
   6f04e26ed094 iwlwifi: nvm: set the correct offsets to 3168 series
   9cd4e5a40c94 iwlwifi: nvm-parse: unify channel flags printing
   81d96355b478 iwlwifi: mvm: return -ENODATA when reading the temperature with the FW down
   191792ca6c7b iwlwifi: stop dbgc recording before stopping DMA
   55b03bd59426 iwlwifi: mvm: do not print security error in monitor mode
   d25afe43ac2b iwlwifi: mvm: fix reorder buffer for 9000 devices
   dab206263245 iwlwifi: mvm: set status before calling iwl_mvm_send_cmd_status()
   4cd70ffaa6b4 iwlwifi: mvm: initialize status in iwl_mvm_add_int_sta_common()
   8b949c472671 iwlwifi: mvm: handle FIF_ALLMULTI when setting multicast addresses
   a8789c53df4c iwlwifi: mvm: wake the correct mac80211 queue
   e3fc497bcb1f iwlwifi: mvm: change state when queueing agg start work
   e64485ba374a iwlwifi: mvm: send all non-bufferable frames on the probe queue
   39853a2897ca iwlwifi: mvm: Flush non STA TX queues
   a79f9da1c39f iwlwifi: mvm: fix wowlan resume failed to load INIT ucode
   030cb8bb462b iwlwifi: mvm: only send LEDS_CMD when the FW supports it
   9d5c1397f0ba iwlwifi: mvm: bump API to 34 for 8000 and up
   0e4e899155b2 iwlwifi: mvm: Avoid deferring non bufferable frames
   bbb1538f4415 iwlwifi: fix long debug print
   fba7875cbf2b iwlwifi: pcie: move rx workqueue initialization to iwl_trans_pcie_alloc()
   cbe2772aa5ac iwlwifi: use big-endian for the hw section of the nvm
   5a9ed1a9e7a1 iwlwifi: mvm: remove useless check for mvm->cfg in iwl_parse_nvm_section()
   5dce0bb2c1e4 iwlwifi: mvm: remove useless argument in iwl_nvm_init()
   44a34b9133f6 iwlwifi: fw: fix lar_enabled endian problem in iwl_fw_get_nvm
   6ed7a437ada4 iwlwifi: add workaround to disable wide channels in 5GHz
   9fdf34b63469 iwlwifi: mvm: change open and close criteria of a BA session
   00fee168712f iwlwifi: update channel flags parser
   51fe7153860f iwlwifi: distinguish different RF modules in A000 devices
   04b2b5fe60ec iwlwifi: mvm: Fix channel switch in case of count <= 1
   12cb62ad92f1 iwlwifi: Demote messages about fw flags size to info
   ec7db94d2ac8 iwlwifi: move BT_MBOX_PRINT macro to common header
   9096228d343c iwlwifi: mvm: don't send BAR on flushed frames
   0200459abfe5 iwlwifi: mvm: remove session protection to allow channel switch
   4ed04628ce99 iwlwifi: mvm: update the firmware API in TX
   a9c710c755bd iwlwifi: mvm: use mvmsta consistently in rs.c
   db9f3872c6fa iwlwifi: mvm: group all dummy SAR function declarations together
   e59229f94610 iwlwifi: mvm: add command name for FRAME_RELEASE
   52c144d07be9 iwlwifi: pcie: support short Tx queues for A000 device family
   9768c491c7d2 iwlwifi: mvm: support new Coex firmware API
   899413b64660 iwlwifi: call iwl_remove_notification from iwl_wait_notification
   1e627b700dbb iwlwifi: mvm: consider RFKILL during INIT as success
   c9ef6cbdc1b9 iwlwifi: mvm: remove the corunning support
   6e83c9cbc23f iwlwifi: mvm: fix the coex firmware API
   537da96de818 iwlwifi: pcie: free the TSO page when a Tx queue is unmapped on A000 devices
   5fcd36459941 iwlwifi: remove references to unsupported HW
   b73ab3bf441b iwlwifi: fix nmi triggering from host
   c0594a59199d iwlwifi: pcie: don't init a Tx queue with an SSN > size of the queue
   0d23bd8c8cbf iwlwifi: mvm: add station before allocating a queue
   bd8e6c146cc2 iwlwifi: mvm: don't send CTDP commands via debugfs if not supported
   2f36c927e0b6 iwlwifi: mvm: support new beacon template command
   55ed6e274d45 iwlwifi: mvm: send delba upon rx ba session timeout
   f9cc252d82fc iwlwifi: mvm: set the default cTDP budget
   1d41aa6b2727 iwlwifi: mvm: move a000 device NVM retrieval to a common place
   e7b6180a4e80 iwlwifi: dump smem configuration when firmware crashes
   30d9d2f6ec84 iwlwifi: fix a000 RF_ID define
   064eaeb94cdd iwlwifi: add support of FPGA fw
   4d58ad2d7dd4 iwlwifi: fix a few instances of misaligned kerneldoc parameters
   a854f76ba000 iwlwifi: change functions that can only return 0 to void
   583ab36a2c38 iwlwifi: mvm: add debugfs to force CT-kill
   59f3b92bc9d5 iwlwifi: mvm: add const to thermal_cooling_device_ops structure
   6065eab05454 iwlwifi: mvm: use firmware LED command where applicable
   bdd1f8e6cd04 iwlwifi: mvm: remove useless condition in LED code
   8690797a9a10 iwlwifi: mvm: don't WARN when a legit race happens in A-MPDU
   bfa6caa712e9 iwlwifi: mvm: start mac queues when deferred tx frames are purged
   b8055bcadf7c iwlwifi: mvm: Fix a memory leak in an error handling path in 'iwl_mvm_sar_get_wgds_table()'
   446ea78b678c iwlwifi: mvm: don't retake the pointer to skb's CB
   f8fecb61f48f iwlwifi: mvm: remove non-DQA mode
   2afb27a925ce iwlwifi: mvm: rename p2p-specific sta functions to include p2p in the names
   6c1a64e3ef75 iwlwifi: mvm: simplify bufferable MMPDU check
   37d2db886acb iwlwifi: mvm: require AP_LINK_PS for TVQM
   cc0f8aa5bd8c iwlwifi: pcie: rename iwl_trans_check_hw_rf_kill() to pcie
   d680a553246e iwlwifi: mvm: add compile-time option to disable EBS
   eb39ff9703cb iwlwifi: implement fseq version mismatch warning
   248737b38907 iwlwifi: mvm: support fw reading empty OTP
   4c521e875d7a iwlwifi: pcie: fix A-MSDU on gen2 devices
   cae215d55c66 iwlwifi: mvm: fix uninitialized var while waiting for queues to empty
   3c7d7c6a8dbd iwlwifi: mvm: fix the FIFO numbers in A000 devices
   e9ac52a93832 iwlwifi: mvm: refactor beacon template command code
   585dde6c1b9b iwlwifi: dvm: remove unused defines
   7eec01ad4c9e iwlwifi: mvm: byte-swap constant instead of variable
   099c0a80ad9f iwlwifi: mvm: check family instead of new TX API for workarounds
   2e44edff43bb iwlwifi: mvm: add and use iwl_mvm_has_unified_ucode()
   571909b0fc2f iwlwifi: fw api: fix various kernel-doc warnings
   231a0f260c9f iwlwifi: reorganize firmware API
   45a9716e520c iwlwifi: refactor firmware debug code
   6bc25ab6637f iwlwifi: track current firmware image in common code
   2e8f9d07d433 iwlwifi: refactor shared mem parsing
   e99db11387dd iwlwifi: refactor out paging code
   87e461c198f2 iwlwifi: add the new 9000 series PCI IDs
   ccd7ba236f4c iwlwifi: mvm: set the RTS_MIMO_PROT bit in flag mask when sending sta to fw
   117a3d6f9f1d iwlwifi: fix fw_pre_next_step to apply also for C step
   2176967bd330 iwlwifi: mvm: rs: fix TLC statistics collection
   7e12ee6aadfd iwlwifi: mvm: set A-MPDU bit upon empty BA notification from FW
   a52eff0e4979 iwlwifi: split the regulatory rules when the bandwidth flags require it
   3a5a68e76e90 iwlwifi: add TLV for MLME offload firmware capability
   a33aab491b28 iwlwifi: mvm: fix TCP CSUM offload with WEP and A000 series
   4aaa3afd80b2 iwlwifi: mvm: defer setting IWL_MVM_STATUS_IN_HW_RESTART
   824bd3878358 iwlwifi: mvm: handle IBSS probe_queue in a few missing places
   cfa94cd7b0eb iwlwifi: fix tracing when tx only is enabled
   2137706c9531 iwlwifi: missing error code in iwl_trans_pcie_alloc()
   7f6264621aa1 iwlwifi: mvm: fix a NULL pointer dereference of error in recovery
   f20a2719d785 iwlwifi: pcie: fix unused txq NULL pointer dereference
   9e14453045b2 iwlwifi: bump MAX API for 8000/9000/A000 to 33
   b177ff5b4d37 iwlwifi: pcie: wait longer after device reset
   1a57bfb1ca30 iwlwifi: pcie: propagate iwl_pcie_apm_init's status
   5d80ae738313 iwlwifi: mvm: quietly accept non-sta disassoc frames
   4413e18698bd iwlwifi: mvm: update rx statistics cmd api
   8a1e4d649107 iwlwifi: mvm: remove DQA non-STA client mode special case
   ba3b437ac257 iwlwifi: mvm: don't mess the SNAP header in TSO for non-QoS packets
   6a8a1d8ff04f iwlwifi: pcie: reconfigure MSI-X HW on resume
   370b3f671b84 iwlwifi: mvm: don't send fetch the TID from a non-QoS packet in TSO
   dd9d9e230b3b iwlwifi: mvm: fix mac80211's hw_queue in DQA mode
   67f0a8051df7 iwlwifi: mvm: map cab_queue to real one earlier
   279ca413640e iwlwifi: mvm: fix mac80211 queue tracking
   ac34301b93d9 iwlwifi: mvm: properly enable IP header checksumming
   b7e49fba6de4 iwlwifi: pcie: add MSI-X interrupt tracing
   073e3ae0697d iwlwifi: mvm: quietly accept non-sta assoc response frames
   000225c8540e iwlwifi: mvm: remove version 2 of paging command
   01adad1afb4b iwlwifi: move configuration into sub-directory
   1c945c0a2365 iwlwifi: move notification wait into fw/
   707cab759b03 iwlwifi: create new subdirectory for FW interaction
   11498c406c1d iwlwifi: mvm: rename iwl_shared_mem_cfg_v1 to the correct _v2
   36d920ab8301 iwlwifi: mvm: fix deduplication start logic
   f639f74a16db iwlwifi: mvm: unconditionally stop device after init
   6d351ad19e9e iwlwifi: pcie: warn if paging is already initialized during init
   f440538d499e iwlwifi: pcie: make ctxt-info free idempotent
   b6d799e30c37 iwlwifi: unify external & internal modparam names
   da2431c19209 iwlwifi: mvm: support multi tid ba notif
   9ef205fbc7f6 iwlwifi: mvm: change when the BT_COEX is sent
   ffeceb4d747d iwlwifi: pcie: improve debug in iwl_pcie_rx_handle_rb()
   03eb5a5191b5 iwlwifi: mvm: support aggs of 64 frames in A000 family
   2385536aa6aa iwlwifi: pcie: improve "invalid queue" warning
   15a398ef172d iwlwifi: mvm: use proper CDB check in PHY context modify
   864be96cece8 iwlwifi: add twelve new 9560 series PCI IDs
   ec6054472dfb iwlwifi: add the new a000_2ax series
   968a39b62c95 iwlwifi: mvm: simplify CHECK_MLME_TRIGGER macro
   df311987c49c iwlwifi: mvm: change sta_id to u8
   883fb2c8e201 iwlwifi: pcie: fix 9000-series RF-kill interrupt propagation
   91acf229d6cd iwlwifi: pcie: only apply retention workaround on 9000-series A-step
   09a2f42e69fb iwlwifi: dvm: use macros for format strings
   7ca1a7dd8f3e iwlwifi: mvm: fix a bunch of kernel-doc warnings
   b458b063bc76 iwlwifi: mvm: add documentation for all command IDs
   d1790ece9b75 iwlwifi: mvm: use __le16 even for reserved fields
   046c12a1dc80 iwlwifi: mvm: remove various unused command IDs/structs
   2848902362f0 iwlwifi: mvm: fix various "Excess ... description" kernel-doc warnings
   623a8552fda4 iwlwifi: mvm: remove some CamelCase from firmware API
   e3b3b727c40d iwlwifi: mvm: Add debugfs entry to retrieve SAR geographic profile
   fdc992fb8d18 iwlwifi: mvm: refactor geo init
   c5a3a5eefbea iwlwifi: mvm: support TX on MONITOR iface
   dc57bda29216 iwlwifi: pcie: work around suspend/resume issue
   0ae7c6c46fd8 iwlwifi: mvm: fix typo in CTDP_CMD_OPERATION_REPORT description
   c7434aa46639 iwlwifi: pcie: delete the Tx queue timer earlier upon firmware crash
   958f6310f57a iwlwifi: pcie: reduce unwanted noise in the logs
   47b740d6fdad iwlwifi: mvm: print base HW address during init
   576b5f6d20aa iwlwifi: mvm: document assoc_beacon_arrive_time
   0f5456ddc9e1 iwlwifi: mvm: reset the fw_dump_desc pointer after ASSERT
   143b28afd061 iwlwifi: mvm: set assoc_beacon_arrive_time
   277925710d13 iwlwifi: pcie: make iwl_pcie_apm_stop_master() return void
   2c60b669ee2f iwlwifi: add a W/A for a scheduler hardware bug
   ea2c2d55b740 iwlwifi: mvm: don't mark TIDs that are not idle wrt BA as inactive
   6334bb289021 iwlwifi: mvm: reset the HW before dumping if HW error is detected
   47cc9c8ef1e2 iwlwifi: pcie: don't disable bh when handling FW errors
   c7507a1c27da iwlwifi: mvm: fix nvm_data leak
   997a0c1940c0 iwlwifi: remove useless iwl_free_nvm_data() function
   85ffc85a8631 iwlwifi: document transmit buffer bits better
   b354e56f9170 iwlwifi: mvm: add documentation for enum iwl_debug_cmds
   862b5ca77cb7 iwlwifi: mvm: disentangle union in TX status struct
   62bcece33632 iwlwifi: mvm: fix fw monitor 7000 HW recollecting
   779d40dcefef iwlwifi: mvm: docs: fix enum link, provide TX response link
   07654dd35785 iwlwifi: pcie: fix command completion name debug
   fe6742b239a5 iwlwifi: fix TX tracing for non-linear SKBs
   b45290710c5f iwlwifi: simplify data tracepoint
   30c0d59cb96e iwlwifi: mvm: better link scan notification results length
   2af91c751cb1 iwlwifi: pcie: use kstrtou32_from_user()
   476da255e452 iwlwifi: mvm: support aggregations on A000 HW
   9589a1e03918 iwlwifi: mvm: document status bits
   ba68df149d76 iwlwifi: pcie: remove pointless debugfs parsing for csr file
   69cb66f56e31 iwlwifi: pcie: don't report RF-kill enabled while shutting down
   95cf3d6024f3 iwlwifi: mvm: don't warn in queue sync on RF-kill
   f29197139bd5 iwlwifi: pcie: add fake RF-kill to debugfs
   9d66c60c017c iwlwifi: pcie: pull out common rfkill IRQ handling code
   ecc56c4e3f8a iwlwifi: mvm: rs: add logs for the wrong antenna case
   9fa7ff152d17 iwlwifi: mvm: make iwl_mvm_update_mcc() easier to follow
   5873c905dd46 iwlwifi: mvm: change the firmware name loading
   f48b4417b6bb iwlwifi: mvm: support D0I3_END_CMD at the start of resume
   db5d313c1366 iwlwifi: mvm: make D0I3_END_CMD sync during system resume
   cef60bd42b53 iwlwifi: mvm: track and report IBSS manager status to mac80211
   c9592bc2295b iwlwifi: use bitfield.h for some registers
   a981c4683faa iwlwifi: mvm: use scnprintf() instead of snprintf()
   94da2d3b1962 iwlwifi: pcie: fix TVQM queue ID range check
   ffc4fbe862d0 iwlwifi: mvm: remove pointless num_stored condition
   fffa02450281 iwlwifi: mvm: avoid unnecessary cache trashing in Tx path
   ef694dd2c96a iwlwifi: mvm: Enable security on new TX API
   8628d427548a iwlwifi: mvm: disable dbg data collect when fw isn't alive
   29e776b74ca4 iwlwifi: remove resp_pkt NULL checks
   b697ec7ebaa3 iwlwifi: mvm: remove txq EMPTYING_DELBA state for DQA
   c1c666e4b9e1 iwlwifi: remove unnecessary code in iwl_trans_alloc_tx_cmd
   aac2dec2caa9 iwlwifi: fw-api: cleanup cycle includes
   6d409c70b759 iwlwifi: mvm: remove SCAN_GROUP
   57cba4f2c3bb iwlwifi: mvm: link to TX commands in documentation
   2792b27534b3 iwlwifi: mvm: document structures used for BEACON_TEMPLATE_CMD
   7bafd04ebb12 iwlwifi: mvm: link queue cmd docs to A000 command structs
   c99a3509d9a9 iwlwifi: split firmware API from iwl-trans.h
   4180802e550f iwlwifi: fix a kernel-doc tag
   fee5c3ea3ccc iwlwifi: mvm: clear firmware running bit earlier
   1a6cb6ae5305 iwlwifi: mvm: convert ucode_loaded to a status bit
   28abcc34d47f iwlwifi: mvm: use schedule_delayed_work()
   2b8c8c6a247c iwlwifi: mvm: check firmware is up in debugfs
   f2a41abb9acc iwlwifi: mvm: disable prph collection in a000 hw
   8945686f242b iwlwifi: pcie: support dumping FH in a000 hw
   e8e293176ae2 iwlwifi: add 9000 and A000 device families
   3610276b8a6c iwlwifi: mvm: support init flow debugging
   ca41111b2b1c iwlwifi: mvm: add TLV for NAN API differentiation
   afbea5518455 iwlwifi: add dbgc_supported to transport configuration
   acdc73097588 iwlwifi: remove references to 8000 B-step devices
   595bbac1c406 iwlwifi: cleanup references to 8000 family in NVM code
   11faed6da368 iwlwifi: pcie: add AMSDU to gen2
   fcdca8ea1328 iwlwifi: mvm: document RX structures
   767327919d86 iwlwifi: mvm: add AMSDU flag to offload assist
   f322fb5df757 iwlwifi: mvm: fix many kernel-doc warnings
   50cc8892d845 iwlwifi: mvm: remove unused REPLY_MAX
   484994be6f9c iwlwifi: kernel-doc: make proper links
   118480297594 iwlwifi: mvm: remove unused TX_CMD_NEXT_FRAME_*
   d51079922e78 iwlwifi: Add fw_name_pre_rf_next_step to support different rf steps
   75ae58fb9f09 iwlwifi: pcie: support page dumping in wrt in gen2
   1257922aa9ba iwlwifi: mvm: remove wrt support of page dumps in gen2
   dd16d8dd7ffa iwlwifi: mvm: document structures used by commands
   c1707f389f38 iwlwifi: mvm: create/name various enums
   f7284177ca6b iwlwifi: mvm: disentangle binding command versions
   2e2a50a2385b iwlwifi: update device ID for a000 family
   1a2dfbdfc6a6 iwlwifi: mvm: add documentation links to various fields
   af89f3bcefe0 iwlwifi: mvm: fix some kernel-doc
   dd9e1bc0ab78 iwlwifi: mvm: add documentation to some WoWLAN commands
   f3a49c387b0c iwlwifi: mvm: disentangle paging command structs
   99663cdb5f32 iwlwifi: mvm: use u8 for reserved fields
   889c4a104258 iwlwifi: mvm: fix MCC endianness bug
   a391ff99187a iwlwifi: mvm: use proper sta_addr in firmware API
   27b6fcbdb9dd iwlwifi: mvm: document which group enums are used with which group ID
   6eb27e533f68 iwlwifi: mvm: fix endianness in lq_cmd declaration
   0fbd3eb814df iwlwifi: mvm: support old method of NVM parsing
   dc5fc94c7ad3 iwlwifi: mvm: support getting nvm data from firmware

(From OE-Core rev: 7b1ee27839401f1f6c40e012e388b5d8749b2a2f)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-28 10:14:01 +00:00
Bruce Ashfield
0411e9d02c kernel-yocto: make SRC_URI defconfig removal more specific
commit 7e98c295c1bb511e [kernel-yocto: ensure that only a single
defconfig is processed] has an overly broad replacement strategy
for 'defconfig' and hence will chop up any fragment name that
happens to contain that string.

If we change the processing to split on whitespace and drop
any full work 'defconfig' fragments, we'll get the behaviour
we want (no duplicate defconfigs, but fragments with defconfig
in their name are fine).

[YOCTO #12487]

(From OE-Core rev: 7c5a6cd8afb7157890b30a3e19ed5c06ec5a9516)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-28 10:14:01 +00:00
Bruce Ashfield
40ac639048 linux-yocto/4.12: drm & mips fixes
Integrating the following bug fixes (mainline backports):

  d572780c455f Mips kernel warining:resolve some warning when compiling arch/mips/math-emu/cp1emu.c
  f79ac7203257 drm/tilcdc: Precalculate total frametime in tilcdc_crtc_set_mode()

(From OE-Core rev: 8fd6ca0d3897e974a3f4f6687b2796add3fd9293)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-28 10:14:01 +00:00
Bruce Ashfield
5d5682f2de linux-yocto/4.12: coffeeLake-s graphics and audio support
Integrating the following backports to enable graphics and audito for
the coffeelake-s board:

   e0256c639caf ALSA: hda/realtek - Fix ALC700 family no sound issue
   a3bd263fa5f3 ALSA: hda - Add model string for Intel reference board quirk
   c12ee7fbc382 ALSA: hda/realtek - Enable jack detection function for Intel ALC700
   ff8d2c896572 ALSA: hda: Add Cannonlake PCI ID
   88ee594b72e6 ALSA: hda - Fix unbalance of i915 module refcount
   c7d38955ce7f ALSA: hda - Fix doubly initialization of i915 component
   5ca2b95b131f ALSA: hda - Bind with i915 component before codec binding
   648c24f8d385 ALSA: hda - Add AZX_DRIVER_SKL for simplification
   f406fd3d0c63 drm/i915/cnl: Implement CNL display init/unit sequence
   1e07bbf553c0 drm/i915/cnl: Implement .set_cdclk() for CNL
   901336fddca0 drm/i915/cnl: Implement .get_display_clock_speed() for CNL
   be7a1f129e42 drm/i915/cfl: Coffee Lake reuses Kabylake DMC.
   ee6ac7be14c3 drm/i915/huc: Load HuC on Coffee Lake
   35a913347462 drm/i915/guc: Load GuC on Coffee Lake
   443e68bbbe46 drm/i915/cfl: Add Coffee Lake PCI IDs for U Sku.
   0ef98275c834 drm/i915/cfl: Add Coffee Lake PCI IDs for H Sku.
   594a1d673403 drm/i915/cfl: Add Coffee Lake PCI IDs for S Skus.
   8732a393ce1e drm/i915/cfl: Introduce Display workarounds for Coffee Lake.
   676a4c1b92ab drm/i915/cfl: Coffee Lake uses CNP PCH.
   f5eb462f524f drm/i915/cfl: Introduce Coffee Lake platform definition.
   8a3a080c7028 drm/i915/cnl: Also need power well sanitize.
   b5620b75db38 drm/i915/cnl: Add power wells for CNL
   b747f1806205 drm/i915/cnl: Cannonlake has same MOCS table than Skylake.
   fc8aee64eaeb drm/i915/cnl: Configure EU slice power gating.
   a9b5e8f00440 drm/i915/cnl: Cannonlake has 4 planes (3 sprites) per pipe
   03a55f9a6082 drm/i915/cnl: add IS_CNL_REVID macro
   7236995c6b04 drm/i915/cnl: Add Cannonlake PCI IDs for Y-skus.
   b2f7e93bcb56 drm/i915/cnl: Add Cannonlake PCI IDs for U-skus.
   30c5a76e52a6 drm/i915/cnl: Cannonlake uses CNP PCH.
   27bb6860ebf1 drm/i915/cnl: Introduce Cannonlake platform defition.
   b4d4cf3529e0 drm/i915/cnp: Panel Power sequence changes for CNP PCH.
   ee2e2af1cf34 drm/i915/cnp: add CNP gmbus support
   35964d298c7d drm/i915/cnp: Backlight support for CNP.
   ccfab7d5ae88 drm/i915/cnp: Get/set proper Raw clock frequency on CNP.
   abdbbc6157d7 drm/i915/cnp: Add PCI ID for Cannonpoint LP PCH
   87482dfba004 drm/i915/cnp: Introduce Cannonpoint PCH.

(From OE-Core rev: 3d0ef7cb4a9495d26d59715936d8e39f2ad61b91)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-28 10:14:01 +00:00
Bruce Ashfield
97bfa78c07 linux-yocto/4.12: CQM and rdt backports
Integrating the following fixes to CQM and rdt:

   6039d7e04ee9 x86/intel_rdt: Turn off most RDT features on Skylake
   bda0ec91ba67 x86/intel_rdt: Add command line options for resource director technology
   a3c30e14a0c6 x86/intel_rdt: Move special case code for Haswell to a quirk function
   8b85cfaa3e71 perf tests: Remove Intel CQM perf test
   c52eafb271db x86/intel_rdt: Remove redundant assignment
   59eded4485bd x86/intel_rdt/cqm: Make integer rmid_limbo_count static
   f353fcc5381a perf test: Add 'struct test *' to the test functions
   3ab7007dc138 perf tools: Remove warning()
   16373473698d tools: Adopt __printf from kernel sources
   1b6df81b0ec0 perf event-parse: Use pr_warning()
   49304e0a40bb tools: Adopt __noreturn from kernel sources
   404c63ba6ad9 x86/intel_rdt: Fix a silent failure when writing zero value schemata
   0ccb572e7d9a x86/intel_rdt: Initialize bitmask of shareable resource if CDP enabled
   9e35007e23ea x86/intel_rdt: Add diagnostics when making directories
   68cd327250f4 x86/intel_rdt: Add diagnostics when writing the cpus file
   d00dfe37ca54 x86/intel_rdt: Add diagnostics when writing the tasks file
   63536c68faa4 x86/intel_rdt: Add diagnostics when writing the schemata file
   b626cc5e2b2a x86/intel_rdt: Add framework for better RDT UI diagnostics
   cf0468526b24 x86/intel_rdt: Remove redundant ternary operator on return
   8bba47d15f54 x86/intel_rdt: Modify the intel_pqr_state for better performance
   dcddbbf53ff7 x86/intel_rdt/cqm: Clear the default RMID during hotcpu
   6d4f2689b04b x86/intel_rdt/cqm: Improve limbo list processing
   360834344240 x86/intel_rdt/mbm: Fix MBM overflow handler during CPU hotplug
   02a3de9b826d x86/intel_rdt: Show bitmask of shareable resource with other executing units
   cb73d2dea025 x86/intel_rdt/mbm: Handle counter overflow
   f8886547bdc5 x86/intel_rdt/mbm: Add mbm counter initialization
   77d89a70fbea x86/intel_rdt/mbm: Basic counting of MBM events (total and local)
   81825b49c811 x86/intel_rdt/cqm: Add CPU hotplug support
   e23cf266aac4 x86/intel_rdt/cqm: Add sched_in support
   b690bc426fdf x86/intel_rdt: Introduce rdt_enable_key for scheduling
   5a810cfc457c x86/intel_rdt/cqm: Add mount,umount support
   8ee1a2a746b7 x86/intel_rdt/cqm: Add rmdir support
   899eeb375632 x86/intel_rdt: Separate the ctrl bits from rmdir
   549388e78852 x86/intel_rdt/cqm: Add mon_data
   51d07512e645 x86/intel_rdt: Prepare for RDT monitor data support
   41b1dbc8e6d1 x86/intel_rdt/cqm: Add cpus file support
   6f2b9b502232 x86/intel_rdt: Prepare to add RDT monitor cpus file support
   1cf7f59b18bb x86/intel_rdt/cqm: Add tasks file support
   b84af6f5654d x86/intel_rdt: Change closid type from int to u32
   0ee69d488d44 x86/intel_rdt/cqm: Add mkdir support for RDT monitoring
   58da4f0768cf x86/intel_rdt: Prepare for RDT monitoring mkdir support
   ebc3f80d3cdd x86/intel_rdt/cqm: Add info files for RDT monitoring
   be500fe614a7 x86/intel_rdt: Simplify info and base file lists
   0a60b55c6fdd x86/intel_rdt/cqm: Add RMID (Resource monitoring ID) management
   14ddd52ae741 x86/intel_rdt/cqm: Add RDT monitoring initialization
   0d2a5b765e74 x86/intel_rdt: Make rdt_resources_all more readable
   5ecd779f63d9 x86/intel_rdt: Cleanup namespace to support RDT monitoring
   47715abe4ae3 x86/intel_rdt: Mark rdt_root and closid_alloc as static
   72c19e0f78e1 x86/intel_rdt: Change file names to accommodate RDT monitor code
   1d38ddcfa2b0 x86/intel_rdt: Introduce a common compile option for RDT
   7dd744520602 x86/intel_rdt/cqm: Documentation for resctrl based RDT Monitoring
   58d3bad357a9 x86/perf/cqm: Wipe out perf based cqm
   8f921be6408b perf/x86/intel/cqm: Use cpuhp_setup_state_cpuslocked()
   56b2f2883750 perf, bpf: Add BPF support to all perf_event types

(From OE-Core rev: b0d897cfb70918220d09af0e8d614e8d483ae26d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-28 10:14:01 +00:00
Bruce Ashfield
f4cc684ff0 linux-yocto/4.4: update to 4.4.99
Integrating the korg stable updates that comprise the following
commits:

   0cbac004e673 Linux 4.4.99
   e8d650563c5f misc: panel: properly restore atomic counter on error path
   01000c56cacc target: Fix node_acl demo-mode + uncached dynamic shutdown regression
   4063c2093349 target/iscsi: Fix iSCSI task reassignment handling
   7ecc076a5d51 brcmfmac: remove setting IBSS mode when stopping AP
   d27383faf144 tipc: fix link attribute propagation bug
   c8f13916c4c9 security/keys: add CONFIG_KEYS_COMPAT to Kconfig
   11fa3353205e tcp/dccp: fix other lockdep splats accessing ireq_opt
   6f8048cd59d7 tcp/dccp: fix lockdep splat in inet_csk_route_req()
   13eddc67565a tcp/dccp: fix ireq->opt races
   b9b0c99a426a ipip: only increase err_count for some certain type icmp in ipip_err
   9bae2ffb87d6 ppp: fix race in ppp device destruction
   4b5bb7723da1 sctp: reset owner sk for data chunks on out queues when migrating a sock
   bcb3b90cf3c8 tun: allow positive return values on dev_get_valid_name() call
   5c8a0850bae2 ip6_gre: only increase err_count for some certain type icmpv6 in ip6gre_err
   93b12f202a4e net/unix: don't show information about sockets from other namespaces
   84237c54b239 ipv6: flowlabel: do not leave opt->tot_len with garbage
   d552c8c5007a packet: avoid panic in packet_getsockopt()
   ef3a12f1dc4a sctp: add the missing sock_owned_by_user check in sctp_icmp_redirect
   4b27fe34a226 tun: call dev_get_valid_name() before register_netdevice()
   196f4755cc82 l2tp: check ps->sock before running pppol2tp_session_ioctl()
   71c4a0fc3576 tcp: fix tcp_mtu_probe() vs highest_sack
   735818a8b45c tun/tap: sanitize TUNSETSNDBUF input
   1e98fd54c356 ALSA: seq: Cancel pending autoload work at unbinding device
   b7c625ce6d27 Input: ims-psu - check if CDC union descriptor is sane
   de46c1adbea6 usb: usbtest: fix NULL pointer dereference
   c93df40f3c73 mac80211: don't compare TKIP TX MIC key in reinstall prevention
   cdac2028c901 mac80211: use constant time comparison with keys
   6440f0ee8a17 mac80211: accept key reinstall without changing anything
   c4e3d53bd9e7 Linux 4.4.98
   9c405157269d PKCS#7: fix unitialized boolean 'want'
   b01f1d60dd1c x86/oprofile/ppro: Do not use __this_cpu*() in preemptible context
   4df27e649308 can: c_can: don't indicate triple sampling support for D_CAN
   cdb5a2def61c can: sun4i: handle overrun in RX FIFO
   493cb19b2522 rbd: use GFP_NOIO for parent stat and data requests
   ba4828af60e2 drm/vmwgfx: Fix Ubuntu 17.10 Wayland black screen issue
   05b690ccb077 Input: elan_i2c - add ELAN060C to the ACPI table
   4694272c470a MIPS: AR7: Ensure that serial ports are properly set up
   721d4be9e05d MIPS: AR7: Defer registration of GPIO
   d0cfebd9b1db tools: firmware: check for distro fallback udev cancel rule
   4afaa496d7f3 selftests: firmware: send expected errors to /dev/null
   ed1deec127d9 selftests: firmware: add empty string and async tests
   c08f3a82f66f test: firmware_class: report errors properly on failure
   6004eb4d1adc MIPS: SMP: Fix deadlock & online race
   857e81041f69 MIPS: Fix race on setting and getting cpu_online_mask
   175c0622ab11 MIPS: SMP: Use a completion event to signal CPU up
   207c2143322c MIPS: Fix CM region target definitions
   ff8e97326b6a MIPS: microMIPS: Fix incorrect mask in insn_table_MM
   1e54b5f72115 ALSA: seq: Avoid invalid lockdep class warning
   adc4bacd5164 ALSA: seq: Fix OSS sysex delivery in OSS emulation
   4d5b67a54e6d ARM: 8720/1: ensure dump_instr() checks addr_limit
   3fc61b8dd6bb KEYS: fix NULL pointer dereference during ASN.1 parsing [ver #2]
   48276703a037 crypto: x86/sha1-mb - fix panic due to unaligned access
   44540ead8a8a workqueue: Fix NULL pointer dereference
   ad8c619750c4 x86/uaccess, sched/preempt: Verify access_ok() context
   44e0e2b47af2 platform/x86: hp-wmi: Do not shadow error values
   ce93b664540d platform/x86: hp-wmi: Fix error value for hp_wmi_tablet_state
   df5371592aca KEYS: trusted: fix writing past end of buffer in trusted_read()
   939cafad2f51 KEYS: trusted: sanitize all key material
   75f82a703b30 cdc_ncm: Set NTB format again after altsetting switch for Huawei devices
   5ffc673161be platform/x86: hp-wmi: Fix detection for dock and tablet mode
   f38a3a1c8f1a net: dsa: select NET_SWITCHDEV
   581243dc5528 s390/qeth: issue STARTLAN as first IPA command
   3652b0b6f2c2 IB/ipoib: Change list_del to list_del_init in the tx object
   aa4af0fca101 Input: mpr121 - set missing event capability
   0a731928f264 Input: mpr121 - handle multiple bits change of status register
   ffa6332b8d80 IPsec: do not ignore crypto err in ah4 input
   9ee83b03365a netfilter: nft_meta: deal with PACKET_LOOPBACK in netdev family
   cfb2cb34d32e usb: hcd: initialize hcd->flags to 0 when rm hcd
   6450c9a96ff3 serial: sh-sci: Fix register offsets for the IRDA serial port
   ca2090aa58ba phy: increase size of MII_BUS_ID_SIZE and bus_id
   079822da0a00 iio: trigger: free trigger resource correctly
   26fa336d69a2 crypto: vmx - disable preemption to enable vsx in aes_ctr.c
   30019ca7dc09 ARM: omap2plus_defconfig: Fix probe errors on UARTs 5 and 6
   83fe38f2c4a3 powerpc/corenet: explicitly disable the SDHC controller on kmcoge4
   158bc64a4dfe iommu/arm-smmu-v3: Clear prior settings when updating STEs
   f20065b466d4 KVM: PPC: Book 3S: XICS: correct the real mode ICP rejecting counter
   2393241b7a22 drm: drm_minor_register(): Clean up debugfs on failure
   4e0d26b22e79 xen/netback: set default upper limit of tx/rx queues to 8
   f3170e6607be PCI: mvebu: Handle changes to the bridge windows while enabled
   414aa11de923 video: fbdev: pmag-ba-fb: Remove bad `__init' annotation
   8a56b1b25e3c adv7604: Initialize drive strength to default when using DT
   c54d0707aa09 Linux 4.4.97
   2ed81e62b2ab staging: r8712u: Fix Sparse warning in rtl871x_xmit.c
   883706dcda17 xen: don't print error message in case of missing Xenstore entry
   298455f466cb bt8xx: fix memory leak
   4b7a35866b0c s390/dasd: check for device error pointer within state change interrupts
   45a012ace954 mei: return error on notification request to a disconnected client
   0e97077574c6 exynos4-is: fimc-is: Unmap region obtained by of_iomap()
   2d097e5f5c03 staging: lustre: ptlrpc: skip lock if export failed
   efa8f1b7a65a staging: lustre: hsm: stack overrun in hai_dump_data_field
   2d1d45396585 staging: lustre: llite: don't invoke direct_IO for the EOF case
   28a8fc6416ab platform/x86: intel_mid_thermal: Fix module autoload
   d1f96c30ce2d scsi: aacraid: Process Error for response I/O
   fff544c8cf68 xen/manage: correct return value check on xenbus_scanf()
   762d0762b9bb cx231xx: Fix I2C on Internal Master 3 Bus
   0806eaf13850 perf tools: Only increase index if perf_evsel__new_idx() succeeds
   3b7d9a95ccd3 drm/amdgpu: when dpm disabled, also need to stop/start vce.
   dec5fcf11b45 i2c: riic: correctly finish transfers
   358008062202 ext4: do not use stripe_width if it is not set
   5624ea161040 ext4: fix stripe-unaligned allocations
   a76eb0e8655e staging: rtl8712u: Fix endian settings for structs describing network packets
   f9776d7ee5f5 mfd: axp20x: Fix axp288 PEK_DBR and PEK_DBF irqs being swapped
   8800aba50292 mfd: ab8500-sysctrl: Handle probe deferral
   ed414aeb5291 ARM: pxa: Don't rely on public mmc header to include leds.h
   a3e021504fcf mmc: s3cmci: include linux/interrupt.h for tasklet_struct
   ba28f16cfa2a PM / wakeirq: report a wakeup_event on dedicated wekup irq
   b83c2880b348 Fix tracing sample code warning.
   a48fce662380 tracing/samples: Fix creation and deletion of simple_thread_fn creation
   ded34f972348 drm/msm: fix an integer overflow test
   031b02bc16ae drm/msm: Fix potential buffer overflow issue
   6e6eba5ba145 perf tools: Fix build failure on perl script context
   fa312b481b2b ocfs2: fstrim: Fix start offset of first cluster group during fstrim
   cc7d9933400f ARM: 8715/1: add a private asm/unaligned.h
   4e351b8dd8b7 ARM: dts: mvebu: pl310-cache disable double-linefill
   581ac5f431c9 arm64: ensure __dump_instr() checks addr_limit
   97d64b7f2fdf ASoC: adau17x1: Workaround for noise bug in ADC
   618b930317fb KEYS: fix out-of-bounds read during ASN.1 parsing
   97c5668c9724 KEYS: return full count in keyring_read() if buffer is too small
   d304c9169b38 cifs: check MaxPathNameComponentLength != 0 before using it
   8142e9516d5d ALSA: seq: Fix nested rwsem annotation for lockdep splat
   70358782743f ALSA: timer: Add missing mutex lock for compat ioctls
   27e68f1bca91 Linux 4.4.96
   b3d04695be52 Revert "drm: bridge: add DT bindings for TI ths8135"
   50044e419e83 ecryptfs: fix dereference of NULL user_key_payload
   da0933ceec96 x86/microcode/intel: Disable late loading on model 79
   a272dc770f7d regulator: fan53555: fix I2C device ids
   120ef1a38f79 can: kvaser_usb: Ignore CMD_FLUSH_QUEUE_REPLY messages
   c1b092102124 can: kvaser_usb: Correct return value in printout
   0c3cdb4536d1 can: sun4i: fix loopback mode
   62b54cc63a1c scsi: sg: Re-fix off by one in sg_fill_request_table()
   6e9abbc96411 scsi: zfcp: fix erp_action use-before-initialize in REC action trace
   1cbbd99f3bfe assoc_array: Fix a buggy node-splitting case
   2c99438cf66d Input: gtco - fix potential out-of-bound access
   31d770a8b887 Input: elan_i2c - add ELAN0611 to the ACPI table
   8b396ff8eee7 xen/gntdev: avoid out of bounds access in case of partial gntdev_mmap()
   82e05e935ffd fuse: fix READDIRPLUS skipping an entry
   7d74eecca960 spi: uapi: spidev: add missing ioctl header
   3505478d6fec usb: xhci: Handle error condition in xhci_stop_device()
   da0345d723f0 ceph: unlock dangling spinlock in try_flush_caps()
   5f1d33ab4d53 ALSA: hda - fix headset mic problem for Dell machines with alc236
   8c812f0335dd ALSA: hda/realtek - Add support for ALC236/ALC3204
   fce67b31c7cd workqueue: replace pool->manager_arb mutex with a flag
   9b36699635c5 Linux 4.4.95
   aa3a0a70bdb8 FS-Cache: fix dereference of NULL user_key_payload
   1bb1d4252d1e fscrypto: require write access to mount to set encryption policy
   8a004caec12b KEYS: Fix race between updating and finding a negative key
   1dda04c761ab fscrypt: fix dereference of NULL user_key_payload
   7d9e13d953f2 f2fs crypto: add missing locking for keyring_key access
   4db9f1113196 f2fs crypto: replace some BUG_ON()'s with error checks
   0f85c0954be4 sched/autogroup: Fix autogroup_move_group() to never skip sched_move_task()
   fcc65ab173eb parisc: Fix double-word compare and exchange in LWS code on 32-bit kernels
   558ca24dc296 parisc: Avoid trashing sr2 and sr3 in LWS code
   6f0dee7d9c9b pkcs7: Prevent NULL pointer dereference, since sinfo is not always set.
   33dea302f9bc KEYS: don't let add_key() update an uninstantiated key
   503ef5c070a1 lib/digsig: fix dereference of NULL user_key_payload
   2b7e02267d3c KEYS: encrypted: fix dereference of NULL user_key_payload
   51ba40fcfd67 rtlwifi: rtl8821ae: Fix connection lost problem
   cffdaa65e72f clockevents/drivers/cs5535: Improve resilience to spurious interrupts
   b178c94efdfd bus: mbus: fix window size calculation for 4GB windows
   260b6739e8b7 brcmsmac: make some local variables 'static const' to reduce stack size
   efdcbffb2b16 i2c: ismt: Separate I2C block read from SMBus block read
   68c610776cfb ALSA: hda: Remove superfluous '-' added by printk conversion
   f9e937124ec2 ALSA: seq: Enable 'use' locking in all configurations
   4516069f1b05 drm/nouveau/mmu: flush tlbs before deleting page tables
   195674adee57 drm/nouveau/bsp/g92: disable by default
   4d56587c28d4 can: esd_usb2: Fix can_dlc value for received RTR, frames
   aa629364c0e3 usb: musb: Check for host-mode using is_host_active() on reset interrupt
   583a4219841d usb: musb: sunxi: Explicitly release USB PHY on exit
   d68b07a19a9e can: gs_usb: fix busy loop if no more TX context is available
   f7d8b2e150ee ALSA: usb-audio: Add native DSD support for Pro-Ject Pre Box S2 Digital
   67e25805e748 usb: hub: Allow reset retry for USB2 devices on connect bounce
   d012ab210f5f usb: quirks: add quirk for WORLDE MINI MIDI keyboard
   d729f29a291f usb: cdc_acm: Add quirk for Elatec TWN3
   4512d6503a4d USB: serial: metro-usb: add MS7820 device id
   9dff499d8226 USB: core: fix out-of-bounds access bug in usb_get_bos_descriptor()
   abe43c97cae2 USB: devio: Revert "USB: devio: Don't corrupt user memory"
   af9a9a7bed51 Linux 4.4.94
   401231d063c5 Revert "tty: goldfish: Fix a parameter of a call to free_irq"
   cdbbea7809ca cpufreq: CPPC: add ACPI_PROCESSOR dependency
   c2c6f43e023a nfsd/callback: Cleanup callback cred on shutdown
   429a4ac5895d target/iscsi: Fix unsolicited data seq_end_offset calculation
   823ba64c5719 uapi: fix linux/mroute6.h userspace compilation errors
   028a419869e3 uapi: fix linux/rds.h userspace compilation errors
   c7a20ed2951f ceph: clean up unsafe d_parent accesses in build_dentry_path
   c128baf6a1bc i2c: at91: ensure state is restored after suspending
   d7ecae726698 net: mvpp2: release reference to txq_cpu[] entry after unmapping
   693e6513b244 scsi: scsi_dh_emc: return success in clariion_std_inquiry()
   9ac38e30f2b0 slub: do not merge cache if slub_debug contains a never-merge flag
   315689d2e202 ocfs2/dlmglue: prepare tracking logic to avoid recursive cluster lock
   d3335f5653ec crypto: xts - Add ECB dependency
   02744a55ed38 net/mlx4_core: Fix VF overwrite of module param which disables DMFS on new probed PFs
   7bf94b9595cc sparc64: Migrate hvcons irq to panicked cpu
   d14591e83b49 md/linear: shutup lockdep warnning
   48ca88f93533 f2fs: do not wait for writeback in write_begin
   3109615b52ee Btrfs: send, fix failure to rename top level inode due to name collision
   4d134d830ea7 iio: adc: xilinx: Fix error handling
   5c65ed5c07d7 netfilter: nf_ct_expect: Change __nf_ct_expect_check() return value.
   743a3ce1e0fd net/mlx4_en: fix overflow in mlx4_en_init_timestamp()
   7ed668eeb851 mac80211: fix power saving clients handling in iwlwifi
   3e8c1a04d335 mac80211_hwsim: check HWSIM_ATTR_RADIO_NAME length
   4a464dacc23f irqchip/crossbar: Fix incorrect type of local variables
   7e53f0390dbd watchdog: kempld: fix gcc-4.3 build
   28eab3db727e locking/lockdep: Add nest_lock integrity test
   d44e463c9460 Revert "bsg-lib: don't free job in bsg_prepare_job"
   01e3e6315171 tipc: use only positive error codes in messages
   685699703a0a net: Set sk_prot_creator when cloning sockets to the right proto
   1299f7e17e9e packet: only test po->has_vnet_hdr once in packet_snd
   1b6c80e797ee packet: in packet_do_bind, test fanout with bind_lock held
   ee534927f0c0 tun: bail out from tun_get_user() if the skb is empty
   b5f689d94bc3 l2tp: fix race condition in l2tp_tunnel_delete
   110cf3dd4bcc l2tp: Avoid schedule while atomic in exit_net
   93040aa17862 vti: fix use after free in vti_tunnel_xmit/vti6_tnl_xmit
   d9cb4dc0221e isdn/i4l: fetch the ppp_write buffer in one shot
   1a4f1ecdb257 bpf: one perf event close won't free bpf program attached by another perf event
   5be6824b9704 packet: hold bind lock when rebinding to fanout hook
   aa90be3e1248 net: emac: Fix napi poll list corruption
   3483c65090dc ip6_gre: skb_push ipv6hdr before packing the header in ip6gre_header
   5356f7e40d23 udpv6: Fix the checksum computation when HW checksum does not apply
   2ec54b21dd7b bpf/verifier: reject BPF_ALU64|BPF_END
   dee4506f067a sctp: potential read out of bounds in sctp_ulpevent_type_enabled()
   9f5bbe694df1 MIPS: Fix minimum alignment requirement of IRQ stack
   c088f7bc3310 drm/dp/mst: save vcpi with payloads
   951ba9f6c8b9 percpu: make this_cpu_generic_read() atomic w.r.t. interrupts

(From OE-Core rev: ab748d3239b3b641bb9e26cc36afed7fad540748)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-28 10:14:01 +00:00
Bruce Ashfield
4dcd83a718 linux-yocto/4.9: fix aufs build
The aufs4 core code was missing some changes to build against
the 4.9 fs subsystem. This commit resyncs with the upstream
repo, and we can once again build against 4.9.

(From OE-Core rev: b530ab2d3ab28aded6ec86e6f8a6d9be45532361)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-28 10:14:01 +00:00
Bruce Ashfield
ff134d6e0b linux-yocto/4.9: update to v4.9.71
Integrating the korg stable updates that comprise the following
commits:

   b632d710149f Linux 4.9.71
   ed70a2212526 ath9k: fix tx99 potential info leak
   8f23eb16afd8 icmp: don't fail on fragment reassembly time exceeded
   2eb165b9fbb7 IB/ipoib: Grab rtnl lock on heavy flush when calling ndo_open/stop
   0c70b35bf158 RDMA/cma: Avoid triggering undefined behavior
   31eb4108e107 macvlan: Only deliver one copy of the frame to the macvlan interface
   b64ab3ca9d31 udf: Avoid overflow when session starts at large offset
   91e0cf85caea scsi: bfa: integer overflow in debugfs
   64da4e8d00f1 scsi: sd: change allow_restart to bool in sysfs interface
   1cafdac89191 scsi: sd: change manage_start_stop to bool in sysfs interface
   8315bcf841ae rtl8188eu: Fix a possible sleep-in-atomic bug in rtw_disassoc_cmd
   6641d3e307f5 rtl8188eu: Fix a possible sleep-in-atomic bug in rtw_createbss_cmd
   28e006e14ff9 vt6655: Fix a possible sleep-in-atomic bug in vt6655_suspend
   04d5a2d5d2d0 IB/core: Fix calculation of maximum RoCE MTU
   c744ecec01ae scsi: scsi_devinfo: Add REPORTLUN2 to EMC SYMMETRIX blacklist entry
   f39486bd37ee raid5: Set R5_Expanded on parity devices as well as data.
   4fdb10391bca pinctrl: adi2: Fix Kconfig build problem
   afeeff4d6156 usb: musb: da8xx: fix babble condition handling
   92ad6c13e17e tty fix oops when rmmod 8250
   421910e924b6 soc: mediatek: pwrap: fix compiler errors
   7745382fe86c powerpc/perf/hv-24x7: Fix incorrect comparison in memord
   ab9d25711493 scsi: hpsa: destroy sas transport properties before scsi_host
   1723d6668df5 scsi: hpsa: cleanup sas_phy structures in sysfs when unloading
   237e053346f1 PCI: Detach driver before procfs & sysfs teardown on device remove
   8f84f861f99c RDMA/cxgb4: Declare stag as __be32
   769bca9339f0 xfs: fix incorrect extent state in xfs_bmap_add_extent_unwritten_real
   c82209949bba xfs: fix log block underflow during recovery cycle verification
   fc4177eacfa6 l2tp: cleanup l2tp_tunnel_delete calls
   6a559523ee66 nvme: use kref_get_unless_zero in nvme_find_get_ns
   e2fce5a5578d platform/x86: hp_accel: Add quirk for HP ProBook 440 G4
   7fab68e1f730 btrfs: tests: Fix a memory leak in error handling path in 'run_test()'
   b7ada2c0ea29 arm64: prevent regressions in compressed kernel image size when upgrading to binutils 2.27
   52aaa748a948 Ib/hfi1: Return actual operational VLs in port info query
   9102ed6a5f6a bcache: fix wrong cache_misses statistics
   c2a0531f59c3 bcache: explicitly destroy mutex while exiting
   75f66eeae657 GFS2: Take inode off order_write list when setting jdata flag
   026ffaf65879 scsi: scsi_debug: write_same: fix error report
   d8914530f247 thermal/drivers/step_wise: Fix temperature regulation misbehavior
   019433db872f ASoC: rsnd: rsnd_ssi_run_mods() needs to care ssi_parent_mod
   cf16dac8bd98 ppp: Destroy the mutex when cleanup
   27f5597c9859 clk: tegra: Fix cclk_lp divisor register
   54809e38a629 clk: hi6220: mark clock cs_atb_syspll as critical
   47b63ea40ee1 clk: imx6: refine hdmi_isfr's parent to make HDMI work on i.MX6 SoCs w/o VPU
   d6b6302c36b5 clk: mediatek: add the option for determining PLL source clock
   2850c3ec0d25 mm: Handle 0 flags in _calc_vm_trans() macro
   18498f1c7089 crypto: tcrypt - fix buffer lengths in test_aead_speed()
   2ed46cbf23fc arm-ccn: perf: Prevent module unload while PMU is in use
   c843e9f8f97f xfs: truncate pagecache before writeback in xfs_setattr_size()
   03bfadfb0d79 iommu/amd: Limit the IOVA page range to the specified addresses
   cb0acb37010c badblocks: fix wrong return value in badblocks_set if badblocks are disabled
   dcdca123814c target/file: Do not return error for UNMAP if length is zero
   998201fdc5c9 target:fix condition return in core_pr_dump_initiator_port()
   a4f54ec403da iscsi-target: fix memory leak in lio_target_tiqn_addtpg()
   e086a82a926a target/iscsi: Fix a race condition in iscsit_add_reject_from_cmd()
   abc4b4420af8 platform/x86: intel_punit_ipc: Fix resource ioremap warning
   6e5a846d5172 powerpc/ipic: Fix status get and status clear
   d7e7c431d621 powerpc/opal: Fix EBUSY bug in acquiring tokens
   a463f9c5dfd1 netfilter: ipvs: Fix inappropriate output of procfs
   b3b6d1eea0de iommu/mediatek: Fix driver name
   9a4bf05126f4 PCI: Do not allocate more buses than available in parent
   29a404be7b30 powerpc/powernv/cpufreq: Fix the frequency read by /proc/cpuinfo
   f44d28e0348d PCI/PME: Handle invalid data when reading Root Status
   5a7192bc389e dmaengine: ti-dma-crossbar: Correct am335x/am43xx mux value type
   03a48dc96505 ASoC: Intel: Skylake: Fix uuid_module memory leak in failure case
   9146b10f8cd6 rtc: pcf8563: fix output clock rate
   cf53526f3312 video: fbdev: au1200fb: Return an error code if a memory allocation fails
   90e2591f6f3f video: fbdev: au1200fb: Release some resources if a memory allocation fails
   92c3c7db8336 video: udlfb: Fix read EDID timeout
   aecce5fc047a fbdev: controlfb: Add missing modes to fix out of bounds access
   0312ab0f0e43 sfc: don't warn on successful change of MAC
   da73389e8aa7 HID: cp2112: fix broken gpio_direction_input callback
   e15628b293a7 Revert "x86/acpi: Set persistent cpuid <-> nodeid mapping when booting"
   25b0b3f2373d target: fix race during implicit transition work flushes
   892e4f9bc2e2 target: fix ALUA transition timeout handling
   0d34f4770ea1 target: Use system workqueue for ALUA transitions
   8f60ef94477c btrfs: add missing memset while reading compressed inline extents
   5d460d359abe NFSv4.1 respect server's max size in CREATE_SESSION
   88af4e34771c efi/esrt: Cleanup bad memory map log messages
   e30b840d4668 perf symbols: Fix symbols__fixup_end heuristic for corner cases
   2a47e7de0822 tty: fix data race in tty_ldisc_ref_wait()
   70f450fc8610 tty: don't panic on OOM in tty_set_ldisc()
   3d57ec51d204 rxrpc: Ignore BUSY packets on old calls
   42b6d6e824d3 net: mpls: Fix nexthop alive tracking on down events
   fd27dbcae937 net/mlx4_core: Avoid delays during VF driver device shutdown
   65bfe003dceb nvmet-rdma: Fix a possible uninitialized variable dereference
   571e47760de5 nvmet: confirm sq percpu has scheduled and switched to atomic
   af0cee086b09 nvme-loop: fix a possible use-after-free when destroying the admin queue
   a8939aac82b0 afs: Fix abort on signal while waiting for call completion
   d43dda072544 afs: Fix afs_kill_pages()
   856bb4b609ee afs: Fix page leak in afs_write_begin()
   833acb3e09db afs: Populate and use client modification time
   a3e7a29abf0b afs: Better abort and net error handling
   ab2390611619 afs: Invalid op ID should abort with RXGEN_OPCODE
   972e7b7cbf5c afs: Fix the maths in afs_fs_store_data()
   9329ae4cb10e afs: Prevent callback expiry timer overflow
   7da1b85a75d4 afs: Migrate vlocation fields to 64-bit
   7286fad15704 afs: Flush outstanding writes when an fd is closed
   eaaad7646d3d afs: Deal with an empty callback array
   900048089cc1 afs: Adjust mode bits processing
   ba47c1597480 afs: Populate group ID from vnode status
   c250fae9ad4b afs: Fix missing put_page()
   b29c7b7c62d5 drm/radeon: reinstate oland workaround for sclk
   2a84fce9b039 mmc: mediatek: Fixed bug where clock frequency could be set wrong
   28714e962a71 sched/deadline: Use deadline instead of period when calculating overflow
   a2e29113f1ab sched/deadline: Throttle a constrained deadline task activated after the deadline
   9cc56a00eab7 sched/deadline: Make sure the replenishment timer fires in the next period
   0a4d4dac5e34 sched/deadline: Add missing update_rq_clock() in dl_task_timer()
   8d3a318194ec iwlwifi: mvm: cleanup pending frames in DQA mode
   a524bb57dd36 Drivers: hv: util: move waiting for release to hv_utils_transport itself
   da626b13ce32 drm/radeon/si: add dpm quirk for Oland
   1867eb805091 fjes: Fix wrong netdevice feature flags
   91510a623baa scsi: hpsa: do not timeout reset operations
   0f07e7611184 scsi: hpsa: limit outstanding rescans
   c81410a4353d scsi: hpsa: update check for logical volume status
   8652baa5a31d ASoC: rcar: clear DE bit only in PDMACHCR when it stops
   fd2530a4ee62 openrisc: fix issue handling 8 byte get_user calls
   18b39b61b2c6 intel_th: pci: Add Gemini Lake support
   3544f57578a6 drm: amd: remove broken include path
   4c9c0971271d qed: Fix interrupt flags on Rx LL2
   ac04ab9624b5 qed: Fix mapping leak on LL2 rx flow
   8de6d7b28d2f qed: Align CIDs according to DORQ requirement
   fddc3df7647e mlxsw: reg: Fix SPVMLR max record count
   4c8b4e60b575 mlxsw: reg: Fix SPVM max record count
   6c548e90a0bc net: Resend IGMP memberships upon peer notification.
   889163d75fe5 irqchip/mvebu-odmi: Select GENERIC_MSI_IRQ_DOMAIN
   e30ccb5f1c7e dmaengine: Fix array index out of bounds warning in __get_unmap_pool()
   46cbe3f51c51 net: wimax/i2400m: fix NULL-deref at probe
   2e70c4d5de87 writeback: fix memory leak in wb_queue_work()
   d28046fb8c43 blk-mq: Fix tagset reinit in the presence of cpu hot-unplug
   143d13d1e6c0 ASoC: rsnd: fix sound route path when using SRC6/SRC9
   97b75dad9dd1 netfilter: bridge: honor frag_max_size when refragmenting
   38780b9ae45a drm/omap: fix dmabuf mmap for dma_alloc'ed buffers
   8fb782bbd212 Input: i8042 - add TUXEDO BU1406 (N24_25BU) to the nomux list
   817f60ccf72c NFSD: fix nfsd_reset_versions for NFSv4.
   0154269f9c12 NFSD: fix nfsd_minorversion(.., NFSD_AVAIL)
   063c753ef78b drm/amdgpu: fix parser init error path to avoid crash in parser fini
   3d40364d333e iommu/io-pgtable-arm-v7s: Check for leaf entry before dereferencing it
   721c136ac278 net/mlx5: Don't save PCI state when PCI error is detected
   248cbd97be81 net/mlx5: Fix create autogroup prev initializer
   515d78dc0a89 rxrpc: Wake up the transmitter if Rx window size increases on the peer
   e85b9bc29b04 net: bcmgenet: Power up the internal PHY before probing the MII
   f9ac24794f2e net: bcmgenet: synchronize irq0 status between the isr and task
   4c3727f6add5 net: bcmgenet: power down internal phy if open or resume fails
   66e522ab02cc net: bcmgenet: reserved phy revisions must be checked first
   dc8d63c43af0 net: bcmgenet: correct MIB access of UniMAC RUNT counters
   bb5c42a5b1d2 net: bcmgenet: correct the RBUF_OVFL_CNT and RBUF_ERR_CNT MIB values
   72cd0c3f6616 bnxt_en: Ignore 0 value in autoneg supported speed from firmware.
   ae0ebdba9667 net: initialize msg.msg_flags in recvfrom
   6783015096dc userfaultfd: selftest: vm: allow to build in vm/ directory
   275314e90c5e userfaultfd: shmem: __do_fault requires VM_FAULT_NOPAGE
   9bcd15bdfb61 md-cluster: free md_cluster_info if node leave cluster
   9841d7b08ff6 usb: xhci-mtk: check hcc_params after adding primary hcd
   215df1f35542 KVM: nVMX: do not warn when MSR bitmap address is not backed
   50fc2d4152fb usb: phy: isp1301: Add OF device ID table
   bf864220a59c mac80211: Fix addition of mesh configuration element
   32e2ae03283b ext4: fix crash when a directory's i_size is too small
   6a851bb99e5c ext4: fix fdatasync(2) after fallocate(2) operation
   679dbeac0b6b dmaengine: dmatest: move callback wait queue to thread context
   744cb5ab3372 eeprom: at24: change nvmem stride to 1
   d266817f5028 sched/rt: Do not pull from current CPU if only one CPU to pull
   9c537f06d61a nfs: don't wait on commit in nfs_commit_inode() if there were no commit requests
   3bdb508d686e xhci: Don't add a virt_dev to the devs array before it's fully allocated
   7336f5481f6c Bluetooth: btusb: driver to enable the usb-wakeup feature
   cdfe4c0091a8 usb: xhci: fix TDS for MTK xHCI1.1
   e081bd0d70bd ceph: drop negative child dentries before try pruning inode's alias
   14513e49c43c usbip: fix stub_send_ret_submit() vulnerability to null transfer_buffer
   f3e957266ae5 usbip: fix stub_rx: harden CMD_SUBMIT path to handle malicious input
   b6dbace92ed7 usb: add helper to extract bits 12:11 of wMaxPacketSize
   20e825cdf7a1 usbip: fix stub_rx: get_pipe() to validate endpoint number
   99542e468b76 USB: core: prevent malicious bNumInterfaces overflow
   0d29ae4f5033 USB: uas and storage: Add US_FL_BROKEN_FUA for another JMicron JMS567 ID
   d760f9034195 tracing: Allocate mask_str buffer dynamically
   d1175423ce67 autofs: fix careless error in recent commit
   c32e053a11f2 crypto: salsa20 - fix blkcipher_walk API usage
   43259d07fceb crypto: hmac - require that the underlying hash algorithm is unkeyed
   cd9b59861f9c crypto: rsa - fix buffer overread when stripping leading zeroes
   1fb73eae9624 mfd: fsl-imx25: Clean up irq settings during removal
   ee52d08d2e09 Linux 4.9.70
   349130bb0391 RDMA/cxgb4: Annotate r2 and stag as __be32
   b7d3f2b5dca9 md: free unused memory after bitmap resize
   93dedcf5a177 audit: ensure that 'audit=1' actually enables audit for PID 1
   a625a16c8aea ipvlan: fix ipv6 outbound device
   97c668702126 kbuild: do not call cc-option before KBUILD_CFLAGS initialization
   eae3f3ab7fb3 powerpc/64: Fix checksum folding in csum_tcpudp_nofold and ip_fast_csum_nofold
   9414a6309c72 KVM: arm/arm64: vgic-its: Preserve the revious read from the pending table
   80c0f4777fd6 fix kcm_clone()
   16648cbcd332 usb: gadget: ffs: Forbid usb_ep_alloc_request from sleeping
   47273f0d398d s390: always save and restore all registers on context switch
   f8dac5bfbd8e ipmi: Stop timers before cleaning up the module
   0cab694ab7bc Fix handling of verdicts after NF_QUEUE
   cf00fd3d526c tipc: call tipc_rcv() only if bearer is up in tipc_udp_recv()
   0cfe6df93834 s390/qeth: fix thinko in IPv4 multicast address tracking
   1d55222b14bd s390/qeth: fix GSO throughput regression
   fbf0dfe7ad9f s390/qeth: build max size GSO skbs on L2 devices
   aa0080f1ad08 tcp/dccp: block bh before arming time_wait timer
   30985e3beb73 stmmac: reset last TSO segment size after device open
   564fe3e0e95e net: remove hlist_nulls_add_tail_rcu()
   80ad5bd1b45f usbnet: fix alignment for frames with no ethernet header
   5471afeef413 net/packet: fix a race in packet_bind() and packet_notifier()
   30c573affac8 packet: fix crash in fanout_demux_rollover()
   5f218c3fd11a sit: update frag_off info
   3259862dd73b rds: Fix NULL pointer dereference in __rds_rdma_map
   96b4a8ac9a55 tipc: fix memory leak in tipc_accept_from_sock()
   20610f5bbd23 s390/qeth: fix early exit from error path
   32436bf375b0 net: qmi_wwan: add Quectel BG96 2c7c:0296
   c91efc7862b3 Linux 4.9.69
   15b175223e53 afs: Connect up the CB.ProbeUuid
   9048b2420e32 IB/mlx5: Assign send CQ and recv CQ of UMR QP
   06fea09c0959 IB/mlx4: Increase maximal message size under UD QP
   6ceabde66643 xfrm: Copy policy family in clone_policy
   74b470ce478a jump_label: Invoke jump_label_test() via early_initcall()
   22d2456faefa atm: horizon: Fix irq release error
   c488c2e141bc clk: uniphier: fix DAPLL2 clock rate of Pro5
   f45f4f8a7cd8 bpf: fix lockdep splat
   9904da5a09ce sctp: use the right sk after waking up from wait_buf sleep
   1158ecd51ec1 sctp: do not free asoc when it is already dead in sctp_sendmsg
   1618400444d0 zsmalloc: calling zs_map_object() from irq is a bug
   7da67d1d98f6 sparc64/mm: set fields in deferred pages
   1a5a4c6e868f block: wake up all tasks blocked in get_request()
   c31bfe7de243 dt-bindings: usb: fix reg-property port-number range
   1eeb1edfd3c9 xfs: fix forgotten rcu read unlock when skipping inode reclaim
   acbe10423b1a sunrpc: Fix rpc_task_begin trace point
   509e9b805c52 NFS: Fix a typo in nfs_rename()
   a780a728475d dynamic-debug-howto: fix optional/omitted ending line number to be LARGE instead of 0
   a77c11607593 lib/genalloc.c: make the avail variable an atomic_long_t
   e9672477a5f0 drivers/rapidio/devices/rio_mport_cdev.c: fix resource leak in error handling path in 'rio_dma_transfer()'
   007e20bd0fdd route: update fnhe_expires for redirect when the fnhe exists
   7c4fa0c1c9ca route: also update fnhe_genid when updating a route cache
   2388d52d7256 gre6: use log_ecn_error module parameter in ip6_tnl_rcv()
   6a8ab06660dc mac80211_hwsim: Fix memory leak in hwsim_new_radio_nl()
   0965ed575190 x86/mpx/selftests: Fix up weird arrays
   b96d06e6d6e0 coccinelle: fix parallel build with CHECK=scripts/coccicheck
   55042e28b985 kbuild: pkg: use --transform option to prefix paths in tar
   7290cfeb4436 EDAC, i5000, i5400: Fix definition of NRECMEMB register
   62c12d671c49 EDAC, i5000, i5400: Fix use of MTR_DRAM_WIDTH macro
   d28faebe8b09 powerpc/powernv/ioda2: Gracefully fail if too many TCE levels requested
   92527dc32a69 drm/amd/amdgpu: fix console deadlock if late init failed
   e8d5b115c6ea axonram: Fix gendisk handling
   8818eb851c2d netfilter: don't track fragmented packets
   36a14374b568 zram: set physical queue limits to avoid array out of bounds accesses
   bc8859174d98 blk-mq: initialize mq kobjects in blk_mq_init_allocated_queue()
   567df7459e12 i2c: riic: fix restart condition
   e46126e51ee8 crypto: s5p-sss - Fix completing crypto request in IRQ handler
   05a59bc2f3c0 ipv6: reorder icmpv6_init() and ip6_mr_init()
   f191e15e4acd ibmvnic: Allocate number of rx/tx buffers agreed on by firmware
   f3b1f93ed23b ibmvnic: Fix overflowing firmware/hardware TX queue
   742e67d2b7ee rds: tcp: Sequence teardown of listen and acceptor sockets to avoid races
   d8f147ac75bb bnx2x: do not rollback VF MAC/VLAN filters we did not configure
   cdef3be8c7bb bnx2x: fix detection of VLAN filtering feature for VF
   f73fcb25f4bb bnx2x: fix possible overrun of VFPF multicast addresses array
   ae6b3452faf7 bnx2x: prevent crash when accessing PTP with interface down
   c72c7f244265 spi_ks8995: regs_size incorrect for some devices
   1ace4dabf624 spi_ks8995: fix "BUG: key accdaa28 not in .data!"
   b1f71147a188 KVM: arm/arm64: VGIC: Fix command handling while ITS being disabled
   aafb72d2ed55 arm64: KVM: Survive unknown traps from guests
   5e366aaec185 arm: KVM: Survive unknown traps from guests
   c886f281b9e0 KVM: nVMX: reset nested_run_pending if the vCPU is going to be reset
   54e1ae1f21f5 irqchip/crossbar: Fix incorrect type of register size
   d32c4dedcc6d scsi: lpfc: Fix crash during Hardware error recovery on SLI3 adapters
   1e7208d75928 scsi: qla2xxx: Fix ql_dump_buffer
   757e1845d6c3 workqueue: trigger WARN if queue_delayed_work() is called with NULL @wq
   da6a95b0ef82 libata: drop WARN from protocol error in ata_sff_qc_issue()
   29deec403d56 kvm: nVMX: VMCLEAR should not cause the vCPU to shut down
   2afb2d892c1d usb: gadget: udc: net2280: Fix tmp reusage in net2280 driver
   82f79a4423fc usb: gadget: pxa27x: Test for a valid argument pointer
   7abf66d78e89 usb: dwc3: gadget: Fix system suspend/resume on TI platforms
   8fe9ea81b1e9 USB: gadgetfs: Fix a potential memory leak in 'dev_config()'
   59682e70c980 usb: gadget: configs: plug memory leak
   881b5d4841fc HID: chicony: Add support for another ASUS Zen AiO keyboard
   1bc827aabc70 gpio: altera: Use handle_level_irq when configured as a level_high
   c7c866711799 ASoC: rcar: avoid SSI_MODEx settings for SSI8
   202c73946455 ARM: OMAP2+: Release device node after it is no longer needed.
   d3954c5ced8e ARM: OMAP2+: Fix device node reference counts
   4aff02804715 powerpc/64: Fix checksum folding in csum_add()
   d57cb693c592 module: set __jump_table alignment to 8
   f348a1030eb6 lirc: fix dead lock between open and wakeup_filter
   7ae7408c4352 powerpc: Fix compiling a BE kernel with a powerpc64le toolchain
   cd662c8e51a1 selftest/powerpc: Fix false failures for skipped tests
   0bf8f6e7205a powerpc/64: Invalidate process table caching after setting process table
   8c6ebeb4087e x86/hpet: Prevent might sleep splat on resume
   4e4a9ebe33a6 sched/fair: Make select_idle_cpu() more aggressive
   29dc610cfc7c x86/platform/uv/BAU: Fix HUB errors by remove initial write to sw-ack register
   b2cb09597b1f x86/selftests: Add clobbers for int80 on x86_64
   93247ff1fafe ARM: OMAP2+: gpmc-onenand: propagate error on initialization failure
   f14f6fabfb54 vti6: Don't report path MTU below IPV6_MIN_MTU.
   5d4d0a95437e ARM: 8657/1: uaccess: consistently check object sizes
   7c4615c853fa Revert "spi: SPI_FSL_DSPI should depend on HAS_DMA"
   b6c15a7c6e79 Revert "drm/armada: Fix compile fail"
   6a53078b9357 mm: drop unused pmdp_huge_get_and_clear_notify()
   c2edc33d4abf thp: fix MADV_DONTNEED vs. numa balancing race
   7bdd685cef4b thp: reduce indentation level in change_huge_pmd()
   5bcb9c842a53 ARM: avoid faulting on qemu
   6192f870abf2 ARM: BUG if jumping to usermode address in kernel mode
   112b8a8f558d usb: f_fs: Force Reserved1=1 in OS_DESC_EXT_COMPAT
   47ab72034e9d crypto: talitos - fix ctr-aes-talitos
   24ab6e7f6b61 crypto: talitos - fix use of sg_link_tbl_len
   6bf30e664221 crypto: talitos - fix AEAD for sha224 on non sha224 capable chips
   552f74cbd6ec crypto: talitos - fix setkey to check key weakness
   5272b0e1c382 crypto: talitos - fix memory corruption on SEC2
   bde6667a7df1 crypto: talitos - fix AEAD test failures
   3f0597ae9a38 bus: arm-ccn: fix module unloading Error: Removing state 147 which has instances left.
   793eed33da5f bus: arm-ccn: Fix use of smp_processor_id() in preemptible context
   595aca74c67a bus: arm-ccn: Check memory allocation failure
   a0a2f97d0375 bus: arm-cci: Fix use of smp_processor_id() in preemptible context
   a39224199e97 arm64: fpsimd: Prevent registers leaking from dead tasks
   7df3dbef3dd5 KVM: arm/arm64: vgic-its: Check result of allocation before use
   42c3f4c55f10 KVM: arm/arm64: vgic-irqfd: Fix MSI entry allocation
   cf6668d57a26 KVM: arm/arm64: Fix broken GICH_ELRSR big endian conversion
   6ead44d4b5b8 KVM: VMX: remove I/O port 0x80 bypass on Intel hosts
   6ed459712e26 arm: KVM: Fix VTTBR_BADDR_MASK BUG_ON off-by-one
   63fba9ff76f0 arm64: KVM: fix VTTBR_BADDR_MASK BUG_ON off-by-one
   730810d92327 media: dvb: i2c transfers over usb cannot be done from stack
   4f128c8aa35b drm/exynos: gem: Drop NONCONTIG flag for buffers allocated without IOMMU
   30b18ee253a0 kdb: Fix handling of kallsyms_symbol_next() return value
   4a70f07da853 brcmfmac: change driver unbind order of the sdio function devices
   8950c982fffd powerpc/64s: Initialize ISAv3 MMU registers before setting partition table
   ffb17c0cce84 KVM: s390: Fix skey emulation permission check
   bd6a7055b84b s390: fix compat system call table
   ff3d4fd5374f smp/hotplug: Move step CPUHP_AP_SMPCFD_DYING to the correct place
   e17f2b51617d iommu/vt-d: Fix scatterlist offset handling
   173c8c346587 ALSA: usb-audio: Add check return value for usb_string()
   c40457c952ec ALSA: usb-audio: Fix out-of-bound error
   20ca63e0968e ALSA: seq: Remove spurious WARN_ON() at timer check
   45ddff3ce4e9 ALSA: pcm: prevent UAF in snd_pcm_info
   8974b0320cc8 btrfs: fix missing error return in btrfs_drop_snapshot
   9cf0eaf88d74 KVM: x86: fix APIC page invalidation
   6662a55fa6eb x86/PCI: Make broadcom_postcore_init() check acpi_disabled
   3d4696248c08 X.509: fix comparisons of ->pkey_algo
   d4f134700c20 X.509: reject invalid BIT STRING for subjectPublicKey
   982707eb4ff8 KEYS: add missing permission check for request_key() destination
   44acfcb6dd73 ASN.1: check for error from ASN1_OP_END__ACT actions
   608845ad4986 ASN.1: fix out-of-bounds read when parsing indefinite length item
   8b5106e1d22c efi/esrt: Use memunmap() instead of kfree() to free the remapping
   29c3b7a85409 efi: Move some sysfs files to be read-only by root
   35b4bfbda54b scsi: libsas: align sata_device's rps_resp on a cacheline
   326ebe77f0c5 scsi: use dma_get_cache_alignment() as minimum DMA alignment
   4cb4d78c57f8 scsi: dma-mapping: always provide dma_get_cache_alignment
   1db069c057a1 isa: Prevent NULL dereference in isa_bus driver callbacks
   3aa6d7f8542e hv: kvp: Avoid reading past allocated blocks from KVP file
   893fab0c338b virtio: release virtio index when fail to device_register
   4b4e6f675846 can: usb_8dev: cancel urb on -EPIPE and -EPROTO
   0cdac09e6aee can: esd_usb2: cancel urb on -EPIPE and -EPROTO
   d3b72254789f can: ems_usb: cancel urb on -EPIPE and -EPROTO
   4665483e4797 can: kvaser_usb: cancel urb on -EPIPE and -EPROTO
   d724a677f0c1 can: kvaser_usb: ratelimit errors if incomplete messages are received
   561384a9cf17 can: kvaser_usb: Fix comparison bug in kvaser_usb_read_bulk_callback()
   f89682bb3cf2 can: kvaser_usb: free buf in error paths
   6a3a713880a5 can: ti_hecc: Fix napi poll return value for repoll
   fbe9a14180d6 usb: gadget: udc: renesas_usb3: fix number of the pipes
   3781db07c79e Linux 4.9.68
   3671e6728f79 xen-netfront: avoid crashing on resume after a failure in talk_to_netback()
   08dd03812e8b usb: host: fix incorrect updating of offset
   20c315ebabc5 USB: usbfs: Filter flags passed in from user space
   545c10375330 USB: devio: Prevent integer overflow in proc_do_submiturb()
   d6ab871c432d USB: Increase usbfs transfer limit
   05ffc7ed5527 USB: core: Add type-specific length check of BOS descriptors
   34ba2f04a480 usb: xhci: fix panic in xhci_free_virt_devices_depth_first
   e328dff288e6 usb: hub: Cycle HUB power when initialization fails
   0af23e49316d dma-buf: Update kerneldoc for sync_file_create
   3a83421d482e dma-buf/sync_file: hold reference to fence when creating sync_file
   424bdc5df002 dma-buf/sw_sync: force signal all unsignaled fences on dying timeline
   f5e0724e76c2 dma-fence: Introduce drm_fence_set_error() helper
   d3b029a44e14 dma-fence: Wrap querying the fence->status
   f55d17e9c3af dma-fence: Clear fence->status during dma_fence_init()
   9ae85fabdfc0 dma-buf/sw_sync: clean up list before signaling the fence
   4496b88c0674 dma-buf/sw_sync: move timeline_fence_ops around
   db767404ad09 dma-buf/sw-sync: Use an rbtree to sort fences in the timeline
   e82ecb230924 dma-buf/sw-sync: Fix locking around sync_timeline lists
   1bf0b23c07f1 dma-buf/sw-sync: sync_pt is private and of fixed size
   f14ad42b8743 dma-buf/sw-sync: Reduce irqsave/irqrestore from known context
   985b5b238436 dma-buf/sw-sync: Prevent user overflow on timeline advance
   fc839ecb8eda dma-buf/sw-sync: Fix the is-signaled test to handle u32 wraparound
   b53525eaac55 dma-buf/dma-fence: Extract __dma_fence_is_later()
   c13a05a8017b net: fec: fix multicast filtering hardware setup
   a767c866735c xen-netback: vif counters from int/long to u64
   959b8e0ba293 cec: initiator should be the same as the destination for, poll
   017a499be574 xen-netfront: Improve error handling during initialization
   c93c09a057b7 mm: avoid returning VM_FAULT_RETRY from ->page_mkwrite handlers
   3e550debcf75 vfio/spapr: Fix missing mutex unlock when creating a window
   6129fd988225 be2net: fix initial MAC setting
   6a9ffb5a87d8 net: thunderx: avoid dereferencing xcv when NULL
   3325615d2b50 net: phy: micrel: KSZ8795 do not set SUPPORTED_[Asym_]Pause
   c8d6f83d3b6e gtp: fix cross netns recv on gtp socket
   d812be828832 gtp: clear DF bit on GTP packet tx
   3976dd677e89 nvmet: cancel fatal error and flush async work before free controller
   6bd89953fb1f i2c: i2c-cadence: Initialize configuration before probing devices
   fe8bdc9b79ee tcp: correct memory barrier usage in tcp_check_space()
   49c3164e6d84 dmaengine: pl330: fix double lock
   aad54ba21dd8 tipc: fix cleanup at module unload
   6313adb8de02 tipc: fix nametbl_lock soft lockup at module exit
   e8240244880b RDMA/qedr: Fix RDMA CM loopback
   8d4198f8c66b RDMA/qedr: Return success when not changing QP state
   dee48e57ae22 mac80211: don't try to sleep in rate_control_rate_init()
   cab00a9c16c0 drm/amdgpu: fix unload driver issue for virtual display
   b75e47cf8439 x86/fpu: Set the xcomp_bv when we fake up a XSAVES area
   05071c058d20 net: sctp: fix array overrun read on sctp_timer_tbl
   2001ccb4dea4 drm/exynos/decon5433: set STANDALONE_UPDATE_F on output enablement
   4ee340c06bf2 drm/amdgpu: fix bug set incorrect value to vce register
   d8a544c92087 qla2xxx: Fix wrong IOCB type assumption
   57e76dbbc560 powerpc/mm: Fix memory hotplug BUG() on radix
   a88ff235e8ad perf/x86/intel: Account interrupts for PEBS errors
   72232a3bc5df NFSv4: Fix client recovery when server reboots multiple times
   cda72bbb7bac mac80211: prevent skb/txq mismatch
   ee01c59bf838 KVM: arm/arm64: Fix occasional warning from the timer work function
   72afbf76344f drm/exynos/decon5433: set STANDALONE_UPDATE_F also if planes are disabled
   cca6bca00973 drm/exynos/decon5433: update shadow registers iff there are active windows
   9f800573a31b nfs: Don't take a reference on fl->fl_file for LOCK operation
   c682ae717759 ravb: Remove Rx overflow log messages
   bc13325a2410 mac80211: calculate min channel width correctly
   fae478cd9311 mm: fix remote numa hits statistics
   71ab86262b66 net: qrtr: Mark 'buf' as little endian
   c4081f91981b libfs: Modify mount_pseudo_xattr to be clear it is not a userspace mount
   d9a4e70f23c3 net/appletalk: Fix kernel memory disclosure
   e3a252a9924c be2net: fix unicast list filling
   b4c3022e673a be2net: fix accesses to unicast list
   105b403ba0de vti6: fix device register to report IFLA_INFO_KIND
   08bd389c9ef8 ARM: OMAP1: DMA: Correct the number of logical channels
   9a777021eeb4 ARM: OMAP2+: Fix WL1283 Bluetooth Baud Rate
   a97b72427e5f net: systemport: Pad packet before inserting TSB
   bcc7511ef256 net: systemport: Utilize skb_put_padto()
   30bd002c454a libcxgb: fix error check for ip6_route_output()
   5eb97be87981 usb: gadget: f_fs: Fix ExtCompat descriptor validation
   7468e767d8f2 dmaengine: stm32-dma: Fix null pointer dereference in stm32_dma_tx_status
   000e7180633f dmaengine: stm32-dma: Set correct args number for DMA request from DT
   d2d74d0e58b2 l2tp: take remote address into account in l2tp_ip and l2tp_ip6 socket lookups
   55c050ae5165 net/mlx4_en: Fix type mismatch for 32-bit systems
   771c831c1bde dax: Avoid page invalidation races and unnecessary radix tree traversals
   2383ba62b535 iio: adc: ti-ads1015: add 10% to conversion wait time
   7aa534b8a33f tools include: Do not use poison with C++
   a65f24aac76b kprobes/x86: Disable preemption in ftrace-based jprobes
   a730e156bb75 perf test attr: Fix ignored test case result
   8f6e33aad048 usbip: tools: Install all headers needed for libusbip development
   5840a285a1a2 sysrq : fix Show Regs call trace on ARM
   7f44b524a0ad EDAC, sb_edac: Fix missing break in switch
   61b7a6f1cea3 x86/entry: Use SYSCALL_DEFINE() macros for sys_modify_ldt()
   a816a7e1e70b serial: 8250: Preserve DLD[7:4] for PORT_XR17V35X
   68dfd4dd0900 usb: phy: tahvo: fix error handling in tahvo_usb_probe()
   de139e81d350 mmc: sdhci-msm: fix issue with power irq
   e042fd0f0318 spi: spi-axi: fix potential use-after-free after deregistration
   b3d7cc5a84b4 spi: sh-msiof: Fix DMA transfer size check
   ee08fca9a14d staging: rtl8188eu: avoid a null dereference on pmlmepriv
   946d33e1e6cd serial: 8250_fintek: Fix rs485 disablement on invalid ioctl()
   510f6573ef5d m68k: fix ColdFire node shift size calculation
   e5f2421df135 staging: greybus: loopback: Fix iteration count on async path
   8a95afc48576 selftests/x86/ldt_get: Add a few additional tests for limits
   63074a793d69 s390/pci: do not require AIS facility
   b0a46089fe81 ima: fix hash algorithm initialization
   e4f12192d9e2 USB: serial: option: add Quectel BG96 id
   232b47b3c88a s390/runtime instrumentation: simplify task exit handling
   65e6599937d1 serial: 8250_pci: Add Amazon PCI serial device ID
   6ad14c9c646b usb: quirks: Add no-lpm quirk for KY-688 USB 3.1 Type-C Hub
   3789201628f5 uas: Always apply US_FL_NO_ATA_1X quirk to Seagate devices
   ee23ae915fa7 mm, oom_reaper: gather each vma to prevent leaking TLB entry
   0de12a778b92 Revert "crypto: caam - get rid of tasklet"
   cffc01d24d25 drm/fsl-dcu: enable IRQ before drm_atomic_helper_resume()
   48f4d1f7fe48 drm/fsl-dcu: avoid disabling pixel clock twice on suspend
   9db9b5f2b1b6 bcache: recover data from backing when data is clean
   322e659a03dc bcache: only permit to recovery read error when cache device is clean
   284bbc782445 Linux 4.9.67
   f990312aaa74 drm/i915: Prevent zero length "index" write
   838cdb26a538 drm/i915: Don't try indexed reads to alternate slave addresses
   daf3a68d5282 NFS: revalidate "." etc correctly on "open".
   a11ca51bf70c Revert "x86/entry/64: Add missing irqflags tracing to native_load_gs_index()"
   fb541279bbe0 drm/amd/pp: fix typecast error in powerplay.
   5b1c8c96dfab drm/ttm: once more fix ttm_buffer_object_transfer
   44df87e6dfad drm/hisilicon: Ensure LDI regs are properly configured.
   25abe3a9585e drm/panel: simple: Add missing panel_simple_unprepare() calls
   3405805db8bb drm/radeon: fix atombios on big endian
   9cd48ba5fc9d drm/amdgpu: Potential uninitialized variable in amdgpu_vm_update_directories()
   d316675a9da4 drm/amdgpu: potential uninitialized variable in amdgpu_vce_ring_parse_cs()
   b0f63389dab9 Revert "drm/radeon: dont switch vt on suspend"
   f425b050254e nvme-pci: add quirk for delay before CHK RDY for WDC SN200
   eafbee43b7ec hwmon: (jc42) optionally try to disable the SMBUS timeout
   8588eb0ce6a6 bcache: Fix building error on MIPS
   53cf83b3c734 i2c: i801: Fix Failed to allocate irq -2147483648 error
   19699abea321 eeprom: at24: check at24_read/write arguments
   d3da2efa6d9d eeprom: at24: correctly set the size for at24mac402
   388d8c9fa371 eeprom: at24: fix reading from 24MAC402/24MAC602
   c814d6701b08 mmc: core: prepend 0x to OCR entry in sysfs
   0bf4d0517667 mmc: core: Do not leave the block driver in a suspended state
   9aad75786e3d KVM: lapic: Fixup LDR on load in x2apic
   e02746e22d24 KVM: lapic: Split out x2apic ldr calculation
   67945527ee24 KVM: x86: inject exceptions produced by x86_decode_insn
   c0a4c22aad0f KVM: x86: Exit to user-mode on #UD intercept when emulator requires
   f5477da6c3b0 KVM: x86: pvclock: Handle first-time write to pvclock-page contains random junk
   e18a963b36a0 ARM: OMAP2+: Fix WL1283 Bluetooth Baud Rate
   dc554abdaee4 mfd: twl4030-power: Fix pmic for boards that need vmmc1 on reboot
   aa1a6cf1586b nfsd: fix panic in posix_unblock_lock called from nfs4_laundromat
   1c4042591644 nfsd: Fix another OPEN stateid race
   1c8ea4145097 nfsd: Fix stateid races between OPEN and CLOSE
   c251267c8826 btrfs: clear space cache inode generation always
   ba32d7dce43f mm/madvise.c: fix madvise() infinite loop under special circumstances
   cebe139e5712 mm, hugetlbfs: introduce ->split() to vm_operations_struct
   436f19a2e49e mm/cma: fix alloc_contig_range ret code/potential leak
   7031ae2ab37d mm, thp: Do not make page table dirty unconditionally in touch_p[mu]d()
   29bd7003134a ARM: dts: omap3: logicpd-torpedo-37xx-devkit: Fix MMC1 cd-gpio
   64e916dea413 ARM: dts: LogicPD Torpedo: Fix camera pin mux

(From OE-Core rev: e719fb731a89155e1e42324be932b1d15deaa9d3)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-28 10:14:01 +00:00
Richard Purdie
c23734c45f gcc: Upgrade 7.2 -> 7.3
The static PIE patch was updated by Juro Bystricky <juro.bystricky@intel.com>
to work with gcc 7.3.

This update from the stable gcc 7 branch includes the retpoline
functionality which is useful to assist with recent security issues.

Two backported patches were dropped as they're included in 7.3.

(From OE-Core rev: 99b1998157ecbd2bc8ac7c24fae859d48b152f58)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-28 10:14:01 +00:00
Ross Burton
c770664d31 lz4: remove ptest changes
This recipe installs the test suite by copying the entire build tree into
/usr/share/ptest, which is both wasteful and breaks packaging as lz4-ptest then
gets renamed by debian.bbclass to liblz4.

(From OE-Core rev: 68a3f33027b9ee5ed53a47dd839fc407dcbbaee9)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-25 11:36:25 +00:00
Alexander Kanavin
3af416deac lz4: fix upstream version check
(From OE-Core rev: a3eb3280cc0f33491cdc478086e4cfcd5ecc52d6)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-25 11:36:25 +00:00
Armin Kuster
850df2c3a8 glibc: Security fix CVE-2017-17426
affects < 2.27
including current mastet git hash: 77f921dac17c5fa99bd9e926d926c327982895f7

(From OE-Core rev: 050fecc47c84e1a052a6e33414fbcfeef1e59f7a)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-25 11:36:25 +00:00
Armin Kuster
334ddc5c78 glibc: Security Fix CVE-2017-16997
Affect glibc < 2.27
including current master glibc hash: 77f921dac17c5fa99bd9e926d926c327982895f7

(From OE-Core rev: bcf148d95015d32104b2b7ad318ab943f2c27374)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-25 11:36:25 +00:00
S. Lockwood-Childs
1f5a2a92f8 glibc: fix C++ compile failures related to 'assert'
* fixes "lambda-expression in unevaluated context" compile failures such as
  https://github.com/nlohmann/json/issues/705

* fixes "no match for 'operator==" compile failures such as
  https://bugzilla.redhat.com/show_bug.cgi?id=1482990

(From OE-Core rev: ecc789663fe83b388ecdf1b0958a2990773f7487)

Signed-off-by: S. Lockwood-Childs <sjl@vctlabs.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d9583296be58f02912abc4fd19f576b3f89107ff)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-25 11:36:25 +00:00
Armin Kuster
0aaf7b828d glibc: Security fix CVE-2017-15671
affects glibc < 2.27
only glibc in current master hash: 77f921dac17c5fa99bd9e926d926c327982895f7

(From OE-Core rev: b12c8f02bbd637ef05ad1518494d666c55eaf544)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-25 11:36:25 +00:00
Armin Kuster
1c27271cdd glibc: Security fix CVE-2017-15670
The GNU C Library (aka glibc or libc6) before 2.27 contains an off-by-one error leading to a heap-based buffer overflow in the glob function in glob.c, related to the processing of home directories using the ~ operator followed by a long string.

Affects: glibc < 2.27

v2]
capitlize "signed-off-by" in patch

(From OE-Core rev: a29cb640e3c0ca77ea232b89b89900cb55fa727c)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-25 11:36:25 +00:00
Richard Purdie
a03c452917 populate_sdk_ext: Set cleandirs correctly
The current conflicting use of SDKDEPLOYDIR causes a race between do_populate_sdk
and do_populate_sdk_ext potentially causing the SDK to either go missing or the
build to fail.

(From OE-Core rev: 4de3daa129414d79e4a2a3d5f8da32e3b5b937c6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-22 10:40:15 +00:00
Richard Purdie
4b3ceb3bba lib/oe/package_manager/sdk: Ensure do_populate_sdk_ext and do_populate_sdk repos don't conflict
(From OE-Core rev: c9c0927bb6e71253cbdd5b6b780dca829526e1d8)

(From OE-Core rev: c7610e993ae69a3163f76a26b6b4cb091cdd6458)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-22 10:40:15 +00:00
Richard Purdie
ad24cc9ba5 image: Expand PV to avoid AUTOREV parsing failures
Currently, setting PV to include SRCPV for build-appliance results in:

bb.data_smart.ExpansionError: Failure expanding variable SRCPV, expression was
${@bb.fetch2.get_srcrev(d)} which triggered exception FetchError: Fetcher
failure: Fetch command export ftp_proxy="http://proxy.yocto.io:5187/"; export
FTP_PROXY="http://proxy.yocto.io:5187/"; export PATH="${TMPDIR}/work/
qemux86_64-poky-linux/build-appliance-image/fetcheravoidrecurse-r0/
recipe-sysroot-native/usr/bin/python3-native:${TMPDIR}/work/
qemux86_64-poky-linux/build-appliance-image/fetcheravoidrecurse-r0/
recipe-sysroot-native/usr/bin/python3-native:${TMPDIR}/work/
qemux86_64-poky-linux/build-appliance-image/fetcheravoidrecurse-r0/
recipe-sysroot-native/usr/bin/python3-native:/home/pokybuild/
yocto-autobuilder/yocto-worker/buildtools/build/scripts:${TMPDIR}/
work/qemux86_64-poky-linux/build-appliance-image/fetcheravoidrecurse-r0/
recipe-sysroot-native/usr/bin/x86_64-poky-linux:${TMPDIR}/work/
qemux86_64-poky-linux/build-appliance-image/fetcheravoidrecurse-r0/
recipe-sysroot/usr/bin/crossscripts:${TMPDIR}/work/qemux86_64-poky-linux/
build-appliance-image/fetcheravoidrecurse-r0/recipe-sysroot-native/usr/sbin:
${TMPDIR}/work/qemux86_64-poky-linux/build-appliance-image/
fetcheravoidrecurse-r0/recipe-sysroot-native/usr/bin:${TMPDIR}/work/
qemux86_64-poky-linux/build-appliance-image/fetcheravoidrecurse-r0/
recipe-sysroot-native/sbin:${TMPDIR}/work/qemux86_64-poky-linux/
build-appliance-image/fetcheravoidrecurse-r0/recipe-sysroot-native/bin:/home/
pokybuild/yocto-autobuilder/yocto-worker/buildtools/build/bitbake/bin:${TMPDIR}
/hosttools"; export HOME="/home/pokybuild"; git -c core.fsyncobjectfiles=0
ls-remote git://git.yoctoproject.org/poky  failed with exit code 127, output:
/bin/sh: 1: git: not found

This is because PV is being expanded when TMPDIR is unset.

Expand PV in advance to avoid this problem.

(From OE-Core rev: 1aaab0595e0a5d898ba2ca5f144a99b9e6dc4495)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-20 22:29:30 +00:00
Alexander Kanavin
165b337dfe webkitgtk: update to 2.18.5 (includes Spectre mitigations; see commit description)
This is the only available stable version with mitigation fixes for Spectre.
Webkit upstream developers do not port CVE fixes to earlier stable series,
no exception was made in this case.

More information:

https://webkit.org/blog/8048/what-spectre-and-meltdown-mean-for-webkit/
https://webkitgtk.org/security/WSA-2018-0001.html
https://webkitgtk.org/2018/01/10/webkitgtk2.18.5-released.html

This commit also contains the following commits added in master branch after rocko release:

===
webkitgtk: update to 2.18.3

gcc7.patch, musl-fixes.patch, and ppc-musl-fix.patch all change code that is no
longer present in upstream tree. However, a patch with different musl fixes
has been added.

The rest of the patches are rebased to the new tree.

Libtasn is a new dependency.

Disable Gstreamer GL support on x86 due to clashing headers problem.

(From OE-Core rev: 3acae2dcd130122fe76504ec855af78db829d6ec)
===
webkitgtk: fix build with musl and x32

Make the x32 check generic to make it work with musl as well.

Fixes [YOCTO #12118]

(From OE-Core rev: dbd604ccf34e304769937b15051c047561de47f7)
===

(From OE-Core rev: 78f29a052477dd81f0819287e3db405932bb7fae)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-14 11:09:46 +00:00
Ross Burton
99641c56eb pax-utils: update SRC_URI
The gentoo.osuosl.org mirror doesn't store all versions of pax-utils, so use the
maintainers own mirror which stores them all.

This also means we can remove UPSTREAM_CHECK_URI as the defaults work now.

Thanks to Maxin John for the initial patch.

[ YOCTO #11559 ]

(From OE-Core rev: 4e1fbaa73be9b026e14a8b26c91485de8b91d90f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-14 11:09:46 +00:00
Otavio Salvador
ea37380ca7 linux-firmware: Bump to bf04291 revision
This includes following changes:

bf04291 WHENCE: Add new qed firmware
d8fc990 WHENCE: Add new radeon firmware
7245319 WHENCE: Fix syntax error for iwlwifi-8265-31.ucode entry
18d71a8 Revert "ath10k: QCA988X hw2.0: update firmware to 10.2.4.70.63-2"
4ebfab3 ath10k: QCA6174 hw3.0: update board-2.bin
96a7402 ath10k: QCA6174 hw3.0: update firmware-6.bin to WLAN.RM.4.4.1-00051-QCARMSWP-1
59bf7e2 cxgb4: update firmware to revision 1.16.63.0

The MD5 checksum of WHENCE license file was due the changes above as
the firmware versions are listed there. It had no license term
changes.

The following security fixes included too:

CVE-2017-13080 and CVE-2017-13081
- iwlwifi: update firmwares for 3160, 3168, 7265D, 8000C and 8265
- iwlwifi: update firmwares for 3160, 3168, 7260, 7265 and 7265D

(From OE-Core rev: 41eb7ff46ad9643eda10adc9a90629767bb7297c)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit aea6ce797cc1b1ecc199979eb12aa42de8ff73d4)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-14 11:09:46 +00:00
Saul Wold
2b3f2c67b6 linux-firmware: Split out the QAT firmware
Create a new qat package for those firmware blobs

(From OE-Core rev: c61c0f74e455234ba0641a859372e84aee507d02)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit b48c746736012cfd85e8263efcf125ecd17ca7bb)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-14 11:09:46 +00:00
Richard Purdie
3bae1d95f5 libunwind: Disable documentation explicitly
We don't have latex2man in HOSTTOOLs so documentaion is never built but this
dependency does cause problems on older releases like morty, pre-HOSTTOOLS.
Document the configuration explicitly in master.

(From OE-Core rev: d91a064ddd0771aebb8d61016231e4b41ef7ddde)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-14 11:09:46 +00:00
Richard Purdie
759b36a8de oeqa/runtime/buildcpio: Use our own mirror for source
We see occasional network glitches which break this test. Use our own
mirror (which has a .gz instead of .bz2) to avoid the errors, we're not
trying to test network connectivity.

(From OE-Core rev: 01df65be2ae4bc337e10babeb9c2394d71ddff84)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:57 +00:00
Khem Raj
2e5e0e9ef0 binutils: Convert SRC_URI and SRCREV to weak defines
This makes it easy to override them in bbappends

(From OE-Core rev: af4766e9fe17c7adb0c69f2d9b97b716813beca2)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit 99458d1fa170970e8a1aa04eeb0c86d3754fd988)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:57 +00:00
Armin Kuster
fdb1d8af3c binutils: update to 2.29.1
update to 2.29.1 to fix the following missing CVEs:

CVE-2017-15939, CVE-2017-15938, CVE-2017-15225, CVE-2017-15025,
CVE-2017-15024, CVE-2017-15023, CVE-2017-15022, CVE-2017-15021,
CVE-2017-15020, CVE-2017-14974, CVE-2017-14940, CVE-2017-14939,
CVE-2017-14938, CVE-2017-14934, CVE-2017-14933, CVE-2017-14932,
CVE-2017-14930, CVE-2017-14745, CVE-2017-14729, CVE-2017-14529,
CVE-2017-14333, CVE-2017-14130, CVE-2017-14129, CVE-2017-14128,
CVE-2017-13757, CVE-2017-13716, CVE-2017-13710, CVE-2017-12967,
CVE-2017-12799, CVE-2017-12459, CVE-2017-12458, CVE-2017-12457,
CVE-2017-12456, CVE-2017-12455, CVE-2017-12454, CVE-2017-12453,
CVE-2017-12452, CVE-2017-12451, CVE-2017-12450, CVE-2017-12449,
CVE-2017-12448

see Changelogs for additional information

(From OE-Core rev: 19da8865d31f10af4d5e3b91aa31958c8ad00bfd)

Signed-off-by: Armin Kuster <akuster@mvista.com>
(cherry picked from commit 53df200cb5edab04a7ab38b974f96281733fadb2)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:57 +00:00
Anuj Mittal
57d4e45385 acpica: fix build with x32
Make sure architecture dependent defines are correct for x32 by
checking for both ILP32 and x86_64.

Fixes [YOCTO #12123]

(From OE-Core rev: 179112b8f2500da81ec3755296bc1ab268eb9221)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>wq
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e73262ee888851e829df535ccf09d0da833f2061)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:57 +00:00
Anuj Mittal
adcf2b559c boost: fix build with x32 and musl
Make sure that boost picks up correct address model value
for x32 even when musl is enabled.

Fixes [YOCTO #12119]

Suggested-by: Ovidiu Panait <ovidiu.panait@windriver.com>
(From OE-Core rev: 44257253e6b98c74c539edd2dee7fed3f856fa44)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1879bd13f09c8180f737ddaccd2025e22c7f0c46)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:57 +00:00
Richard Purdie
92e9b46f3c runqemu: Add workaround for APIC hang on pre 4.15 kernels on qemux86
On pre 4.15 host kernels, an APIC window emulation bug can cause qemu
to hang. On 64 bit we can use the x2apic, for 32 bit, we just have to
disable the other timer sources and rely on kvm-clock.

[YOCTO #12301]

(From OE-Core rev: 04646ed7edf020b73c6639a1a7445252cf7aad5e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 82e67b82ea8e12aa0b7b9db1d84fec0436dec71b)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:57 +00:00
Jef Driesen
19b5dd761d glib-2.0: Add python3 modules required by gdbus-codegen
The gdbus-codegen tool depends on python3, python3-distutils and python3-xml at
runtime. But because these dependencies are not stated in the yocto recipe,
those python modules are not automatically included in the SDK.

(From OE-Core rev: 769c392f3418f0c9022a4007db0ba04904ec1f27)

Signed-off-by: Jef Driesen <jef.driesen@niko.eu>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 26af3b4b33a34d7e53059b07236f9d5aae5e004a)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:57 +00:00
Paul Eggleton
1d51565dfd lib/oe/patch: add missing import
This module refers to oe.types, so it needs to actually import oe.types.
Fixes errors when parsing certain OE-Core recipes within the layer
index update script.

(From OE-Core rev: e039463f5f8a4c918a9b60cd7c41ebf0a42b27bf)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 26ff9d2835a24a84c7f2bf9c829a13ed568c9ea0)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:57 +00:00
Tim Orling
8fedae4a84 bmap-tools: fix RDEPENDS and update SRC_URI
* RDEPENDS are now all the python3 versions
* Upstream SRC_URI has moved to github.com/intel/bmap-tools
* Missing RDEPENDS on python3-setuptools added
  - Provides import for pkg_resources

Fixes [YOCTO #12148]

(From OE-Core rev: 6cc7da6477c6995e936f241b0f6f6ec147814538)

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3d63452d8d8d8dc61cd26b7759b5c0d235d70451)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:57 +00:00
Ross Burton
075b04bfb4 rm_work: remove debugging statements
(From OE-Core rev: 76fc3a030d0e46ad1ebf15bae807b817d2932647)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e7da9a3adc1ed430fff7afae4233e62313759b65)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:57 +00:00
Thomas Perrot
70422d7d11 kernel-fitimage: Fix bad image type replacement for aarch64
When using kernel-fitimage class with aarch64, the image type has to be
Image not zImage.  This patch fixes the bad image type replacement for
aarch64

(From OE-Core rev: 88f2f2364b615e2510b4378f3cffa5f8df282da6)

Signed-off-by: Thomas Perrot <thomas.perrot@tupi.fr>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit d14adead5861007ac7e95c32396491f907ab9f8f)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:57 +00:00
Robert Yang
6ee061c10e image-live.bbclass: add MLPREFIX to core-image-minimal-initramfs
The 32bit core-image-minimal-initramfs should be built when build lib32-iso, e.g.:
MACHINE = "qemux86-64"
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
IMAGE_FSTYPES += "iso"

$ bitbake lib32-core-image-minimal
Exception: FileExistsError: [Errno 17] File exists: '/path/to/tmp/sysroots-components/core2-64/qemuwrapper-cross/usr/bin/crossscripts/qemuwrapper' -> '/path/to/tmp/work/qemux86_64-pokymllib32-linux/lib32-core-image-minimal/1.0-r0/lib32-recipe-sysroot/usr/bin/crossscripts/qemuwrapper'

This was because:
lib32-core-image-minimal -> core-image-minimal-initramfs
core-image-minimal-initramfs -> qemuwrapper-cross
lib32-core-image-minimal -> lib32-qemuwrapper-cross

So we got the error, build lib32-core-image-minimal-initramfs can fix the problem.

(From OE-Core rev: 9ed77ca690d8a725f853a62801fd8dfe347f2a8e)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit eee3ec805cf150f1c701427a2d182a537a67e8f5)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:57 +00:00
Robert Yang
fe8e1342a6 image-live.bbclass: print warn when initramfs is invalid
It's a problem when initramfs is invalid, so print warn rather than note.

(From OE-Core rev: 62bd5e8a900d2e04791b1a11ade3f8a3696b9b75)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit e164f931c8b3046a8b6736166f8dd6d92f727d1c)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:57 +00:00
Adrian Fiergolski
e5d7b7d802 wic: Fix a path to a psuedo state directory (PSEUDO_LOCALSTATEDIR).
In case of 'new_rootfs' the psuedo directory is not copied. Thus
PSEUDO_LOCALSTATEDIR should still point to the dsa
'native_sysroot'/../pseudo. Otherwise PSEUDO_LOCALSTATEDIR points to a not
existing director ('new_rootfs'/../pseudo) and UID and GUID attributes are not
applied to files of the image.

(From OE-Core rev: 4c1741ad08c809c83cd9670b14850687b598e728)

Signed-off-by: Adrian Fiergolski <adrian.fiergolski@cern.ch>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 19642e2d6e015072e4a413f4f57aee65df757cb9)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:57 +00:00
Stefan Agner
1b8f0fa9b1 waf.bbclass: explicitly pass bindir and libdir if supported
On some build hosts distros (e.g. Fedora 26) waf tries to be
smart about libdir detection and defaults to [EXEC_PREFIX/lib64].
This obviously is not what we want for 32-bit targets and usually
fails in the do_package phase:
  WARNING: gstreamer1.0-plugins-imx-0.13.0-r0 do_package: QA Issue: gstreamer1.0-plugins-imx: Files/directories were installed but not shipped in any package:
    /usr/lib64/libgstimxcommon.so.0
    ...

Depending on version, waf knows prefix or prefix, bindir and
libdir as default options. Explicitly pass the right set of
arguments.

(From OE-Core rev: eac21f981337bfaddb2d67161a1ff049158041ce)

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 923f91d8d8606141ce218927bc943f4f4f34bcdd)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:57 +00:00
Mike Crowe
a3eba3947e kernel.bbclass: Fix do_sizecheck behaviour
During the introduction of support for multiple kernel image types in
849b67b2e4820564b5e5c9bd4bb293c44351c5f3, do_sizecheck was changed to only
warn if any kernel was bigger than ${KERNEL_IMAGE_MAXSIZE}. (Well, it tried
to warn - it turns out that there's no function called "warn", it should be
"bbwarn".) The previous behaviour had been to fail the build if the single
kernel image did not fit.

It seems possible that people might be generating both compressed and
uncompressed kernels and only really care whether the compressed one fits.
This means that we shouldn't just always fail if any of the images are too
large. So, let's warn (correctly this time) on every image that is too
large, but only ultimately fail if no image will fit. The build will also
fail if ${KERNEL_IMAGETYPES} is empty, but I hope that no-one needs to do
that.

While we're here correct a typo in the KERNEL_IMAGE_MAXSIZE validity check.

(From OE-Core rev: 6476d2c0ede654dca51a81045a8ccbca532c317d)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 59f1ee104d1a6c04b0690b7c8ce481449da174d6)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:57 +00:00
Saul Wold
292214ea74 image_types: btrfs use sparse file creation
This will speed up file creation and still allow the btrfs tools to
create a full btrfs image.  This is similar to what we do for ext234
FS types.

(From OE-Core rev: 8eb20c43232ae87c65d27810e5250676bb1d9675)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit de2f2fc9e8e6d874a11e69adc2f438975a5c1359)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:57 +00:00
Richard Purdie
8cdfa5fb11 rm_work: Handle race with -inital tasks
There is a race with rm_work when tasks run deltask do_build since
do_rm_work becomes a floating task. Handle this by injecting
the populate_sysroot/lic dependencies manually if the tasks returned
are empty. This depends on a change to fix bb.build.preceedtask() in
bitbake too.

[YOCTO #12365]

(From OE-Core rev: a66bf18b35a6ebbad7c821512cdf5969f72d6844)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 0f537d985b7b17af508a511fca8a4ec4b5804580)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:57 +00:00
Bruce Ashfield
20650708b0 linux-yocto/4.12: CQM and kmemleak fixes
Integrating the following commits for kmemleak fixes and CQM
backports:

   58fe84d691a mm: kmemleak: treat vm_struct as alternative reference to vmalloc'ed objects
   5babb9c8f695 mm: kmemleak: factor object reference updating out of scan_block()
   8c22ef5ee138 mm: kmemleak: slightly reduce the size of some structures on 64-bit architectures
   7ea6b560ef4c netfilter: conntrack: do not enable connection tracking unless needed
   4fdf0a5a0863 netfilter: nf_ct_dccp/sctp: fix memory leak after netns cleanup
   85385ffd1e9b netfilter: move table iteration out of netns exit paths
   c95b3f8e1cbc netfilter: conntrack: add nf_ct_iterate_destroy
   753c83b98a1e netfilter: conntrack: don't call iter for non-confirmed conntracks
   bcf21cba7fd5 netfilter: conntrack: rename nf_ct_iterate_cleanup
   f5c3a4c19075 perf/x86/intel/uncore: Fix missing marker for skx_uncore_cha_extra_regs
   c44ebea2f116 perf/x86/intel/uncore: Fix SKX CHA event extra regs
   1d70f7feb408 perf/x86/intel/uncore: Remove invalid Skylake server CHA filter field
   eb3059e9e0ea perf/x86/intel/uncore: Fix Skylake server CHA LLC_LOOKUP event umask
   3514c02c7bff perf/x86/intel/uncore: Fix Skylake server PCU PMU event format
   804530f02515 perf/x86/intel/uncore: Fix Skylake UPI PMU event masks

(From OE-Core rev: 1d905de8274b417336b3e0422417f9ce5ddfedb3)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3cf8bda5e4d4a345793aa72be97e94c41520ec01)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:57 +00:00
Bruce Ashfield
e0fdf87169 linux-yocto/4.12: common-pc*: enable X2APIC by default
Enabling CONFIG_X86_X2APIC=y by default for common-pc* (and hence
qemux86*) to work around interrupt delivery issues when running on some
host kernels.

There's little overhead with this, and no impact to non x2apic
platforms, so we enable it for all builds.

(From OE-Core rev: e01488e076e43241442a118fe18bd20e7930648c)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3382ed4925fdc0854dbfa5b29dd5fdc1e0c1e38a)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:56 +00:00
Bruce Ashfield
00d51fd310 linux-yocto/4.12: update to v.4.12.18
Integrating the -stable backports from Paul Gortmaker, which comprise the
following commits:

   33070a47be56 Linux 4.12.18
   7441b94462dd sctp: use right member as the param of list_for_each_entry
   393004dcde90 packet: fix crash in fanout_demux_rollover()
   0a9012474dc5 coda: fix 'kernel memory exposure attempt' in fsync
   b5cc211a6240 x86/cpu/amd: Derive L3 shared_cpu_map from cpu_llc_shared_mask
   2567785ab75b mm/page_ext.c: check if page_ext is not prepared
   40991abd5541 mm/page_alloc.c: broken deferred calculation
   7fd5cc66154b ipmi: fix unsigned long underflow
   fa5ba256bc53 ocfs2: should wait dio before inode lock in ocfs2_setattr()
   97181d7d56ab ocfs2: fix cluster hang after a node dies
   3e60437f8fac mm/pagewalk.c: report holes in hugetlb ranges
   2974b65a0852 rcu: Fix up pending cbs check in rcu_prepare_for_idle
   3048be8b900f tpm-dev-common: Reject too short writes
   60bf233eeed8 serial: 8250_fintek: Fix finding base_port with activated SuperIO
   1539a3ace4ee serial: omap: Fix EFR write on RTS deassertion
   7c601c15e06d ima: do not update security.ima if appraisal status is not INTEGRITY_PASS
   42e3beae3ace net/sctp: Always set scope_id in sctp_inet6_skb_msgname
   09fc4fe93e10 fealnx: Fix building error on MIPS
   01c2c1581c94 sctp: do not peel off an assoc from one netns to another one
   0a2e9fbdc391 vxlan: fix the issue that neigh proxy blocks all icmpv6 packets
   1063c860aecd af_netlink: ensure that NLMSG_DONE never fails in dumps
   045a67694539 vlan: fix a use-after-free in vlan_device_event()
   eb1321c9ad5e tcp: fix tcp_fastretrans_alert warning
   55bfb1ef83e0 qmi_wwan: Add missing skb_reset_mac_header-call
   315ea5f8348b net: qmi_wwan: fix divide by 0 on bad descriptors
   554d1d375f1c bonding: discard lowest hash bit for 802.3ad layer3+4
   6b6b2c804d4e l2tp: don't use l2tp_tunnel_find() in l2tp_ip and l2tp_ip6
   30ec586cda8a netfilter/ipvs: clear ipvs_property flag when SKB net namespace changed
   62bd603f2677 net: systemport: Correct IPG length settings
   70cd6d6bea88 tcp: do not mangle skb->cb[] in tcp_make_synack()
   26ab537f2e5f net: vrf: correct FRA_L3MDEV encode type
   f2561863b0d6 tcp_nv: fix division by zero in tcpnv_acked()
   5dfe41dc67fc staging: greybus: spilib: fix use-after-free after deregistration
   2c7eb0674a3d staging: sm750fb: Fix parameter mistake in poke32
   008bfaf7b155 HID: wacom: generic: Recognize WACOM_HID_WD_PEN as a type of pen collection
   695db9d1697c HID: cp2112: add HIDRAW dependency
   b9edc34d9c29 x86/MCE/AMD: Always give panic severity for UC errors in kernel context
   90e3029e582c selftests/x86/protection_keys: Fix syscall NR redefinition warnings
   4ef762021938 USB: serial: garmin_gps: fix memory leak on probe errors
   f1423a77b98b USB: serial: garmin_gps: fix I/O after failed probe and remove
   68a94c90dfc3 USB: serial: qcserial: add pid/vid for Sierra Wireless EM7355 fw update
   885e857a7c26 USB: serial: Change DbC debug device binding ID
   3e7a792beda2 USB: serial: metro-usb: stop I/O after failed open
   da73445f1b69 usb: gadget: f_fs: Fix use-after-free in ffs_free_inst
   d3cc53bd3a61 USB: Add delay-init quirk for Corsair K70 LUX keyboards
   402588b38460 USB: usbfs: compute urb->actual_length for isochronous
   5a8714de40ac USB: early: Use new USB product ID and strings for DbC device
   83f0fdf7ccc6 crypto: dh - Don't permit 'key' or 'g' size longer than 'p'
   b494fa860365 crypto: dh - Don't permit 'p' to be 0
   4ffcf85d08b7 crypto: dh - Fix double free of ctx->p
   d20a9c0d1233 crypto: dh - fix memleak in setkey
   ad8b281c05c5 Bluetooth: btusb: fix QCA Rome suspend/resume
   21fc98337c60 dmaengine: dmatest: warn user when dma test times out
   72a0fc7e4f7d tcp: fix tcp_mtu_probe() vs highest_sack
   ca42624b53de ipv6: addrconf: increment ifp refcount before ipv6_del_addr()
   751e5b20c03f tun/tap: sanitize TUNSETSNDBUF input
   eea9efba6bdc net_sched: avoid matching qdisc with zero handle
   e76cd730f32e sctp: reset owner sk for data chunks on out queues when migrating a sock
   6027b882617c tun: allow positive return values on dev_get_valid_name() call
   984a8b424c58 tap: reference to KVA of an unloaded module causes kernel panic
   92adaa4247c1 tcp: refresh tcp_mstamp from timers callbacks
   026ff0f99bbf tcp: refresh tp timestamp before tcp_mtu_probe()
   aa3fb0cbb88d ip6_gre: update dst pmtu if dev mtu has been updated by toobig in __gre6_xmit
   88f0bf544d46 ip6_gre: only increase err_count for some certain type icmpv6 in ip6gre_err
   7256c950ca70 ipip: only increase err_count for some certain type icmp in ipip_err
   62e3502c1991 net/mlx5e: Properly deal with encap flows add/del under neigh update
   84d26c8a74fc tap: double-free in error path in tap_open()
   94946f4812fa net/unix: don't show information about sockets from other namespaces
   43997314bb13 net: dsa: check master device before put
   d5c769c98986 tcp/dccp: fix other lockdep splats accessing ireq_opt
   1d4c7c3266a4 tcp/dccp: fix lockdep splat in inet_csk_route_req()
   462504bc99ac sctp: full support for ipv6 ip_nonlocal_bind & IP_FREEBIND
   fe91475c8310 ipv6: flowlabel: do not leave opt->tot_len with garbage
   009a3e7461cd soreuseport: fix initialization race
   16e36e55f822 net: bridge: fix returning of vlan range op errors
   3d32d75474d1 geneve: Fix function matching VNI and tunnel ID on big-endian
   04e37f3a5c02 packet: avoid panic in packet_getsockopt()
   3895ca099a69 tcp/dccp: fix ireq->opt races
   eda355607691 sctp: add the missing sock_owned_by_user check in sctp_icmp_redirect
   785b144296af netlink: fix netlink_ack() extack race
   01af773e7a6b tun: call dev_get_valid_name() before register_netdevice()
   1b522844eabe l2tp: check ps->sock before running pppol2tp_session_ioctl()
   ae90bb6362cd net: call cgroup_sk_alloc() earlier in sk_clone_lock()
   1ec7babcf934 netlink: do not set cb_running if dump's start() errs
   7fa820a09305 gso: fix payload length when gso_size is zero
   463a7737df22 ppp: fix race in ppp device destruction
   57b61ea36589 xfs: move two more RT specific functions into CONFIG_XFS_RT
   b5bea8ab390b tty: fix __tty_insert_flip_char regression
   1d4d3f8e98b3 KVM: add X86_LOCAL_APIC dependency
   737d1a26d83a pinctrl/amd: Fix build dependency on pinmux code
   5f9a4e690c9f seccomp: make function __get_seccomp_filter static
   407108cebb23 Fix tracing sample code warning.
   e53f80ca68ae security/keys: BIG_KEY requires CONFIG_CRYPTO
   b177131cdd05 udp: fix bcast packet reception
   51165c2e0923 Linux 4.12.17
   e37973f85463 media: dib0700: fix invalid dvb_detach argument
   2be5d96a5441 media: imon: Fix null-ptr-deref in imon_probe
   6cc6ecdb2ad9 Input: ims-psu - check if CDC union descriptor is sane
   dcc13ac27971 net: cdc_ether: fix divide by 0 on bad descriptors
   6a98f24f0530 net: usb: asix: fill null-ptr-deref in asix_suspend
   1da204e5439f usb: usbtest: fix NULL pointer dereference
   39795ceb702b x86/oprofile/ppro: Do not use __this_cpu*() in preemptible context
   cf6308a136f2 x86/smpboot: Make optimization of delay calibration work correctly
   5cee51d999ed x86/debug: Handle warnings before the notifier chain, to fix KGDB crash
   7faef4f041ed can: c_can: don't indicate triple sampling support for D_CAN
   2efab93ab541 can: ifi: Fix transmitter delay calculation
   9a9a3a778c22 can: peak: Add support for new PCIe/M2 CAN FD interfaces
   befd4aa29428 can: sun4i: handle overrun in RX FIFO
   ce274815fdac drm/vmwgfx: Fix Ubuntu 17.10 Wayland black screen issue
   327b1f353263 rbd: use GFP_NOIO for parent stat and data requests
   81a57d23e6f9 Input: elan_i2c - add ELAN060C to the ACPI table
   8b43ca400436 MIPS: AR7: Ensure that serial ports are properly set up
   fd11bdb71a3a MIPS: AR7: Defer registration of GPIO
   361b86eaf6ec MIPS: BMIPS: Fix missing cbr address
   1f5ee962f2cd MIPS: Fix CM region target definitions
   95eca04aa013 ALSA: seq: Fix OSS sysex delivery in OSS emulation
   a77a957d8dd4 ALSA: hda - fix headset mic problem for Dell machines with alc274
   5e838d3a8e07 ALSA: usb-audio: support new Amanero Combo384 firmware version
   af199c8af86e ALSA: timer: Limit max instances per timer
   7f740a514450 ARM: 8720/1: ensure dump_instr() checks addr_limit
   378309492920 ACPI / scan: Enable GPEs before scanning the namespace
   3d41affb49ba ACPICA: Make it possible to enable runtime GPEs earlier
   73b2b51c57bc ACPICA: Dispatch active GPEs at init time
   b8a8b7486b60 KEYS: fix NULL pointer dereference during ASN.1 parsing [ver #2]
   1dd87968f2e3 crypto: x86/sha256-mb - fix panic due to unaligned access
   ad3194d5cdd7 crypto: x86/sha1-mb - fix panic due to unaligned access
   176121ac7fe1 crypto: ccm - preserve the IV buffer
   565a57ec4f8d workqueue: Fix NULL pointer dereference
   86d04817638d x86/mcelog: Get rid of RCU remnants
   61f8603bcb05 perf/cgroup: Fix perf cgroup hierarchy support
   c39d83f28cf5 MIPS: microMIPS: Fix incorrect mask in insn_table_MM
   ff06d106db71 MIPS: smp-cmp: Use right include for task_struct
   6da5b0e13e3e drm/i915/edp: read edp display control registers unconditionally
   89e68088def8 drm/i915: Do not rely on wm preservation for ILK watermarks
   052130e6dd1c mm, swap: fix race between swap count continuation operations
   92ede622224e ocfs2: fstrim: Fix start offset of first cluster group during fstrim
   d4e8f4c82ec4 userfaultfd: hugetlbfs: prevent UFFDIO_COPY to fill beyond the end of i_size
   bf69e4b41953 drm/amdgpu: allow harvesting check for Polaris VCE
   aa09acb11a5b drm/amdgpu: return -ENOENT from uvd 6.0 early init for harvesting
   707ba2820623 ARM: 8715/1: add a private asm/unaligned.h
   4fa5fe6ea340 ARM: dts: mvebu: pl310-cache disable double-linefill
   a01a5c2e6e9e arm/arm64: kvm: Disable branch profiling in HYP code
   3441fa885cf3 arm/arm64: KVM: set right LR register value for 32 bit guest when inject abort
   a650f10a6423 KVM: arm64: its: Fix missing dynamic allocation check in scan_its_table
   24d22fb868e3 arm64: ensure __dump_instr() checks addr_limit
   cac0dcc9179e ASoC: adau17x1: Workaround for noise bug in ADC
   7e34e27aaf91 KEYS: fix out-of-bounds read during ASN.1 parsing
   53ec125b27a1 KEYS: trusted: fix writing past end of buffer in trusted_read()
   9b453e30fc82 cifs: check MaxPathNameComponentLength != 0 before using it
   69828d917713 ALSA: seq: Fix nested rwsem annotation for lockdep splat
   11f1d2059857 ALSA: timer: Add missing mutex lock for compat ioctls
   86306c8bf739 powerpc/xive: Fix the size of the cpumask used in xive_find_target_in_mask()
   7d5b350c311e regulator: fan53555: fix I2C device ids
   bba7a802ffa0 ipsec: Fix aborted xfrm policy dump crash
   3f17c12b2ef6 cfg80211: fix connect/disconnect edge cases
   036cb11e2b93 can: kvaser_usb: Ignore CMD_FLUSH_QUEUE_REPLY messages
   25a5d333b556 can: kvaser_usb: Correct return value in printout
   0dea0f030394 can: sun4i: fix loopback mode
   b26722135e12 drm/i915/perf: fix perf enable/disable ioctls with 32bits userspace
   748e46331dc7 drm/amd/powerplay: fix uninitialized variable
   859bc7ad2aa9 x86/cpu/AMD: Apply the Erratum 688 fix when the BIOS doesn't
   1370811ed5b7 scsi: aacraid: Fix controller initialization failure
   626a5aae973e scsi: zfcp: fix erp_action use-before-initialize in REC action trace
   250835c62a90 assoc_array: Fix a buggy node-splitting case
   fea99b11049a SMB3: Validate negotiate request must always be signed
   d030ae8043b8 Fix encryption labels and lengths for SMB3.1.1
   158c28974465 Input: gtco - fix potential out-of-bound access
   a603b795cb7e Input: elan_i2c - add ELAN0611 to the ACPI table
   9bb1ce736e36 CIFS: Fix NULL pointer deref on SMB2_tcon() failure
   fbe5c09ee805 xen/gntdev: avoid out of bounds access in case of partial gntdev_mmap()
   950c2786017a fuse: fix READDIRPLUS skipping an entry
   1be2e5e41f0e spi: armada-3700: Fix failing commands with quad-SPI
   733d72531cc5 spi: bcm-qspi: Fix use after free in bcm_qspi_probe() in error path
   cffec62ffee5 spi: a3700: Return correct value on timeout detection
   be9198ea33e1 spi: uapi: spidev: add missing ioctl header
   9b5c3ee4ed3f KVM: PPC: Book3S: Protect kvmppc_gpa_to_ua() with SRCU
   9574b6e81e45 KVM: PPC: Book3S HV: POWER9 more doorbell fixes
   bceb8e9d95be KVM: PPC: Book3S HV: Use msgsync with hypervisor doorbells on POWER9
   229642d22e3a KVM: PPC: Fix oops when checking KVM_CAP_PPC_HTM
   32e77b72733b ceph: unlock dangling spinlock in try_flush_caps()
   f4180593b1e9 ALSA: hda - fix headset mic problem for Dell machines with alc236
   33477d1e5e6b ALSA: hda/realtek - Add support for ALC236/ALC3204
   0230f9ed329f workqueue: replace pool->manager_arb mutex with a flag
   5ec0d1c9d5a9 xfs: trim writepage mapping to within eof
   fcc029896ba9 xfs: cancel dirty pages on invalidation
   da45acc2e9cd xfs: handle error if xfs_btree_get_bufs fails
   7d57f66d6f17 xfs: reinit btree pointer on attr tree inactivation walk
   731ead3be639 xfs: don't change inode mode if ACL update fails
   173d49a9a531 xfs: move more RT specific code under CONFIG_XFS_RT
   ba899492a1d5 xfs: handle racy AIO in xfs_reflink_end_cow
   72ac4f1186a6 xfs: always swap the cow forks when swapping extents
   204bdfa1f67c xfs: perag initialization should only touch m_ag_max_usable for AG 0
   7b74f08372bd xfs: update i_size after unwritten conversion in dio completion
   a387eb05ff73 xfs: report zeroed or not correctly in xfs_zero_range()
   7df2a96d20a4 fs/xfs: Use %pS printk format for direct addresses
   4c71c06ac80f xfs: evict CoW fork extents when performing finsert/fcollapse
   f0f53f176d94 xfs: don't unconditionally clear the reflink flag on zero-block files
   032e53c378a8 iomap_dio_rw: Allocate AIO completion queue before submitting dio
   bd603f7110b9 pkcs7: Prevent NULL pointer dereference, since sinfo is not always set.
   362a37a0cf59 KEYS: don't let add_key() update an uninstantiated key
   e4968379c1b6 FS-Cache: fix dereference of NULL user_key_payload
   047fe074b659 KEYS: Fix race between updating and finding a negative key
   8ea691e39413 ecryptfs: fix dereference of NULL user_key_payload
   bfd7bc34be16 fscrypt: fix dereference of NULL user_key_payload
   83f4c52d9fd7 lib/digsig: fix dereference of NULL user_key_payload
   e966d2d4f6a1 x86/microcode/intel: Disable late loading on model 79
   d647900b826d rtlwifi: rtl8821ae: Fix connection lost problem
   3f4f2f812312 clockevents/drivers/cs5535: Improve resilience to spurious interrupts
   6bd3022f41a1 bus: mbus: fix window size calculation for 4GB windows
   c7a86caa19f2 brcmsmac: make some local variables 'static const' to reduce stack size
   4df70a6e8969 brcmfmac: Add check for short event packets
   f6f7db182f44 i2c: piix4: Fix SMBus port selection for AMD Family 17h chips
   dfc7eebd0b5d ALSA: hda: Abort capability probe at invalid register read
   a7252ee01e59 ALSA: hda: Remove superfluous '-' added by printk conversion
   514d11ccc861 ALSA: seq: Enable 'use' locking in all configurations
   a4476518e1e7 tracing/samples: Fix creation and deletion of simple_thread_fn creation
   ad84c20a9f47 media: dvb: i2c transfers over usb cannot be done from stack
   11fbb0237319 media: cec: Respond to unregistered initiators, when applicable
   43ac45e69b11 media: s5p-cec: add NACK detection support
   686020330a68 drm/nouveau/mmu: flush tlbs before deleting page tables
   90905608e49e drm/nouveau/bsp/g92: disable by default
   a276b1329f6e drm/nouveau/kms/nv50: fix oops during DP IRQ handling on non-MST boards
   75c7d377d125 drm/i915: Use bdw_ddi_translations_fdi for Broadwell
   a4e778fda246 mmc: sdhci-pci: Fix default d3_retune for Intel host controllers
   c51c64badbdf KEYS: encrypted: fix dereference of NULL user_key_payload
   8d5f0ae655f9 can: flexcan: fix p1010 state transition issue
   32a5167fcdae can: flexcan: fix i.MX28 state transition issue
   5babb6c595a6 can: flexcan: fix i.MX6 state transition issue
   9319913df979 can: flexcan: implement error passive state quirk
   1c93f600ac19 can: flexcan: rename legacy error state quirk
   25cb31c3f806 can: flexcan: fix state transition regression
   f433519c4cba can: af_can: can_pernet_init(): add missing error handling for kzalloc returning NULL
   947a57f938f3 can: esd_usb2: Fix can_dlc value for received RTR, frames
   792c8810f196 usb: xhci: Handle error condition in xhci_stop_device()
   c83a48144395 xhci: Cleanup current_cmd in xhci_cleanup_command_queue()
   666fd52c080b xhci: Identify USB 3.1 capable hosts by their port protocol capability
   523dad046e0f usb: musb: Check for host-mode using is_host_active() on reset interrupt
   5e277dcadf45 usb: musb: musb_cppi41: Configure the number of channels for DA8xx
   1ddbc42b569c usb: musb: musb_cppi41: Fix cppi41_set_dma_mode() for DA8xx
   b4ae14cc4f93 usb: musb: musb_cppi41: Fix the address of teardown and autoreq registers
   dbb13f2fcbc9 USB: musb: fix late external abort on suspend
   cff06a4ae7d5 USB: musb: fix session-bit runtime-PM quirk
   7545aa66403b usb: musb: sunxi: Explicitly release USB PHY on exit
   8447db4b2e33 iio: dummy: events: Add missing break
   9d8a108edff7 parisc: Fix double-word compare and exchange in LWS code on 32-bit kernels
   58bacefc0b50 s390/cputime: fix guest/irq/softirq times after CPU hotplug
   7543b1a05d0c nbd: don't set the device size until we're connected
   b7e699fcefbe can: gs_usb: fix busy loop if no more TX context is available
   2053fee203fb ALSA: usb-audio: Add native DSD support for Pro-Ject Pre Box S2 Digital
   a069429516bc usb: hub: Allow reset retry for USB2 devices on connect bounce
   79d5e5d8d2fe usb: quirks: add quirk for WORLDE MINI MIDI keyboard
   4d493d5a62ea usb: cdc_acm: Add quirk for Elatec TWN3
   d553fc8e775f USB: serial: metro-usb: add MS7820 device id
   9872dc2ad066 USB: core: fix out-of-bounds access bug in usb_get_bos_descriptor()
   4d75d952a2ac USB: devio: Revert "USB: devio: Don't corrupt user memory"
   b5264fc112b2 staging: bcm2835-audio: Fix memory corruption

(From OE-Core rev: e261cbbc37cd0a308502ebe94b7f1071161bc21a)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d3a8565e176ad77a99b832caf5e23b62846a9a67)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:56 +00:00
Bruce Ashfield
d494c3f8d6 linux-yocto/4.12: bug fixes and feature backports
Integrating the following changes to the 4.12 tree:

 1b85adfc0b81 mtd: intel-spi: Add Intel Lewisburg PCH SPI super SKU PCI ID
 b373e336eb84 mtd: spi-nor: intel-spi: Add support for Intel Cedar Fork SPI serial flash
 c37662f04d7c mtd: spi-nor: intel-spi: Add support for Intel Lewisburg SPI serial flash
 a8a4ae37e8b7 mtd: spi-nor: intel-spi: Add support for Intel Denverton SPI serial flash controller
 aa830ab86985 net/bluetooth: make bluetooth socket can be created in net namespace
 2e98dc285831 x86/debug: Handle warnings before the notifier chain, to fix KGDB crash

These are all bug fixes, or mainline backports.

(From OE-Core rev: c8ff9567f702eb93868e43ec84268f9eeb724cd4)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7c4ed05c05629f8f551152153d893dfe048c1ee0)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:56 +00:00
Bruce Ashfield
3535744690 linux-yocto/4.x: configuration updates
Integrating the following configuration changes to the 4.x linux
yocto kernels:

  common-pc*.scc: Add igb to common-pc drivers
  mti-malta32: enable CONFIG_HIGHMEM for qemumips to support up to 2GiB RAM
  features/i915/i915.cfg: compile i915 as a module

(From OE-Core rev: 9cbcc5e16c3531d1c6d17cbba8f13a6ec1413783)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b0343ff286b413745579b371f48917099e0a9bef)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:56 +00:00
Bruce Ashfield
bedcbb0db1 linux-yocto/4.12: ipv4 stable backport and config changes
Integrating the following ipv4 backport:

    ipv4: net namespace does not inherit network configurations

    patch from https://lkml.org/lkml/2014/7/29/119

    Ipv4 net namespace requires a similar logic change as commit a79ca223e029
    [ipv6: fix bad free of addrconf_init_net] introduces for newer kernels.

    Since a net namespace is independent to another. That is, there
    is no any relationship between the net namespaces. So a new net
    namespace should not inherit network configurations from another
    net namespace including the host.

    CC: Hong Zhiguo <honkiko@gmail.com>
    CC: David S. Miller <davem@davemloft.net>
    Signed-off-by: Zhu Yanjun <zyjzyj2000@gmail.com>
    Signed-off-by: yzhu1 <yanjun.zhu@windriver.com>
    Signed-off-by: Liwei Song <liwei.song@windriver.com>
    Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>

And the following configuration changes:

  3574bb061c1b mti-malta32: enable CONFIG_HIGHMEM for qemumips to support up to 2GiB RAM
  f187df8fca31 features/i915/i915.cfg: compile i915 as a module
  332b38cb83a2 common-pc*.scc: Add igb to common-pc drivers

(From OE-Core rev: 6f344749f56a16b5d2799caa3735ab0b3a8ce603)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7e0b87ffce90dad248a7a0f0b9d661583e047568)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:56 +00:00
Bruce Ashfield
ba400aa269 linux-yocto/4.12: bug fixes and VRF feature addition
Integrating two bug fixes (functionality regressions):

  1d685baca196 iwlwifi: bump max FW API to 31
  cb8ce8c4ad0f tty: fix __tty_insert_flip_char regression

And the following configuration fragment:

  vrf: Add feature

(From OE-Core rev: 839b01d9d68cc32f179e96bc003b26cd1b76781b)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f4c7a52e6bd4e955ee6aface617d84b15356bd31)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:56 +00:00
Bruce Ashfield
8cf7e411b1 linux-yocto/4.12: update to v4.12.16
Integrating the -stable updates from Paul Gortmaker that cover the
following commits:

   8500552cb6f7 Linux 4.12.16
   3041c36e51aa vmbus: more host signalling avoidance
   170ce449d952 vmbus: eliminate duplicate cached index
   1843e4c61d03 vmbus: refactor hv_signal_on_read
   3114e4beb799 vmbus: simplify hv_ringbuffer_read
   47cd1be8a9b1 HID: hid-elecom: extend to fix descriptor for HUGE trackball
   663b5513c683 mm: page_vma_mapped: ensure pmd is loaded with READ_ONCE outside of lock
   8a0af0f30b6b perf pmu: Unbreak perf record for arm/arm64 with events with explicit PMU
   20ce8834fc99 KVM: nVMX: update last_nonleaf_level when initializing nested EPT
   bf6a0ec7751f x86/alternatives: Fix alt_max_short macro to really be a max()
   8566ad9542c8 x86/microcode: Do the family check first
   d369002c85c7 RAS/CEC: Use the right length for "cec_disable"
   2f5df0825d43 USB: serial: console: fix use-after-free after failed setup
   38d29750c751 USB: serial: console: fix use-after-free on disconnect
   3312688774a5 USB: serial: qcserial: add Dell DW5818, DW5819
   8ceb1ab5b8b6 USB: serial: option: add support for TP-Link LTE module
   9a492331d4d8 USB: serial: cp210x: add support for ELV TFD500
   05a76c3972a3 USB: serial: cp210x: fix partnum regression
   36db7ee477f7 USB: serial: ftdi_sio: add id for Cypress WICED dev board
   f5f28aa1189d bio_copy_user_iov(): don't ignore ->iov_offset
   2e23ac57b91b more bio_map_user_iov() leak fixes
   be96ea60abf4 fix unbalanced page refcounting in bio_map_user_iov
   62272a78cd64 direct-io: Prevent NULL pointer access in submit_page_section
   da889b1de1e2 usb: gadget: composite: Fix use-after-free in usb_composite_overwrite_options
   82bb04bf4ef3 usb: gadget: configfs: Fix memory leak of interface directory data
   48f321f266d2 drm/i915: Use crtc_state_is_legacy_gamma in intel_color_check
   300533678314 drm/i915/bios: parse DDI ports also for CHV for HDMI DDC pin and DP AUX channel
   6e7077ce8b8f drm/i915: Read timings from the correct transcoder in intel_crtc_mode_get()
   a89c571ae8a8 drm/i915/edp: Get the Panel Power Off timestamp after panel is off
   002894140f21 drm/atomic: Unref duplicated drm_atomic_state in drm_atomic_helper_resume()
   7e9518d4926c ALSA: line6: Fix leftover URB at error-path during probe
   44a4ce6662bd ALSA: line6: Fix missing initialization before error path
   7f16c070632d ALSA: line6: Fix NULL dereference at podhd_disconnect()
   317938e88d45 ALSA: caiaq: Fix stray URB at probe error path
   39921169c481 ALSA: seq: Fix copy_from_user() call inside lock
   dc744c119f6d ALSA: seq: Fix use-after-free at creating a port
   3da32e1a4a3a ALSA: usb-audio: Kill stray URB at exiting
   cbf3f880a31c fs/mpage.c: fix mpage_writepage() for pages with buffers
   24bb3d33bf9c Revert "vmalloc: back off when the current task is killed"
   076e98e18525 device property: Track owner device of device property
   2404f2c63a8f iommu/amd: Finish TLB flush in amd_iommu_unmap()
   2681ccd7a877 usb: renesas_usbhs: Fix DMAC sequence for receiving zero-length packet
   014b37ece737 KVM: nVMX: fix guest CR4 loading when emulating L2 to L1 exit
   c0f617345da5 KVM: MMU: always terminate page walks at level 1
   810fa30a4ec6 crypto: shash - Fix zero-length shash ahash digest crash
   c55f32198aa4 crypto: skcipher - Fix crash on zero-length input
   688d47df70db HID: usbhid: fix out-of-bounds bug
   fceb5f74236c NFS: Fix uninitialized rpc_wait_queue
   3936965498e9 dmaengine: ti-dma-crossbar: Fix possible race condition with dma_inuse
   232ab7abddce dmaengine: edma: Align the memcpy acnt array size with the transfer
   a1b8e04e4478 mei: always use domain runtime pm callbacks.
   ff7884c2afbf MIPS: math-emu: Remove pr_err() calls from fpu_emu()
   c43a87667d3f USB: dummy-hcd: Fix deadlock caused by disconnect detection
   111001ffa651 watchdog: Revert "iTCO_wdt: all versions count down twice"
   d6703459b5bf udp: perform source validation for mcast early demux
   5a2bdca5336a nl80211: Define policy for packet pattern attributes
   fd4bee8c17d9 mmc: core: add driver strength selection when selecting hs400es
   11a49827d263 nvme-pci: Use PCI bus address for data/queues in CMB
   bfd19d3e3511 drm/i915/bios: ignore HDMI on port A
   8ab3d473cbfd drm/i915: always update ELD connector type after get modes
   ec338aac41a5 brcmfmac: setup passive scan if requested by user-space
   a2db156a40ef brcmfmac: add length check in brcmf_cfg80211_escan_handler()
   fda708d0e6c9 scsi: sd: Do not override max_sectors_kb sysfs setting
   9d0c3a0c8ed3 scsi: sd: Implement blacklist option for WRITE SAME w/ UNMAP
   e57b8ad57afc scsi: remove various unused blist flags
   86d40a1cfd5e iwlwifi: mvm: use IWL_HCMD_NOCOPY for MCAST_FILTER_CMD
   0a1447d60118 kvm/x86: Avoid async PF preempting the kernel incorrectly
   9dfcfa3ac381 KVM: PPC: Book3S: Fix server always zero from kvmppc_xive_get_xive()
   4d93aae9b293 dm crypt: fix memory leak in crypt_ctr_cipher_old()
   8ab4dc921826 dm crypt: reject sector_size feature if device length is not aligned to it
   da3c3bd6ad07 netlink: fix nla_put_{u8,u16,u32} for KASAN
   dbe7d8a9dba2 rocker: fix rocker_tlv_put_* functions for KASAN
   1fa70078bcba HID: wacom: bits shifted too much for 9th and 10th buttons
   de1b19226d80 HID: wacom: Always increment hdev refcount within wacom_get_hdev_data
   78fbbdd94b75 HID: wacom: generic: Clear ABS_MISC when tool leaves proximity
   4c0d78da4868 HID: wacom: generic: Send MSC_SERIAL and ABS_MISC when leaving prox
   f4efe333405d HID: wacom: Correct coordinate system of touchring and pen twist
   3dd5dae733f6 HID: wacom: Properly report negative values from Intuos Pro 2 Bluetooth
   429ea46a9d3a HID: wacom: leds: Don't try to control the EKR's read-only LEDs
   ffb802b9d7f9 HID: i2c-hid: allocate hid buffers for real worst case
   9a95f1edac92 HID: rmi: Make sure the HID device is opened on resume
   16be0f8ec04d arm64: Ensure the instruction emulation is ready for userspace
   8fe55ce33212 ftrace: Fix kmemleak in unregister_ftrace_graph
   86f8a516079a auxdisplay: charlcd: properly restore atomic counter on error path
   99ff327c8738 stm class: Fix a use-after-free
   d68b3c9e3511 vmbus: don't acquire the mutex in vmbus_hvsock_device_unregister()
   07d4af70fd2e Drivers: hv: fcopy: restore correct transfer length
   c106e296904b cgroup: Reinit cgroup_taskset structure before cgroup_migrate_execute() returns
   336cc70e7777 driver core: platform: Don't read past the end of "driver_override" buffer
   4384e4fd5416 intel_th: pci: Add Lewisburg PCH support
   6b8889bc67cf percpu: make this_cpu_generic_read() atomic w.r.t. interrupts
   5524a161ced3 powerpc/tm: Fix illegal TM state in signal handler
   11939f4de59b powerpc/64s: Use emergency stack for kernel TM Bad Thing program checks
   19cae92eb3d3 powerpc/powernv: Increase memory block size to 1GB on radix
   6834ed0682d8 ALSA: usx2y: Suppress kernel warning at page allocation failures
   c73650323e57 Revert "ALSA: echoaudio: purge contradictions between dimension matrix members and total number of members"
   435ad40590e7 ALSA: compress: Remove unused variable
   d62ff966e300 lsm: fix smack_inode_removexattr and xattr_getsecurity memleak
   8907604ceee1 lib/ratelimit.c: use deferred printk() version
   a646d2e16d5e userfaultfd: non-cooperative: fix fork use after free
   7376b8c10bde mm: avoid marking swap cached page as lazyfree
   d912b7cf15a6 mm: fix RODATA_TEST failure "rodata_test: test data was not read only"
   3a8584637eb7 mm, oom_reaper: skip mm structs with mmu notifiers
   a3a2270666cb ksm: fix unlocked iteration over vmas in cmp_and_merge_page()
   0b833e6215f1 staging: vchiq_2835_arm: Fix NULL ptr dereference in free_pagelist
   21163f7980af uwb: ensure that endpoint is interrupt
   3474cb66fea2 uwb: properly check kthread_run return value
   27a8bc07aaaa iio: adc: mcp320x: Fix oops on module unload
   3f8385a599bb iio: adc: mcp320x: Fix readout of negative voltages
   143b44819564 iio: ad7793: Fix the serial interface reset
   c15998910ffd iio: trigger: stm32-timer: fix a corner case to write preset
   e4445ff462ff iio: trigger: stm32-timer: preset shouldn't be buffered
   620dfbd1d966 IIO: BME280: Updates to Humidity readings need ctrl_reg write!
   3f78bc054bd0 iio: core: Return error for failed read_reg
   bb9ad7727c30 staging: iio: ad7192: Fix - use the dedicated reset function avoiding dma from stack.
   ef8f8aac9c40 iio: ad_sigma_delta: Implement a dedicated reset function
   91cec30e5600 iio: adc: twl4030: Disable the vusb3v1 rugulator in the error handling path of 'twl4030_madc_probe()'
   0694b17d52b5 iio: adc: twl4030: Fix an error handling path in 'twl4030_madc_probe()'
   9598144dd7fe Revert "xhci: Limit USB2 port wake support for AMD Promontory hosts"
   d075a0375ff9 xhci: set missing SuperSpeedPlus Link Protocol bit in roothub descriptor
   214dd70fd584 usb: host: xhci-plat: allow sysdev to inherit from ACPI
   f1741099affe xhci: fix wrong endpoint ESIT value shown in tracing
   ce2e382d152c xhci: fix finding correct bus_state structure for USB 3.1 hosts
   49398e9c9987 USB: fix out-of-bounds in usb_set_configuration
   fbe76115049a usb: Increase quirk delay for USB devices
   2d3ad4d1d46d USB: core: harden cdc_parse_cdc_header
   58134902731a USB: uas: fix bug in handling of alternate settings
   4fea0da59600 USB: devio: Don't corrupt user memory
   14e7521b5253 USB: devio: Prevent integer overflow in proc_do_submiturb()
   7b6d9826473c USB: dummy-hcd: Fix erroneous synchronization change
   110b5cb4d9b4 USB: dummy-hcd: fix infinite-loop resubmission bug
   86481bcda003 USB: dummy-hcd: fix connection failures (wrong speed)
   4ffa59b1c5ef USB: cdc-wdm: ignore -EPIPE from GetEncapsulatedResponse
   9faf2caf8cfa usb: pci-quirks.c: Corrected timeout values used in handshake
   d039e3d01004 ALSA: usb-audio: Check out-of-bounds access by corrupted buffer descriptor
   7c4a2bdf47db usb: renesas_usbhs: fix usbhsf_fifo_clear() for RX direction
   928b7190418b usb: renesas_usbhs: fix the BCLR setting condition for non-DCP pipe
   a6302dbe96dc usb-storage: fix bogus hardware error messages for ATA pass-thru devices
   78b35c89cf5e usb-storage: unusual_devs entry to fix write-access regression for Seagate external drives
   c2aafffef836 usb: gadget: udc: renesas_usb3: Fix return value of usb3_write_pipe()
   3317d2d0ff4c usb: gadget: udc: renesas_usb3: fix Pn_RAMMAP.Pn_MPKT value
   251a4b607db6 usb: gadget: udc: renesas_usb3: fix for no-data control transfer
   3cb875dbac15 usb: gadget: udc: atmel: set vbus irqflags explicitly
   21f8963948de USB: gadgetfs: fix copy_to_user while holding spinlock
   57dddf4436e3 USB: gadgetfs: Fix crash caused by inadequate synchronization
   13ac3ba437dd bpf: fix bpf_tail_call() x64 JIT
   9377e85e3d96 net: rtnetlink: fix info leak in RTM_GETSTATS call
   73229f01c713 socket, bpf: fix possible use after free
   721915e62286 l2tp: fix l2tp_eth module loading
   ef4721707447 tipc: use only positive error codes in messages
   9b2249636b6e IPv4: early demux can return an error code
   857c4b1f1004 ip6_tunnel: update mtu properly for ARPHRD_ETHER tunnel device in tx path
   5222b3c935d8 ip6_gre: ip6gre_tap device should keep dst
   59d0df52c04c netlink: do not proceed if dump's start() errs
   cd53a041d929 net/mlx5e: IPoIB, Fix access to invalid memory address
   6e2af86f894f net: Set sk_prot_creator when cloning sockets to the right proto
   fd767b3c9282 net: dsa: mv88e6xxx: lock mutex when freeing IRQs
   a9b7868d8603 packet: only test po->has_vnet_hdr once in packet_snd
   49791a17d4f4 packet: in packet_do_bind, test fanout with bind_lock held
   c45234f432ed tun: bail out from tun_get_user() if the skb is empty
   f6a0ed8e5f3c l2tp: fix race condition in l2tp_tunnel_delete
   b2861a38475a vti: fix use after free in vti_tunnel_xmit/vti6_tnl_xmit
   b1c7b474de2d net: qcom/emac: specify the correct size when mapping a DMA buffer
   366fcb432b12 net_sched: always reset qdisc backlog in qdisc_reset()
   95cee692dafa isdn/i4l: fetch the ppp_write buffer in one shot
   2f707d184b55 net: change skb->mac_header when Generic XDP calls adjust_head
   53097ad73f85 bpf: one perf event close won't free bpf program attached by another perf event
   f42a78ad68f6 packet: hold bind lock when rebinding to fanout hook
   495589ad7efc net: ipv6: fix regression of no RTM_DELADDR sent after DAD failure
   f8fcd8e80c6b net: emac: Fix napi poll list corruption
   942383d73c7e tcp: fastopen: fix on syn-data transmit failure
   b9156f4cbc05 8139too: revisit napi_complete_done() usage
   c7da54ebfc21 net/sched: cls_matchall: fix crash when used with classful qdisc
   d366a6d8fa78 ip6_tunnel: do not allow loading ip6_tunnel if ipv6 is disabled in cmdline
   13b1a41fff28 net: phy: Fix mask value write on gmii2rgmii converter speed register
   8786b0419353 ip6_gre: skb_push ipv6hdr before packing the header in ip6gre_header
   4064c6617aca udpv6: Fix the checksum computation when HW checksum does not apply
   8c1ca8be42a4 bpf/verifier: reject BPF_ALU64|BPF_END
   8c8468276d86 tcp: update skb->skb_mstamp more carefully
   6746b3e1e62f tcp: use tp->tcp_mstamp in output path
   1708658272d8 sctp: potential read out of bounds in sctp_ulpevent_type_enabled()
   4adf05c23f5d net: sched: fix use-after-free in tcf_action_destroy and tcf_del_walker
   807813b1440a net_sched: gen_estimator: fix scaling error in bytes/packets samples
   2280d8256b8f net: bonding: fix tlb_dynamic_lb default value
   9ba28de2fb47 mlxsw: spectrum: Prevent mirred-related crash on removal
   d843223f43a8 net: bonding: Fix transmit load balancing in balance-alb mode if specified by sysfs
   1b7ddba95ec0 Linux 4.12.15
   9d16c1a513c7 video: fbdev: aty: do not leak uninitialized padding in clk to userspace
   bc94f3c025d3 KVM: VMX: use cmpxchg64
   cea4b7ad6495 KVM: VMX: remove WARN_ON_ONCE in kvm_vcpu_trigger_posted_interrupt
   4cebefacc13f KVM: VMX: do not change SN bit in vmx_update_pi_irte()
   5a44051221c3 x86/mm: Fix fault error path using unsafe vma pointer
   d791f8cc082d PM / OPP: Call notifier without holding opp_table->lock
   8fa3761f3899 btrfs: prevent to set invalid default subvolid
   8b7eb4320d6e btrfs: propagate error to btrfs_cmp_data_prepare caller
   66fff45ff37a btrfs: finish ordered extent cleaning if no progress is found
   d382eb1c62d7 btrfs: clear ordered flag on cleaning up ordered extents
   61f18171d910 btrfs: fix NULL pointer dereference from free_reloc_roots()
   3f619f467ff2 PCI: Fix race condition with driver_override
   8420e1f0af47 md: separate request handling
   12319e7484d2 md: fix a race condition for flush request handling
   e676df0b1216 futex: Fix pi_state->owner serialization
   b36416a27475 etnaviv: fix gem object list corruption
   691ffb4f0df4 etnaviv: fix submit error path
   a84cfcb017eb mtd: nand: atmel: fix buffer overflow in atmel_pmecc_user
   10abcdf16087 sched/sysctl: Check user input value of sysctl_sched_time_avg
   5419de995f66 xfs: validate bdev support for DAX inode flag
   1e278dd0b455 kvm: nVMX: Don't allow L2 to access the hardware CR8
   25d709528376 KVM: VMX: Do not BUG() on out-of-bounds guest IRQ
   1b5878780e93 kvm/x86: Handle async PF in RCU read-side critical sections
   acc5982be80a KVM: VMX: simplify and fix vmx_vcpu_pi_load
   1c16ff161d31 KVM: VMX: avoid double list add with VT-d posted interrupts
   0a43cc31678e KVM: VMX: extract __pi_post_block
   e7eb9c1ba767 arm64: fault: Route pte translation faults via do_translation_fault
   7babcf8e63c1 arm64: mm: Use READ_ONCE when dereferencing pointer to pte table
   38085d92217f arm64: Make sure SPsel is always set
   94a2d9d24d33 seccomp: fix the usage of get/put_seccomp_filter() in seccomp_get_filter()
   65185bc520d1 selftests/seccomp: Support glibc 2.26 siginfo_t.h
   fc5162ded95e extable: Enable RCU if it is not watching in kernel_text_address()
   e022bf93a924 extable: Consolidate *kernel_text_address() functions
   6d755f70dff5 mmc: sdhci-pci: Fix voltage switch for some Intel host controllers
   c2125202b46c rcu: Allow for page faults in NMI handlers
   0b4ff86ce0a2 iw_cxgb4: put ep reference in pass_accept_req()
   70f0bf226a5e iw_cxgb4: remove the stid on listen create failure
   c39cd8c519dd iw_cxgb4: drop listen destroy replies if no ep found
   48a056a511a4 bsg-lib: don't free job in bsg_prepare_job
   0f4a3495da6a gfs2: Fix debugfs glocks dump
   5284e4435c06 brd: fix overflow in __brd_direct_access
   da1b0075cf0c nl80211: check for the required netlink attributes presence
   f5231169840c vfs: Return -ENXIO for negative SEEK_HOLE / SEEK_DATA offsets
   98da77ff8eb5 SMB3: Don't ignore O_SYNC/O_DSYNC and O_DIRECT flags
   60746c15130d SMB3: handle new statx fields
   f874292f3df8 SMB: Validate negotiate (to protect against downgrade) even if signing off
   274d2957576d SMB3: Warn user if trying to sign connection that authenticated as guest
   69543984ef44 Fix SMB3.1.1 guest authentication to Samba
   848c26a04de0 Revert "IB/ipoib: Update broadcast object if PKey value was changed in index 0"
   df3f543b639e PM: core: Fix device_pm_check_callbacks()
   65bee7492116 s390/mm: fix write access check in gup_huge_pmd()
   b0b70437296e s390/mm: make pmdp_invalidate() do invalidation only
   3d8166e70730 s390/perf: fix bug when creating per-thread event
   5887ff9cbff2 MIPS: Fix perf event init
   ef9d7b3442ab powerpc/pseries: Fix parent_dn reference leak in add_dt_node()
   0970872dc16c KEYS: prevent KEYCTL_READ on negative key
   7427f0ec5e24 KEYS: prevent creating a different user's keyrings
   535c77f6cc0c KEYS: fix writing past end of user-supplied buffer in keyring_read()
   65e577e5d218 security/keys: rewrite all of big_key crypto
   6e4990d8d226 random: add get_random_{bytes,u32,u64,int,long,once}_wait family
   20543a488913 random: add wait_for_random_bytes() API
   37e408cf708d security/keys: properly zero out sensitive key material in big_key
   a25aa12be307 crypto: talitos - fix hashing
   e2a61a9c8de8 crypto: talitos - fix sha224
   deea80b71ca1 crypto: talitos - Don't provide setkey for non hmac hashing algs.
   42b449e1e74b crypto: drbg - fix freeing of resources
   60b92951710b drm/radeon: disable hard reset in hibernate for APUs
   b9e88e67fa58 Revert "drm/i915/bxt: Disable device ready before shutdown command"
   3f97a3dc28cc drm/i915/gvt: Fix incorrect PCI BARs reporting
   5cde5ed0e3e9 scsi: aacraid: Fix 2T+ drives on SmartIOC-2000
   31fe32c4c118 scsi: scsi_transport_iscsi: fix the issue that iscsi_if_rx doesn't parse nlmsg properly
   b051b4ae9e6a md/raid5: preserve STRIPE_ON_UNPLUG_LIST in break_stripe_batch_list
   58b050319933 md/raid5: fix a race condition in stripe batch
   805f300c67bd tracing: Remove RCU work arounds from stack tracer
   682542006df3 tracing: Erase irqsoff trace with empty write
   82306dc328b9 tracing: Fix trace_pipe behavior for instance traces
   dbc8d3db80a1 KVM: PPC: Book3S HV: Hold kvm->lock around call to kvmppc_update_lpcr
   ffd067e2cbb0 genirq/msi: Fix populating multiple interrupts
   aab5f168d7c6 genirq: Make sparse_irq_lock protect what it should protect
   dac8a5354b20 mac80211: flush hw_roc_start work before cancelling the ROC
   f6dc54e4edf3 mac80211_hwsim: Use proper TX power
   e991455baa63 mac80211: fix VLAN handling with TXQs
   3722540c8cb3 scsi: scsi_transport_fc: fix NULL pointer dereference in fc_bsg_job_timeout
   71a7d27fd864 fs/proc: Report eip/esp in /prod/PID/stat for coredumping
   3941feee3478 cifs: release auth_key.response for reconnect.
   86806e1ac9ab cifs: release cifs root_cred after exit_cifs
   0de25f7acd91 cifs: check rsp for NULL before dereferencing in SMB2_open
   8737eec0e579 sched/cpuset/pm: Fix cpuset vs. suspend-resume bugs
   a3f1d53c1c2b bcache: fix bch_hprint crash and improve output
   0fa332456800 bcache: fix for gc and write-back race
   6ec401ab79a1 bcache: fix sequential large write IO bypass
   273676b9a143 bcache: Correct return value for sysfs attach errors
   d8cc6ff5d172 bcache: correct cache_dirty_target in __update_writeback_rate()
   64a03d02ce82 bcache: do not subtract sectors_to_gc for bypassed IO
   bec155f8ae9b bcache: Fix leak of bdev reference
   809094f51397 bcache: initialize dirty stripes in flash_dev_run()
   6c2a71ced908 ALSA: seq: Cancel pending autoload work at unbinding device
   c29f8277f34c PM / devfreq: Fix memory leak when fail to register device
   2872fe22451a media: adv7180: add missing adv7180cp, adv7180st i2c device IDs
   c84111b698c8 media: uvcvideo: Prevent heap overflow when accessing mapped controls
   56575dd7a0ed media: v4l2-compat-ioctl32: Fix timespec conversion
   bb6ccacff00c s390/mm: fix race on mm->context.flush_mm
   7b33ee224620 s390/mm: fix local TLB flushing vs. detach of an mm address space
   e2813581906a net/netfilter/nf_conntrack_core: Fix net_conntrack_lock()
   77f420b4d792 PCI: pciehp: Report power fault only once until we clear it
   a58bbffad34d PCI: shpchp: Enable bridge bus mastering if MSI is enabled
   9caa334f7158 ARC: Re-enable MMU upon Machine Check exception
   fceed125b7a5 tracing: Apply trace_clock changes to instance max buffer
   e183b93ae81e tracing: Add barrier to trace_printk() buffer nesting modification
   b9b3fa21babe ftrace: Fix memleak when unregistering dynamic ops when tracing disabled
   82e12dcbfd1f ftrace: Fix selftest goto location on error
   5ab726174eae ftrace: Fix debug preempt config name in stack_tracer_{en,dis}able
   59ce93476f82 mailbox: bcm-flexrm-mailbox: Fix mask used in CMPL_START_ADDR_VALUE()
   ddaf72eb0d17 scsi: qla2xxx: Fix an integer overflow in sysfs code
   f74974648540 scsi: qla2xxx: Use fabric name for Get Port Speed command
   b4cb86cdb179 scsi: qla2xxx: Use BIT_6 to acquire FAWWPN from switch
   432d773132a5 scsi: qla2xxx: Correction to vha->vref_count timeout
   6fa7602be640 scsi: sg: fixup infoleak when using SG_GET_REQUEST_TABLE
   d55c1d09656d scsi: sg: Re-fix off by one in sg_fill_request_table()
   3992966852f4 scsi: sg: factor out sg_fill_request_table()
   c15de6f030a9 scsi: storvsc: fix memory leak on ring buffer busy
   3c710fb3c2a0 scsi: megaraid_sas: Return pended IOCTLs with cmd_status MFI_STAT_WRONG_STATE in case adapter is dead
   8323a8af45f4 scsi: megaraid_sas: Check valid aen class range to avoid kernel panic
   b06876d957af scsi: megaraid_sas: set minimum value of resetwaittime to be 1 secs
   a128d0520218 scsi: megaraid_sas: mismatch of allocated MFI frame size and length exposed in MFI MPT pass through command
   d3065824b5d8 scsi: aacraid: Fix command send race condition
   9ef86a2c2f9c scsi: qedi: off by one in qedi_get_cmd_from_tid()
   991a1a973948 scsi: zfcp: trace high part of "new" 64 bit SCSI LUN
   7373c36cf075 scsi: zfcp: trace HBA FSF response by default on dismiss or timedout late response
   2bfe5894d999 scsi: zfcp: fix payload with full FCP_RSP IU in SCSI trace records
   c679798f4383 scsi: zfcp: fix missing trace records for early returns in TMF eh handlers
   d456a6a7eba5 scsi: zfcp: fix passing fsf_req to SCSI trace on TMF to correlate with HBA
   c3542a2687e4 scsi: zfcp: fix capping of unsuccessful GPN_FT SAN response trace records
   159e38c80f1c scsi: zfcp: add handling for FCP_RESID_OVER to the fcp ingress path
   c6c3b0a8f550 scsi: zfcp: fix queuecommand for scsi_eh commands when DIX enabled
   c3df0e8d390b skd: Submit requests to firmware before triggering the doorbell
   90b434ca7fd1 skd: Avoid that module unloading triggers a use-after-free
   d850e6fbdea2 md/bitmap: disable bitmap_resize for file-backed bitmaps.
   aee5be4e0cf6 md/bitmap: copy correct data for bitmap super
   ee6afcd47b63 block: directly insert blk-mq request from blk_insert_cloned_request()
   4dfcf18b9669 block: Relax a check in blk_start_queue()
   dd7a87a9600e powerpc: Fix DAR reporting when alignment handler faults
   4ccf03cf6796 powerpc/pseries: Don't attempt to acquire drc during memory hot add for assigned lmbs
   57a7853a3297 powerpc/powernv/npu: Move tlb flush before launching ATSD
   fce49edeb7b8 cxl: Fix driver use count
   adcbc87965eb ext4: fix quota inconsistency during orphan cleanup for read-only mounts
   6d8326041868 ext4: fix incorrect quotaoff if the quota feature is enabled
   699ec491aa59 ext4: in ext4_seek_{hole,data}, return -ENXIO for negative offsets
   b9aa3e877bea wcn36xx: Introduce mutual exclusion of fw configuration
   b51f1d0bed48 regulator: cpcap: Fix standby mode
   961497c9322b crypto: AF_ALG - remove SGL terminator indicator when chaining
   e66082e0af79 crypto: caam/qi - properly set IV after {en,de}crypt
   be48e355e2b0 crypto: caam/qi - fix typo in authenc alg driver name
   c1b0aa5e489e crypto: scompress - don't sleep with preemption disabled
   bedc673ee431 crypto: ccp - Fix XTS-AES-128 support on v5 CCPs
   32bb68256227 docs: disable KASLR when debugging kernel
   ebb451616d95 MIPS: math-emu: <MADDF|MSUBF>.D: Fix accuracy (64-bit case)
   8a9e0b68b344 MIPS: math-emu: <MADDF|MSUBF>.S: Fix accuracy (32-bit case)
   f1045424c538 MIPS: math-emu: <MADDF|MSUBF>.<D|S>: Clean up "maddf_flags" enumeration
   db1ba5de2711 MIPS: math-emu: <MADDF|MSUBF>.<D|S>: Fix some cases of zero inputs
   b9891c4cf672 MIPS: math-emu: <MADDF|MSUBF>.<D|S>: Fix some cases of infinite inputs
   12ab5ebcc3f3 MIPS: math-emu: <MADDF|MSUBF>.<D|S>: Fix NaN propagation
   b3a6ac0d63b6 MIPS: math-emu: MINA.<D|S>: Fix some cases of infinity and zero inputs
   797910efa67c MIPS: math-emu: <MAXA|MINA>.<D|S>: Fix cases of both infinite inputs
   32401438ab1c MIPS: math-emu: <MAXA|MINA>.<D|S>: Fix cases of input values with opposite signs
   b4095004e721 MIPS: math-emu: <MAX|MIN>.<D|S>: Fix cases of both inputs negative
   47e062700023 MIPS: math-emu: <MAX|MAXA|MIN|MINA>.<D|S>: Fix cases of both inputs zero
   9db3b8a2ffed MIPS: math-emu: <MAX|MAXA|MIN|MINA>.<D|S>: Fix quiet NaN propagation
   c8b054b62131 Input: i8042 - add Gigabyte P57 to the keyboard reset table
   39d29eb95f64 pinctrl/amd: save pin registers over suspend/resume
   b36d90f0b2fb pinctrl: samsung: Fix NULL pointer exception on external interrupts on S3C24xx
   b098a309db19 pinctrl: samsung: Fix invalid register offset used for Exynos5433 external interrupts
   a6a33ff37c4c tty: improve tty_insert_flip_char() slow path
   d584d1580fc4 tty: improve tty_insert_flip_char() fast path
   361c23e37c1f drm/amdgpu: read reg in each iterator of psp_wait_for loop
   c29802eb2b14 Input: xpad - validate USB endpoint type during probe
   f56b7f2bf63e smp/hotplug: Handle removal correctly in cpuhp_store_callbacks()
   c4705a91ac8f srcu: Provide ordering for CPU not involved in grace period
   7ac16054fc2b IB/mlx5: Fix cached MR allocation flow
   1183d4d2624c IB/{qib, hfi1}: Avoid flow control testing for RDMA write operation
   3e5ed45a45e0 IB/hfi1: Revert egress pkey check enforcement
   1994169a2b63 <linux/uaccess.h>: Fix copy_in_user() declaration
   f8d5b811ae66 orangefs: Don't clear SGID when inheriting ACLs

(From OE-Core rev: 0e4d8af892207a14a042c8c921d124a399dca23e)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 72a9b142c3eeb4f89a44db978daf49ba60ffae8f)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:56 +00:00
Joe Slater
eeae09b7a8 systemd: fix segfault when terminating systemd --test
Currently, if "systemd --test" is not allowed to complete
sending output, it will segfault.

(From OE-Core rev: 275aa008699f576ff3465f1c5d552cd367352bd0)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 7e4632f17ba92ac71351e45acf11f0d7dfe14e0c)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:56 +00:00
Chang Rebecca Swee Fun
b443c17416 recipetool: create: fix conflict between SRCREV and tag
If you specify 'tag=' for a git URL and passed to recipetool create, you
will get into Bitbake expansion error shown below:

----- snip -----
$ devtool add --version 2.4.2 mbedtls "git://github.com/ARMmbed/mbedtls;tag=mbedtls-2.4.2"
...
bb.data_smart.ExpansionError: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception FetchError: Fetcher failure: Conflicting revisions (abeccb9dbd7e19ae91ac50e1edd3803111c5f9b6 from SRCREV and mbedtls-2.4.2 from the url) found, please specify one valid value
----- snip -----

Assuming the tag is valid, we should get the tag commit hash and
drop the usage of 'tag=' from SRC_URI. By using a commit hash
corresponding to the tag will prevent bitbake from accessing
remote repository in order to expand SRCPV.

(From OE-Core rev: 4953d54dd06ff7025406d2df6a71c95162cc1ec7)

Signed-off-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 53f8effa3eb07dc7035ff9933e7918318f242579)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:56 +00:00
Ross Burton
6345417037 libxslt: use HTTP instead of FTP in SRC_URI
FTP isn't as reliable as HTTP.

[ YOCTO #12398 ]

(From OE-Core rev: e2573aeeadcd8b34098963ead5667bcdf0517f5e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 52263f5f6caeaf215ab96d58218fb5f9a2ed4264)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:56 +00:00
Jason Wessel
6bcf8a3854 ovmf: Fix build failure for PARALLEL_MAKE with no space
The ovmf package fails to build if you use a PARALLEL_MAKE flag
without a space in it.  If you put the following in local.conf for
example:

     PARALLEL_MAKE = "-j4"

The build will fail with as follows:

| build.exe: error: Option -n only allows one instance in command line!
| WARNING: /opt/build/ovmf/git-r0/temp/run.do_compile.26080:1 exit 2 from '/opt/build/ovmf/git-r0/git/OvmfPkg/build.sh $PARALLEL_JOBS -a $OVMF_ARCH -b RELEASE -t ${FIXED_GCCVER}'
| ERROR: Function failed: do_compile (log file is located at /opt/build/ovmf/git-r0/temp/log.do_compile.26080)

The failure is because the build.sh expects a space.  The simple work
around is to fix the recipe to add some white space.  The build.sh
only cares that it gets at least one space between the arguments, the
extra space if someone uses "-j 4" does not cause problems.

(From OE-Core rev: 89456f911425c3e7f65e8b9202b8d02775129923)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit cf7f4705e65a877cb4b3ac8872369c1b2e81a7be)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:56 +00:00
Bruce Ashfield
5ea6b59d8e kernel-yocto: ensure that only a single defconfig is processed
As a follow up to the changes to ensure that KBUILD_DEFCONFIG will
always get its defconfig into the processing, we also should ensure that
we don't get both a KBUILD_DEFCONFIG and a SRC_URI defconfig in the
configuration queue. If both are in the configuration queue, we end up
with competing values and a potentially long running check of 5000+
options x 2 against the final .config.

By removing the defconfig found from the SRC_URI when one is found
via KBUILD_DEFCONFIG, we ensure that only one will be processed.

(From OE-Core rev: d831b1cbff2901f10f79bb43c839839f73c428a3)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7e98c295c1bb511ece51b5f8c97f26c173ddaf76)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:56 +00:00
Saul Wold
ec834113ec kernel-yocto: Stop the build if defconfig is missing
The bberror does not stop the build correctly, this should be a
bbfatal_log to ensure the failure correctly stops the build and logs
the failure.

Part of
[YOCTO #12162]

(From OE-Core rev: 57791aa2700c39549cd0e542d7fdbb89c6185e22)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 44ff06635e7f575e67b7ebba5d6900b8ddbc4a06)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:56 +00:00
Saul Wold
a74725bc8d kernel-yocto: ensure sccs variable is set when using KBUILD_DEFCONFIG
When using KBUILD_DEFCONFIG, $sccs should be set to the $WORKDIR/defconfig
regardless if it compares or is copied. Otherwise $sccs is not set and the
defconfig is not found correctly.

Part of
[YOCTO #12162]

(From OE-Core rev: 19c49d8d19341b377640af99c98e8f9d45cefb1b)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b63cc051f1eb58c768f49db2c04843336e62d3df)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:56 +00:00
Bruce Ashfield
5048da089a linux-yocto/4.9: update to v4.9.65
Integrating the korg stable updates that include the following changes:

    133e6ccf46f1 Linux 4.9.65
    ceaec6e8cd98 mm/pagewalk.c: report holes in hugetlb ranges
    fae5947129eb coda: fix 'kernel memory exposure attempt' in fsync
    9980b8278338 mm/page_alloc.c: broken deferred calculation
    55b06b0fc09b ipmi: fix unsigned long underflow
    8af777385f7a ocfs2: should wait dio before inode lock in ocfs2_setattr()
    a8356445ba0f ocfs2: fix cluster hang after a node dies
    2bd38ece78a4 dmaengine: dmatest: warn user when dma test times out
    e6d4a078f0e7 serial: 8250_fintek: Fix finding base_port with activated SuperIO
    70eb4608bb0e serial: omap: Fix EFR write on RTS deassertion
    2cfbb32f6ccb ima: do not update security.ima if appraisal status is not INTEGRITY_PASS
    aa15fe4d6a7f crypto: dh - Fix double free of ctx->p
    4a7e02312420 crypto: dh - fix memleak in setkey
    67b718fcf897 net/sctp: Always set scope_id in sctp_inet6_skb_msgname
    f0ae7a1b45fa fealnx: Fix building error on MIPS
    362d2ce0f851 sctp: do not peel off an assoc from one netns to another one
    99aa74ce9c2d af_netlink: ensure that NLMSG_DONE never fails in dumps
    080ecd2bb62b vlan: fix a use-after-free in vlan_device_event()
    58baa36d3728 net: usb: asix: fill null-ptr-deref in asix_suspend
    4ad82095bfe2 qmi_wwan: Add missing skb_reset_mac_header-call
    02a0c0639ae0 net: qmi_wwan: fix divide by 0 on bad descriptors
    f376621861e3 net: cdc_ether: fix divide by 0 on bad descriptors
    6f239c0655cf bonding: discard lowest hash bit for 802.3ad layer3+4
    afd9fa661927 netfilter/ipvs: clear ipvs_property flag when SKB net namespace changed
    3920a5bdd951 tcp: do not mangle skb->cb[] in tcp_make_synack()
    58b21b028721 net: vrf: correct FRA_L3MDEV encode type
    b0e50c4e895a tcp_nv: fix division by zero in tcpnv_acked()
    563c24f65f4f Linux 4.9.64
    6fbd42df9217 staging: greybus: spilib: fix use-after-free after deregistration
    d8b5d88d2195 brcmfmac: don't preset all channels as disabled
    54a5155afa84 x86/MCE/AMD: Always give panic severity for UC errors in kernel context
    f6643fc829e0 USB: serial: garmin_gps: fix memory leak on probe errors
    579cf722f8c1 USB: serial: garmin_gps: fix I/O after failed probe and remove
    1f9688d551e3 USB: serial: qcserial: add pid/vid for Sierra Wireless EM7355 fw update
    fd6a742d8bf7 usb: gadget: f_fs: Fix use-after-free in ffs_free_inst
    599973738e28 USB: Add delay-init quirk for Corsair K70 LUX keyboards
    87ff414178cb USB: usbfs: compute urb->actual_length for isochronous
    11fdb41a1faa crypto: dh - Don't permit 'key' or 'g' size longer than 'p'
    2d3a0d950156 crypto: dh - Don't permit 'p' to be 0
    e38fe6397f73 Revert "dt-bindings: Add LEGO MINDSTORMS EV3 compatible specification"
    a9a3cb25d9c1 Revert "dt-bindings: Add vendor prefix for LEGO"
    f95d6058d5cc uapi: fix linux/rds.h userspace compilation errors
    3323d07612b2 uapi: fix linux/rds.h userspace compilation error
    3f0cc54226ca Revert "uapi: fix linux/rds.h userspace compilation errors"
    d8ce2b0874a7 Revert "crypto: xts - Add ECB dependency"
    d7df7af5b9b6 MIPS: Netlogic: Exclude netlogic,xlp-pic code from XLR builds
    ade4b22d47bb MIPS: traps: Ensure L1 & L2 ECC checking match for CM3 systems
    73b6038950cd MIPS: init: Ensure reserved memory regions are not added to bootmem
    6539d1ca4fc9 MIPS: init: Ensure bootmem does not corrupt reserved memory
    3b0f619cd4b9 MIPS: End asm function prologue macros with .insn
    b53bab72b9d8 staging: greybus: add host device function pointer checks
    1f5a7caba79e staging: wilc1000: Fix endian sparse warning
    ca24e702ccfa staging: rtl8712: fixed little endian problem
    ef417b59c222 ixgbe: do not disable FEC from the driver
    bc656fda2442 ixgbe: add mask for 64 RSS queues
    7316fb33f0a5 ixgbe: Reduce I2C retry count on X550 devices
    e15dad31b10b ixgbe: Fix reporting of 100Mb capability
    3bed7d680acf ixgbe: handle close/suspend race with netif_device_detach/present
    6a4ef8b6ceeb ixgbe: fix AER error handling
    6c7999904f32 ixgbe: Configure advertised speeds correctly for KR/KX backplane
    5d820f84e169 arm64: dts: NS2: reserve memory for Nitro firmware
    f6e94c2c16fe ALSA: hda/realtek - Add new codec ID ALC299
    0e2245ab6901 gpu: drm: mgag200: mgag200_main:- Handle error from pci_iomap
    473286bdd58d backlight: adp5520: Fix error handling in adp5520_bl_probe()
    6aaf9ba9bde7 backlight: lcd: Fix race condition during register
    acc365c02859 drm/omap: panel-sony-acx565akm.c: Add MODULE_ALIAS
    5d1d893d31ce ALSA: vx: Fix possible transfer overflow
    0f4ea85748bf ALSA: vx: Don't try to update capture stream before running
    9dc7637700e5 power: supply: axp288_fuel_gauge: Read 12 bit values 2 registers at a time
    0010542d3f79 power: supply: axp288_fuel_gauge: Read 15 bit values 2 registers at a time
    d9a5790b2145 rtc: rx8010: change lock mechanism
    cb341679a5b4 scsi: lpfc: Clear the VendorVersion in the PLOGI/PLOGI ACC payload
    235d82cb46d2 scsi: lpfc: Correct issue leading to oops during link reset
    f89885d40a5f scsi: lpfc: Correct host name in symbolic_name field
    b4e42f5d0116 scsi: lpfc: FCoE VPort enable-disable does not bring up the VPort
    01347f537f6c scsi: lpfc: Add missing memory barrier
    d9b035e70426 x86/irq, trace: Add __irq_entry annotation to x86's platform IRQ handlers
    f7d1861153d4 staging: rtl8188eu: fix incorrect ERROR tags from logs
    fe975496da30 tcp: provide timestamps for partial writes
    cfb09f0571a5 scsi: ufs: add capability to keep auto bkops always enabled
    ea56533994fe scsi: ufs-qcom: Fix module autoload
    0ef1e72e73fe igb: Fix hw_dbg logging in igb_update_flash_i210
    64da1e5ea30d igb: close/suspend race in netif_device_detach
    2aed3814969b igb: reset the PHY before reading the PHY ID
    38fa955da251 drm/sti: sti_vtg: Handle return NULL error from devm_ioremap_nocache
    02c7292bb7ee ata: SATA_MV should depend on HAS_DMA
    cece64a6107c ata: SATA_HIGHBANK should depend on HAS_DMA
    1122c15f0a96 ata: ATA_BMDMA should depend on HAS_DMA
    15a65b946c61 ARM: dts: omap5-uevm: Allow bootloader to configure USB Ethernet MAC
    c26fa1306c80 ARM: dts: Fix omap3 off mode pull defines
    e96a11f64b81 ARM: OMAP2+: Fix init for multiple quirks for the same SoC
    db458f6e6110 ARM: dts: Fix am335x and dm814x scm syscon to probe children
    f022fa1b61e5 ARM: dts: Fix compatible for ti81xx uarts for 8250
    e17a5a8fc0bd fm10k: request reset when mbx->state changes
    6202042b7428 extcon: palmas: Check the parent instance to prevent the NULL
    c4a77534ce2b extcon: Remove potential problem when calling extcon_register_notifier()
    ee61d06653fd Bluetooth: btusb: fix QCA Rome suspend/resume
    a5bd3edda619 arm: crypto: reduce priority of bit-sliced AES cipher
    49c1e5f03238 media: dib0700: fix invalid dvb_detach argument
    ca98a5c72170 media: imon: Fix null-ptr-deref in imon_probe
    ea88d5c5f411 Linux 4.9.63
    e81b96cab11f misc: panel: properly restore atomic counter on error path
    b2dbcb7c969d qla2xxx: Fix incorrect tcm_qla2xxx_free_cmd use during TMR ABORT (v2)
    ff4927181666 target/iscsi: Fix iSCSI task reassignment handling
    e7c9ca5a3f46 brcmfmac: remove setting IBSS mode when stopping AP
    31c8c4942820 security/keys: add CONFIG_KEYS_COMPAT to Kconfig
    a23349bb9f12 netfilter: nat: Revert "netfilter: nat: convert nat bysrc hash to rhashtable"
    25db12f1c584 netfilter: nat: avoid use of nf_conn_nat extension
    fd1ca9fea458 Revert "ARM: dts: imx53-qsb-common: fix FEC pinmux config"
    1862eca99e27 ALSA: seq: Cancel pending autoload work at unbinding device
    9d65d0ea55dc Input: ims-psu - check if CDC union descriptor is sane
    8cf061d919e2 usb: usbtest: fix NULL pointer dereference
    ddd95bc900ae mac80211: don't compare TKIP TX MIC key in reinstall prevention
    38762a516e0c mac80211: use constant time comparison with keys
    2586fa0007dc mac80211: accept key reinstall without changing anything
    ac4cfc730e4b ppp: fix race in ppp device destruction
    7b9870f07854 net_sched: avoid matching qdisc with zero handle
    b89fc6a5caff sctp: reset owner sk for data chunks on out queues when migrating a sock
    210a6418730b tun: allow positive return values on dev_get_valid_name() call
    d6b1aebcd7a5 ip6_gre: update dst pmtu if dev mtu has been updated by toobig in __gre6_xmit
    6d428bc40a42 ip6_gre: only increase err_count for some certain type icmpv6 in ip6gre_err
    df0eebcea8e5 ipip: only increase err_count for some certain type icmp in ipip_err
    fbf92277e6d2 tap: double-free in error path in tap_open()
    62de3fe46c6b net/unix: don't show information about sockets from other namespaces
    2af59c6557a5 tcp/dccp: fix other lockdep splats accessing ireq_opt
    3107d4dc7a80 tcp/dccp: fix lockdep splat in inet_csk_route_req()
    ec5caf542066 sctp: full support for ipv6 ip_nonlocal_bind & IP_FREEBIND
    28fa583fd8ce ipv6: flowlabel: do not leave opt->tot_len with garbage
    3b0b4d2c47ec soreuseport: fix initialization race
    57ffb0ecf367 packet: avoid panic in packet_getsockopt()
    2ffd26133724 tcp/dccp: fix ireq->opt races
    bcb9ced1833c sctp: add the missing sock_owned_by_user check in sctp_icmp_redirect
    3e2ab0ceef68 tun: call dev_get_valid_name() before register_netdevice()
    9075216b8b93 l2tp: check ps->sock before running pppol2tp_session_ioctl()
    e12c42c55287 tcp: fix tcp_mtu_probe() vs highest_sack
    cb5880e677a1 net: call cgroup_sk_alloc() earlier in sk_clone_lock()
    4cd69ad53001 netlink: do not set cb_running if dump's start() errs
    d87890d9ff15 ipv6: addrconf: increment ifp refcount before ipv6_del_addr()
    5b9d20195a25 tun/tap: sanitize TUNSETSNDBUF input
    97ba8f88b448 gso: fix payload length when gso_size is zero
    9b609ba2c2df Linux 4.9.62
    e45d93b48c93 x86/oprofile/ppro: Do not use __this_cpu*() in preemptible context
    9d5e5994c5f9 x86/smpboot: Make optimization of delay calibration work correctly
    9313d039c4d0 can: c_can: don't indicate triple sampling support for D_CAN
    5e01a9f94e59 can: ifi: Fix transmitter delay calculation
    f45c1b09261b can: sun4i: handle overrun in RX FIFO
    bad4c8f1bc25 drm/bridge: adv7511: Re-write the i2c address before EDID probing
    6731d54c7868 drm/bridge: adv7511: Reuse __adv7511_power_on/off() when probing EDID
    efc6d340e410 drm/bridge: adv7511: Rework adv7511_power_on/off() so they can be reused internally
    55e7e5213817 drm/vmwgfx: Fix Ubuntu 17.10 Wayland black screen issue
    4f027e3c7b62 rbd: use GFP_NOIO for parent stat and data requests
    9f2ac3d8cb31 Input: elan_i2c - add ELAN060C to the ACPI table
    1331af440ad2 MIPS: AR7: Ensure that serial ports are properly set up
    76aaa788e92a MIPS: AR7: Defer registration of GPIO
    b17e663e150c MIPS: BMIPS: Fix missing cbr address
    bbc62fb031a6 ASoC: sun4i-spdif: remove legacy dapm components
    fb705ebf996e tools: firmware: check for distro fallback udev cancel rule
    ebf95a6f0286 selftests: firmware: send expected errors to /dev/null
    b98220399dc4 MIPS: SMP: Fix deadlock & online race
    3b9fd3333aaf MIPS: Fix race on setting and getting cpu_online_mask
    d99db83cafbf MIPS: SMP: Use a completion event to signal CPU up
    71bcb37ff5fa MIPS: Fix CM region target definitions
    16d5634e8827 MIPS: microMIPS: Fix incorrect mask in insn_table_MM
    7de694782cbe drm/i915: Do not rely on wm preservation for ILK watermarks
    b35783871190 ALSA: seq: Avoid invalid lockdep class warning
    4b52c3170bd8 ALSA: seq: Fix OSS sysex delivery in OSS emulation
    1541afbfb4a2 ARM: 8720/1: ensure dump_instr() checks addr_limit
    8ea52a683f81 KEYS: fix NULL pointer dereference during ASN.1 parsing [ver #2]
    2822bbb53269 crypto: x86/sha256-mb - fix panic due to unaligned access
    ca6c028e2fe4 crypto: x86/sha1-mb - fix panic due to unaligned access
    58ed8a47e450 crypto: ccm - preserve the IV buffer
    46f15501c5b7 workqueue: Fix NULL pointer dereference
    2715f6841a08 x86/uaccess, sched/preempt: Verify access_ok() context
    07e415ac5ca1 platform/x86: hp-wmi: Do not shadow error values
    0a18a94af43f platform/x86: hp-wmi: Fix error value for hp_wmi_tablet_state
    419ec342d312 KEYS: trusted: fix writing past end of buffer in trusted_read()
    64a234537a88 KEYS: trusted: sanitize all key material
    bddc61e7732b cdc_ncm: Set NTB format again after altsetting switch for Huawei devices
    047b67372d7b platform/x86: hp-wmi: Fix detection for dock and tablet mode
    0e1cfde447fe net: dsa: select NET_SWITCHDEV
    fa8f3a67b9a8 clk: mvebu: adjust AP806 CPU clock frequencies to production chip
    326ef0fd4fb2 IB/rxe: Fix reference leaks in memory key invalidation code
    93e1956dddf5 wcn36xx: Don't use the destroyed hal_mutex
    72eff92d84f0 s390/qeth: issue STARTLAN as first IPA command
    c4d567ef164e s390/qeth: fix retrieval of vipa and proxy-arp addresses
    e793ad50d151 ARM: dts: STiH410-family: fix wrong parent clock frequency
    d369bba84410 IB/ipoib: Change list_del to list_del_init in the tx object
    8b93cbd12547 sched/cputime, powerpc32: Fix stale scaled stime on context switch
    a3a76ea2c072 Input: mpr121 - set missing event capability
    260e2e82c247 Input: mpr121 - handle multiple bits change of status register
    0ddb64c14856 s390/topology: make "topology=off" parameter work
    8b45f832b33b EDAC, amd64: Save and return err code from probe_one_instance()
    e41c105195ca IPsec: do not ignore crypto err in ah4 input
    ab71bee531fd apparmor: fix undefined reference to `aa_g_hash_policy'
    c944dc7aedfb rt2800usb: mark tx failure on timeout
    be5125d4fa9e brcmfmac: setup wiphy bands after registering it first
    c5493c6e4a6a netfilter: nft_meta: deal with PACKET_LOOPBACK in netdev family
    a7eba17c44f3 usb: hcd: initialize hcd->flags to 0 when rm hcd
    397b6e5d7bbe libertas: fix improper return value
    2ae9f47ce114 serial: sh-sci: Fix register offsets for the IRDA serial port
    a88a90128888 phy: increase size of MII_BUS_ID_SIZE and bus_id
    04e13a5ec96d dt-bindings: Add vendor prefix for LEGO
    852bf68b7a62 dt-bindings: Add LEGO MINDSTORMS EV3 compatible specification
    f89e669323ad iio: proximity: sx9500: claim direct mode during raw proximity reads
    6d8897645b98 iio: magnetometer: mag3110: claim direct mode during raw writes
    87e4965cec61 iio: pressure: ms5611: claim direct mode during oversampling changes
    19d0541bd2c2 iio: trigger: free trigger resource correctly
    6bcd1787b587 drm: mali-dp: fix Lx_CONTROL register fields clobber
    9c9040a85966 crypto: vmx - disable preemption to enable vsx in aes_ctr.c
    dea9c75f3f62 arm64: dma-mapping: Only swizzle DMA ops for IOMMU_DOMAIN_DMA
    d2e589f305b0 ARM: omap2plus_defconfig: Fix probe errors on UARTs 5 and 6
    870b502a0208 cxl: Force psl data-cache flush during device shutdown
    f88f299a94e0 powerpc/corenet: explicitly disable the SDHC controller on kmcoge4
    a4193ceee266 pinctrl: baytrail: Fix debugfs offset output
    3a8ab788bf01 iommu/arm-smmu-v3: Clear prior settings when updating STEs
    6f51c8a58397 KVM: PPC: Book 3S: XICS: correct the real mode ICP rejecting counter
    61fdf68034a9 drm: drm_minor_register(): Clean up debugfs on failure
    872c075b6cb2 clk: samsung: exynos5433: Add IDs for PHYCLK_MIPIDPHY0_* clocks
    a276210915d5 PM / OPP: Error out on failing to add static OPPs for v1 bindings
    7422c5813a9d EDAC, amd64: Add x86cpuid sanity check during init
    2f945e749ee2 dt-bindings: clockgen: Add compatible string for LS1012A
    62b9fa2c436f ARM: dts: imx53-qsb-common: fix FEC pinmux config
    a1644f9c78e4 xen/netback: set default upper limit of tx/rx queues to 8
    6da1c989ccce sched/core: Add missing update_rq_clock() call in sched_move_task()
    7ac8a10c8a50 PCI: mvebu: Handle changes to the bridge windows while enabled
    bf41c17c2266 video: fbdev: pmag-ba-fb: Remove bad `__init' annotation
    95e5e7ed5a8a adv7604: Initialize drive strength to default when using DT

(From OE-Core rev: 09c2b21a84fbc84273a497ee4cd91bfedf4e2dd8)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8fe7f4d227f2f4ae0e39d6661b848611d907c0b6)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:56 +00:00
Bruce Ashfield
c8d7b6d7f8 linux-yocto/4.12: iwlwifi calltrace fixes and configuration warning cleanups
Merging the following upstream backports to fix a iwlwifi calltrace:

  0b17e1b52f99 iwlwifi: mvm: support new flush API
  89025056c0d1 iwlwifi: mvm: avoid variable shadowing
  d6dc077966e7 iwlwifi: mvm: add and use iwl_mvm_device_running()
  5dfb593df8f0 iwlwifi: add wait for tx queue empty
  0e8726bf748a iwlwifi: mvm: wait for the flushed queue only
  8e2d37ae55a7 iwlwifi: mvm: flush per station for DQA mode

Also merging the following configuration changes to cleanup kernel audit
warnings:

  9f1f122a7d87 features/dca/dca.cfg: fix CONFIG_IXGBE_DCA can not enble if build ixgbe in kernel
  d355f082c54d features/iommu/iommu.cfg: remove CONFIG_INTEL_IOMMU_DEFAULT_ON=n
  9399ae045c72 features/tpm/tpm.cfg: set CONFIG_HW_RANDOM_TPM as module

(From OE-Core rev: 8b6dba3df7a304ca491c10325cc9c54bc24b3f1e)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 195758b0a611e937af41880ad81c312de654c5b8)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:56 +00:00
Bruce Ashfield
463df0d141 linux-yocto/4.9: update to v4.9.61
Integrating the korg -stable updates that comprise the following commits:

   5caae9d14199 Linux 4.9.61
   be3390d86bc2 ARM: dts: mvebu: pl310-cache disable double-linefill
   26fc85a0113d staging: r8712u: Fix Sparse warning in rtl871x_xmit.c
   244cff7066f6 xen: don't print error message in case of missing Xenstore entry
   c90b65d8b8fb powerpc/64: Don't try to use radix MMU under a hypervisor
   df0c2d409e9d PCI: Avoid possible deadlock on pci_lock and p->pi_lock
   8e5ca01ac966 drm/exynos: g2d: prevent integer overflow in
   2a6576f56eab bt8xx: fix memory leak
   c31f5651aed7 s390/crypto: Extend key length check for AES-XTS in fips mode.
   aa7a7e92e08e s390/prng: Adjust generation of entropy to produce real 256 bits.
   ba56e6cd9741 s390/dasd: check for device error pointer within state change interrupts
   0b5cdee7df76 mei: return error on notification request to a disconnected client
   ad1267a0c9f7 exynos4-is: fimc-is: Unmap region obtained by of_iomap()
   bfcbe6cd1551 ASoC: Intel: boards: remove .pm_ops in all Atom/DPCM machine drivers
   2e727b8abeeb vfs: open() with O_CREAT should not create inodes with unknown ids
   7ec661f58578 brcmfmac: check brcmf_bus_get_memdump result for error
   a69bec9bd3a4 staging: lustre: lmv: Error not handled for lmv_find_target
   758d3ea8247e staging: lustre: ptlrpc: skip lock if export failed
   091f48a66440 staging: lustre: hsm: stack overrun in hai_dump_data_field
   a513df5968ad staging: lustre: llite: don't invoke direct_IO for the EOF case
   c3f0c2c14000 platform/x86: intel_mid_thermal: Fix module autoload
   db5323e5088c scsi: aacraid: Process Error for response I/O
   b469d5c393c2 xen/manage: correct return value check on xenbus_scanf()
   b1a38567a9ed gpio: mcp23s08: Select REGMAP/REGMAP_I2C to fix build error
   293c98f15d04 mtd: nand: sunxi: Fix the non-polling case in sunxi_nfc_wait_events()
   ceec8374d790 clk: sunxi-ng: Check kzalloc() for errors and cleanup error path
   d3b56161e0a3 ath10k: fix reading sram contents for QCA4019
   90400ec14408 cx231xx: Fix I2C on Internal Master 3 Bus
   64674bc8eead net: phy: dp83867: Recover from "port mirroring" N/A MODE4
   227afd93a6ad clocksource/drivers/arm_arch_timer: Add dt binding for hisilicon-161010101 erratum
   35c309e4c446 drm/fsl-dcu: check for clk_prepare_enable() error
   2b462a38bfea iwlwifi: mvm: use the PROBE_RESP_QUEUE to send deauth to unknown station
   195fe2ec8631 perf tools: Only increase index if perf_evsel__new_idx() succeeds
   24cca20a0988 drm/amdgpu: when dpm disabled, also need to stop/start vce.
   f04d92e10580 i2c: riic: correctly finish transfers
   46d515488a07 net/ena: change driver's default timeouts
   16d65c0c0181 ext4: do not use stripe_width if it is not set
   0e9deca480c3 ext4: fix stripe-unaligned allocations
   a418b2fd8e53 net: mvneta: fix build errors when linux/phy*.h is removed from net/dsa.h
   c16283db12e1 PCI/MSI: Return failure when msix_setup_entries() fails
   a624515184da staging: rtl8712u: Fix endian settings for structs describing network packets
   47d7bc22c054 bnxt_en: Added PCI IDs for BCM57452 and BCM57454 ASICs
   e6f3caf3bf81 mfd: axp20x: Fix axp288 PEK_DBR and PEK_DBF irqs being swapped
   b15965b00686 mfd: ab8500-sysctrl: Handle probe deferral
   1bd47ceafbd7 mmc: s3cmci: include linux/interrupt.h for tasklet_struct
   31a8b19dbe6a scsi: megaraid_sas: Do not set fp_possible if TM capable for non-RW syspdIO, change fp_possible to bool
   7da4cd97f58b PM / wakeirq: report a wakeup_event on dedicated wekup irq
   80eabac6c53a IB/mlx5: Assign DSCP for R-RoCE QPs Address Path
   733ab05adc1e staging: fsl-mc: Add missing header
   58b9a54ae03d crypto: ccp - Set the AES size field for all modes
   5208153038d3 cpufreq: Do not clear real_cpus mask on policy init
   f1e7f9dc1198 Fix tracing sample code warning.
   86b0853f7391 tracing/samples: Fix creation and deletion of simple_thread_fn creation
   8b2653de6f78 drm/msm: fix an integer overflow test
   06bf74cdbdbe drm/msm: Fix potential buffer overflow issue
   984dcb32ffd0 drm/i915/edp: read edp display control registers unconditionally
   f2fd2d945446 ocfs2: fstrim: Fix start offset of first cluster group during fstrim
   09907f0cbe61 drm/amdgpu: return -ENOENT from uvd 6.0 early init for harvesting
   b3937f55c725 ARM: 8715/1: add a private asm/unaligned.h
   e059fc3c36c0 arm/arm64: kvm: Disable branch profiling in HYP code
   d7d5a30e23a2 arm/arm64: KVM: set right LR register value for 32 bit guest when inject abort
   011b44af0077 arm64: ensure __dump_instr() checks addr_limit
   43f69519e9f9 ASoC: adau17x1: Workaround for noise bug in ADC
   cb14a0dd1f74 KEYS: fix out-of-bounds read during ASN.1 parsing
   0be72aebbff3 KEYS: return full count in keyring_read() if buffer is too small
   5e8b028abaf8 cifs: check MaxPathNameComponentLength != 0 before using it
   ffb76bb8aa9e ALSA: seq: Fix nested rwsem annotation for lockdep splat
   c778c8187e44 ALSA: timer: Add missing mutex lock for compat ioctls
   06b639e5a1a6 Linux 4.9.60
   4b86c486e628 ecryptfs: fix dereference of NULL user_key_payload
   bdcb6c994c16 regulator: fan53555: fix I2C device ids
   543aabb7d14b ipsec: Fix aborted xfrm policy dump crash
   bb46f793ad02 cfg80211: fix connect/disconnect edge cases
   7e31cdee8b89 can: kvaser_usb: Ignore CMD_FLUSH_QUEUE_REPLY messages
   636e798d1483 can: kvaser_usb: Correct return value in printout
   c4fe13bd538e can: sun4i: fix loopback mode
   e6b5e3b6344e drm/amd/powerplay: fix uninitialized variable
   5a0dbfeed4fc scsi: sg: Re-fix off by one in sg_fill_request_table()
   88acde81e80f scsi: zfcp: fix erp_action use-before-initialize in REC action trace
   67bcc5e530d5 assoc_array: Fix a buggy node-splitting case
   52f65e35c2b8 Input: gtco - fix potential out-of-bound access
   9460dd363334 Input: elan_i2c - add ELAN0611 to the ACPI table
   d431d9f122ab xen/gntdev: avoid out of bounds access in case of partial gntdev_mmap()
   8783885ea7fe fuse: fix READDIRPLUS skipping an entry
   d8e5f2f8d507 spi: bcm-qspi: Fix use after free in bcm_qspi_probe() in error path
   1dfea1eeac64 spi: uapi: spidev: add missing ioctl header
   474cb9e0f02f KVM: PPC: Fix oops when checking KVM_CAP_PPC_HTM
   659b04ad201b usb: xhci: Handle error condition in xhci_stop_device()
   a703da486eca ceph: unlock dangling spinlock in try_flush_caps()
   41f804df5644 ALSA: hda - fix headset mic problem for Dell machines with alc236
   61ae3fbc85f4 ALSA: hda/realtek - Add support for ALC236/ALC3204
   43a980a99654 workqueue: replace pool->manager_arb mutex with a flag
   d785062ef20f Linux 4.9.59
   d2d576e28554 FS-Cache: fix dereference of NULL user_key_payload
   63c8e4525549 KEYS: Fix race between updating and finding a negative key
   b2ac5d4516fb fscrypt: fix dereference of NULL user_key_payload
   f374505b7910 xfs: trim writepage mapping to within eof
   245262c66d1d xfs: cancel dirty pages on invalidation
   67d73f4122a3 xfs: handle error if xfs_btree_get_bufs fails
   fee940a8bef1 xfs: reinit btree pointer on attr tree inactivation walk
   0fe7d85b5a99 xfs: don't change inode mode if ACL update fails
   3a5a338aec3f xfs: move more RT specific code under CONFIG_XFS_RT
   3042b3a5a4ee xfs: Don't log uninitialised fields in inode structures
   1b4998dceda7 xfs: handle racy AIO in xfs_reflink_end_cow
   002295a6be81 xfs: always swap the cow forks when swapping extents
   d59a3f7f3caa xfs: Capture state of the right inode in xfs_iflush_done
   98cbca24894c xfs: perag initialization should only touch m_ag_max_usable for AG 0
   0eebfedec144 xfs: update i_size after unwritten conversion in dio completion
   d1b2a35f8f57 xfs: report zeroed or not correctly in xfs_zero_range()
   6f770625b421 fs/xfs: Use %pS printk format for direct addresses
   92f606092f6c xfs: evict CoW fork extents when performing finsert/fcollapse
   4e9de11c2377 xfs: don't unconditionally clear the reflink flag on zero-block files
   13c5e9770109 vmbus: fix missing signaling in hv_signal_on_read()
   1c33c8f8a727 pkcs7: Prevent NULL pointer dereference, since sinfo is not always set.
   da0c7503c0b8 KEYS: don't let add_key() update an uninstantiated key
   f9e7e2d6051e lib/digsig: fix dereference of NULL user_key_payload
   fec442e32bf6 KEYS: encrypted: fix dereference of NULL user_key_payload
   ca9601382b31 x86/microcode/intel: Disable late loading on model 79
   5a6fb4920381 rtlwifi: rtl8821ae: Fix connection lost problem
   f1ae556a31dd clockevents/drivers/cs5535: Improve resilience to spurious interrupts
   534b65dc0a06 bus: mbus: fix window size calculation for 4GB windows
   8de5590d957c brcmsmac: make some local variables 'static const' to reduce stack size
   7f9267693f51 brcmfmac: Add check for short event packets
   717ef37dde6c i2c: piix4: Fix SMBus port selection for AMD Family 17h chips
   4d4f527029e2 i2c: ismt: Separate I2C block read from SMBus block read
   57ed31530cf9 ALSA: hda: Abort capability probe at invalid register read
   d0f5c17fd414 ALSA: hda: Remove superfluous '-' added by printk conversion
   d5b657ee66a3 ALSA: seq: Enable 'use' locking in all configurations
   710c0b073eeb drm/nouveau/mmu: flush tlbs before deleting page tables
   f4f0b6aa58eb drm/nouveau/bsp/g92: disable by default
   587d7faf6f0e can: esd_usb2: Fix can_dlc value for received RTR, frames
   dc1858a8e56f xhci: Identify USB 3.1 capable hosts by their port protocol capability
   6f4a36f0ec7d usb: musb: Check for host-mode using is_host_active() on reset interrupt
   b4ecc15d6f5a usb: musb: sunxi: Explicitly release USB PHY on exit
   09fad6f25254 iio: dummy: events: Add missing break
   6bb16fa58127 parisc: Fix double-word compare and exchange in LWS code on 32-bit kernels
   6f0eefab853b can: gs_usb: fix busy loop if no more TX context is available
   b26fafd38106 ALSA: usb-audio: Add native DSD support for Pro-Ject Pre Box S2 Digital
   d15fc53296a5 usb: hub: Allow reset retry for USB2 devices on connect bounce
   ddf0b44fbcb2 usb: quirks: add quirk for WORLDE MINI MIDI keyboard
   b7cd9f5664e1 usb: cdc_acm: Add quirk for Elatec TWN3
   603296156ba4 USB: serial: metro-usb: add MS7820 device id
   9d13d3e05be2 USB: core: fix out-of-bounds access bug in usb_get_bos_descriptor()
   ee0ea51aa9cb USB: devio: Revert "USB: devio: Don't corrupt user memory"
   4d4a6a3f8a12 Linux 4.9.58
   480fd4fb29c5 usb: dwc3: gadget: Correct ISOC DATA PIDs for short packets
   9b9843154cd1 cpufreq: CPPC: add ACPI_PROCESSOR dependency
   2ee4d596e445 EDAC, mce_amd: Print IPID and Syndrome on a separate line
   8a7a752441a9 btmrvl: avoid double-disable_irq() race
   a127483e9ee2 regulator: core: Resolve supplies before disabling unused regulators
   16ee696eed67 drm/nouveau/gr/gf100-: fix ccache error logging
   62a3af1f1bc0 powerpc/perf: Add restrictions to PMC5 in power9 DD1
   d4bda742831e nfsd/callback: Cleanup callback cred on shutdown
   0c92e732937c hrtimer: Catch invalid clockids again
   b200b6dc7f39 target/iscsi: Fix unsolicited data seq_end_offset calculation
   e0fcd1e40db4 IB/hfi1: Allocate context data on memory node
   06f2d879c308 IB/hfi1: Use static CTLE with Preset 6 for integrated HFIs
   939f4f6ec741 uapi: fix linux/mroute6.h userspace compilation errors
   ad50561ba7a6 uapi: fix linux/rds.h userspace compilation errors
   bd530852210d ceph: clean up unsafe d_parent accesses in build_dentry_path
   6839ad59f9d5 ceph: fix bogus endianness change in ceph_ioctl_set_layout
   df37e8fadf74 ceph: don't update_dentry_lease unless we actually got one
   b025eb5d2678 i2c: at91: ensure state is restored after suspending
   1226f6993357 qed: Read queue state before releasing buffer
   7f8ea2674b44 qed: Reserve doorbell BAR space for present CPUs
   a506d326cbec qede: Prevent index problems in loopback test
   f6a72741241f net: mvpp2: release reference to txq_cpu[] entry after unmapping
   0ea82b90d844 drm/amdgpu: refuse to reserve io mem for split VRAM buffers
   b01eb4631306 ASoC: mediatek: add I2C dependency for CS42XX8
   10ae48453347 scsi: scsi_dh_emc: return success in clariion_std_inquiry()
   076a6220bc01 slub: do not merge cache if slub_debug contains a never-merge flag
   2ada592fc8e5 ocfs2/dlmglue: prepare tracking logic to avoid recursive cluster lock
   a5f043b2419e mm/memory_hotplug: set magic number to page->freelist instead of page->lru.next
   6145171a6bc0 crypto: xts - Add ECB dependency
   8909b26a51fc net/mlx4_core: Fix VF overwrite of module param which disables DMFS on new probed PFs
   84a66ca77543 sparc64: Migrate hvcons irq to panicked cpu
   cf368c29f5ac md/linear: shutup lockdep warnning
   e9afe7c8641a f2fs: do not wait for writeback in write_begin
   e215b6bb2dfe Btrfs: send, fix failure to rename top level inode due to name collision
   ab3d531745cf sched/fair: Update rq clock before changing a task's CPU affinity
   e5226e92bed8 f2fs: do SSR for data when there is enough free space
   90a8dfa5ae7a iio: adc: xilinx: Fix error handling
   f107c6ddf8db netfilter: nf_ct_expect: Change __nf_ct_expect_check() return value.
   0500fcd88556 staging: vchiq_2835_arm: Make cache-line-size a required DT property
   b1b73cc04608 net/mlx4_en: fix overflow in mlx4_en_init_timestamp()
   c1bc62d729f4 mac80211: fix power saving clients handling in iwlwifi
   fff654b43e12 qed: Don't use attention PTT for configuring BW
   145ded700722 ALSA: hda: Add Geminilake HDMI codec ID
   4799163a7a19 mac80211_hwsim: check HWSIM_ATTR_RADIO_NAME length
   aaf54d40b83f initramfs: finish fput() before accessing any binary from initramfs
   d413c3f0bd6f irqchip/crossbar: Fix incorrect type of local variables
   bbb5f0062b74 watchdog: kempld: fix gcc-4.3 build
   8b0be545deba locking/lockdep: Add nest_lock integrity test
   43588be0735f xen-netback: Use GFP_ATOMIC to allocate hash
   ebbd5ac4acdb Revert "bsg-lib: don't free job in bsg_prepare_job"
   0054c0bca321 MIPS: Fix minimum alignment requirement of IRQ stack

(From OE-Core rev: f5895932b839579ccaeaebe622263c8697071093)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f65220d326c0b288ba076054bfada433f359ae8b)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:56 +00:00
Patrick Ohly
aab33ec877 rootfs-postcommands.bbclass: ensure that rootfs gets mounted ro
When read-only-rootfs is active, we need to ensure that the rootfs
does not get mounted read/write by the kernel or initramfs. Adding
"ro" to the boot parameters achieves that.

(From OE-Core rev: 2b9a670fabf3aefa93dc12be8b2fd3d6226be12a)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit cfc09de06ecc12bb42181004689e881c75072665)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:56 +00:00
Patrick Ohly
806a4c2100 connman.inc: do not check IMAGE_FEATURES
Recipes can't rely on IMAGE_FEATURES to determine whether the
resulting packages will be used in an image with read/write or
read-only rootfs because IMAGE_FEATURES is a per-image recipe
variable.

The connman.inc code checked IMAGE_FEATURES to determine whether
/var/run/connman needs to be created via tmpfiles.d when booting a
read-only rootfs. In my tests that is not necessary (anymore?),
something (connman itself?) creates the missing directory.

(From OE-Core rev: ded2a1eef3345f88df0ca00f120eeba4c8f80553)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 577585375efac8f86223d7549ce39cd70877cbd9)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:56 +00:00
Chen Qi
17557264a3 templates/layer.conf: remove backslash to enable bbappend setting
Remove the redundant backslash in template layer.conf file, otherwise,
the bbappend line setting wouldn't have effect, causing bbappend files
in these created layers not having any effect.

(From OE-Core rev: b25fc6b68a4522e89fd42f31b51fb25346818237)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 7909b258ac87d4be9bb7aba00d12fd363bd9b248)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:56 +00:00
Martin Hundebøll
63f07325fa systemd: allow dots in arguments to template units
When installing systemd template units with an argument, the current code
removes characters between the '@' and the '.' from service names in
SYSTEMD_SERVICE_${PN}, e.g.:

  getty@tty1.service -> getty@.service

This fails for services with dots in the argument (which is perfectly
legal in systemd), since the code searches only until the first dot.
E.g.:

  vlan@eth0.1.service -> vlan@1.service

This is obviously wrong, and fails in systemd_populate_packages(), where
it fails to find the unit file.

Fix this by reworking the removal of the argument part of the service
name, so that parts before '@' and after teh last '.' are used as base
name.

(From OE-Core rev: e6fcc7d31b9105e518cf8a69d04f60291b7dd8fb)

Signed-off-by: Martin Hundebøll <mnhu@prevas.dk>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 4704bd91458a728f28cbdc57dcf78f5d04cfd0cd)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:56 +00:00
Ross Burton
dd6ba2aa96 package_manager: force dnf to refresh the cache
DNF has a time-based cache policy (and a great sense of humour) so it's possible
that 'dnf makecache' won't actually refresh any caches.  Force the cache updates
by passing --refresh.

(From OE-Core rev: b3b0b2e7e710195245f58b4757059906d0cf284e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit a6e34b6aa194a27db9667af1fb0195ac8fb563f5)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:55 +00:00
Alexander Kanavin
8d44a51bd6 meta-selftest: fix upstream version checks for devtool test recipes
So that they're reported correctly when checking 'universe' for
latest upstream versions.

(From OE-Core rev: 8a3c2865cf06dfec890fbfb88fda47abc33c1978)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 7d1a28082da29e4c0db4d8bcb9f242049a763bf9)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:55 +00:00
Andrej Valek
14db4ec9b8 mtd-utils: fix flash_eraseall installation conflict
override correctly busybox's applet when CONFIG_FLASH_ERASEALL=y is set

Error: update-alternatives: not linking /builds/image/1.0-r0/rootfs/usr/
sbin/flash_eraseall to /bin/busybox.nosuid since /builds/image/1.0-r0/
rootfs/usr/sbin/flash_eraseall exists and is not a link

(From OE-Core rev: 009302a350877d0e9b74df4bf0d97fe6244591d5)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 21d5a52d86a4090f7ddb1a9eb41bb143261f890e)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:55 +00:00
Ming Liu
31083eff3a wpa-supplicant: add a missing WPA_COMMON_CTRL_IFACE definition
The WPA_COMMON_CTRL_IFACE definition is missing, which leads to obvious
problems since there is no way to access the ctrl socket. So add it in.

(From OE-Core rev: 06cd7db573bb1293ca3baf214c046d7deb5ed058)

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 7baa3137859915fdbaaea0499b442f5d9df3f17b)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:55 +00:00
Markus Lehtonen
187af6b064 update-alternatives.bbclass: refuse to manage SysV init scripts
Sanity check for future packages.

[YOCTO #10944]

(From OE-Core rev: 6cfdca2331228667aecf6228271eea1c9835e5a5)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
(cherry picked from commit 061fa614cec49deb0374ccadf3013e5cc8ad2c51)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:55 +00:00
Markus Lehtonen
adbe66ba51 Revert "classes: Fix alternatives and rc.d ordering"
This kludge is not needed anymore, now that syslog packages (or any
other package) don't use update-alternatives for managing SysV init
scripts.

This reverts commit fc89a3f739.

[YOCTO #10944]

(cherry picked from commit 7cb951a803deca151344d905bf2fab038e72e0d0)
(From OE-Core rev: f56966d06330d1561245d0ae050389b3a0491216)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:55 +00:00
Markus Lehtonen
a57b91883d initscripts: rrecommend initscripts-functions
In order to make that the default provider for initd-functions.

[YOCTO #10944]

(From OE-Core rev: 8401db8eb3beca12fd76da2448f99a61c3383a33)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
(cherry picked from commit d32eaebed5726c6157a2ac993baeb6d16683ade7)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:55 +00:00
Markus Lehtonen
09970d39b1 lsbinitscripts: don't use update-alternatives
Make lsbinitscripts (r)conflict with initscripts-functions package.

[YOCTO #10944]

(From OE-Core rev: e0e8e162cf19bcdfa7d9daa0bb51c32beabbd048)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
(cherry picked from commit 1202307b24def6cb7e6ebc92b47736e42d32cbb6)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:55 +00:00
Markus Lehtonen
61ed8ab435 initscripts: don't use update-alternatives
Stop using update-alternatives for managing /etc/init.d/functions. Also,
make the initscripts-functions subpackage to (runtime) conflict with
lsbinitscripts.

[YOCTO #10944]

(From OE-Core rev: 2daffb998585a2f781cbbfb1a959379e01c40f0a)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
(cherry picked from commit cdcebd81c872cb7386c658998e27cf24e1d0447c)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:55 +00:00
Markus Lehtonen
a173395b8c sysklogd: don't use update-alternatives
Using update-alternatives for managing init scripts has proved to be
problematic. And, sysklogd rconflicts with other syslog daemons so there
is no point in using update-alternatives from this perspective, either.

[YOCTO #10944]

(From OE-Core rev: 46ae576176c456de1d743cad50d7bfe1ba6d8d4e)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
(cherry picked from commit 988aad01b20c18a8850db0ad6dc547525d94116c)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:55 +00:00
Sullivan, California L
9428030a3d install*.sh: add short sleep after parted commands
I wasn't able to install to my Optane SSD due to the following error:

Formatting /dev/nvme0n1p1 to vfat...
mkfs.fat 4.1 (2017-01-24)
mkfs.vfat: unable to open /dev/nvme0n1p1: No such file or directory
Target install-efi failed

A couple lines later I see:

[    10.265401]  nvme0n1: p1 p2 p3

Then looking at the device itself after booting from a USB stick:

root@intel-corei7-64: ~# ls /dev/nvme0n1*
/dev/nvme0n1 /dev/nvme0n1p1 /dev/nvme0n1p2 /dev/nvme0n1p3

So it looks like the parted commands return before the device node is
actually created.

Work around this issue by waiting for device nodes for a short duration.

(From OE-Core rev: 140565039b6a7944a3984d273243e1a00e62175f)

Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 9daafd49b448122e35d67a1637ce2212793a4dc5)
Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:55 +00:00
Sullivan, California L
1affca64b9 init-install: fix grub-install command
The grub_version variable was calling 'grub-install -v' (verbose) instead
of 'grub-install -V' (version) causing unexpected failures.

Fixes bug [YOCTO #12111].

(From OE-Core rev: 030a2ac1b434377c05e44014f71d217c1f96f2be)

Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 38dcbd96e82b1c40576a0514f053266429dca5d1)
Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:55 +00:00
Martin Jansa
003fc0f43c initramfs-module-install: Remove allarch and FILESEXTRAPATHS
* files is already included in default FILESPATH
* it cannot inherit allarch as it RDEPENDS on bunch of TUNE_PKGARCH packages
* use the same COMPATIBLE_HOST restrictions as grub has to prevent ERRORs in
  bitbake world
  ERROR: Nothing RPROVIDES 'grub' (but oe-core/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb RDEPENDS on or otherwise requires it)
  grub was skipped: incompatible with host arm-oe-linux-gnueabi (not in COMPATIBLE_HOST)
  grub was skipped: incompatible with host arm-oe-linux-gnueabi (not in COMPATIBLE_HOST)
  NOTE: Runtime target 'grub' is unbuildable, removing...
  Missing or unbuildable dependency chain was: ['grub']
  ERROR: Required build target 'meta-world-pkgdata' has no buildable providers.

(From OE-Core rev: 9497127e071d1a5408e04a47fcb7bd29775ec1c6)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit ecad98a0ffe41d8cc8890d16be09e4b604a1e192)
Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:55 +00:00
California Sullivan
d94e2c4fa3 initramfs-framework: add install module
The non-EFI counterpart for installation was previously missing for
initramfs-framework. This simply puts the normal install script in the
correct location for initramfs-framework to make use of it.

Partial fix for [YOCTO #12346].

(From OE-Core rev: 236cb8fe6bb9f5826a97f393b22aaae79dec1b84)

Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit f9d7cf30b12cbc5f642a11c0511dc1dc3ccf1aa5)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:55 +00:00
California Sullivan
5cad395452 initramfs-module-install-efi: update summary
Note that this is an installation option for EFI systems.

(From OE-Core rev: 3dd1862ac0f13ffec06209c80b307c6bc0aa8dc3)

Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 366ddd22245a72df4c8e561761c6df8a6654bba6)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:55 +00:00
California Sullivan
477679ed29 initramfs-module-install-efi: point to original copy and delete new file
There is no need to maintain two of the exact same files.

(From OE-Core rev: 59435300d21e9b9801de0e24c9acff5190199bd1)

Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 49ba882be9e28a51651a543779e6f02d33861393)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:55 +00:00
Martin Hundebøll
aa5127d279 wic: support filesystem label for rawcopy
The '--label' argument should work for '--source rawcopy' as it does for
'--source rootfs', so add a method in RawCopyPlugin to update the label
on the temporary filesystem images.

(From OE-Core rev: 913b31985b2fc8b7e17bc29d668168ab25ff989e)

Signed-off-by: Martin Hundebøll <mnhu@prevas.dk>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:55 +00:00
Stefan Agner
b253d9b327 openssl: fix runtime errors with Thumb2 when using binutils 2.29
When compiling OpenSSL with binutils 2.29 for ARM with Thumb2 enabled
crashes and unexpected behavior occurs. E.g. connecting to a OpenSSH
server using the affected binary fails with:
  ssh_dispatch_run_fatal: Connection to 192.168.10.171 port 22: incorrect signature

Backport upstream bugfix:
https://github.com/openssl/openssl/issues/4659

(From OE-Core rev: 0dba9ac4414a31e341840da3cca12a9ec0658abe)

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:55 +00:00
Stefan Agner
475c77014f openssl: Upgrade 1.1.0f -> 1.1.0g
Deals with two CVEs:
* bn_sqrx8x_internal carry bug on x86_64 (CVE-2017-3736)
* Malformed X.509 IPAddressFamily could cause OOB read (CVE-2017-3735)

(From OE-Core rev: 3cfbf7d020b12ef70ba1e1bd4a538b4b8f6e7251)

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:55 +00:00
Stefan Agner
8401bae6aa openssl10: fix runtime errors with Thumb2 when using binutils 2.29
When compiling OpenSSL with binutils 2.29 for ARM with Thumb2 enabled
crashes and unexpected behavior occurs. E.g. connecting to a OpenSSH
server using the affected binary fails with:
  ssh_dispatch_run_fatal: Connection to 192.168.10.171 port 22: incorrect signature

Backport upstream bugfix:
https://github.com/openssl/openssl/issues/4659

(From OE-Core rev: 7310bdb8709a8cb9a5653f10d0be1c024daf6f03)

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:55 +00:00
Stefan Agner
2b2d6b6c1b openssl10: Upgrade 1.0.2l -> 1.0.2m
Deals with two CVEs:
* bn_sqrx8x_internal carry bug on x86_64 (CVE-2017-3736)
* Malformed X.509 IPAddressFamily could cause OOB read (CVE-2017-3735)

(From OE-Core rev: 7767625370b106bd493fdd5264181a7159e5c300)

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:54 +00:00
Tim Orling
64390f742b python[3]-setuptools: inherit setuptools
* distutils[3].bbclass was not including pkg_resources module
* Drop uneeded DISTUTILS_INSTALL_ARGS as setuptools[3].bbclass provides it

Fixes [YOCTO #12148]

(From OE-Core rev: 4e09525c73348c2b47b07654ac31ffc6cbd3d5fe)

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:13:54 +00:00
Richard Purdie
30cacd568c local.conf.sample: Weakly set BB_DISKMON_DIRS
For various reasons we need to be able to set and override this from
auto.conf on our test infrastructure. We have tried forcing the variable
but this then breaks other selftests. In the interests of not complicating
things further and needing to modify the tests across releases, weaken
the default assignment.

(From meta-yocto rev: 27e32970e4a424897aed9ecd7c19bf5f99d8877c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:07:51 +00:00
Scott Rifenbark
16e22f3e37 documentation: Prepped manual set for a 2.4.1 point release
* poky.ent updated the variables
* Added a January 2018 date to the manual revision tables
* Updated the mega-manual.sed file with 2.4.1 string.

(From yocto-docs rev: 73993e367c8ba761d61ed69d9f4d5fad69d70e85)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-18 17:17:08 +00:00
David Reyna
ca5296a5e5 bitbake: toaster: add 'nobuild' option to Toaster
Add a 'nobuild' option for starting Toaster without the project
and hosted builds support. This allows a Toaster host to provide
local build statistics without opening the host to external users
building projects.

[YOCTO #12315]

(Bitbake rev: 686a230d48ca666bdc0b0565f8e55cc890b90c5f)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-18 15:05:36 +00:00
David Reyna
6affa391f7 bitbake: toaster: landing page show cmdline capture
The Toaster initial landing page needs to show that it still has
the command line build capture support in addition to the new
project support.

[YOCTO #12316]

(Bitbake rev: 32f7a0df3626b36584f363897f9f092d8af1ac48)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-18 15:05:36 +00:00
David Reyna
ae7eedd69e bitbake: toaster: enable custom env support for shell calls
Allow for custom environment additions for git cloning, for example
for anspass support.

[YOCTO #12193]

(Bitbake rev: 5770a65f4ec0e0c48d11a8b7a7cd297ba6875fd5)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-18 15:05:36 +00:00
David Reyna
999834c036 bitbake: toaster: some recipe events do not include packages
Allow for "SinglePackageInfo" events that do not include package data,
for example OPKGN equal 'lib32-*' or 'lib64-*'.

[YOCTO #12204]

(Bitbake rev: 0c7aee74003dbd29da7e5e35cab466c8f858cad3)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-18 15:05:36 +00:00
David Reyna
6b132acd0a bitbake: toaster: update Toaster for Django 1.11
Toaster needs to accomodate API changes in Django 1.11.

[YOCTO #12192]

(Bitbake rev: bfec25108d8e00a8ca2c93859a03082bea19789c)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-18 15:05:36 +00:00
David Reyna
8eaf495b05 bitbake: toaster: unset BBPATH before starting bbserver for backwards compatibility
The latest build enviroment script is now setting BBPATH. This breaks
building previous releases from a master-based Toaster, because with this
newly inherited BBPATH value the 'bitbake.lock' file ends up in the
Toaster build directory instead of the project's build directory.

Toaster should always clear BBPATH so that the bbserver's environment
is clean (enough).

[YOCTO #12363]

(Bitbake rev: 11cb604a83375ba3b05f7bd36513b9c68852174d)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-18 15:05:35 +00:00
Richard Purdie
abec40e5eb populate_sdk_ext: Use prebuilt uninative tarball
For uninative to work, it relies on it being updated to new versions as
newer glibcs are built. This means the uninative generated by the current
build may not be as recent as the uninative that is being downloaded by
uninative.bbclass.

If this occurs, we can get symbol mismatch errors.

Ultimately, the sstate and the uninative versions need to match so we
should use the same tarball as uninative.bbclass is using, not the one
we built.

[YOCTO #12405]

(From OE-Core rev: 39fc1150e74173fc6d73c464c141dba0b7ac2930)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-11 21:47:41 +00:00
Scott Rifenbark
74863e0d67 makefile: Removed "yocto-environment.png" from tar list of mega-manual
File is not used.

(From yocto-docs rev: 6e972aa916327ea981aabfedf2e7ac7bbacb8fec)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-09 14:30:17 +00:00
Scott Rifenbark
64f77342ca ref-manual: Fixed redundant link for "build system"
(From yocto-docs rev: a22e050ac57e15c43ae2ada33b5423780a199c92)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-09 14:30:17 +00:00
Scott Rifenbark
1cc492477b ref-manual: Added new terms to Yocto Project Terms section.
Added "BSP", "Reference Kit", and "Build System"

(From yocto-docs rev: f4401f5ab232c1b7c05ab1f07f73aeba05cc124c)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-09 14:30:17 +00:00
Scott Rifenbark
ae6ea35b6c dev-manual: Updated bitbake-layers overview section.
The section was missing three of the summaries for the command when
you used --help to find out about it.  I added these in to the section.

(From yocto-docs rev: 4c0e552179a204e4ff6ab36b9b9e1faca1ff415a)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-09 14:30:17 +00:00
Kristi Rifenbark
7e5b939f22 ref-manual: 2.4 Migration Revisions
(From yocto-docs rev: 0802de0ca64b7d3581fb2e3ff26d2f72802ade61)

Signed-off-by: Kristi Rifenbark <kristi.rifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-09 14:30:17 +00:00
Kristi Rifenbark
fc5791d25a ref-manual: 2.4 Migration Revisions
(From yocto-docs rev: 1778a743ba3a8b82e96d1e9948e86048d77a8e77)

Signed-off-by: Kristi Rifenbark <kristi.rifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-09 14:30:17 +00:00
Richard Purdie
041478b5ab build-appliance: Fix branch name
(From OE-Core rev: 04b55c9dd19d48cd8a6422de3842eab5c1efe1dc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-09 14:16:23 +00:00
Richard Purdie
c2b641c8a0 build-appliance-image: Update to rocko head revision
(From OE-Core rev: 9d1129076658b4c5827c95ad8b195a7a100d7a9e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-07 12:26:48 +00:00
Richard Purdie
ab4310e7b8 poky: Update to version 2.4.1
(From meta-yocto rev: b52aa0f906ae51d4e01d3851c7b9f332e0935dd7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-07 12:25:20 +00:00
Matt Madison
551d18e4b8 go: ensure use of BUILD_CC when building bootstrap tools
For cross-canadian builds, we were accidentally using
the crosssdk C compiler when building the Go compiler
bootstrap.  Add a patch to the make script to let us
use BUILD_CC, and prepend do_compile to set it in
the local environment to ensure that the trailing
blank gets stripped, since that confuses Go.

[YOCTO #12341]

(From OE-Core rev: 70278eb86bc5bcbe3fa53c62f971fa467f61e28f)

Signed-off-by: Matt Madison <matt@madison.systems>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 0dbb860924fc157880b52d8e08bad3c6c6b019b8)
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-07 12:23:43 +00:00
Khem Raj
7030d5b4f9 go: Use right dynamic linker on musl
(From OE-Core rev: 21e339fe203fd4a31c9654924a38970f493dace1)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 0d6e83757fc26d3e88bfe3c2437b5c7c9be09118)
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-07 12:23:43 +00:00
Otavio Salvador
f88c841a2d Revert "go: Fix build with PIE on musl"
This reverts commit d6fcf91c06a3d118e8741273fac6903100141db4.

This commit was included on the rocko update by mistake. It ended
being dropped from master merge queue but forgotten in rocko one.

(From OE-Core rev: 4b69167fb3e55dfd1ff0fa0cfc7f4c226b033d6a)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-07 12:23:43 +00:00
Richard Purdie
1c61ba0a3f bitbake: tinfoil: Ensure we clean up loggers
This is primarily paranoid but ensure we remove any loggers we setup
either directly or indirectly so the initial state is restored after
we exit.

(Bitbake rev: 230493d9b99f7d315bc4e5e8d0093bd62ec8f9eb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit af7d63b1f76fd3f7fa92ed15ae61ca47d9e13472)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:01 +00:00
Richard Purdie
babf923312 bitbake: event: Ensure we clean up loggers
Whilst we're likely exiting in this case, clean up the loggers we add
so that in the case of certain server retries there is no possibility
multiple loggers stack up.

(Bitbake rev: e52bf5f066618dfabecbd4197f77f78fa463af64)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 25b7bf6672be66bcbfe5760610dce7d3e866cdcc)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:01 +00:00
Richard Purdie
a1bff37c3f bitbake: tests/fetch: Add ftp test url
Add in a tets ftp url so we ensure ftp urls contnue to work after the loss
of the ftp.gnu.org ones.

(Bitbake rev: 7016bd9c4b05df2e888ec98e37a8ae6f3ac398bd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e1e8565b5e19dd3f7ef6e7e41932456adaa3df81)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:01 +00:00
Ross Burton
738fc234fa bitbake: tests/fetch: use subtests in the wget tests
As we test multiple URLs in this these tests and one failing abandons the test,
use subtests so all URLs are tested. This should help us identify patterns in
the failing URLs.

(Bitbake rev: 0eadcf94540c7e4a634c5c1e873658b65996f334)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c4c4465b32e82d4b6e46a44e776be5039aef6b18)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:01 +00:00
Richard Purdie
f79c0d45fa bitbake: tests/fetch: Switch gnu.org urls from ftp -> http/https
The ftp server at ftp.gnu.org is likely to be retired at some point soon
so siwtch over to the http/https services.

This means bitbake-selftest doesn't have ftp test urls, however finding stable
ftp test servers is proving increasingly hard.

(Bitbake rev: 6497a030463cc7fd61bb8319d4c3ec824003c2fc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 892a08245ddb21a464aeb37d3e32377e99dd7e2b)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:01 +00:00
Ross Burton
a5e95c2a85 bitbake: bitbake: be more explicit when warning about locale choice
(Bitbake rev: b3f7a75aeac31bc0afb7288fc54eb3929a8e1bae)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 286dce008d6e0bd3121393b28ca02de1385519fb)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:01 +00:00
Ross Burton
4b2d0192b2 bitbake: tests/fetch: skip network tests the idiomatic way
Instead of not even having the test functions if network tests are disabled, use
a custom decorator to mark the network tests and skip them.

(Bitbake rev: 618cf9693b9f4b48208603b2359f5717a6a35f8f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit cc420f430b1dafd9ca944bea259a564aaab34595)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:01 +00:00
Oleksandr Andrushchenko
fd93e26f0d bitbake: fetch2: Fix missing logger import in repo fetcher
After cleaning deprecated API usage repo fetcher is missing
logger as it was indirectly imported via deprecated bb.data.
Fix this by importing logger directly.

Fixes: 9752fd1c10b8 ("fetch2: don't use deprecated bb.data APIs")

(Bitbake rev: 7ae321a9ede9fb0ee1a0794aa22815a593d1568d)

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f8e027d26603db2f1fe757dca767ea35d95174c7)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Alexander Kanavin
15542ff2b3 gstreamer1.0-plugins: disable introspection on mips64
The failure is weird and difficult to diagnoze, so disable the
introspection for now:

qemu-mips64: error while loading shared libraries: .../recipe-sysroot/usr/lib/libgthread-2.0.so.0: ELF file data encoding not little-endian

Note that it shows up only for one specific library (gstaudio), and only
on mips64. Introspection data for other libraries is generated just fine.

(From OE-Core rev: bc6bb09150835c841cf27c88f388ac5796a317a2)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 4cfe09598c1ec1ffd108acdfd0f4cce1b8688895)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Juro Bystricky
b472addc93 sudo: improve reproducibility
Delete various build host references from the internally
generated file sudo_usage.h. The references get compiled into
executables, which leads to non-reproducible builds.
The removed references (configure options) were only used as part
of the sudo "usage", and even then only when ran as root.

(From OE-Core rev: eb3360c13fe4e803621f5b06e8d8a09211fd7da4)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 090eb9efdb2204673b1d569582813ea8860c8570)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Juro Bystricky
2f07e71a9e x11perf: improve reproducibility
Remove build host refeences.

(From OE-Core rev: 95f9a8ba58c6b790dd9aeea4e88148fbcdd7500c)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 7eedafd32a24cfdc33d791b2bf5a5d5c36c48e2f)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Juro Bystricky
66a0b5b550 grub-efi_2.02.bb: improve reproducibility
Remove several build host references from modinfo.sh files.

(From OE-Core rev: 01fe3d3cf0bde71b566f3734941db60ffc9dd9b7)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 6e4182b7c540e22f25ea8bfd16b0e2b2c8eb9f82)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Jackie Huang
adaefc1880 libnsl2: fix installed-vs-shipped QA issue
Fix the installed-vs-shipped QA issue:
| WARNING: libnsl2-1.0.5+gitAUTOINC+dfa2f31352-r0 do_package: QA Issue:
  libnsl2: Files/directories were installed but not shipped in any package:
  /usr/lib64/nsl/libnsl.a

(From OE-Core rev: b1806a257c0af1c69a81b3f855f6d165162257ae)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 2e6636b23dde2c1b547f98373a2f49e617c37a9f)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Joe Slater
1a2fb23f56 nss: pay attention to CFLAGS
nss ignores CFLAGS so we suggest them via CC.

(From OE-Core rev: 7484c62f88311dbc1e9ade524af31d04e6035bf4)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 95b65eefe7eb001752a37d1015bbf9be63bfd6bb)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Ming Liu
937beb5d94 qemu.inc: let linux-yocto-rt also provide nfs server kernel module
In case some users want to use linux-yocto-rt as the preferred kernel.

(From OE-Core rev: e0b8eafaf378571a99b07c559d07f9af36db791e)

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit bb0e574d3c74b6cd2d7e41933e0e28c91f0a411b)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Andre McCurdy
45139bd079 systemd: fix duplication of CACHED_CONFIGUREVARS
Fix historical duplication that appears to have been caused by
merging two independent fixes for the same issue:

  http://git.openembedded.org/openembedded-core/commit/?id=294adc0907a359d9c0ad260823188145aab294ad
  http://git.openembedded.org/openembedded-core/commit/?id=b30d7b1b97ffd1d44083d93ed0e572d80fcebc54

Also minor reformatting of EXTRA_OECONF values.

(From OE-Core rev: 0786e64061c79cea605ba5f231ac6e07999fa31b)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 94bc5910ebdf7bb4677fa06150ba1219295e5eda)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Andre McCurdy
8c56b0b2f4 systemd: use consistent indenting and coding style in do_install()
Make the polkit fixup etc at the end of do_install() more consistent
with the rest of the function. Also indent do_install_ptest() with
tabs instead of spaces to make do_install_ptest() consistent with
do_install().

(From OE-Core rev: cfd4e3adce3f52bc00a73ef8af0336c9a9f893cc)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 7a188e646a7a713ec5eab73580de624dc61f2936)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Andre McCurdy
f04d6842d3 systemd: sort PACKAGECONFIG options
Also fix some minor formatting inconsistencies (extra spaces or
commas etc). No functional changes.

(From OE-Core rev: 1f3928e9027ed35c562db76e0e936a4b89e3fbdd)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 4caf480c8d824575e970ec8ba15e4ee221166954)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Andre McCurdy
c889bffda2 systemd: use consistent approach for musl PACKAGECONFIG options
Consistently use PACKAGECONFIG_remove_libc-musl to disable options
which are not compatible with musl.

Also sort the default PACKAGECONFIG list.

(From OE-Core rev: 84a4a5bd4a80a1336282d6c10c333673bbd3280c)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 8fb362d90628d0dbc9a5073a0d75296eab569d44)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Andre McCurdy
1655dfeffc systemd: remove musl specific control of ldconfig PACKAGECONFIG
The ldconfig PACKAGECONFIG option is controlled by the ldconfig
distro feature - which is now disabled by default when building for
musl.

(From OE-Core rev: a6e92dd1565d99f539f59aafbb99aa2a7cb48eda)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 84c841c5b4d3ae753c377f5bdbda19281c771f60)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Andre McCurdy
ebf2523922 tclibc-musl.inc: disable ldconfig distro feature
Musl has no support for ldconfig, so ensure that the corresponding
distro feature is disabled when building with musl.

(From OE-Core rev: 73d5475af8c8aa655a80bf38d9fc788078a70883)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit baacd7ea99265f5493d2452b173a12def92f6202)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Robert Yang
7de56ebc2a runqemu: print command search result when not found
This makes debug easier.

(From OE-Core rev: b99ba567cd8089a9a3ca01704f6ba6c42d390e9f)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit a453639e19fb2a9f9fb63fddd0b3ee26c0116d91)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Richard Purdie
d0640da88e runqemu: Also specialcase resolution of '.' to the file's location
Similarly to handling "../", handle "." to resovle to the qemuconf
file's current directory.

(From OE-Core rev: 9870247d0dc33357988d9636c8ff8db35490752e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 33418ed064fe9cff5b4803f09135a81d9170c189)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Saul Wold
776fb31844 image_types: Add debugging code to ext4 fs creation
We have seen a small number of issues with ROOTFS_SIZE not getting
computed correctly, resulting in a failure in the mke2fs processing
and populating the resulting new filesystem.

This information should help us to reproduce [YOCTO #12304]

(From OE-Core rev: 0abd3c25cb2a9a9be9dc650a1600d3902d5779a9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3a72f6783e142d53d19b37811a854d08d32485ab)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Richard Purdie
80ed9207a7 qemurunner: Simplify binary data handling
I have concerns that bad timing of the flow of data from the logger
might corrupt the output due to the way binary strings are handled
in qemurunner.

This simplifies the code to do the same thing it did before but much
more safely.

(From OE-Core rev: 20bc247316ab915465a4b1add6d09b48e07202ac)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1e87283e92a2765bb5d54d17138b208bc395953b)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Richard Purdie
1e4d4762b1 qemuboot: Improve relative path handling
qemuconf files are currently written relative to TOPDIR. What
makes more sense is to write paths relative to the location of the
file. This makes moving them around and decoding the end paths in
runqemu much easier.

The effect of this should allow less use of bitbake to determine
variables and allow us to simplify runqemu.

(From OE-Core rev: e790aecfde4199cf9b658338900ad9a87cc1094f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 55a0028a961c0ad3c2e5729a9e3919cbbf256fe1)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Richard Purdie
968145b24e runqemu: Improve relative path handling in qemuconf files
If a variable starts with "../", its likely its a path and we want to
set it to an absolute path relative to the qemuconf file.

This means we don't have to use bitbake as often to figure out variables.

(From OE-Core rev: 61c449857f056d7c6c29530aa11bf8353b113638)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit dfc7940900d798aa47716288338107e1d46a3972)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Richard Purdie
3c28d31fed qemu: Add patch to avoid qemuppc boot hangs
qemuppc boots are occasionally hanging on the autobuilder. This adds a
patch which fixes the issue in local testing. Its being discussed with
upstream qemu.

(From OE-Core rev: 8834117a1cbde26d0a36691a2e4635afaa3b6ea7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 87719e35db08b21cd43ab3ebd72f4567ca0fdc65)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Richard Purdie
65d09a7d1e runqemu: Ensure we process all tap devices
The regexp in the script misses some tap devices, e.g. we see output like:

runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap25.lock failed: [Errno 11] Resource temporarily unavailable
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap26.lock failed: [Errno 11] Resource temporarily unavailable
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap27.lock failed: [Errno 11] Resource temporarily unavailable
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap28.lock failed: [Errno 11] Resource temporarily unavailable
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap40.lock failed: [Errno 11] Resource temporarily unavailable
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap41.lock failed: [Errno 11] Resource temporarily unavailable

What happened to tap29 to tap39?

The issue is was we were missing devices with '0' in the number,
like "10:" and so on in the output from "ip link".

(From OE-Core rev: ec1481f7ad6f2b3d1420027327510bec94dd66a8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 6447697a48e3b693ee38806bc2ba07c2a65c2bc8)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
André Draszik
311245d89f base: add automatic dependency on xz-native for .txz SRC_URI
.txz is .tar.xz, so add it, as this can actually be found in the
wild.

(From OE-Core rev: 866ead1d900433e39772973b4b31b7408ed8a215)

Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 58af8c2e4bd17692274fc5a6ac8f8af84319fec6)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Joe Slater
0845fa12b8 net-tools: correctly set COPTS and LOPTS
COPTS will be ignored if it is defined in the environment.
It must be passed directly to make.  To be consistent, we
pass LOPTS that way, too.

(From OE-Core rev: b3fda1e35c399060838620d2c96c22cdbbd95c96)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit dede6d3d37aab72ae897c3709d21108fa75f6673)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Paul Eggleton
2d9aecf044 recipetool: create: fix failure handling included dicts
If a setup dict in a python setup.py file pulled in the contents of
another dict (e.g.  **otherdict), then we got an error when mapping
the keys because the key is None in that case. Skip those keys to avoid
the error (we pick up the values directly in any case).

A quick reproducer for this issue:

recipetool create https://files.pythonhosted.org/packages/source/p/pyqtgraph/pyqtgraph-0.10.0.tar.gz

(From OE-Core rev: 49b2d571da88fb2afce71835276523ed3538d31f)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit ae62a9953e219df5147ed4a5ae3f4163d51cff28)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Saul Wold
c32f44ebf5 linux-firmware: Remove iwlwifi-8000C-19 SRC_URI
Since it's been removed from the upstream repo and not fetchable
remove it here.  The newer firmware supports the device correctly.

(From OE-Core rev: 665a50f51d94c8a1f2ecbbf3fb0da5054c3bcb37)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 8b8c40bdbd09ddd1409dc30e04ef847f6a15f109)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Ovidiu Panait
c6d473f460 icu: CVE-2017-14952
Double free in i18n/zonemeta.cpp in International Components for Unicode
(ICU) for C/C++ through 59.1 allows remote attackers to execute arbitrary
code via a crafted string, aka a "redundant UVector entry clean up
function call" issue.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2017-14952

Upstream patches:
http://bugs.icu-project.org/trac/changeset/40324/trunk/icu4c/source/i18n/zonemeta.cpp

(From OE-Core rev: 16006869e30395dd758a1797e324567ec4f8e074)

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 4ff12a8bf2b8d094085afbe8fa1d43f781cfa79d)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Chen Qi
7104d48590 gcc: backport patch to fix miscompilation on mips64
Backport a patch to fix miscompilation on mips64.

We've observed strange behaviour of `systemctl status <xxx> on qemumips64.
The output of the command is like `systemctl show <xxx>', which is incorrect.

The problem is due to the miscompilation of gcc for mips64 platform, thus
backporting patch from upstream to fix this problem.

[YOCTO #12266]

(From OE-Core rev: 6264b4afe6962d37eeb918e062568dee811ef231)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit cfa13e5c756849820644d86d1882602649db6a9c)
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Khem Raj
d164445477 gcc7: Fix unaligned STRD issue on ARM
Backport
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82445

Fixes [YOCTO 12297]

(From OE-Core rev: ae99f18ec6dc45723d969e749ad3f8ec36db1cf4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Excluding GCC 6.3 as it is not affected.
per https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82445#c5

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Otavio Salvador
7e0b00fd12 lttng-modules: Upgrade to 2.9.5 release
This upgrade is critical as it fixes the support for Linux 4.14 LTS kernel.

The changlog is:

2017-10-05 LTTng modules 2.9.5
	* Fix: update block instrumentation for 4.14 kernel
	* Revert "Fix: update block instrumentation for kernel 4.14"

2017-10-03 (National Techies Day) LTTng modules 2.9.4
	* Fix: version check error in btrfs instrumentation
	* Fix: update btrfs instrumentation for kernel 4.14
	* Fix: update writeback instrumentation for kernel 4.14
	* Fix: update block instrumentation for kernel 4.14
	* Fix: vmalloc wrapper on kernel < 2.6.38
	* Fix: vmalloc wrapper on kernel >= 4.12
	* Add kmalloc failover to vmalloc
	* Fix: mmap: caches aliased on virtual addresses
	* Fix: update ext4 instrumentation for kernel 4.13
	* Fix: Sleeping function called from invalid context
	* Fix: sched for v4.11.5-rt1
	* Fix: handle missing ftrace header on v4.12

This also removes the previously backported patches as they are part
of 2.9.4 release and the missing fix is part of 2.9.5 release.

(From OE-Core rev: 56d01657934fe6e9e6c547fd58447c6a99a0779b)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Radek Dostál
25c0d7d891 sbc: fix license
sbc library itself is licensed under LGPLv2.1 or higher as mentioned in
sbc/sbc.h or any other file in sbc directory.

sbc test applications are licensed under GPLv2 or higher as mentioned in
src/sbcenc.c or any other file in src directory

Reported-by: Vladimir Koutny <vladimir.koutny@streamunlimited.com>
(From OE-Core rev: 39193c6b30d34fd4c07e1a36581a1bd94fd76b29)

Signed-off-by: Radek Dostál <radek.dostal@streamunlimited.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Radek Dostál
7df22af792 sbc: move examples to their own package
Suggested-by: Ross Burton <ross.burton@intel.com>
(From OE-Core rev: 096f0aa642ba469699c10dc4a181d62c0bc5e7b9)

Signed-off-by: Radek Dostál <radek.dostal@streamunlimited.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Patrick Vacek
351192c314 ca-certificates: Add /etc to SYSROOT_DIRS
For recipes that depend on native ca-certificates.crt, /etc should be
added to the list of directories that automatically populate the
sysroot, otherwise the file may not be there.

(From OE-Core rev: 704e0392809b8a062433f6a4e5c5980c34b47dce)

Signed-off-by: Patrick Vacek <patrick@advancedtelematic.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Khem Raj
fe51ddba06 go: Fix build with PIE on musl
(From OE-Core rev: d6fcf91c06a3d118e8741273fac6903100141db4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Awais Belal
c8730962a4 dhcp: fix build issue with libxml2 support
A missing case breaks the build when libxml2 is
required and found appropriately. The third argument
to the function AC_SEARCH_LIB is action-if-found which
was mistakenly been used for the case where the library
is not found and hence breaks the configure phase
where it shoud actually pass.
We now pass on silently when action-if-found is
executed.

(From OE-Core rev: cc4e419eea46e9cdaa321aff4c37fdf8bb74b883)

Signed-off-by: Awais Belal <awais_belal@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Dan Dedrick
1e944f79b4 dhcp: use ${BPN} instead of ${PN} for user
${PN} will include additional prefixes, such as lib32-, which are not
actually a part of the user that is being added. This was creating an unused
user and possibly missing the actually intended user. By using ${BPN} this
will remove all additional extra information and consistently be "dhcp".

(From OE-Core rev: 69d1a48b403d588516cf149559169ee5a0d44b67)

Signed-off-by: Dan Dedrick <ddedrick@lexmark.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Andre McCurdy
994e3674a8 package_ipk.bbclass: handle only whitespace in PACKAGE_EXCLUDE
If PACKAGE_EXCLUDE is constructed using _append then it's possible
that the final value will contain only a space. Currently that
results in build failures due to an invalid opkg command line.

(From OE-Core rev: 809fda77324c5d4949b6490412f43d4bb95e4a94)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Peter Griffin
69490b4280 initramfs-live-install: Add aarch64 arch to COMPATIBLE_HOST.
So that we can use this on aarch64 with HiKey board.

(From OE-Core rev: 9260c60612048ccbb78b419f71328d4f91f1f83c)

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Andre McCurdy
e27fd333df base.bbclass: increase indent in get_layers_branch_rev() and buildcfg_vars()
Although it may not appeal so much to users to prefer 80x24 consoles,
the general trend is for screens to get bigger and the current output
has started to look a little cramped on a modern HD display.

Increasing from 17 to 20 is obviously arbitrary, but does give enough
space to cleanly display layers such as "meta-nodejs-contrib" and
"meta-virtualization" while still keeping the output fairly compact.

(From OE-Core rev: 65f6fba05b7a28a6af048e79f8355ffc37acd039)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Paul Eggleton
216a839e1b lib/oe/recipeutils: fix line splitting in patch_recipe_*
If a value was split over multiple lines (e.g. as SRC_URI usually is)
then we were inserting the value as one item in the lines list with
newlines between each line. There's nothing wrong with this if you're
writing the list out to a file, but if you want to generate a patch (as
patch_recipe_file() will do if the patch parameter is set to True) then
the diff output looks a bit odd. Split the value before adding it to the
lines list to resolve this.

(From OE-Core rev: dbf68220e451a43830fe680c86b34b9bd127cad3)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Paul Eggleton
bd884dd998 lib/oe/recipeutils: fix find_layerdir() to return absolute paths
find_layerdir() should really return absolute paths, so make it do so.
This fixes devtool finish not deleting files it should do after devtool
upgrade if the specified path is relative, since the devtool finish code
was assuming that find_layerdir() was returning an absolute path.

Fixes [YOCTO #12318].

(From OE-Core rev: 8d028508bfd68ad272739cab5495811927936ef2)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Paul Eggleton
e36cf9e621 recipetool: ignore incidental kernel module source
If the source tree happens to contain a kernel module as an example, a
test or under a "contrib" directory then we shouldn't be picking it up
and making the determination that the entire thing is a kernel module.

An example that triggered this is zstd, which ships a kernel module
under contrib/linux-kernel:

  https://github.com/facebook/zstd

(From OE-Core rev: 5c89bd0db1b327483f674802740ff21b909e0876)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Paul Eggleton
611e4b43d8 recipetool: pass absolute source tree path to plugins
We shouldn't be passing a relative path to the plugins if that's what's
been specified on the recipetool command line.

(From OE-Core rev: 821742f48723a66fdafe5406bb57188b2f88889a)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Khem Raj
d4e3893e2d systemd: Fix build with musl/mips64
(From OE-Core rev: 5210f8f64ed65a677a7a017878783642de886249)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Richard Purdie
99c18e36e2 oeqa/runner: Pass the value of buffer, don't force to True
The value could be False in which case we should pass that through.

(From OE-Core rev: 5b4b7bfe33630d73b5b53fc754cd45563fcbfd4d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Richard Purdie
fbddd3917f oeqa: Markup further tests for stdout/stderr buffering
This further cleans up the output of oe-selftest so that runqemu output
is hidden unless tests fail.

(From OE-Core rev: 22f224965ac93da0b37affc4998fc0644f14462d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Richard Purdie
5481891748 testimage: Ensure full logs are shown for failures
Currently, the fact an error message is shown means the rest of the
task logs are suppressed. In this case we don't want that as it hides
the real errors and useful information. Therefore override this behaviour.

(From OE-Core rev: c0af4e9a0666de64c6a8823cdd3fbea579a3fb67)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Alexander Kanavin
18b51a13af maintainers.inc: add Otavio Salvador for go-dep
(From OE-Core rev: 6e45eac3686cb749a6690149dbfca9925786ab9e)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Alexander Kanavin
e46fa69897 maintainers.inc: add Khem Raj for libmnl
(From OE-Core rev: ed959f455604975abccb3c2c3ce98f26234dd4f7)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Alexander Kanavin
7d934ff315 gtk-doc.bbclass: correctly make the list of directories with shared libraries
Previously it was working only if only one shared library was found, and
broke when there were several.

(From OE-Core rev: 9bdfc39d431c729740025ce5b711d7b5684df800)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Richard Purdie
2f6cffd605 oeqa/target/ssh: Drop command/output logging to debug level
This ensures the console is kept clear of confusing output but that
the main logs contain good debugging information.

(From OE-Core rev: 3727fae1e420a60ef8c62da546e1065045b163ff)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Richard Purdie
ed4708db31 oeqa: Clean up logger handling
The logger handling in oeqa was confused at best. This patch:

a) Passes in a logger through various qemu runner pieces
b) Uses that logger consistently in the code
c) Creates a logger for QemuRunner outside the bitbake namespace
   meaning we don't conflict with the tinfoil logging changes

The result of this is more consistency. For runtime tests in testimage,
the logs always contain the debug info, nothing is shwon on the console.
For the oe-selftests, logs are intercepted and only shown if the test
fails.

(From OE-Core rev: ba8babc45141891d0624f9a181a580fa416e87ec)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Richard Purdie
8d53ceebaf testimage: Pass the logger into OERuntimeTestContextExecutor.getTarget()
I have no idea why we didn't do this but it means the code has nowhere
to log to unless we do this. This means we can then use the logger
to log data to the task logs.

(From OE-Core rev: 1054965a2d44df2617127c0c47e34adc62c1bf4d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Richard Purdie
f97450203f oeqa/qemurunner: Use logger.debug, not logger.info
Bitbake logs info messages to the console. These messages are really
there as debugging information. At the debug level, they will be shown
in failure logs and in the task logs but not on the console which
is what we want in this case.

(From OE-Core rev: 5c1cdd4f3ea59a202fff853e0390b9aa5859dc74)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Richard Purdie
572b9c54a1 oeqa/targetcontrol: Drop unused get_target_controller function
This funciton appears completely unused, drop it.

(From OE-Core rev: 31ccc70c4ea58e3781ea14eb534e00e9e06e131a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Richard Purdie
3f6fbed1e1 oeqa/runqemu: Only show stdout/stderr upon test failure
In general we don't need to see the output of runqemu however if it fails
we do. Use the buffer option that already exists in TestResult but allow
us to trigger it on a per test basis.

(From OE-Core rev: 1826a8cb8cf4c51307003617864d2ffab273eb0b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Richard Purdie
292c2ae888 qemurunner: Ensure logging handler is removed
If we don't remove the handler we end up with duplicate log messages
which is undesireable.

(From OE-Core rev: 39e6194615b139e2b772084641940fffa2c9380f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Khem Raj
539a852504 systemd: Fix build on musl
Add needed patches for portability across glibc/musl
enable systemd on musl too

Disable utmp,ldconfig,nss,resolved,localed for musl
which is not supported on musl

(From OE-Core rev: 5d85e01555e84dbb82c7671a5dfbe15d5e153a71)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Juro Bystricky
10d0ace274 e2fsprogs-ptest: improve reproducibility
Remove several Makefiles containing build host references.
While at it, also remove some additional files not needed for
testing.

(From OE-Core rev: 8ffafc2bc1c4f4d13295d56013029e10bb536d25)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Markus Lehtonen
852c71956b oe-build-perf-report-email.py: add images as MIME objects
Add images as separate MIME objects instead of directly embedding images
in the html (as base64 encoded pngs). This makes the emails better
suited for certain email servers/clients.

(From OE-Core rev: fbbc84d9919d9cc18add03fc617637330721f5d9)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Juro Bystricky
254013ce5f gobject-introspection: improve reproducibility
Remove cross-compiler wrappers from the package, these contain numerous
build host references.
The wrappers are only needed for cross-compiling.

[YOCTO #11705]

(From OE-Core rev: 60584b9047d844d6e5394338c133e8dab954e09d)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Tom Rini
de78322f16 wic: Update canned-wks for systemd to use UUID everywhere
With systemd, the mounting of the swap partition is handled via systemd
and will mount it, regardless of if PARTUUID is parsed or not.  systemd
has a runtime dependency on util-linux-mount so PARTUUID for regular
mount points will be handled correctly.  Make all partitions that we add
to the image make use of UUIDs for maximum portability.

(From OE-Core rev: 8bf0e3ee85b22fdd4d8940878b4d99cccff1efd5)

Signed-off-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Tom Rini
61f319db67 wic: When using --use-uuid make sure that we update the fstab with PARTUUID
When we have been told to use the UUID we should also update the fstab
to make use of PARTUUID instead of hard-coding the device in question.
This will make the resulting image much more portable.

(From OE-Core rev: 1d1fdcaf8702110783f2003cd3f8ae96c99a6d72)

Signed-off-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Martin Kelly
88d92fb301 systemctl-native: add target.wants to target regex
The regex for acceptable systemd WantedBy/RequiredBy targets does not include
target.wants, so a line like this:

WantedBy=multi-user.target.wants

gets silently ignored, even though it works fine on a real system.

(From OE-Core rev: 8407100061e56346cafa06cc60eb63103d166bf8)

Signed-off-by: Martin Kelly <mkelly@xevo.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Ross Burton
ef6babd638 dpkg: use snapshot.debian.org
(From OE-Core rev: afd36e0d3eb7d7a68199572bb841b1c7078983c3)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Juro Bystricky
f8c7eff81d curl_7.54.1.bb: improve reproducibility
Improve reproducible build of curl-dev and curl-dbg packages.

curl-dev: Correctly remove build host references from curl-config
curl-dbg: Do not generate time stamps in files generated by mkhelp.pl

(From OE-Core rev: 4b5bfbf0f474d2657c1ed54a2ff00502d5f419d9)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Chen Qi
8d3edc9821 systemd: remove useless options for mips4
Looking back the history, we had problem with systemd on qemumips64
which is also related to compilation flags. We solved that by using
tweaking FULL_OPTIMIZATION for mips64 to have "-fno-tree-switch-conversion
-fno-tree-tail-merge".

Now systemd has been upgraded to 234, and we don't have the above problem
any more, thus removing these flags.

(From OE-Core rev: a7b30e604ccc74cab65e3ac6a4fb08f68abc983e)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Joe Slater
8d706de096 rpm: remove --sysroot from macros on target
We do not want to specify --sysroot when defining __cc
used on a target.

(From OE-Core rev: 328201fe185b948eacceceefd9d2d2d0ba1ab676)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Ming Liu
59cbf69299 libsolv: fix a kernel-devsrc installation issue
We encountered a problem when installing kernel-devsrc package on a
intel-x86 target, as follows:
$ dnf install kernel-devsrc
| Installing : kernel-devsrc-1.0-r0.0.intel_corei7_64 1/1
| failed loading RPMDB
| The downloaded packages were saved in cache until the next successful transaction.
| You can remove cached packages by executing 'dnf clean packages'.

It can be fixed by increasing MAX_HDR_CNT and MAX_HDR_DSIZE in libsolv
per test.

(From OE-Core rev: 2987ec994705abb7dd18738ba1719aef9d72049a)

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Juro Bystricky
02f64e5db8 grub_2.02.bb: improve reproducibility
Remove several build host references from modinfo.sh files.

(From OE-Core rev: cf4abc5eebdb5f88fefe3fb633bfdc1d2a94f9e3)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Ross Burton
c76a25b6ac python: add PACKAGECONFIG for Berkeley DB module
The bsddb module is deprecated and requires an old version of Berkeley DB that
some may be unhappy with even shipping, so expose a way to disable the module.

(From OE-Core rev: 25460ccdebaa6ff29ec051a0489a51b19c34e79c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Ross Burton
1002359e5e db: change types to avoid headers changing between architectures
Triggered by looking at why Python doesn't find db.h (because it greps db.h for
a regex, and db.h is actually a oe_multilib_header wrapper) I realised that the
only reason we have to oe_multilib_header db.h is because one typedef is
different between 32-bit and 64-bit architectures.

However, the typedef is for a 64-bit integer so instead of using long (64-bit)
or long long (32-bit), just use int64_t.  Some of the overly complicated
configure tests need to be deleted after this change but that is safe as we're
building in a controlled environment and can assume int64_t exists.

With this done the header doesn't change between architectures, and it doesn't
need to be wrapped by oe_multilib_header.

(From OE-Core rev: 6c9ffa50d00a55122ed861e1818186035fd89715)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Chen Qi
3eca58ca70 bash-completion: remove rfkill file that util-linux provides
Remove the rfkill bash completion file that util-linux provides
to avoid conflicts.

(From OE-Core rev: 1657f98528e6ea70e77b5f8cbe85b8ce970c3535)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Erik Botö
aa6e825bf0 sshcontrol.py: in copy_to() always use scp
The current implementation is broken when the localpath is a link.
Then only a symlink would be created on the target, instead of copying
the actual file.

[YOCTO #11524]

(From OE-Core rev: a9d446d9c42a67109ae87a156ae43dcbb0f56e1e)

Signed-off-by: Erik Botö <erik.boto@pelagicore.com>
Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Erik Botö
2ef0fd2364 masterimage.py: rename parameter "params" in start() to "extra_bootparams"
This matches how it is called, and how it is named in qmeu target.

[YOCTO #11524]

(From OE-Core rev: 4e376d0658fe8315cfcca927ea275e1260bcc02f)

Signed-off-by: Erik Botö <erik.boto@pelagicore.com>
Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Erik Botö
ee7f665f0a masterimage.py: fix stop()
The stop() function is called in the context of the masterimage,
so self.master should be used instead of self.connection which is
undefined at that time.

[YOCTO #11524]

(From OE-Core rev: 1871d61b75f2fbc0df1368960b7746371fd875f5)

Signed-off-by: Erik Botö <erik.boto@pelagicore.com>
Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Erik Botö
ab31d76bc8 masterimage.py: fix issue with calling reboot on masterimage/DUT
On systemd systems calling reboot over an ssh connection doesn't
return as expected causing an exception, therefore wrap the call
to reboot in order to avoid this issue.

Also sync the filesystems before rebooting cause otherwise, it will be
done as part of the reboot and could take a very long time and testimage
will fail to access the machine. This issue was observed consistently with
one of our rootfs at Pelagicore.

[YOCTO #11524]

(From OE-Core rev: 6f5c4a8e07f8cdf3f6352e9e85d7376937bb32d2)

Signed-off-by: Erik Botö <erik.boto@pelagicore.com>
Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Ross Burton
dd03b7399b selftest/imagefeatures: add basic test for useradd-staticids
(From OE-Core rev: cb20382d85f5758ac9fb7cd7df085d07005f1337)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Peter Kjellerstedt
55d21c7fb6 oeqa/core/loader: Make _built_modules_dict() support packages correctly
For test modules in a package, e.g., oelib.license, running
`oe-selftest -r oelib.license` or `oe-selftest -r
oelib.license.TestSimpleCombinations` would fail with a message that
the specified test cases could not be found. This was due to the
parsing in _built_modules_dict(), which failed to distinguish between
<package>.<module>.<class> and <module>.<class>.<testcase> and treated
both cases as the latter.

(From OE-Core rev: 8d5eb5498975fd0d73ac20e2c4d938c1f85317d7)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Ross Burton
4e28c8d6b7 oeqa/selftest/runtime_test: use console in postinst_rootfs_and_boot
Use a console login not SSH for simplicity.

(From OE-Core rev: 35ecbe834290f346a8acf1e926e3104a8ac6edb0)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Ming Liu
18941419c8 image.bbclass: let do_image depend on do_populate_lic of EXTRA_IMAGEDEPENDS
The licenses of EXTRA_IMAGEDEPENDS recipes are being referenced in
image postcommand write_deploy_manifest, but a dependency is missing
between do_image and do_populate_lic of EXTRA_IMAGEDEPENDS recipes,
this leads some license files not present when write_deploy_manifest
runs, hence will cause build errors.

Fixed by letting do_image depend on do_populate_lic of
EXTRA_IMAGEDEPENDS recipes.

(From OE-Core rev: 2aa357501f74163f49c62db8660b7a132b5d0d46)

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Luca Ceresoli
da8f32a3bb externalsrc: fix ExpansionError if the source dir does not exist yet
The externalsrc class code assumes that the source directory
(EXTERNALSRC) exists before bitbake is called. Otherwise do_configure
will fail obviously since externalsrc does not fetch anything.

Commit 3ca6085729 ("externalsrc: Handle .git not being a directory")
changed this behaviour. Now on a missing EXTERNALSRC directory we get
a bb.data_smart.ExpansionError during _parsing_, way before
do_configure can be run.

This new behaviour creates two problems:

 * First, there error message is very cryptic (and it's hard to
   provide a better message since no task is ever run):

     ERROR: ExpansionError during parsing /<...>/<...>.bb
     Traceback (most recent call last):
     bb.data_smart.ExpansionError: Failure expanding variable do_compile[file-checksums], expression was ${@srctree_hash_files(d)} which triggered exception FileNotFoundError: [Errno 2] No such file or directory: '<...>'

 * Second, this prevents creating a class based on externalsrc that
   automatically fetches the code in EXTERNALSRC before do_compile
   runs.

Fix both problems by simply calling git with '-C ${EXTERNALSRC}'
instead of calling git inside the non-existing directory. This changes
from a bb.data_smart.ExpansionError to a
subprocess.CalledProcessError, which is in line with what's actually
going on: git is telling us it can't find the git dir.

Also remove a comment that does not apply anymore.

(From OE-Core rev: 390e4cc74ef9b578e1cced21444247d975610154)

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Joshua Watt <jpewhacker@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Igor Romanov
e6fe54ce38 image.bbclass: Fix 'vardepsexclude' mechanism for image_cmd_${FSTYPE}
Current mechanism doesn't allow to use any non-determenistic variable, except 'DATE' and 'DATETIME', inside IMAGE_CMD_${FSTYPE} prototype.

Passing 'vardepsexclude' values from IMAGE_CMD_${FSTYPE}, so users will be able to avoid taskhash mismatch problems.

(From OE-Core rev: 92bd01eba742e2bcb146ca24a1443af833f5a2ba)

Signed-off-by: Igor Romanov <i.romanov@inango-systems.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Patrick Ohly
23ee931b9d useradd-staticids: explain how to fix the the problem
When a distro uses useradd-staticids.bbclass and some developer
unfamiliar with the static ID mechanism tries to add a recipe which
needs new IDs, the resulting error or warning is typically not
something that the developer will understand.

Even experienced developers do not get enough information. They first
must find out whether the missing ID is for a system user or group,
then locate the file(s) in which the ID could be added. Both of this
is now part of the message:

ERROR: .../meta/recipes-extended/cronie/cronie_1.5.1.bb: cronie -
cronie: system groupname crontab does not have a static ID defined.
Add crontab to one of these files: /.../conf/distro/include/my-distro-group

The case that no file was found is also handled:

ERROR: .../meta/recipes-extended/cronie/cronie_1.5.1.bb: cronie -
cronie: system groupname crontab does not have a static ID defined.
USERADD_GID_TABLES file(s) not found in BBPATH: files/group

It would be nice if the error message could also list the range in
which a new ID needs to be allocated, but /etc/login.defs isn't
available at the time of creating the message, so that part is still
something that a developer needs to know.

(From OE-Core rev: 29c12b147ef85db4ebb0f86a911db5f90ae11c0a)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Patrick Ohly
e4f256000f useradd-staticids: skip recipes without static IDs
When enabling useradd-staticids.bbclass, one has to define static IDs
for all recipes in a world build, otherwise those without static IDs
generate parse errors or warnings, depending on USERADD_ERROR_DYNAMIC.

Defining unused IDs is a lot of work and clutters the passwd/group
file of a distro.

Distros which want to avoid this can now set USERADD_ERROR_DYNAMIC =
"skip" and recipes which would have triggered a message then silently
get disabled. Only trying to build them shows the error message:

$ bitbake apt
...
ERROR: Nothing PROVIDES 'apt'
ERROR: apt was skipped: apt - apt: username _apt does not have a static ID defined.

(From OE-Core rev: a2766b99a763874d469d34b84109553f68f5aaac)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Andre McCurdy
fbc12e0794 feature-arm-vfp.inc: drop unnecessary extra space from TUNE_CCARGS
The trailing space added to TUNE_CCARGS when appending -mfpu=XXX is
unnecessary and leads to a double space in the final value.

(From OE-Core rev: 0d5bbaf5fe66bd93e8d8cbf78834f562d90d9dca)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Yi Zhao
c45bdab6b9 maintainers.inc: update maintainership
Reassign Dengke's recipes to Yi Zhao.

(From OE-Core rev: 0c8ef5e4d579ca0d097bb6ab8312ba5b7eb9e213)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Ross Burton
a97fecb3bd oeqa/selftest/runtime_test: fix postinst_rootfs_and_boot
This test overrides IMAGE_FEATURES but failed to include package-management,
which is essential for postinsts to work under dpkg.

(From OE-Core rev: 5e68e80a45c29dd7b337d9500733b18a19cd930b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Paul Eggleton
87577b8a53 lib/oe/sstatesig: fix wildcard matching wrong task signature files
With a '*' as a wildcard for the signature here we can also match a
portion of the task name with the result that we may match a sigdata
file for the wrong task. Luckily the signature is always the same
length - 32 characters - so we can simply use 32 '?' characters instead.
(A regex would have been another alternative, but the wildcard should be
effective and I felt like a regex would complicate the code more than
this solution).

Fixes [YOCTO #11763].

(From OE-Core rev: 8565391a4ebb574141b5d09bff710fc02c73ba34)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Robert Berger
5599639b65 nativesdk-packagegroup-sdk-host: remove redundant LICENSE
*) packagegroup class sets a default value for LICENSE
*) usually packagegroups don't contain a LICENSE
   and if they do it's many times a copy/paste and doesn't
   reflect the license of the packages included in the
   packagegroup

(From OE-Core rev: aaeb56d2f9193bdfb108f20e9ae2bbb4505815c0)

Signed-off-by: Robert Berger <robert.berger@ReliableEmbeddedSystems.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Ross Burton
c388d72c60 oeqa/selftest/runtime: force empty root password, use helpers to access qemu
(From OE-Core rev: 25a2db0c4e1c558cd14b2e7b7bce46f7d1ea02a7)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Saul Wold
d40531211c wic: misc.py: Use mmd from mtools instead of syslinux
mtools already provides a suite of msdos utilities, switch to this
one also.  This could allow for future changes to reduce wic's
dependecies.

(From OE-Core rev: 493bbd9ae773d0713db9782b434ce9543e2266f3)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Joe Slater
8eeed4220e goarch: There is no GOARCH defined for mips64-n32
Defeat building for mipsarchn32 because there is no corresponding
GOARCH.  Neither "mips" nor "mips64" allows go-runtime to compile.
Existing mips32 code assumes the o32 ABI.

(From OE-Core rev: 6380e5e381ceaf39a02e6f76c74910b2af71980b)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Wenlin Kang
0fbaee9077 kexec-tools: add systemd support for kdump
Add file kdump.service to support kdump in systemd.

(From OE-Core rev: d184a1365ededd30952ec4e8e6f6deb6eafb3b31)

Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Ming Liu
33a48469bd lib/oe/terminal.py: use an absolute path to execute oe-gnome-terminal-phonehome
A flaw was found on my Ubuntu 14.04.5 LTS, on which that gnome-terminal is
the default terminal, when I run any of the tasks:
bitbake busybox -c menuconfig/devshell/devpyshell
bitbake virtual/kernel -c menuconfig/devshell/devpyshell

I got a error as follows:
"Failed to execute child process "oe-gnome-terminal-phonehome" (No such file or directory)"

Seems the environment of the process calling Popen is not passed to the
child process, this behaviour is a known issue in Python bug tracker:
http://bugs.python.org/issue8557

It could be fixed by using an absolute path instead per test.

(From OE-Core rev: 84514d0aaf28028b7862d247debbcdcce58fdada)

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2117c148ef07d84bc605768e3b3671b0126b9337)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Robert Yang
e52027eef7 useradd.bbclass: print a warn when useradd not found
Exit quietly makes it very hard for debugging when user is not added as
expected, print a warning helps a lot.

(From OE-Core rev: 2428444f4d5deeaad90753bde51455c0b55d7d3e)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 057885ed6f22781960bce4e082e3aa96e126764c)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Richard Purdie
9d5296bba5 bind: Convert from ftp to https urls
The ftp protocol is dated and problematic. Since https is available, lets
use that instead, making new users chances of successful builds higher.

(From OE-Core rev: 3dcb052eb4aeca60389c45801d1598fcbe8898d0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f24a29fcba98ceff08c13b0f029be93995f1deed)

Fix merge conflict do to version diff
Signed-off-by: Armin Kuster <akuster808@gmail.com>

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Thomas Perrot
8754f4779c runqemu: correct rootfs setup to boot an ide hddimg
vm_drive variable is malformed when the drive type is an ide device.

(From OE-Core rev: 02dbf124328eebdfdf62402588a41719953a22bf)

Signed-off-by: Thomas Perrot <thomas.perrot@tupi.fr>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 88d7b17871fe8340ab7fd5c901d3a535ae098c3e)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Armin Kuster
e0bfc22475 tzdata: update 2017c
LICENSE changed do to rewording
7097a65277 (diff-9879d6db96fd29134fc802214163b95a)

  Briefly:
  Northern Cyprus switches from +03 to +02/+03 on 2017-10-29.
  Fiji ends DST 2018-01-14, not 2018-01-21.
  Namibia switches from +01/+02 to +02 on 2018-04-01.
  Sudan switches from +03 to +02 on 2017-11-01.
  Tonga likely switches from +13/+14 to +13 on 2017-11-05.
  Turks & Caicos switches from -04 to -05/-04 on 2018-11-04.
  A new file tzdata.zi now holds a small text copy of all data.
  The zic input format has been regularized slightly.

  Changes to future time stamps

    Northern Cyprus has decided to resume EU rules starting
    2017-10-29, thus reinstituting winter time.

    Fiji ends DST 2018-01-14 instead of the 2018-01-21 previously
    predicted.  (Thanks to Dominic Fok.)  Adjust future predictions
    accordingly.

    Namibia will switch from +01 with DST to +02 all year on
    2017-09-03 at 02:00.  This affects UT offsets starting 2018-04-01
    at 02:00.  (Thanks to Steffen Thorsen.)

    Sudan will switch from +03 to +02 on 2017-11-01.  (Thanks to Ahmed
    Atyya and Yahia Abdalla.)  South Sudan is not switching, so
    Africa/Juba is no longer a link to Africa/Khartoum.

    Tonga has likely ended its experiment with DST, and will not
    adjust its clocks on 2017-11-05.  Although Tonga has not announced
    whether it will continue to observe DST, the IATA is assuming that
    it will not.  (Thanks to David Wade.)

    Turks & Caicos will switch from -04 all year to -05 with US DST on
    2018-03-11 at 03:00.  This affects UT offsets starting 2018-11-04
    at 02:00.  (Thanks to Steffen Thorsen.)

  Changes to past time stamps

    Namibia switched from +02 to +01 on 1994-03-21, not 1994-04-03.
    (Thanks to Arthur David Olson.)

    Detroit did not observe DST in 1967.

    Use railway time for Asia/Kolkata before 1941, by switching to
    Madras local time (UT +052110) in 1870, then to IST (UT +0530) in
    1906.  Also, treat 1941-2's +0630 as DST, like 1942-5.

    Europe/Dublin's 1946 and 1947 fallback transitions occurred at
    02:00 standard time, not 02:00 DST.  (Thanks to Michael Deckers.)

    Pacific/Apia and Pacific/Pago_Pago switched from Antipodean to
    American time in 1892, not 1879.  (Thanks to Michael Deckers.)

    Adjust the 1867 transition in Alaska to better reflect the
    historical record, by changing it to occur on 1867-10-18 at 15:30
    Sitka time rather than at the start of 1867-10-17 local time.
    Although strictly speaking this is accurate only for Sitka,
    the rest of Alaska's blanks need to be filled in somehow.

    Fix off-by-one errors in UT offsets for Adak and Nome before 1867.
    (Thanks to Michael Deckers.)

    Add 7 s to the UT offset in Asia/Yangon before 1920.

  Changes to zone names

    Remove Canada/East-Saskatchewan from the 'backward' file, as it
    exceeded the 14-character limit and was an unused misnomer anyway.

(From OE-Core rev: 2ea37fd4fad2e5ef21c119b03f09bcf2b0e7266e)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 77a8256d9cbfe24d470aac9b4cc2910a41ca0ee8)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Armin Kuster
f165c52e57 tzcode-native: update to 2017c
LICENSE changes do to rewording
7097a65277 (diff-9879d6db96fd29134fc802214163b95a)

Backported to fixes from upstream too.

Changes to code

    zic and the reference runtime now reject multiple leap seconds
    within 28 days of each other, or leap seconds before the Epoch.
    As a result, support for double leap seconds, which was
    obsolescent and undocumented, has been removed.  Double leap
    seconds were an error in the C89 standard; they have never existed
    in civil timekeeping.  (Thanks to Robert Elz and Bradley White for
    noticing glitches in the code that uncovered this problem.)

    zic now warns about use of the obsolescent and undocumented -y
    option, and about use of the obsolescent TYPE field of Rule lines.

    zic now allows unambiguous abbreviations like "Sa" and "Su" for
    weekdays; formerly it rejected them due to a bug.  Conversely, zic
    no longer considers non-prefixes to be abbreviations; for example,
    it no longer accepts "lF" as an abbreviation for "lastFriday".
    Also, zic warns about the undocumented usage with a "last-"
    prefix, e.g., "last-Fri".

    Similarly, zic now accepts the unambiguous abbreviation "L" for
    "Link" in ordinary context and for "Leap" in leap-second context.
    Conversely, zic no longer accepts non-prefixes such as "La" as
    abbreviations for words like "Leap".

    zic no longer accepts leap second lines in ordinary input, or
    ordinary lines in leap second input.  Formerly, zic sometimes
    warned about this undocumented usage and handled it incorrectly.

    The new macro HAVE_TZNAME governs whether the tzname external
    variable is exported, instead of USG_COMPAT.  USG_COMPAT now
    governs only the external variables "timezone" and "daylight".
    This change is needed because the three variables are not in the
    same category: although POSIX requires tzname, it specifies the
    other two variables as optional.  Also, USG_COMPAT is now 1 or 0:
    if not defined, the code attempts to guess it from other macros.

    localtime.c and difftime.c no longer require stdio.h, and .c files
    other than zic.c no longer require sys/wait.h.

    zdump.c no longer assumes snprintf.  (Reported by Jonathan Leffler.)

    Calculation of time_t extrema works around a bug in GCC 4.8.4
    (Reported by Stan Shebs and Joseph Myers.)

    zic.c no longer mistranslates formats of line numbers in non-English
    locales.  (Problem reported by Benno Schulenberg.)

    Several minor changes have been made to the code to make it a
    bit easier to port to MS-Windows and Solaris.  (Thanks to Kees
    Dekker for reporting the problems.)

  Changes to documentation and commentary

    The two new files 'theory.html' and 'calendars' contain the
    contents of the removed file 'Theory'.  The goal is to document
    tzdb theory more accessibly.

    The zic man page now documents abbreviation rules.

    tz-link.htm now covers how to apply tzdata changes to clients.
    (Thanks to Jorge Fábregas for the AIX link.)  It also mentions MySQL.

    The leap-seconds.list URL has been updated to something that is
    more reliable for tzdb.  (Thanks to Tim Parenti and Brian Inglis.)

(From OE-Core rev: 12a538bbbc8d04e875f81bd65e9754d749273aac)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 74af497f8d6b4e28d97c0f2cdb4ece90c2a6b8b5)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Ross Burton
e6c74f7ac9 qemurunner: fix bad indentation in serial login
(cherry picked from commit c4f57aed7a29000067c63a2821fddf18a88a23ce)
(From OE-Core rev: 2de7ffd9f0656ffd5b6fa002213e5f619480aba8)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Juro Bystricky
ce3bbc6972 util-linux-ptest: various fixes
The original code enabled only a sub-set of all available tests.
It also copied executables to be tested into a local folder although
the executables were expected to be already installed in the image.
In addition, the original code copied libtool scripts instead of already
cross-compiled images.

This patch modifies some test scripts so there is no need to copy
images already installed: instead it tests images already installed.
As the executables are scattered in /bin, usr/bin, /sbin/ usr/sbin folders,
we use 'which' to determine the absolute path.
We also copy some cross-compiled tests that were previously missing.

By the virtue of not copying the libtools scripts we also managed
the achieve binary reproducible package, as previously leaked build host
info was contained in libtool scripts, which are not copied anymore.

[YOCTO #10953]

(From OE-Core rev: 2cb21df92ec219b852e25fb005c8fccb2e395dcd)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit f5198af37a5357a1758b50668b67f1c552982507)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Saul Wold
f483bdf9c4 wic: misc.py: Added more mtools binaries
This fixes the issue that if you don't have mtools installed on the host
thus causing host contamination, that the correct binaries would be selected
from the native sysroot.

[YOCTO #12173]

(From OE-Core rev: 9562669a4979bb31bbc27dc80c6a8d4f08500a49)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit dca43c557449d3765fec9f8d159d5c9e4ea8b0cb)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Li Zhou
24c9708492 curl: Security Advisory - curl - CVE-2017-1000254
Porting patch from <https://github.com/curl/curl/commit/
5ff2c5ff25750aba1a8f64fbcad8e5b891512584> to solve CVE-2017-1000254.

(From OE-Core rev: 4e22302603c6a1fc56ef77cdc10e1b1f631a274e)

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 08f8d5db06647b94f96d655100c358047682dd2f)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Khem Raj
221c4877f1 mdadm: Fix build with gcc < 7
Do not rely on build host gcc for "implicit-fallthrough" support
we need to check the CC for it

(From OE-Core rev: 8dae7b56b85e098eda1517eb7f50f37c57fb3ba6)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit b36100bb3077947361c858f891eb15a76013671e)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Randy MacLeod
e303b3cadc openssl: force soft link to avoid rare race
This patch works around a rare parallel build race condition using
the force option when soft linking.

The error seen is:

ln: failed to create symbolic link 'libssl.so': File exists
make[4]: *** [Makefile.shared:171: link_a.gnu] Error 1
make[4]: Leaving directory
'/.../build/tmp-glibc/work/x86_64-linux/openssl-native/1.0.2k-r0/openssl-1.0.2k'

Just add the -f flag to the platform independent soft link code to
avoid the collision.  This is reasonable since this Makefile removes
the link target before creating a new soft link. The Makefile was
written this way to support platforms that don't allow forcing a
softlink to overwrite an existing link. Only builds on Linux are
supported so that's not a requirement for oe-core recipes.

The openssl team is rewriting their build files so it's not appropriate
for openssl upstream and fixing the root cause of the race condition
was also not pursued.

(From OE-Core rev: f6be81b1dddc7adc2e97fefb2bd6c296d4dce8c6)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit c60288aba70635238094c6b813228b31e0715db9)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Juro Bystricky
500ce8d139 nettle-ptest: fix a failing test
This patch changes the result of the nettle dlopen-test
from FAIL to PASS. The test used to fail because the test could not
find and load libnettle.so.
This patch fixes this by using absolute path instead of relative.

This was the only test out of 88 that used to fail.

(From OE-Core rev: 511db7c256dbb3f8ba95eabd025d427384d4a1cb)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit f12d493418417c8529a97c7a768e4af58ea5c91b)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Juro Bystricky
f7e10b532c gawk-ptest: fix a failing test
This patch changes the result of the "include" test
from FAIL to PASS. The test used to fail as the test prerequisite
was missing.
This was the only test out of 298 that used to fail.

(From OE-Core rev: 7e1da2f7c1068cf88424e4af3659d185dbd4167d)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 3e6bbb81d143919e37cea1549220d27df22080fe)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Wenzong Fan
0fc114ba76 tcl: remove host path from tclConfig.sh
The tclConfig.sh is also used by other packages (such as expect) for
cross-compiling, the host path from it can't be removed directly in
the do_install step.

With PACKAGE_PREPROCESS_FUNCS to remove host path and avoid the
crossscripts installed to target.

(From OE-Core rev: 54841b0a12f3d7ac9c36df110821fa39d60d456f)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit ced5618e7b3459fdd96f448ccdb55b5ced6d8214)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Khem Raj
b21f8e361b elfutils: Fix missing library on linker cmdline
(From OE-Core rev: a998f5be9b0364ef371f4cf6e4c0273fd9dc3861)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 0caa41cf9692ac2cdf62b31cda8edd8241198697)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Nikolay Merinov
f515778225 perl-native: Provide correct lddlflags
For shared libraries compilation perl uses LDDLFLAGS instead of
LDFLAGS. Value for LDDLFLAGS can be provided through
recipe-sysroot-native/usr/lib/perl-native/perl/config.sh file
generated during perl-native compilation.

With default LDDLFLAGS libxml-parser-perl-native package have no
correct rpath in Expat.so module. Provide correct LDDLFLAGS for perl
modules compilation to fix build on hosts without libexpat.so.

(From OE-Core rev: b927733c03f672aee59211fa86278cae9c817530)

Signed-off-by: Nikolay Merinov <n.merinov@inango-systems.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 118f42fa92c29269395c53c931fa174ece1af2e0)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Javier Viguera
40ed9adb53 curl: add 'enable-ares' packageconfig option
This build time option is needed to use the '--dns-interface' runtime
parameter to instruct 'curl' to use a specific interface for DNS
resolution.

Not enabled by default, as it depends on 'c-ares' package from
meta-openembedded (meta-networking).

(From OE-Core rev: 8f3d34217b5b95f1f159c362c6f5dad3ba4fb290)

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 4fe0aa3791db0ee6c85e7a068f69def6e7c0da46)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Bruce Ashfield
96d525dc03 linux-yocto/4.12: ide:ide-cd: fix kernel panic resulting from missing scsi_req_init
Integrating a backport of upstream commit:

    ide:ide-cd: fix kernel panic resulting from missing scsi_req_init

    commit 79d73346ac05bc31 upstream

    Since we split the scsi_request out of struct request, while the
    standard prep_rq_fn builds 10 byte cmds, it missed to invoke
    scsi_req_init() to initialize certain fields of a scsi_request
    structure (.__cmd[], .cmd, .cmd_len and .sense_len but no other
    members of struct scsi_request).

    An example panic on virtual machines (qemu/virtualbox) to boot
    from IDE cdrom:
    ...
    [    8.754381] Call Trace:
    [    8.755419]  blk_peek_request+0x182/0x2e0
    [    8.755863]  blk_fetch_request+0x1c/0x40
    [    8.756148]  ? ktime_get+0x40/0xa0
    [    8.756385]  do_ide_request+0x37d/0x660
    [    8.756704]  ? cfq_group_service_tree_add+0x98/0xc0
    [    8.757011]  ? cfq_service_tree_add+0x1e5/0x2c0
    [    8.757313]  ? ktime_get+0x40/0xa0
    [    8.757544]  __blk_run_queue+0x3d/0x60
    [    8.757837]  queue_unplugged+0x2f/0xc0
    [    8.758088]  blk_flush_plug_list+0x1f4/0x240
    [    8.758362]  blk_finish_plug+0x2c/0x40
    ...
    [    8.770906] RIP: ide_cdrom_prep_fn+0x63/0x180 RSP: ffff92aec018bae8
    [    8.772329] ---[ end trace 6408481e551a85c9 ]---
    ...

    Fixes: 82ed4db499b8 ("block: split scsi_request out of struct request")

    Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
    [bva: modified for 4.12 context]
    Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>

(From OE-Core rev: 56548b615442e3f58b204c4810d7fe1e3d852409)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 089dc30e11a5bbd10bf6bebea6aa0ac2173bc9a3)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Bruce Ashfield
d61b65f35c linux-yocto/4.12: configuration fragment updates
Integrating the following configuration updates:

 dcf1317b36d2 features/mmc/mmc-realtek: enable Realtek PCI-E card reader support
 1a144ffe5f76 edac: split scc into enablement and patching (for treegen)

(From OE-Core rev: fdcbb9ff97928f80f854be0750a509a0c40f7982)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5135d7c88bd1c50b7462d3f219d778e4a33b2995)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Bruce Ashfield
3190ba0b38 linux-yocto/4.9: update to v4.9.57
Integrating the korg -stable release that comprises the following changes:

   5d7a76acad40 Linux 4.9.57
   28955b03fac3 KVM: nVMX: update last_nonleaf_level when initializing nested EPT
   fb6da44f965e x86/alternatives: Fix alt_max_short macro to really be a max()
   063b57d55618 USB: serial: console: fix use-after-free after failed setup
   638f7fbfd67d USB: serial: qcserial: add Dell DW5818, DW5819
   c98f2ff0013e USB: serial: option: add support for TP-Link LTE module
   dcb2be936c3f USB: serial: cp210x: add support for ELV TFD500
   0c80bbb76814 USB: serial: ftdi_sio: add id for Cypress WICED dev board
   ed35ded9c781 bio_copy_user_iov(): don't ignore ->iov_offset
   e67dfe75b683 more bio_map_user_iov() leak fixes
   5444d8ab9a14 fix unbalanced page refcounting in bio_map_user_iov
   f9139a1a2457 direct-io: Prevent NULL pointer access in submit_page_section
   3941ee20839f usb: gadget: composite: Fix use-after-free in usb_composite_overwrite_options
   3c57f9d8c194 usb: gadget: configfs: Fix memory leak of interface directory data
   80689fdf37a8 drm/i915/bios: parse DDI ports also for CHV for HDMI DDC pin and DP AUX channel
   fd96a9b0150a drm/i915: Read timings from the correct transcoder in intel_crtc_mode_get()
   7c82795f9612 drm/i915/edp: Get the Panel Power Off timestamp after panel is off
   4dbe48b8e1a9 ALSA: line6: Fix leftover URB at error-path during probe
   b65f99b8b1ab ALSA: line6: Fix missing initialization before error path
   bbab59d6c4b2 ALSA: caiaq: Fix stray URB at probe error path
   6571ce840881 ALSA: seq: Fix copy_from_user() call inside lock
   35b84860667f ALSA: seq: Fix use-after-free at creating a port
   e0c70289a1e3 ALSA: usb-audio: Kill stray URB at exiting
   133ca5c71299 fs/mpage.c: fix mpage_writepage() for pages with buffers
   2a077f725847 device property: Track owner device of device property
   3abebf0b8c5f iommu/amd: Finish TLB flush in amd_iommu_unmap()
   4f28d1a742f9 pinctrl/amd: Fix build dependency on pinmux code
   f4753e0ae985 usb: renesas_usbhs: Fix DMAC sequence for receiving zero-length packet
   08e1674e82e5 KVM: nVMX: fix guest CR4 loading when emulating L2 to L1 exit
   3610c4a7838d KVM: MMU: always terminate page walks at level 1
   91daaefbe5df crypto: shash - Fix zero-length shash ahash digest crash
   57265cddde30 HID: usbhid: fix out-of-bounds bug
   9d9c2884da2c dmaengine: ti-dma-crossbar: Fix possible race condition with dma_inuse
   618c786d2bba dmaengine: edma: Align the memcpy acnt array size with the transfer
   b7309209b020 MIPS: math-emu: Remove pr_err() calls from fpu_emu()
   a844e288c811 USB: dummy-hcd: Fix deadlock caused by disconnect detection
   97535791d8f9 rcu: Allow for page faults in NMI handlers
   f012cb75946f nl80211: Define policy for packet pattern attributes
   92d7d3e86702 CIFS: Reconnect expired SMB sessions
   28cbf0693771 ext4: in ext4_seek_{hole,data}, return -ENXIO for negative offsets
   9d36d3eff2f8 Linux 4.9.56
   00449628f352 Revert "socket, bpf: fix possible use after free"
   f82786d7a94f Linux 4.9.55
   922e562b2613 KVM: x86: fix singlestepping over syscall
   ec86c1ca8fbb f2fs: don't allow encrypted operations without keys
   48d7b5a88790 ext4: don't allow encrypted operations without keys
   6007f0f7a47d ext4: Don't clear SGID when inheriting ACLs
   2d605d9188d6 ext4: fix data corruption for mmap writes
   27db1f020373 vfs: deny copy_file_range() for non regular files
   ba15518c2610 sched/cpuset/pm: Fix cpuset vs. suspend-resume bugs
   d9aaef32f32c mmc: core: add driver strength selection when selecting hs400es
   c83bbed23419 nvme-pci: Use PCI bus address for data/queues in CMB
   acf64334817c drm/i915/bios: ignore HDMI on port A
   54aa832c8744 brcmfmac: setup passive scan if requested by user-space
   4d3132d97aa7 brcmfmac: add length check in brcmf_cfg80211_escan_handler()
   12b182a35f45 scsi: sd: Do not override max_sectors_kb sysfs setting
   aee20f321daf iwlwifi: add workaround to disable wide channels in 5GHz
   f8895642cf8e iwlwifi: mvm: use IWL_HCMD_NOCOPY for MCAST_FILTER_CMD
   9a19bc44c636 netlink: fix nla_put_{u8,u16,u32} for KASAN
   57a77fffb0ff rocker: fix rocker_tlv_put_* functions for KASAN
   50b27486ae8a HID: wacom: bits shifted too much for 9th and 10th buttons
   953f5e7c6216 HID: wacom: Always increment hdev refcount within wacom_get_hdev_data
   04b54e8ff7d0 HID: wacom: leds: Don't try to control the EKR's read-only LEDs
   5abb9cd4ff92 HID: i2c-hid: allocate hid buffers for real worst case
   a3ec104976f7 ftrace: Fix kmemleak in unregister_ftrace_graph
   3ff8bc813b13 stm class: Fix a use-after-free
   c541aaad4ac7 Drivers: hv: fcopy: restore correct transfer length
   a97ca4f78018 driver core: platform: Don't read past the end of "driver_override" buffer
   fc3c67226acd percpu: make this_cpu_generic_read() atomic w.r.t. interrupts
   6a988259b1cb powerpc/tm: Fix illegal TM state in signal handler
   afebf5ef60da powerpc/64s: Use emergency stack for kernel TM Bad Thing program checks
   02f7e4101092 socket, bpf: fix possible use after free
   95206ea376b9 net: rtnetlink: fix info leak in RTM_GETSTATS call
   58b1b8407a31 tipc: use only positive error codes in messages
   09788d46b756 ip6_tunnel: update mtu properly for ARPHRD_ETHER tunnel device in tx path
   ab4da56f61be ip6_gre: ip6gre_tap device should keep dst
   b4a119251f6b netlink: do not proceed if dump's start() errs
   cf2eaf16ab28 net: Set sk_prot_creator when cloning sockets to the right proto
   24ee394a82d2 packet: only test po->has_vnet_hdr once in packet_snd
   0f22167d3321 packet: in packet_do_bind, test fanout with bind_lock held
   6eab1f829417 net: dsa: Fix network device registration order
   b8990d2e77c6 tun: bail out from tun_get_user() if the skb is empty
   b4a9b12d9a2c l2tp: fix race condition in l2tp_tunnel_delete
   e5941137f784 l2tp: Avoid schedule while atomic in exit_net
   6689f8358681 vti: fix use after free in vti_tunnel_xmit/vti6_tnl_xmit
   852bdea5e379 net: qcom/emac: specify the correct size when mapping a DMA buffer
   5600c7586ad9 net_sched: always reset qdisc backlog in qdisc_reset()
   93eef2172d23 isdn/i4l: fetch the ppp_write buffer in one shot
   0dee549f7912 bpf: one perf event close won't free bpf program attached by another perf event
   6f7cdd4aa0a4 packet: hold bind lock when rebinding to fanout hook
   6eac2cd24bd9 net: emac: Fix napi poll list corruption
   b463521db854 tcp: fastopen: fix on syn-data transmit failure
   b13bc543b1e6 net/sched: cls_matchall: fix crash when used with classful qdisc
   13c8bd7a21ed ip6_tunnel: do not allow loading ip6_tunnel if ipv6 is disabled in cmdline
   fc2fe7a06d6d net: phy: Fix mask value write on gmii2rgmii converter speed register
   e814bae39ad5 ip6_gre: skb_push ipv6hdr before packing the header in ip6gre_header
   f0a5af78b530 udpv6: Fix the checksum computation when HW checksum does not apply
   85908ccae5c2 tcp: fix data delivery rate
   e159492b3c3e bpf/verifier: reject BPF_ALU64|BPF_END
   186a9c5e7038 tcp: update skb->skb_mstamp more carefully
   b70bb9bb7277 sctp: potential read out of bounds in sctp_ulpevent_type_enabled()
   f86d3b1a28a7 net: sched: fix use-after-free in tcf_action_destroy and tcf_del_walker
   f860ca549de4 mlxsw: spectrum: Prevent mirred-related crash on removal
   065af12fd139 ALSA: usx2y: Suppress kernel warning at page allocation failures
   40e219327fd4 Revert "ALSA: echoaudio: purge contradictions between dimension matrix members and total number of members"
   984b6c96f1e2 ALSA: compress: Remove unused variable
   88c195d638d3 lsm: fix smack_inode_removexattr and xattr_getsecurity memleak
   1c0891295a5a lib/ratelimit.c: use deferred printk() version
   2b8197073a0f mm, oom_reaper: skip mm structs with mmu notifiers
   8a056a115270 staging: vchiq_2835_arm: Fix NULL ptr dereference in free_pagelist
   8928c5b2d318 uwb: ensure that endpoint is interrupt
   8ff7adb930d4 uwb: properly check kthread_run return value
   ec8a7153bbf3 iio: adc: mcp320x: Fix oops on module unload
   1daa7c5aba21 iio: adc: mcp320x: Fix readout of negative voltages
   8b97d5b67e9e iio: ad7793: Fix the serial interface reset
   f0865d60f3a5 IIO: BME280: Updates to Humidity readings need ctrl_reg write!
   9af1bd5e705a iio: core: Return error for failed read_reg
   8edd1ce3e56b staging: iio: ad7192: Fix - use the dedicated reset function avoiding dma from stack.
   1f266a130329 iio: ad_sigma_delta: Implement a dedicated reset function
   a2002c92ffb3 iio: adc: twl4030: Disable the vusb3v1 rugulator in the error handling path of 'twl4030_madc_probe()'
   ab6766146785 iio: adc: twl4030: Fix an error handling path in 'twl4030_madc_probe()'
   a13481f8cdca Revert "xhci: Limit USB2 port wake support for AMD Promontory hosts"
   f77615db8ae8 xhci: set missing SuperSpeedPlus Link Protocol bit in roothub descriptor
   f1a04773d773 xhci: Fix sleeping with spin_lock_irq() held in ASmedia 1042A workaround
   67e752e1d60f xhci: fix finding correct bus_state structure for USB 3.1 hosts
   a6d4ce2e8b65 USB: fix out-of-bounds in usb_set_configuration
   43feb29db4c5 usb: Increase quirk delay for USB devices
   767f7a2cf33a USB: core: harden cdc_parse_cdc_header
   d77606e93d81 USB: uas: fix bug in handling of alternate settings
   da785bb64fa6 USB: g_mass_storage: Fix deadlock when driver is unbound
   2b5c7b95ea36 usb: gadget: mass_storage: set msg_registered after msg registered
   77a4be89599c USB: devio: Don't corrupt user memory
   e39b17143a5b USB: dummy-hcd: Fix erroneous synchronization change
   795f5501b95c USB: dummy-hcd: fix infinite-loop resubmission bug
   5effe995310e USB: dummy-hcd: fix connection failures (wrong speed)
   12071de6c37d USB: cdc-wdm: ignore -EPIPE from GetEncapsulatedResponse
   0b104f92ed21 usb: pci-quirks.c: Corrected timeout values used in handshake
   37b6d898388e ALSA: usb-audio: Check out-of-bounds access by corrupted buffer descriptor
   eb5df140ca29 usb: renesas_usbhs: fix usbhsf_fifo_clear() for RX direction
   4661c9b526c3 usb: renesas_usbhs: fix the BCLR setting condition for non-DCP pipe
   760d0f10410a usb-storage: fix bogus hardware error messages for ATA pass-thru devices
   dd52953f6c48 usb-storage: unusual_devs entry to fix write-access regression for Seagate external drives
   d21653d09a0b usb: gadget: udc: renesas_usb3: Fix return value of usb3_write_pipe()
   db73b389775a usb: gadget: udc: renesas_usb3: fix Pn_RAMMAP.Pn_MPKT value
   25533678e580 usb: gadget: udc: renesas_usb3: fix for no-data control transfer
   744f9e1da2a5 usb: gadget: udc: atmel: set vbus irqflags explicitly
   7f850036134c USB: gadgetfs: fix copy_to_user while holding spinlock
   fd5336c0d1e3 USB: gadgetfs: Fix crash caused by inadequate synchronization
   f37eb7b586f1 Linux 4.9.54
   75903d40aaec s390/mm: make pmdp_invalidate() do invalidation only
   14b502e491a8 ttpci: address stringop overflow warning
   c637027054ae ALSA: au88x0: avoid theoretical uninitialized access
   cf2cd9feb8e6 ASoC: rt5660: remove double const
   617c7735db3d ASoC: rt5659: drop double const
   2f4835ee5505 ASoC: rt5514: fix gcc-7 warning
   d8ba70c09407 ARM: remove duplicate 'const' annotations'
   a4f11d61e305 IB/qib: fix false-postive maybe-uninitialized warning
   86c469bea4ae tools/power turbostat: bugfix: GFXMHz column not changing
   c126bc6b94dd ARM: dts: BCM5301X: Fix memory start address
   16db9205d3f8 libata: transport: Remove circular dependency at free time
   49c3226c0657 ASoC: wm_adsp: Return an error on write to a disabled volatile control
   d86f4ea83626 xfs: remove kmem_zalloc_greedy
   943411be40e0 i2c: meson: fix wrong variable usage in meson_i2c_put_data
   625cb13a8929 netfilter: nf_tables: set pktinfo->thoff at AH header if found
   4131c889c278 md/raid10: submit bio directly to replacement disk
   5c6712ab4efb rds: ib: add error handle
   a495f72f8a53 mm/cgroup: avoid panic when init with low memory
   2d59530d9918 iommu/io-pgtable-arm: Check for leaf entry before dereferencing it
   81080d2d83f6 x86/acpi: Restore the order of CPU IDs
   ffb6a7637ce0 cpufreq: intel_pstate: Update pid_params.sample_rate_ns in pid_param_set()
   27848be7eb75 ibmvnic: Free tx/rx scrq pointer array when releasing sub-crqs
   49f1b2c154cb nfs: make nfs4_cb_sv_ops static
   1cf8f9467e86 parisc: perf: Fix potential NULL pointer dereference
   cd402b889606 netfilter: nfnl_cthelper: fix incorrect helper->expect_class_max
   9b6f9da9e55a nvme-rdma: handle cpu unplug when re-establishing the controller
   67e8be27ff72 MIPS: smp-cps: Fix retrieval of VPE mask on big endian CPUs
   db6767e2fdca exynos-gsc: Do not swap cb/cr for semi planar formats
   61b203816b17 iommu/exynos: Block SYSMMU while invalidating FLPD cache
   3798fd14b970 MIPS: IRQ Stack: Unwind IRQ stack onto task stack
   146561a3f1c8 netfilter: invoke synchronize_rcu after set the _hook_ to NULL
   07b653405e3a drivers/rapidio/devices/tsi721.c: make module parameter variable name unique
   5435e4823d81 kasan: do not sanitize kexec purgatory
   dd9640717f3f hugetlbfs: initialize shared policy as part of inode allocation
   c533c11d8f7a sata_via: Enable hotplug only on VT6421
   26899ca9cc6f Btrfs: fix potential use-after-free for cloned bio
   c17acd24c682 Btrfs: fix segmentation fault when doing dio read
   7e2a755497f3 bridge: netlink: register netdevice before executing changelink
   727a153435fa mmc: sdio: fix alignment issue in struct sdio_func
   8f9bd136b50b qed: Fix possible system hang in the dcbnl-getdcbx() path.
   f06316859ce6 net: dsa: b53: Include IMP/CPU port in dumb forwarding mode
   affd26096a59 udp: disable inner UDP checksum offloads in IPsec case
   65a7a7ce7ffd usb: plusb: Add support for PL-27A1
   45eacc855552 team: fix memory leaks
   897e8c528529 net/packet: check length in getsockopt() called with PACKET_HDRLEN
   1dee03af7325 net: core: Prevent from dereferencing null pointer when releasing SKB
   c593091cfc1b lkdtm: Fix Oops when unloading the module
   6329973bee29 mips: ath79: clock:- Unmap region obtained by of_iomap
   30a0220a5b0b MIPS: Lantiq: Fix another request_mem_region() return code check
   fd9597d6ea28 HID: wacom: release the resources before leaving despite devm
   d621f970fd71 drm: mali-dp: Fix transposed horizontal/vertical flip
   c67371165170 drm: mali-dp: Fix destination size handling when rotating
   e2d1a42ed06e ASoC: dapm: fix some pointer error handling
   4302bc4f40b1 rtl8xxxu: Add additional USB IDs for rtl8192eu devices
   3f22900466a1 usb: chipidea: vbus event may exist before starting gadget
   75d1888ddce9 iommu/arm-smmu: Set privileged attribute to 'default' instead of 'unprivileged'
   4af5e6136d76 spi: pxa2xx: Add support for Intel Gemini Lake
   874b5acede78 ath10k: prevent sta pointer rcu violation
   91e66498a96a audit: log 32-bit socketcalls
   de415c812ec9 ASoC: dapm: handle probe deferrals
   0fc89de6ee77 partitions/efi: Fix integer overflow in GPT size calculation
   eaf9616e406c sfc: get PIO buffer size from the NIC
   c6d263e6b30a USB: serial: mos7840: fix control-message error handling
   9553708eb98d USB: serial: mos7720: fix control-message error handling
   09831a957766 drm/amdkfd: fix improper return value on error
   68b94d6c4edb arm: dts: mt2701: Add subsystem clock controller device nodes
   b2e7d1f72b09 IB/ipoib: Replace list_del of the neigh->list with list_del_init
   e335016d1f62 IB/ipoib: rtnl_unlock can not come after free_netdev
   e384bbd585ee IB/ipoib: Fix deadlock over vlan_mutex
   6c25cbaff1e9 serial: 8250_port: Remove dangerous pr_debug()
   ca3e4e77201a tty: goldfish: Fix a parameter of a call to free_irq
   5d29957578ae serial: 8250: moxa: Store num_ports in brd
   d976d68e1726 drm/i915/psr: disable psr2 for resolution greater than 32X20
   e92dca6f5a14 ARM: 8635/1: nommu: allow enabling REMAP_VECTORS_TO_RAM
   e1c355c244b7 IB/rxe: Fix a MR reference leak in check_rkey()
   0081b9e7fcf7 IB/rxe: Add a runtime check in alloc_index()
   2b7aec8839df iio: adc: hx711: Add DT binding for avia,hx711
   ff9b56037dd7 iio: adc: axp288: Drop bogus AXP288_ADC_TS_PIN_CTRL register modifications
   259f317db758 iio: adc: imx25-gcq: Fix module autoload
   772384d7ec40 hwmon: (gl520sm) Fix overflows and crash seen when writing into limit attributes
   d74f860528fb usb: make the MTK XHCI driver compile for older MIPS SoCs
   952d3c52bd85 clk/axs10x: Clear init field in driver probe
   81c961824662 sh_eth: use correct name for ECMR_MPDE bit
   bed7533196b2 reset: ti_syscon: fix a ti_syscon_reset_status issue
   6798f079b0a5 extcon: axp288: Use vbus-valid instead of -present to determine cable presence
   bc438831606a igb: re-assign hw address pointer on reset after PCI error
   484e3e793449 ARM: dts: am335x-chilisom: Wakeup from RTC-only state by power on event
   bc9ad17c7af2 scsi: be2iscsi: Add checks to validate CID alloc/free
   36c56ac0f897 power: supply: axp288_fuel_gauge: Fix fuel_gauge_reg_readb return on error
   0cde56d3b672 MIPS: ralink: Fix incorrect assignment on ralink_soc
   0e22be793ad2 MIPS: ralink: Fix a typo in the pinmux setup.
   84eaa74d734a MIPS: Ensure bss section ends on a long-aligned address
   d1d3a78f3e8f ARM: dts: r8a7790: Use R-Car Gen 2 fallback binding for msiof nodes
   3311a304ec62 RDS: RDMA: Fix the composite message user notification
   aa07a2ccc80d clk: sunxi-ng: fix PLL_CPUX adjusting on H3
   299b924c1f20 ARM: dts: exynos: Add CPU OPPs for Exynos4412 Prime
   48167acb7f5b drm/i915: Fix the overlay frontbuffer tracking
   97766c6a8e58 GFS2: Fix reference to ERR_PTR in gfs2_glock_iter_next
   e236940a87f1 drm: bridge: add DT bindings for TI ths8135
   7df306f1063b drm_fourcc: Fix DRM_FORMAT_MOD_LINEAR #define
   1852eae92c46 Linux 4.9.53
   df13283e4b89 swiotlb-xen: implement xen_swiotlb_dma_mmap callback
   64afde6f956d video: fbdev: aty: do not leak uninitialized padding in clk to userspace
   ea37f61f5de0 KVM: VMX: use cmpxchg64
   cb2da657d3a9 cxl: Fix driver use count
   3ffbe626a254 KVM: VMX: remove WARN_ON_ONCE in kvm_vcpu_trigger_posted_interrupt
   0c4e39ca6700 KVM: VMX: do not change SN bit in vmx_update_pi_irte()
   4c00015385fa timer/sysclt: Restrict timer migration sysctl values to 0 and 1
   e2f803481a84 gfs2: Fix debugfs glocks dump
   5e9b07f30d21 x86/fpu: Don't let userspace set bogus xcomp_bv
   54af98f86b92 x86/mm: Fix fault error path using unsafe vma pointer
   f11525d7ff5d btrfs: prevent to set invalid default subvolid
   ba44bc49bae6 btrfs: propagate error to btrfs_cmp_data_prepare caller
   b86b6c226bea btrfs: fix NULL pointer dereference from free_reloc_roots()
   bb1e06d281a8 PCI: Fix race condition with driver_override
   46f062e05920 etnaviv: fix gem object list corruption
   02c7d98bec6c xfs: validate bdev support for DAX inode flag
   86ef97b2dfd5 kvm: nVMX: Don't allow L2 to access the hardware CR8
   3d4213fac7d1 KVM: VMX: Do not BUG() on out-of-bounds guest IRQ
   e3a643b3288a kvm/x86: Handle async PF in RCU read-side critical sections
   58d2fb119ae6 KVM: VMX: simplify and fix vmx_vcpu_pi_load
   ff5eb8f28ff2 KVM: VMX: avoid double list add with VT-d posted interrupts
   01c58b0edeb1 KVM: VMX: extract __pi_post_block
   d49527ed4888 arm64: fault: Route pte translation faults via do_translation_fault
   7dbd64284b18 arm64: Make sure SPsel is always set
   be69c4c00a68 seccomp: fix the usage of get/put_seccomp_filter() in seccomp_get_filter()
   58052a74d9b0 selftests/seccomp: Support glibc 2.26 siginfo_t.h
   831cca587e7b iw_cxgb4: put ep reference in pass_accept_req()
   f184cf5256b7 iw_cxgb4: remove the stid on listen create failure
   eb4375e1969c bsg-lib: don't free job in bsg_prepare_job
   c820441a7a52 nl80211: check for the required netlink attributes presence
   f3e2e7f0b4d7 vfs: Return -ENXIO for negative SEEK_HOLE / SEEK_DATA offsets
   18a89a10b26b SMB3: Don't ignore O_SYNC/O_DSYNC and O_DIRECT flags
   0e1b85a41a25 SMB: Validate negotiate (to protect against downgrade) even if signing off
   df1be2066433 SMB3: Warn user if trying to sign connection that authenticated as guest
   f2d395b7bde5 Fix SMB3.1.1 guest authentication to Samba
   3a02f8cb5564 PM: core: Fix device_pm_check_callbacks()
   22338c55658d s390/mm: fix write access check in gup_huge_pmd()
   c76655fb0f44 powerpc/ftrace: Pass the correct stack pointer for DYNAMIC_FTRACE_WITH_REGS
   f89f25b53147 powerpc/tm: Flush TM only if CPU has TM feature
   5c23dcf86e2d powerpc/pseries: Fix parent_dn reference leak in add_dt_node()
   dda70d28c0ac KEYS: prevent KEYCTL_READ on negative key
   bfe9d7b8e0f2 KEYS: prevent creating a different user's keyrings
   47e8bd1965fc KEYS: fix writing past end of user-supplied buffer in keyring_read()
   0c70fb88c751 security/keys: rewrite all of big_key crypto
   2f9be92dfffe security/keys: properly zero out sensitive key material in big_key
   b60f791ef32d crypto: talitos - fix hashing
   1492259fc324 crypto: talitos - fix sha224
   70117b773598 crypto: talitos - Don't provide setkey for non hmac hashing algs.
   7e1b2b2db3d7 crypto: drbg - fix freeing of resources
   29825768590e drm/radeon: disable hard reset in hibernate for APUs
   b42bf0f15cf7 scsi: scsi_transport_iscsi: fix the issue that iscsi_if_rx doesn't parse nlmsg properly
   49c2b839b743 md/raid5: preserve STRIPE_ON_UNPLUG_LIST in break_stripe_batch_list
   648798cc2fd7 md/raid5: fix a race condition in stripe batch
   5fb4be27dac5 tracing: Erase irqsoff trace with empty write
   97d402e6eed2 tracing: Fix trace_pipe behavior for instance traces
   8dcf70ab1830 KVM: PPC: Book3S HV: Protect updates to spapr_tce_tables list
   18b7919a9de8 KVM: PPC: Book3S: Fix race and leak in kvm_vm_ioctl_create_spapr_tce()
   3d5960c8c657 genirq: Make sparse_irq_lock protect what it should protect
   e167b4ad529b mac80211: flush hw_roc_start work before cancelling the ROC
   e7e0f0dda28b mac80211_hwsim: Use proper TX power
   59862b0429d9 mac80211: fix VLAN handling with TXQs
   9ad15a25669e fs/proc: Report eip/esp in /prod/PID/stat for coredumping
   b6a77c7ba674 cifs: release auth_key.response for reconnect.
   9a7bc3f0c76a cifs: release cifs root_cred after exit_cifs
   d59dabdc4cb3 Linux 4.9.52
   08f75f2c525d bcache: fix bch_hprint crash and improve output
   57aa1a6967b2 bcache: fix for gc and write-back race
   fa92ff6b77a1 bcache: Correct return value for sysfs attach errors
   e40cb30162d7 bcache: correct cache_dirty_target in __update_writeback_rate()
   8f51f38883dc bcache: do not subtract sectors_to_gc for bypassed IO
   c234e0e77572 bcache: Fix leak of bdev reference
   2a9b55742a9f bcache: initialize dirty stripes in flash_dev_run()
   f5c3fd83284f PM / devfreq: Fix memory leak when fail to register device
   38993f320506 media: uvcvideo: Prevent heap overflow when accessing mapped controls
   7717a7378c53 media: v4l2-compat-ioctl32: Fix timespec conversion
   de4360dd3519 s390/mm: fix race on mm->context.flush_mm
   536ab630f4db s390/mm: fix local TLB flushing vs. detach of an mm address space
   4c7f54a0f977 net/netfilter/nf_conntrack_core: Fix net_conntrack_lock()
   2fd62929c88f PCI: pciehp: Report power fault only once until we clear it
   998a9f51bc74 PCI: shpchp: Enable bridge bus mastering if MSI is enabled
   57e4f87ebe46 ARC: Re-enable MMU upon Machine Check exception
   cf052336d0d3 tracing: Apply trace_clock changes to instance max buffer
   96cf918df428 tracing: Add barrier to trace_printk() buffer nesting modification
   100553e197e2 ftrace: Fix memleak when unregistering dynamic ops when tracing disabled
   df865f86b008 ftrace: Fix selftest goto location on error
   2a913aecc4f7 scsi: qla2xxx: Fix an integer overflow in sysfs code
   6e2a0259da7a scsi: qla2xxx: Correction to vha->vref_count timeout
   90cb12f6dc5a scsi: sg: fixup infoleak when using SG_GET_REQUEST_TABLE
   25d5a8a2958f scsi: sg: factor out sg_fill_request_table()
   c6b9a2007c92 scsi: sg: off by one in sg_ioctl()
   2b2d86b0d43d scsi: sg: use standard lists for sg_requests
   91fb151822d0 scsi: sg: remove 'save_scat_len'
   5b8f80d34abf scsi: storvsc: fix memory leak on ring buffer busy
   d8817f5f2937 scsi: megaraid_sas: Return pended IOCTLs with cmd_status MFI_STAT_WRONG_STATE in case adapter is dead
   c62da79e1be5 scsi: megaraid_sas: Check valid aen class range to avoid kernel panic
   7efc41514a01 scsi: megaraid_sas: set minimum value of resetwaittime to be 1 secs
   c24f722a82b1 scsi: zfcp: trace high part of "new" 64 bit SCSI LUN
   adbbbd349e80 scsi: zfcp: trace HBA FSF response by default on dismiss or timedout late response
   5283787709f8 scsi: zfcp: fix payload with full FCP_RSP IU in SCSI trace records
   8d706e3dd8ab scsi: zfcp: fix missing trace records for early returns in TMF eh handlers
   424a20b09617 scsi: zfcp: fix passing fsf_req to SCSI trace on TMF to correlate with HBA
   0cbb7431a762 scsi: zfcp: fix capping of unsuccessful GPN_FT SAN response trace records
   88187de0e934 scsi: zfcp: add handling for FCP_RESID_OVER to the fcp ingress path
   83245cd18775 scsi: zfcp: fix queuecommand for scsi_eh commands when DIX enabled
   63e606bd9551 skd: Submit requests to firmware before triggering the doorbell
   cb1441bca9bf skd: Avoid that module unloading triggers a use-after-free
   2cee78081b97 md/bitmap: disable bitmap_resize for file-backed bitmaps.
   120ec1e4cddd block: Relax a check in blk_start_queue()
   48564b51ac75 powerpc: Fix DAR reporting when alignment handler faults
   3806cea5c1c5 ext4: fix quota inconsistency during orphan cleanup for read-only mounts
   18d27cb70373 ext4: fix incorrect quotaoff if the quota feature is enabled
   e684db9a7cea crypto: AF_ALG - remove SGL terminator indicator when chaining
   dcb3a4b8d776 crypto: ccp - Fix XTS-AES-128 support on v5 CCPs
   1f143ba19a8f MIPS: math-emu: <MADDF|MSUBF>.D: Fix accuracy (64-bit case)
   d2b488ee6f63 MIPS: math-emu: <MADDF|MSUBF>.S: Fix accuracy (32-bit case)
   5cabf999fdb7 MIPS: math-emu: <MADDF|MSUBF>.<D|S>: Clean up "maddf_flags" enumeration
   d56a9caf6d83 MIPS: math-emu: <MADDF|MSUBF>.<D|S>: Fix some cases of zero inputs
   8981bcaf9a2d MIPS: math-emu: <MADDF|MSUBF>.<D|S>: Fix some cases of infinite inputs
   4f8479c933a7 MIPS: math-emu: <MADDF|MSUBF>.<D|S>: Fix NaN propagation
   4e0694a6411b MIPS: math-emu: Handle zero accumulator case in MADDF and MSUBF separately
   9381a991a36a MIPS: math-emu: MINA.<D|S>: Fix some cases of infinity and zero inputs
   f7d36f6594b8 MIPS: math-emu: <MAXA|MINA>.<D|S>: Fix cases of both infinite inputs
   a04d53797fca MIPS: math-emu: <MAXA|MINA>.<D|S>: Fix cases of input values with opposite signs
   d2b6fcb0b6de MIPS: math-emu: <MAX|MIN>.<D|S>: Fix cases of both inputs negative
   694f6ea0a4e2 MIPS: math-emu: <MAX|MAXA|MIN|MINA>.<D|S>: Fix cases of both inputs zero
   b234149cf77b MIPS: math-emu: <MAX|MAXA|MIN|MINA>.<D|S>: Fix quiet NaN propagation
   fcaec235666c Input: i8042 - add Gigabyte P57 to the keyboard reset table
   6053a5fec569 pinctrl/amd: save pin registers over suspend/resume
   346abf2aca7f tty: fix __tty_insert_flip_char regression
   750462424193 tty: improve tty_insert_flip_char() slow path
   f61a07f3fe97 tty: improve tty_insert_flip_char() fast path
   2f8b06f906fd IB/addr: Fix setting source address in addr6_resolve()
   0fda166fcec8 drm/sun4i: Implement drm_driver lastclose to restore fbdev console
   a29aeb834a96 IB/{qib, hfi1}: Avoid flow control testing for RDMA write operation
   e148702302c5 orangefs: Don't clear SGID when inheriting ACLs
   39f5677232ab mm: prevent double decrease of nr_reserved_highatomic
   f609266b12d2 NFSv4: Fix callback server shutdown
   d9f9b83539ab SUNRPC: Refactor svc_set_num_threads()
   089d7720383d Linux 4.9.51
   7829684088a2 ipv6: Fix may be used uninitialized warning in rt6_check
   ae04a8c4c6fc xfs: fix compiler warnings
   7b5fcb7fc05b md/raid5: release/flush io in raid5_do_work()
   81cb6f1a2a19 xfs: use kmem_free to free return value of kmem_zalloc
   772003c6a428 xfs: open code end_buffer_async_write in xfs_finish_page_writeback
   bb69e8a228a7 xfs: don't set v3 xflags for v2 inodes
   f46a61f686b0 xfs: fix incorrect log_flushed on fsync
   0e8d7e364ec5 xfs: disable per-inode DAX flag
   a46cf59265cf xfs: relog dirty buffers during swapext bmbt owner change
   e2bb92633615 xfs: disallow marking previously dirty buffers as ordered
   a51e3e2cf3cb xfs: move bmbt owner change to last step of extent swap
   f9e583edf1a7 xfs: skip bmbt block ino validation during owner change
   fe211e1744db xfs: don't log dirty ranges for ordered buffers
   19a87a940765 xfs: refactor buffer logging into buffer dirtying helper
   93b645160192 xfs: ordered buffer log items are never formatted
   ba986b3c8498 xfs: remove unnecessary dirty bli format check for ordered bufs
   0f5af7eae884 xfs: open-code xfs_buf_item_dirty()
   81286ade81f7 xfs: check for race with xfs_reclaim_inode() in xfs_ifree_cluster()
   63d184d2955b xfs: evict all inodes involved with log redo item
   536932f39e93 xfs: stop searching for free slots in an inode chunk when there are none
   6b6505d90b77 xfs: add log recovery tracepoint for head/tail
   7549e7c01fb0 xfs: handle -EFSCORRUPTED during head/tail verification
   47db1fc608b8 xfs: fix log recovery corruption error due to tail overwrite
   e34b72a2381e xfs: always verify the log tail during recovery
   35093926c2f8 xfs: fix recovery failure when log record header wraps log end
   0800356def7f xfs: Properly retry failed inode items in case of error during buffer writeback
   7942f605c308 xfs: Add infrastructure needed for error propagation during buffer IO failure
   1ba04933408e xfs: remove xfs_trans_ail_delete_bulk
   9a3f75229090 xfs: toggle readonly state around xfs_log_mount_finish
   01d38e380746 xfs: write unmount record for ro mounts
   ec0d46ef8b7e iomap: fix integer truncation issues in the zeroing and dirtying helpers
   e1a7b7e1f6c2 xfs: don't leak quotacheck dquots when cow recovery
   7fb3e5e373bb xfs: clear MS_ACTIVE after finishing log recovery
   8edd73a13dc0 xfs: fix inobt inode allocation search optimization
   f90756d75d69 xfs: Fix per-inode DAX flag inheritance
   229980158f95 xfs: fix multi-AG deadlock in xfs_bunmapi
   81e27c94f9ab xfs: fix quotacheck dquot id overflow infinite loop
   01bc132048cf xfs: check _alloc_read_agf buffer pointer before using
   c32b1ec8a266 xfs: set firstfsb to NULLFSBLOCK before feeding it to _bmapi_write
   a6247b0189fa xfs: check _btree_check_block value
   e76496fa8554 xfs: don't crash on unexpected holes in dir/attr btrees
   b46382f02aff xfs: free cowblocks and retry on buffered write ENOSPC
   171192c92da6 xfs: free uncommitted transactions during log recovery
   621d0b75a347 xfs: don't allow bmap on rt files
   8913492d12b1 xfs: remove bli from AIL before release on transaction abort
   6c0ecde201d7 xfs: release bli from transaction properly on fs shutdown
   ce83e494d1bb xfs: try to avoid blowing out the transaction reservation when bunmaping a shared extent
   7cb011bbacef xfs: push buffer of flush locked dquot to avoid quotacheck deadlock
   85ab1b23d2d8 xfs: fix spurious spin_is_locked() assert failures on non-smp kernels
   4c1d33c4cf86 xfs: Move handling of missing page into one place in xfs_find_get_desired_pgoff()
   3fddeb80034b x86/switch_to/64: Rewrite FS/GS switching yet again to fix AMD CPUs
   0caec70692a0 x86/fsgsbase/64: Report FSBASE and GSBASE correctly in core dumps
   c7d1ddec251d x86/fsgsbase/64: Fully initialize FS and GS state in start_thread_common
   cc9618c9fffe f2fs: check hot_data for roll-forward recovery
   0f90297cba9b f2fs: let fill_super handle roll-forward errors
   60b94125a1fe ip_tunnel: fix setting ttl and tos value in collect_md mode
   3f60dadbe178 sctp: fix missing wake ups in some situations
   bf8ed95d2ca9 ipv6: fix typo in fib6_net_exit()
   c9335db792c0 ipv6: fix memory leak with multiple tables during netns destruction
   ca7d8a337bd3 ip6_gre: update mtu properly in ip6gre_err
   f5755c0e8700 vhost_net: correctly check tx avail during rx busy polling
   90406e68e42f gianfar: Fix Tx flow control deactivation
   1bcf18718ec6 Revert "net: fix percpu memory leaks"
   5a7a40bad254 Revert "net: use lib/percpu_counter API for fragmentation mem accounting"
   b5a3ae8b127e bridge: switchdev: Clear forward mark when transmitting packet
   73ee5a73e75f mlxsw: spectrum: Forbid linking to devices that have uppers
   a10c510179b3 tcp: initialize rcv_mss to TCP_MIN_MSS instead of 0
   a6e51fda71a2 Revert "net: phy: Correctly process PHY_HALTED in phy_stop_machine()"
   af33da0ed95f kcm: do not attach PF_KCM sockets to avoid deadlock
   8c623e5d0369 packet: Don't write vnet header beyond end of buffer
   2b3bd5972a5c cxgb4: Fix stack out-of-bounds read due to wrong size to t4_record_mbox()
   de2ecec26dba netvsc: fix deadlock betwen link status and removal
   64dfc67548da qlge: avoid memcpy buffer overflow
   08d56d8a99bb sctp: Avoid out-of-bounds reads from address storage
   4d8ee1935bcd fsl/man: Inherit parent device and of_node
   1e39e5c6a2ea udp: on peeking bad csum, drop packets even if not at head
   4b4a194a10e2 macsec: add genl family module alias
   43c792a84880 ipv6: fix sparse warning on rt6i_node
   7f8f23fc8026 ipv6: add rcu grace period before freeing fib6_node
   dccb31be7ef8 ipv6: accept 64k - 1 packet length in ip6_find_1stfragopt()
   4ad5dcaca742 Linux 4.9.50
   5b82e0e938af xfs: XFS_IS_REALTIME_INODE() should be false if no rt device present
   3885bc68ae14 NFS: Sync the correct byte range during synchronous writes
   a70912a6bfff NFS: Fix 2 use after free issues in the I/O code
   301d91e03c9d ARM: 8692/1: mm: abort uaccess retries upon fatal signal
   b40aa8b047b8 ARM64: dts: marvell: armada-37xx: Fix GIC maintenance interrupt
   6300c8bfafe0 Bluetooth: Properly check L2CAP config option output buffer length
   03bea515b9a2 ALSA: msnd: Optimize / harden DSP and MIDI loops
   d21f3eaa09c0 locktorture: Fix potential memory leak with rw lock test
   3c8381df2a56 mm/memory.c: fix mem_cgroup_oom_disable() call missing
   ebf381be016f selftests/x86/fsgsbase: Test selectors 1, 2, and 3
   0f7dbc4d5bc8 btrfs: resume qgroup rescan on rw remount
   f52a535c8438 nvme-fabrics: generate spec-compliant UUID NQNs
   b276bc66d439 mtd: nand: qcom: fix config error for BCH
   f4a272d57839 mtd: nand: qcom: fix read failure without complete bootchain
   865162031c4e mtd: nand: mxc: Fix mxc_v1 ooblayout
(From OE-Core rev: e209896a2aa7e06f1b6498e0a9fc5e9f766842f5)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

(cherry picked from commit afbe1ecd2412c7464ba805223058ab416553b250)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Bruce Ashfield
a027091807 kern-tools: make fuzzy matching optional
It was reported that BSPs that only matched the machine were
being returned as the configuration entry point. This could lead
to warnings, or unexpected runtime results.

Integrating the following commit to ensure that only strict matches
are returned by default, with a flag to do fuzzy matching

    spp: make fuzzy matching optional

    Add a flag that can be used to toggle wether or not a partial
    match is an error.

      --fuzz

    When passed, partial patching will be used. If not passed the
    default is to return nothing (which can be interpreted as an
    error by the calling routines) if both the kernel type and
    machine do not match.

(From OE-Core rev: 141a7afa9eaca5f4b7ed0fbc91f48e370c8f364d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f60d050fef2e4ac592bb5554e74b9573e3570d0f)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Bruce Ashfield
9779fc2bdd linux-yocto/4.12: stable backports and bug fixes
Integrating the following bugfixes to the 4.12 tree:

 26c1863a7448 ALSA: hda: Fix regression of hdmi eld control created based on invalid pcm
 2b020e00dd49 arm64: mm: select CONFIG_ARCH_PROC_KCORE_TEXT
 abcf00d7171c fs/proc: kcore: use kcore_list type to check for vmalloc/module address

(From OE-Core rev: 32bb62512bbec56cd1910e8955013042afab70b9)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1027bfffb3d6118a43c5697f36b30dd8e4ae3f96)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Bruce Ashfield
cb258fef83 linux-yocto/4.12: update to v4.12.14
Integrating the korg -stable releases with the following commit summary:

   fa394784e74b Linux 4.12.14
   d0fa64e2a3e8 ipv6: Fix may be used uninitialized warning in rt6_check
   7816eb3874a2 md/raid5: release/flush io in raid5_do_work()
   b57c1b424549 md/raid1/10: reset bio allocated from mempool
   c3f9d09e70a3 idr: remove WARN_ON_ONCE() when trying to replace negative ID
   a82e202cbb72 fuse: allow server to run in different pid_ns
   7b777a6cc52a x86/switch_to/64: Rewrite FS/GS switching yet again to fix AMD CPUs
   831621ada28a x86/fsgsbase/64: Report FSBASE and GSBASE correctly in core dumps
   90ecd1c5bc55 x86/fsgsbase/64: Fully initialize FS and GS state in start_thread_common
   cb14d4cebdb2 f2fs: check hot_data for roll-forward recovery
   96a069a6babb f2fs: let fill_super handle roll-forward errors
   442df0425e95 sctp: fix missing wake ups in some situations
   aa02286a03c7 ipv6: fix typo in fib6_net_exit()
   18c6d4c4d17a ipv6: fix memory leak with multiple tables during netns destruction
   888b7a94104a ip6_gre: update mtu properly in ip6gre_err
   88f6c6f254bf vhost_net: correctly check tx avail during rx busy polling
   fc33f146d9f1 gianfar: Fix Tx flow control deactivation
   a44bb1c4596a Revert "net: fix percpu memory leaks"
   8fbf9f919597 Revert "net: use lib/percpu_counter API for fragmentation mem accounting"
   79f08820eeb8 bridge: switchdev: Clear forward mark when transmitting packet
   2f4232ba8001 mlxsw: spectrum: Forbid linking to devices that have uppers
   a9e548de4cf9 net: fec: Allow reception of frames bigger than 1522 bytes
   b8fcbae2fefa Revert "net: phy: Correctly process PHY_HALTED in phy_stop_machine()"
   b88be44f595f net/mlx5e: Fix CQ moderation mode not set properly
   8049c41db78d net/mlx5e: Fix inline header size for small packets
   8db40bcf439f net/mlx5: E-Switch, Unload the representors in the correct order
   b0034cb5014e net/mlx5e: Properly resolve TC offloaded ipv6 vxlan tunnel source address
   53c5525785bc net/mlx5e: Don't override user RSS upon set channels
   ba008489371d net/mlx5e: Fix dangling page pointer on DMA mapping error
   7ae1eccbde90 net/mlx5: Fix arm SRQ command for ISSI version 0
   0b6b3028c005 net/mlx5e: Fix DCB_CAP_ATTR_DCBX capability for DCBNL getcap.
   9b919ad3f99f net/mlx5e: Check for qos capability in dcbnl_initialize
   31034e443fbf net: dsa: bcm_sf2: Fix number of CFP entries for BCM7278
   f9901adf536c kcm: do not attach PF_KCM sockets to avoid deadlock
   e7ebdeb47c8b packet: Don't write vnet header beyond end of buffer
   ef5a20f0cbae ipv6: do not set sk_destruct in IPV6_ADDRFORM sockopt
   440ea29af6a5 ipv6: set dst.obsolete when a cached route has expired
   24bd86e62739 cxgb4: Fix stack out-of-bounds read due to wrong size to t4_record_mbox()
   59b304fdff15 net: mvpp2: fix the mac address used when using PPv2.2
   38ca2d395e1c udp6: set rx_dst_cookie on rx_dst updates
   b4426cf20366 netvsc: fix deadlock betwen link status and removal
   3f0204b0b7b5 net: systemport: Free DMA coherent descriptors on errors
   71dd9ac555c5 net: bcmgenet: Be drop monitor friendly
   7def678f47fc net: systemport: Be drop monitor friendly
   c86a65cf30ac tipc: Fix tipc_sk_reinit handling of -EAGAIN
   8aafed19d523 qlge: avoid memcpy buffer overflow
   6da138247b47 sctp: Avoid out-of-bounds reads from address storage
   207ab5d5a250 fsl/man: Inherit parent device and of_node
   4670d7961333 bpf: fix map value attribute for hash of maps
   79d6457e8036 udp: on peeking bad csum, drop packets even if not at head
   1999821fa500 macsec: add genl family module alias
   517e43bd1eba ipv6: fix sparse warning on rt6i_node
   640efece69a4 ipv6: add rcu grace period before freeing fib6_node
   76d3e7ff2362 ipv6: accept 64k - 1 packet length in ip6_find_1stfragopt()
   5d7d2e03e0f0 Linux 4.12.13
   9f7df0bca168 xfs: XFS_IS_REALTIME_INODE() should be false if no rt device present
   da0f4931ec52 NFSv4: Fix up mirror allocation
   3307d5f5099c NFS: Sync the correct byte range during synchronous writes
   6f50e3a1b8c3 NFS: Fix 2 use after free issues in the I/O code
   7714f302294d ARM: 8692/1: mm: abort uaccess retries upon fatal signal
   b9a489e1d4a3 ARM64: dts: marvell: armada-37xx: Fix GIC maintenance interrupt
   8329b5e8c6cf Bluetooth: Properly check L2CAP config option output buffer length
   99dc1296b47c rt2800: fix TX_PIN_CFG setting for non MT7620 chips
   2bce0fe7d0cd KVM: SVM: Limit PFERR_NESTED_GUEST_PAGE error_code check to L1 guest
   9d6412aa06ce ALSA: msnd: Optimize / harden DSP and MIDI loops
   846073130799 mm/memory.c: fix mem_cgroup_oom_disable() call missing
   46791eb9f13e mm/swapfile.c: fix swapon frontswap_map memory leak on error
   637f25e5ba94 mm: kvfree the swap cluster info if the swap file is unsatisfactory
   58989dc3af0d selftests/x86/fsgsbase: Test selectors 1, 2, and 3
   9ed3dc1c0431 radix-tree: must check __radix_tree_preload() return value
   0af760ab3882 rtlwifi: btcoexist: Fix breakage of ant_sel for rtl8723be
   8004198bb025 btrfs: resume qgroup rescan on rw remount
   9a5537a76b62 nvme-fabrics: generate spec-compliant UUID NQNs
   02c54b35cad8 mtd: nand: qcom: fix config error for BCH
   f2339a072e47 mtd: nand: qcom: fix read failure without complete bootchain
   71515c37777d mtd: nand: mxc: Fix mxc_v1 ooblayout
   c54a31845019 mtd: nand: hynix: add support for 20nm NAND chips
   2b8b46b24217 mtd: nand: make Samsung SLC NAND usable again

(From OE-Core rev: 9436cea01a3dd21e08ddb4391401b57a7225bde7)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e611aef364647a0711d0438247ce42555409c62c)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Bruce Ashfield
0d84cdfaac linux-yocto/4.4: update to v4.4.93
Integrating the korg -stable updates that comprise the following shortlogs:

   e1fe3813117f Linux 4.4.93
   ad505a7b4fb0 x86/alternatives: Fix alt_max_short macro to really be a max()
   208563455aac USB: serial: console: fix use-after-free after failed setup
   6c14436b5e84 USB: serial: qcserial: add Dell DW5818, DW5819
   34592e06c7af USB: serial: option: add support for TP-Link LTE module
   ac22f49fb845 USB: serial: cp210x: add support for ELV TFD500
   b1f5a26964bf USB: serial: ftdi_sio: add id for Cypress WICED dev board
   399c46095eb5 fix unbalanced page refcounting in bio_map_user_iov
   f3b538493e66 direct-io: Prevent NULL pointer access in submit_page_section
   ac94abbb7941 usb: gadget: composite: Fix use-after-free in usb_composite_overwrite_options
   16c1ef65f4db ALSA: line6: Fix leftover URB at error-path during probe
   5b01343ad1bd ALSA: caiaq: Fix stray URB at probe error path
   ca2523c9c569 ALSA: seq: Fix copy_from_user() call inside lock
   23709ae9b614 ALSA: seq: Fix use-after-free at creating a port
   dc7c3bd09c7d ALSA: usb-audio: Kill stray URB at exiting
   050c4bbc09f1 iommu/amd: Finish TLB flush in amd_iommu_unmap()
   eb7f31673bbc usb: renesas_usbhs: Fix DMAC sequence for receiving zero-length packet
   6a92b9997028 KVM: nVMX: fix guest CR4 loading when emulating L2 to L1 exit
   03bd90fc82e4 crypto: shash - Fix zero-length shash ahash digest crash
   2929cb995378 HID: usbhid: fix out-of-bounds bug
   e7485f0f6a7b dmaengine: edma: Align the memcpy acnt array size with the transfer
   29b202ebf599 MIPS: math-emu: Remove pr_err() calls from fpu_emu()
   2fff3c5c2be7 USB: dummy-hcd: Fix deadlock caused by disconnect detection
   5fd45516595a rcu: Allow for page faults in NMI handlers
   45bd4e408040 iwlwifi: mvm: use IWL_HCMD_NOCOPY for MCAST_FILTER_CMD
   6a6c61d8467d nl80211: Define policy for packet pattern attributes
   f2bb4bcc0411 CIFS: Reconnect expired SMB sessions
   bd36826958de ext4: in ext4_seek_{hole,data}, return -ENXIO for negative offsets
   6721969c7b8a brcmfmac: add length check in brcmf_cfg80211_escan_handler()
   69f53f5d37d5 Linux 4.4.92
   82854fb438ca ext4: don't allow encrypted operations without keys
   4f22f0793cce ext4: Don't clear SGID when inheriting ACLs
   40c00e5fac3a ext4: fix data corruption for mmap writes
   90fd6738731b sched/cpuset/pm: Fix cpuset vs. suspend-resume bugs
   6d1400b09f99 nvme: protect against simultaneous shutdown invocations
   33d1fa43aad4 drm/i915/bios: ignore HDMI on port A
   b8af4466255c brcmfmac: setup passive scan if requested by user-space
   ee5bd0e4e69f uwb: ensure that endpoint is interrupt
   5a21af11c681 uwb: properly check kthread_run return value
   8b4196420dd6 iio: adc: mcp320x: Fix oops on module unload
   18215da0c241 iio: adc: mcp320x: Fix readout of negative voltages
   f2f68ec0b284 iio: ad7793: Fix the serial interface reset
   2c29a3868090 iio: core: Return error for failed read_reg
   b86df98578ab staging: iio: ad7192: Fix - use the dedicated reset function avoiding dma from stack.
   4b9c62a00aea iio: ad_sigma_delta: Implement a dedicated reset function
   0bab54141bac iio: adc: twl4030: Disable the vusb3v1 rugulator in the error handling path of 'twl4030_madc_probe()'
   0141f858d2e1 iio: adc: twl4030: Fix an error handling path in 'twl4030_madc_probe()'
   4590ed795f0c xhci: fix finding correct bus_state structure for USB 3.1 hosts
   13713e63bdb3 USB: fix out-of-bounds in usb_set_configuration
   ddcbaf853dc5 usb: Increase quirk delay for USB devices
   feab51a916ed USB: core: harden cdc_parse_cdc_header
   5d9a9c3dcc1f USB: uas: fix bug in handling of alternate settings
   9e78ac87626a scsi: sd: Do not override max_sectors_kb sysfs setting
   fc29713fa7c7 iwlwifi: add workaround to disable wide channels in 5GHz
   146a9dc99025 HID: i2c-hid: allocate hid buffers for real worst case
   87509592ecc3 ftrace: Fix kmemleak in unregister_ftrace_graph
   60623d7ca38d stm class: Fix a use-after-free
   c85e9442f9e4 Drivers: hv: fcopy: restore correct transfer length
   2b91a52e1569 driver core: platform: Don't read past the end of "driver_override" buffer
   6d1bc9ee4c2d ALSA: usx2y: Suppress kernel warning at page allocation failures
   8cff1556ddbc ALSA: compress: Remove unused variable
   dd1f96a0a72c lsm: fix smack_inode_removexattr and xattr_getsecurity memleak
   a44be3e548e4 USB: g_mass_storage: Fix deadlock when driver is unbound
   2efab2c3a3ae usb: gadget: mass_storage: set msg_registered after msg registered
   b74a45450f80 USB: devio: Don't corrupt user memory
   e84b4a008365 USB: dummy-hcd: Fix erroneous synchronization change
   d1a0787b5a24 USB: dummy-hcd: fix infinite-loop resubmission bug
   d25a65e03f18 USB: dummy-hcd: fix connection failures (wrong speed)
   da358168126b usb: pci-quirks.c: Corrected timeout values used in handshake
   46c7b1fa4911 ALSA: usb-audio: Check out-of-bounds access by corrupted buffer descriptor
   ccc6a475800d usb: renesas_usbhs: fix usbhsf_fifo_clear() for RX direction
   a7131ed81805 usb: renesas_usbhs: fix the BCLR setting condition for non-DCP pipe
   e85bd5be6088 usb-storage: unusual_devs entry to fix write-access regression for Seagate external drives
   86377bf33089 usb: gadget: udc: atmel: set vbus irqflags explicitly
   f72264e79ae7 USB: gadgetfs: fix copy_to_user while holding spinlock
   d20fff0b09d9 USB: gadgetfs: Fix crash caused by inadequate synchronization
   c2eb312f3137 usb: gadget: inode.c: fix unbalanced spin_lock in ep0_write
   c030c36a88cd Linux 4.4.91
   2536c20e8285 ttpci: address stringop overflow warning
   2b2bfb537be4 ALSA: au88x0: avoid theoretical uninitialized access
   d32ee7026081 ARM: remove duplicate 'const' annotations'
   7cad91f22d5e IB/qib: fix false-postive maybe-uninitialized warning
   13af23e01812 drivers: firmware: psci: drop duplicate const from psci_of_match
   f6c8c71cc901 libata: transport: Remove circular dependency at free time
   0185496a115d xfs: remove kmem_zalloc_greedy
   088b9a41b605 i2c: meson: fix wrong variable usage in meson_i2c_put_data
   cb07496eab43 md/raid10: submit bio directly to replacement disk
   13099ee9c7d5 rds: ib: add error handle
   9bcd5ceef96e iommu/io-pgtable-arm: Check for leaf entry before dereferencing it
   cadfa3a688d2 parisc: perf: Fix potential NULL pointer dereference
   4203f2a73882 netfilter: nfnl_cthelper: fix incorrect helper->expect_class_max
   fa029020bddd exynos-gsc: Do not swap cb/cr for semi planar formats
   8bd7216d3386 MIPS: IRQ Stack: Unwind IRQ stack onto task stack
   f7f46b3ba20d netfilter: invoke synchronize_rcu after set the _hook_ to NULL
   e29066778bc2 bridge: netlink: register netdevice before executing changelink
   1b760fdad9f0 mmc: sdio: fix alignment issue in struct sdio_func
   e1e99dc319cc usb: plusb: Add support for PL-27A1
   4212115da67b team: fix memory leaks
   fa63895f47c9 net/packet: check length in getsockopt() called with PACKET_HDRLEN
   b9ff317b5cd4 net: core: Prevent from dereferencing null pointer when releasing SKB
   4e6cdc0a7dec MIPS: Lantiq: Fix another request_mem_region() return code check
   c5710390cc76 ASoC: dapm: fix some pointer error handling
   7b8c9e6e0fca usb: chipidea: vbus event may exist before starting gadget
   093fe104c5bb audit: log 32-bit socketcalls
   af3749456042 ASoC: dapm: handle probe deferrals
   8e8c3d4bb629 partitions/efi: Fix integer overflow in GPT size calculation
   abbccd855753 USB: serial: mos7840: fix control-message error handling
   0d1b459a0baf USB: serial: mos7720: fix control-message error handling
   8b2522eb44ae drm/amdkfd: fix improper return value on error
   bf184ddd2180 IB/ipoib: Replace list_del of the neigh->list with list_del_init
   f1d53c6d4843 IB/ipoib: rtnl_unlock can not come after free_netdev
   9326a1374b13 IB/ipoib: Fix deadlock over vlan_mutex
   01b3db29ba1e tty: goldfish: Fix a parameter of a call to free_irq
   f97c79e83f7e ARM: 8635/1: nommu: allow enabling REMAP_VECTORS_TO_RAM
   89642710fdb3 iio: adc: hx711: Add DT binding for avia,hx711
   a1f7b8ff496d iio: adc: axp288: Drop bogus AXP288_ADC_TS_PIN_CTRL register modifications
   297b8b01ec27 hwmon: (gl520sm) Fix overflows and crash seen when writing into limit attributes
   d89f41c20f32 sh_eth: use correct name for ECMR_MPDE bit
   effdf2b134d5 extcon: axp288: Use vbus-valid instead of -present to determine cable presence
   5603b10236da igb: re-assign hw address pointer on reset after PCI error
   1c3ef07eb8eb MIPS: ralink: Fix incorrect assignment on ralink_soc
   1e35a2adc078 MIPS: Ensure bss section ends on a long-aligned address
   b00cfc01e70f ARM: dts: r8a7790: Use R-Car Gen 2 fallback binding for msiof nodes
   6a501bddeba3 RDS: RDMA: Fix the composite message user notification
   d4f97441cb88 GFS2: Fix reference to ERR_PTR in gfs2_glock_iter_next
   11bf4a8e1d5a drm: bridge: add DT bindings for TI ths8135
   771dacea92cd drm_fourcc: Fix DRM_FORMAT_MOD_LINEAR #define
   37c2d0d3e850 Linux 4.4.90
   228969b4764f fix xen_swiotlb_dma_mmap prototype
   079c03f4a915 swiotlb-xen: implement xen_swiotlb_dma_mmap callback
   27323cb81eae video: fbdev: aty: do not leak uninitialized padding in clk to userspace
   150cd84bb6ea KVM: VMX: use cmpxchg64
   90df2daa1da0 ARM: pxa: fix the number of DMA requestor lines
   c575be9a393f ARM: pxa: add the number of DMA requestor lines
   a85f176c857e dmaengine: mmp-pdma: add number of requestors
   6124ed1a712a cxl: Fix driver use count
   9037837e0c32 KVM: VMX: remove WARN_ON_ONCE in kvm_vcpu_trigger_posted_interrupt
   fc39e561e343 KVM: VMX: do not change SN bit in vmx_update_pi_irte()
   5e9b526fcc90 timer/sysclt: Restrict timer migration sysctl values to 0 and 1
   ddf25aea679d gfs2: Fix debugfs glocks dump
   d25fea066a8e x86/fpu: Don't let userspace set bogus xcomp_bv
   4c16afac1875 btrfs: prevent to set invalid default subvolid
   0efde43517a5 btrfs: propagate error to btrfs_cmp_data_prepare caller
   9a7d93dd2cad btrfs: fix NULL pointer dereference from free_reloc_roots()
   b08dc7d4cfa1 PCI: Fix race condition with driver_override
   21a638c5efd6 kvm: nVMX: Don't allow L2 to access the hardware CR8
   7520be6a454c KVM: VMX: Do not BUG() on out-of-bounds guest IRQ
   e726c30c758b arm64: fault: Route pte translation faults via do_translation_fault
   638e7874f682 arm64: Make sure SPsel is always set
   9237605e0bfb seccomp: fix the usage of get/put_seccomp_filter() in seccomp_get_filter()
   668cee82cd28 bsg-lib: don't free job in bsg_prepare_job
   9d74367d1a35 nl80211: check for the required netlink attributes presence
   3393445ef440 vfs: Return -ENXIO for negative SEEK_HOLE / SEEK_DATA offsets
   3bb7084cc031 SMB3: Don't ignore O_SYNC/O_DSYNC and O_DIRECT flags
   02ef29f9cbb6 SMB: Validate negotiate (to protect against downgrade) even if signing off
   c096b31f9d9a Fix SMB3.1.1 guest authentication to Samba
   fe37a445ea3f powerpc/pseries: Fix parent_dn reference leak in add_dt_node()
   638b38505045 KEYS: prevent KEYCTL_READ on negative key
   539255aea88e KEYS: prevent creating a different user's keyrings
   af24e9d8ba1a KEYS: fix writing past end of user-supplied buffer in keyring_read()
   362711d59b0c crypto: talitos - fix sha224
   231c4f646b77 crypto: talitos - Don't provide setkey for non hmac hashing algs.
   9d2534917c25 scsi: scsi_transport_iscsi: fix the issue that iscsi_if_rx doesn't parse nlmsg properly
   29854a77f793 md/raid5: preserve STRIPE_ON_UNPLUG_LIST in break_stripe_batch_list
   d03d1567866e md/raid5: fix a race condition in stripe batch
   68a4a5289918 tracing: Erase irqsoff trace with empty write
   9c5afa726a52 tracing: Fix trace_pipe behavior for instance traces
   f75c0042f120 KVM: PPC: Book3S: Fix race and leak in kvm_vm_ioctl_create_spapr_tce()
   7d8fbf3db169 mac80211: flush hw_roc_start work before cancelling the ROC
   fcc949a48842 cifs: release auth_key.response for reconnect.
   10def3a67799 Linux 4.4.89
   ed1bf4397d22 ftrace: Fix memleak when unregistering dynamic ops when tracing disabled
   a069d0a43de4 bcache: fix bch_hprint crash and improve output
   f522051a84e5 bcache: fix for gc and write-back race
   a6c5e7a0cd01 bcache: Correct return value for sysfs attach errors
   d9c6a28a6a1c bcache: correct cache_dirty_target in __update_writeback_rate()
   0471f58e18e6 bcache: do not subtract sectors_to_gc for bypassed IO
   093457f2bd32 bcache: Fix leak of bdev reference
   5025da3b532b bcache: initialize dirty stripes in flash_dev_run()
   4931578fbeb5 media: uvcvideo: Prevent heap overflow when accessing mapped controls
   04affe4e1171 media: v4l2-compat-ioctl32: Fix timespec conversion
   7498bd605840 PCI: shpchp: Enable bridge bus mastering if MSI is enabled
   81306fc3dbb5 ARC: Re-enable MMU upon Machine Check exception
   d28e96be7c6a tracing: Apply trace_clock changes to instance max buffer
   753154fcfefe ftrace: Fix selftest goto location on error
   d8663aa27789 scsi: qla2xxx: Fix an integer overflow in sysfs code
   72896ca30a7f scsi: sg: fixup infoleak when using SG_GET_REQUEST_TABLE
   c04996ad58ee scsi: sg: factor out sg_fill_request_table()
   f0cd701d4750 scsi: sg: off by one in sg_ioctl()
   3682e0c61ffb scsi: sg: use standard lists for sg_requests
   6b498ad14472 scsi: sg: remove 'save_scat_len'
   cf22210c66ca scsi: storvsc: fix memory leak on ring buffer busy
   b4730f456e21 scsi: megaraid_sas: Return pended IOCTLs with cmd_status MFI_STAT_WRONG_STATE in case adapter is dead
   d9b8f1ccbb8c scsi: megaraid_sas: Check valid aen class range to avoid kernel panic
   4dd6cbbc2191 scsi: zfcp: trace high part of "new" 64 bit SCSI LUN
   1e6c640a75d0 scsi: zfcp: trace HBA FSF response by default on dismiss or timedout late response
   7194822422f9 scsi: zfcp: fix payload with full FCP_RSP IU in SCSI trace records
   d0fbe221b8f1 scsi: zfcp: fix missing trace records for early returns in TMF eh handlers
   1a847369487c scsi: zfcp: fix passing fsf_req to SCSI trace on TMF to correlate with HBA
   52661717ee66 scsi: zfcp: fix capping of unsuccessful GPN_FT SAN response trace records
   d0c02c6f3e85 scsi: zfcp: add handling for FCP_RESID_OVER to the fcp ingress path
   cfc49967434d scsi: zfcp: fix queuecommand for scsi_eh commands when DIX enabled
   19978c50db68 skd: Submit requests to firmware before triggering the doorbell
   0bcaf5178fe6 skd: Avoid that module unloading triggers a use-after-free
   f05dafbd7791 md/bitmap: disable bitmap_resize for file-backed bitmaps.
   30e81e7fe197 block: Relax a check in blk_start_queue()
   a918d32583e0 powerpc: Fix DAR reporting when alignment handler faults
   c53f01698f68 ext4: fix quota inconsistency during orphan cleanup for read-only mounts
   cd46241eb03c ext4: fix incorrect quotaoff if the quota feature is enabled
   5e9d28b003b0 crypto: AF_ALG - remove SGL terminator indicator when chaining
   9354f4d0beb0 MIPS: math-emu: MINA.<D|S>: Fix some cases of infinity and zero inputs
   f4d77fc754f2 MIPS: math-emu: <MAXA|MINA>.<D|S>: Fix cases of both infinite inputs
   322bf697bdc4 MIPS: math-emu: <MAXA|MINA>.<D|S>: Fix cases of input values with opposite signs
   a83ffb581f26 MIPS: math-emu: <MAX|MIN>.<D|S>: Fix cases of both inputs negative
   6acd1d26c32e MIPS: math-emu: <MAX|MAXA|MIN|MINA>.<D|S>: Fix cases of both inputs zero
   b6c818d813c6 MIPS: math-emu: <MAX|MAXA|MIN|MINA>.<D|S>: Fix quiet NaN propagation
   bf592dde1262 Input: i8042 - add Gigabyte P57 to the keyboard reset table
   c13c5c7e88d7 tty: fix __tty_insert_flip_char regression
   077933dcd5ca tty: improve tty_insert_flip_char() slow path
   e1e6620f042c tty: improve tty_insert_flip_char() fast path
   c576160ff3f3 mm: prevent double decrease of nr_reserved_highatomic
   6ea627b20205 nfsd: Fix general protection fault in release_lock_stateid()
   d5c59ee84820 md/raid5: release/flush io in raid5_do_work()
   e21d66048d4d x86/fsgsbase/64: Report FSBASE and GSBASE correctly in core dumps
   53e5f7b8d41b f2fs: check hot_data for roll-forward recovery
   be9994817ad5 ipv6: fix typo in fib6_net_exit()
   70479eafe3d9 ipv6: fix memory leak with multiple tables during netns destruction
   9b5e5d8a0045 gianfar: Fix Tx flow control deactivation
   5f529e0d7844 Revert "net: fix percpu memory leaks"
   40bc5355e134 Revert "net: use lib/percpu_counter API for fragmentation mem accounting"
   611a98c8eca3 tcp: initialize rcv_mss to TCP_MIN_MSS instead of 0
   081be8c9efd6 Revert "net: phy: Correctly process PHY_HALTED in phy_stop_machine()"
   6d8c8fd1c4c7 qlge: avoid memcpy buffer overflow
   354d36b746c3 ipv6: fix sparse warning on rt6i_node
   e51bf99be7cc ipv6: add rcu grace period before freeing fib6_node
   6eb7ae1223f7 ipv6: accept 64k - 1 packet length in ip6_find_1stfragopt()
   b52c9082f2eb Linux 4.4.88
   ad3903434142 xfs: XFS_IS_REALTIME_INODE() should be false if no rt device present
   677a80364049 NFS: Fix 2 use after free issues in the I/O code
   84478477d0b8 ARM: 8692/1: mm: abort uaccess retries upon fatal signal
   f7ec367c8ea7 Bluetooth: Properly check L2CAP config option output buffer length
   556814701545 ALSA: msnd: Optimize / harden DSP and MIDI loops
   10863607c242 locktorture: Fix potential memory leak with rw lock test
   693b7f62a439 btrfs: resume qgroup rescan on rw remount
   f4596ead66a7 drm/bridge: adv7511: Re-write the i2c address before EDID probing
   e22a4308547c drm/bridge: adv7511: Switch to using drm_kms_helper_hotplug_event()
   9183e45db777 drm/bridge: adv7511: Use work_struct to defer hotplug handing to out of irq context
   c634cecad4c1 drm/bridge: adv7511: Fix mutex deadlock when interrupts are disabled
   aea7e5ce4a52 drm: adv7511: really enable interrupts for EDID detection
   a2e71dcfb0d4 scsi: sg: recheck MMAP_IO request length with lock held
   0d7592a03b8a scsi: sg: protect against races between mmap() and SG_SET_RESERVED_SIZE
   9a4cabf3bf8b cs5536: add support for IDE controller variant
   302364990c05 workqueue: Fix flag collision
   966e3a2d98c1 drm/nouveau/pci/msi: disable MSI on big-endian platforms by default
   4a9c294d7b1e mwifiex: correct channel stat buffer overflows
   926374f5e669 dlm: avoid double-free on error path in dlm_device_{register,unregister}
   bf3a0acce440 Bluetooth: Add support of 13d3:3494 RTL8723BE device
   ca245a6414e4 rtlwifi: rtl_pci_probe: Fix fail path of _rtl_pci_find_adapter
   c5b8e1dd9629 Input: trackpoint - assume 3 buttons when buttons detection fails
   2c65494080c9 ath10k: fix memory leak in rx ring buffer allocation
   69eeacb5cd87 intel_th: pci: Add Cannon Lake PCH-LP support
   eb98d15d3cbe intel_th: pci: Add Cannon Lake PCH-H support
   1875ed81c2b7 driver core: bus: Fix a potential double free
   f3584d55a8d8 staging/rts5208: fix incorrect shift to extract upper nybble
   812e484133fb USB: core: Avoid race of async_completed() w/ usbdev_release()
   9f1d78c62a4b usb:xhci:Fix regression when ATI chipsets detected
   b3e92cd7a820 usb: Add device quirk for Logitech HD Pro Webcam C920-C
   6e957a81c77f USB: serial: option: add support for D-Link DWM-157 C1
   f7a0f7318c27 usb: quirks: add delay init quirk for Corsair Strafe RGB keyboard

(From OE-Core rev: 8abd7663e6780fcda81ed44da9f90a2f6233e3a9)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e3ae1935a0e5fe0d5867250ef62ae8ffd08b5b4e)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Bruce Ashfield
f609c3f755 linux-yocto/4.12: configuration and feature updates
Integrating features and new configurations for the 4.12 kernel.
With this update, a CGL-ready kernel can be configured out of
the box.

(From OE-Core rev: e0d3407289f8a494d76618d0e2a506657b70cd5e)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 43c5846e22d246dde314657dbf90f9752b06a54c)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Richard Purdie
9217de77b9 rng-tools: Fix crazy defaults
Feeding the output of /dev/urandom into /dev/random is pretty much insane
and not something we should encourage.

I can't really imagine a scenario where this would be a sensible idea since
/dev/urandom if effectively derived from /dev/random.

This changes the tool to default to /dev/hwrng which makes much more sense,
feeding hardware entropy into the random pool. In the QEMU case, this will
feed entropy from the host into the guests which is also what we want.

Yes, this change will cause rngd not to start if /dev/hwrng isn't present,
but it isn't needed if that isn't so I don't see this as a bad thing.

(https://wiki.archlinux.org/index.php/Rng-tools has a section in red which
agrees with the above, "this is a really bad idea, since you are simple
filling the kernel entropy pool with entropy coming from the kernel itself!")

(From OE-Core rev: d177516d846ec4bed483d7e9d80775bb341c869e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f1dc9ac46710814c27cae2d22e79c84a9522993a)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Richard Purdie
87f8aafd53 oe-buildenv-internal: Fix finding build directory
The intent of the env setup scripts is to set BBPATH to point at the
build directory. This means if the user changes directory, bitbake can
still find the original build directory. The default bblayers.conf files
reset BBPATH to the correct components so this is safe and restores the
behaviour the script was intended to have.

[YOCTO #12163]

(From OE-Core rev: bfacf88f15a27db579d8790d92f8497d832961f8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 82eeb934997c9eaa6443079dfb649a89872a222c)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Artur Mądrzak
6709452171 wic: add 'part-name' argument for naming GPT partitions
The WIC's 'part' can now give a name for GPT partition in WKS file.
It's similar to '--label', but is naming partintions instead file systems.
It's required by some bootloaders to partitions have specified names.

Backport from master, without it WIC cannot be used on Qualcomm based machines.

(From OE-Core rev: 45aee3d57697f8dcc967120b5afd280d5ceadd21)

Signed-off-by: Artur Mądrzak <artur@madrzak.eu>
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9b60e3466ed7cff0cea10815851eb1304002eb52)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Richard Purdie
f7b90ab3ea bitbake: main: Give a user readable error if we can't locate topdir
Currently if you run bitbake in an invalid directory, the user experience
is poor:

birbake/lib/bb/main.py", line 427, in setup_bitbake
    topdir, lock = lockBitbake()
  File "./bitbake/lib/bb/main.py", line 494, in lockBitbake
    lockfile = topdir + "/bitbake.lock"
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'

This ensures we exit straight away with a better error message.

[YOCTO #12163]

(Bitbake rev: 2a931d5e4ac092ce275f3a51e22b802689f511e6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-10-31 09:09:27 +00:00
Paul Eggleton
7226a1c600 bitbake: cooker: fix watching directories with Python 3.6+
In Python 3.6, glob.glob() was reimplemented to use os.scandir() (which
itself appeared in Python 3.5), thus our monkey patching of os.listdir()
here was no longer effective. The end result was not only that bitbake
wouldn't notice added recipes or bbappends with BB_SERVER_TIMEOUT set
when being run with Python 3.6 (the shipped Python version on Fedora 26
and some other distribution versions), it also broke devtool modify,
devtool upgrade and devtool extract since they rely on the ability to
create a bbappend on the fly and have bitbake pick it up.

To fix it, do the same monkey patching for os.scandir(), which needs to
be conditional upon that actually existing since we have to support
Python 3.4 that doesn't have it. Long term we should probably look for a
better way to handle this that doesn't involve monkey patching Python
library code.

Fixes [YOCTO #12185].

(Bitbake rev: d57c4718a3a1eb7b8397085c307fcb0bec6454ef)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-10-31 09:09:27 +00:00
5977 changed files with 349303 additions and 427686 deletions

12
.gitignore vendored
View File

@@ -1,14 +1,12 @@
*.pyc
*.pyo
/*.patch
/.repo/
/build*/
pyshtables.py
pstage/
scripts/oe-git-proxy-socks
sources/
meta-*/
buildtools/
!meta-skeleton
!meta-selftest
hob-image-*.bb
@@ -20,13 +18,9 @@ hob-image-*.bb
!meta-yocto
!meta-yocto-bsp
!meta-yocto-imported
/documentation/*/eclipse/
/documentation/*/*.html
/documentation/*/*.pdf
/documentation/*/*.tgz
/bitbake/doc/bitbake-user-manual/bitbake-user-manual.html
/bitbake/doc/bitbake-user-manual/bitbake-user-manual.pdf
/bitbake/doc/bitbake-user-manual/bitbake-user-manual.tgz
documentation/user-manual/user-manual.html
documentation/user-manual/user-manual.pdf
documentation/user-manual/user-manual.tgz
pull-*/
bitbake/lib/toaster/contrib/tts/backlog.txt
bitbake/lib/toaster/contrib/tts/log/*

24
LICENSE
View File

@@ -1,20 +1,14 @@
Different components of OpenEmbedded are under different licenses (a mix
of MIT and GPLv2). See LICENSE.GPL-2.0-only and LICENSE.MIT for further
details of the individual licenses.
of MIT and GPLv2). Please see:
meta/COPYING.GPLv2 (GPLv2)
meta/COPYING.MIT (MIT)
meta-selftest/COPYING.MIT (MIT)
meta-skeleton/COPYING.MIT (MIT)
All metadata is MIT licensed unless otherwise stated. Source code
included in tree for individual recipes (e.g. patches) are under
the LICENSE stated in the associated recipe (.bb file) unless
otherwise stated.
included in tree for individual recipes is under the LICENSE stated in
the associated recipe (.bb file) unless otherwise stated.
License information for any other files is either explicitly stated
or defaults to GPL version 2 only.
Individual files contain the following style tags instead of the full license
text to identify their license:
SPDX-License-Identifier: GPL-2.0-only
SPDX-License-Identifier: MIT
This enables machine processing of license information based on the SPDX
License Identifiers that are here available: http://spdx.org/licenses/
or defaults to GPL version 2.

View File

@@ -1,288 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Note:
Individual files contain the following tag instead of the full license text.
SPDX-License-Identifier: GPL-2.0-only
This enables machine processing of license information based on the SPDX
License Identifiers that are here available: http://spdx.org/licenses/

View File

@@ -1,25 +0,0 @@
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Note:
Individual files contain the following tag instead of the full license text.
SPDX-License-Identifier: MIT
This enables machine processing of license information based on the SPDX
License Identifiers that are here available: http://spdx.org/licenses/

View File

@@ -1,5 +0,0 @@
Some project contributors who are sadly no longer with us:
Greg Gilbert (treke) - Ahead of his time with licensing
Thomas Wood (thos) - Creator of the original sato
Scott Rifenbark (scottrif) - Our long standing techwriter whose words live on

View File

@@ -1,35 +0,0 @@
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = _build
DESTDIR = final
ifeq ($(shell if which $(SPHINXBUILD) >/dev/null 2>&1; then echo 1; else echo 0; fi),0)
$(error "The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed")
endif
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile.sphinx clean publish
publish: Makefile.sphinx html singlehtml
rm -rf $(BUILDDIR)/$(DESTDIR)/
mkdir -p $(BUILDDIR)/$(DESTDIR)/
cp -r $(BUILDDIR)/html/* $(BUILDDIR)/$(DESTDIR)/
cp $(BUILDDIR)/singlehtml/index.html $(BUILDDIR)/$(DESTDIR)/singleindex.html
sed -i -e 's@index.html#@singleindex.html#@g' $(BUILDDIR)/$(DESTDIR)/singleindex.html
clean:
@rm -rf $(BUILDDIR)
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile.sphinx
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

25
README.LSB Normal file
View File

@@ -0,0 +1,25 @@
OE-Core aims to be able to provide basic LSB compatible images. There
are some challenges for OE as LSB isn't always 100% relevant to its
target embedded and IoT audiences.
One challenge is that the LSB spec is no longer being actively
developed [https://github.com/LinuxStandardBase/lsb] and has
components which are end of life or significantly dated. OE
therefore provides compatibility with the following caveats:
* Qt4 is provided by the separate meta-qt4 layer. Its noted that Qt4
is end of life and this isn't something the core project regularly
tests any longer. Users are recommended to group together to support
maintenance of that layer. [http://git.yoctoproject.org/cgit/cgit.cgi/meta-qt4/]
* mailx has been dropped since its no longer being developed upstream
and there are better, more modern replacements such as s-nail
(http://sdaoden.eu/code.html) or mailutils (http://mailutils.org/).
* A few perl modules that were required by LSB 4.x aren't provided:
libclass-isa, libenv, libdumpvalue, libfile-checktree,
libi18n-collate, libpod-plainer.
* libpng 1.2 isn't provided; oe-core includes the latest release of libpng
instead.

View File

@@ -1,29 +0,0 @@
OpenEmbedded-Core
=================
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/
The Yocto Project has extensive documentation about OE including a reference manual
which can be found at:
http://yoctoproject.org/documentation
Contributing
------------
Please refer to
http://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded
for guidelines on how to submit patches.
Mailing list:
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Source code:
http://git.openembedded.org/openembedded-core/

View File

@@ -1,2 +0,0 @@
*min.js binary
*min.css binary

339
bitbake/COPYING Normal file
View File

@@ -0,0 +1,339 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

19
bitbake/HEADER Normal file
View File

@@ -0,0 +1,19 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# <one line to give the program's name and a brief idea of what it does.>
# Copyright (C) <year> <name of author>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

View File

@@ -1,13 +1,4 @@
BitBake is licensed under the GNU General Public License version 2.0. See
LICENSE.GPL-2.0-only for further details.
Individual files contain the following style tags instead of the full license text:
SPDX-License-Identifier: GPL-2.0-only
This enables machine processing of license information based on the SPDX
License Identifiers that are here available: http://spdx.org/licenses/
BitBake is licensed under the GNU General Public License version 2.0. See COPYING for further details.
The following external components are distributed with this software:
@@ -26,4 +17,3 @@ Foundation and individual contributors.
* Font Awesome fonts redistributed under the SIL Open Font License 1.1
* simplediff is distributed under the zlib license.

View File

@@ -1,288 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Note:
Individual files contain the following tag instead of the full license text.
SPDX-License-Identifier: GPL-2.0-only
This enables machine processing of license information based on the SPDX
License Identifiers that are here available: http://spdx.org/licenses/

View File

@@ -1,25 +0,0 @@
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Note:
Individual files contain the following tag instead of the full license text.
SPDX-License-Identifier: MIT
This enables machine processing of license information based on the SPDX
License Identifiers that are here available: http://spdx.org/licenses/

View File

@@ -1,4 +1,6 @@
#!/usr/bin/env python3
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2003, 2004 Phil Blundell
@@ -7,8 +9,18 @@
# Copyright (C) 2005 ROAD GmbH
# Copyright (C) 2006 Richard Purdie
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os
import sys
@@ -26,7 +38,7 @@ from bb.main import bitbake_main, BitBakeConfigParameters, BBMainException
if sys.getfilesystemencoding() != "utf-8":
sys.exit("Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).\nPython can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.")
__version__ = "1.49.0"
__version__ = "1.36.0"
if __name__ == "__main__":
if __version__ != bb.__version__:

View File

@@ -1,16 +1,27 @@
#!/usr/bin/env python3
# bitbake-diffsigs / bitbake-dumpsig
# BitBake task signature data dump and comparison utility
# bitbake-diffsigs
# BitBake task signature data comparison utility
#
# Copyright (C) 2012-2013, 2017 Intel Corporation
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os
import sys
import warnings
import fnmatch
import argparse
import logging
import pickle
@@ -21,10 +32,7 @@ import bb.tinfoil
import bb.siggen
import bb.msg
myname = os.path.basename(sys.argv[0])
logger = bb.msg.logger_create(myname)
is_dump = myname == 'bitbake-dumpsig'
logger = bb.msg.logger_create('bitbake-diffsigs')
def find_siginfo(tinfoil, pn, taskname, sigs=None):
result = None
@@ -51,8 +59,8 @@ def find_siginfo(tinfoil, pn, taskname, sigs=None):
sys.exit(2)
return result
def find_siginfo_task(bbhandler, pn, taskname, sig1=None, sig2=None):
""" Find the most recent signature files for the specified PN/task """
def find_compare_task(bbhandler, pn, taskname, sig1=None, sig2=None, color=False):
""" Find the most recent signature files for the specified PN/task and compare them """
if not taskname.startswith('do_'):
taskname = 'do_%s' % taskname
@@ -71,81 +79,73 @@ def find_siginfo_task(bbhandler, pn, taskname, sig1=None, sig2=None):
latestfiles = [sigfiles[sig1], sigfiles[sig2]]
else:
filedates = find_siginfo(bbhandler, pn, taskname)
latestfiles = sorted(filedates.keys(), key=lambda f: filedates[f])[-2:]
latestfiles = sorted(filedates.keys(), key=lambda f: filedates[f])[-3:]
if not latestfiles:
logger.error('No sigdata files found matching %s %s' % (pn, taskname))
sys.exit(1)
elif len(latestfiles) < 2:
logger.error('Only one matching sigdata file found for the specified task (%s %s)' % (pn, taskname))
sys.exit(1)
return latestfiles
# Define recursion callback
def recursecb(key, hash1, hash2):
hashes = [hash1, hash2]
hashfiles = find_siginfo(bbhandler, key, None, hashes)
recout = []
if len(hashfiles) == 0:
recout.append("Unable to find matching sigdata for %s with hashes %s or %s" % (key, hash1, hash2))
elif not hash1 in hashfiles:
recout.append("Unable to find matching sigdata for %s with hash %s" % (key, hash1))
elif not hash2 in hashfiles:
recout.append("Unable to find matching sigdata for %s with hash %s" % (key, hash2))
else:
out2 = bb.siggen.compare_sigfiles(hashfiles[hash1], hashfiles[hash2], recursecb, color=color)
for change in out2:
for line in change.splitlines():
recout.append(' ' + line)
# Define recursion callback
def recursecb(key, hash1, hash2):
hashes = [hash1, hash2]
hashfiles = find_siginfo(tinfoil, key, None, hashes)
return recout
recout = []
if len(hashfiles) == 0:
recout.append("Unable to find matching sigdata for %s with hashes %s or %s" % (key, hash1, hash2))
elif not hash1 in hashfiles:
recout.append("Unable to find matching sigdata for %s with hash %s" % (key, hash1))
elif not hash2 in hashfiles:
recout.append("Unable to find matching sigdata for %s with hash %s" % (key, hash2))
else:
out2 = bb.siggen.compare_sigfiles(hashfiles[hash1], hashfiles[hash2], recursecb, color=color)
for change in out2:
for line in change.splitlines():
recout.append(' ' + line)
# Recurse into signature comparison
logger.debug("Signature file (previous): %s" % latestfiles[-2])
logger.debug("Signature file (latest): %s" % latestfiles[-1])
output = bb.siggen.compare_sigfiles(latestfiles[-2], latestfiles[-1], recursecb, color=color)
if output:
print('\n'.join(output))
sys.exit(0)
return recout
parser = argparse.ArgumentParser(
description=("Dumps" if is_dump else "Compares") + " siginfo/sigdata files written out by BitBake")
description="Compares siginfo/sigdata files written out by BitBake")
parser.add_argument('-D', '--debug',
parser.add_argument('-d', '--debug',
help='Enable debug output',
action='store_true')
if is_dump:
parser.add_argument("-t", "--task",
help="find the signature data file for the last run of the specified task",
action="store", dest="taskargs", nargs=2, metavar=('recipename', 'taskname'))
parser.add_argument('--color',
help='Colorize output (where %(metavar)s is %(choices)s)',
choices=['auto', 'always', 'never'], default='auto', metavar='color')
parser.add_argument("sigdatafile1",
help="Signature file to dump. Not used when using -t/--task.",
action="store", nargs='?', metavar="sigdatafile")
else:
parser.add_argument('-c', '--color',
help='Colorize the output (where %(metavar)s is %(choices)s)',
choices=['auto', 'always', 'never'], default='auto', metavar='color')
parser.add_argument("-t", "--task",
help="find the signature data files for last two runs of the specified task and compare them",
action="store", dest="taskargs", nargs=2, metavar=('recipename', 'taskname'))
parser.add_argument('-d', '--dump',
help='Dump the last signature data instead of comparing (equivalent to using bitbake-dumpsig)',
action='store_true')
parser.add_argument("-s", "--signature",
help="With -t/--task, specify the signatures to look for instead of taking the last two",
action="store", dest="sigargs", nargs=2, metavar=('fromsig', 'tosig'))
parser.add_argument("-t", "--task",
help="find the signature data files for the last two runs of the specified task and compare them",
action="store", dest="taskargs", nargs=2, metavar=('recipename', 'taskname'))
parser.add_argument("sigdatafile1",
help="First signature file to compare (or signature file to dump, if second not specified). Not used when using -t/--task.",
action="store", nargs='?')
parser.add_argument("-s", "--signature",
help="With -t/--task, specify the signatures to look for instead of taking the last two",
action="store", dest="sigargs", nargs=2, metavar=('fromsig', 'tosig'))
parser.add_argument("sigdatafile2",
help="Second signature file to compare",
action="store", nargs='?')
parser.add_argument("sigdatafile1",
help="First signature file to compare (or signature file to dump, if second not specified). Not used when using -t/--task.",
action="store", nargs='?')
parser.add_argument("sigdatafile2",
help="Second signature file to compare",
action="store", nargs='?')
options = parser.parse_args()
if is_dump:
options.color = 'never'
options.dump = True
options.sigdatafile2 = None
options.sigargs = None
if options.debug:
logger.setLevel(logging.DEBUG)
@@ -155,32 +155,17 @@ color = (options.color == 'always' or (options.color == 'auto' and sys.stdout.is
if options.taskargs:
with bb.tinfoil.Tinfoil() as tinfoil:
tinfoil.prepare(config_only=True)
if not options.dump and options.sigargs:
files = find_siginfo_task(tinfoil, options.taskargs[0], options.taskargs[1], options.sigargs[0], options.sigargs[1])
if options.sigargs:
find_compare_task(tinfoil, options.taskargs[0], options.taskargs[1], options.sigargs[0], options.sigargs[1], color=color)
else:
files = find_siginfo_task(tinfoil, options.taskargs[0], options.taskargs[1])
if options.dump:
logger.debug("Signature file: %s" % files[-1])
output = bb.siggen.dump_sigfile(files[-1])
else:
if len(files) < 2:
logger.error('Only one matching sigdata file found for the specified task (%s %s)' % (options.taskargs[0], options.taskargs[1]))
sys.exit(1)
# Recurse into signature comparison
logger.debug("Signature file (previous): %s" % files[-2])
logger.debug("Signature file (latest): %s" % files[-1])
output = bb.siggen.compare_sigfiles(files[-2], files[-1], recursecb, color=color)
find_compare_task(tinfoil, options.taskargs[0], options.taskargs[1], color=color)
else:
if options.sigargs:
logger.error('-s/--signature can only be used together with -t/--task')
sys.exit(1)
try:
if not options.dump and options.sigdatafile1 and options.sigdatafile2:
with bb.tinfoil.Tinfoil() as tinfoil:
tinfoil.prepare(config_only=True)
output = bb.siggen.compare_sigfiles(options.sigdatafile1, options.sigdatafile2, recursecb, color=color)
if options.sigdatafile1 and options.sigdatafile2:
output = bb.siggen.compare_sigfiles(options.sigdatafile1, options.sigdatafile2, color=color)
elif options.sigdatafile1:
output = bb.siggen.dump_sigfile(options.sigdatafile1)
else:
@@ -194,5 +179,5 @@ else:
logger.error('Invalid signature data - ensure you are specifying sigdata/siginfo files')
sys.exit(1)
if output:
print('\n'.join(output))
if output:
print('\n'.join(output))

View File

@@ -1 +0,0 @@
bitbake-diffsigs

94
bitbake/bin/bitbake-dumpsig Executable file
View File

@@ -0,0 +1,94 @@
#!/usr/bin/env python3
# bitbake-dumpsig
# BitBake task signature dump utility
#
# Copyright (C) 2013 Intel Corporation
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os
import sys
import warnings
import optparse
import logging
import pickle
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), 'lib'))
import bb.tinfoil
import bb.siggen
import bb.msg
logger = bb.msg.logger_create('bitbake-dumpsig')
def find_siginfo_task(bbhandler, pn, taskname):
""" Find the most recent signature file for the specified PN/task """
if not hasattr(bb.siggen, 'find_siginfo'):
logger.error('Metadata does not support finding signature data files')
sys.exit(1)
if not taskname.startswith('do_'):
taskname = 'do_%s' % taskname
filedates = bb.siggen.find_siginfo(pn, taskname, None, bbhandler.config_data)
latestfiles = sorted(filedates.keys(), key=lambda f: filedates[f])[-1:]
if not latestfiles:
logger.error('No sigdata files found matching %s %s' % (pn, taskname))
sys.exit(1)
return latestfiles[0]
parser = optparse.OptionParser(
description = "Dumps siginfo/sigdata files written out by BitBake",
usage = """
%prog -t recipename taskname
%prog sigdatafile""")
parser.add_option("-D", "--debug",
help = "enable debug",
action = "store_true", dest="debug", default = False)
parser.add_option("-t", "--task",
help = "find the signature data file for the specified task",
action="store", dest="taskargs", nargs=2, metavar='recipename taskname')
options, args = parser.parse_args(sys.argv)
if options.debug:
logger.setLevel(logging.DEBUG)
if options.taskargs:
tinfoil = bb.tinfoil.Tinfoil()
tinfoil.prepare(config_only = True)
file = find_siginfo_task(tinfoil, options.taskargs[0], options.taskargs[1])
logger.debug("Signature file: %s" % file)
elif len(args) == 1:
parser.print_help()
sys.exit(0)
else:
file = args[1]
try:
output = bb.siggen.dump_sigfile(file)
except IOError as e:
logger.error(str(e))
sys.exit(1)
except (pickle.UnpicklingError, EOFError):
logger.error('Invalid signature data - ensure you are specifying a sigdata/siginfo file')
sys.exit(1)
if output:
print('\n'.join(output))

View File

@@ -1,170 +0,0 @@
#! /usr/bin/env python3
#
# Copyright (C) 2019 Garmin Ltd.
#
# SPDX-License-Identifier: GPL-2.0-only
#
import argparse
import hashlib
import logging
import os
import pprint
import sys
import threading
import time
try:
import tqdm
ProgressBar = tqdm.tqdm
except ImportError:
class ProgressBar(object):
def __init__(self, *args, **kwargs):
pass
def __enter__(self):
return self
def __exit__(self, *args, **kwargs):
pass
def update(self):
pass
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)), 'lib'))
import hashserv
DEFAULT_ADDRESS = 'unix://./hashserve.sock'
METHOD = 'stress.test.method'
def main():
def handle_stats(args, client):
if args.reset:
s = client.reset_stats()
else:
s = client.get_stats()
pprint.pprint(s)
return 0
def handle_stress(args, client):
def thread_main(pbar, lock):
nonlocal found_hashes
nonlocal missed_hashes
nonlocal max_time
client = hashserv.create_client(args.address)
for i in range(args.requests):
taskhash = hashlib.sha256()
taskhash.update(args.taskhash_seed.encode('utf-8'))
taskhash.update(str(i).encode('utf-8'))
start_time = time.perf_counter()
l = client.get_unihash(METHOD, taskhash.hexdigest())
elapsed = time.perf_counter() - start_time
with lock:
if l:
found_hashes += 1
else:
missed_hashes += 1
max_time = max(elapsed, max_time)
pbar.update()
max_time = 0
found_hashes = 0
missed_hashes = 0
lock = threading.Lock()
total_requests = args.clients * args.requests
start_time = time.perf_counter()
with ProgressBar(total=total_requests) as pbar:
threads = [threading.Thread(target=thread_main, args=(pbar, lock), daemon=False) for _ in range(args.clients)]
for t in threads:
t.start()
for t in threads:
t.join()
elapsed = time.perf_counter() - start_time
with lock:
print("%d requests in %.1fs. %.1f requests per second" % (total_requests, elapsed, total_requests / elapsed))
print("Average request time %.8fs" % (elapsed / total_requests))
print("Max request time was %.8fs" % max_time)
print("Found %d hashes, missed %d" % (found_hashes, missed_hashes))
if args.report:
with ProgressBar(total=args.requests) as pbar:
for i in range(args.requests):
taskhash = hashlib.sha256()
taskhash.update(args.taskhash_seed.encode('utf-8'))
taskhash.update(str(i).encode('utf-8'))
outhash = hashlib.sha256()
outhash.update(args.outhash_seed.encode('utf-8'))
outhash.update(str(i).encode('utf-8'))
client.report_unihash(taskhash.hexdigest(), METHOD, outhash.hexdigest(), taskhash.hexdigest())
with lock:
pbar.update()
parser = argparse.ArgumentParser(description='Hash Equivalence Client')
parser.add_argument('--address', default=DEFAULT_ADDRESS, help='Server address (default "%(default)s")')
parser.add_argument('--log', default='WARNING', help='Set logging level')
subparsers = parser.add_subparsers()
stats_parser = subparsers.add_parser('stats', help='Show server stats')
stats_parser.add_argument('--reset', action='store_true',
help='Reset server stats')
stats_parser.set_defaults(func=handle_stats)
stress_parser = subparsers.add_parser('stress', help='Run stress test')
stress_parser.add_argument('--clients', type=int, default=10,
help='Number of simultaneous clients')
stress_parser.add_argument('--requests', type=int, default=1000,
help='Number of requests each client will perform')
stress_parser.add_argument('--report', action='store_true',
help='Report new hashes')
stress_parser.add_argument('--taskhash-seed', default='',
help='Include string in taskhash')
stress_parser.add_argument('--outhash-seed', default='',
help='Include string in outhash')
stress_parser.set_defaults(func=handle_stress)
args = parser.parse_args()
logger = logging.getLogger('hashserv')
level = getattr(logging, args.log.upper(), None)
if not isinstance(level, int):
raise ValueError('Invalid log level: %s' % args.log)
logger.setLevel(level)
console = logging.StreamHandler()
console.setLevel(level)
logger.addHandler(console)
func = getattr(args, 'func', None)
if func:
client = hashserv.create_client(args.address)
# Try to establish a connection to the server now to detect failures
# early
client.connect()
return func(args, client)
return 0
if __name__ == '__main__':
try:
ret = main()
except Exception:
ret = 1
import traceback
traceback.print_exc()
sys.exit(ret)

View File

@@ -1,62 +0,0 @@
#! /usr/bin/env python3
#
# Copyright (C) 2018 Garmin Ltd.
#
# SPDX-License-Identifier: GPL-2.0-only
#
import os
import sys
import logging
import argparse
import sqlite3
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)), 'lib'))
import hashserv
VERSION = "1.0.0"
DEFAULT_BIND = 'unix://./hashserve.sock'
def main():
parser = argparse.ArgumentParser(description='Hash Equivalence Reference Server. Version=%s' % VERSION,
epilog='''The bind address is the path to a unix domain socket if it is
prefixed with "unix://". Otherwise, it is an IP address
and port in form ADDRESS:PORT. To bind to all addresses, leave
the ADDRESS empty, e.g. "--bind :8686". To bind to a specific
IPv6 address, enclose the address in "[]", e.g.
"--bind [::1]:8686"'''
)
parser.add_argument('--bind', default=DEFAULT_BIND, help='Bind address (default "%(default)s")')
parser.add_argument('--database', default='./hashserv.db', help='Database file (default "%(default)s")')
parser.add_argument('--log', default='WARNING', help='Set logging level')
args = parser.parse_args()
logger = logging.getLogger('hashserv')
level = getattr(logging, args.log.upper(), None)
if not isinstance(level, int):
raise ValueError('Invalid log level: %s' % args.log)
logger.setLevel(level)
console = logging.StreamHandler()
console.setLevel(level)
logger.addHandler(console)
server = hashserv.create_server(args.bind, args.database)
server.serve_forever()
return 0
if __name__ == '__main__':
try:
ret = main()
except Exception:
ret = 1
import traceback
traceback.print_exc()
sys.exit(ret)

View File

@@ -7,13 +7,24 @@
# Copyright (C) 2011 Mentor Graphics Corporation
# Copyright (C) 2011-2015 Intel Corporation
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import logging
import os
import sys
import argparse
import signal
bindir = os.path.dirname(__file__)
topdir = os.path.dirname(bindir)
@@ -25,6 +36,7 @@ import bb.msg
logger = bb.msg.logger_create('bitbake-layers', sys.stdout)
def main():
signal.signal(signal.SIGPIPE, signal.SIG_DFL)
parser = argparse.ArgumentParser(
description="BitBake layers utility",
epilog="Use %(prog)s <subcommand> --help to get help on a specific command",
@@ -50,9 +62,7 @@ def main():
# Need to re-run logger_create with color argument
# (will be the same logger since it has the same name)
bb.msg.logger_create('bitbake-layers', output=sys.stdout,
color=global_args.color,
level=logger.getEffectiveLevel())
bb.msg.logger_create('bitbake-layers', output=sys.stdout, color=global_args.color)
plugins = []
tinfoil = bb.tinfoil.Tinfoil(tracking=True)

View File

@@ -1,8 +1,4 @@
#!/usr/bin/env python3
#
# SPDX-License-Identifier: GPL-2.0-only
#
import os
import sys,logging
import optparse

View File

@@ -2,8 +2,18 @@
#
# Copyright (C) 2012 Richard Purdie
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os
import sys, logging
@@ -12,27 +22,16 @@ sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)), 'lib
import unittest
try:
import bb
import hashserv
import layerindexlib
except RuntimeError as exc:
sys.exit(str(exc))
tests = ["bb.tests.codeparser",
"bb.tests.color",
"bb.tests.cooker",
"bb.tests.cow",
"bb.tests.data",
"bb.tests.event",
"bb.tests.fetch",
"bb.tests.parse",
"bb.tests.persist_data",
"bb.tests.runqueue",
"bb.tests.siggen",
"bb.tests.utils",
"hashserv.tests",
"layerindexlib.tests.layerindexobj",
"layerindexlib.tests.restapi",
"layerindexlib.tests.cooker"]
"bb.tests.utils"]
for t in tests:
t = '.'.join(t.split('.')[:3])

View File

@@ -1,54 +0,0 @@
#!/usr/bin/env python3
#
# SPDX-License-Identifier: GPL-2.0-only
#
# Copyright (C) 2020 Richard Purdie
#
import os
import sys
import warnings
import logging
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), 'lib'))
if sys.getfilesystemencoding() != "utf-8":
sys.exit("Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).\nPython can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.")
# Users shouldn't be running this code directly
if len(sys.argv) != 10 or not sys.argv[1].startswith("decafbad"):
print("bitbake-server is meant for internal execution by bitbake itself, please don't use it standalone.")
sys.exit(1)
import bb.server.process
lockfd = int(sys.argv[2])
readypipeinfd = int(sys.argv[3])
logfile = sys.argv[4]
lockname = sys.argv[5]
sockname = sys.argv[6]
timeout = sys.argv[7]
xmlrpcinterface = (sys.argv[8], int(sys.argv[9]))
if xmlrpcinterface[0] == "None":
xmlrpcinterface = (None, xmlrpcinterface[1])
if timeout == "None":
timeout = None
# Replace standard fds with our own
with open('/dev/null', 'r') as si:
os.dup2(si.fileno(), sys.stdin.fileno())
so = open(logfile, 'a+')
os.dup2(so.fileno(), sys.stdout.fileno())
os.dup2(so.fileno(), sys.stderr.fileno())
# Have stdout and stderr be the same so log output matches chronologically
# and there aren't two seperate buffers
sys.stderr = sys.stdout
logger = logging.getLogger("BitBake")
# Ensure logging messages get sent to the UI as events
handler = bb.event.LogHandler()
logger.addHandler(handler)
bb.server.process.execServer(lockfd, readypipeinfd, lockname, sockname, timeout, xmlrpcinterface)

View File

@@ -1,7 +1,4 @@
#!/usr/bin/env python3
#
# SPDX-License-Identifier: GPL-2.0-only
#
import os
import sys
@@ -65,6 +62,7 @@ if 0:
format_str = "%(levelname)s: %(message)s"
conlogformat = bb.msg.BBLogFormatter(format_str)
consolelog = logging.FileHandler(logfilename)
bb.msg.addDefaultlogFilter(consolelog)
consolelog.setFormatter(conlogformat)
logger.addHandler(consolelog)
@@ -138,7 +136,7 @@ def sigterm_handler(signum, frame):
os.killpg(0, signal.SIGTERM)
sys.exit()
def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, taskhash, unihash, appends, taskdepdata, extraconfigdata, quieterrors=False, dry_run_exec=False):
def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, appends, taskdepdata, extraconfigdata, quieterrors=False, dry_run_exec=False):
# We need to setup the environment BEFORE the fork, since
# a fork() or exec*() activates PSEUDO...
@@ -194,6 +192,9 @@ def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, taskha
global worker_pipe_lock
pipein.close()
signal.signal(signal.SIGTERM, sigterm_handler)
# Let SIGHUP exit as SIGTERM
signal.signal(signal.SIGHUP, sigterm_handler)
bb.utils.signal_on_parent_exit("SIGTERM")
# Save out the PID so that the event can include it the
@@ -208,11 +209,6 @@ def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, taskha
# This ensures signals sent to the controlling terminal like Ctrl+C
# don't stop the child processes.
os.setsid()
signal.signal(signal.SIGTERM, sigterm_handler)
# Let SIGHUP exit as SIGTERM
signal.signal(signal.SIGHUP, sigterm_handler)
# No stdin
newsi = os.open(os.devnull, os.O_RDWR)
os.dup2(newsi, sys.stdin.fileno())
@@ -235,13 +231,10 @@ def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, taskha
the_data.setVar(varname, value)
bb.parse.siggen.set_taskdata(workerdata["sigdata"])
if "newhashes" in workerdata:
bb.parse.siggen.set_taskhashes(workerdata["newhashes"])
ret = 0
the_data = bb_cache.loadDataFull(fn, appends)
the_data.setVar('BB_TASKHASH', taskhash)
the_data.setVar('BB_UNIHASH', unihash)
the_data.setVar('BB_TASKHASH', workerdata["runq_hash"][task])
bb.utils.set_process_name("%s:%s" % (the_data.getVar("PN"), taskname.replace("do_", "")))
@@ -380,7 +373,6 @@ class BitbakeWorker(object):
self.handle_item(b"cookerconfig", self.handle_cookercfg)
self.handle_item(b"extraconfigdata", self.handle_extraconfigdata)
self.handle_item(b"workerdata", self.handle_workerdata)
self.handle_item(b"newtaskhashes", self.handle_newtaskhashes)
self.handle_item(b"runtask", self.handle_runtask)
self.handle_item(b"finishnow", self.handle_finishnow)
self.handle_item(b"ping", self.handle_ping)
@@ -413,16 +405,12 @@ class BitbakeWorker(object):
def handle_workerdata(self, data):
self.workerdata = pickle.loads(data)
bb.build.verboseShellLogging = self.workerdata["build_verbose_shell"]
bb.build.verboseStdoutLogging = self.workerdata["build_verbose_stdout"]
bb.msg.loggerDefaultLogLevel = self.workerdata["logdefaultlevel"]
bb.msg.loggerDefaultDebugLevel = self.workerdata["logdefaultdebug"]
bb.msg.loggerDefaultVerbose = self.workerdata["logdefaultverbose"]
bb.msg.loggerVerboseLogs = self.workerdata["logdefaultverboselogs"]
bb.msg.loggerDefaultDomains = self.workerdata["logdefaultdomain"]
for mc in self.databuilder.mcdata:
self.databuilder.mcdata[mc].setVar("PRSERV_HOST", self.workerdata["prhost"])
self.databuilder.mcdata[mc].setVar("BB_HASHSERVE", self.workerdata["hashservaddr"])
def handle_newtaskhashes(self, data):
self.workerdata["newhashes"] = pickle.loads(data)
def handle_ping(self, _):
workerlog_write("Handling ping\n")
@@ -437,10 +425,10 @@ class BitbakeWorker(object):
sys.exit(0)
def handle_runtask(self, data):
fn, task, taskname, taskhash, unihash, quieterrors, appends, taskdepdata, dry_run_exec = pickle.loads(data)
fn, task, taskname, quieterrors, appends, taskdepdata, dry_run_exec = pickle.loads(data)
workerlog_write("Handling runtask %s %s %s\n" % (task, fn, taskname))
pid, pipein, pipeout = fork_off_task(self.cookercfg, self.data, self.databuilder, self.workerdata, fn, task, taskname, taskhash, unihash, appends, taskdepdata, self.extraconfigdata, quieterrors, dry_run_exec)
pid, pipein, pipeout = fork_off_task(self.cookercfg, self.data, self.databuilder, self.workerdata, fn, task, taskname, appends, taskdepdata, self.extraconfigdata, quieterrors, dry_run_exec)
self.build_pids[pid] = task
self.build_pipes[pid] = runQueueWorkerPipe(pipein, pipeout)

531
bitbake/bin/bitdoc Executable file
View File

@@ -0,0 +1,531 @@
#!/usr/bin/env python3
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# Copyright (C) 2005 Holger Hans Peter Freyther
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import optparse, os, sys
# bitbake
sys.path.append(os.path.join(os.path.dirname(os.path.dirname(__file__), 'lib'))
import bb
import bb.parse
from string import split, join
__version__ = "0.0.2"
class HTMLFormatter:
"""
Simple class to help to generate some sort of HTML files. It is
quite inferior solution compared to docbook, gtkdoc, doxygen but it
should work for now.
We've a global introduction site (index.html) and then one site for
the list of keys (alphabetical sorted) and one for the list of groups,
one site for each key with links to the relations and groups.
index.html
all_keys.html
all_groups.html
groupNAME.html
keyNAME.html
"""
def replace(self, text, *pairs):
"""
From pydoc... almost identical at least
"""
while pairs:
(a, b) = pairs[0]
text = join(split(text, a), b)
pairs = pairs[1:]
return text
def escape(self, text):
"""
Escape string to be conform HTML
"""
return self.replace(text,
('&', '&amp;'),
('<', '&lt;' ),
('>', '&gt;' ) )
def createNavigator(self):
"""
Create the navgiator
"""
return """<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="g" href="index.html">Home</a></td>
<td><a accesskey="n" href="all_groups.html">Groups</a></td>
<td><a accesskey="u" href="all_keys.html">Keys</a></td>
</tr></table>
"""
def relatedKeys(self, item):
"""
Create HTML to link to foreign keys
"""
if len(item.related()) == 0:
return ""
txt = "<p><b>See also:</b><br>"
txts = []
for it in item.related():
txts.append("""<a href="key%(it)s.html">%(it)s</a>""" % vars() )
return txt + ",".join(txts)
def groups(self, item):
"""
Create HTML to link to related groups
"""
if len(item.groups()) == 0:
return ""
txt = "<p><b>See also:</b><br>"
txts = []
for group in item.groups():
txts.append( """<a href="group%s.html">%s</a> """ % (group, group) )
return txt + ",".join(txts)
def createKeySite(self, item):
"""
Create a site for a key. It contains the header/navigator, a heading,
the description, links to related keys and to the groups.
"""
return """<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Key %s</title></head>
<link rel="stylesheet" href="style.css" type="text/css">
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
%s
<h2><span class="refentrytitle">%s</span></h2>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<p>
%s
</p>
</div>
<div class="refsynopsisdiv">
<h2>Related Keys</h2>
<p>
%s
</p>
</div>
<div class="refsynopsisdiv">
<h2>Groups</h2>
<p>
%s
</p>
</div>
</body>
""" % (item.name(), self.createNavigator(), item.name(),
self.escape(item.description()), self.relatedKeys(item), self.groups(item))
def createGroupsSite(self, doc):
"""
Create the Group Overview site
"""
groups = ""
sorted_groups = sorted(doc.groups())
for group in sorted_groups:
groups += """<a href="group%s.html">%s</a><br>""" % (group, group)
return """<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Group overview</title></head>
<link rel="stylesheet" href="style.css" type="text/css">
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
%s
<h2>Available Groups</h2>
%s
</body>
""" % (self.createNavigator(), groups)
def createIndex(self):
"""
Create the index file
"""
return """<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Bitbake Documentation</title></head>
<link rel="stylesheet" href="style.css" type="text/css">
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
%s
<h2>Documentation Entrance</h2>
<a href="all_groups.html">All available groups</a><br>
<a href="all_keys.html">All available keys</a><br>
</body>
""" % self.createNavigator()
def createKeysSite(self, doc):
"""
Create Overview of all avilable keys
"""
keys = ""
sorted_keys = sorted(doc.doc_keys())
for key in sorted_keys:
keys += """<a href="key%s.html">%s</a><br>""" % (key, key)
return """<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Key overview</title></head>
<link rel="stylesheet" href="style.css" type="text/css">
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
%s
<h2>Available Keys</h2>
%s
</body>
""" % (self.createNavigator(), keys)
def createGroupSite(self, gr, items, _description = None):
"""
Create a site for a group:
Group the name of the group, items contain the name of the keys
inside this group
"""
groups = ""
description = ""
# create a section with the group descriptions
if _description:
description += "<h2 Description of Grozp %s</h2>" % gr
description += _description
items.sort(lambda x, y:cmp(x.name(), y.name()))
for group in items:
groups += """<a href="key%s.html">%s</a><br>""" % (group.name(), group.name())
return """<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Group %s</title></head>
<link rel="stylesheet" href="style.css" type="text/css">
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
%s
%s
<div class="refsynopsisdiv">
<h2>Keys in Group %s</h2>
<pre class="synopsis">
%s
</pre>
</div>
</body>
""" % (gr, self.createNavigator(), description, gr, groups)
def createCSS(self):
"""
Create the CSS file
"""
return """.synopsis, .classsynopsis
{
background: #eeeeee;
border: solid 1px #aaaaaa;
padding: 0.5em;
}
.programlisting
{
background: #eeeeff;
border: solid 1px #aaaaff;
padding: 0.5em;
}
.variablelist
{
padding: 4px;
margin-left: 3em;
}
.variablelist td:first-child
{
vertical-align: top;
}
table.navigation
{
background: #ffeeee;
border: solid 1px #ffaaaa;
margin-top: 0.5em;
margin-bottom: 0.5em;
}
.navigation a
{
color: #770000;
}
.navigation a:visited
{
color: #550000;
}
.navigation .title
{
font-size: 200%;
}
div.refnamediv
{
margin-top: 2em;
}
div.gallery-float
{
float: left;
padding: 10px;
}
div.gallery-float img
{
border-style: none;
}
div.gallery-spacer
{
clear: both;
}
a
{
text-decoration: none;
}
a:hover
{
text-decoration: underline;
color: #FF0000;
}
"""
class DocumentationItem:
"""
A class to hold information about a configuration
item. It contains the key name, description, a list of related names,
and the group this item is contained in.
"""
def __init__(self):
self._groups = []
self._related = []
self._name = ""
self._desc = ""
def groups(self):
return self._groups
def name(self):
return self._name
def description(self):
return self._desc
def related(self):
return self._related
def setName(self, name):
self._name = name
def setDescription(self, desc):
self._desc = desc
def addGroup(self, group):
self._groups.append(group)
def addRelation(self, relation):
self._related.append(relation)
def sort(self):
self._related.sort()
self._groups.sort()
class Documentation:
"""
Holds the documentation... with mappings from key to items...
"""
def __init__(self):
self.__keys = {}
self.__groups = {}
def insert_doc_item(self, item):
"""
Insert the Doc Item into the internal list
of representation
"""
item.sort()
self.__keys[item.name()] = item
for group in item.groups():
if not group in self.__groups:
self.__groups[group] = []
self.__groups[group].append(item)
self.__groups[group].sort()
def doc_item(self, key):
"""
Return the DocumentationInstance describing the key
"""
try:
return self.__keys[key]
except KeyError:
return None
def doc_keys(self):
"""
Return the documented KEYS (names)
"""
return self.__keys.keys()
def groups(self):
"""
Return the names of available groups
"""
return self.__groups.keys()
def group_content(self, group_name):
"""
Return a list of keys/names that are in a specefic
group or the empty list
"""
try:
return self.__groups[group_name]
except KeyError:
return []
def parse_cmdline(args):
"""
Parse the CMD line and return the result as a n-tuple
"""
parser = optparse.OptionParser( version = "Bitbake Documentation Tool Core version %s, %%prog version %s" % (bb.__version__, __version__))
usage = """%prog [options]
Create a set of html pages (documentation) for a bitbake.conf....
"""
# Add the needed options
parser.add_option( "-c", "--config", help = "Use the specified configuration file as source",
action = "store", dest = "config", default = os.path.join("conf", "documentation.conf") )
parser.add_option( "-o", "--output", help = "Output directory for html files",
action = "store", dest = "output", default = "html/" )
parser.add_option( "-D", "--debug", help = "Increase the debug level",
action = "count", dest = "debug", default = 0 )
parser.add_option( "-v", "--verbose", help = "output more chit-char to the terminal",
action = "store_true", dest = "verbose", default = False )
options, args = parser.parse_args( sys.argv )
bb.msg.init_msgconfig(options.verbose, options.debug)
return options.config, options.output
def main():
"""
The main Method
"""
(config_file, output_dir) = parse_cmdline( sys.argv )
# right to let us load the file now
try:
documentation = bb.parse.handle( config_file, bb.data.init() )
except IOError:
bb.fatal( "Unable to open %s" % config_file )
except bb.parse.ParseError:
bb.fatal( "Unable to parse %s" % config_file )
if isinstance(documentation, dict):
documentation = documentation[""]
# Assuming we've the file loaded now, we will initialize the 'tree'
doc = Documentation()
# defined states
state_begin = 0
state_see = 1
state_group = 2
for key in bb.data.keys(documentation):
data = documentation.getVarFlag(key, "doc", False)
if not data:
continue
# The Documentation now starts
doc_ins = DocumentationItem()
doc_ins.setName(key)
tokens = data.split(' ')
state = state_begin
string= ""
for token in tokens:
token = token.strip(',')
if not state == state_see and token == "@see":
state = state_see
continue
elif not state == state_group and token == "@group":
state = state_group
continue
if state == state_begin:
string += " %s" % token
elif state == state_see:
doc_ins.addRelation(token)
elif state == state_group:
doc_ins.addGroup(token)
# set the description
doc_ins.setDescription(string)
doc.insert_doc_item(doc_ins)
# let us create the HTML now
bb.utils.mkdirhier(output_dir)
os.chdir(output_dir)
# Let us create the sites now. We do it in the following order
# Start with the index.html. It will point to sites explaining all
# keys and groups
html_slave = HTMLFormatter()
f = file('style.css', 'w')
print >> f, html_slave.createCSS()
f = file('index.html', 'w')
print >> f, html_slave.createIndex()
f = file('all_groups.html', 'w')
print >> f, html_slave.createGroupsSite(doc)
f = file('all_keys.html', 'w')
print >> f, html_slave.createKeysSite(doc)
# now for each group create the site
for group in doc.groups():
f = file('group%s.html' % group, 'w')
print >> f, html_slave.createGroupSite(group, doc.group_content(group))
# now for the keys
for key in doc.doc_keys():
f = file('key%s.html' % doc.doc_item(key).name(), 'w')
print >> f, html_slave.createKeySite(doc.doc_item(key))
if __name__ == "__main__":
main()

View File

@@ -1,8 +1,4 @@
#!/usr/bin/env python3
#
# SPDX-License-Identifier: GPL-2.0-only
#
"""git-make-shallow: make the current git repository shallow
Remove the history of the specified revisions, then optionally filter the

View File

@@ -3,18 +3,26 @@
# toaster - shell script to start Toaster
# Copyright (C) 2013-2015 Intel Corp.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# SPDX-License-Identifier: GPL-2.0-or-later
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
HELP="
Usage 1: source toaster start|stop [webport=<address:port>] [noweb] [nobuild] [toasterdir]
Usage: source toaster start|stop [webport=<address:port>] [noweb] [nobuild]
Optional arguments:
[nobuild] Setup the environment for capturing builds with toaster but disable managed builds
[noweb] Setup the environment for capturing builds with toaster but don't start the web server
[webport] Set the development server (default: localhost:8000)
[toasterdir] Set absolute path to be used as TOASTER_DIR (default: BUILDDIR/../)
Usage 2: source toaster manage [createsuperuser|lsupdates|migrate|makemigrations|checksettings|collectstatic|...]
"
custom_extention()
@@ -152,9 +160,7 @@ fi
export BBBASEDIR=`dirname $TOASTER`/..
MANAGE="python3 $BBBASEDIR/lib/toaster/manage.py"
if [ -z "$OE_ROOT" ]; then
OE_ROOT=`dirname $TOASTER`/../..
fi
OE_ROOT=`dirname $TOASTER`/../..
# this is the configuraton file we are using for toaster
# we are using the same logic that oe-setup-builddir uses
@@ -180,7 +186,6 @@ unset OE_ROOT
WEBSERVER=1
export TOASTER_BUILDSERVER=1
ADDR_PORT="localhost:8000"
TOASTERDIR=`dirname $BUILDDIR`
unset CMD
for param in $*; do
case $param in
@@ -206,24 +211,13 @@ for param in $*; do
ADDR_PORT="localhost:$PORT"
fi
;;
toasterdir=*)
TOASTERDIR="${param#*=}"
;;
manage )
CMD=$param
manage_cmd=""
;;
--help)
echo "$HELP"
return 0
;;
*)
if [ "manage" == "$CMD" ] ; then
manage_cmd="$manage_cmd $param"
else
echo "$HELP"
exit 1
fi
echo "$HELP"
return 1
;;
esac
@@ -247,7 +241,7 @@ fi
# 2) the build dir (in build)
# 3) the sqlite db if that is being used.
# 4) pid's we need to clean up on exit/shutdown
export TOASTER_DIR=$TOASTERDIR
export TOASTER_DIR=`dirname $BUILDDIR`
export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE TOASTER_DIR"
# Determine the action. If specified by arguments, fine, if not, toggle it
@@ -315,10 +309,6 @@ case $CMD in
stop_system
echo "Successful ${CMD}."
;;
manage )
cd $BBBASEDIR/lib/toaster
$MANAGE $manage_cmd
;;
esac
custom_extention toaster_postpend $CMD $ADDR_PORT

View File

@@ -1,12 +1,25 @@
#!/usr/bin/env python3
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# Copyright (C) 2014 Alex Damian
#
# SPDX-License-Identifier: GPL-2.0-only
#
# This file re-uses code spread throughout other Bitbake source files.
# As such, all other copyrights belong to their own right holders.
#
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
"""
This command takes a filename as a single parameter. The filename is read

View File

@@ -1,13 +0,0 @@
{
"version": 1,
"loggers": {
"BitBake.SigGen.HashEquiv": {
"level": "VERBOSE",
"handlers": ["BitBake.verbconsole"]
},
"BitBake.RunQueue.HashEquiv": {
"level": "VERBOSE",
"handlers": ["BitBake.verbconsole"]
}
}
}

View File

@@ -1,89 +0,0 @@
#! /usr/bin/env python3
#
# Copyright (C) 2020 Joshua Watt <JPEWhacker@gmail.com>
#
# SPDX-License-Identifier: MIT
import argparse
import os
import random
import shutil
import signal
import subprocess
import sys
import time
def try_unlink(path):
try:
os.unlink(path)
except:
pass
def main():
def cleanup():
shutil.rmtree("tmp/cache", ignore_errors=True)
try_unlink("bitbake-cookerdaemon.log")
try_unlink("bitbake.sock")
try_unlink("bitbake.lock")
parser = argparse.ArgumentParser(
description="Bitbake parser torture test",
epilog="""
A torture test for bitbake's parser. Repeatedly interrupts parsing until
bitbake decides to deadlock.
""",
)
args = parser.parse_args()
if not "BUILDDIR" in os.environ:
print(
"'BUILDDIR' not found in the environment. Did you initialize the build environment?"
)
return 1
os.chdir(os.environ["BUILDDIR"])
run_num = 0
while True:
if run_num % 100 == 0:
print("Calibrating wait time...")
cleanup()
start_time = time.monotonic()
r = subprocess.run(["bitbake", "-p"])
max_wait_time = time.monotonic() - start_time
if r.returncode != 0:
print("Calibration run exited with %d" % r.returncode)
return 1
print("Maximum wait time is %f seconds" % max_wait_time)
run_num += 1
wait_time = random.random() * max_wait_time
print("Run #%d" % run_num)
print("Will sleep for %f seconds" % wait_time)
cleanup()
with subprocess.Popen(["bitbake", "-p"]) as proc:
time.sleep(wait_time)
proc.send_signal(signal.SIGINT)
try:
proc.wait(45)
except subprocess.TimeoutExpired:
print("Run #%d: Waited too long. Possible deadlock!" % run_num)
proc.wait()
return 1
if proc.returncode == 0:
print("Exited successfully. Timeout too long?")
else:
print("Exited with %d" % proc.returncode)
if __name__ == "__main__":
sys.exit(main())

View File

@@ -1,6 +1,8 @@
#!/usr/bin/env python3
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# Copyright (C) 2012, 2018 Wind River Systems, Inc.
# Copyright (C) 2012 Wind River Systems, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
@@ -16,68 +18,51 @@
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Used for dumping the bb_cache.dat
# This is used for dumping the bb_cache.dat, the output format is:
# recipe_path PN PV PACKAGES
#
import os
import sys
import argparse
import warnings
# For importing bb.cache
sys.path.insert(0, os.path.join(os.path.abspath(os.path.dirname(sys.argv[0])), '../lib'))
from bb.cache import CoreRecipeInfo
import pickle
import pickle as pickle
class DumpCache(object):
def __init__(self):
parser = argparse.ArgumentParser(
description="bb_cache.dat's dumper",
epilog="Use %(prog)s --help to get help")
parser.add_argument("-r", "--recipe",
help="specify the recipe, default: all recipes", action="store")
parser.add_argument("-m", "--members",
help = "specify the member, use comma as separator for multiple ones, default: all members", action="store", default="")
parser.add_argument("-s", "--skip",
help = "skip skipped recipes", action="store_true")
parser.add_argument("cachefile",
help = "specify bb_cache.dat", nargs = 1, action="store", default="")
def main(argv=None):
"""
Get the mapping for the target recipe.
"""
if len(argv) != 1:
print("Error, need one argument!", file=sys.stderr)
return 2
self.args = parser.parse_args()
cachefile = argv[0]
def main(self):
with open(self.args.cachefile[0], "rb") as cachefile:
pickled = pickle.Unpickler(cachefile)
while True:
try:
key = pickled.load()
val = pickled.load()
except Exception:
break
if isinstance(val, CoreRecipeInfo):
pn = val.pn
with open(cachefile, "rb") as cachefile:
pickled = pickle.Unpickler(cachefile)
while cachefile:
try:
key = pickled.load()
val = pickled.load()
except Exception:
break
if isinstance(val, CoreRecipeInfo) and (not val.skipped):
pn = val.pn
# Filter out the native recipes.
if key.startswith('virtual:native:') or pn.endswith("-native"):
continue
if self.args.recipe and self.args.recipe != pn:
continue
# 1.0 is the default version for a no PV recipe.
if "pv" in val.__dict__:
pv = val.pv
else:
pv = "1.0"
if self.args.skip and val.skipped:
continue
if self.args.members:
out = key
for member in self.args.members.split(','):
out += ": %s" % val.__dict__.get(member)
print("%s" % out)
else:
print("%s: %s" % (key, val.__dict__))
elif not self.args.recipe:
print("%s %s" % (key, val))
print("%s %s %s %s" % (key, pn, pv, ' '.join(val.packages)))
if __name__ == "__main__":
try:
dump = DumpCache()
ret = dump.main()
except Exception as esc:
ret = 1
import traceback
traceback.print_exc()
sys.exit(ret)
sys.exit(main(sys.argv[1:]))

View File

@@ -1,18 +0,0 @@
The MIT License (MIT)
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@@ -6,12 +6,12 @@
"
" This sets up the syntax highlighting for BitBake files, like .bb, .bbclass and .inc
if &compatible || version < 600 || exists("b:loaded_bitbake_plugin")
if &compatible || version < 600
finish
endif
" .bb, .bbappend and .bbclass
au BufNewFile,BufRead *.{bb,bbappend,bbclass} set filetype=bitbake
au BufNewFile,BufRead *.{bb,bbappend,bbclass} set filetype=bitbake
" .inc
au BufNewFile,BufRead *.inc set filetype=bitbake

View File

@@ -1,13 +1,2 @@
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
" Don't load another plugin for this buffer
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl cms< sts< sw< et< sua<"
setlocal commentstring=#\ %s
setlocal softtabstop=4 shiftwidth=4 expandtab
setlocal suffixesadd+=.bb,.bbclass
set sts=4 sw=4 et
set cms=#%s

View File

@@ -1,343 +0,0 @@
" Vim indent file
" Language: BitBake
" Copyright: Copyright (C) 2019 Agilent Technologies, Inc.
" Maintainer: Chris Laplante <chris.laplante@agilent.com>
" License: You may redistribute this under the same terms as Vim itself
if exists("b:did_indent")
finish
endif
if exists("*BitbakeIndent")
finish
endif
runtime! indent/sh.vim
unlet b:did_indent
setlocal indentexpr=BitbakeIndent(v:lnum)
setlocal autoindent nolisp
function s:is_bb_python_func_def(lnum)
let stack = synstack(a:lnum, 1)
if len(stack) == 0
return 0
endif
let top = synIDattr(stack[0], "name")
echo top
return synIDattr(stack[0], "name") == "bbPyFuncDef"
endfunction
"""" begin modified from indent/python.vim, upstream commit 7a9bd7c1e0ce1baf5a02daf36eeae3638aa315c7
"""" This copied code is licensed the same as Vim itself.
setlocal indentkeys+=<:>,=elif,=except
let s:keepcpo= &cpo
set cpo&vim
let s:maxoff = 50 " maximum number of lines to look backwards for ()
function GetPythonIndent(lnum)
" If this line is explicitly joined: If the previous line was also joined,
" line it up with that one, otherwise add two 'shiftwidth'
if getline(a:lnum - 1) =~ '\\$'
if a:lnum > 1 && getline(a:lnum - 2) =~ '\\$'
return indent(a:lnum - 1)
endif
return indent(a:lnum - 1) + (exists("g:pyindent_continue") ? eval(g:pyindent_continue) : (shiftwidth() * 2))
endif
" If the start of the line is in a string don't change the indent.
if has('syntax_items')
\ && synIDattr(synID(a:lnum, 1, 1), "name") =~ "String$"
return -1
endif
" Search backwards for the previous non-empty line.
let plnum = prevnonblank(v:lnum - 1)
if plnum == 0
" This is the first non-empty line, use zero indent.
return 0
endif
call cursor(plnum, 1)
" Identing inside parentheses can be very slow, regardless of the searchpair()
" timeout, so let the user disable this feature if he doesn't need it
let disable_parentheses_indenting = get(g:, "pyindent_disable_parentheses_indenting", 0)
if disable_parentheses_indenting == 1
let plindent = indent(plnum)
let plnumstart = plnum
else
" searchpair() can be slow sometimes, limit the time to 150 msec or what is
" put in g:pyindent_searchpair_timeout
let searchpair_stopline = 0
let searchpair_timeout = get(g:, 'pyindent_searchpair_timeout', 150)
" If the previous line is inside parenthesis, use the indent of the starting
" line.
" Trick: use the non-existing "dummy" variable to break out of the loop when
" going too far back.
let parlnum = searchpair('(\|{\|\[', '', ')\|}\|\]', 'nbW',
\ "line('.') < " . (plnum - s:maxoff) . " ? dummy :"
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
\ searchpair_stopline, searchpair_timeout)
if parlnum > 0
" We may have found the opening brace of a BitBake Python task, e.g. 'python do_task {'
" If so, ignore it here - it will be handled later.
if s:is_bb_python_func_def(parlnum)
let parlnum = 0
let plindent = indent(plnum)
let plnumstart = plnum
else
let plindent = indent(parlnum)
let plnumstart = parlnum
endif
else
let plindent = indent(plnum)
let plnumstart = plnum
endif
" When inside parenthesis: If at the first line below the parenthesis add
" two 'shiftwidth', otherwise same as previous line.
" i = (a
" + b
" + c)
call cursor(a:lnum, 1)
let p = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW',
\ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :"
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
\ searchpair_stopline, searchpair_timeout)
if p > 0
if s:is_bb_python_func_def(p)
" Handle first non-empty line inside a BB Python task
if p == plnum
return shiftwidth()
endif
" Handle the user actually trying to close a BitBake Python task
let line = getline(a:lnum)
if line =~ '^\s*}'
return -2
endif
" Otherwise ignore the brace
let p = 0
else
if p == plnum
" When the start is inside parenthesis, only indent one 'shiftwidth'.
let pp = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW',
\ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :"
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
\ searchpair_stopline, searchpair_timeout)
if pp > 0
return indent(plnum) + (exists("g:pyindent_nested_paren") ? eval(g:pyindent_nested_paren) : shiftwidth())
endif
return indent(plnum) + (exists("g:pyindent_open_paren") ? eval(g:pyindent_open_paren) : (shiftwidth() * 2))
endif
if plnumstart == p
return indent(plnum)
endif
return plindent
endif
endif
endif
" Get the line and remove a trailing comment.
" Use syntax highlighting attributes when possible.
let pline = getline(plnum)
let pline_len = strlen(pline)
if has('syntax_items')
" If the last character in the line is a comment, do a binary search for
" the start of the comment. synID() is slow, a linear search would take
" too long on a long line.
if synIDattr(synID(plnum, pline_len, 1), "name") =~ "\\(Comment\\|Todo\\)$"
let min = 1
let max = pline_len
while min < max
let col = (min + max) / 2
if synIDattr(synID(plnum, col, 1), "name") =~ "\\(Comment\\|Todo\\)$"
let max = col
else
let min = col + 1
endif
endwhile
let pline = strpart(pline, 0, min - 1)
endif
else
let col = 0
while col < pline_len
if pline[col] == '#'
let pline = strpart(pline, 0, col)
break
endif
let col = col + 1
endwhile
endif
" If the previous line ended with a colon, indent this line
if pline =~ ':\s*$'
return plindent + shiftwidth()
endif
" If the previous line was a stop-execution statement...
" TODO: utilize this logic to deindent when ending a bbPyDefRegion
if getline(plnum) =~ '^\s*\(break\|continue\|raise\|return\|pass\|bb\.fatal\)\>'
" See if the user has already dedented
if indent(a:lnum) > indent(plnum) - shiftwidth()
" If not, recommend one dedent
return indent(plnum) - shiftwidth()
endif
" Otherwise, trust the user
return -1
endif
" If the current line begins with a keyword that lines up with "try"
if getline(a:lnum) =~ '^\s*\(except\|finally\)\>'
let lnum = a:lnum - 1
while lnum >= 1
if getline(lnum) =~ '^\s*\(try\|except\)\>'
let ind = indent(lnum)
if ind >= indent(a:lnum)
return -1 " indent is already less than this
endif
return ind " line up with previous try or except
endif
let lnum = lnum - 1
endwhile
return -1 " no matching "try"!
endif
" If the current line begins with a header keyword, dedent
if getline(a:lnum) =~ '^\s*\(elif\|else\)\>'
" Unless the previous line was a one-liner
if getline(plnumstart) =~ '^\s*\(for\|if\|try\)\>'
return plindent
endif
" Or the user has already dedented
if indent(a:lnum) <= plindent - shiftwidth()
return -1
endif
return plindent - shiftwidth()
endif
" When after a () construct we probably want to go back to the start line.
" a = (b
" + c)
" here
if parlnum > 0
return plindent
endif
return -1
endfunction
let &cpo = s:keepcpo
unlet s:keepcpo
""" end of stuff from indent/python.vim
let b:did_indent = 1
setlocal indentkeys+=0\"
function BitbakeIndent(lnum)
if !has('syntax_items')
return -1
endif
let stack = synstack(a:lnum, 1)
if len(stack) == 0
return -1
endif
let name = synIDattr(stack[0], "name")
" TODO: support different styles of indentation for assignments. For now,
" we only support like this:
" VAR = " \
" value1 \
" value2 \
" "
"
" i.e. each value indented by shiftwidth(), with the final quote " completely unindented.
if name == "bbVarValue"
" Quote handling is tricky. kernel.bbclass has this line for instance:
" EXTRA_OEMAKE = " HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" " HOSTCPP="${BUILD_CPP}""
" Instead of trying to handle crazy cases like that, just assume that a
" double-quote on a line by itself (following an assignment) means the
" user is closing the assignment, and de-dent.
if getline(a:lnum) =~ '^\s*"$'
return 0
endif
let prevstack = synstack(a:lnum - 1, 1)
if len(prevstack) == 0
return -1
endif
let prevname = synIDattr(prevstack[0], "name")
" Only indent if there was actually a continuation character on
" the previous line, to avoid misleading indentation.
let prevlinelastchar = synIDattr(synID(a:lnum - 1, col([a:lnum - 1, "$"]) - 1, 1), "name")
let prev_continued = prevlinelastchar == "bbContinue"
" Did the previous line introduce an assignment?
if index(["bbVarDef", "bbVarFlagDef"], prevname) != -1
if prev_continued
return shiftwidth()
endif
endif
if !prev_continued
return 0
endif
" Autoindent can take it from here
return -1
endif
if index(["bbPyDefRegion", "bbPyFuncRegion"], name) != -1
let ret = GetPythonIndent(a:lnum)
" Should normally always be indented by at least one shiftwidth; but allow
" return of -1 (defer to autoindent) or -2 (force indent to 0)
if ret == 0
return shiftwidth()
elseif ret == -2
return 0
endif
return ret
endif
" TODO: GetShIndent doesn't detect tasks prepended with 'fakeroot'
" Need to submit a patch upstream to Vim to provide an extension point.
" Unlike the Python indenter, the Sh indenter is way too large to copy and
" modify here.
if name == "bbShFuncRegion"
return GetShIndent()
endif
" TODO:
" + heuristics for de-denting out of a bbPyDefRegion? e.g. when the user
" types an obvious BB keyword like addhandler or addtask, or starts
" writing a shell task. Maybe too hard to implement...
return -1
endfunction

14
bitbake/contrib/vim/plugin/newbb.vim Normal file → Executable file
View File

@@ -10,7 +10,7 @@
"
" Will try to use git to find the user name and email
if &compatible || v:version < 600 || exists("b:loaded_bitbake_plugin")
if &compatible || v:version < 600
finish
endif
@@ -25,7 +25,7 @@ endfun
fun! <SID>GetUserEmail()
let l:user_email = system("git config --get user.email")
if v:shell_error
return "unknown@user.org"
return "unknow@user.org"
else
return substitute(l:user_email, "\n", "", "")
endfun
@@ -41,10 +41,6 @@ fun! BBHeader()
endfun
fun! NewBBTemplate()
if line2byte(line('$') + 1) != -1
return
endif
let l:paste = &paste
set nopaste
@@ -52,7 +48,7 @@ fun! NewBBTemplate()
call BBHeader()
" New the bb template
put ='SUMMARY = \"\"'
put ='DESCRIPTION = \"\"'
put ='HOMEPAGE = \"\"'
put ='LICENSE = \"\"'
put ='SECTION = \"\"'
@@ -62,7 +58,7 @@ fun! NewBBTemplate()
" Go to the first place to edit
0
/^SUMMARY =/
/^DESCRIPTION =/
exec "normal 2f\""
if paste == 1
@@ -80,7 +76,7 @@ if v:progname =~ "vimdiff"
endif
augroup NewBB
au BufNewFile,BufReadPost *.bb
au BufNewFile *.bb
\ if g:bb_create_on_empty |
\ call NewBBTemplate() |
\ endif

View File

@@ -1,46 +0,0 @@
" Vim plugin file
" Purpose: Create a template for new bbappend file
" Author: Joshua Watt <JPEWhacker@gmail.com>
" Copyright: Copyright (C) 2017 Joshua Watt <JPEWhacker@gmail.com>
"
" This file is licensed under the MIT license, see COPYING.MIT in
" this source distribution for the terms.
"
if &compatible || v:version < 600 || exists("b:loaded_bitbake_plugin")
finish
endif
fun! NewBBAppendTemplate()
if line2byte(line('$') + 1) != -1
return
endif
let l:paste = &paste
set nopaste
" New bbappend template
0 put ='FILESEXTRAPATHS_prepend := \"${THISDIR}/${PN}:\"'
2
if paste == 1
set paste
endif
endfun
if !exists("g:bb_create_on_empty")
let g:bb_create_on_empty = 1
endif
" disable in case of vimdiff
if v:progname =~ "vimdiff"
let g:bb_create_on_empty = 0
endif
augroup NewBBAppend
au BufNewFile,BufReadPost *.bbappend
\ if g:bb_create_on_empty |
\ call NewBBAppendTemplate() |
\ endif
augroup END

View File

@@ -12,7 +12,7 @@
"
" It's an entirely new type, just has specific syntax in shell and python code
if &compatible || v:version < 600 || exists("b:loaded_bitbake_plugin")
if &compatible || v:version < 600
finish
endif
if exists("b:current_syntax")
@@ -58,8 +58,8 @@ syn match bbVarValue ".*$" contained contains=bbString,bbVarDeref,bbV
syn region bbVarPyValue start=+${@+ skip=+\\$+ end=+}+ contained contains=@python
" Vars metadata flags
syn match bbVarFlagDef "^\([a-zA-Z0-9\-_\.]\+\)\(\[[a-zA-Z0-9\-_\.+]\+\]\)\@=" contains=bbIdentifier nextgroup=bbVarFlagFlag
syn region bbVarFlagFlag matchgroup=bbArrayBrackets start="\[" end="\]\s*\(:=\|=\|.=\|=.|+=\|=+\|?=\)\@=" contained contains=bbIdentifier nextgroup=bbVarEq
syn match bbVarFlagDef "^\([a-zA-Z0-9\-_\.]\+\)\(\[[a-zA-Z0-9\-_\.]\+\]\)\@=" contains=bbIdentifier nextgroup=bbVarFlagFlag
syn region bbVarFlagFlag matchgroup=bbArrayBrackets start="\[" end="\]\s*\(=\|+=\|=+\|?=\)\@=" contained contains=bbIdentifier nextgroup=bbVarEq
" Includes and requires
syn keyword bbInclude inherit include require contained
@@ -67,15 +67,15 @@ syn match bbIncludeRest ".*$" contained contains=bbString,bbVarDeref
syn match bbIncludeLine "^\(inherit\|include\|require\)\s\+" contains=bbInclude nextgroup=bbIncludeRest
" Add taks and similar
syn keyword bbStatement addtask deltask addhandler after before EXPORT_FUNCTIONS contained
syn keyword bbStatement addtask addhandler after before EXPORT_FUNCTIONS contained
syn match bbStatementRest ".*$" skipwhite contained contains=bbStatement
syn match bbStatementLine "^\(addtask\|deltask\|addhandler\|after\|before\|EXPORT_FUNCTIONS\)\s\+" contains=bbStatement nextgroup=bbStatementRest
syn match bbStatementLine "^\(addtask\|addhandler\|after\|before\|EXPORT_FUNCTIONS\)\s\+" contains=bbStatement nextgroup=bbStatementRest
" OE Important Functions
syn keyword bbOEFunctions do_fetch do_unpack do_patch do_configure do_compile do_stage do_install do_package contained
" Generic Functions
syn match bbFunction "\h[0-9A-Za-z_\-\.]*" display contained contains=bbOEFunctions
syn match bbFunction "\h[0-9A-Za-z_-]*" display contained contains=bbOEFunctions
" BitBake shell metadata
syn include @shell syntax/sh.vim
@@ -83,7 +83,7 @@ if exists("b:current_syntax")
unlet b:current_syntax
endif
syn keyword bbShFakeRootFlag fakeroot contained
syn match bbShFuncDef "^\(fakeroot\s*\)\?\([\.0-9A-Za-z_${}\-\.]\+\)\(python\)\@<!\(\s*()\s*\)\({\)\@=" contains=bbShFakeRootFlag,bbFunction,bbVarDeref,bbDelimiter nextgroup=bbShFuncRegion skipwhite
syn match bbShFuncDef "^\(fakeroot\s*\)\?\([0-9A-Za-z_${}-]\+\)\(python\)\@<!\(\s*()\s*\)\({\)\@=" contains=bbShFakeRootFlag,bbFunction,bbVarDeref,bbDelimiter nextgroup=bbShFuncRegion skipwhite
syn region bbShFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" contained contains=@shell
" Python value inside shell functions
@@ -91,7 +91,7 @@ syn region shDeref start=+${@+ skip=+\\$+ excludenl end=+}+ contained co
" BitBake python metadata
syn keyword bbPyFlag python contained
syn match bbPyFuncDef "^\(fakeroot\s*\)\?\(python\)\(\s\+[0-9A-Za-z_${}\-\.]\+\)\?\(\s*()\s*\)\({\)\@=" contains=bbShFakeRootFlag,bbPyFlag,bbFunction,bbVarDeref,bbDelimiter nextgroup=bbPyFuncRegion skipwhite
syn match bbPyFuncDef "^\(python\s\+\)\([0-9A-Za-z_${}-]\+\)\?\(\s*()\s*\)\({\)\@=" contains=bbPyFlag,bbFunction,bbVarDeref,bbDelimiter nextgroup=bbPyFuncRegion skipwhite
syn region bbPyFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" contained contains=@python
" BitBake 'def'd python functions

View File

@@ -1 +0,0 @@
_build/

View File

@@ -1,35 +1,91 @@
# Minimal makefile for Sphinx documentation
# This is a single Makefile to handle all generated BitBake documents.
# The Makefile needs to live in the documentation directory and all figures used
# in any manuals must be .PNG files and live in the individual book's figures
# directory.
#
# The Makefile has these targets:
#
# pdf: generates a PDF version of a manual.
# html: generates an HTML version of a manual.
# tarball: creates a tarball for the doc files.
# validate: validates
# clean: removes files
#
# The Makefile generates an HTML version of every document. The
# variable DOC indicates the folder name for a given manual.
#
# To build a manual, you must invoke 'make' with the DOC argument.
#
# Examples:
#
# make DOC=bitbake-user-manual
# make pdf DOC=bitbake-user-manual
#
# The first example generates the HTML version of the User Manual.
# The second example generates the PDF version of the User Manual.
#
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?= -j auto
SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = _build
DESTDIR = final
ifeq ($(DOC),bitbake-user-manual)
XSLTOPTS = --stringparam html.stylesheet bitbake-user-manual-style.css \
--stringparam chapter.autolabel 1 \
--stringparam section.autolabel 1 \
--stringparam section.label.includes.component.label 1 \
--xinclude
ALLPREQ = html tarball
TARFILES = bitbake-user-manual-style.css bitbake-user-manual.html figures/bitbake-title.png
MANUALS = $(DOC)/$(DOC).html
FIGURES = figures
STYLESHEET = $(DOC)/*.css
ifeq ($(shell if which $(SPHINXBUILD) >/dev/null 2>&1; then echo 1; else echo 0; fi),0)
$(error "The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed")
endif
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
##
# These URI should be rewritten by your distribution's xml catalog to
# match your localy installed XSL stylesheets.
XSL_BASE_URI = http://docbook.sourceforge.net/release/xsl/current
XSL_XHTML_URI = $(XSL_BASE_URI)/xhtml/docbook.xsl
.PHONY: help Makefile clean publish
all: $(ALLPREQ)
publish: Makefile html singlehtml
rm -rf $(BUILDDIR)/$(DESTDIR)/
mkdir -p $(BUILDDIR)/$(DESTDIR)/
cp -r $(BUILDDIR)/html/* $(BUILDDIR)/$(DESTDIR)/
cp $(BUILDDIR)/singlehtml/index.html $(BUILDDIR)/$(DESTDIR)/singleindex.html
sed -i -e 's@index.html#@singleindex.html#@g' $(BUILDDIR)/$(DESTDIR)/singleindex.html
pdf:
ifeq ($(DOC),bitbake-user-manual)
@echo " "
@echo "********** Building."$(DOC)
@echo " "
cd $(DOC); ../tools/docbook-to-pdf $(DOC).xml ../template; cd ..
endif
html:
ifeq ($(DOC),bitbake-user-manual)
# See http://www.sagehill.net/docbookxsl/HtmlOutput.html
@echo " "
@echo "******** Building "$(DOC)
@echo " "
cd $(DOC); xsltproc $(XSLTOPTS) -o $(DOC).html $(DOC)-customization.xsl $(DOC).xml; cd ..
endif
tarball: html
@echo " "
@echo "******** Creating Tarball of document files"
@echo " "
cd $(DOC); tar -cvzf $(DOC).tgz $(TARFILES); cd ..
validate:
cd $(DOC); xmllint --postvalid --xinclude --noout $(DOC).xml; cd ..
publish:
@if test -f $(DOC)/$(DOC).html; \
then \
echo " "; \
echo "******** Publishing "$(DOC)".html"; \
echo " "; \
scp -r $(MANUALS) $(STYLESHEET) docs.yp:/var/www/www.yoctoproject.org-docs/$(VER)/$(DOC); \
cd $(DOC); scp -r $(FIGURES) docs.yp:/var/www/www.yoctoproject.org-docs/$(VER)/$(DOC); \
else \
echo " "; \
echo $(DOC)".html missing. Generate the file first then try again."; \
echo " "; \
fi
clean:
@rm -rf $(BUILDDIR)
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
rm -rf $(MANUALS); rm $(DOC)/$(DOC).tgz;

View File

@@ -15,41 +15,25 @@ Each folder is self-contained regarding content and figures.
If you want to find HTML versions of the BitBake manuals on the web,
go to http://www.openembedded.org/wiki/Documentation.
Sphinx
======
Makefile
========
The BitBake documentation was migrated from the original DocBook
format to Sphinx based documentation for the Yocto Project 3.2
release.
The Makefile processes manual directories to create HTML, PDF,
tarballs, etc. Details on how the Makefile work are documented
inside the Makefile. See that file for more information.
Additional information related to the Sphinx migration, and guidelines
for developers willing to contribute to the BitBake documentation can
be found in the Yocto Project Documentation README file:
To build a manual, you run the make command and pass it the name
of the folder containing the manual's contents.
For example, the following command run from the documentation directory
creates an HTML and a PDF version of the BitBake User Manual.
The DOC variable specifies the manual you are making:
https://git.yoctoproject.org/cgit/cgit.cgi/yocto-docs/tree/documentation/README
$ make DOC=bitbake-user-manual
How to build the Yocto Project documentation
============================================
template
========
Contains various templates, fonts, and some old PNG files.
Sphinx is written in Python. While it might work with Python2, for
obvious reasons, we will only support building the BitBake
documentation with Python3.
Sphinx might be available in your Linux distro packages repositories,
however it is not recommend using distro packages, as they might be
old versions, especially if you are using an LTS version of your
distro. The recommended method to install Sphinx and all required
dependencies is to use the Python Package Index (pip).
To install all required packages run:
$ pip3 install sphinx sphinx_rtd_theme pyyaml
To build the documentation locally, run:
$ cd documentation
$ make -f Makefile.sphinx html
The resulting HTML index page will be _build/html/index.html, and you
can browse your own copy of the locally generated documentation with
your browser.
tools
=====
Contains a tool to convert the DocBook files to PDF format.

View File

@@ -1,14 +0,0 @@
{% extends "!breadcrumbs.html" %}
{% block breadcrumbs %}
<li>
<span class="doctype_switcher_placeholder">{{ doctype or 'single' }}</span>
<span class="version_switcher_placeholder">{{ release }}</span>
</li>
<li> &raquo;</li>
{% for doc in parents %}
<li><a href="{{ doc.link|e }}">{{ doc.title }}</a> &raquo;</li>
{% endfor %}
<li>{{ title }}</li>
{% endblock %}

View File

@@ -1,7 +0,0 @@
{% extends "!layout.html" %}
{% block extrabody %}
<div id="outdated-warning" style="text-align: center; background-color: #FFBABA; color: #6A0E0E;">
</div>
{% endblock %}

View File

@@ -0,0 +1,29 @@
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0">
<xsl:import href="http://downloads.yoctoproject.org/mirror/docbook-mirror/docbook-xsl-1.76.1/xhtml/docbook.xsl" />
<!--
<xsl:import href="../template/1.76.1/docbook-xsl-1.76.1/xhtml/docbook.xsl" />
<xsl:import href="http://docbook.sourceforge.net/release/xsl/1.76.1/xhtml/docbook.xsl" />
-->
<xsl:include href="../template/permalinks.xsl"/>
<xsl:include href="../template/section.title.xsl"/>
<xsl:include href="../template/component.title.xsl"/>
<xsl:include href="../template/division.title.xsl"/>
<xsl:include href="../template/formal.object.heading.xsl"/>
<xsl:include href="../template/gloss-permalinks.xsl"/>
<xsl:param name="html.stylesheet" select="'user-manual-style.css'" />
<xsl:param name="chapter.autolabel" select="1" />
<xsl:param name="section.autolabel" select="1" />
<xsl:param name="section.label.includes.component.label" select="1" />
<xsl:param name="appendix.autolabel">A</xsl:param>
<!-- <xsl:param name="generate.toc" select="'article nop'"></xsl:param> -->
</xsl:stylesheet>

View File

@@ -1,733 +0,0 @@
.. SPDX-License-Identifier: CC-BY-2.5
=========
Execution
=========
|
The primary purpose for running BitBake is to produce some kind of
output such as a single installable package, a kernel, a software
development kit, or even a full, board-specific bootable Linux image,
complete with bootloader, kernel, and root filesystem. Of course, you
can execute the ``bitbake`` command with options that cause it to
execute single tasks, compile single recipe files, capture or clear
data, or simply return information about the execution environment.
This chapter describes BitBake's execution process from start to finish
when you use it to create an image. The execution process is launched
using the following command form: ::
$ bitbake target
For information on
the BitBake command and its options, see ":ref:`The BitBake Command
<bitbake-user-manual-command>`" section.
.. note::
Prior to executing BitBake, you should take advantage of available
parallel thread execution on your build host by setting the
:term:`BB_NUMBER_THREADS` variable in
your project's ``local.conf`` configuration file.
A common method to determine this value for your build host is to run
the following: ::
$ grep processor /proc/cpuinfo
This command returns
the number of processors, which takes into account hyper-threading.
Thus, a quad-core build host with hyper-threading most likely shows
eight processors, which is the value you would then assign to
``BB_NUMBER_THREADS``.
A possibly simpler solution is that some Linux distributions (e.g.
Debian and Ubuntu) provide the ``ncpus`` command.
Parsing the Base Configuration Metadata
=======================================
The first thing BitBake does is parse base configuration metadata. Base
configuration metadata consists of your project's ``bblayers.conf`` file
to determine what layers BitBake needs to recognize, all necessary
``layer.conf`` files (one from each layer), and ``bitbake.conf``. The
data itself is of various types:
- **Recipes:** Details about particular pieces of software.
- **Class Data:** An abstraction of common build information (e.g. how to
build a Linux kernel).
- **Configuration Data:** Machine-specific settings, policy decisions,
and so forth. Configuration data acts as the glue to bind everything
together.
The ``layer.conf`` files are used to construct key variables such as
:term:`BBPATH` and :term:`BBFILES`.
``BBPATH`` is used to search for configuration and class files under the
``conf`` and ``classes`` directories, respectively. ``BBFILES`` is used
to locate both recipe and recipe append files (``.bb`` and
``.bbappend``). If there is no ``bblayers.conf`` file, it is assumed the
user has set the ``BBPATH`` and ``BBFILES`` directly in the environment.
Next, the ``bitbake.conf`` file is located using the ``BBPATH`` variable
that was just constructed. The ``bitbake.conf`` file may also include
other configuration files using the ``include`` or ``require``
directives.
Prior to parsing configuration files, BitBake looks at certain
variables, including:
- :term:`BB_ENV_WHITELIST`
- :term:`BB_ENV_EXTRAWHITE`
- :term:`BB_PRESERVE_ENV`
- :term:`BB_ORIGENV`
- :term:`BITBAKE_UI`
The first four variables in this list relate to how BitBake treats shell
environment variables during task execution. By default, BitBake cleans
the environment variables and provides tight control over the shell
execution environment. However, through the use of these first four
variables, you can apply your control regarding the environment
variables allowed to be used by BitBake in the shell during execution of
tasks. See the
":ref:`bitbake-user-manual/bitbake-user-manual-metadata:Passing Information Into the Build Task Environment`"
section and the information about these variables in the variable
glossary for more information on how they work and on how to use them.
The base configuration metadata is global and therefore affects all
recipes and tasks that are executed.
BitBake first searches the current working directory for an optional
``conf/bblayers.conf`` configuration file. This file is expected to
contain a :term:`BBLAYERS` variable that is a
space-delimited list of 'layer' directories. Recall that if BitBake
cannot find a ``bblayers.conf`` file, then it is assumed the user has
set the ``BBPATH`` and ``BBFILES`` variables directly in the
environment.
For each directory (layer) in this list, a ``conf/layer.conf`` file is
located and parsed with the :term:`LAYERDIR` variable
being set to the directory where the layer was found. The idea is these
files automatically set up :term:`BBPATH` and other
variables correctly for a given build directory.
BitBake then expects to find the ``conf/bitbake.conf`` file somewhere in
the user-specified ``BBPATH``. That configuration file generally has
include directives to pull in any other metadata such as files specific
to the architecture, the machine, the local environment, and so forth.
Only variable definitions and include directives are allowed in BitBake
``.conf`` files. Some variables directly influence BitBake's behavior.
These variables might have been set from the environment depending on
the environment variables previously mentioned or set in the
configuration files. The ":ref:`bitbake-user-manual/bitbake-user-manual-ref-variables:Variables Glossary`"
chapter presents a full list of
variables.
After parsing configuration files, BitBake uses its rudimentary
inheritance mechanism, which is through class files, to inherit some
standard classes. BitBake parses a class when the inherit directive
responsible for getting that class is encountered.
The ``base.bbclass`` file is always included. Other classes that are
specified in the configuration using the
:term:`INHERIT` variable are also included. BitBake
searches for class files in a ``classes`` subdirectory under the paths
in ``BBPATH`` in the same way as configuration files.
A good way to get an idea of the configuration files and the class files
used in your execution environment is to run the following BitBake
command: ::
$ bitbake -e > mybb.log
Examining the top of the ``mybb.log``
shows you the many configuration files and class files used in your
execution environment.
.. note::
You need to be aware of how BitBake parses curly braces. If a recipe
uses a closing curly brace within the function and the character has
no leading spaces, BitBake produces a parsing error. If you use a
pair of curly braces in a shell function, the closing curly brace
must not be located at the start of the line without leading spaces.
Here is an example that causes BitBake to produce a parsing error: ::
fakeroot create_shar() {
cat << "EOF" > ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh
usage()
{
echo "test"
###### The following "}" at the start of the line causes a parsing error ######
}
EOF
}
Writing the recipe this way avoids the error:
fakeroot create_shar() {
cat << "EOF" > ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh
usage()
{
echo "test"
###### The following "}" with a leading space at the start of the line avoids the error ######
}
EOF
}
Locating and Parsing Recipes
============================
During the configuration phase, BitBake will have set
:term:`BBFILES`. BitBake now uses it to construct a
list of recipes to parse, along with any append files (``.bbappend``) to
apply. ``BBFILES`` is a space-separated list of available files and
supports wildcards. An example would be: ::
BBFILES = "/path/to/bbfiles/*.bb /path/to/appends/*.bbappend"
BitBake parses each
recipe and append file located with ``BBFILES`` and stores the values of
various variables into the datastore.
.. note::
Append files are applied in the order they are encountered in BBFILES.
For each file, a fresh copy of the base configuration is made, then the
recipe is parsed line by line. Any inherit statements cause BitBake to
find and then parse class files (``.bbclass``) using
:term:`BBPATH` as the search path. Finally, BitBake
parses in order any append files found in ``BBFILES``.
One common convention is to use the recipe filename to define pieces of
metadata. For example, in ``bitbake.conf`` the recipe name and version
are used to set the variables :term:`PN` and
:term:`PV`: ::
PN = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
PV = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[1] or '1.0'}"
In this example, a recipe called "something_1.2.3.bb" would set
``PN`` to "something" and ``PV`` to "1.2.3".
By the time parsing is complete for a recipe, BitBake has a list of
tasks that the recipe defines and a set of data consisting of keys and
values as well as dependency information about the tasks.
BitBake does not need all of this information. It only needs a small
subset of the information to make decisions about the recipe.
Consequently, BitBake caches the values in which it is interested and
does not store the rest of the information. Experience has shown it is
faster to re-parse the metadata than to try and write it out to the disk
and then reload it.
Where possible, subsequent BitBake commands reuse this cache of recipe
information. The validity of this cache is determined by first computing
a checksum of the base configuration data (see
:term:`BB_HASHCONFIG_WHITELIST`) and
then checking if the checksum matches. If that checksum matches what is
in the cache and the recipe and class files have not changed, BitBake is
able to use the cache. BitBake then reloads the cached information about
the recipe instead of reparsing it from scratch.
Recipe file collections exist to allow the user to have multiple
repositories of ``.bb`` files that contain the same exact package. For
example, one could easily use them to make one's own local copy of an
upstream repository, but with custom modifications that one does not
want upstream. Here is an example: ::
BBFILES = "/stuff/openembedded/*/*.bb /stuff/openembedded.modified/*/*.bb"
BBFILE_COLLECTIONS = "upstream local"
BBFILE_PATTERN_upstream = "^/stuff/openembedded/"
BBFILE_PATTERN_local = "^/stuff/openembedded.modified/"
BBFILE_PRIORITY_upstream = "5" BBFILE_PRIORITY_local = "10"
.. note::
The layers mechanism is now the preferred method of collecting code.
While the collections code remains, its main use is to set layer
priorities and to deal with overlap (conflicts) between layers.
.. _bb-bitbake-providers:
Providers
=========
Assuming BitBake has been instructed to execute a target and that all
the recipe files have been parsed, BitBake starts to figure out how to
build the target. BitBake looks through the ``PROVIDES`` list for each
of the recipes. A ``PROVIDES`` list is the list of names by which the
recipe can be known. Each recipe's ``PROVIDES`` list is created
implicitly through the recipe's :term:`PN` variable and
explicitly through the recipe's :term:`PROVIDES`
variable, which is optional.
When a recipe uses ``PROVIDES``, that recipe's functionality can be
found under an alternative name or names other than the implicit ``PN``
name. As an example, suppose a recipe named ``keyboard_1.0.bb``
contained the following: ::
PROVIDES += "fullkeyboard"
The ``PROVIDES``
list for this recipe becomes "keyboard", which is implicit, and
"fullkeyboard", which is explicit. Consequently, the functionality found
in ``keyboard_1.0.bb`` can be found under two different names.
.. _bb-bitbake-preferences:
Preferences
===========
The ``PROVIDES`` list is only part of the solution for figuring out a
target's recipes. Because targets might have multiple providers, BitBake
needs to prioritize providers by determining provider preferences.
A common example in which a target has multiple providers is
"virtual/kernel", which is on the ``PROVIDES`` list for each kernel
recipe. Each machine often selects the best kernel provider by using a
line similar to the following in the machine configuration file: ::
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
The default :term:`PREFERRED_PROVIDER` is the provider
with the same name as the target. BitBake iterates through each target
it needs to build and resolves them and their dependencies using this
process.
Understanding how providers are chosen is made complicated by the fact
that multiple versions might exist for a given provider. BitBake
defaults to the highest version of a provider. Version comparisons are
made using the same method as Debian. You can use the
:term:`PREFERRED_VERSION` variable to
specify a particular version. You can influence the order by using the
:term:`DEFAULT_PREFERENCE` variable.
By default, files have a preference of "0". Setting
``DEFAULT_PREFERENCE`` to "-1" makes the recipe unlikely to be used
unless it is explicitly referenced. Setting ``DEFAULT_PREFERENCE`` to
"1" makes it likely the recipe is used. ``PREFERRED_VERSION`` overrides
any ``DEFAULT_PREFERENCE`` setting. ``DEFAULT_PREFERENCE`` is often used
to mark newer and more experimental recipe versions until they have
undergone sufficient testing to be considered stable.
When there are multiple "versions" of a given recipe, BitBake defaults
to selecting the most recent version, unless otherwise specified. If the
recipe in question has a
:term:`DEFAULT_PREFERENCE` set lower than
the other recipes (default is 0), then it will not be selected. This
allows the person or persons maintaining the repository of recipe files
to specify their preference for the default selected version.
Additionally, the user can specify their preferred version.
If the first recipe is named ``a_1.1.bb``, then the
:term:`PN` variable will be set to "a", and the
:term:`PV` variable will be set to 1.1.
Thus, if a recipe named ``a_1.2.bb`` exists, BitBake will choose 1.2 by
default. However, if you define the following variable in a ``.conf``
file that BitBake parses, you can change that preference: ::
PREFERRED_VERSION_a = "1.1"
.. note::
It is common for a recipe to provide two versions -- a stable,
numbered (and preferred) version, and a version that is automatically
checked out from a source code repository that is considered more
"bleeding edge" but can be selected only explicitly.
For example, in the OpenEmbedded codebase, there is a standard,
versioned recipe file for BusyBox, ``busybox_1.22.1.bb``, but there
is also a Git-based version, ``busybox_git.bb``, which explicitly
contains the line ::
DEFAULT_PREFERENCE = "-1"
to ensure that the
numbered, stable version is always preferred unless the developer
selects otherwise.
.. _bb-bitbake-dependencies:
Dependencies
============
Each target BitBake builds consists of multiple tasks such as ``fetch``,
``unpack``, ``patch``, ``configure``, and ``compile``. For best
performance on multi-core systems, BitBake considers each task as an
independent entity with its own set of dependencies.
Dependencies are defined through several variables. You can find
information about variables BitBake uses in the
:doc:`bitbake-user-manual-ref-variables` near the end of this manual. At a
basic level, it is sufficient to know that BitBake uses the
:term:`DEPENDS` and
:term:`RDEPENDS` variables when calculating
dependencies.
For more information on how BitBake handles dependencies, see the
:ref:`bitbake-user-manual/bitbake-user-manual-metadata:Dependencies`
section.
.. _ref-bitbake-tasklist:
The Task List
=============
Based on the generated list of providers and the dependency information,
BitBake can now calculate exactly what tasks it needs to run and in what
order it needs to run them. The
:ref:`bitbake-user-manual/bitbake-user-manual-execution:executing tasks`
section has more information on how BitBake chooses which task to
execute next.
The build now starts with BitBake forking off threads up to the limit
set in the :term:`BB_NUMBER_THREADS`
variable. BitBake continues to fork threads as long as there are tasks
ready to run, those tasks have all their dependencies met, and the
thread threshold has not been exceeded.
It is worth noting that you can greatly speed up the build time by
properly setting the ``BB_NUMBER_THREADS`` variable.
As each task completes, a timestamp is written to the directory
specified by the :term:`STAMP` variable. On subsequent
runs, BitBake looks in the build directory within ``tmp/stamps`` and
does not rerun tasks that are already completed unless a timestamp is
found to be invalid. Currently, invalid timestamps are only considered
on a per recipe file basis. So, for example, if the configure stamp has
a timestamp greater than the compile timestamp for a given target, then
the compile task would rerun. Running the compile task again, however,
has no effect on other providers that depend on that target.
The exact format of the stamps is partly configurable. In modern
versions of BitBake, a hash is appended to the stamp so that if the
configuration changes, the stamp becomes invalid and the task is
automatically rerun. This hash, or signature used, is governed by the
signature policy that is configured (see the
:ref:`bitbake-user-manual/bitbake-user-manual-execution:checksums (signatures)`
section for information). It is also
possible to append extra metadata to the stamp using the
``[stamp-extra-info]`` task flag. For example, OpenEmbedded uses this
flag to make some tasks machine-specific.
.. note::
Some tasks are marked as "nostamp" tasks. No timestamp file is
created when these tasks are run. Consequently, "nostamp" tasks are
always rerun.
For more information on tasks, see the
:ref:`bitbake-user-manual/bitbake-user-manual-metadata:tasks` section.
Executing Tasks
===============
Tasks can be either a shell task or a Python task. For shell tasks,
BitBake writes a shell script to
``${``\ :term:`T`\ ``}/run.do_taskname.pid`` and then
executes the script. The generated shell script contains all the
exported variables, and the shell functions with all variables expanded.
Output from the shell script goes to the file
``${T}/log.do_taskname.pid``. Looking at the expanded shell functions in
the run file and the output in the log files is a useful debugging
technique.
For Python tasks, BitBake executes the task internally and logs
information to the controlling terminal. Future versions of BitBake will
write the functions to files similar to the way shell tasks are handled.
Logging will be handled in a way similar to shell tasks as well.
The order in which BitBake runs the tasks is controlled by its task
scheduler. It is possible to configure the scheduler and define custom
implementations for specific use cases. For more information, see these
variables that control the behavior:
- :term:`BB_SCHEDULER`
- :term:`BB_SCHEDULERS`
It is possible to have functions run before and after a task's main
function. This is done using the ``[prefuncs]`` and ``[postfuncs]``
flags of the task that lists the functions to run.
.. _checksums:
Checksums (Signatures)
======================
A checksum is a unique signature of a task's inputs. The signature of a
task can be used to determine if a task needs to be run. Because it is a
change in a task's inputs that triggers running the task, BitBake needs
to detect all the inputs to a given task. For shell tasks, this turns
out to be fairly easy because BitBake generates a "run" shell script for
each task and it is possible to create a checksum that gives you a good
idea of when the task's data changes.
To complicate the problem, some things should not be included in the
checksum. First, there is the actual specific build path of a given task
- the working directory. It does not matter if the working directory
changes because it should not affect the output for target packages. The
simplistic approach for excluding the working directory is to set it to
some fixed value and create the checksum for the "run" script. BitBake
goes one step better and uses the
:term:`BB_HASHBASE_WHITELIST` variable
to define a list of variables that should never be included when
generating the signatures.
Another problem results from the "run" scripts containing functions that
might or might not get called. The incremental build solution contains
code that figures out dependencies between shell functions. This code is
used to prune the "run" scripts down to the minimum set, thereby
alleviating this problem and making the "run" scripts much more readable
as a bonus.
So far we have solutions for shell scripts. What about Python tasks? The
same approach applies even though these tasks are more difficult. The
process needs to figure out what variables a Python function accesses
and what functions it calls. Again, the incremental build solution
contains code that first figures out the variable and function
dependencies, and then creates a checksum for the data used as the input
to the task.
Like the working directory case, situations exist where dependencies
should be ignored. For these cases, you can instruct the build process
to ignore a dependency by using a line like the following: ::
PACKAGE_ARCHS[vardepsexclude] = "MACHINE"
This example ensures that the
``PACKAGE_ARCHS`` variable does not depend on the value of ``MACHINE``,
even if it does reference it.
Equally, there are cases where we need to add dependencies BitBake is
not able to find. You can accomplish this by using a line like the
following: ::
PACKAGE_ARCHS[vardeps] = "MACHINE"
This example explicitly
adds the ``MACHINE`` variable as a dependency for ``PACKAGE_ARCHS``.
Consider a case with in-line Python, for example, where BitBake is not
able to figure out dependencies. When running in debug mode (i.e. using
``-DDD``), BitBake produces output when it discovers something for which
it cannot figure out dependencies.
Thus far, this section has limited discussion to the direct inputs into
a task. Information based on direct inputs is referred to as the
"basehash" in the code. However, there is still the question of a task's
indirect inputs - the things that were already built and present in the
build directory. The checksum (or signature) for a particular task needs
to add the hashes of all the tasks on which the particular task depends.
Choosing which dependencies to add is a policy decision. However, the
effect is to generate a master checksum that combines the basehash and
the hashes of the task's dependencies.
At the code level, there are a variety of ways both the basehash and the
dependent task hashes can be influenced. Within the BitBake
configuration file, we can give BitBake some extra information to help
it construct the basehash. The following statement effectively results
in a list of global variable dependency excludes - variables never
included in any checksum. This example uses variables from OpenEmbedded
to help illustrate the concept: ::
BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR \
SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL \
USER FILESPATH STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE PRSERV_HOST \
PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN PARALLEL_MAKE \
CCACHE_DIR EXTERNAL_TOOLCHAIN CCACHE CCACHE_DISABLE LICENSE_PATH SDKPKGSUFFIX"
The previous example excludes the work directory, which is part of
``TMPDIR``.
The rules for deciding which hashes of dependent tasks to include
through dependency chains are more complex and are generally
accomplished with a Python function. The code in
``meta/lib/oe/sstatesig.py`` shows two examples of this and also
illustrates how you can insert your own policy into the system if so
desired. This file defines the two basic signature generators
OpenEmbedded-Core uses: "OEBasic" and "OEBasicHash". By default, there
is a dummy "noop" signature handler enabled in BitBake. This means that
behavior is unchanged from previous versions. ``OE-Core`` uses the
"OEBasicHash" signature handler by default through this setting in the
``bitbake.conf`` file: ::
BB_SIGNATURE_HANDLER ?= "OEBasicHash"
The "OEBasicHash" ``BB_SIGNATURE_HANDLER`` is the same as the "OEBasic"
version but adds the task hash to the stamp files. This results in any
metadata change that changes the task hash, automatically causing the
task to be run again. This removes the need to bump
:term:`PR` values, and changes to metadata automatically
ripple across the build.
It is also worth noting that the end result of these signature
generators is to make some dependency and hash information available to
the build. This information includes:
- ``BB_BASEHASH_task-``\ *taskname*: The base hashes for each task in the
recipe.
- ``BB_BASEHASH_``\ *filename:taskname*: The base hashes for each
dependent task.
- ``BBHASHDEPS_``\ *filename:taskname*: The task dependencies for
each task.
- ``BB_TASKHASH``: The hash of the currently running task.
It is worth noting that BitBake's "-S" option lets you debug BitBake's
processing of signatures. The options passed to -S allow different
debugging modes to be used, either using BitBake's own debug functions
or possibly those defined in the metadata/signature handler itself. The
simplest parameter to pass is "none", which causes a set of signature
information to be written out into ``STAMPS_DIR`` corresponding to the
targets specified. The other currently available parameter is
"printdiff", which causes BitBake to try to establish the closest
signature match it can (e.g. in the sstate cache) and then run
``bitbake-diffsigs`` over the matches to determine the stamps and delta
where these two stamp trees diverge.
.. note::
It is likely that future versions of BitBake will provide other
signature handlers triggered through additional "-S" parameters.
You can find more information on checksum metadata in the
:ref:`bitbake-user-manual/bitbake-user-manual-metadata:task checksums and setscene`
section.
Setscene
========
The setscene process enables BitBake to handle "pre-built" artifacts.
The ability to handle and reuse these artifacts allows BitBake the
luxury of not having to build something from scratch every time.
Instead, BitBake can use, when possible, existing build artifacts.
BitBake needs to have reliable data indicating whether or not an
artifact is compatible. Signatures, described in the previous section,
provide an ideal way of representing whether an artifact is compatible.
If a signature is the same, an object can be reused.
If an object can be reused, the problem then becomes how to replace a
given task or set of tasks with the pre-built artifact. BitBake solves
the problem with the "setscene" process.
When BitBake is asked to build a given target, before building anything,
it first asks whether cached information is available for any of the
targets it's building, or any of the intermediate targets. If cached
information is available, BitBake uses this information instead of
running the main tasks.
BitBake first calls the function defined by the
:term:`BB_HASHCHECK_FUNCTION` variable
with a list of tasks and corresponding hashes it wants to build. This
function is designed to be fast and returns a list of the tasks for
which it believes in can obtain artifacts.
Next, for each of the tasks that were returned as possibilities, BitBake
executes a setscene version of the task that the possible artifact
covers. Setscene versions of a task have the string "_setscene" appended
to the task name. So, for example, the task with the name ``xxx`` has a
setscene task named ``xxx_setscene``. The setscene version of the task
executes and provides the necessary artifacts returning either success
or failure.
As previously mentioned, an artifact can cover more than one task. For
example, it is pointless to obtain a compiler if you already have the
compiled binary. To handle this, BitBake calls the
:term:`BB_SETSCENE_DEPVALID` function for
each successful setscene task to know whether or not it needs to obtain
the dependencies of that task.
Finally, after all the setscene tasks have executed, BitBake calls the
function listed in
:term:`BB_SETSCENE_VERIFY_FUNCTION2`
with the list of tasks BitBake thinks has been "covered". The metadata
can then ensure that this list is correct and can inform BitBake that it
wants specific tasks to be run regardless of the setscene result.
You can find more information on setscene metadata in the
:ref:`bitbake-user-manual/bitbake-user-manual-metadata:task checksums and setscene`
section.
Logging
=======
In addition to the standard command line option to control how verbose
builds are when execute, bitbake also supports user defined
configuration of the `Python
logging <https://docs.python.org/3/library/logging.html>`__ facilities
through the :term:`BB_LOGCONFIG` variable. This
variable defines a json or yaml `logging
configuration <https://docs.python.org/3/library/logging.config.html>`__
that will be intelligently merged into the default configuration. The
logging configuration is merged using the following rules:
- The user defined configuration will completely replace the default
configuration if top level key ``bitbake_merge`` is set to the value
``False``. In this case, all other rules are ignored.
- The user configuration must have a top level ``version`` which must
match the value of the default configuration.
- Any keys defined in the ``handlers``, ``formatters``, or ``filters``,
will be merged into the same section in the default configuration,
with the user specified keys taking replacing a default one if there
is a conflict. In practice, this means that if both the default
configuration and user configuration specify a handler named
``myhandler``, the user defined one will replace the default. To
prevent the user from inadvertently replacing a default handler,
formatter, or filter, all of the default ones are named with a prefix
of "``BitBake.``"
- If a logger is defined by the user with the key ``bitbake_merge`` set
to ``False``, that logger will be completely replaced by user
configuration. In this case, no other rules will apply to that
logger.
- All user defined ``filter`` and ``handlers`` properties for a given
logger will be merged with corresponding properties from the default
logger. For example, if the user configuration adds a filter called
``myFilter`` to the ``BitBake.SigGen``, and the default configuration
adds a filter called ``BitBake.defaultFilter``, both filters will be
applied to the logger
As an example, consider the following user logging configuration file
which logs all Hash Equivalence related messages of VERBOSE or higher to
a file called ``hashequiv.log`` ::
{
"version": 1,
"handlers": {
"autobuilderlog": {
"class": "logging.FileHandler",
"formatter": "logfileFormatter",
"level": "DEBUG",
"filename": "hashequiv.log",
"mode": "w"
}
},
"formatters": {
"logfileFormatter": {
"format": "%(name)s: %(levelname)s: %(message)s"
}
},
"loggers": {
"BitBake.SigGen.HashEquiv": {
"level": "VERBOSE",
"handlers": ["autobuilderlog"]
},
"BitBake.RunQueue.HashEquiv": {
"level": "VERBOSE",
"handlers": ["autobuilderlog"]
}
}
}

View File

@@ -0,0 +1,932 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<chapter id="bitbake-user-manual-execution">
<title>Execution</title>
<para>
The primary purpose for running BitBake is to produce some kind
of output such as a single installable package, a kernel, a software
development kit, or even a full, board-specific bootable Linux image,
complete with bootloader, kernel, and root filesystem.
Of course, you can execute the <filename>bitbake</filename>
command with options that cause it to execute single tasks,
compile single recipe files, capture or clear data, or simply
return information about the execution environment.
</para>
<para>
This chapter describes BitBake's execution process from start
to finish when you use it to create an image.
The execution process is launched using the following command
form:
<literallayout class='monospaced'>
$ bitbake <replaceable>target</replaceable>
</literallayout>
For information on the BitBake command and its options,
see
"<link linkend='bitbake-user-manual-command'>The BitBake Command</link>"
section.
<note>
<para>
Prior to executing BitBake, you should take advantage of available
parallel thread execution on your build host by setting the
<link linkend='var-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename></link>
variable in your project's <filename>local.conf</filename>
configuration file.
</para>
<para>
A common method to determine this value for your build host is to run
the following:
<literallayout class='monospaced'>
$ grep processor /proc/cpuinfo
</literallayout>
This command returns the number of processors, which takes into
account hyper-threading.
Thus, a quad-core build host with hyper-threading most likely
shows eight processors, which is the value you would then assign to
<filename>BB_NUMBER_THREADS</filename>.
</para>
<para>
A possibly simpler solution is that some Linux distributions
(e.g. Debian and Ubuntu) provide the <filename>ncpus</filename> command.
</para>
</note>
</para>
<section id='parsing-the-base-configuration-metadata'>
<title>Parsing the Base Configuration Metadata</title>
<para>
The first thing BitBake does is parse base configuration
metadata.
Base configuration metadata consists of your project's
<filename>bblayers.conf</filename> file to determine what
layers BitBake needs to recognize, all necessary
<filename>layer.conf</filename> files (one from each layer),
and <filename>bitbake.conf</filename>.
The data itself is of various types:
<itemizedlist>
<listitem><para><emphasis>Recipes:</emphasis>
Details about particular pieces of software.
</para></listitem>
<listitem><para><emphasis>Class Data:</emphasis>
An abstraction of common build information
(e.g. how to build a Linux kernel).
</para></listitem>
<listitem><para><emphasis>Configuration Data:</emphasis>
Machine-specific settings, policy decisions,
and so forth.
Configuration data acts as the glue to bind everything
together.</para></listitem>
</itemizedlist>
</para>
<para>
The <filename>layer.conf</filename> files are used to
construct key variables such as
<link linkend='var-BBPATH'><filename>BBPATH</filename></link>
and
<link linkend='var-BBFILES'><filename>BBFILES</filename></link>.
<filename>BBPATH</filename> is used to search for
configuration and class files under the
<filename>conf</filename> and <filename>classes</filename>
directories, respectively.
<filename>BBFILES</filename> is used to locate both recipe
and recipe append files
(<filename>.bb</filename> and <filename>.bbappend</filename>).
If there is no <filename>bblayers.conf</filename> file,
it is assumed the user has set the <filename>BBPATH</filename>
and <filename>BBFILES</filename> directly in the environment.
</para>
<para>
Next, the <filename>bitbake.conf</filename> file is located
using the <filename>BBPATH</filename> variable that was
just constructed.
The <filename>bitbake.conf</filename> file may also include other
configuration files using the
<filename>include</filename> or
<filename>require</filename> directives.
</para>
<para>
Prior to parsing configuration files, Bitbake looks
at certain variables, including:
<itemizedlist>
<listitem><para>
<link linkend='var-BB_ENV_WHITELIST'><filename>BB_ENV_WHITELIST</filename></link>
</para></listitem>
<listitem><para>
<link linkend='var-BB_ENV_EXTRAWHITE'><filename>BB_ENV_EXTRAWHITE</filename></link>
</para></listitem>
<listitem><para>
<link linkend='var-BB_PRESERVE_ENV'><filename>BB_PRESERVE_ENV</filename></link>
</para></listitem>
<listitem><para>
<link linkend='var-BB_ORIGENV'><filename>BB_ORIGENV</filename></link>
</para></listitem>
<listitem><para>
<link linkend='var-BITBAKE_UI'><filename>BITBAKE_UI</filename></link>
</para></listitem>
</itemizedlist>
The first four variables in this list relate to how BitBake treats shell
environment variables during task execution.
By default, BitBake cleans the environment variables and provides tight
control over the shell execution environment.
However, through the use of these first four variables, you can
apply your control regarding the
environment variables allowed to be used by BitBake in the shell
during execution of tasks.
See the
"<link linkend='passing-information-into-the-build-task-environment'>Passing Information Into the Build Task Environment</link>"
section and the information about these variables in the
variable glossary for more information on how they work and
on how to use them.
</para>
<para>
The base configuration metadata is global
and therefore affects all recipes and tasks that are executed.
</para>
<para>
BitBake first searches the current working directory for an
optional <filename>conf/bblayers.conf</filename> configuration file.
This file is expected to contain a
<link linkend='var-BBLAYERS'><filename>BBLAYERS</filename></link>
variable that is a space-delimited list of 'layer' directories.
Recall that if BitBake cannot find a <filename>bblayers.conf</filename>
file, then it is assumed the user has set the <filename>BBPATH</filename>
and <filename>BBFILES</filename> variables directly in the environment.
</para>
<para>
For each directory (layer) in this list, a <filename>conf/layer.conf</filename>
file is located and parsed with the
<link linkend='var-LAYERDIR'><filename>LAYERDIR</filename></link>
variable being set to the directory where the layer was found.
The idea is these files automatically set up
<link linkend='var-BBPATH'><filename>BBPATH</filename></link>
and other variables correctly for a given build directory.
</para>
<para>
BitBake then expects to find the <filename>conf/bitbake.conf</filename>
file somewhere in the user-specified <filename>BBPATH</filename>.
That configuration file generally has include directives to pull
in any other metadata such as files specific to the architecture,
the machine, the local environment, and so forth.
</para>
<para>
Only variable definitions and include directives are allowed
in BitBake <filename>.conf</filename> files.
Some variables directly influence BitBake's behavior.
These variables might have been set from the environment
depending on the environment variables previously
mentioned or set in the configuration files.
The
"<link linkend='ref-variables-glos'>Variables Glossary</link>"
chapter presents a full list of variables.
</para>
<para>
After parsing configuration files, BitBake uses its rudimentary
inheritance mechanism, which is through class files, to inherit
some standard classes.
BitBake parses a class when the inherit directive responsible
for getting that class is encountered.
</para>
<para>
The <filename>base.bbclass</filename> file is always included.
Other classes that are specified in the configuration using the
<link linkend='var-INHERIT'><filename>INHERIT</filename></link>
variable are also included.
BitBake searches for class files in a
<filename>classes</filename> subdirectory under
the paths in <filename>BBPATH</filename> in the same way as
configuration files.
</para>
<para>
A good way to get an idea of the configuration files and
the class files used in your execution environment is to
run the following BitBake command:
<literallayout class='monospaced'>
$ bitbake -e > mybb.log
</literallayout>
Examining the top of the <filename>mybb.log</filename>
shows you the many configuration files and class files
used in your execution environment.
</para>
<note>
<para>
You need to be aware of how BitBake parses curly braces.
If a recipe uses a closing curly brace within the function and
the character has no leading spaces, BitBake produces a parsing
error.
If you use a pair of curly braces in a shell function, the
closing curly brace must not be located at the start of the line
without leading spaces.
</para>
<para>
Here is an example that causes BitBake to produce a parsing
error:
<literallayout class='monospaced'>
fakeroot create_shar() {
cat &lt;&lt; "EOF" &gt; ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh
usage()
{
echo "test"
###### The following "}" at the start of the line causes a parsing error ######
}
EOF
}
</literallayout>
Writing the recipe this way avoids the error:
<literallayout class='monospaced'>
fakeroot create_shar() {
cat &lt;&lt; "EOF" &gt; ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh
usage()
{
echo "test"
######The following "}" with a leading space at the start of the line avoids the error ######
}
EOF
}
</literallayout>
</para>
</note>
</section>
<section id='locating-and-parsing-recipes'>
<title>Locating and Parsing Recipes</title>
<para>
During the configuration phase, BitBake will have set
<link linkend='var-BBFILES'><filename>BBFILES</filename></link>.
BitBake now uses it to construct a list of recipes to parse,
along with any append files (<filename>.bbappend</filename>)
to apply.
<filename>BBFILES</filename> is a space-separated list of
available files and supports wildcards.
An example would be:
<literallayout class='monospaced'>
BBFILES = "/path/to/bbfiles/*.bb /path/to/appends/*.bbappend"
</literallayout>
BitBake parses each recipe and append file located
with <filename>BBFILES</filename> and stores the values of
various variables into the datastore.
<note>
Append files are applied in the order they are encountered in
<filename>BBFILES</filename>.
</note>
For each file, a fresh copy of the base configuration is
made, then the recipe is parsed line by line.
Any inherit statements cause BitBake to find and
then parse class files (<filename>.bbclass</filename>)
using
<link linkend='var-BBPATH'><filename>BBPATH</filename></link>
as the search path.
Finally, BitBake parses in order any append files found in
<filename>BBFILES</filename>.
</para>
<para>
One common convention is to use the recipe filename to define
pieces of metadata.
For example, in <filename>bitbake.conf</filename> the recipe
name and version are used to set the variables
<link linkend='var-PN'><filename>PN</filename></link> and
<link linkend='var-PV'><filename>PV</filename></link>:
<literallayout class='monospaced'>
PN = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
PV = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[1] or '1.0'}"
</literallayout>
In this example, a recipe called "something_1.2.3.bb" would set
<filename>PN</filename> to "something" and
<filename>PV</filename> to "1.2.3".
</para>
<para>
By the time parsing is complete for a recipe, BitBake
has a list of tasks that the recipe defines and a set of
data consisting of keys and values as well as
dependency information about the tasks.
</para>
<para>
BitBake does not need all of this information.
It only needs a small subset of the information to make
decisions about the recipe.
Consequently, BitBake caches the values in which it is
interested and does not store the rest of the information.
Experience has shown it is faster to re-parse the metadata than to
try and write it out to the disk and then reload it.
</para>
<para>
Where possible, subsequent BitBake commands reuse this cache of
recipe information.
The validity of this cache is determined by first computing a
checksum of the base configuration data (see
<link linkend='var-BB_HASHCONFIG_WHITELIST'><filename>BB_HASHCONFIG_WHITELIST</filename></link>)
and then checking if the checksum matches.
If that checksum matches what is in the cache and the recipe
and class files have not changed, Bitbake is able to use
the cache.
BitBake then reloads the cached information about the recipe
instead of reparsing it from scratch.
</para>
<para>
Recipe file collections exist to allow the user to
have multiple repositories of
<filename>.bb</filename> files that contain the same
exact package.
For example, one could easily use them to make one's
own local copy of an upstream repository, but with
custom modifications that one does not want upstream.
Here is an example:
<literallayout class='monospaced'>
BBFILES = "/stuff/openembedded/*/*.bb /stuff/openembedded.modified/*/*.bb"
BBFILE_COLLECTIONS = "upstream local"
BBFILE_PATTERN_upstream = "^/stuff/openembedded/"
BBFILE_PATTERN_local = "^/stuff/openembedded.modified/"
BBFILE_PRIORITY_upstream = "5"
BBFILE_PRIORITY_local = "10"
</literallayout>
<note>
The layers mechanism is now the preferred method of collecting
code.
While the collections code remains, its main use is to set layer
priorities and to deal with overlap (conflicts) between layers.
</note>
</para>
</section>
<section id='bb-bitbake-providers'>
<title>Providers</title>
<para>
Assuming BitBake has been instructed to execute a target
and that all the recipe files have been parsed, BitBake
starts to figure out how to build the target.
BitBake looks through the <filename>PROVIDES</filename> list
for each of the recipes.
A <filename>PROVIDES</filename> list is the list of names by which
the recipe can be known.
Each recipe's <filename>PROVIDES</filename> list is created
implicitly through the recipe's
<link linkend='var-PN'><filename>PN</filename></link> variable
and explicitly through the recipe's
<link linkend='var-PROVIDES'><filename>PROVIDES</filename></link>
variable, which is optional.
</para>
<para>
When a recipe uses <filename>PROVIDES</filename>, that recipe's
functionality can be found under an alternative name or names other
than the implicit <filename>PN</filename> name.
As an example, suppose a recipe named <filename>keyboard_1.0.bb</filename>
contained the following:
<literallayout class='monospaced'>
PROVIDES += "fullkeyboard"
</literallayout>
The <filename>PROVIDES</filename> list for this recipe becomes
"keyboard", which is implicit, and "fullkeyboard", which is explicit.
Consequently, the functionality found in
<filename>keyboard_1.0.bb</filename> can be found under two
different names.
</para>
</section>
<section id='bb-bitbake-preferences'>
<title>Preferences</title>
<para>
The <filename>PROVIDES</filename> list is only part of the solution
for figuring out a target's recipes.
Because targets might have multiple providers, BitBake needs
to prioritize providers by determining provider preferences.
</para>
<para>
A common example in which a target has multiple providers
is "virtual/kernel", which is on the
<filename>PROVIDES</filename> list for each kernel recipe.
Each machine often selects the best kernel provider by using a
line similar to the following in the machine configuration file:
<literallayout class='monospaced'>
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
</literallayout>
The default
<link linkend='var-PREFERRED_PROVIDER'><filename>PREFERRED_PROVIDER</filename></link>
is the provider with the same name as the target.
Bitbake iterates through each target it needs to build and
resolves them and their dependencies using this process.
</para>
<para>
Understanding how providers are chosen is made complicated by the fact
that multiple versions might exist for a given provider.
BitBake defaults to the highest version of a provider.
Version comparisons are made using the same method as Debian.
You can use the
<link linkend='var-PREFERRED_VERSION'><filename>PREFERRED_VERSION</filename></link>
variable to specify a particular version.
You can influence the order by using the
<link linkend='var-DEFAULT_PREFERENCE'><filename>DEFAULT_PREFERENCE</filename></link>
variable.
</para>
<para>
By default, files have a preference of "0".
Setting <filename>DEFAULT_PREFERENCE</filename> to "-1" makes the
recipe unlikely to be used unless it is explicitly referenced.
Setting <filename>DEFAULT_PREFERENCE</filename> to "1" makes it
likely the recipe is used.
<filename>PREFERRED_VERSION</filename> overrides any
<filename>DEFAULT_PREFERENCE</filename> setting.
<filename>DEFAULT_PREFERENCE</filename> is often used to mark newer
and more experimental recipe versions until they have undergone
sufficient testing to be considered stable.
</para>
<para>
When there are multiple “versions” of a given recipe,
BitBake defaults to selecting the most recent
version, unless otherwise specified.
If the recipe in question has a
<link linkend='var-DEFAULT_PREFERENCE'><filename>DEFAULT_PREFERENCE</filename></link>
set lower than the other recipes (default is 0), then
it will not be selected.
This allows the person or persons maintaining
the repository of recipe files to specify
their preference for the default selected version.
Additionally, the user can specify their preferred version.
</para>
<para>
If the first recipe is named <filename>a_1.1.bb</filename>, then the
<link linkend='var-PN'><filename>PN</filename></link> variable
will be set to “a”, and the
<link linkend='var-PV'><filename>PV</filename></link>
variable will be set to 1.1.
</para>
<para>
Thus, if a recipe named <filename>a_1.2.bb</filename> exists, BitBake
will choose 1.2 by default.
However, if you define the following variable in a
<filename>.conf</filename> file that BitBake parses, you
can change that preference:
<literallayout class='monospaced'>
PREFERRED_VERSION_a = "1.1"
</literallayout>
</para>
<note>
<para>
It is common for a recipe to provide two versions -- a stable,
numbered (and preferred) version, and a version that is
automatically checked out from a source code repository that
is considered more "bleeding edge" but can be selected only
explicitly.
</para>
<para>
For example, in the OpenEmbedded codebase, there is a standard,
versioned recipe file for BusyBox,
<filename>busybox_1.22.1.bb</filename>,
but there is also a Git-based version,
<filename>busybox_git.bb</filename>, which explicitly contains the line
<literallayout class='monospaced'>
DEFAULT_PREFERENCE = "-1"
</literallayout>
to ensure that the numbered, stable version is always preferred
unless the developer selects otherwise.
</para>
</note>
</section>
<section id='bb-bitbake-dependencies'>
<title>Dependencies</title>
<para>
Each target BitBake builds consists of multiple tasks such as
<filename>fetch</filename>, <filename>unpack</filename>,
<filename>patch</filename>, <filename>configure</filename>,
and <filename>compile</filename>.
For best performance on multi-core systems, BitBake considers each
task as an independent
entity with its own set of dependencies.
</para>
<para>
Dependencies are defined through several variables.
You can find information about variables BitBake uses in
the <link linkend='ref-variables-glos'>Variables Glossary</link>
near the end of this manual.
At a basic level, it is sufficient to know that BitBake uses the
<link linkend='var-DEPENDS'><filename>DEPENDS</filename></link> and
<link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link> variables when
calculating dependencies.
</para>
<para>
For more information on how BitBake handles dependencies, see the
"<link linkend='dependencies'>Dependencies</link>" section.
</para>
</section>
<section id='ref-bitbake-tasklist'>
<title>The Task List</title>
<para>
Based on the generated list of providers and the dependency information,
BitBake can now calculate exactly what tasks it needs to run and in what
order it needs to run them.
The
"<link linkend='executing-tasks'>Executing Tasks</link>" section has more
information on how BitBake chooses which task to execute next.
</para>
<para>
The build now starts with BitBake forking off threads up to the limit set in the
<link linkend='var-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename></link>
variable.
BitBake continues to fork threads as long as there are tasks ready to run,
those tasks have all their dependencies met, and the thread threshold has not been
exceeded.
</para>
<para>
It is worth noting that you can greatly speed up the build time by properly setting
the <filename>BB_NUMBER_THREADS</filename> variable.
</para>
<para>
As each task completes, a timestamp is written to the directory specified by the
<link linkend='var-STAMP'><filename>STAMP</filename></link> variable.
On subsequent runs, BitBake looks in the build directory within
<filename>tmp/stamps</filename> and does not rerun
tasks that are already completed unless a timestamp is found to be invalid.
Currently, invalid timestamps are only considered on a per
recipe file basis.
So, for example, if the configure stamp has a timestamp greater than the
compile timestamp for a given target, then the compile task would rerun.
Running the compile task again, however, has no effect on other providers
that depend on that target.
</para>
<para>
The exact format of the stamps is partly configurable.
In modern versions of BitBake, a hash is appended to the
stamp so that if the configuration changes, the stamp becomes
invalid and the task is automatically rerun.
This hash, or signature used, is governed by the signature policy
that is configured (see the
"<link linkend='checksums'>Checksums (Signatures)</link>"
section for information).
It is also possible to append extra metadata to the stamp using
the <filename>[stamp-extra-info]</filename> task flag.
For example, OpenEmbedded uses this flag to make some tasks machine-specific.
</para>
<note>
Some tasks are marked as "nostamp" tasks.
No timestamp file is created when these tasks are run.
Consequently, "nostamp" tasks are always rerun.
</note>
<para>
For more information on tasks, see the
"<link linkend='tasks'>Tasks</link>" section.
</para>
</section>
<section id='executing-tasks'>
<title>Executing Tasks</title>
<para>
Tasks can be either a shell task or a Python task.
For shell tasks, BitBake writes a shell script to
<filename>${</filename><link linkend='var-T'><filename>T</filename></link><filename>}/run.do_taskname.pid</filename>
and then executes the script.
The generated shell script contains all the exported variables,
and the shell functions with all variables expanded.
Output from the shell script goes to the file
<filename>${T}/log.do_taskname.pid</filename>.
Looking at the expanded shell functions in the run file and
the output in the log files is a useful debugging technique.
</para>
<para>
For Python tasks, BitBake executes the task internally and logs
information to the controlling terminal.
Future versions of BitBake will write the functions to files
similar to the way shell tasks are handled.
Logging will be handled in a way similar to shell tasks as well.
</para>
<para>
The order in which BitBake runs the tasks is controlled by its
task scheduler.
It is possible to configure the scheduler and define custom
implementations for specific use cases.
For more information, see these variables that control the
behavior:
<itemizedlist>
<listitem><para>
<link linkend='var-BB_SCHEDULER'><filename>BB_SCHEDULER</filename></link>
</para></listitem>
<listitem><para>
<link linkend='var-BB_SCHEDULERS'><filename>BB_SCHEDULERS</filename></link>
</para></listitem>
</itemizedlist>
It is possible to have functions run before and after a task's main
function.
This is done using the <filename>[prefuncs]</filename>
and <filename>[postfuncs]</filename> flags of the task
that lists the functions to run.
</para>
</section>
<section id='checksums'>
<title>Checksums (Signatures)</title>
<para>
A checksum is a unique signature of a task's inputs.
The signature of a task can be used to determine if a task
needs to be run.
Because it is a change in a task's inputs that triggers running
the task, BitBake needs to detect all the inputs to a given task.
For shell tasks, this turns out to be fairly easy because
BitBake generates a "run" shell script for each task and
it is possible to create a checksum that gives you a good idea of when
the task's data changes.
</para>
<para>
To complicate the problem, some things should not be included in
the checksum.
First, there is the actual specific build path of a given task -
the working directory.
It does not matter if the working directory changes because it should not
affect the output for target packages.
The simplistic approach for excluding the working directory is to set
it to some fixed value and create the checksum for the "run" script.
BitBake goes one step better and uses the
<link linkend='var-BB_HASHBASE_WHITELIST'><filename>BB_HASHBASE_WHITELIST</filename></link>
variable to define a list of variables that should never be included
when generating the signatures.
</para>
<para>
Another problem results from the "run" scripts containing functions that
might or might not get called.
The incremental build solution contains code that figures out dependencies
between shell functions.
This code is used to prune the "run" scripts down to the minimum set,
thereby alleviating this problem and making the "run" scripts much more
readable as a bonus.
</para>
<para>
So far we have solutions for shell scripts.
What about Python tasks?
The same approach applies even though these tasks are more difficult.
The process needs to figure out what variables a Python function accesses
and what functions it calls.
Again, the incremental build solution contains code that first figures out
the variable and function dependencies, and then creates a checksum for the data
used as the input to the task.
</para>
<para>
Like the working directory case, situations exist where dependencies
should be ignored.
For these cases, you can instruct the build process to ignore a dependency
by using a line like the following:
<literallayout class='monospaced'>
PACKAGE_ARCHS[vardepsexclude] = "MACHINE"
</literallayout>
This example ensures that the <filename>PACKAGE_ARCHS</filename> variable does not
depend on the value of <filename>MACHINE</filename>, even if it does reference it.
</para>
<para>
Equally, there are cases where we need to add dependencies BitBake
is not able to find.
You can accomplish this by using a line like the following:
<literallayout class='monospaced'>
PACKAGE_ARCHS[vardeps] = "MACHINE"
</literallayout>
This example explicitly adds the <filename>MACHINE</filename> variable as a
dependency for <filename>PACKAGE_ARCHS</filename>.
</para>
<para>
Consider a case with in-line Python, for example, where BitBake is not
able to figure out dependencies.
When running in debug mode (i.e. using <filename>-DDD</filename>), BitBake
produces output when it discovers something for which it cannot figure out
dependencies.
</para>
<para>
Thus far, this section has limited discussion to the direct inputs into a task.
Information based on direct inputs is referred to as the "basehash" in the
code.
However, there is still the question of a task's indirect inputs - the
things that were already built and present in the build directory.
The checksum (or signature) for a particular task needs to add the hashes
of all the tasks on which the particular task depends.
Choosing which dependencies to add is a policy decision.
However, the effect is to generate a master checksum that combines the basehash
and the hashes of the task's dependencies.
</para>
<para>
At the code level, there are a variety of ways both the basehash and the
dependent task hashes can be influenced.
Within the BitBake configuration file, we can give BitBake some extra information
to help it construct the basehash.
The following statement effectively results in a list of global variable
dependency excludes - variables never included in any checksum.
This example uses variables from OpenEmbedded to help illustrate
the concept:
<literallayout class='monospaced'>
BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR \
SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM \
USER FILESPATH STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE PRSERV_HOST \
PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN PARALLEL_MAKE \
CCACHE_DIR EXTERNAL_TOOLCHAIN CCACHE CCACHE_DISABLE LICENSE_PATH SDKPKGSUFFIX"
</literallayout>
The previous example excludes the work directory, which is part of
<filename>TMPDIR</filename>.
</para>
<para>
The rules for deciding which hashes of dependent tasks to include through
dependency chains are more complex and are generally accomplished with a
Python function.
The code in <filename>meta/lib/oe/sstatesig.py</filename> shows two examples
of this and also illustrates how you can insert your own policy into the system
if so desired.
This file defines the two basic signature generators OpenEmbedded Core
uses: "OEBasic" and "OEBasicHash".
By default, there is a dummy "noop" signature handler enabled in BitBake.
This means that behavior is unchanged from previous versions.
<filename>OE-Core</filename> uses the "OEBasicHash" signature handler by default
through this setting in the <filename>bitbake.conf</filename> file:
<literallayout class='monospaced'>
BB_SIGNATURE_HANDLER ?= "OEBasicHash"
</literallayout>
The "OEBasicHash" <filename>BB_SIGNATURE_HANDLER</filename> is the same as the
"OEBasic" version but adds the task hash to the stamp files.
This results in any metadata change that changes the task hash, automatically
causing the task to be run again.
This removes the need to bump
<link linkend='var-PR'><filename>PR</filename></link>
values, and changes to metadata automatically ripple across the build.
</para>
<para>
It is also worth noting that the end result of these signature generators is to
make some dependency and hash information available to the build.
This information includes:
<itemizedlist>
<listitem><para><filename>BB_BASEHASH_task-</filename><replaceable>taskname</replaceable>:
The base hashes for each task in the recipe.
</para></listitem>
<listitem><para><filename>BB_BASEHASH_</filename><replaceable>filename</replaceable><filename>:</filename><replaceable>taskname</replaceable>:
The base hashes for each dependent task.
</para></listitem>
<listitem><para><filename>BBHASHDEPS_</filename><replaceable>filename</replaceable><filename>:</filename><replaceable>taskname</replaceable>:
The task dependencies for each task.
</para></listitem>
<listitem><para><filename>BB_TASKHASH</filename>:
The hash of the currently running task.
</para></listitem>
</itemizedlist>
</para>
<para>
It is worth noting that BitBake's "-S" option lets you
debug Bitbake's processing of signatures.
The options passed to -S allow different debugging modes
to be used, either using BitBake's own debug functions
or possibly those defined in the metadata/signature handler
itself.
The simplest parameter to pass is "none", which causes a
set of signature information to be written out into
<filename>STAMPS_DIR</filename>
corresponding to the targets specified.
The other currently available parameter is "printdiff",
which causes BitBake to try to establish the closest
signature match it can (e.g. in the sstate cache) and then
run <filename>bitbake-diffsigs</filename> over the matches
to determine the stamps and delta where these two
stamp trees diverge.
<note>
It is likely that future versions of BitBake will
provide other signature handlers triggered through
additional "-S" parameters.
</note>
</para>
<para>
You can find more information on checksum metadata in the
"<link linkend='task-checksums-and-setscene'>Task Checksums and Setscene</link>"
section.
</para>
</section>
<section id='setscene'>
<title>Setscene</title>
<para>
The setscene process enables BitBake to handle "pre-built" artifacts.
The ability to handle and reuse these artifacts allows BitBake
the luxury of not having to build something from scratch every time.
Instead, BitBake can use, when possible, existing build artifacts.
</para>
<para>
BitBake needs to have reliable data indicating whether or not an
artifact is compatible.
Signatures, described in the previous section, provide an ideal
way of representing whether an artifact is compatible.
If a signature is the same, an object can be reused.
</para>
<para>
If an object can be reused, the problem then becomes how to
replace a given task or set of tasks with the pre-built artifact.
BitBake solves the problem with the "setscene" process.
</para>
<para>
When BitBake is asked to build a given target, before building anything,
it first asks whether cached information is available for any of the
targets it's building, or any of the intermediate targets.
If cached information is available, BitBake uses this information instead of
running the main tasks.
</para>
<para>
BitBake first calls the function defined by the
<link linkend='var-BB_HASHCHECK_FUNCTION'><filename>BB_HASHCHECK_FUNCTION</filename></link>
variable with a list of tasks and corresponding
hashes it wants to build.
This function is designed to be fast and returns a list
of the tasks for which it believes in can obtain artifacts.
</para>
<para>
Next, for each of the tasks that were returned as possibilities,
BitBake executes a setscene version of the task that the possible
artifact covers.
Setscene versions of a task have the string "_setscene" appended to the
task name.
So, for example, the task with the name <filename>xxx</filename> has
a setscene task named <filename>xxx_setscene</filename>.
The setscene version of the task executes and provides the necessary
artifacts returning either success or failure.
</para>
<para>
As previously mentioned, an artifact can cover more than one task.
For example, it is pointless to obtain a compiler if you
already have the compiled binary.
To handle this, BitBake calls the
<link linkend='var-BB_SETSCENE_DEPVALID'><filename>BB_SETSCENE_DEPVALID</filename></link>
function for each successful setscene task to know whether or not it needs
to obtain the dependencies of that task.
</para>
<para>
Finally, after all the setscene tasks have executed, BitBake calls the
function listed in
<link linkend='var-BB_SETSCENE_VERIFY_FUNCTION2'><filename>BB_SETSCENE_VERIFY_FUNCTION2</filename></link>
with the list of tasks BitBake thinks has been "covered".
The metadata can then ensure that this list is correct and can
inform BitBake that it wants specific tasks to be run regardless
of the setscene result.
</para>
<para>
You can find more information on setscene metadata in the
"<link linkend='task-checksums-and-setscene'>Task Checksums and Setscene</link>"
section.
</para>
</section>
</chapter>

View File

@@ -1,652 +0,0 @@
.. SPDX-License-Identifier: CC-BY-2.5
=====================
File Download Support
=====================
|
BitBake's fetch module is a standalone piece of library code that deals
with the intricacies of downloading source code and files from remote
systems. Fetching source code is one of the cornerstones of building
software. As such, this module forms an important part of BitBake.
The current fetch module is called "fetch2" and refers to the fact that
it is the second major version of the API. The original version is
obsolete and has been removed from the codebase. Thus, in all cases,
"fetch" refers to "fetch2" in this manual.
The Download (Fetch)
====================
BitBake takes several steps when fetching source code or files. The
fetcher codebase deals with two distinct processes in order: obtaining
the files from somewhere (cached or otherwise) and then unpacking those
files into a specific location and perhaps in a specific way. Getting
and unpacking the files is often optionally followed by patching.
Patching, however, is not covered by this module.
The code to execute the first part of this process, a fetch, looks
something like the following: ::
src_uri = (d.getVar('SRC_URI') or "").split()
fetcher = bb.fetch2.Fetch(src_uri, d)
fetcher.download()
This code sets up an instance of the fetch class. The instance uses a
space-separated list of URLs from the :term:`SRC_URI`
variable and then calls the ``download`` method to download the files.
The instantiation of the fetch class is usually followed by: ::
rootdir = l.getVar('WORKDIR')
fetcher.unpack(rootdir)
This code unpacks the downloaded files to the specified by ``WORKDIR``.
.. note::
For convenience, the naming in these examples matches the variables
used by OpenEmbedded. If you want to see the above code in action,
examine the OpenEmbedded class file ``base.bbclass``
.
The ``SRC_URI`` and ``WORKDIR`` variables are not hardcoded into the
fetcher, since those fetcher methods can be (and are) called with
different variable names. In OpenEmbedded for example, the shared state
(sstate) code uses the fetch module to fetch the sstate files.
When the ``download()`` method is called, BitBake tries to resolve the
URLs by looking for source files in a specific search order:
- *Pre-mirror Sites:* BitBake first uses pre-mirrors to try and find
source files. These locations are defined using the
:term:`PREMIRRORS` variable.
- *Source URI:* If pre-mirrors fail, BitBake uses the original URL (e.g
from ``SRC_URI``).
- *Mirror Sites:* If fetch failures occur, BitBake next uses mirror
locations as defined by the :term:`MIRRORS` variable.
For each URL passed to the fetcher, the fetcher calls the submodule that
handles that particular URL type. This behavior can be the source of
some confusion when you are providing URLs for the ``SRC_URI`` variable.
Consider the following two URLs: ::
http://git.yoctoproject.org/git/poky;protocol=git
git://git.yoctoproject.org/git/poky;protocol=http
In the former case, the URL is passed to the ``wget`` fetcher, which does not
understand "git". Therefore, the latter case is the correct form since the Git
fetcher does know how to use HTTP as a transport.
Here are some examples that show commonly used mirror definitions: ::
PREMIRRORS ?= "\
bzr://.*/.\* http://somemirror.org/sources/ \\n \
cvs://.*/.\* http://somemirror.org/sources/ \\n \
git://.*/.\* http://somemirror.org/sources/ \\n \
hg://.*/.\* http://somemirror.org/sources/ \\n \
osc://.*/.\* http://somemirror.org/sources/ \\n \
p4://.*/.\* http://somemirror.org/sources/ \\n \
svn://.*/.\* http://somemirror.org/sources/ \\n"
MIRRORS =+ "\
ftp://.*/.\* http://somemirror.org/sources/ \\n \
http://.*/.\* http://somemirror.org/sources/ \\n \
https://.*/.\* http://somemirror.org/sources/ \\n"
It is useful to note that BitBake
supports cross-URLs. It is possible to mirror a Git repository on an
HTTP server as a tarball. This is what the ``git://`` mapping in the
previous example does.
Since network accesses are slow, BitBake maintains a cache of files
downloaded from the network. Any source files that are not local (i.e.
downloaded from the Internet) are placed into the download directory,
which is specified by the :term:`DL_DIR` variable.
File integrity is of key importance for reproducing builds. For
non-local archive downloads, the fetcher code can verify SHA-256 and MD5
checksums to ensure the archives have been downloaded correctly. You can
specify these checksums by using the ``SRC_URI`` variable with the
appropriate varflags as follows: ::
SRC_URI[md5sum] = "value"
SRC_URI[sha256sum] = "value"
You can also specify the checksums as
parameters on the ``SRC_URI`` as shown below: ::
SRC_URI = "http://example.com/foobar.tar.bz2;md5sum=4a8e0f237e961fd7785d19d07fdb994d"
If multiple URIs exist, you can specify the checksums either directly as
in the previous example, or you can name the URLs. The following syntax
shows how you name the URIs: ::
SRC_URI = "http://example.com/foobar.tar.bz2;name=foo"
SRC_URI[foo.md5sum] = 4a8e0f237e961fd7785d19d07fdb994d
After a file has been downloaded and
has had its checksum checked, a ".done" stamp is placed in ``DL_DIR``.
BitBake uses this stamp during subsequent builds to avoid downloading or
comparing a checksum for the file again.
.. note::
It is assumed that local storage is safe from data corruption. If
this were not the case, there would be bigger issues to worry about.
If :term:`BB_STRICT_CHECKSUM` is set, any
download without a checksum triggers an error message. The
:term:`BB_NO_NETWORK` variable can be used to
make any attempted network access a fatal error, which is useful for
checking that mirrors are complete as well as other things.
.. _bb-the-unpack:
The Unpack
==========
The unpack process usually immediately follows the download. For all
URLs except Git URLs, BitBake uses the common ``unpack`` method.
A number of parameters exist that you can specify within the URL to
govern the behavior of the unpack stage:
- *unpack:* Controls whether the URL components are unpacked. If set to
"1", which is the default, the components are unpacked. If set to
"0", the unpack stage leaves the file alone. This parameter is useful
when you want an archive to be copied in and not be unpacked.
- *dos:* Applies to ``.zip`` and ``.jar`` files and specifies whether
to use DOS line ending conversion on text files.
- *basepath:* Instructs the unpack stage to strip the specified
directories from the source path when unpacking.
- *subdir:* Unpacks the specific URL to the specified subdirectory
within the root directory.
The unpack call automatically decompresses and extracts files with ".Z",
".z", ".gz", ".xz", ".zip", ".jar", ".ipk", ".rpm". ".srpm", ".deb" and
".bz2" extensions as well as various combinations of tarball extensions.
As mentioned, the Git fetcher has its own unpack method that is
optimized to work with Git trees. Basically, this method works by
cloning the tree into the final directory. The process is completed
using references so that there is only one central copy of the Git
metadata needed.
.. _bb-fetchers:
Fetchers
========
As mentioned earlier, the URL prefix determines which fetcher submodule
BitBake uses. Each submodule can support different URL parameters, which
are described in the following sections.
.. _local-file-fetcher:
Local file fetcher (``file://``)
--------------------------------
This submodule handles URLs that begin with ``file://``. The filename
you specify within the URL can be either an absolute or relative path to
a file. If the filename is relative, the contents of the
:term:`FILESPATH` variable is used in the same way
``PATH`` is used to find executables. If the file cannot be found, it is
assumed that it is available in :term:`DL_DIR` by the
time the ``download()`` method is called.
If you specify a directory, the entire directory is unpacked.
Here are a couple of example URLs, the first relative and the second
absolute: ::
SRC_URI = "file://relativefile.patch"
SRC_URI = "file:///Users/ich/very_important_software"
.. _http-ftp-fetcher:
HTTP/FTP wget fetcher (``http://``, ``ftp://``, ``https://``)
-------------------------------------------------------------
This fetcher obtains files from web and FTP servers. Internally, the
fetcher uses the wget utility.
The executable and parameters used are specified by the
``FETCHCMD_wget`` variable, which defaults to sensible values. The
fetcher supports a parameter "downloadfilename" that allows the name of
the downloaded file to be specified. Specifying the name of the
downloaded file is useful for avoiding collisions in
:term:`DL_DIR` when dealing with multiple files that
have the same name.
Some example URLs are as follows: ::
SRC_URI = "http://oe.handhelds.org/not_there.aac"
SRC_URI = "ftp://oe.handhelds.org/not_there_as_well.aac"
SRC_URI = "ftp://you@oe.handhelds.org/home/you/secret.plan"
.. note::
Because URL parameters are delimited by semi-colons, this can
introduce ambiguity when parsing URLs that also contain semi-colons,
for example:
::
SRC_URI = "http://abc123.org/git/?p=gcc/gcc.git;a=snapshot;h=a5dd47"
Such URLs should should be modified by replacing semi-colons with '&'
characters:
::
SRC_URI = "http://abc123.org/git/?p=gcc/gcc.git&a=snapshot&h=a5dd47"
In most cases this should work. Treating semi-colons and '&' in
queries identically is recommended by the World Wide Web Consortium
(W3C). Note that due to the nature of the URL, you may have to
specify the name of the downloaded file as well:
::
SRC_URI = "http://abc123.org/git/?p=gcc/gcc.git&a=snapshot&h=a5dd47;downloadfilename=myfile.bz2"
.. _cvs-fetcher:
CVS fetcher (``(cvs://``)
-------------------------
This submodule handles checking out files from the CVS version control
system. You can configure it using a number of different variables:
- :term:`FETCHCMD_cvs <FETCHCMD>`: The name of the executable to use when running
the ``cvs`` command. This name is usually "cvs".
- :term:`SRCDATE`: The date to use when fetching the CVS source code. A
special value of "now" causes the checkout to be updated on every
build.
- :term:`CVSDIR`: Specifies where a temporary
checkout is saved. The location is often ``DL_DIR/cvs``.
- CVS_PROXY_HOST: The name to use as a "proxy=" parameter to the
``cvs`` command.
- CVS_PROXY_PORT: The port number to use as a "proxyport="
parameter to the ``cvs`` command.
As well as the standard username and password URL syntax, you can also
configure the fetcher with various URL parameters:
The supported parameters are as follows:
- *"method":* The protocol over which to communicate with the CVS
server. By default, this protocol is "pserver". If "method" is set to
"ext", BitBake examines the "rsh" parameter and sets ``CVS_RSH``. You
can use "dir" for local directories.
- *"module":* Specifies the module to check out. You must supply this
parameter.
- *"tag":* Describes which CVS TAG should be used for the checkout. By
default, the TAG is empty.
- *"date":* Specifies a date. If no "date" is specified, the
:term:`SRCDATE` of the configuration is used to
checkout a specific date. The special value of "now" causes the
checkout to be updated on every build.
- *"localdir":* Used to rename the module. Effectively, you are
renaming the output directory to which the module is unpacked. You
are forcing the module into a special directory relative to
:term:`CVSDIR`.
- *"rsh":* Used in conjunction with the "method" parameter.
- *"scmdata":* Causes the CVS metadata to be maintained in the tarball
the fetcher creates when set to "keep". The tarball is expanded into
the work directory. By default, the CVS metadata is removed.
- *"fullpath":* Controls whether the resulting checkout is at the
module level, which is the default, or is at deeper paths.
- *"norecurse":* Causes the fetcher to only checkout the specified
directory with no recurse into any subdirectories.
- *"port":* The port to which the CVS server connects.
Some example URLs are as follows: ::
SRC_URI = "cvs://CVSROOT;module=mymodule;tag=some-version;method=ext"
SRC_URI = "cvs://CVSROOT;module=mymodule;date=20060126;localdir=usethat"
.. _svn-fetcher:
Subversion (SVN) Fetcher (``svn://``)
-------------------------------------
This fetcher submodule fetches code from the Subversion source control
system. The executable used is specified by ``FETCHCMD_svn``, which
defaults to "svn". The fetcher's temporary working directory is set by
:term:`SVNDIR`, which is usually ``DL_DIR/svn``.
The supported parameters are as follows:
- *"module":* The name of the svn module to checkout. You must provide
this parameter. You can think of this parameter as the top-level
directory of the repository data you want.
- *"path_spec":* A specific directory in which to checkout the
specified svn module.
- *"protocol":* The protocol to use, which defaults to "svn". If
"protocol" is set to "svn+ssh", the "ssh" parameter is also used.
- *"rev":* The revision of the source code to checkout.
- *"scmdata":* Causes the ".svn" directories to be available during
compile-time when set to "keep". By default, these directories are
removed.
- *"ssh":* An optional parameter used when "protocol" is set to
"svn+ssh". You can use this parameter to specify the ssh program used
by svn.
- *"transportuser":* When required, sets the username for the
transport. By default, this parameter is empty. The transport
username is different than the username used in the main URL, which
is passed to the subversion command.
Following are three examples using svn: ::
SRC_URI = "svn://myrepos/proj1;module=vip;protocol=http;rev=667"
SRC_URI = "svn://myrepos/proj1;module=opie;protocol=svn+ssh"
SRC_URI = "svn://myrepos/proj1;module=trunk;protocol=http;path_spec=${MY_DIR}/proj1"
.. _git-fetcher:
Git Fetcher (``git://``)
------------------------
This fetcher submodule fetches code from the Git source control system.
The fetcher works by creating a bare clone of the remote into
:term:`GITDIR`, which is usually ``DL_DIR/git2``. This
bare clone is then cloned into the work directory during the unpack
stage when a specific tree is checked out. This is done using alternates
and by reference to minimize the amount of duplicate data on the disk
and make the unpack process fast. The executable used can be set with
``FETCHCMD_git``.
This fetcher supports the following parameters:
- *"protocol":* The protocol used to fetch the files. The default is
"git" when a hostname is set. If a hostname is not set, the Git
protocol is "file". You can also use "http", "https", "ssh" and
"rsync".
- *"nocheckout":* Tells the fetcher to not checkout source code when
unpacking when set to "1". Set this option for the URL where there is
a custom routine to checkout code. The default is "0".
- *"rebaseable":* Indicates that the upstream Git repository can be
rebased. You should set this parameter to "1" if revisions can become
detached from branches. In this case, the source mirror tarball is
done per revision, which has a loss of efficiency. Rebasing the
upstream Git repository could cause the current revision to disappear
from the upstream repository. This option reminds the fetcher to
preserve the local cache carefully for future use. The default value
for this parameter is "0".
- *"nobranch":* Tells the fetcher to not check the SHA validation for
the branch when set to "1". The default is "0". Set this option for
the recipe that refers to the commit that is valid for a tag instead
of the branch.
- *"bareclone":* Tells the fetcher to clone a bare clone into the
destination directory without checking out a working tree. Only the
raw Git metadata is provided. This parameter implies the "nocheckout"
parameter as well.
- *"branch":* The branch(es) of the Git tree to clone. If unset, this
is assumed to be "master". The number of branch parameters much match
the number of name parameters.
- *"rev":* The revision to use for the checkout. The default is
"master".
- *"tag":* Specifies a tag to use for the checkout. To correctly
resolve tags, BitBake must access the network. For that reason, tags
are often not used. As far as Git is concerned, the "tag" parameter
behaves effectively the same as the "rev" parameter.
- *"subpath":* Limits the checkout to a specific subpath of the tree.
By default, the whole tree is checked out.
- *"destsuffix":* The name of the path in which to place the checkout.
By default, the path is ``git/``.
- *"usehead":* Enables local ``git://`` URLs to use the current branch
HEAD as the revision for use with ``AUTOREV``. The "usehead"
parameter implies no branch and only works when the transfer protocol
is ``file://``.
Here are some example URLs: ::
SRC_URI = "git://git.oe.handhelds.org/git/vip.git;tag=version-1"
SRC_URI = "git://git.oe.handhelds.org/git/vip.git;protocol=http"
.. _gitsm-fetcher:
Git Submodule Fetcher (``gitsm://``)
------------------------------------
This fetcher submodule inherits from the :ref:`Git
fetcher<bitbake-user-manual/bitbake-user-manual-fetching:git fetcher
(\`\`git://\`\`)>` and extends that fetcher's behavior by fetching a
repository's submodules. :term:`SRC_URI` is passed to the Git fetcher as
described in the :ref:`bitbake-user-manual/bitbake-user-manual-fetching:git
fetcher (\`\`git://\`\`)` section.
.. note::
You must clean a recipe when switching between '``git://``' and
'``gitsm://``' URLs.
The Git Submodules fetcher is not a complete fetcher implementation.
The fetcher has known issues where it does not use the normal source
mirroring infrastructure properly. Further, the submodule sources it
fetches are not visible to the licensing and source archiving
infrastructures.
.. _clearcase-fetcher:
ClearCase Fetcher (``ccrc://``)
-------------------------------
This fetcher submodule fetches code from a
`ClearCase <http://en.wikipedia.org/wiki/Rational_ClearCase>`__
repository.
To use this fetcher, make sure your recipe has proper
:term:`SRC_URI`, :term:`SRCREV`, and
:term:`PV` settings. Here is an example: ::
SRC_URI = "ccrc://cc.example.org/ccrc;vob=/example_vob;module=/example_module"
SRCREV = "EXAMPLE_CLEARCASE_TAG"
PV = "${@d.getVar("SRCREV", False).replace("/", "+")}"
The fetcher uses the ``rcleartool`` or
``cleartool`` remote client, depending on which one is available.
Following are options for the ``SRC_URI`` statement:
- *vob*: The name, which must include the prepending "/" character,
of the ClearCase VOB. This option is required.
- *module*: The module, which must include the prepending "/"
character, in the selected VOB.
.. note::
The module and vob options are combined to create the load rule in the
view config spec. As an example, consider the vob and module values from
the SRC_URI statement at the start of this section. Combining those values
results in the following: ::
load /example_vob/example_module
- *proto*: The protocol, which can be either ``http`` or ``https``.
By default, the fetcher creates a configuration specification. If you
want this specification written to an area other than the default, use
the ``CCASE_CUSTOM_CONFIG_SPEC`` variable in your recipe to define where
the specification is written.
.. note::
the SRCREV loses its functionality if you specify this variable. However,
SRCREV is still used to label the archive after a fetch even though it does
not define what is fetched.
Here are a couple of other behaviors worth mentioning:
- When using ``cleartool``, the login of ``cleartool`` is handled by
the system. The login require no special steps.
- In order to use ``rcleartool`` with authenticated users, an
"rcleartool login" is necessary before using the fetcher.
.. _perforce-fetcher:
Perforce Fetcher (``p4://``)
----------------------------
This fetcher submodule fetches code from the
`Perforce <https://www.perforce.com/>`__ source control system. The
executable used is specified by ``FETCHCMD_p4``, which defaults to "p4".
The fetcher's temporary working directory is set by
:term:`P4DIR`, which defaults to "DL_DIR/p4".
The fetcher does not make use of a perforce client, instead it
relies on ``p4 files`` to retrieve a list of
files and ``p4 print`` to transfer the content
of those files locally.
To use this fetcher, make sure your recipe has proper
:term:`SRC_URI`, :term:`SRCREV`, and
:term:`PV` values. The p4 executable is able to use the
config file defined by your system's ``P4CONFIG`` environment variable
in order to define the Perforce server URL and port, username, and
password if you do not wish to keep those values in a recipe itself. If
you choose not to use ``P4CONFIG``, or to explicitly set variables that
``P4CONFIG`` can contain, you can specify the ``P4PORT`` value, which is
the server's URL and port number, and you can specify a username and
password directly in your recipe within ``SRC_URI``.
Here is an example that relies on ``P4CONFIG`` to specify the server URL
and port, username, and password, and fetches the Head Revision: ::
SRC_URI = "p4://example-depot/main/source/..."
SRCREV = "${AUTOREV}"
PV = "p4-${SRCPV}"
S = "${WORKDIR}/p4"
Here is an example that specifies the server URL and port, username, and
password, and fetches a Revision based on a Label: ::
P4PORT = "tcp:p4server.example.net:1666"
SRC_URI = "p4://user:passwd@example-depot/main/source/..."
SRCREV = "release-1.0"
PV = "p4-${SRCPV}"
S = "${WORKDIR}/p4"
.. note::
You should always set S to "${WORKDIR}/p4" in your recipe.
By default, the fetcher strips the depot location from the local file paths. In
the above example, the content of ``example-depot/main/source/`` will be placed
in ``${WORKDIR}/p4``. For situations where preserving parts of the remote depot
paths locally is desirable, the fetcher supports two parameters:
- *"module":*
The top-level depot location or directory to fetch. The value of this
parameter can also point to a single file within the depot, in which case
the local file path will include the module path.
- *"remotepath":*
When used with the value "``keep``", the fetcher will mirror the full depot
paths locally for the specified location, even in combination with the
``module`` parameter.
Here is an example use of the the ``module`` parameter: ::
SRC_URI = "p4://user:passwd@example-depot/main;module=source/..."
In this case, the content of the top-level directory ``source/`` will be fetched
to ``${P4DIR}``, including the directory itself. The top-level directory will
be accesible at ``${P4DIR}/source/``.
Here is an example use of the the ``remotepath`` parameter: ::
SRC_URI = "p4://user:passwd@example-depot/main;module=source/...;remotepath=keep"
In this case, the content of the top-level directory ``source/`` will be fetched
to ``${P4DIR}``, but the complete depot paths will be mirrored locally. The
top-level directory will be accessible at
``${P4DIR}/example-depot/main/source/``.
.. _repo-fetcher:
Repo Fetcher (``repo://``)
--------------------------
This fetcher submodule fetches code from ``google-repo`` source control
system. The fetcher works by initiating and syncing sources of the
repository into :term:`REPODIR`, which is usually
``${DL_DIR}/repo``.
This fetcher supports the following parameters:
- *"protocol":* Protocol to fetch the repository manifest (default:
git).
- *"branch":* Branch or tag of repository to get (default: master).
- *"manifest":* Name of the manifest file (default: ``default.xml``).
Here are some example URLs: ::
SRC_URI = "repo://REPOROOT;protocol=git;branch=some_branch;manifest=my_manifest.xml"
SRC_URI = "repo://REPOROOT;protocol=file;branch=some_branch;manifest=my_manifest.xml"
Other Fetchers
--------------
Fetch submodules also exist for the following:
- Bazaar (``bzr://``)
- Mercurial (``hg://``)
- npm (``npm://``)
- OSC (``osc://``)
- Secure FTP (``sftp://``)
- Secure Shell (``ssh://``)
- Trees using Git Annex (``gitannex://``)
No documentation currently exists for these lesser used fetcher
submodules. However, you might find the code helpful and readable.
Auto Revisions
==============
We need to document ``AUTOREV`` and ``SRCREV_FORMAT`` here.

View File

@@ -0,0 +1,831 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<chapter>
<title>File Download Support</title>
<para>
BitBake's fetch module is a standalone piece of library code
that deals with the intricacies of downloading source code
and files from remote systems.
Fetching source code is one of the cornerstones of building software.
As such, this module forms an important part of BitBake.
</para>
<para>
The current fetch module is called "fetch2" and refers to the
fact that it is the second major version of the API.
The original version is obsolete and has been removed from the codebase.
Thus, in all cases, "fetch" refers to "fetch2" in this
manual.
</para>
<section id='the-download-fetch'>
<title>The Download (Fetch)</title>
<para>
BitBake takes several steps when fetching source code or files.
The fetcher codebase deals with two distinct processes in order:
obtaining the files from somewhere (cached or otherwise)
and then unpacking those files into a specific location and
perhaps in a specific way.
Getting and unpacking the files is often optionally followed
by patching.
Patching, however, is not covered by this module.
</para>
<para>
The code to execute the first part of this process, a fetch,
looks something like the following:
<literallayout class='monospaced'>
src_uri = (d.getVar('SRC_URI') or "").split()
fetcher = bb.fetch2.Fetch(src_uri, d)
fetcher.download()
</literallayout>
This code sets up an instance of the fetch class.
The instance uses a space-separated list of URLs from the
<link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>
variable and then calls the <filename>download</filename>
method to download the files.
</para>
<para>
The instantiation of the fetch class is usually followed by:
<literallayout class='monospaced'>
rootdir = l.getVar('WORKDIR')
fetcher.unpack(rootdir)
</literallayout>
This code unpacks the downloaded files to the
specified by <filename>WORKDIR</filename>.
<note>
For convenience, the naming in these examples matches
the variables used by OpenEmbedded.
If you want to see the above code in action, examine
the OpenEmbedded class file <filename>base.bbclass</filename>.
</note>
The <filename>SRC_URI</filename> and <filename>WORKDIR</filename>
variables are not hardcoded into the fetcher, since those fetcher
methods can be (and are) called with different variable names.
In OpenEmbedded for example, the shared state (sstate) code uses
the fetch module to fetch the sstate files.
</para>
<para>
When the <filename>download()</filename> method is called,
BitBake tries to resolve the URLs by looking for source files
in a specific search order:
<itemizedlist>
<listitem><para><emphasis>Pre-mirror Sites:</emphasis>
BitBake first uses pre-mirrors to try and find source files.
These locations are defined using the
<link linkend='var-PREMIRRORS'><filename>PREMIRRORS</filename></link>
variable.
</para></listitem>
<listitem><para><emphasis>Source URI:</emphasis>
If pre-mirrors fail, BitBake uses the original URL (e.g from
<filename>SRC_URI</filename>).
</para></listitem>
<listitem><para><emphasis>Mirror Sites:</emphasis>
If fetch failures occur, BitBake next uses mirror locations as
defined by the
<link linkend='var-MIRRORS'><filename>MIRRORS</filename></link>
variable.
</para></listitem>
</itemizedlist>
</para>
<para>
For each URL passed to the fetcher, the fetcher
calls the submodule that handles that particular URL type.
This behavior can be the source of some confusion when you
are providing URLs for the <filename>SRC_URI</filename>
variable.
Consider the following two URLs:
<literallayout class='monospaced'>
http://git.yoctoproject.org/git/poky;protocol=git
git://git.yoctoproject.org/git/poky;protocol=http
</literallayout>
In the former case, the URL is passed to the
<filename>wget</filename> fetcher, which does not
understand "git".
Therefore, the latter case is the correct form since the
Git fetcher does know how to use HTTP as a transport.
</para>
<para>
Here are some examples that show commonly used mirror
definitions:
<literallayout class='monospaced'>
PREMIRRORS ?= "\
bzr://.*/.* http://somemirror.org/sources/ \n \
cvs://.*/.* http://somemirror.org/sources/ \n \
git://.*/.* http://somemirror.org/sources/ \n \
hg://.*/.* http://somemirror.org/sources/ \n \
osc://.*/.* http://somemirror.org/sources/ \n \
p4://.*/.* http://somemirror.org/sources/ \n \
svn://.*/.* http://somemirror.org/sources/ \n"
MIRRORS =+ "\
ftp://.*/.* http://somemirror.org/sources/ \n \
http://.*/.* http://somemirror.org/sources/ \n \
https://.*/.* http://somemirror.org/sources/ \n"
</literallayout>
It is useful to note that BitBake supports
cross-URLs.
It is possible to mirror a Git repository on an HTTP
server as a tarball.
This is what the <filename>git://</filename> mapping in
the previous example does.
</para>
<para>
Since network accesses are slow, Bitbake maintains a
cache of files downloaded from the network.
Any source files that are not local (i.e.
downloaded from the Internet) are placed into the download
directory, which is specified by the
<link linkend='var-DL_DIR'><filename>DL_DIR</filename></link>
variable.
</para>
<para>
File integrity is of key importance for reproducing builds.
For non-local archive downloads, the fetcher code can verify
SHA-256 and MD5 checksums to ensure the archives have been
downloaded correctly.
You can specify these checksums by using the
<filename>SRC_URI</filename> variable with the appropriate
varflags as follows:
<literallayout class='monospaced'>
SRC_URI[md5sum] = "<replaceable>value</replaceable>"
SRC_URI[sha256sum] = "<replaceable>value</replaceable>"
</literallayout>
You can also specify the checksums as parameters on the
<filename>SRC_URI</filename> as shown below:
<literallayout class='monospaced'>
SRC_URI = "http://example.com/foobar.tar.bz2;md5sum=4a8e0f237e961fd7785d19d07fdb994d"
</literallayout>
If multiple URIs exist, you can specify the checksums either
directly as in the previous example, or you can name the URLs.
The following syntax shows how you name the URIs:
<literallayout class='monospaced'>
SRC_URI = "http://example.com/foobar.tar.bz2;name=foo"
SRC_URI[foo.md5sum] = 4a8e0f237e961fd7785d19d07fdb994d
</literallayout>
After a file has been downloaded and has had its checksum checked,
a ".done" stamp is placed in <filename>DL_DIR</filename>.
BitBake uses this stamp during subsequent builds to avoid
downloading or comparing a checksum for the file again.
<note>
It is assumed that local storage is safe from data corruption.
If this were not the case, there would be bigger issues to worry about.
</note>
</para>
<para>
If
<link linkend='var-BB_STRICT_CHECKSUM'><filename>BB_STRICT_CHECKSUM</filename></link>
is set, any download without a checksum triggers an
error message.
The
<link linkend='var-BB_NO_NETWORK'><filename>BB_NO_NETWORK</filename></link>
variable can be used to make any attempted network access a fatal
error, which is useful for checking that mirrors are complete
as well as other things.
</para>
</section>
<section id='bb-the-unpack'>
<title>The Unpack</title>
<para>
The unpack process usually immediately follows the download.
For all URLs except Git URLs, BitBake uses the common
<filename>unpack</filename> method.
</para>
<para>
A number of parameters exist that you can specify within the
URL to govern the behavior of the unpack stage:
<itemizedlist>
<listitem><para><emphasis>unpack:</emphasis>
Controls whether the URL components are unpacked.
If set to "1", which is the default, the components
are unpacked.
If set to "0", the unpack stage leaves the file alone.
This parameter is useful when you want an archive to be
copied in and not be unpacked.
</para></listitem>
<listitem><para><emphasis>dos:</emphasis>
Applies to <filename>.zip</filename> and
<filename>.jar</filename> files and specifies whether to
use DOS line ending conversion on text files.
</para></listitem>
<listitem><para><emphasis>basepath:</emphasis>
Instructs the unpack stage to strip the specified
directories from the source path when unpacking.
</para></listitem>
<listitem><para><emphasis>subdir:</emphasis>
Unpacks the specific URL to the specified subdirectory
within the root directory.
</para></listitem>
</itemizedlist>
The unpack call automatically decompresses and extracts files
with ".Z", ".z", ".gz", ".xz", ".zip", ".jar", ".ipk", ".rpm".
".srpm", ".deb" and ".bz2" extensions as well as various combinations
of tarball extensions.
</para>
<para>
As mentioned, the Git fetcher has its own unpack method that
is optimized to work with Git trees.
Basically, this method works by cloning the tree into the final
directory.
The process is completed using references so that there is
only one central copy of the Git metadata needed.
</para>
</section>
<section id='bb-fetchers'>
<title>Fetchers</title>
<para>
As mentioned earlier, the URL prefix determines which
fetcher submodule BitBake uses.
Each submodule can support different URL parameters,
which are described in the following sections.
</para>
<section id='local-file-fetcher'>
<title>Local file fetcher (<filename>file://</filename>)</title>
<para>
This submodule handles URLs that begin with
<filename>file://</filename>.
The filename you specify within the URL can be
either an absolute or relative path to a file.
If the filename is relative, the contents of the
<link linkend='var-FILESPATH'><filename>FILESPATH</filename></link>
variable is used in the same way
<filename>PATH</filename> is used to find executables.
If the file cannot be found, it is assumed that it is available in
<link linkend='var-DL_DIR'><filename>DL_DIR</filename></link>
by the time the <filename>download()</filename> method is called.
</para>
<para>
If you specify a directory, the entire directory is
unpacked.
</para>
<para>
Here are a couple of example URLs, the first relative and
the second absolute:
<literallayout class='monospaced'>
SRC_URI = "file://relativefile.patch"
SRC_URI = "file:///Users/ich/very_important_software"
</literallayout>
</para>
</section>
<section id='http-ftp-fetcher'>
<title>HTTP/FTP wget fetcher (<filename>http://</filename>, <filename>ftp://</filename>, <filename>https://</filename>)</title>
<para>
This fetcher obtains files from web and FTP servers.
Internally, the fetcher uses the wget utility.
</para>
<para>
The executable and parameters used are specified by the
<filename>FETCHCMD_wget</filename> variable, which defaults
to sensible values.
The fetcher supports a parameter "downloadfilename" that
allows the name of the downloaded file to be specified.
Specifying the name of the downloaded file is useful
for avoiding collisions in
<link linkend='var-DL_DIR'><filename>DL_DIR</filename></link>
when dealing with multiple files that have the same name.
</para>
<para>
Some example URLs are as follows:
<literallayout class='monospaced'>
SRC_URI = "http://oe.handhelds.org/not_there.aac"
SRC_URI = "ftp://oe.handhelds.org/not_there_as_well.aac"
SRC_URI = "ftp://you@oe.handhelds.org/home/you/secret.plan"
</literallayout>
</para>
<note>
Because URL parameters are delimited by semi-colons, this can
introduce ambiguity when parsing URLs that also contain semi-colons,
for example:
<literallayout class='monospaced'>
SRC_URI = "http://abc123.org/git/?p=gcc/gcc.git;a=snapshot;h=a5dd47"
</literallayout>
Such URLs should should be modified by replacing semi-colons with '&amp;' characters:
<literallayout class='monospaced'>
SRC_URI = "http://abc123.org/git/?p=gcc/gcc.git&amp;a=snapshot&amp;h=a5dd47"
</literallayout>
In most cases this should work. Treating semi-colons and '&amp;' in queries
identically is recommended by the World Wide Web Consortium (W3C).
Note that due to the nature of the URL, you may have to specify the name
of the downloaded file as well:
<literallayout class='monospaced'>
SRC_URI = "http://abc123.org/git/?p=gcc/gcc.git&amp;a=snapshot&amp;h=a5dd47;downloadfilename=myfile.bz2"
</literallayout>
</note>
</section>
<section id='cvs-fetcher'>
<title>CVS fetcher (<filename>(cvs://</filename>)</title>
<para>
This submodule handles checking out files from the
CVS version control system.
You can configure it using a number of different variables:
<itemizedlist>
<listitem><para><emphasis><filename>FETCHCMD_cvs</filename>:</emphasis>
The name of the executable to use when running
the <filename>cvs</filename> command.
This name is usually "cvs".
</para></listitem>
<listitem><para><emphasis><filename>SRCDATE</filename>:</emphasis>
The date to use when fetching the CVS source code.
A special value of "now" causes the checkout to
be updated on every build.
</para></listitem>
<listitem><para><emphasis><link linkend='var-CVSDIR'><filename>CVSDIR</filename></link>:</emphasis>
Specifies where a temporary checkout is saved.
The location is often <filename>DL_DIR/cvs</filename>.
</para></listitem>
<listitem><para><emphasis><filename>CVS_PROXY_HOST</filename>:</emphasis>
The name to use as a "proxy=" parameter to the
<filename>cvs</filename> command.
</para></listitem>
<listitem><para><emphasis><filename>CVS_PROXY_PORT</filename>:</emphasis>
The port number to use as a "proxyport=" parameter to
the <filename>cvs</filename> command.
</para></listitem>
</itemizedlist>
As well as the standard username and password URL syntax,
you can also configure the fetcher with various URL parameters:
</para>
<para>
The supported parameters are as follows:
<itemizedlist>
<listitem><para><emphasis>"method":</emphasis>
The protocol over which to communicate with the CVS
server.
By default, this protocol is "pserver".
If "method" is set to "ext", BitBake examines the
"rsh" parameter and sets <filename>CVS_RSH</filename>.
You can use "dir" for local directories.
</para></listitem>
<listitem><para><emphasis>"module":</emphasis>
Specifies the module to check out.
You must supply this parameter.
</para></listitem>
<listitem><para><emphasis>"tag":</emphasis>
Describes which CVS TAG should be used for
the checkout.
By default, the TAG is empty.
</para></listitem>
<listitem><para><emphasis>"date":</emphasis>
Specifies a date.
If no "date" is specified, the
<link linkend='var-SRCDATE'><filename>SRCDATE</filename></link>
of the configuration is used to checkout a specific date.
The special value of "now" causes the checkout to be
updated on every build.
</para></listitem>
<listitem><para><emphasis>"localdir":</emphasis>
Used to rename the module.
Effectively, you are renaming the output directory
to which the module is unpacked.
You are forcing the module into a special
directory relative to
<link linkend='var-CVSDIR'><filename>CVSDIR</filename></link>.
</para></listitem>
<listitem><para><emphasis>"rsh"</emphasis>
Used in conjunction with the "method" parameter.
</para></listitem>
<listitem><para><emphasis>"scmdata":</emphasis>
Causes the CVS metadata to be maintained in the tarball
the fetcher creates when set to "keep".
The tarball is expanded into the work directory.
By default, the CVS metadata is removed.
</para></listitem>
<listitem><para><emphasis>"fullpath":</emphasis>
Controls whether the resulting checkout is at the
module level, which is the default, or is at deeper
paths.
</para></listitem>
<listitem><para><emphasis>"norecurse":</emphasis>
Causes the fetcher to only checkout the specified
directory with no recurse into any subdirectories.
</para></listitem>
<listitem><para><emphasis>"port":</emphasis>
The port to which the CVS server connects.
</para></listitem>
</itemizedlist>
Some example URLs are as follows:
<literallayout class='monospaced'>
SRC_URI = "cvs://CVSROOT;module=mymodule;tag=some-version;method=ext"
SRC_URI = "cvs://CVSROOT;module=mymodule;date=20060126;localdir=usethat"
</literallayout>
</para>
</section>
<section id='svn-fetcher'>
<title>Subversion (SVN) Fetcher (<filename>svn://</filename>)</title>
<para>
This fetcher submodule fetches code from the
Subversion source control system.
The executable used is specified by
<filename>FETCHCMD_svn</filename>, which defaults
to "svn".
The fetcher's temporary working directory is set by
<link linkend='var-SVNDIR'><filename>SVNDIR</filename></link>,
which is usually <filename>DL_DIR/svn</filename>.
</para>
<para>
The supported parameters are as follows:
<itemizedlist>
<listitem><para><emphasis>"module":</emphasis>
The name of the svn module to checkout.
You must provide this parameter.
You can think of this parameter as the top-level
directory of the repository data you want.
</para></listitem>
<listitem><para><emphasis>"path_spec":</emphasis>
A specific directory in which to checkout the
specified svn module.
</para></listitem>
<listitem><para><emphasis>"protocol":</emphasis>
The protocol to use, which defaults to "svn".
If "protocol" is set to "svn+ssh", the "ssh"
parameter is also used.
</para></listitem>
<listitem><para><emphasis>"rev":</emphasis>
The revision of the source code to checkout.
</para></listitem>
<listitem><para><emphasis>"scmdata":</emphasis>
Causes the “.svn” directories to be available during
compile-time when set to "keep".
By default, these directories are removed.
</para></listitem>
<listitem><para><emphasis>"ssh":</emphasis>
An optional parameter used when "protocol" is set
to "svn+ssh".
You can use this parameter to specify the ssh
program used by svn.
</para></listitem>
<listitem><para><emphasis>"transportuser":</emphasis>
When required, sets the username for the transport.
By default, this parameter is empty.
The transport username is different than the username
used in the main URL, which is passed to the subversion
command.
</para></listitem>
</itemizedlist>
Following are three examples using svn:
<literallayout class='monospaced'>
SRC_URI = "svn://myrepos/proj1;module=vip;protocol=http;rev=667"
SRC_URI = "svn://myrepos/proj1;module=opie;protocol=svn+ssh"
SRC_URI = "svn://myrepos/proj1;module=trunk;protocol=http;path_spec=${MY_DIR}/proj1"
</literallayout>
</para>
</section>
<section id='git-fetcher'>
<title>Git Fetcher (<filename>git://</filename>)</title>
<para>
This fetcher submodule fetches code from the Git
source control system.
The fetcher works by creating a bare clone of the
remote into
<link linkend='var-GITDIR'><filename>GITDIR</filename></link>,
which is usually <filename>DL_DIR/git2</filename>.
This bare clone is then cloned into the work directory during the
unpack stage when a specific tree is checked out.
This is done using alternates and by reference to
minimize the amount of duplicate data on the disk and
make the unpack process fast.
The executable used can be set with
<filename>FETCHCMD_git</filename>.
</para>
<para>
This fetcher supports the following parameters:
<itemizedlist>
<listitem><para><emphasis>"protocol":</emphasis>
The protocol used to fetch the files.
The default is "git" when a hostname is set.
If a hostname is not set, the Git protocol is "file".
You can also use "http", "https", "ssh" and "rsync".
</para></listitem>
<listitem><para><emphasis>"nocheckout":</emphasis>
Tells the fetcher to not checkout source code when
unpacking when set to "1".
Set this option for the URL where there is a custom
routine to checkout code.
The default is "0".
</para></listitem>
<listitem><para><emphasis>"rebaseable":</emphasis>
Indicates that the upstream Git repository can be rebased.
You should set this parameter to "1" if
revisions can become detached from branches.
In this case, the source mirror tarball is done per
revision, which has a loss of efficiency.
Rebasing the upstream Git repository could cause the
current revision to disappear from the upstream repository.
This option reminds the fetcher to preserve the local cache
carefully for future use.
The default value for this parameter is "0".
</para></listitem>
<listitem><para><emphasis>"nobranch":</emphasis>
Tells the fetcher to not check the SHA validation
for the branch when set to "1".
The default is "0".
Set this option for the recipe that refers to
the commit that is valid for a tag instead of
the branch.
</para></listitem>
<listitem><para><emphasis>"bareclone":</emphasis>
Tells the fetcher to clone a bare clone into the
destination directory without checking out a working tree.
Only the raw Git metadata is provided.
This parameter implies the "nocheckout" parameter as well.
</para></listitem>
<listitem><para><emphasis>"branch":</emphasis>
The branch(es) of the Git tree to clone.
If unset, this is assumed to be "master".
The number of branch parameters much match the number of
name parameters.
</para></listitem>
<listitem><para><emphasis>"rev":</emphasis>
The revision to use for the checkout.
The default is "master".
</para></listitem>
<listitem><para><emphasis>"tag":</emphasis>
Specifies a tag to use for the checkout.
To correctly resolve tags, BitBake must access the
network.
For that reason, tags are often not used.
As far as Git is concerned, the "tag" parameter behaves
effectively the same as the "rev" parameter.
</para></listitem>
<listitem><para><emphasis>"subpath":</emphasis>
Limits the checkout to a specific subpath of the tree.
By default, the whole tree is checked out.
</para></listitem>
<listitem><para><emphasis>"destsuffix":</emphasis>
The name of the path in which to place the checkout.
By default, the path is <filename>git/</filename>.
</para></listitem>
<listitem><para><emphasis>"usehead":</emphasis>
Enables local <filename>git://</filename> URLs to use the
current branch HEAD as the revision for use with
<filename>AUTOREV</filename>.
The "usehead" parameter implies no branch and only works
when the transfer protocol is
<filename>file://</filename>.
</para></listitem>
</itemizedlist>
Here are some example URLs:
<literallayout class='monospaced'>
SRC_URI = "git://git.oe.handhelds.org/git/vip.git;tag=version-1"
SRC_URI = "git://git.oe.handhelds.org/git/vip.git;protocol=http"
</literallayout>
</para>
</section>
<section id='gitsm-fetcher'>
<title>Git Submodule Fetcher (<filename>gitsm://</filename>)</title>
<para>
This fetcher submodule inherits from the
<link linkend='git-fetcher'>Git fetcher</link> and extends
that fetcher's behavior by fetching a repository's submodules.
<link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>
is passed to the Git fetcher as described in the
"<link linkend='git-fetcher'>Git Fetcher (<filename>git://</filename>)</link>"
section.
<note>
<title>Notes and Warnings</title>
<para>
You must clean a recipe when switching between
'<filename>git://</filename>' and
'<filename>gitsm://</filename>' URLs.
</para>
<para>
The Git Submodules fetcher is not a complete fetcher
implementation.
The fetcher has known issues where it does not use the
normal source mirroring infrastructure properly. Further,
the submodule sources it fetches are not visible to the
licensing and source archiving infrastructures.
</para>
</note>
</para>
</section>
<section id='clearcase-fetcher'>
<title>ClearCase Fetcher (<filename>ccrc://</filename>)</title>
<para>
This fetcher submodule fetches code from a
<ulink url='http://en.wikipedia.org/wiki/Rational_ClearCase'>ClearCase</ulink>
repository.
</para>
<para>
To use this fetcher, make sure your recipe has proper
<link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>,
<link linkend='var-SRCREV'><filename>SRCREV</filename></link>, and
<link linkend='var-PV'><filename>PV</filename></link> settings.
Here is an example:
<literallayout class='monospaced'>
SRC_URI = "ccrc://cc.example.org/ccrc;vob=/example_vob;module=/example_module"
SRCREV = "EXAMPLE_CLEARCASE_TAG"
PV = "${@d.getVar("SRCREV", False).replace("/", "+")}"
</literallayout>
The fetcher uses the <filename>rcleartool</filename> or
<filename>cleartool</filename> remote client, depending on
which one is available.
</para>
<para>
Following are options for the <filename>SRC_URI</filename>
statement:
<itemizedlist>
<listitem><para><emphasis><filename>vob</filename></emphasis>:
The name, which must include the
prepending "/" character, of the ClearCase VOB.
This option is required.
</para></listitem>
<listitem><para><emphasis><filename>module</filename></emphasis>:
The module, which must include the
prepending "/" character, in the selected VOB.
<note>
The <filename>module</filename> and <filename>vob</filename>
options are combined to create the <filename>load</filename> rule in
the view config spec.
As an example, consider the <filename>vob</filename> and
<filename>module</filename> values from the
<filename>SRC_URI</filename> statement at the start of this section.
Combining those values results in the following:
<literallayout class='monospaced'>
load /example_vob/example_module
</literallayout>
</note>
</para></listitem>
<listitem><para><emphasis><filename>proto</filename></emphasis>:
The protocol, which can be either <filename>http</filename> or
<filename>https</filename>.
</para></listitem>
</itemizedlist>
</para>
<para>
By default, the fetcher creates a configuration specification.
If you want this specification written to an area other than the default,
use the <filename>CCASE_CUSTOM_CONFIG_SPEC</filename> variable
in your recipe to define where the specification is written.
<note>
the <filename>SRCREV</filename> loses its functionality if you
specify this variable.
However, <filename>SRCREV</filename> is still used to label the
archive after a fetch even though it does not define what is
fetched.
</note>
</para>
<para>
Here are a couple of other behaviors worth mentioning:
<itemizedlist>
<listitem><para>
When using <filename>cleartool</filename>, the login of
<filename>cleartool</filename> is handled by the system.
The login require no special steps.
</para></listitem>
<listitem><para>
In order to use <filename>rcleartool</filename> with authenticated
users, an "rcleartool login" is necessary before using the fetcher.
</para></listitem>
</itemizedlist>
</para>
</section>
<section id='perforce-fetcher'>
<title>Perforce Fetcher (<filename>p4://</filename>)</title>
<para>
This fetcher submodule fetches code from the
<ulink url='https://www.perforce.com/'>Perforce</ulink>
source control system.
The executable used is specified by
<filename>FETCHCMD_p4</filename>, which defaults
to "p4".
The fetcher's temporary working directory is set by
<link linkend='var-P4DIR'><filename>P4DIR</filename></link>,
which defaults to "DL_DIR/p4".
</para>
<para>
To use this fetcher, make sure your recipe has proper
<link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>,
<link linkend='var-SRCREV'><filename>SRCREV</filename></link>, and
<link linkend='var-PV'><filename>PV</filename></link> values.
The p4 executable is able to use the config file defined by your
system's <filename>P4CONFIG</filename> environment variable in
order to define the Perforce server URL and port, username, and
password if you do not wish to keep those values in a recipe
itself.
If you choose not to use <filename>P4CONFIG</filename>,
or to explicitly set variables that <filename>P4CONFIG</filename>
can contain, you can specify the <filename>P4PORT</filename> value,
which is the server's URL and port number, and you can
specify a username and password directly in your recipe within
<filename>SRC_URI</filename>.
</para>
<para>
Here is an example that relies on <filename>P4CONFIG</filename>
to specify the server URL and port, username, and password, and
fetches the Head Revision:
<literallayout class='monospaced'>
SRC_URI = "p4://example-depot/main/source/..."
SRCREV = "${AUTOREV}"
PV = "p4-${SRCPV}"
S = "${WORKDIR}/p4"
</literallayout>
</para>
<para>
Here is an example that specifies the server URL and port,
username, and password, and fetches a Revision based on a Label:
<literallayout class='monospaced'>
P4PORT = "tcp:p4server.example.net:1666"
SRC_URI = "p4://user:passwd@example-depot/main/source/..."
SRCREV = "release-1.0"
PV = "p4-${SRCPV}"
S = "${WORKDIR}/p4"
</literallayout>
<note>
You should always set <filename>S</filename>
to <filename>"${WORKDIR}/p4"</filename> in your recipe.
</note>
</para>
</section>
<section id='other-fetchers'>
<title>Other Fetchers</title>
<para>
Fetch submodules also exist for the following:
<itemizedlist>
<listitem><para>
Bazaar (<filename>bzr://</filename>)
</para></listitem>
<listitem><para>
Trees using Git Annex (<filename>gitannex://</filename>)
</para></listitem>
<listitem><para>
Secure FTP (<filename>sftp://</filename>)
</para></listitem>
<listitem><para>
Secure Shell (<filename>ssh://</filename>)
</para></listitem>
<listitem><para>
Repo (<filename>repo://</filename>)
</para></listitem>
<listitem><para>
OSC (<filename>osc://</filename>)
</para></listitem>
<listitem><para>
Mercurial (<filename>hg://</filename>)
</para></listitem>
</itemizedlist>
No documentation currently exists for these lesser used
fetcher submodules.
However, you might find the code helpful and readable.
</para>
</section>
</section>
<section id='auto-revisions'>
<title>Auto Revisions</title>
<para>
We need to document <filename>AUTOREV</filename> and
<filename>SRCREV_FORMAT</filename> here.
</para>
</section>
</chapter>

View File

@@ -1,415 +0,0 @@
.. SPDX-License-Identifier: CC-BY-2.5
===================
Hello World Example
===================
BitBake Hello World
===================
The simplest example commonly used to demonstrate any new programming
language or tool is the "`Hello
World <http://en.wikipedia.org/wiki/Hello_world_program>`__" example.
This appendix demonstrates, in tutorial form, Hello World within the
context of BitBake. The tutorial describes how to create a new project
and the applicable metadata files necessary to allow BitBake to build
it.
Obtaining BitBake
=================
See the :ref:`bitbake-user-manual/bitbake-user-manual-hello:obtaining bitbake` section for
information on how to obtain BitBake. Once you have the source code on
your machine, the BitBake directory appears as follows: ::
$ ls -al
total 100
drwxrwxr-x. 9 wmat wmat 4096 Jan 31 13:44 .
drwxrwxr-x. 3 wmat wmat 4096 Feb 4 10:45 ..
-rw-rw-r--. 1 wmat wmat 365 Nov 26 04:55 AUTHORS
drwxrwxr-x. 2 wmat wmat 4096 Nov 26 04:55 bin
drwxrwxr-x. 4 wmat wmat 4096 Jan 31 13:44 build
-rw-rw-r--. 1 wmat wmat 16501 Nov 26 04:55 ChangeLog
drwxrwxr-x. 2 wmat wmat 4096 Nov 26 04:55 classes
drwxrwxr-x. 2 wmat wmat 4096 Nov 26 04:55 conf
drwxrwxr-x. 3 wmat wmat 4096 Nov 26 04:55 contrib
-rw-rw-r--. 1 wmat wmat 17987 Nov 26 04:55 COPYING
drwxrwxr-x. 3 wmat wmat 4096 Nov 26 04:55 doc
-rw-rw-r--. 1 wmat wmat 69 Nov 26 04:55 .gitignore
-rw-rw-r--. 1 wmat wmat 849 Nov 26 04:55 HEADER
drwxrwxr-x. 5 wmat wmat 4096 Jan 31 13:44 lib
-rw-rw-r--. 1 wmat wmat 195 Nov 26 04:55 MANIFEST.in
-rw-rw-r--. 1 wmat wmat 2887 Nov 26 04:55 TODO
At this point, you should have BitBake cloned to a directory that
matches the previous listing except for dates and user names.
Setting Up the BitBake Environment
==================================
First, you need to be sure that you can run BitBake. Set your working
directory to where your local BitBake files are and run the following
command: ::
$ ./bin/bitbake --version
BitBake Build Tool Core version 1.23.0, bitbake version 1.23.0
The console output tells you what version
you are running.
The recommended method to run BitBake is from a directory of your
choice. To be able to run BitBake from any directory, you need to add
the executable binary to your binary to your shell's environment
``PATH`` variable. First, look at your current ``PATH`` variable by
entering the following: ::
$ echo $PATH
Next, add the directory location
for the BitBake binary to the ``PATH``. Here is an example that adds the
``/home/scott-lenovo/bitbake/bin`` directory to the front of the
``PATH`` variable: ::
$ export PATH=/home/scott-lenovo/bitbake/bin:$PATH
You should now be able to enter the ``bitbake`` command from the command
line while working from any directory.
The Hello World Example
=======================
The overall goal of this exercise is to build a complete "Hello World"
example utilizing task and layer concepts. Because this is how modern
projects such as OpenEmbedded and the Yocto Project utilize BitBake, the
example provides an excellent starting point for understanding BitBake.
To help you understand how to use BitBake to build targets, the example
starts with nothing but the ``bitbake`` command, which causes BitBake to
fail and report problems. The example progresses by adding pieces to the
build to eventually conclude with a working, minimal "Hello World"
example.
While every attempt is made to explain what is happening during the
example, the descriptions cannot cover everything. You can find further
information throughout this manual. Also, you can actively participate
in the :oe_lists:`/g/bitbake-devel`
discussion mailing list about the BitBake build tool.
.. note::
This example was inspired by and drew heavily from
`Mailing List post - The BitBake equivalent of "Hello, World!"
<http://www.mail-archive.com/yocto@yoctoproject.org/msg09379.html>`_.
As stated earlier, the goal of this example is to eventually compile
"Hello World". However, it is unknown what BitBake needs and what you
have to provide in order to achieve that goal. Recall that BitBake
utilizes three types of metadata files:
:ref:`bitbake-user-manual/bitbake-user-manual-intro:configuration files`,
:ref:`bitbake-user-manual/bitbake-user-manual-intro:classes`, and
:ref:`bitbake-user-manual/bitbake-user-manual-intro:recipes`.
But where do they go? How does BitBake find
them? BitBake's error messaging helps you answer these types of
questions and helps you better understand exactly what is going on.
Following is the complete "Hello World" example.
#. **Create a Project Directory:** First, set up a directory for the
"Hello World" project. Here is how you can do so in your home
directory: ::
$ mkdir ~/hello
$ cd ~/hello
This is the directory that
BitBake will use to do all of its work. You can use this directory
to keep all the metafiles needed by BitBake. Having a project
directory is a good way to isolate your project.
#. **Run BitBake:** At this point, you have nothing but a project
directory. Run the ``bitbake`` command and see what it does: ::
$ bitbake
The BBPATH variable is not set and bitbake did not
find a conf/bblayers.conf file in the expected location.
Maybe you accidentally invoked bitbake from the wrong directory?
DEBUG: Removed the following variables from the environment:
GNOME_DESKTOP_SESSION_ID, XDG_CURRENT_DESKTOP,
GNOME_KEYRING_CONTROL, DISPLAY, SSH_AGENT_PID, LANG, no_proxy,
XDG_SESSION_PATH, XAUTHORITY, SESSION_MANAGER, SHLVL,
MANDATORY_PATH, COMPIZ_CONFIG_PROFILE, WINDOWID, EDITOR,
GPG_AGENT_INFO, SSH_AUTH_SOCK, GDMSESSION, GNOME_KEYRING_PID,
XDG_SEAT_PATH, XDG_CONFIG_DIRS, LESSOPEN, DBUS_SESSION_BUS_ADDRESS,
_, XDG_SESSION_COOKIE, DESKTOP_SESSION, LESSCLOSE, DEFAULTS_PATH,
UBUNTU_MENUPROXY, OLDPWD, XDG_DATA_DIRS, COLORTERM, LS_COLORS
The majority of this output is specific to environment variables that
are not directly relevant to BitBake. However, the very first
message regarding the ``BBPATH`` variable and the
``conf/bblayers.conf`` file is relevant.
When you run BitBake, it begins looking for metadata files. The
:term:`BBPATH` variable is what tells BitBake where
to look for those files. ``BBPATH`` is not set and you need to set
it. Without ``BBPATH``, BitBake cannot find any configuration files
(``.conf``) or recipe files (``.bb``) at all. BitBake also cannot
find the ``bitbake.conf`` file.
#. **Setting BBPATH:** For this example, you can set ``BBPATH`` in
the same manner that you set ``PATH`` earlier in the appendix. You
should realize, though, that it is much more flexible to set the
``BBPATH`` variable up in a configuration file for each project.
From your shell, enter the following commands to set and export the
``BBPATH`` variable: ::
$ BBPATH="projectdirectory"
$ export BBPATH
Use your actual project directory in the command. BitBake uses that
directory to find the metadata it needs for your project.
.. note::
When specifying your project directory, do not use the tilde
("~") character as BitBake does not expand that character as the
shell would.
#. **Run BitBake:** Now that you have ``BBPATH`` defined, run the
``bitbake`` command again: ::
$ bitbake
ERROR: Traceback (most recent call last):
File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 163, in wrapped
return func(fn, *args)
File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 173, in parse_config_file
return bb.parse.handle(fn, data, include)
File "/home/scott-lenovo/bitbake/lib/bb/parse/__init__.py", line 99, in handle
return h['handle'](fn, data, include)
File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/ConfHandler.py", line 120, in handle
abs_fn = resolve_file(fn, data)
File "/home/scott-lenovo/bitbake/lib/bb/parse/__init__.py", line 117, in resolve_file
raise IOError("file %s not found in %s" % (fn, bbpath))
IOError: file conf/bitbake.conf not found in /home/scott-lenovo/hello
ERROR: Unable to parse conf/bitbake.conf: file conf/bitbake.conf not found in /home/scott-lenovo/hello
This sample output shows that BitBake could not find the
``conf/bitbake.conf`` file in the project directory. This file is
the first thing BitBake must find in order to build a target. And,
since the project directory for this example is empty, you need to
provide a ``conf/bitbake.conf`` file.
#. **Creating conf/bitbake.conf:** The ``conf/bitbake.conf`` includes
a number of configuration variables BitBake uses for metadata and
recipe files. For this example, you need to create the file in your
project directory and define some key BitBake variables. For more
information on the ``bitbake.conf`` file, see
http://git.openembedded.org/bitbake/tree/conf/bitbake.conf.
Use the following commands to create the ``conf`` directory in the
project directory: ::
$ mkdir conf
From within the ``conf`` directory,
use some editor to create the ``bitbake.conf`` so that it contains
the following: ::
PN = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
TMPDIR = "${TOPDIR}/tmp"
CACHE = "${TMPDIR}/cache"
STAMP = "${TMPDIR}/${PN}/stamps"
T = "${TMPDIR}/${PN}/work"
B = "${TMPDIR}/${PN}"
.. note::
Without a value for PN , the variables STAMP , T , and B , prevent more
than one recipe from working. You can fix this by either setting PN to
have a value similar to what OpenEmbedded and BitBake use in the default
bitbake.conf file (see previous example). Or, by manually updating each
recipe to set PN . You will also need to include PN as part of the STAMP
, T , and B variable definitions in the local.conf file.
The ``TMPDIR`` variable establishes a directory that BitBake uses
for build output and intermediate files other than the cached
information used by the
:ref:`bitbake-user-manual/bitbake-user-manual-execution:setscene`
process. Here, the ``TMPDIR`` directory is set to ``hello/tmp``.
.. tip::
You can always safely delete the tmp directory in order to rebuild a
BitBake target. The build process creates the directory for you when you
run BitBake.
For information about each of the other variables defined in this
example, check :term:`PN`, :term:`TOPDIR`, :term:`CACHE`, :term:`STAMP`,
:term:`T` or :term:`B` to take you to the definitions in the
glossary.
#. **Run BitBake:** After making sure that the ``conf/bitbake.conf`` file
exists, you can run the ``bitbake`` command again: ::
$ bitbake
ERROR: Traceback (most recent call last):
File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 163, in wrapped
return func(fn, *args)
File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 177, in _inherit
bb.parse.BBHandler.inherit(bbclass, "configuration INHERITs", 0, data)
File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/BBHandler.py", line 92, in inherit
include(fn, file, lineno, d, "inherit")
File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/ConfHandler.py", line 100, in include
raise ParseError("Could not %(error_out)s file %(fn)s" % vars(), oldfn, lineno)
ParseError: ParseError in configuration INHERITs: Could not inherit file classes/base.bbclass
ERROR: Unable to parse base: ParseError in configuration INHERITs: Could not inherit file classes/base.bbclass
In the sample output,
BitBake could not find the ``classes/base.bbclass`` file. You need
to create that file next.
#. **Creating classes/base.bbclass:** BitBake uses class files to
provide common code and functionality. The minimally required class
for BitBake is the ``classes/base.bbclass`` file. The ``base`` class
is implicitly inherited by every recipe. BitBake looks for the class
in the ``classes`` directory of the project (i.e ``hello/classes``
in this example).
Create the ``classes`` directory as follows: ::
$ cd $HOME/hello
$ mkdir classes
Move to the ``classes`` directory and then create the
``base.bbclass`` file by inserting this single line: addtask build
The minimal task that BitBake runs is the ``do_build`` task. This is
all the example needs in order to build the project. Of course, the
``base.bbclass`` can have much more depending on which build
environments BitBake is supporting.
#. **Run BitBake:** After making sure that the ``classes/base.bbclass``
file exists, you can run the ``bitbake`` command again: ::
$ bitbake
Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.
BitBake is finally reporting
no errors. However, you can see that it really does not have
anything to do. You need to create a recipe that gives BitBake
something to do.
#. **Creating a Layer:** While it is not really necessary for such a
small example, it is good practice to create a layer in which to
keep your code separate from the general metadata used by BitBake.
Thus, this example creates and uses a layer called "mylayer".
.. note::
You can find additional information on layers in the
":ref:`bitbake-user-manual/bitbake-user-manual-intro:Layers`" section.
Minimally, you need a recipe file and a layer configuration file in
your layer. The configuration file needs to be in the ``conf``
directory inside the layer. Use these commands to set up the layer
and the ``conf`` directory: ::
$ cd $HOME
$ mkdir mylayer
$ cd mylayer
$ mkdir conf
Move to the ``conf`` directory and create a ``layer.conf`` file that has the
following: ::
BBPATH .= ":${LAYERDIR}"
BBFILES += "${LAYERDIR}/\*.bb"
BBFILE_COLLECTIONS += "mylayer"
`BBFILE_PATTERN_mylayer := "^${LAYERDIR_RE}/"
For information on these variables, click on :term:`BBFILES`,
:term:`LAYERDIR`, :term:`BBFILE_COLLECTIONS` or :term:`BBFILE_PATTERN_mylayer <BBFILE_PATTERN>`
to go to the definitions in the glossary.
You need to create the recipe file next. Inside your layer at the
top-level, use an editor and create a recipe file named
``printhello.bb`` that has the following: ::
DESCRIPTION = "Prints Hello World"
PN = 'printhello'
PV = '1'
python do_build() {
bb.plain("********************");
bb.plain("* *");
bb.plain("* Hello, World! *");
bb.plain("* *");
bb.plain("********************");
}
The recipe file simply provides
a description of the recipe, the name, version, and the ``do_build``
task, which prints out "Hello World" to the console. For more
information on :term:`DESCRIPTION`, :term:`PN` or :term:`PV`
follow the links to the glossary.
#. **Run BitBake With a Target:** Now that a BitBake target exists, run
the command and provide that target: ::
$ cd $HOME/hello
$ bitbake printhello
ERROR: no recipe files to build, check your BBPATH and BBFILES?
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
We have created the layer with the recipe and
the layer configuration file but it still seems that BitBake cannot
find the recipe. BitBake needs a ``conf/bblayers.conf`` that lists
the layers for the project. Without this file, BitBake cannot find
the recipe.
#. **Creating conf/bblayers.conf:** BitBake uses the
``conf/bblayers.conf`` file to locate layers needed for the project.
This file must reside in the ``conf`` directory of the project (i.e.
``hello/conf`` for this example).
Set your working directory to the ``hello/conf`` directory and then
create the ``bblayers.conf`` file so that it contains the following: ::
BBLAYERS ?= " \
/home/<you>/mylayer \
"
You need to provide your own information for ``you`` in the file.
#. **Run BitBake With a Target:** Now that you have supplied the
``bblayers.conf`` file, run the ``bitbake`` command and provide the
target: ::
$ bitbake printhello
Parsing recipes: 100% |##################################################################################|
Time: 00:00:00
Parsing of 1 .bb files complete (0 cached, 1 parsed). 1 targets, 0 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
NOTE: Preparing RunQueue
NOTE: Executing RunQueue Tasks
********************
* *
* Hello, World! *
* *
********************
NOTE: Tasks Summary: Attempted 1 tasks of which 0 didn't need to be rerun and all succeeded.
.. note::
After the first execution, re-running bitbake printhello again will not
result in a BitBake run that prints the same console output. The reason
for this is that the first time the printhello.bb recipe's do_build task
executes successfully, BitBake writes a stamp file for the task. Thus,
the next time you attempt to run the task using that same bitbake
command, BitBake notices the stamp and therefore determines that the task
does not need to be re-run. If you delete the tmp directory or run
bitbake -c clean printhello and then re-run the build, the "Hello,
World!" message will be printed again.

View File

@@ -0,0 +1,495 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<appendix id='hello-world-example'>
<title>Hello World Example</title>
<section id='bitbake-hello-world'>
<title>BitBake Hello World</title>
<para>
The simplest example commonly used to demonstrate any new
programming language or tool is the
"<ulink url="http://en.wikipedia.org/wiki/Hello_world_program">Hello World</ulink>"
example.
This appendix demonstrates, in tutorial form, Hello
World within the context of BitBake.
The tutorial describes how to create a new project
and the applicable metadata files necessary to allow
BitBake to build it.
</para>
</section>
<section id='example-obtaining-bitbake'>
<title>Obtaining BitBake</title>
<para>
See the
"<link linkend='obtaining-bitbake'>Obtaining BitBake</link>"
section for information on how to obtain BitBake.
Once you have the source code on your machine, the BitBake directory
appears as follows:
<literallayout class='monospaced'>
$ ls -al
total 100
drwxrwxr-x. 9 wmat wmat 4096 Jan 31 13:44 .
drwxrwxr-x. 3 wmat wmat 4096 Feb 4 10:45 ..
-rw-rw-r--. 1 wmat wmat 365 Nov 26 04:55 AUTHORS
drwxrwxr-x. 2 wmat wmat 4096 Nov 26 04:55 bin
drwxrwxr-x. 4 wmat wmat 4096 Jan 31 13:44 build
-rw-rw-r--. 1 wmat wmat 16501 Nov 26 04:55 ChangeLog
drwxrwxr-x. 2 wmat wmat 4096 Nov 26 04:55 classes
drwxrwxr-x. 2 wmat wmat 4096 Nov 26 04:55 conf
drwxrwxr-x. 3 wmat wmat 4096 Nov 26 04:55 contrib
-rw-rw-r--. 1 wmat wmat 17987 Nov 26 04:55 COPYING
drwxrwxr-x. 3 wmat wmat 4096 Nov 26 04:55 doc
-rw-rw-r--. 1 wmat wmat 69 Nov 26 04:55 .gitignore
-rw-rw-r--. 1 wmat wmat 849 Nov 26 04:55 HEADER
drwxrwxr-x. 5 wmat wmat 4096 Jan 31 13:44 lib
-rw-rw-r--. 1 wmat wmat 195 Nov 26 04:55 MANIFEST.in
-rw-rw-r--. 1 wmat wmat 2887 Nov 26 04:55 TODO
</literallayout>
</para>
<para>
At this point, you should have BitBake cloned to
a directory that matches the previous listing except for
dates and user names.
</para>
</section>
<section id='setting-up-the-bitbake-environment'>
<title>Setting Up the BitBake Environment</title>
<para>
First, you need to be sure that you can run BitBake.
Set your working directory to where your local BitBake
files are and run the following command:
<literallayout class='monospaced'>
$ ./bin/bitbake --version
BitBake Build Tool Core version 1.23.0, bitbake version 1.23.0
</literallayout>
The console output tells you what version you are running.
</para>
<para>
The recommended method to run BitBake is from a directory of your
choice.
To be able to run BitBake from any directory, you need to add the
executable binary to your binary to your shell's environment
<filename>PATH</filename> variable.
First, look at your current <filename>PATH</filename> variable
by entering the following:
<literallayout class='monospaced'>
$ echo $PATH
</literallayout>
Next, add the directory location for the BitBake binary to the
<filename>PATH</filename>.
Here is an example that adds the
<filename>/home/scott-lenovo/bitbake/bin</filename> directory
to the front of the <filename>PATH</filename> variable:
<literallayout class='monospaced'>
$ export PATH=/home/scott-lenovo/bitbake/bin:$PATH
</literallayout>
You should now be able to enter the <filename>bitbake</filename>
command from the command line while working from any directory.
</para>
</section>
<section id='the-hello-world-example'>
<title>The Hello World Example</title>
<para>
The overall goal of this exercise is to build a
complete "Hello World" example utilizing task and layer
concepts.
Because this is how modern projects such as OpenEmbedded and
the Yocto Project utilize BitBake, the example
provides an excellent starting point for understanding
BitBake.
</para>
<para>
To help you understand how to use BitBake to build targets,
the example starts with nothing but the <filename>bitbake</filename>
command, which causes BitBake to fail and report problems.
The example progresses by adding pieces to the build to
eventually conclude with a working, minimal "Hello World"
example.
</para>
<para>
While every attempt is made to explain what is happening during
the example, the descriptions cannot cover everything.
You can find further information throughout this manual.
Also, you can actively participate in the
<ulink url='http://lists.openembedded.org/mailman/listinfo/bitbake-devel'></ulink>
discussion mailing list about the BitBake build tool.
</para>
<note>
This example was inspired by and drew heavily from
<ulink url="http://www.mail-archive.com/yocto@yoctoproject.org/msg09379.html">Mailing List post - The BitBake equivalent of "Hello, World!"</ulink>.
</note>
<para>
As stated earlier, the goal of this example
is to eventually compile "Hello World".
However, it is unknown what BitBake needs and what you have
to provide in order to achieve that goal.
Recall that BitBake utilizes three types of metadata files:
<link linkend='configuration-files'>Configuration Files</link>,
<link linkend='classes'>Classes</link>, and
<link linkend='recipes'>Recipes</link>.
But where do they go?
How does BitBake find them?
BitBake's error messaging helps you answer these types of questions
and helps you better understand exactly what is going on.
</para>
<para>
Following is the complete "Hello World" example.
</para>
<orderedlist>
<listitem><para><emphasis>Create a Project Directory:</emphasis>
First, set up a directory for the "Hello World" project.
Here is how you can do so in your home directory:
<literallayout class='monospaced'>
$ mkdir ~/hello
$ cd ~/hello
</literallayout>
This is the directory that BitBake will use to do all of
its work.
You can use this directory to keep all the metafiles needed
by BitBake.
Having a project directory is a good way to isolate your
project.
</para></listitem>
<listitem><para><emphasis>Run Bitbake:</emphasis>
At this point, you have nothing but a project directory.
Run the <filename>bitbake</filename> command and see what
it does:
<literallayout class='monospaced'>
$ bitbake
The BBPATH variable is not set and bitbake did not
find a conf/bblayers.conf file in the expected location.
Maybe you accidentally invoked bitbake from the wrong directory?
DEBUG: Removed the following variables from the environment:
GNOME_DESKTOP_SESSION_ID, XDG_CURRENT_DESKTOP,
GNOME_KEYRING_CONTROL, DISPLAY, SSH_AGENT_PID, LANG, no_proxy,
XDG_SESSION_PATH, XAUTHORITY, SESSION_MANAGER, SHLVL,
MANDATORY_PATH, COMPIZ_CONFIG_PROFILE, WINDOWID, EDITOR,
GPG_AGENT_INFO, SSH_AUTH_SOCK, GDMSESSION, GNOME_KEYRING_PID,
XDG_SEAT_PATH, XDG_CONFIG_DIRS, LESSOPEN, DBUS_SESSION_BUS_ADDRESS,
_, XDG_SESSION_COOKIE, DESKTOP_SESSION, LESSCLOSE, DEFAULTS_PATH,
UBUNTU_MENUPROXY, OLDPWD, XDG_DATA_DIRS, COLORTERM, LS_COLORS
</literallayout>
The majority of this output is specific to environment variables
that are not directly relevant to BitBake.
However, the very first message regarding the
<filename>BBPATH</filename> variable and the
<filename>conf/bblayers.conf</filename> file
is relevant.</para>
<para>
When you run BitBake, it begins looking for metadata files.
The
<link linkend='var-BBPATH'><filename>BBPATH</filename></link>
variable is what tells BitBake where to look for those files.
<filename>BBPATH</filename> is not set and you need to set it.
Without <filename>BBPATH</filename>, Bitbake cannot
find any configuration files (<filename>.conf</filename>)
or recipe files (<filename>.bb</filename>) at all.
BitBake also cannot find the <filename>bitbake.conf</filename>
file.
</para></listitem>
<listitem><para><emphasis>Setting <filename>BBPATH</filename>:</emphasis>
For this example, you can set <filename>BBPATH</filename>
in the same manner that you set <filename>PATH</filename>
earlier in the appendix.
You should realize, though, that it is much more flexible to set the
<filename>BBPATH</filename> variable up in a configuration
file for each project.</para>
<para>From your shell, enter the following commands to set and
export the <filename>BBPATH</filename> variable:
<literallayout class='monospaced'>
$ BBPATH="<replaceable>projectdirectory</replaceable>"
$ export BBPATH
</literallayout>
Use your actual project directory in the command.
BitBake uses that directory to find the metadata it needs for
your project.
<note>
When specifying your project directory, do not use the
tilde ("~") character as BitBake does not expand that character
as the shell would.
</note>
</para></listitem>
<listitem><para><emphasis>Run Bitbake:</emphasis>
Now that you have <filename>BBPATH</filename> defined, run
the <filename>bitbake</filename> command again:
<literallayout class='monospaced'>
$ bitbake
ERROR: Traceback (most recent call last):
File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 163, in wrapped
return func(fn, *args)
File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 173, in parse_config_file
return bb.parse.handle(fn, data, include)
File "/home/scott-lenovo/bitbake/lib/bb/parse/__init__.py", line 99, in handle
return h['handle'](fn, data, include)
File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/ConfHandler.py", line 120, in handle
abs_fn = resolve_file(fn, data)
File "/home/scott-lenovo/bitbake/lib/bb/parse/__init__.py", line 117, in resolve_file
raise IOError("file %s not found in %s" % (fn, bbpath))
IOError: file conf/bitbake.conf not found in /home/scott-lenovo/hello
ERROR: Unable to parse conf/bitbake.conf: file conf/bitbake.conf not found in /home/scott-lenovo/hello
</literallayout>
This sample output shows that BitBake could not find the
<filename>conf/bitbake.conf</filename> file in the project
directory.
This file is the first thing BitBake must find in order
to build a target.
And, since the project directory for this example is
empty, you need to provide a <filename>conf/bitbake.conf</filename>
file.
</para></listitem>
<listitem><para><emphasis>Creating <filename>conf/bitbake.conf</filename>:</emphasis>
The <filename>conf/bitbake.conf</filename> includes a number of
configuration variables BitBake uses for metadata and recipe
files.
For this example, you need to create the file in your project directory
and define some key BitBake variables.
For more information on the <filename>bitbake.conf</filename>,
see
<ulink url='http://git.openembedded.org/bitbake/tree/conf/bitbake.conf'></ulink>.
</para>
<para>Use the following commands to create the <filename>conf</filename>
directory in the project directory:
<literallayout class='monospaced'>
$ mkdir conf
</literallayout>
From within the <filename>conf</filename> directory, use
some editor to create the <filename>bitbake.conf</filename>
so that it contains the following:
<literallayout class='monospaced'>
TMPDIR = "${<link linkend='var-TOPDIR'>TOPDIR</link>}/tmp"
<link linkend='var-CACHE'>CACHE</link> = "${TMPDIR}/cache"
<link linkend='var-STAMP'>STAMP</link> = "${TMPDIR}/stamps"
<link linkend='var-T'>T</link> = "${TMPDIR}/work"
<link linkend='var-B'>B</link> = "${TMPDIR}"
</literallayout>
The <filename>TMPDIR</filename> variable establishes a directory
that BitBake uses for build output and intermediate files (other
than the cached information used by the
<link linkend='setscene'>Setscene</link> process.
Here, the <filename>TMPDIR</filename> directory is set to
<filename>hello/tmp</filename>.
<note><title>Tip</title>
You can always safely delete the <filename>tmp</filename>
directory in order to rebuild a BitBake target.
The build process creates the directory for you
when you run BitBake.
</note></para>
<para>For information about each of the other variables defined in this
example, click on the links to take you to the definitions in
the glossary.
</para></listitem>
<listitem><para><emphasis>Run Bitbake:</emphasis>
After making sure that the <filename>conf/bitbake.conf</filename>
file exists, you can run the <filename>bitbake</filename>
command again:
<literallayout class='monospaced'>
$ bitbake
ERROR: Traceback (most recent call last):
File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 163, in wrapped
return func(fn, *args)
File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 177, in _inherit
bb.parse.BBHandler.inherit(bbclass, "configuration INHERITs", 0, data)
File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/BBHandler.py", line 92, in inherit
include(fn, file, lineno, d, "inherit")
File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/ConfHandler.py", line 100, in include
raise ParseError("Could not %(error_out)s file %(fn)s" % vars(), oldfn, lineno)
ParseError: ParseError in configuration INHERITs: Could not inherit file classes/base.bbclass
ERROR: Unable to parse base: ParseError in configuration INHERITs: Could not inherit file classes/base.bbclass
</literallayout>
In the sample output, BitBake could not find the
<filename>classes/base.bbclass</filename> file.
You need to create that file next.
</para></listitem>
<listitem><para><emphasis>Creating <filename>classes/base.bbclass</filename>:</emphasis>
BitBake uses class files to provide common code and functionality.
The minimally required class for BitBake is the
<filename>classes/base.bbclass</filename> file.
The <filename>base</filename> class is implicitly inherited by
every recipe.
BitBake looks for the class in the <filename>classes</filename>
directory of the project (i.e <filename>hello/classes</filename>
in this example).
</para>
<para>Create the <filename>classes</filename> directory as follows:
<literallayout class='monospaced'>
$ cd $HOME/hello
$ mkdir classes
</literallayout>
Move to the <filename>classes</filename> directory and then
create the <filename>base.bbclass</filename> file by inserting
this single line:
<literallayout class='monospaced'>
addtask build
</literallayout>
The minimal task that BitBake runs is the
<filename>do_build</filename> task.
This is all the example needs in order to build the project.
Of course, the <filename>base.bbclass</filename> can have much
more depending on which build environments BitBake is
supporting.
</para></listitem>
<listitem><para><emphasis>Run Bitbake:</emphasis>
After making sure that the <filename>classes/base.bbclass</filename>
file exists, you can run the <filename>bitbake</filename>
command again:
<literallayout class='monospaced'>
$ bitbake
Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.
</literallayout>
BitBake is finally reporting no errors.
However, you can see that it really does not have anything
to do.
You need to create a recipe that gives BitBake something to do.
</para></listitem>
<listitem><para><emphasis>Creating a Layer:</emphasis>
While it is not really necessary for such a small example,
it is good practice to create a layer in which to keep your
code separate from the general metadata used by BitBake.
Thus, this example creates and uses a layer called "mylayer".
<note>
You can find additional information on layers at
<ulink url='http://www.yoctoproject.org/docs/2.3/bitbake-user-manual/bitbake-user-manual.html#layers'></ulink>.
</note>
</para>
<para>Minimally, you need a recipe file and a layer configuration
file in your layer.
The configuration file needs to be in the <filename>conf</filename>
directory inside the layer.
Use these commands to set up the layer and the <filename>conf</filename>
directory:
<literallayout class='monospaced'>
$ cd $HOME
$ mkdir mylayer
$ cd mylayer
$ mkdir conf
</literallayout>
Move to the <filename>conf</filename> directory and create a
<filename>layer.conf</filename> file that has the following:
<literallayout class='monospaced'>
BBPATH .= ":${<link linkend='var-LAYERDIR'>LAYERDIR</link>}"
<link linkend='var-BBFILES'>BBFILES</link> += "${LAYERDIR}/*.bb"
<link linkend='var-BBFILE_COLLECTIONS'>BBFILE_COLLECTIONS</link> += "mylayer"
<link linkend='var-BBFILE_PATTERN'>BBFILE_PATTERN_mylayer</link> := "^${LAYERDIR_RE}/"
</literallayout>
For information on these variables, click the links
to go to the definitions in the glossary.</para>
<para>You need to create the recipe file next.
Inside your layer at the top-level, use an editor and create
a recipe file named <filename>printhello.bb</filename> that
has the following:
<literallayout class='monospaced'>
<link linkend='var-DESCRIPTION'>DESCRIPTION</link> = "Prints Hello World"
<link linkend='var-PN'>PN</link> = 'printhello'
<link linkend='var-PV'>PV</link> = '1'
python do_build() {
bb.plain("********************");
bb.plain("* *");
bb.plain("* Hello, World! *");
bb.plain("* *");
bb.plain("********************");
}
</literallayout>
The recipe file simply provides a description of the
recipe, the name, version, and the <filename>do_build</filename>
task, which prints out "Hello World" to the console.
For more information on these variables, follow the links
to the glossary.
</para></listitem>
<listitem><para><emphasis>Run Bitbake With a Target:</emphasis>
Now that a BitBake target exists, run the command and provide
that target:
<literallayout class='monospaced'>
$ cd $HOME/hello
$ bitbake printhello
ERROR: no recipe files to build, check your BBPATH and BBFILES?
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
</literallayout>
We have created the layer with the recipe and the layer
configuration file but it still seems that BitBake cannot
find the recipe.
BitBake needs a <filename>conf/bblayers.conf</filename> that
lists the layers for the project.
Without this file, BitBake cannot find the recipe.
</para></listitem>
<listitem><para><emphasis>Creating <filename>conf/bblayers.conf</filename>:</emphasis>
BitBake uses the <filename>conf/bblayers.conf</filename> file
to locate layers needed for the project.
This file must reside in the <filename>conf</filename> directory
of the project (i.e. <filename>hello/conf</filename> for this
example).</para>
<para>Set your working directory to the <filename>hello/conf</filename>
directory and then create the <filename>bblayers.conf</filename>
file so that it contains the following:
<literallayout class='monospaced'>
BBLAYERS ?= " \
/home/&lt;you&gt;/mylayer \
"
</literallayout>
You need to provide your own information for
<filename>you</filename> in the file.
</para></listitem>
<listitem><para><emphasis>Run Bitbake With a Target:</emphasis>
Now that you have supplied the <filename>bblayers.conf</filename>
file, run the <filename>bitbake</filename> command and provide
the target:
<literallayout class='monospaced'>
$ bitbake printhello
Parsing recipes: 100% |##################################################################################|
Time: 00:00:00
Parsing of 1 .bb files complete (0 cached, 1 parsed). 1 targets, 0 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
NOTE: Preparing RunQueue
NOTE: Executing RunQueue Tasks
********************
* *
* Hello, World! *
* *
********************
NOTE: Tasks Summary: Attempted 1 tasks of which 0 didn't need to be rerun and all succeeded.
</literallayout>
BitBake finds the <filename>printhello</filename> recipe and
successfully runs the task.
<note>
After the first execution, re-running
<filename>bitbake printhello</filename> again will not
result in a BitBake run that prints the same console
output.
The reason for this is that the first time the
<filename>printhello.bb</filename> recipe's
<filename>do_build</filename> task executes
successfully, BitBake writes a stamp file for the task.
Thus, the next time you attempt to run the task
using that same <filename>bitbake</filename> command,
BitBake notices the stamp and therefore determines
that the task does not need to be re-run.
If you delete the <filename>tmp</filename> directory
or run <filename>bitbake -c clean printhello</filename>
and then re-run the build, the "Hello, World!" message will
be printed again.
</note>
</para></listitem>
</orderedlist>
</section>
</appendix>

View File

@@ -1,651 +0,0 @@
.. SPDX-License-Identifier: CC-BY-2.5
========
Overview
========
|
Welcome to the BitBake User Manual. This manual provides information on
the BitBake tool. The information attempts to be as independent as
possible regarding systems that use BitBake, such as OpenEmbedded and
the Yocto Project. In some cases, scenarios or examples within the
context of a build system are used in the manual to help with
understanding. For these cases, the manual clearly states the context.
.. _intro:
Introduction
============
Fundamentally, BitBake is a generic task execution engine that allows
shell and Python tasks to be run efficiently and in parallel while
working within complex inter-task dependency constraints. One of
BitBake's main users, OpenEmbedded, takes this core and builds embedded
Linux software stacks using a task-oriented approach.
Conceptually, BitBake is similar to GNU Make in some regards but has
significant differences:
- BitBake executes tasks according to provided metadata that builds up
the tasks. Metadata is stored in recipe (``.bb``) and related recipe
"append" (``.bbappend``) files, configuration (``.conf``) and
underlying include (``.inc``) files, and in class (``.bbclass``)
files. The metadata provides BitBake with instructions on what tasks
to run and the dependencies between those tasks.
- BitBake includes a fetcher library for obtaining source code from
various places such as local files, source control systems, or
websites.
- The instructions for each unit to be built (e.g. a piece of software)
are known as "recipe" files and contain all the information about the
unit (dependencies, source file locations, checksums, description and
so on).
- BitBake includes a client/server abstraction and can be used from a
command line or used as a service over XML-RPC and has several
different user interfaces.
History and Goals
=================
BitBake was originally a part of the OpenEmbedded project. It was
inspired by the Portage package management system used by the Gentoo
Linux distribution. On December 7, 2004, OpenEmbedded project team
member Chris Larson split the project into two distinct pieces:
- BitBake, a generic task executor
- OpenEmbedded, a metadata set utilized by BitBake
Today, BitBake is the primary basis of the
`OpenEmbedded <http://www.openembedded.org/>`__ project, which is being
used to build and maintain Linux distributions such as the `Angstrom
Distribution <http://www.angstrom-distribution.org/>`__, and which is
also being used as the build tool for Linux projects such as the `Yocto
Project <http://www.yoctoproject.org>`__.
Prior to BitBake, no other build tool adequately met the needs of an
aspiring embedded Linux distribution. All of the build systems used by
traditional desktop Linux distributions lacked important functionality,
and none of the ad hoc Buildroot-based systems, prevalent in the
embedded space, were scalable or maintainable.
Some important original goals for BitBake were:
- Handle cross-compilation.
- Handle inter-package dependencies (build time on target architecture,
build time on native architecture, and runtime).
- Support running any number of tasks within a given package,
including, but not limited to, fetching upstream sources, unpacking
them, patching them, configuring them, and so forth.
- Be Linux distribution agnostic for both build and target systems.
- Be architecture agnostic.
- Support multiple build and target operating systems (e.g. Cygwin, the
BSDs, and so forth).
- Be self-contained, rather than tightly integrated into the build
machine's root filesystem.
- Handle conditional metadata on the target architecture, operating
system, distribution, and machine.
- Be easy to use the tools to supply local metadata and packages
against which to operate.
- Be easy to use BitBake to collaborate between multiple projects for
their builds.
- Provide an inheritance mechanism to share common metadata between
many packages.
Over time it became apparent that some further requirements were
necessary:
- Handle variants of a base recipe (e.g. native, sdk, and multilib).
- Split metadata into layers and allow layers to enhance or override
other layers.
- Allow representation of a given set of input variables to a task as a
checksum. Based on that checksum, allow acceleration of builds with
prebuilt components.
BitBake satisfies all the original requirements and many more with
extensions being made to the basic functionality to reflect the
additional requirements. Flexibility and power have always been the
priorities. BitBake is highly extensible and supports embedded Python
code and execution of any arbitrary tasks.
.. _Concepts:
Concepts
========
BitBake is a program written in the Python language. At the highest
level, BitBake interprets metadata, decides what tasks are required to
run, and executes those tasks. Similar to GNU Make, BitBake controls how
software is built. GNU Make achieves its control through "makefiles",
while BitBake uses "recipes".
BitBake extends the capabilities of a simple tool like GNU Make by
allowing for the definition of much more complex tasks, such as
assembling entire embedded Linux distributions.
The remainder of this section introduces several concepts that should be
understood in order to better leverage the power of BitBake.
Recipes
-------
BitBake Recipes, which are denoted by the file extension ``.bb``, are
the most basic metadata files. These recipe files provide BitBake with
the following:
- Descriptive information about the package (author, homepage, license,
and so on)
- The version of the recipe
- Existing dependencies (both build and runtime dependencies)
- Where the source code resides and how to fetch it
- Whether the source code requires any patches, where to find them, and
how to apply them
- How to configure and compile the source code
- How to assemble the generated artifacts into one or more installable
packages
- Where on the target machine to install the package or packages
created
Within the context of BitBake, or any project utilizing BitBake as its
build system, files with the ``.bb`` extension are referred to as
recipes.
.. note::
The term "package" is also commonly used to describe recipes.
However, since the same word is used to describe packaged output from
a project, it is best to maintain a single descriptive term -
"recipes". Put another way, a single "recipe" file is quite capable
of generating a number of related but separately installable
"packages". In fact, that ability is fairly common.
Configuration Files
-------------------
Configuration files, which are denoted by the ``.conf`` extension,
define various configuration variables that govern the project's build
process. These files fall into several areas that define machine
configuration, distribution configuration, possible compiler tuning,
general common configuration, and user configuration. The main
configuration file is the sample ``bitbake.conf`` file, which is located
within the BitBake source tree ``conf`` directory.
Classes
-------
Class files, which are denoted by the ``.bbclass`` extension, contain
information that is useful to share between metadata files. The BitBake
source tree currently comes with one class metadata file called
``base.bbclass``. You can find this file in the ``classes`` directory.
The ``base.bbclass`` class files is special since it is always included
automatically for all recipes and classes. This class contains
definitions for standard basic tasks such as fetching, unpacking,
configuring (empty by default), compiling (runs any Makefile present),
installing (empty by default) and packaging (empty by default). These
tasks are often overridden or extended by other classes added during the
project development process.
Layers
------
Layers allow you to isolate different types of customizations from each
other. While you might find it tempting to keep everything in one layer
when working on a single project, the more modular your metadata, the
easier it is to cope with future changes.
To illustrate how you can use layers to keep things modular, consider
customizations you might make to support a specific target machine.
These types of customizations typically reside in a special layer,
rather than a general layer, called a Board Support Package (BSP) layer.
Furthermore, the machine customizations should be isolated from recipes
and metadata that support a new GUI environment, for example. This
situation gives you a couple of layers: one for the machine
configurations and one for the GUI environment. It is important to
understand, however, that the BSP layer can still make machine-specific
additions to recipes within the GUI environment layer without polluting
the GUI layer itself with those machine-specific changes. You can
accomplish this through a recipe that is a BitBake append
(``.bbappend``) file.
.. _append-bbappend-files:
Append Files
------------
Append files, which are files that have the ``.bbappend`` file
extension, extend or override information in an existing recipe file.
BitBake expects every append file to have a corresponding recipe file.
Furthermore, the append file and corresponding recipe file must use the
same root filename. The filenames can differ only in the file type
suffix used (e.g. ``formfactor_0.0.bb`` and
``formfactor_0.0.bbappend``).
Information in append files extends or overrides the information in the
underlying, similarly-named recipe files.
When you name an append file, you can use the "``%``" wildcard character
to allow for matching recipe names. For example, suppose you have an
append file named as follows: ::
busybox_1.21.%.bbappend
That append file
would match any ``busybox_1.21.``\ x\ ``.bb`` version of the recipe. So,
the append file would match the following recipe names: ::
busybox_1.21.1.bb
busybox_1.21.2.bb
busybox_1.21.3.bb
.. note::
The use of the " % " character is limited in that it only works directly in
front of the .bbappend portion of the append file's name. You cannot use the
wildcard character in any other location of the name.
If the ``busybox`` recipe was updated to ``busybox_1.3.0.bb``, the
append name would not match. However, if you named the append file
``busybox_1.%.bbappend``, then you would have a match.
In the most general case, you could name the append file something as
simple as ``busybox_%.bbappend`` to be entirely version independent.
Obtaining BitBake
=================
You can obtain BitBake several different ways:
- **Cloning BitBake:** Using Git to clone the BitBake source code
repository is the recommended method for obtaining BitBake. Cloning
the repository makes it easy to get bug fixes and have access to
stable branches and the master branch. Once you have cloned BitBake,
you should use the latest stable branch for development since the
master branch is for BitBake development and might contain less
stable changes.
You usually need a version of BitBake that matches the metadata you
are using. The metadata is generally backwards compatible but not
forward compatible.
Here is an example that clones the BitBake repository: ::
$ git clone git://git.openembedded.org/bitbake
This command clones the BitBake
Git repository into a directory called ``bitbake``. Alternatively,
you can designate a directory after the ``git clone`` command if you
want to call the new directory something other than ``bitbake``. Here
is an example that names the directory ``bbdev``: ::
$ git clone git://git.openembedded.org/bitbake bbdev
- **Installation using your Distribution Package Management System:**
This method is not recommended because the BitBake version that is
provided by your distribution, in most cases, is several releases
behind a snapshot of the BitBake repository.
- **Taking a snapshot of BitBake:** Downloading a snapshot of BitBake
from the source code repository gives you access to a known branch or
release of BitBake.
.. note::
Cloning the Git repository, as described earlier, is the preferred
method for getting BitBake. Cloning the repository makes it easier
to update as patches are added to the stable branches.
The following example downloads a snapshot of BitBake version 1.17.0: ::
$ wget http://git.openembedded.org/bitbake/snapshot/bitbake-1.17.0.tar.gz
$ tar zxpvf bitbake-1.17.0.tar.gz
After extraction of the tarball using
the tar utility, you have a directory entitled ``bitbake-1.17.0``.
- **Using the BitBake that Comes With Your Build Checkout:** A final
possibility for getting a copy of BitBake is that it already comes
with your checkout of a larger BitBake-based build system, such as
Poky. Rather than manually checking out individual layers and gluing
them together yourself, you can check out an entire build system. The
checkout will already include a version of BitBake that has been
thoroughly tested for compatibility with the other components. For
information on how to check out a particular BitBake-based build
system, consult that build system's supporting documentation.
.. _bitbake-user-manual-command:
The BitBake Command
===================
The ``bitbake`` command is the primary interface to the BitBake tool.
This section presents the BitBake command syntax and provides several
execution examples.
Usage and syntax
----------------
Following is the usage and syntax for BitBake: ::
$ bitbake -h
Usage: bitbake [options] [recipename/target recipe:do_task ...]
Executes the specified task (default is 'build') for a given set of target recipes (.bb files).
It is assumed there is a conf/bblayers.conf available in cwd or in BBPATH which
will provide the layer, BBFILES and other configuration information.
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-b BUILDFILE, --buildfile=BUILDFILE
Execute tasks from a specific .bb recipe directly.
WARNING: Does not handle any dependencies from other
recipes.
-k, --continue Continue as much as possible after an error. While the
target that failed and anything depending on it cannot
be built, as much as possible will be built before
stopping.
-f, --force Force the specified targets/task to run (invalidating
any existing stamp file).
-c CMD, --cmd=CMD Specify the task to execute. The exact options
available depend on the metadata. Some examples might
be 'compile' or 'populate_sysroot' or 'listtasks' may
give a list of the tasks available.
-C INVALIDATE_STAMP, --clear-stamp=INVALIDATE_STAMP
Invalidate the stamp for the specified task such as
'compile' and then run the default task for the
specified target(s).
-r PREFILE, --read=PREFILE
Read the specified file before bitbake.conf.
-R POSTFILE, --postread=POSTFILE
Read the specified file after bitbake.conf.
-v, --verbose Enable tracing of shell tasks (with 'set -x'). Also
print bb.note(...) messages to stdout (in addition to
writing them to ${T}/log.do_&lt;task&gt;).
-D, --debug Increase the debug level. You can specify this more
than once. -D sets the debug level to 1, where only
bb.debug(1, ...) messages are printed to stdout; -DD
sets the debug level to 2, where both bb.debug(1, ...)
and bb.debug(2, ...) messages are printed; etc.
Without -D, no debug messages are printed. Note that
-D only affects output to stdout. All debug messages
are written to ${T}/log.do_taskname, regardless of the
debug level.
-q, --quiet Output less log message data to the terminal. You can
specify this more than once.
-n, --dry-run Don't execute, just go through the motions.
-S SIGNATURE_HANDLER, --dump-signatures=SIGNATURE_HANDLER
Dump out the signature construction information, with
no task execution. The SIGNATURE_HANDLER parameter is
passed to the handler. Two common values are none and
printdiff but the handler may define more/less. none
means only dump the signature, printdiff means compare
the dumped signature with the cached one.
-p, --parse-only Quit after parsing the BB recipes.
-s, --show-versions Show current and preferred versions of all recipes.
-e, --environment Show the global or per-recipe environment complete
with information about where variables were
set/changed.
-g, --graphviz Save dependency tree information for the specified
targets in the dot syntax.
-I EXTRA_ASSUME_PROVIDED, --ignore-deps=EXTRA_ASSUME_PROVIDED
Assume these dependencies don't exist and are already
provided (equivalent to ASSUME_PROVIDED). Useful to
make dependency graphs more appealing
-l DEBUG_DOMAINS, --log-domains=DEBUG_DOMAINS
Show debug logging for the specified logging domains
-P, --profile Profile the command and save reports.
-u UI, --ui=UI The user interface to use (knotty, ncurses or taskexp
- default knotty).
--token=XMLRPCTOKEN Specify the connection token to be used when
connecting to a remote server.
--revisions-changed Set the exit code depending on whether upstream
floating revisions have changed or not.
--server-only Run bitbake without a UI, only starting a server
(cooker) process.
-B BIND, --bind=BIND The name/address for the bitbake xmlrpc server to bind
to.
-T SERVER_TIMEOUT, --idle-timeout=SERVER_TIMEOUT
Set timeout to unload bitbake server due to
inactivity, set to -1 means no unload, default:
Environment variable BB_SERVER_TIMEOUT.
--no-setscene Do not run any setscene tasks. sstate will be ignored
and everything needed, built.
--setscene-only Only run setscene tasks, don't run any real tasks.
--remote-server=REMOTE_SERVER
Connect to the specified server.
-m, --kill-server Terminate any running bitbake server.
--observe-only Connect to a server as an observing-only client.
--status-only Check the status of the remote bitbake server.
-w WRITEEVENTLOG, --write-log=WRITEEVENTLOG
Writes the event log of the build to a bitbake event
json file. Use '' (empty string) to assign the name
automatically.
--runall=RUNALL Run the specified task for any recipe in the taskgraph
of the specified target (even if it wouldn't otherwise
have run).
--runonly=RUNONLY Run only the specified task within the taskgraph of
the specified targets (and any task dependencies those
tasks may have).
.. _bitbake-examples:
Examples
--------
This section presents some examples showing how to use BitBake.
.. _example-executing-a-task-against-a-single-recipe:
Executing a Task Against a Single Recipe
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Executing tasks for a single recipe file is relatively simple. You
specify the file in question, and BitBake parses it and executes the
specified task. If you do not specify a task, BitBake executes the
default task, which is "build". BitBake obeys inter-task dependencies
when doing so.
The following command runs the build task, which is the default task, on
the ``foo_1.0.bb`` recipe file: ::
$ bitbake -b foo_1.0.bb
The following command runs the clean task on the ``foo.bb`` recipe file: ::
$ bitbake -b foo.bb -c clean
.. note::
The "-b" option explicitly does not handle recipe dependencies. Other
than for debugging purposes, it is instead recommended that you use
the syntax presented in the next section.
Executing Tasks Against a Set of Recipe Files
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There are a number of additional complexities introduced when one wants
to manage multiple ``.bb`` files. Clearly there needs to be a way to
tell BitBake what files are available and, of those, which you want to
execute. There also needs to be a way for each recipe to express its
dependencies, both for build-time and runtime. There must be a way for
you to express recipe preferences when multiple recipes provide the same
functionality, or when there are multiple versions of a recipe.
The ``bitbake`` command, when not using "--buildfile" or "-b" only
accepts a "PROVIDES". You cannot provide anything else. By default, a
recipe file generally "PROVIDES" its "packagename" as shown in the
following example: ::
$ bitbake foo
This next example "PROVIDES" the
package name and also uses the "-c" option to tell BitBake to just
execute the ``do_clean`` task: ::
$ bitbake -c clean foo
Executing a List of Task and Recipe Combinations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The BitBake command line supports specifying different tasks for
individual targets when you specify multiple targets. For example,
suppose you had two targets (or recipes) ``myfirstrecipe`` and
``mysecondrecipe`` and you needed BitBake to run ``taskA`` for the first
recipe and ``taskB`` for the second recipe: ::
$ bitbake myfirstrecipe:do_taskA mysecondrecipe:do_taskB
Generating Dependency Graphs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BitBake is able to generate dependency graphs using the ``dot`` syntax.
You can convert these graphs into images using the ``dot`` tool from
`Graphviz <http://www.graphviz.org>`__.
When you generate a dependency graph, BitBake writes two files to the
current working directory:
- ``task-depends.dot``: Shows dependencies between tasks. These
dependencies match BitBake's internal task execution list.
- ``pn-buildlist``: Shows a simple list of targets that are to be
built.
To stop depending on common depends, use the "-I" depend option and
BitBake omits them from the graph. Leaving this information out can
produce more readable graphs. This way, you can remove from the graph
``DEPENDS`` from inherited classes such as ``base.bbclass``.
Here are two examples that create dependency graphs. The second example
omits depends common in OpenEmbedded from the graph: ::
$ bitbake -g foo
$ bitbake -g -I virtual/kernel -I eglibc foo
Executing a Multiple Configuration Build
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BitBake is able to build multiple images or packages using a single
command where the different targets require different configurations
(multiple configuration builds). Each target, in this scenario, is
referred to as a "multiconfig".
To accomplish a multiple configuration build, you must define each
target's configuration separately using a parallel configuration file in
the build directory. The location for these multiconfig configuration
files is specific. They must reside in the current build directory in a
sub-directory of ``conf`` named ``multiconfig``. Following is an example
for two separate targets:
.. image:: figures/bb_multiconfig_files.png
:align: center
The reason for this required file hierarchy is because the ``BBPATH``
variable is not constructed until the layers are parsed. Consequently,
using the configuration file as a pre-configuration file is not possible
unless it is located in the current working directory.
Minimally, each configuration file must define the machine and the
temporary directory BitBake uses for the build. Suggested practice
dictates that you do not overlap the temporary directories used during
the builds.
Aside from separate configuration files for each target, you must also
enable BitBake to perform multiple configuration builds. Enabling is
accomplished by setting the
:term:`BBMULTICONFIG` variable in the
``local.conf`` configuration file. As an example, suppose you had
configuration files for ``target1`` and ``target2`` defined in the build
directory. The following statement in the ``local.conf`` file both
enables BitBake to perform multiple configuration builds and specifies
the two extra multiconfigs: ::
BBMULTICONFIG = "target1 target2"
Once the target configuration files are in place and BitBake has been
enabled to perform multiple configuration builds, use the following
command form to start the builds: ::
$ bitbake [mc:multiconfigname:]target [[[mc:multiconfigname:]target] ... ]
Here is an example for two extra multiconfigs: ``target1`` and ``target2``: ::
$ bitbake mc::target mc:target1:target mc:target2:target
.. _bb-enabling-multiple-configuration-build-dependencies:
Enabling Multiple Configuration Build Dependencies
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sometimes dependencies can exist between targets (multiconfigs) in a
multiple configuration build. For example, suppose that in order to
build an image for a particular architecture, the root filesystem of
another build for a different architecture needs to exist. In other
words, the image for the first multiconfig depends on the root
filesystem of the second multiconfig. This dependency is essentially
that the task in the recipe that builds one multiconfig is dependent on
the completion of the task in the recipe that builds another
multiconfig.
To enable dependencies in a multiple configuration build, you must
declare the dependencies in the recipe using the following statement
form: ::
task_or_package[mcdepends] = "mc:from_multiconfig:to_multiconfig:recipe_name:task_on_which_to_depend"
To better show how to use this statement, consider an example with two
multiconfigs: ``target1`` and ``target2``: ::
image_task[mcdepends] = "mc:target1:target2:image2:rootfs_task"
In this example, the
``from_multiconfig`` is "target1" and the ``to_multiconfig`` is "target2". The
task on which the image whose recipe contains image_task depends on the
completion of the rootfs_task used to build out image2, which is
associated with the "target2" multiconfig.
Once you set up this dependency, you can build the "target1" multiconfig
using a BitBake command as follows: ::
$ bitbake mc:target1:image1
This command executes all the tasks needed to create ``image1`` for the "target1"
multiconfig. Because of the dependency, BitBake also executes through
the ``rootfs_task`` for the "target2" multiconfig build.
Having a recipe depend on the root filesystem of another build might not
seem that useful. Consider this change to the statement in the image1
recipe: ::
image_task[mcdepends] = "mc:target1:target2:image2:image_task"
In this case, BitBake must create ``image2`` for the "target2" build since
the "target1" build depends on it.
Because "target1" and "target2" are enabled for multiple configuration
builds and have separate configuration files, BitBake places the
artifacts for each build in the respective temporary build directories.

View File

@@ -0,0 +1,721 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<chapter id="bitbake-user-manual-intro">
<title>Overview</title>
<para>
Welcome to the BitBake User Manual.
This manual provides information on the BitBake tool.
The information attempts to be as independent as possible regarding
systems that use BitBake, such as OpenEmbedded and the
Yocto Project.
In some cases, scenarios or examples within the context of
a build system are used in the manual to help with understanding.
For these cases, the manual clearly states the context.
</para>
<section id="intro">
<title>Introduction</title>
<para>
Fundamentally, BitBake is a generic task execution
engine that allows shell and Python tasks to be run
efficiently and in parallel while working within
complex inter-task dependency constraints.
One of BitBake's main users, OpenEmbedded, takes this core
and builds embedded Linux software stacks using
a task-oriented approach.
</para>
<para>
Conceptually, BitBake is similar to GNU Make in
some regards but has significant differences:
<itemizedlist>
<listitem><para>
BitBake executes tasks according to provided
metadata that builds up the tasks.
Metadata is stored in recipe (<filename>.bb</filename>)
and related recipe "append" (<filename>.bbappend</filename>)
files, configuration (<filename>.conf</filename>) and
underlying include (<filename>.inc</filename>) files, and
in class (<filename>.bbclass</filename>) files.
The metadata provides
BitBake with instructions on what tasks to run and
the dependencies between those tasks.
</para></listitem>
<listitem><para>
BitBake includes a fetcher library for obtaining source
code from various places such as local files, source control
systems, or websites.
</para></listitem>
<listitem><para>
The instructions for each unit to be built (e.g. a piece
of software) are known as "recipe" files and
contain all the information about the unit
(dependencies, source file locations, checksums, description
and so on).
</para></listitem>
<listitem><para>
BitBake includes a client/server abstraction and can
be used from a command line or used as a service over
XML-RPC and has several different user interfaces.
</para></listitem>
</itemizedlist>
</para>
</section>
<section id="history-and-goals">
<title>History and Goals</title>
<para>
BitBake was originally a part of the OpenEmbedded project.
It was inspired by the Portage package management system
used by the Gentoo Linux distribution.
On December 7, 2004, OpenEmbedded project team member
Chris Larson split the project into two distinct pieces:
<itemizedlist>
<listitem><para>BitBake, a generic task executor</para></listitem>
<listitem><para>OpenEmbedded, a metadata set utilized by
BitBake</para></listitem>
</itemizedlist>
Today, BitBake is the primary basis of the
<ulink url="http://www.openembedded.org/">OpenEmbedded</ulink>
project, which is being used to build and maintain Linux
distributions such as the
<ulink url='http://www.angstrom-distribution.org/'>Angstrom Distribution</ulink>,
and which is also being used as the build tool for Linux projects
such as the
<ulink url='http://www.yoctoproject.org'>Yocto Project</ulink>.
</para>
<para>
Prior to BitBake, no other build tool adequately met the needs of
an aspiring embedded Linux distribution.
All of the build systems used by traditional desktop Linux
distributions lacked important functionality, and none of the
ad hoc Buildroot-based systems, prevalent in the
embedded space, were scalable or maintainable.
</para>
<para>
Some important original goals for BitBake were:
<itemizedlist>
<listitem><para>
Handle cross-compilation.
</para></listitem>
<listitem><para>
Handle inter-package dependencies (build time on
target architecture, build time on native
architecture, and runtime).
</para></listitem>
<listitem><para>
Support running any number of tasks within a given
package, including, but not limited to, fetching
upstream sources, unpacking them, patching them,
configuring them, and so forth.
</para></listitem>
<listitem><para>
Be Linux distribution agnostic for both build and
target systems.
</para></listitem>
<listitem><para>
Be architecture agnostic.
</para></listitem>
<listitem><para>
Support multiple build and target operating systems
(e.g. Cygwin, the BSDs, and so forth).
</para></listitem>
<listitem><para>
Be self contained, rather than tightly
integrated into the build machine's root
filesystem.
</para></listitem>
<listitem><para>
Handle conditional metadata on the target architecture,
operating system, distribution, and machine.
</para></listitem>
<listitem><para>
Be easy to use the tools to supply local metadata and packages
against which to operate.
</para></listitem>
<listitem><para>
Be easy to use BitBake to collaborate between multiple
projects for their builds.
</para></listitem>
<listitem><para>
Provide an inheritance mechanism to share
common metadata between many packages.
</para></listitem>
</itemizedlist>
Over time it became apparent that some further requirements
were necessary:
<itemizedlist>
<listitem><para>
Handle variants of a base recipe (e.g. native, sdk,
and multilib).
</para></listitem>
<listitem><para>
Split metadata into layers and allow layers
to enhance or override other layers.
</para></listitem>
<listitem><para>
Allow representation of a given set of input variables
to a task as a checksum.
Based on that checksum, allow acceleration of builds
with prebuilt components.
</para></listitem>
</itemizedlist>
BitBake satisfies all the original requirements and many more
with extensions being made to the basic functionality to
reflect the additional requirements.
Flexibility and power have always been the priorities.
BitBake is highly extensible and supports embedded Python code and
execution of any arbitrary tasks.
</para>
</section>
<section id="Concepts">
<title>Concepts</title>
<para>
BitBake is a program written in the Python language.
At the highest level, BitBake interprets metadata, decides
what tasks are required to run, and executes those tasks.
Similar to GNU Make, BitBake controls how software is
built.
GNU Make achieves its control through "makefiles", while
BitBake uses "recipes".
</para>
<para>
BitBake extends the capabilities of a simple
tool like GNU Make by allowing for the definition of much more
complex tasks, such as assembling entire embedded Linux
distributions.
</para>
<para>
The remainder of this section introduces several concepts
that should be understood in order to better leverage
the power of BitBake.
</para>
<section id='recipes'>
<title>Recipes</title>
<para>
BitBake Recipes, which are denoted by the file extension
<filename>.bb</filename>, are the most basic metadata files.
These recipe files provide BitBake with the following:
<itemizedlist>
<listitem><para>Descriptive information about the
package (author, homepage, license, and so on)</para></listitem>
<listitem><para>The version of the recipe</para></listitem>
<listitem><para>Existing dependencies (both build
and runtime dependencies)</para></listitem>
<listitem><para>Where the source code resides and
how to fetch it</para></listitem>
<listitem><para>Whether the source code requires
any patches, where to find them, and how to apply
them</para></listitem>
<listitem><para>How to configure and compile the
source code</para></listitem>
<listitem><para>Where on the target machine to install the
package or packages created</para></listitem>
</itemizedlist>
</para>
<para>
Within the context of BitBake, or any project utilizing BitBake
as its build system, files with the <filename>.bb</filename>
extension are referred to as recipes.
<note>
The term "package" is also commonly used to describe recipes.
However, since the same word is used to describe packaged
output from a project, it is best to maintain a single
descriptive term - "recipes".
Put another way, a single "recipe" file is quite capable
of generating a number of related but separately installable
"packages".
In fact, that ability is fairly common.
</note>
</para>
</section>
<section id='configuration-files'>
<title>Configuration Files</title>
<para>
Configuration files, which are denoted by the
<filename>.conf</filename> extension, define
various configuration variables that govern the project's build
process.
These files fall into several areas that define
machine configuration options, distribution configuration
options, compiler tuning options, general common
configuration options, and user configuration options.
The main configuration file is the sample
<filename>bitbake.conf</filename> file, which is
located within the BitBake source tree
<filename>conf</filename> directory.
</para>
</section>
<section id='classes'>
<title>Classes</title>
<para>
Class files, which are denoted by the
<filename>.bbclass</filename> extension, contain
information that is useful to share between metadata files.
The BitBake source tree currently comes with one class metadata file
called <filename>base.bbclass</filename>.
You can find this file in the
<filename>classes</filename> directory.
The <filename>base.bbclass</filename> class files is special since it
is always included automatically for all recipes
and classes.
This class contains definitions for standard basic tasks such
as fetching, unpacking, configuring (empty by default),
compiling (runs any Makefile present), installing (empty by
default) and packaging (empty by default).
These tasks are often overridden or extended by other classes
added during the project development process.
</para>
</section>
<section id='layers'>
<title>Layers</title>
<para>
Layers allow you to isolate different types of
customizations from each other.
While you might find it tempting to keep everything in one layer
when working on a single project, the more modular you organize
your metadata, the easier it is to cope with future changes.
</para>
<para>
To illustrate how you can use layers to keep things modular,
consider customizations you might make to support a specific target machine.
These types of customizations typically reside in a special layer,
rather than a general layer, called a Board Support Package (BSP)
Layer.
Furthermore, the machine customizations should be isolated from
recipes and metadata that support a new GUI environment, for
example.
This situation gives you a couple of layers: one for the machine
configurations and one for the GUI environment.
It is important to understand, however, that the BSP layer can still
make machine-specific additions to recipes within
the GUI environment layer without polluting the GUI layer itself
with those machine-specific changes.
You can accomplish this through a recipe that is a BitBake append
(<filename>.bbappend</filename>) file.
</para>
</section>
<section id='append-bbappend-files'>
<title>Append Files</title>
<para>
Append files, which are files that have the
<filename>.bbappend</filename> file extension, extend or
override information in an existing recipe file.
</para>
<para>
BitBake expects every append file to have a corresponding recipe file.
Furthermore, the append file and corresponding recipe file
must use the same root filename.
The filenames can differ only in the file type suffix used
(e.g. <filename>formfactor_0.0.bb</filename> and
<filename>formfactor_0.0.bbappend</filename>).
</para>
<para>
Information in append files extends or
overrides the information in the underlying,
similarly-named recipe files.
</para>
<para>
When you name an append file, you can use the
wildcard character (%) to allow for matching recipe names.
For example, suppose you have an append file named
as follows:
<literallayout class='monospaced'>
busybox_1.21.%.bbappend
</literallayout>
That append file would match any <filename>busybox_1.21.x.bb</filename>
version of the recipe.
So, the append file would match the following recipe names:
<literallayout class='monospaced'>
busybox_1.21.1.bb
busybox_1.21.2.bb
busybox_1.21.3.bb
</literallayout>
If the <filename>busybox</filename> recipe was updated to
<filename>busybox_1.3.0.bb</filename>, the append name would not
match.
However, if you named the append file
<filename>busybox_1.%.bbappend</filename>, then you would have a match.
</para>
<para>
In the most general case, you could name the append file something as
simple as <filename>busybox_%.bbappend</filename> to be entirely
version independent.
</para>
</section>
</section>
<section id='obtaining-bitbake'>
<title>Obtaining BitBake</title>
<para>
You can obtain BitBake several different ways:
<itemizedlist>
<listitem><para><emphasis>Cloning BitBake:</emphasis>
Using Git to clone the BitBake source code repository
is the recommended method for obtaining BitBake.
Cloning the repository makes it easy to get bug fixes
and have access to stable branches and the master
branch.
Once you have cloned BitBake, you should use
the latest stable
branch for development since the master branch is for
BitBake development and might contain less stable changes.
</para>
<para>You usually need a version of BitBake
that matches the metadata you are using.
The metadata is generally backwards compatible but
not forward compatible.</para>
<para>Here is an example that clones the BitBake repository:
<literallayout class='monospaced'>
$ git clone git://git.openembedded.org/bitbake
</literallayout>
This command clones the BitBake Git repository into a
directory called <filename>bitbake</filename>.
Alternatively, you can
designate a directory after the
<filename>git clone</filename> command
if you want to call the new directory something
other than <filename>bitbake</filename>.
Here is an example that names the directory
<filename>bbdev</filename>:
<literallayout class='monospaced'>
$ git clone git://git.openembedded.org/bitbake bbdev
</literallayout></para></listitem>
<listitem><para><emphasis>Installation using your Distribution
Package Management System:</emphasis>
This method is not
recommended because the BitBake version that is
provided by your distribution, in most cases,
is several
releases behind a snapshot of the BitBake repository.
</para></listitem>
<listitem><para><emphasis>Taking a snapshot of BitBake:</emphasis>
Downloading a snapshot of BitBake from the
source code repository gives you access to a known
branch or release of BitBake.
<note>
Cloning the Git repository, as described earlier,
is the preferred method for getting BitBake.
Cloning the repository makes it easier to update as
patches are added to the stable branches.
</note></para>
<para>The following example downloads a snapshot of
BitBake version 1.17.0:
<literallayout class='monospaced'>
$ wget http://git.openembedded.org/bitbake/snapshot/bitbake-1.17.0.tar.gz
$ tar zxpvf bitbake-1.17.0.tar.gz
</literallayout>
After extraction of the tarball using the tar utility,
you have a directory entitled
<filename>bitbake-1.17.0</filename>.
</para></listitem>
<listitem><para><emphasis>Using the BitBake that Comes With Your
Build Checkout:</emphasis>
A final possibility for getting a copy of BitBake is that it
already comes with your checkout of a larger Bitbake-based build
system, such as Poky.
Rather than manually checking out individual layers and
gluing them together yourself, you can check
out an entire build system.
The checkout will already include a version of BitBake that
has been thoroughly tested for compatibility with the other
components.
For information on how to check out a particular BitBake-based
build system, consult that build system's supporting documentation.
</para></listitem>
</itemizedlist>
</para>
</section>
<section id="bitbake-user-manual-command">
<title>The BitBake Command</title>
<para>
The <filename>bitbake</filename> command is the primary interface
to the BitBake tool.
This section presents the BitBake command syntax and provides
several execution examples.
</para>
<section id='usage-and-syntax'>
<title>Usage and syntax</title>
<para>
Following is the usage and syntax for BitBake:
<literallayout class='monospaced'>
$ bitbake -h
Usage: bitbake [options] [recipename/target recipe:do_task ...]
Executes the specified task (default is 'build') for a given set of target recipes (.bb files).
It is assumed there is a conf/bblayers.conf available in cwd or in BBPATH which
will provide the layer, BBFILES and other configuration information.
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-b BUILDFILE, --buildfile=BUILDFILE
Execute tasks from a specific .bb recipe directly.
WARNING: Does not handle any dependencies from other
recipes.
-k, --continue Continue as much as possible after an error. While the
target that failed and anything depending on it cannot
be built, as much as possible will be built before
stopping.
-a, --tryaltconfigs Continue with builds by trying to use alternative
providers where possible.
-f, --force Force the specified targets/task to run (invalidating
any existing stamp file).
-c CMD, --cmd=CMD Specify the task to execute. The exact options
available depend on the metadata. Some examples might
be 'compile' or 'populate_sysroot' or 'listtasks' may
give a list of the tasks available.
-C INVALIDATE_STAMP, --clear-stamp=INVALIDATE_STAMP
Invalidate the stamp for the specified task such as
'compile' and then run the default task for the
specified target(s).
-r PREFILE, --read=PREFILE
Read the specified file before bitbake.conf.
-R POSTFILE, --postread=POSTFILE
Read the specified file after bitbake.conf.
-v, --verbose Enable tracing of shell tasks (with 'set -x').
Also print bb.note(...) messages to stdout (in
addition to writing them to ${T}/log.do_&lt;task&gt;).
-D, --debug Increase the debug level. You can specify this
more than once. -D sets the debug level to 1,
where only bb.debug(1, ...) messages are printed
to stdout; -DD sets the debug level to 2, where
both bb.debug(1, ...) and bb.debug(2, ...)
messages are printed; etc. Without -D, no debug
messages are printed. Note that -D only affects
output to stdout. All debug messages are written
to ${T}/log.do_taskname, regardless of the debug
level.
-n, --dry-run Don't execute, just go through the motions.
-S SIGNATURE_HANDLER, --dump-signatures=SIGNATURE_HANDLER
Dump out the signature construction information, with
no task execution. The SIGNATURE_HANDLER parameter is
passed to the handler. Two common values are none and
printdiff but the handler may define more/less. none
means only dump the signature, printdiff means compare
the dumped signature with the cached one.
-p, --parse-only Quit after parsing the BB recipes.
-s, --show-versions Show current and preferred versions of all recipes.
-e, --environment Show the global or per-recipe environment complete
with information about where variables were
set/changed.
-g, --graphviz Save dependency tree information for the specified
targets in the dot syntax.
-I EXTRA_ASSUME_PROVIDED, --ignore-deps=EXTRA_ASSUME_PROVIDED
Assume these dependencies don't exist and are already
provided (equivalent to ASSUME_PROVIDED). Useful to
make dependency graphs more appealing
-l DEBUG_DOMAINS, --log-domains=DEBUG_DOMAINS
Show debug logging for the specified logging domains
-P, --profile Profile the command and save reports.
-u UI, --ui=UI The user interface to use (taskexp, knotty or
ncurses - default knotty).
-t SERVERTYPE, --servertype=SERVERTYPE
Choose which server type to use (process or xmlrpc -
default process).
--token=XMLRPCTOKEN Specify the connection token to be used when
connecting to a remote server.
--revisions-changed Set the exit code depending on whether upstream
floating revisions have changed or not.
--server-only Run bitbake without a UI, only starting a server
(cooker) process.
-B BIND, --bind=BIND The name/address for the bitbake server to bind to.
--no-setscene Do not run any setscene tasks. sstate will be ignored
and everything needed, built.
--setscene-only Only run setscene tasks, don't run any real tasks.
--remote-server=REMOTE_SERVER
Connect to the specified server.
-m, --kill-server Terminate the remote server.
--observe-only Connect to a server as an observing-only client.
--status-only Check the status of the remote bitbake server.
-w WRITEEVENTLOG, --write-log=WRITEEVENTLOG
Writes the event log of the build to a bitbake event
json file. Use '' (empty string) to assign the name
automatically.
</literallayout>
</para>
</section>
<section id='bitbake-examples'>
<title>Examples</title>
<para>
This section presents some examples showing how to use BitBake.
</para>
<section id='example-executing-a-task-against-a-single-recipe'>
<title>Executing a Task Against a Single Recipe</title>
<para>
Executing tasks for a single recipe file is relatively simple.
You specify the file in question, and BitBake parses
it and executes the specified task.
If you do not specify a task, BitBake executes the default
task, which is "build”.
BitBake obeys inter-task dependencies when doing
so.
</para>
<para>
The following command runs the build task, which is
the default task, on the <filename>foo_1.0.bb</filename>
recipe file:
<literallayout class='monospaced'>
$ bitbake -b foo_1.0.bb
</literallayout>
The following command runs the clean task on the
<filename>foo.bb</filename> recipe file:
<literallayout class='monospaced'>
$ bitbake -b foo.bb -c clean
</literallayout>
<note>
The "-b" option explicitly does not handle recipe
dependencies.
Other than for debugging purposes, it is instead
recommended that you use the syntax presented in the
next section.
</note>
</para>
</section>
<section id='executing-tasks-against-a-set-of-recipe-files'>
<title>Executing Tasks Against a Set of Recipe Files</title>
<para>
There are a number of additional complexities introduced
when one wants to manage multiple <filename>.bb</filename>
files.
Clearly there needs to be a way to tell BitBake what
files are available and, of those, which you
want to execute.
There also needs to be a way for each recipe
to express its dependencies, both for build-time and
runtime.
There must be a way for you to express recipe preferences
when multiple recipes provide the same functionality, or when
there are multiple versions of a recipe.
</para>
<para>
The <filename>bitbake</filename> command, when not using
"--buildfile" or "-b" only accepts a "PROVIDES".
You cannot provide anything else.
By default, a recipe file generally "PROVIDES" its
"packagename" as shown in the following example:
<literallayout class='monospaced'>
$ bitbake foo
</literallayout>
This next example "PROVIDES" the package name and also uses
the "-c" option to tell BitBake to just execute the
<filename>do_clean</filename> task:
<literallayout class='monospaced'>
$ bitbake -c clean foo
</literallayout>
</para>
</section>
<section id='executing-a-list-of-task-and-recipe-combinations'>
<title>Executing a List of Task and Recipe Combinations</title>
<para>
The BitBake command line supports specifying different
tasks for individual targets when you specify multiple
targets.
For example, suppose you had two targets (or recipes)
<filename>myfirstrecipe</filename> and
<filename>mysecondrecipe</filename> and you needed
BitBake to run <filename>taskA</filename> for the first
recipe and <filename>taskB</filename> for the second
recipe:
<literallayout class='monospaced'>
$ bitbake myfirstrecipe:do_taskA mysecondrecipe:do_taskB
</literallayout>
</para>
</section>
<section id='generating-dependency-graphs'>
<title>Generating Dependency Graphs</title>
<para>
BitBake is able to generate dependency graphs using
the <filename>dot</filename> syntax.
You can convert these graphs into images using the
<filename>dot</filename> tool from
<ulink url='http://www.graphviz.org'>Graphviz</ulink>.
</para>
<para>
When you generate a dependency graph, BitBake writes three files
to the current working directory:
<itemizedlist>
<listitem><para>
<emphasis><filename>recipe-depends.dot</filename>:</emphasis>
Shows dependencies between recipes (i.e. a collapsed version of
<filename>task-depends.dot</filename>).
</para></listitem>
<listitem><para>
<emphasis><filename>task-depends.dot</filename>:</emphasis>
Shows dependencies between tasks.
These dependencies match BitBake's internal task execution list.
</para></listitem>
<listitem><para>
<emphasis><filename>pn-buildlist</filename>:</emphasis>
Shows a simple list of targets that are to be built.
</para></listitem>
</itemizedlist>
</para>
<para>
To stop depending on common depends, use the "-I" depend
option and BitBake omits them from the graph.
Leaving this information out can produce more readable graphs.
This way, you can remove from the graph
<filename>DEPENDS</filename> from inherited classes
such as <filename>base.bbclass</filename>.
</para>
<para>
Here are two examples that create dependency graphs.
The second example omits depends common in OpenEmbedded from
the graph:
<literallayout class='monospaced'>
$ bitbake -g foo
$ bitbake -g -I virtual/kernel -I eglibc foo
</literallayout>
</para>
</section>
</section>
</section>
</chapter>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,984 @@
/*
Generic XHTML / DocBook XHTML CSS Stylesheet.
Browser wrangling and typographic design by
Oyvind Kolas / pippin@gimp.org
Customised for Poky by
Matthew Allum / mallum@o-hand.com
Thanks to:
Liam R. E. Quin
William Skaggs
Jakub Steiner
Structure
---------
The stylesheet is divided into the following sections:
Positioning
Margins, paddings, width, font-size, clearing.
Decorations
Borders, style
Colors
Colors
Graphics
Graphical backgrounds
Nasty IE tweaks
Workarounds needed to make it work in internet explorer,
currently makes the stylesheet non validating, but up until
this point it is validating.
Mozilla extensions
Transparency for footer
Rounded corners on boxes
*/
/*************** /
/ Positioning /
/ ***************/
body {
font-family: Verdana, Sans, sans-serif;
min-width: 640px;
width: 80%;
margin: 0em auto;
padding: 2em 5em 5em 5em;
color: #333;
}
h1,h2,h3,h4,h5,h6,h7 {
font-family: Arial, Sans;
color: #00557D;
clear: both;
}
h1 {
font-size: 2em;
text-align: left;
padding: 0em 0em 0em 0em;
margin: 2em 0em 0em 0em;
}
h2.subtitle {
margin: 0.10em 0em 3.0em 0em;
padding: 0em 0em 0em 0em;
font-size: 1.8em;
padding-left: 20%;
font-weight: normal;
font-style: italic;
}
h2 {
margin: 2em 0em 0.66em 0em;
padding: 0.5em 0em 0em 0em;
font-size: 1.5em;
font-weight: bold;
}
h3.subtitle {
margin: 0em 0em 1em 0em;
padding: 0em 0em 0em 0em;
font-size: 142.14%;
text-align: right;
}
h3 {
margin: 1em 0em 0.5em 0em;
padding: 1em 0em 0em 0em;
font-size: 140%;
font-weight: bold;
}
h4 {
margin: 1em 0em 0.5em 0em;
padding: 1em 0em 0em 0em;
font-size: 120%;
font-weight: bold;
}
h5 {
margin: 1em 0em 0.5em 0em;
padding: 1em 0em 0em 0em;
font-size: 110%;
font-weight: bold;
}
h6 {
margin: 1em 0em 0em 0em;
padding: 1em 0em 0em 0em;
font-size: 110%;
font-weight: bold;
}
.authorgroup {
background-color: transparent;
background-repeat: no-repeat;
padding-top: 256px;
background-image: url("figures/bitbake-title.png");
background-position: left top;
margin-top: -256px;
padding-right: 50px;
margin-left: 0px;
text-align: right;
width: 740px;
}
h3.author {
margin: 0em 0me 0em 0em;
padding: 0em 0em 0em 0em;
font-weight: normal;
font-size: 100%;
color: #333;
clear: both;
}
.author tt.email {
font-size: 66%;
}
.titlepage hr {
width: 0em;
clear: both;
}
.revhistory {
padding-top: 2em;
clear: both;
}
.toc,
.list-of-tables,
.list-of-examples,
.list-of-figures {
padding: 1.33em 0em 2.5em 0em;
color: #00557D;
}
.toc p,
.list-of-tables p,
.list-of-figures p,
.list-of-examples p {
padding: 0em 0em 0em 0em;
padding: 0em 0em 0.3em;
margin: 1.5em 0em 0em 0em;
}
.toc p b,
.list-of-tables p b,
.list-of-figures p b,
.list-of-examples p b{
font-size: 100.0%;
font-weight: bold;
}
.toc dl,
.list-of-tables dl,
.list-of-figures dl,
.list-of-examples dl {
margin: 0em 0em 0.5em 0em;
padding: 0em 0em 0em 0em;
}
.toc dt {
margin: 0em 0em 0em 0em;
padding: 0em 0em 0em 0em;
}
.toc dd {
margin: 0em 0em 0em 2.6em;
padding: 0em 0em 0em 0em;
}
div.glossary dl,
div.variablelist dl {
}
.glossary dl dt,
.variablelist dl dt,
.variablelist dl dt span.term {
font-weight: normal;
width: 20em;
text-align: right;
}
.variablelist dl dt {
margin-top: 0.5em;
}
.glossary dl dd,
.variablelist dl dd {
margin-top: -1em;
margin-left: 25.5em;
}
.glossary dd p,
.variablelist dd p {
margin-top: 0em;
margin-bottom: 1em;
}
div.calloutlist table td {
padding: 0em 0em 0em 0em;
margin: 0em 0em 0em 0em;
}
div.calloutlist table td p {
margin-top: 0em;
margin-bottom: 1em;
}
div p.copyright {
text-align: left;
}
div.legalnotice p.legalnotice-title {
margin-bottom: 0em;
}
p {
line-height: 1.5em;
margin-top: 0em;
}
dl {
padding-top: 0em;
}
hr {
border: solid 1px;
}
.mediaobject,
.mediaobjectco {
text-align: center;
}
img {
border: none;
}
ul {
padding: 0em 0em 0em 1.5em;
}
ul li {
padding: 0em 0em 0em 0em;
}
ul li p {
text-align: left;
}
table {
width :100%;
}
th {
padding: 0.25em;
text-align: left;
font-weight: normal;
vertical-align: top;
}
td {
padding: 0.25em;
vertical-align: top;
}
p a[id] {
margin: 0px;
padding: 0px;
display: inline;
background-image: none;
}
a {
text-decoration: underline;
color: #444;
}
pre {
overflow: auto;
}
a:hover {
text-decoration: underline;
/*font-weight: bold;*/
}
/* This style defines how the permalink character
appears by itself and when hovered over with
the mouse. */
[alt='Permalink'] { color: #eee; }
[alt='Permalink']:hover { color: black; }
div.informalfigure,
div.informalexample,
div.informaltable,
div.figure,
div.table,
div.example {
margin: 1em 0em;
padding: 1em;
page-break-inside: avoid;
}
div.informalfigure p.title b,
div.informalexample p.title b,
div.informaltable p.title b,
div.figure p.title b,
div.example p.title b,
div.table p.title b{
padding-top: 0em;
margin-top: 0em;
font-size: 100%;
font-weight: normal;
}
.mediaobject .caption,
.mediaobject .caption p {
text-align: center;
font-size: 80%;
padding-top: 0.5em;
padding-bottom: 0.5em;
}
.epigraph {
padding-left: 55%;
margin-bottom: 1em;
}
.epigraph p {
text-align: left;
}
.epigraph .quote {
font-style: italic;
}
.epigraph .attribution {
font-style: normal;
text-align: right;
}
span.application {
font-style: italic;
}
.programlisting {
font-family: monospace;
font-size: 80%;
white-space: pre;
margin: 1.33em 0em;
padding: 1.33em;
}
.tip,
.warning,
.caution,
.note {
margin-top: 1em;
margin-bottom: 1em;
}
/* force full width of table within div */
.tip table,
.warning table,
.caution table,
.note table {
border: none;
width: 100%;
}
.tip table th,
.warning table th,
.caution table th,
.note table th {
padding: 0.8em 0.0em 0.0em 0.0em;
margin : 0em 0em 0em 0em;
}
.tip p,
.warning p,
.caution p,
.note p {
margin-top: 0.5em;
margin-bottom: 0.5em;
padding-right: 1em;
text-align: left;
}
.acronym {
text-transform: uppercase;
}
b.keycap,
.keycap {
padding: 0.09em 0.3em;
margin: 0em;
}
.itemizedlist li {
clear: none;
}
.filename {
font-size: medium;
font-family: Courier, monospace;
}
div.navheader, div.heading{
position: absolute;
left: 0em;
top: 0em;
width: 100%;
background-color: #cdf;
width: 100%;
}
div.navfooter, div.footing{
position: fixed;
left: 0em;
bottom: 0em;
background-color: #eee;
width: 100%;
}
div.navheader td,
div.navfooter td {
font-size: 66%;
}
div.navheader table th {
/*font-family: Georgia, Times, serif;*/
/*font-size: x-large;*/
font-size: 80%;
}
div.navheader table {
border-left: 0em;
border-right: 0em;
border-top: 0em;
width: 100%;
}
div.navfooter table {
border-left: 0em;
border-right: 0em;
border-bottom: 0em;
width: 100%;
}
div.navheader table td a,
div.navfooter table td a {
color: #777;
text-decoration: none;
}
/* normal text in the footer */
div.navfooter table td {
color: black;
}
div.navheader table td a:visited,
div.navfooter table td a:visited {
color: #444;
}
/* links in header and footer */
div.navheader table td a:hover,
div.navfooter table td a:hover {
text-decoration: underline;
background-color: transparent;
color: #33a;
}
div.navheader hr,
div.navfooter hr {
display: none;
}
.qandaset tr.question td p {
margin: 0em 0em 1em 0em;
padding: 0em 0em 0em 0em;
}
.qandaset tr.answer td p {
margin: 0em 0em 1em 0em;
padding: 0em 0em 0em 0em;
}
.answer td {
padding-bottom: 1.5em;
}
.emphasis {
font-weight: bold;
}
/************* /
/ decorations /
/ *************/
.titlepage {
}
.part .title {
}
.subtitle {
border: none;
}
/*
h1 {
border: none;
}
h2 {
border-top: solid 0.2em;
border-bottom: solid 0.06em;
}
h3 {
border-top: 0em;
border-bottom: solid 0.06em;
}
h4 {
border: 0em;
border-bottom: solid 0.06em;
}
h5 {
border: 0em;
}
*/
.programlisting {
border: solid 1px;
}
div.figure,
div.table,
div.informalfigure,
div.informaltable,
div.informalexample,
div.example {
border: 1px solid;
}
.tip,
.warning,
.caution,
.note {
border: 1px solid;
}
.tip table th,
.warning table th,
.caution table th,
.note table th {
border-bottom: 1px solid;
}
.question td {
border-top: 1px solid black;
}
.answer {
}
b.keycap,
.keycap {
border: 1px solid;
}
div.navheader, div.heading{
border-bottom: 1px solid;
}
div.navfooter, div.footing{
border-top: 1px solid;
}
/********* /
/ colors /
/ *********/
body {
color: #333;
background: white;
}
a {
background: transparent;
}
a:hover {
background-color: #dedede;
}
h1,
h2,
h3,
h4,
h5,
h6,
h7,
h8 {
background-color: transparent;
}
hr {
border-color: #aaa;
}
.tip, .warning, .caution, .note {
border-color: #fff;
}
.tip table th,
.warning table th,
.caution table th,
.note table th {
border-bottom-color: #fff;
}
.warning {
background-color: #f0f0f2;
}
.caution {
background-color: #f0f0f2;
}
.tip {
background-color: #f0f0f2;
}
.note {
background-color: #f0f0f2;
}
.glossary dl dt,
.variablelist dl dt,
.variablelist dl dt span.term {
color: #044;
}
div.figure,
div.table,
div.example,
div.informalfigure,
div.informaltable,
div.informalexample {
border-color: #aaa;
}
pre.programlisting {
color: black;
background-color: #fff;
border-color: #aaa;
border-width: 2px;
}
.guimenu,
.guilabel,
.guimenuitem {
background-color: #eee;
}
b.keycap,
.keycap {
background-color: #eee;
border-color: #999;
}
div.navheader {
border-color: black;
}
div.navfooter {
border-color: black;
}
/*********** /
/ graphics /
/ ***********/
/*
body {
background-image: url("images/body_bg.jpg");
background-attachment: fixed;
}
.navheader,
.note,
.tip {
background-image: url("images/note_bg.jpg");
background-attachment: fixed;
}
.warning,
.caution {
background-image: url("images/warning_bg.jpg");
background-attachment: fixed;
}
.figure,
.informalfigure,
.example,
.informalexample,
.table,
.informaltable {
background-image: url("images/figure_bg.jpg");
background-attachment: fixed;
}
*/
h1,
h2,
h3,
h4,
h5,
h6,
h7{
}
/*
Example of how to stick an image as part of the title.
div.article .titlepage .title
{
background-image: url("figures/white-on-black.png");
background-position: center;
background-repeat: repeat-x;
}
*/
div.preface .titlepage .title,
div.colophon .title,
div.chapter .titlepage .title,
div.article .titlepage .title
{
}
div.section div.section .titlepage .title,
div.sect2 .titlepage .title {
background: none;
}
h1.title {
background-color: transparent;
background-repeat: no-repeat;
height: 256px;
text-indent: -9000px;
overflow:hidden;
}
h2.subtitle {
background-color: transparent;
text-indent: -9000px;
overflow:hidden;
width: 0px;
display: none;
}
/*************************************** /
/ pippin.gimp.org specific alterations /
/ ***************************************/
/*
div.heading, div.navheader {
color: #777;
font-size: 80%;
padding: 0;
margin: 0;
text-align: left;
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 50px;
background: url('/gfx/heading_bg.png') transparent;
background-repeat: repeat-x;
background-attachment: fixed;
border: none;
}
div.heading a {
color: #444;
}
div.footing, div.navfooter {
border: none;
color: #ddd;
font-size: 80%;
text-align:right;
width: 100%;
padding-top: 10px;
position: absolute;
bottom: 0px;
left: 0px;
background: url('/gfx/footing_bg.png') transparent;
}
*/
/****************** /
/ nasty ie tweaks /
/ ******************/
/*
div.heading, div.navheader {
width:expression(document.body.clientWidth + "px");
}
div.footing, div.navfooter {
width:expression(document.body.clientWidth + "px");
margin-left:expression("-5em");
}
body {
padding:expression("4em 5em 0em 5em");
}
*/
/**************************************** /
/ mozilla vendor specific css extensions /
/ ****************************************/
/*
div.navfooter, div.footing{
-moz-opacity: 0.8em;
}
div.figure,
div.table,
div.informalfigure,
div.informaltable,
div.informalexample,
div.example,
.tip,
.warning,
.caution,
.note {
-moz-border-radius: 0.5em;
}
b.keycap,
.keycap {
-moz-border-radius: 0.3em;
}
*/
table tr td table tr td {
display: none;
}
hr {
display: none;
}
table {
border: 0em;
}
.photo {
float: right;
margin-left: 1.5em;
margin-bottom: 1.5em;
margin-top: 0em;
max-width: 17em;
border: 1px solid gray;
padding: 3px;
background: white;
}
.seperator {
padding-top: 2em;
clear: both;
}
#validators {
margin-top: 5em;
text-align: right;
color: #777;
}
@media print {
body {
font-size: 8pt;
}
.noprint {
display: none;
}
}
.tip,
.note {
background: #f0f0f2;
color: #333;
padding: 20px;
margin: 20px;
}
.tip h3,
.note h3 {
padding: 0em;
margin: 0em;
font-size: 2em;
font-weight: bold;
color: #333;
}
.tip a,
.note a {
color: #333;
text-decoration: underline;
}
.footnote {
font-size: small;
color: #333;
}
/* Changes the announcement text */
.tip h3,
.warning h3,
.caution h3,
.note h3 {
font-size:large;
color: #00557D;
}

View File

@@ -0,0 +1,88 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<book id='bitbake-user-manual' lang='en'
xmlns:xi="http://www.w3.org/2003/XInclude"
xmlns="http://docbook.org/ns/docbook"
>
<bookinfo>
<mediaobject>
<imageobject>
<imagedata fileref='figures/bitbake-title.png'
format='SVG'
align='left' scalefit='1' width='100%'/>
</imageobject>
</mediaobject>
<title>
BitBake User Manual
</title>
<authorgroup>
<author>
<firstname>Richard Purdie, Chris Larson, and </firstname> <surname>Phil Blundell</surname>
<affiliation>
<orgname>BitBake Community</orgname>
</affiliation>
<email>bitbake-devel@lists.openembedded.org</email>
</author>
</authorgroup>
<!--
# Add in some revision history if we want it here.
<revhistory>
<revision>
<revnumber>x.x</revnumber>
<date>dd month year</date>
<revremark>Some relevent comment</revremark>
</revision>
<revision>
<revnumber>x.x</revnumber>
<date>dd month year</date>
<revremark>Some relevent comment</revremark>
</revision>
<revision>
<revnumber>x.x</revnumber>
<date>dd month year</date>
<revremark>Some relevent comment</revremark>
</revision>
<revision>
<revnumber>x.x</revnumber>
<date>dd month year</date>
<revremark>Some relevent comment</revremark>
</revision>
</revhistory>
-->
<copyright>
<year>2004-2016</year>
<holder>Richard Purdie</holder>
<holder>Chris Larson</holder>
<holder>and Phil Blundell</holder>
</copyright>
<legalnotice>
<para>
This work is licensed under the Creative Commons Attribution License.
To view a copy of this license, visit
<ulink url="http://creativecommons.org/licenses/by/2.5/">http://creativecommons.org/licenses/by/2.5/</ulink>
or send a letter to Creative Commons, 444 Castro Street,
Suite 900, Mountain View, California 94041, USA.
</para>
</legalnotice>
</bookinfo>
<xi:include href="bitbake-user-manual-intro.xml"/>
<xi:include href="bitbake-user-manual-execution.xml"/>
<xi:include href="bitbake-user-manual-metadata.xml"/>
<xi:include href="bitbake-user-manual-fetching.xml"/>
<xi:include href="bitbake-user-manual-ref-variables.xml"/>
<xi:include href="bitbake-user-manual-hello.xml"/>
</book>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -0,0 +1,281 @@
/* Feuille de style DocBook du projet Traduc.org */
/* DocBook CSS stylesheet of the Traduc.org project */
/* (c) Jean-Philippe Gu<47>rard - 14 ao<61>t 2004 */
/* (c) Jean-Philippe Gu<47>rard - 14 August 2004 */
/* Cette feuille de style est libre, vous pouvez la */
/* redistribuer et la modifier selon les termes de la Licence */
/* Art Libre. Vous trouverez un exemplaire de cette Licence sur */
/* http://tigreraye.org/Petit-guide-du-traducteur.html#licence-art-libre */
/* This work of art is free, you can redistribute it and/or */
/* modify it according to terms of the Free Art license. You */
/* will find a specimen of this license on the Copyleft */
/* Attitude web site: http://artlibre.org as well as on other */
/* sites. */
/* Please note that the French version of this licence as shown */
/* on http://tigreraye.org/Petit-guide-du-traducteur.html#licence-art-libre */
/* is only official licence of this document. The English */
/* is only provided to help you understand this licence. */
/* La derni<6E>re version de cette feuille de style est toujours */
/* disponible sur<75>: http://tigreraye.org/style.css */
/* Elle est <20>galement disponible sur<75>: */
/* http://www.traduc.org/docs/HOWTO/lecture/style.css */
/* The latest version of this stylesheet is available from: */
/* http://tigreraye.org/style.css */
/* It is also available on: */
/* http://www.traduc.org/docs/HOWTO/lecture/style.css */
/* N'h<>sitez pas <20> envoyer vos commentaires et corrections <20> */
/* Jean-Philippe Gu<47>rard <jean-philippe.guerard@tigreraye.org> */
/* Please send feedback and bug reports to */
/* Jean-Philippe Gu<47>rard <jean-philippe.guerard@tigreraye.org> */
/* $Id: style.css,v 1.14 2004/09/10 20:12:09 fevrier Exp fevrier $ */
/* Pr<50>sentation g<>n<EFBFBD>rale du document */
/* Overall document presentation */
body {
/*
font-family: Apolline, "URW Palladio L", Garamond, jGaramond,
"Bitstream Cyberbit", "Palatino Linotype", serif;
*/
margin: 7%;
background-color: white;
}
/* Taille du texte */
/* Text size */
* { font-size: 100%; }
/* Gestion des textes mis en relief imbriqu<71>s */
/* Embedded emphasis */
em { font-style: italic; }
em em { font-style: normal; }
em em em { font-style: italic; }
/* Titres */
/* Titles */
h1 { font-size: 200%; font-weight: 900; }
h2 { font-size: 160%; font-weight: 900; }
h3 { font-size: 130%; font-weight: bold; }
h4 { font-size: 115%; font-weight: bold; }
h5 { font-size: 108%; font-weight: bold; }
h6 { font-weight: bold; }
/* Nom de famille en petites majuscules (uniquement en fran<61>ais) */
/* Last names in small caps (for French only) */
*[class~="surname"]:lang(fr) { font-variant: small-caps; }
/* Blocs de citation */
/* Quotation blocs */
div[class~="blockquote"] {
border: solid 2px #AAA;
padding: 5px;
margin: 5px;
}
div[class~="blockquote"] > table {
border: none;
}
/* Blocs lit<69>raux<75>: fond gris clair */
/* Literal blocs: light gray background */
*[class~="literallayout"] {
background: #f0f0f0;
padding: 5px;
margin: 5px;
}
/* Programmes et captures texte<74>: fond bleu clair */
/* Listing and text screen snapshots: light blue background */
*[class~="programlisting"], *[class~="screen"] {
background: #f0f0ff;
padding: 5px;
margin: 5px;
}
/* Les textes <20> remplacer sont surlign<67>s en vert p<>le */
/* Replaceable text in highlighted in pale green */
*[class~="replaceable"] {
background-color: #98fb98;
font-style: normal; }
/* Tables<65>: fonds gris clair & bords simples */
/* Tables: light gray background and solid borders */
*[class~="table"] *[class~="title"] { width:100%; border: 0px; }
table {
border: 1px solid #aaa;
border-collapse: collapse;
padding: 2px;
margin: 5px;
}
/* Listes simples en style table */
/* Simples lists in table presentation */
table[class~="simplelist"] {
background-color: #F0F0F0;
margin: 5px;
border: solid 1px #AAA;
}
table[class~="simplelist"] td {
border: solid 1px #AAA;
}
/* Les tables */
/* Tables */
*[class~="table"] table {
background-color: #F0F0F0;
border: solid 1px #AAA;
}
*[class~="informaltable"] table { background-color: #F0F0F0; }
th,td {
vertical-align: baseline;
text-align: left;
padding: 0.1em 0.3em;
empty-cells: show;
}
/* Alignement des colonnes */
/* Colunms alignment */
td[align=center] , th[align=center] { text-align: center; }
td[align=right] , th[align=right] { text-align: right; }
td[align=left] , th[align=left] { text-align: left; }
td[align=justify] , th[align=justify] { text-align: justify; }
/* Pas de marge autour des images */
/* No inside margins for images */
img { border: 0; }
/* Les liens ne sont pas soulign<67>s */
/* No underlines for links */
:link , :visited , :active { text-decoration: none; }
/* Prudence<63>: cadre jaune et fond jaune clair */
/* Caution: yellow border and light yellow background */
*[class~="caution"] {
border: solid 2px yellow;
background-color: #ffffe0;
padding: 1em 6px 1em ;
margin: 5px;
}
*[class~="caution"] th {
vertical-align: middle
}
*[class~="caution"] table {
background-color: #ffffe0;
border: none;
}
/* Note importante<74>: cadre jaune et fond jaune clair */
/* Important: yellow border and light yellow background */
*[class~="important"] {
border: solid 2px yellow;
background-color: #ffffe0;
padding: 1em 6px 1em;
margin: 5px;
}
*[class~="important"] th {
vertical-align: middle
}
*[class~="important"] table {
background-color: #ffffe0;
border: none;
}
/* Mise en <20>vidence<63>: texte l<>g<EFBFBD>rement plus grand */
/* Highlights: slightly larger texts */
*[class~="highlights"] {
font-size: 110%;
}
/* Note<74>: cadre bleu et fond bleu clair */
/* Notes: blue border and light blue background */
*[class~="note"] {
border: solid 2px #7099C5;
background-color: #f0f0ff;
padding: 1em 6px 1em ;
margin: 5px;
}
*[class~="note"] th {
vertical-align: middle
}
*[class~="note"] table {
background-color: #f0f0ff;
border: none;
}
/* Astuce<63>: cadre vert et fond vert clair */
/* Tip: green border and light green background */
*[class~="tip"] {
border: solid 2px #00ff00;
background-color: #f0ffff;
padding: 1em 6px 1em ;
margin: 5px;
}
*[class~="tip"] th {
vertical-align: middle;
}
*[class~="tip"] table {
background-color: #f0ffff;
border: none;
}
/* Avertissement<6E>: cadre rouge et fond rouge clair */
/* Warning: red border and light red background */
*[class~="warning"] {
border: solid 2px #ff0000;
background-color: #fff0f0;
padding: 1em 6px 1em ;
margin: 5px;
}
*[class~="warning"] th {
vertical-align: middle;
}
*[class~="warning"] table {
background-color: #fff0f0;
border: none;
}
/* Fin */
/* The End */

View File

@@ -1,101 +0,0 @@
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Path setup --------------------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
# import os
# import sys
# sys.path.insert(0, os.path.abspath('.'))
import sys
import datetime
current_version = "dev"
# String used in sidebar
version = 'Version: ' + current_version
if current_version == 'dev':
version = 'Version: Current Development'
# Version seen in documentation_options.js and hence in js switchers code
release = current_version
# -- Project information -----------------------------------------------------
project = 'Bitbake'
copyright = '2004-%s, Richard Purdie, Chris Larson, and Phil Blundell' \
% datetime.datetime.now().year
author = 'Richard Purdie, Chris Larson, and Phil Blundell'
# external links and substitutions
extlinks = {
'yocto_docs': ('https://docs.yoctoproject.org%s', None),
'oe_lists': ('https://lists.openembedded.org%s', None),
}
# -- General configuration ---------------------------------------------------
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'sphinx.ext.autosectionlabel',
'sphinx.ext.extlinks',
]
autosectionlabel_prefix_document = True
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
# master document name. The default changed from contents to index. so better
# set it ourselves.
master_doc = 'index'
# create substitution for project configuration variables
rst_prolog = """
.. |project_name| replace:: %s
.. |copyright| replace:: %s
.. |author| replace:: %s
""" % (project, copyright, author)
# -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
try:
import sphinx_rtd_theme
html_theme = 'sphinx_rtd_theme'
except ImportError:
sys.stderr.write("The Sphinx sphinx_rtd_theme HTML theme was not found.\
\nPlease make sure to install the sphinx_rtd_theme python package.\n")
sys.exit(1)
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['sphinx-static']
# Add customm CSS and JS files
html_css_files = ['theme_overrides.css']
html_js_files = ['switchers.js']
# Hide 'Created using Sphinx' text
html_show_sphinx = False
# Add 'Last updated' on each page
html_last_updated_fmt = '%b %d, %Y'
# Remove the trailing 'dot' in section numbers
html_secnumber_suffix = " "

View File

@@ -1,3 +0,0 @@
=====
Index
=====

View File

@@ -1,38 +0,0 @@
.. SPDX-License-Identifier: CC-BY-2.5
===================
BitBake User Manual
===================
|
.. toctree::
:caption: Table of Contents
:numbered:
bitbake-user-manual/bitbake-user-manual-intro
bitbake-user-manual/bitbake-user-manual-execution
bitbake-user-manual/bitbake-user-manual-metadata
bitbake-user-manual/bitbake-user-manual-fetching
bitbake-user-manual/bitbake-user-manual-ref-variables
bitbake-user-manual/bitbake-user-manual-hello
.. toctree::
:maxdepth: 1
:hidden:
genindex
releases
----
.. include:: <xhtml1-lat1.txt>
| BitBake Community
| Copyright |copy| |copyright|
| <bitbake-devel@lists.openembedded.org>
This work is licensed under the Creative Commons Attribution License. To view a
copy of this license, visit http://creativecommons.org/licenses/by/2.5/ or send
a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View,
California 94041, USA.

59
bitbake/doc/poky.ent Normal file
View File

@@ -0,0 +1,59 @@
<!ENTITY DISTRO "1.4">
<!ENTITY DISTRO_NAME "tbd">
<!ENTITY YOCTO_DOC_VERSION "1.4">
<!ENTITY POKYVERSION "8.0">
<!ENTITY YOCTO_POKY "poky-&DISTRO_NAME;-&POKYVERSION;">
<!ENTITY COPYRIGHT_YEAR "2010-2013">
<!ENTITY YOCTO_DL_URL "http://downloads.yoctoproject.org">
<!ENTITY YOCTO_HOME_URL "http://www.yoctoproject.org">
<!ENTITY YOCTO_LISTS_URL "http://lists.yoctoproject.org">
<!ENTITY YOCTO_BUGZILLA_URL "http://bugzilla.yoctoproject.org">
<!ENTITY YOCTO_WIKI_URL "https://wiki.yoctoproject.org">
<!ENTITY YOCTO_AB_URL "http://autobuilder.yoctoproject.org">
<!ENTITY YOCTO_GIT_URL "http://git.yoctoproject.org">
<!ENTITY YOCTO_ADTREPO_URL "http://adtrepo.yoctoproject.org">
<!ENTITY OE_HOME_URL "http://www.openembedded.org">
<!ENTITY OE_LISTS_URL "http://lists.linuxtogo.org/cgi-bin/mailman">
<!ENTITY OE_DOCS_URL "http://docs.openembedded.org">
<!ENTITY OH_HOME_URL "http://o-hand.com">
<!ENTITY BITBAKE_HOME_URL "http://developer.berlios.de/projects/bitbake/">
<!ENTITY ECLIPSE_MAIN_URL "http://www.eclipse.org/downloads">
<!ENTITY ECLIPSE_DL_URL "http://download.eclipse.org">
<!ENTITY ECLIPSE_DL_PLUGIN_URL "&YOCTO_DL_URL;/releases/eclipse-plugin/&DISTRO;">
<!ENTITY ECLIPSE_UPDATES_URL "&ECLIPSE_DL_URL;/tm/updates/3.3">
<!ENTITY ECLIPSE_INDIGO_URL "&ECLIPSE_DL_URL;/releases/indigo">
<!ENTITY ECLIPSE_JUNO_URL "&ECLIPSE_DL_URL;/releases/juno">
<!ENTITY ECLIPSE_INDIGO_CDT_URL "&ECLIPSE_DL_URL;tools/cdt/releases/indigo">
<!ENTITY YOCTO_DOCS_URL "&YOCTO_HOME_URL;/docs">
<!ENTITY YOCTO_SOURCES_URL "&YOCTO_HOME_URL;/sources/">
<!ENTITY YOCTO_AB_PORT_URL "&YOCTO_AB_URL;:8010">
<!ENTITY YOCTO_AB_NIGHTLY_URL "&YOCTO_AB_URL;/nightly/">
<!ENTITY YOCTO_POKY_URL "&YOCTO_DL_URL;/releases/poky/">
<!ENTITY YOCTO_RELEASE_DL_URL "&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;">
<!ENTITY YOCTO_TOOLCHAIN_DL_URL "&YOCTO_RELEASE_DL_URL;/toolchain/">
<!ENTITY YOCTO_ECLIPSE_DL_URL "&YOCTO_RELEASE_DL_URL;/eclipse-plugin/indigo;">
<!ENTITY YOCTO_ADTINSTALLER_DL_URL "&YOCTO_RELEASE_DL_URL;/adt_installer">
<!ENTITY YOCTO_POKY_DL_URL "&YOCTO_RELEASE_DL_URL;/&YOCTO_POKY;.tar.bz2">
<!ENTITY YOCTO_MACHINES_DL_URL "&YOCTO_RELEASE_DL_URL;/machines">
<!ENTITY YOCTO_QEMU_DL_URL "&YOCTO_MACHINES_DL_URL;/qemu">
<!ENTITY YOCTO_PYTHON-i686_DL_URL "&YOCTO_DL_URL;/releases/miscsupport/python-nativesdk-standalone-i686.tar.bz2">
<!ENTITY YOCTO_PYTHON-x86_64_DL_URL "&YOCTO_DL_URL;/releases/miscsupport/python-nativesdk-standalone-x86_64.tar.bz2">
<!ENTITY YOCTO_DOCS_QS_URL "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/yocto-project-qs/yocto-project-qs.html">
<!ENTITY YOCTO_DOCS_ADT_URL "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/adt-manual/adt-manual.html">
<!ENTITY YOCTO_DOCS_REF_URL "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/ref-manual/ref-manual.html">
<!ENTITY YOCTO_DOCS_BSP_URL "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/bsp-guide/bsp-guide.html">
<!ENTITY YOCTO_DOCS_DEV_URL "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/dev-manual/dev-manual.html">
<!ENTITY YOCTO_DOCS_KERNEL_URL "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/kernel-manual/kernel-manual.html">
<!ENTITY YOCTO_ADTPATH_DIR "/opt/poky/&DISTRO;">
<!ENTITY YOCTO_POKY_TARBALL "&YOCTO_POKY;.tar.bz2">
<!ENTITY OE_INIT_PATH "&YOCTO_POKY;/oe-init-build-env">
<!ENTITY OE_INIT_FILE "oe-init-build-env">
<!ENTITY UBUNTU_HOST_PACKAGES_ESSENTIAL "gawk wget git-core diffstat unzip texinfo \
build-essential chrpath">
<!ENTITY FEDORA_HOST_PACKAGES_ESSENTIAL "gawk make wget tar bzip2 gzip python unzip perl patch \
diffutils diffstat git cpp gcc gcc-c++ eglibc-devel texinfo chrpath \
ccache">
<!ENTITY OPENSUSE_HOST_PACKAGES_ESSENTIAL "python gcc gcc-c++ git chrpath make wget python-xml \
diffstat texinfo python-curses">
<!ENTITY CENTOS_HOST_PACKAGES_ESSENTIAL "gawk make wget tar bzip2 gzip python unzip perl patch \
diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath">

View File

@@ -1,130 +0,0 @@
.. SPDX-License-Identifier: CC-BY-2.5
=========================
Current Release Manuals
=========================
****************************
3.1 'dunfell' Release Series
****************************
- :yocto_docs:`3.1 BitBake User Manual </3.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`3.1.1 BitBake User Manual </3.1.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`3.1.2 BitBake User Manual </3.1.2/bitbake-user-manual/bitbake-user-manual.html>`
==========================
Previous Release Manuals
==========================
*************************
3.0 'zeus' Release Series
*************************
- :yocto_docs:`3.0 BitBake User Manual </3.0/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`3.0.1 BitBake User Manual </3.0.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`3.0.2 BitBake User Manual </3.0.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`3.0.3 BitBake User Manual </3.0.3/bitbake-user-manual/bitbake-user-manual.html>`
****************************
2.7 'warrior' Release Series
****************************
- :yocto_docs:`2.7 BitBake User Manual </2.7/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.7.1 BitBake User Manual </2.7.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.7.2 BitBake User Manual </2.7.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.7.3 BitBake User Manual </2.7.3/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.7.4 BitBake User Manual </2.7.4/bitbake-user-manual/bitbake-user-manual.html>`
*************************
2.6 'thud' Release Series
*************************
- :yocto_docs:`2.6 BitBake User Manual </2.6/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.6.1 BitBake User Manual </2.6.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.6.2 BitBake User Manual </2.6.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.6.3 BitBake User Manual </2.6.3/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.6.4 BitBake User Manual </2.6.4/bitbake-user-manual/bitbake-user-manual.html>`
*************************
2.5 'sumo' Release Series
*************************
- :yocto_docs:`2.5 BitBake User Manual </2.5/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.5.1 BitBake User Manual </2.5.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.5.2 BitBake User Manual </2.5.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.5.3 BitBake User Manual </2.5.3/bitbake-user-manual/bitbake-user-manual.html>`
**************************
2.4 'rocko' Release Series
**************************
- :yocto_docs:`2.4 BitBake User Manual </2.4/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.4.1 BitBake User Manual </2.4.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.4.2 BitBake User Manual </2.4.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.4.3 BitBake User Manual </2.4.3/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.4.4 BitBake User Manual </2.4.4/bitbake-user-manual/bitbake-user-manual.html>`
*************************
2.3 'pyro' Release Series
*************************
- :yocto_docs:`2.3 BitBake User Manual </2.3/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.3.1 BitBake User Manual </2.3.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.3.2 BitBake User Manual </2.3.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.3.3 BitBake User Manual </2.3.3/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.3.4 BitBake User Manual </2.3.4/bitbake-user-manual/bitbake-user-manual.html>`
**************************
2.2 'morty' Release Series
**************************
- :yocto_docs:`2.2 BitBake User Manual </2.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.2.1 BitBake User Manual </2.2.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.2.2 BitBake User Manual </2.2.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.2.3 BitBake User Manual </2.2.3/bitbake-user-manual/bitbake-user-manual.html>`
****************************
2.1 'krogoth' Release Series
****************************
- :yocto_docs:`2.1 BitBake User Manual </2.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.1.1 BitBake User Manual </2.1.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.1.2 BitBake User Manual </2.1.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.1.3 BitBake User Manual </2.1.3/bitbake-user-manual/bitbake-user-manual.html>`
***************************
2.0 'jethro' Release Series
***************************
- :yocto_docs:`1.9 BitBake User Manual </1.9/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.0 BitBake User Manual </2.0/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.0.1 BitBake User Manual </2.0.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.0.2 BitBake User Manual </2.0.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.0.3 BitBake User Manual </2.0.3/bitbake-user-manual/bitbake-user-manual.html>`
*************************
1.8 'fido' Release Series
*************************
- :yocto_docs:`1.8 BitBake User Manual </1.8/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`1.8.1 BitBake User Manual </1.8.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`1.8.2 BitBake User Manual </1.8.2/bitbake-user-manual/bitbake-user-manual.html>`
**************************
1.7 'dizzy' Release Series
**************************
- :yocto_docs:`1.7 BitBake User Manual </1.7/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`1.7.1 BitBake User Manual </1.7.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`1.7.2 BitBake User Manual </1.7.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`1.7.3 BitBake User Manual </1.7.3/bitbake-user-manual/bitbake-user-manual.html>`
**************************
1.6 'daisy' Release Series
**************************
- :yocto_docs:`1.6 BitBake User Manual </1.6/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`1.6.1 BitBake User Manual </1.6.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`1.6.2 BitBake User Manual </1.6.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`1.6.3 BitBake User Manual </1.6.3/bitbake-user-manual/bitbake-user-manual.html>`

View File

@@ -1,233 +0,0 @@
(function() {
'use strict';
var all_versions = {
'dev': 'dev (3.2)',
'3.1.2': '3.1.2',
'3.0.3': '3.0.3',
'2.7.4': '2.7.4',
};
var all_doctypes = {
'single': 'Individual Webpages',
'mega': "All-in-one 'Mega' Manual",
};
// Simple version comparision
// Return 1 if a > b
// Return -1 if a < b
// Return 0 if a == b
function ver_compare(a, b) {
if (a == "dev") {
return 1;
}
if (a === b) {
return 0;
}
var a_components = a.split(".");
var b_components = b.split(".");
var len = Math.min(a_components.length, b_components.length);
// loop while the components are equal
for (var i = 0; i < len; i++) {
// A bigger than B
if (parseInt(a_components[i]) > parseInt(b_components[i])) {
return 1;
}
// B bigger than A
if (parseInt(a_components[i]) < parseInt(b_components[i])) {
return -1;
}
}
// If one's a prefix of the other, the longer one is greater.
if (a_components.length > b_components.length) {
return 1;
}
if (a_components.length < b_components.length) {
return -1;
}
// Otherwise they are the same.
return 0;
}
function build_version_select(current_series, current_version) {
var buf = ['<select>'];
$.each(all_versions, function(version, title) {
var series = version.substr(0, 3);
if (series == current_series) {
if (version == current_version)
buf.push('<option value="' + version + '" selected="selected">' + title + '</option>');
else
buf.push('<option value="' + version + '">' + title + '</option>');
if (version != current_version)
buf.push('<option value="' + current_version + '" selected="selected">' + current_version + '</option>');
} else {
buf.push('<option value="' + version + '">' + title + '</option>');
}
});
buf.push('</select>');
return buf.join('');
}
function build_doctype_select(current_doctype) {
var buf = ['<select>'];
$.each(all_doctypes, function(doctype, title) {
if (doctype == current_doctype)
buf.push('<option value="' + doctype + '" selected="selected">' +
all_doctypes[current_doctype] + '</option>');
else
buf.push('<option value="' + doctype + '">' + title + '</option>');
});
if (!(current_doctype in all_doctypes)) {
// In case we're browsing a doctype that is not yet in all_doctypes.
buf.push('<option value="' + current_doctype + '" selected="selected">' +
current_doctype + '</option>');
all_doctypes[current_doctype] = current_doctype;
}
buf.push('</select>');
return buf.join('');
}
function navigate_to_first_existing(urls) {
// Navigate to the first existing URL in urls.
var url = urls.shift();
// Web browsers won't redirect file:// urls to file urls using ajax but
// its useful for local testing
if (url.startsWith("file://")) {
window.location.href = url;
return;
}
if (urls.length == 0) {
window.location.href = url;
return;
}
$.ajax({
url: url,
success: function() {
window.location.href = url;
},
error: function() {
navigate_to_first_existing(urls);
}
});
}
function get_docroot_url() {
var url = window.location.href;
var root = DOCUMENTATION_OPTIONS.URL_ROOT;
var urlarray = url.split('/');
// Trim off anything after '/'
urlarray.pop();
var depth = (root.match(/\.\.\//g) || []).length;
for (var i = 0; i < depth; i++) {
urlarray.pop();
}
return urlarray.join('/') + '/';
}
function on_version_switch() {
var selected_version = $(this).children('option:selected').attr('value');
var url = window.location.href;
var current_version = DOCUMENTATION_OPTIONS.VERSION;
var docroot = get_docroot_url()
var new_versionpath = selected_version + '/';
if (selected_version == "dev")
new_versionpath = '';
// dev versions have no version prefix
if (current_version == "dev") {
var new_url = docroot + new_versionpath + url.replace(docroot, "");
var fallback_url = docroot + new_versionpath;
} else {
var new_url = url.replace('/' + current_version + '/', '/' + new_versionpath);
var fallback_url = new_url.replace(url.replace(docroot, ""), "");
}
console.log(get_docroot_url())
console.log(url + " to url " + new_url);
console.log(url + " to fallback " + fallback_url);
if (new_url != url) {
navigate_to_first_existing([
new_url,
fallback_url,
'https://www.yoctoproject.org/docs/',
]);
}
}
function on_doctype_switch() {
var selected_doctype = $(this).children('option:selected').attr('value');
var url = window.location.href;
if (selected_doctype == 'mega') {
var docroot = get_docroot_url()
var current_version = DOCUMENTATION_OPTIONS.VERSION;
// Assume manuals before 3.2 are using old docbook mega-manual
if (ver_compare(current_version, "3.2") < 0) {
var new_url = docroot + "mega-manual/mega-manual.html";
} else {
var new_url = docroot + "singleindex.html";
}
} else {
var new_url = url.replace("singleindex.html", "index.html")
}
if (new_url != url) {
navigate_to_first_existing([
new_url,
'https://www.yoctoproject.org/docs/',
]);
}
}
// Returns the current doctype based upon the url
function doctype_segment_from_url(url) {
if (url.includes("singleindex") || url.includes("mega-manual"))
return "mega";
return "single";
}
$(document).ready(function() {
var release = DOCUMENTATION_OPTIONS.VERSION;
var current_doctype = doctype_segment_from_url(window.location.href);
var current_series = release.substr(0, 3);
var version_select = build_version_select(current_series, release);
$('.version_switcher_placeholder').html(version_select);
$('.version_switcher_placeholder select').bind('change', on_version_switch);
var doctype_select = build_doctype_select(current_doctype);
$('.doctype_switcher_placeholder').html(doctype_select);
$('.doctype_switcher_placeholder select').bind('change', on_doctype_switch);
if (ver_compare(release, "3.1") < 0) {
$('#outdated-warning').html('Version ' + release + ' of the project is now considered obsolete, please select and use a more recent version');
$('#outdated-warning').css('padding', '.5em');
} else if (release != "dev") {
$.each(all_versions, function(version, title) {
var series = version.substr(0, 3);
if (series == current_series && version != release) {
$('#outdated-warning').html('This document is for outdated version ' + release + ', you should select the latest release version in this series, ' + version + '.');
$('#outdated-warning').css('padding', '.5em');
}
});
}
});
})();

View File

@@ -1,162 +0,0 @@
/*
SPDX-License-Identifier: CC-BY-2.0-UK
*/
body {
font-family: Verdana, Sans, sans-serif;
margin: 0em auto;
color: #333;
}
h1,h2,h3,h4,h5,h6,h7 {
font-family: Arial, Sans;
color: #00557D;
clear: both;
}
h1 {
font-size: 2em;
text-align: left;
padding: 0em 0em 0em 0em;
margin: 2em 0em 0em 0em;
}
h2.subtitle {
margin: 0.10em 0em 3.0em 0em;
padding: 0em 0em 0em 0em;
font-size: 1.8em;
padding-left: 20%;
font-weight: normal;
font-style: italic;
}
h2 {
margin: 2em 0em 0.66em 0em;
padding: 0.5em 0em 0em 0em;
font-size: 1.5em;
font-weight: bold;
}
h3.subtitle {
margin: 0em 0em 1em 0em;
padding: 0em 0em 0em 0em;
font-size: 142.14%;
text-align: right;
}
h3 {
margin: 1em 0em 0.5em 0em;
padding: 1em 0em 0em 0em;
font-size: 140%;
font-weight: bold;
}
h4 {
margin: 1em 0em 0.5em 0em;
padding: 1em 0em 0em 0em;
font-size: 120%;
font-weight: bold;
}
h5 {
margin: 1em 0em 0.5em 0em;
padding: 1em 0em 0em 0em;
font-size: 110%;
font-weight: bold;
}
h6 {
margin: 1em 0em 0em 0em;
padding: 1em 0em 0em 0em;
font-size: 110%;
font-weight: bold;
}
em {
font-weight: bold;
}
.pre {
font-size: medium;
font-family: Courier, monospace;
}
.wy-nav-content a {
text-decoration: underline;
color: #444;
background: transparent;
}
.wy-nav-content a:hover {
text-decoration: underline;
background-color: #dedede;
}
.wy-nav-content a:visited {
color: #444;
}
[alt='Permalink'] { color: #eee; }
[alt='Permalink']:hover { color: black; }
@media screen {
/* content column
*
* RTD theme's default is 800px as max width for the content, but we have
* tables with tons of columns, which need the full width of the view-port.
*/
.wy-nav-content{max-width: none; }
/* inline literal: drop the borderbox, padding and red color */
code, .rst-content tt, .rst-content code {
color: inherit;
border: none;
padding: unset;
background: inherit;
font-size: 85%;
}
.rst-content tt.literal,.rst-content tt.literal,.rst-content code.literal {
color: inherit;
}
/* Admonition should be gray, not blue or green */
.rst-content .note .admonition-title,
.rst-content .tip .admonition-title,
.rst-content .warning .admonition-title,
.rst-content .caution .admonition-title,
.rst-content .important .admonition-title {
background: #f0f0f2;
color: #00557D;
}
.rst-content .note,
.rst-content .tip,
.rst-content .important,
.rst-content .warning,
.rst-content .caution {
background: #f0f0f2;
}
/* Remove the icon in front of note/tip element, and before the logo */
.icon-home:before, .rst-content .admonition-title:before {
display: none
}
/* a custom informalexample container is used in some doc */
.informalexample {
border: 1px solid;
border-color: #aaa;
margin: 1em 0em;
padding: 1em;
page-break-inside: avoid;
}
/* Remove the blue background in the top left corner, around the logo */
.wy-side-nav-search {
background: inherit;
}
}

1
bitbake/doc/template/Vera.xml vendored Normal file

File diff suppressed because one or more lines are too long

1
bitbake/doc/template/VeraMoBd.xml vendored Normal file

File diff suppressed because one or more lines are too long

1
bitbake/doc/template/VeraMono.xml vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,39 @@
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:d="http://docbook.org/ns/docbook"
xmlns="http://www.w3.org/1999/xhtml"
exclude-result-prefixes="d">
<xsl:template name="component.title">
<xsl:param name="node" select="."/>
<xsl:variable name="level">
<xsl:choose>
<xsl:when test="ancestor::d:section">
<xsl:value-of select="count(ancestor::d:section)+1"/>
</xsl:when>
<xsl:when test="ancestor::d:sect5">6</xsl:when>
<xsl:when test="ancestor::d:sect4">5</xsl:when>
<xsl:when test="ancestor::d:sect3">4</xsl:when>
<xsl:when test="ancestor::d:sect2">3</xsl:when>
<xsl:when test="ancestor::d:sect1">2</xsl:when>
<xsl:otherwise>1</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:element name="h{$level+1}" namespace="http://www.w3.org/1999/xhtml">
<xsl:attribute name="class">title</xsl:attribute>
<xsl:if test="$generate.id.attributes = 0">
<xsl:call-template name="anchor">
<xsl:with-param name="node" select="$node"/>
<xsl:with-param name="conditional" select="0"/>
</xsl:call-template>
</xsl:if>
<xsl:apply-templates select="$node" mode="object.title.markup">
<xsl:with-param name="allow-anchors" select="1"/>
</xsl:apply-templates>
<xsl:call-template name="permalink">
<xsl:with-param name="node" select="$node"/>
</xsl:call-template>
</xsl:element>
</xsl:template>
</xsl:stylesheet>

64
bitbake/doc/template/db-pdf.xsl vendored Normal file
View File

@@ -0,0 +1,64 @@
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0">
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl" />
<!-- check project-plan.sh for how this is generated, needed to tweak
the cover page
-->
<xsl:include href="/tmp/titlepage.xsl"/>
<!-- To force a page break in document, i.e per section add a
<?hard-pagebreak?> tag.
-->
<xsl:template match="processing-instruction('hard-pagebreak')">
<fo:block break-before='page' />
</xsl:template>
<!--Fix for defualt indent getting TOC all wierd..
See http://sources.redhat.com/ml/docbook-apps/2005-q1/msg00455.html
FIXME: must be a better fix
-->
<xsl:param name="body.start.indent" select="'0'"/>
<!--<xsl:param name="title.margin.left" select="'0'"/>-->
<!-- stop long-ish header titles getting wrapped -->
<xsl:param name="header.column.widths">1 10 1</xsl:param>
<!-- customise headers and footers a little -->
<xsl:template name="head.sep.rule">
<xsl:if test="$header.rule != 0">
<xsl:attribute name="border-bottom-width">0.5pt</xsl:attribute>
<xsl:attribute name="border-bottom-style">solid</xsl:attribute>
<xsl:attribute name="border-bottom-color">#cccccc</xsl:attribute>
</xsl:if>
</xsl:template>
<xsl:template name="foot.sep.rule">
<xsl:if test="$footer.rule != 0">
<xsl:attribute name="border-top-width">0.5pt</xsl:attribute>
<xsl:attribute name="border-top-style">solid</xsl:attribute>
<xsl:attribute name="border-top-color">#cccccc</xsl:attribute>
</xsl:if>
</xsl:template>
<xsl:attribute-set name="header.content.properties">
<xsl:attribute name="color">#cccccc</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="footer.content.properties">
<xsl:attribute name="color">#cccccc</xsl:attribute>
</xsl:attribute-set>
<!-- general settings -->
<xsl:param name="fop1.extensions" select="1"></xsl:param>
<xsl:param name="paper.type" select="'A4'"></xsl:param>
<xsl:param name="section.autolabel" select="1"></xsl:param>
<xsl:param name="body.font.family" select="'verasans'"></xsl:param>
<xsl:param name="title.font.family" select="'verasans'"></xsl:param>
<xsl:param name="monospace.font.family" select="'veramono'"></xsl:param>
</xsl:stylesheet>

25
bitbake/doc/template/division.title.xsl vendored Normal file
View File

@@ -0,0 +1,25 @@
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:d="http://docbook.org/ns/docbook"
xmlns="http://www.w3.org/1999/xhtml"
exclude-result-prefixes="d">
<xsl:template name="division.title">
<xsl:param name="node" select="."/>
<h1>
<xsl:attribute name="class">title</xsl:attribute>
<xsl:call-template name="anchor">
<xsl:with-param name="node" select="$node"/>
<xsl:with-param name="conditional" select="0"/>
</xsl:call-template>
<xsl:apply-templates select="$node" mode="object.title.markup">
<xsl:with-param name="allow-anchors" select="1"/>
</xsl:apply-templates>
<xsl:call-template name="permalink">
<xsl:with-param name="node" select="$node"/>
</xsl:call-template>
</h1>
</xsl:template>
</xsl:stylesheet>

58
bitbake/doc/template/fop-config.xml vendored Normal file
View File

@@ -0,0 +1,58 @@
<fop version="1.0">
<!-- Strict user configuration -->
<strict-configuration>true</strict-configuration>
<!-- Strict FO validation -->
<strict-validation>true</strict-validation>
<!--
Set the baseDir so common/openedhand.svg references in plans still
work ok. Note, relative file references to current dir should still work.
-->
<base>../template</base>
<font-base>../template</font-base>
<!-- Source resolution in dpi (dots/pixels per inch) for determining the
size of pixels in SVG and bitmap images, default: 72dpi -->
<!-- <source-resolution>72</source-resolution> -->
<!-- Target resolution in dpi (dots/pixels per inch) for specifying the
target resolution for generated bitmaps, default: 72dpi -->
<!-- <target-resolution>72</target-resolution> -->
<!-- default page-height and page-width, in case
value is specified as auto -->
<default-page-settings height="11in" width="8.26in"/>
<!-- <use-cache>false</use-cache> -->
<renderers>
<renderer mime="application/pdf">
<fonts>
<font metrics-file="VeraMono.xml"
kerning="yes"
embed-url="VeraMono.ttf">
<font-triplet name="veramono" style="normal" weight="normal"/>
</font>
<font metrics-file="VeraMoBd.xml"
kerning="yes"
embed-url="VeraMoBd.ttf">
<font-triplet name="veramono" style="normal" weight="bold"/>
</font>
<font metrics-file="Vera.xml"
kerning="yes"
embed-url="Vera.ttf">
<font-triplet name="verasans" style="normal" weight="normal"/>
<font-triplet name="verasans" style="normal" weight="bold"/>
<font-triplet name="verasans" style="italic" weight="normal"/>
<font-triplet name="verasans" style="italic" weight="bold"/>
</font>
<auto-detect/>
</fonts>
</renderer>
</renderers>
</fop>

View File

@@ -0,0 +1,21 @@
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:d="http://docbook.org/ns/docbook"
xmlns="http://www.w3.org/1999/xhtml"
exclude-result-prefixes="d">
<xsl:template name="formal.object.heading">
<xsl:param name="object" select="."/>
<xsl:param name="title">
<xsl:apply-templates select="$object" mode="object.title.markup">
<xsl:with-param name="allow-anchors" select="1"/>
</xsl:apply-templates>
</xsl:param>
<p class="title">
<b><xsl:copy-of select="$title"/></b>
<xsl:call-template name="permalink">
<xsl:with-param name="node" select="$object"/>
</xsl:call-template>
</p>
</xsl:template>
</xsl:stylesheet>

View File

@@ -0,0 +1,14 @@
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:d="http://docbook.org/ns/docbook"
xmlns="http://www.w3.org/1999/xhtml">
<xsl:template match="glossentry/glossterm">
<xsl:apply-imports/>
<xsl:if test="$generate.permalink != 0">
<xsl:call-template name="permalink">
<xsl:with-param name="node" select=".."/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

25
bitbake/doc/template/permalinks.xsl vendored Normal file
View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="generate.permalink" select="1"/>
<xsl:param name="permalink.text"></xsl:param>
<xsl:template name="permalink">
<xsl:param name="node"/>
<xsl:if test="$generate.permalink != '0'">
<span class="permalink">
<a alt="Permalink" title="Permalink">
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$node"/>
</xsl:call-template>
</xsl:attribute>
<xsl:copy-of select="$permalink.text"/>
</a>
</span>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

55
bitbake/doc/template/section.title.xsl vendored Normal file
View File

@@ -0,0 +1,55 @@
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:d="http://docbook.org/ns/docbook"
xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="d">
<xsl:template name="section.title">
<xsl:variable name="section"
select="(ancestor::section |
ancestor::simplesect|
ancestor::sect1|
ancestor::sect2|
ancestor::sect3|
ancestor::sect4|
ancestor::sect5)[last()]"/>
<xsl:variable name="renderas">
<xsl:choose>
<xsl:when test="$section/@renderas = 'sect1'">1</xsl:when>
<xsl:when test="$section/@renderas = 'sect2'">2</xsl:when>
<xsl:when test="$section/@renderas = 'sect3'">3</xsl:when>
<xsl:when test="$section/@renderas = 'sect4'">4</xsl:when>
<xsl:when test="$section/@renderas = 'sect5'">5</xsl:when>
<xsl:otherwise><xsl:value-of select="''"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="level">
<xsl:choose>
<xsl:when test="$renderas != ''">
<xsl:value-of select="$renderas"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="section.level">
<xsl:with-param name="node" select="$section"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:call-template name="section.heading">
<xsl:with-param name="section" select="$section"/>
<xsl:with-param name="level" select="$level"/>
<xsl:with-param name="title">
<xsl:apply-templates select="$section" mode="object.title.markup">
<xsl:with-param name="allow-anchors" select="1"/>
</xsl:apply-templates>
<xsl:if test="$level &gt; 0">
<xsl:call-template name="permalink">
<xsl:with-param name="node" select="$section"/>
</xsl:call-template>
</xsl:if>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
</xsl:stylesheet>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,51 @@
#!/bin/sh
if [ -z "$1" -o -z "$2" ]; then
echo "usage: [-v] $0 <docbook file> <templatedir>"
echo
echo "*NOTE* you need xsltproc, fop and nwalsh docbook stylesheets"
echo " installed for this to work!"
echo
exit 0
fi
FO=`echo $1 | sed s/.xml/.fo/` || exit 1
PDF=`echo $1 | sed s/.xml/.pdf/` || exit 1
TEMPLATEDIR=$2
##
# These URI should be rewritten by your distribution's xml catalog to
# match your localy installed XSL stylesheets.
XSL_BASE_URI="http://docbook.sourceforge.net/release/xsl/current"
# Creates a temporary XSL stylesheet based on titlepage.xsl
xsltproc -o /tmp/titlepage.xsl \
--xinclude \
$XSL_BASE_URI/template/titlepage.xsl \
$TEMPLATEDIR/titlepage.templates.xml || exit 1
# Creates the file needed for FOP
xsltproc --xinclude \
--stringparam hyphenate false \
--stringparam formal.title.placement "figure after" \
--stringparam ulink.show 1 \
--stringparam body.font.master 9 \
--stringparam title.font.master 11 \
--stringparam draft.watermark.image "$TEMPLATEDIR/draft.png" \
--stringparam chapter.autolabel 1 \
--stringparam appendix.autolabel A \
--stringparam section.autolabel 1 \
--stringparam section.label.includes.component.label 1 \
--output $FO \
$TEMPLATEDIR/db-pdf.xsl \
$1 || exit 1
# Invokes the Java version of FOP. Uses the additional configuration file common/fop-config.xml
fop -c $TEMPLATEDIR/fop-config.xml -fo $FO -pdf $PDF || exit 1
rm -f $FO
rm -f /tmp/titlepage.xsl
echo
echo " #### Success! $PDF ready. ####"
echo

View File

@@ -1,16 +1,31 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# This is a copy on write dictionary and set which abuses classes to try and be nice and fast.
#
# Copyright (C) 2006 Tim Ansell
#
# Please Note:
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
#Please Note:
# Be careful when using mutable types (ie Dict and Lists) - operations involving these are SLOW.
# Assign a file to __warn__ to get warnings about slow operations.
#
import copy
import types
ImmutableTypes = (
bool,
complex,
@@ -23,11 +38,9 @@ ImmutableTypes = (
MUTABLE = "__mutable__"
class COWMeta(type):
pass
class COWDictMeta(COWMeta):
__warn__ = False
__hasmutable__ = False
@@ -36,15 +49,12 @@ class COWDictMeta(COWMeta):
def __str__(cls):
# FIXME: I have magic numbers!
return "<COWDict Level: %i Current Keys: %i>" % (cls.__count__, len(cls.__dict__) - 3)
__repr__ = __str__
def cow(cls):
class C(cls):
__count__ = cls.__count__ + 1
return C
copy = cow
__call__ = cow
@@ -76,9 +86,8 @@ class COWDictMeta(COWMeta):
return value
__getmarker__ = []
def __getreadonly__(cls, key, default=__getmarker__):
"""
"""\
Get a value (even if mutable) which you promise not to change.
"""
return cls.__getitem__(key, default, True)
@@ -141,33 +150,28 @@ class COWDictMeta(COWMeta):
yield value
if type == "items":
yield (key, value)
return
raise StopIteration()
def iterkeys(cls):
return cls.iter("keys")
def itervalues(cls, readonly=False):
if not cls.__warn__ is False and cls.__hasmutable__ and readonly is False:
print("Warning: If you aren't going to change any of the values call with True.", file=cls.__warn__)
print("Warning: If you arn't going to change any of the values call with True.", file=cls.__warn__)
return cls.iter("values", readonly)
def iteritems(cls, readonly=False):
if not cls.__warn__ is False and cls.__hasmutable__ and readonly is False:
print("Warning: If you aren't going to change any of the values call with True.", file=cls.__warn__)
print("Warning: If you arn't going to change any of the values call with True.", file=cls.__warn__)
return cls.iter("items", readonly)
class COWSetMeta(COWDictMeta):
def __str__(cls):
# FIXME: I have magic numbers!
return "<COWSet Level: %i Current Keys: %i>" % (cls.__count__, len(cls.__dict__) - 3)
return "<COWSet Level: %i Current Keys: %i>" % (cls.__count__, len(cls.__dict__) -3)
__repr__ = __str__
def cow(cls):
class C(cls):
__count__ = cls.__count__ + 1
return C
def add(cls, value):
@@ -185,11 +189,131 @@ class COWSetMeta(COWDictMeta):
def iteritems(cls):
raise TypeError("sets don't have 'items'")
# These are the actual classes you use!
class COWDictBase(metaclass=COWDictMeta):
class COWDictBase(object, metaclass = COWDictMeta):
__count__ = 0
class COWSetBase(metaclass=COWSetMeta):
class COWSetBase(object, metaclass = COWSetMeta):
__count__ = 0
if __name__ == "__main__":
import sys
COWDictBase.__warn__ = sys.stderr
a = COWDictBase()
print("a", a)
a['a'] = 'a'
a['b'] = 'b'
a['dict'] = {}
b = a.copy()
print("b", b)
b['c'] = 'b'
print()
print("a", a)
for x in a.iteritems():
print(x)
print("--")
print("b", b)
for x in b.iteritems():
print(x)
print()
b['dict']['a'] = 'b'
b['a'] = 'c'
print("a", a)
for x in a.iteritems():
print(x)
print("--")
print("b", b)
for x in b.iteritems():
print(x)
print()
try:
b['dict2']
except KeyError as e:
print("Okay!")
a['set'] = COWSetBase()
a['set'].add("o1")
a['set'].add("o1")
a['set'].add("o2")
print("a", a)
for x in a['set'].itervalues():
print(x)
print("--")
print("b", b)
for x in b['set'].itervalues():
print(x)
print()
b['set'].add('o3')
print("a", a)
for x in a['set'].itervalues():
print(x)
print("--")
print("b", b)
for x in b['set'].itervalues():
print(x)
print()
a['set2'] = set()
a['set2'].add("o1")
a['set2'].add("o1")
a['set2'].add("o2")
print("a", a)
for x in a.iteritems():
print(x)
print("--")
print("b", b)
for x in b.iteritems(readonly=True):
print(x)
print()
del b['b']
try:
print(b['b'])
except KeyError:
print("Yay! deleted key raises error")
if 'b' in b:
print("Boo!")
else:
print("Yay - has_key with delete works!")
print("a", a)
for x in a.iteritems():
print(x)
print("--")
print("b", b)
for x in b.iteritems(readonly=True):
print(x)
print()
b.__revertitem__('b')
print("a", a)
for x in a.iteritems():
print(x)
print("--")
print("b", b)
for x in b.iteritems(readonly=True):
print(x)
print()
b.__revertitem__('dict')
print("a", a)
for x in a.iteritems():
print(x)
print("--")
print("b", b)
for x in b.iteritems(readonly=True):
print(x)
print()

View File

@@ -1,3 +1,5 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# BitBake Build System Python Library
#
@@ -6,14 +8,24 @@
#
# Based on Gentoo's portage.py.
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
__version__ = "1.49.0"
__version__ = "1.36.0"
import sys
if sys.version_info < (3, 5, 0):
raise RuntimeError("Sorry, python 3.5.0 or later is required for this version of bitbake")
if sys.version_info < (3, 4, 0):
raise RuntimeError("Sorry, python 3.4.0 or later is required for this version of bitbake")
class BBHandledException(Exception):
@@ -35,23 +47,15 @@ class NullHandler(logging.Handler):
def emit(self, record):
pass
class BBLoggerMixin(object):
def __init__(self, *args, **kwargs):
# Does nothing to allow calling super() from derived classes
pass
def setup_bblogger(self, name):
Logger = logging.getLoggerClass()
class BBLogger(Logger):
def __init__(self, name):
if name.split(".")[0] == "BitBake":
self.debug = self.bbdebug
Logger.__init__(self, name)
def bbdebug(self, level, msg, *args, **kwargs):
loglevel = logging.DEBUG - level + 1
if not bb.event.worker_pid:
if self.name in bb.msg.loggerDefaultDomains and loglevel > (bb.msg.loggerDefaultDomains[self.name]):
return
if loglevel > bb.msg.loggerDefaultLogLevel:
return
return self.log(loglevel, msg, *args, **kwargs)
return self.log(logging.DEBUG - level + 1, msg, *args, **kwargs)
def plain(self, msg, *args, **kwargs):
return self.log(logging.INFO + 1, msg, *args, **kwargs)
@@ -59,59 +63,15 @@ class BBLoggerMixin(object):
def verbose(self, msg, *args, **kwargs):
return self.log(logging.INFO - 1, msg, *args, **kwargs)
def verbnote(self, msg, *args, **kwargs):
return self.log(logging.INFO + 2, msg, *args, **kwargs)
Logger = logging.getLoggerClass()
class BBLogger(Logger, BBLoggerMixin):
def __init__(self, name, *args, **kwargs):
self.setup_bblogger(name)
super().__init__(name, *args, **kwargs)
logging.raiseExceptions = False
logging.setLoggerClass(BBLogger)
class BBLoggerAdapter(logging.LoggerAdapter, BBLoggerMixin):
def __init__(self, logger, *args, **kwargs):
self.setup_bblogger(logger.name)
super().__init__(logger, *args, **kwargs)
if sys.version_info < (3, 6):
# These properties were added in Python 3.6. Add them in older versions
# for compatibility
@property
def manager(self):
return self.logger.manager
@manager.setter
def manager(self, value):
self.logger.manager = value
@property
def name(self):
return self.logger.name
def __repr__(self):
logger = self.logger
level = logger.getLevelName(logger.getEffectiveLevel())
return '<%s %s (%s)>' % (self.__class__.__name__, logger.name, level)
logging.LoggerAdapter = BBLoggerAdapter
logger = logging.getLogger("BitBake")
logger.addHandler(NullHandler())
logger.setLevel(logging.DEBUG - 2)
mainlogger = logging.getLogger("BitBake.Main")
class PrefixLoggerAdapter(logging.LoggerAdapter):
def __init__(self, prefix, logger):
super().__init__(logger, {})
self.__msg_prefix = prefix
def process(self, msg, kwargs):
return "%s%s" %(self.__msg_prefix, msg), kwargs
# This has to be imported after the setLoggerClass, as the import of bb.msg
# can result in construction of the various loggers.
import bb.msg
@@ -133,18 +93,6 @@ def debug(lvl, *args):
def note(*args):
mainlogger.info(''.join(args))
#
# A higher prioity note which will show on the console but isn't a warning
#
# Something is happening the user should be aware of but they probably did
# something to make it happen
#
def verbnote(*args):
mainlogger.verbnote(''.join(args))
#
# Warnings - things the user likely needs to pay attention to and fix
#
def warn(*args):
mainlogger.warning(''.join(args))

View File

@@ -1,3 +1,5 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# BitBake 'Build' implementation
#
@@ -8,17 +10,27 @@
#
# Based on Gentoo's portage.py.
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import os
import sys
import logging
import shlex
import glob
import itertools
import time
import re
import stat
import bb
import bb.msg
@@ -29,8 +41,7 @@ from bb import data, event, utils
bblogger = logging.getLogger('BitBake')
logger = logging.getLogger('BitBake.Build')
verboseShellLogging = False
verboseStdoutLogging = False
NULL = open(os.devnull, 'r+')
__mtime_cache = {}
@@ -58,20 +69,34 @@ else:
builtins['bb'] = bb
builtins['os'] = os
class FuncFailed(Exception):
def __init__(self, name = None, logfile = None):
self.logfile = logfile
self.name = name
if name:
self.msg = 'Function failed: %s' % name
else:
self.msg = "Function failed"
def __str__(self):
if self.logfile and os.path.exists(self.logfile):
msg = ("%s (log file is located at %s)" %
(self.msg, self.logfile))
else:
msg = self.msg
return msg
class TaskBase(event.Event):
"""Base class for task events"""
def __init__(self, t, fn, logfile, d):
def __init__(self, t, logfile, d):
self._task = t
self._fn = fn
self._package = d.getVar("PF")
self._mc = d.getVar("BB_CURRENT_MC")
self.taskfile = d.getVar("FILE")
self.taskname = self._task
self.logfile = logfile
self.time = time.time()
self.pn = d.getVar("PN")
self.pv = d.getVar("PV")
event.Event.__init__(self)
self._message = "recipe %s: task %s: %s" % (d.getVar("PF"), t, self.getDisplayName())
@@ -88,8 +113,8 @@ class TaskBase(event.Event):
class TaskStarted(TaskBase):
"""Task execution started"""
def __init__(self, t, fn, logfile, taskflags, d):
super(TaskStarted, self).__init__(t, fn, logfile, d)
def __init__(self, t, logfile, taskflags, d):
super(TaskStarted, self).__init__(t, logfile, d)
self.taskflags = taskflags
class TaskSucceeded(TaskBase):
@@ -98,9 +123,9 @@ class TaskSucceeded(TaskBase):
class TaskFailed(TaskBase):
"""Task execution failed"""
def __init__(self, task, fn, logfile, metadata, errprinted = False):
def __init__(self, task, logfile, metadata, errprinted = False):
self.errprinted = errprinted
super(TaskFailed, self).__init__(task, fn, logfile, metadata)
super(TaskFailed, self).__init__(task, logfile, metadata)
class TaskFailedSilent(TaskBase):
"""Task execution failed (silently)"""
@@ -110,8 +135,8 @@ class TaskFailedSilent(TaskBase):
class TaskInvalid(TaskBase):
def __init__(self, task, fn, metadata):
super(TaskInvalid, self).__init__(task, fn, None, metadata)
def __init__(self, task, metadata):
super(TaskInvalid, self).__init__(task, None, metadata)
self._message = "No such task '%s'" % task
class TaskProgress(event.Event):
@@ -153,33 +178,15 @@ class LogTee(object):
def __repr__(self):
return '<LogTee {0}>'.format(self.name)
def flush(self):
self.outfile.flush()
class StdoutNoopContextManager:
"""
This class acts like sys.stdout, but adds noop __enter__ and __exit__ methods.
"""
def __enter__(self):
return sys.stdout
def __exit__(self, *exc_info):
pass
def write(self, string):
return sys.stdout.write(string)
def flush(self):
sys.stdout.flush()
@property
def name(self):
return sys.stdout.name
def exec_func(func, d, dirs = None):
#
# pythonexception allows the python exceptions generated to be raised
# as the real exceptions (not FuncFailed) and without a backtrace at the
# origin of the failure.
#
def exec_func(func, d, dirs = None, pythonexception=False):
"""Execute a BB 'function'"""
try:
@@ -251,7 +258,7 @@ def exec_func(func, d, dirs = None):
with bb.utils.fileslocked(lockfiles):
if ispython:
exec_func_python(func, d, runfile, cwd=adir)
exec_func_python(func, d, runfile, cwd=adir, pythonexception=pythonexception)
else:
exec_func_shell(func, d, runfile, cwd=adir)
@@ -271,7 +278,7 @@ _functionfmt = """
{function}(d)
"""
logformatter = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
def exec_func_python(func, d, runfile, cwd=None):
def exec_func_python(func, d, runfile, cwd=None, pythonexception=False):
"""Execute a python BB 'function'"""
code = _functionfmt.format(function=func)
@@ -296,7 +303,13 @@ def exec_func_python(func, d, runfile, cwd=None):
bb.methodpool.insert_method(func, text, fn, lineno - 1)
comp = utils.better_compile(code, func, "exec_python_func() autogenerated")
utils.better_exec(comp, {"d": d}, code, "exec_python_func() autogenerated")
utils.better_exec(comp, {"d": d}, code, "exec_python_func() autogenerated", pythonexception=pythonexception)
except (bb.parse.SkipRecipe, bb.build.FuncFailed):
raise
except:
if pythonexception:
raise
raise FuncFailed(func, None)
finally:
bb.debug(2, "Python function %s finished" % func)
@@ -308,98 +321,22 @@ def exec_func_python(func, d, runfile, cwd=None):
def shell_trap_code():
return '''#!/bin/sh\n
__BITBAKE_LAST_LINE=0
# Emit a useful diagnostic if something fails:
bb_sh_exit_handler() {
bb_exit_handler() {
ret=$?
if [ "$ret" != 0 ]; then
echo "WARNING: exit code $ret from a shell command."
fi
exit $ret
case $ret in
0) ;;
*) case $BASH_VERSION in
"") echo "WARNING: exit code $ret from a shell command.";;
*) echo "WARNING: ${BASH_SOURCE[0]}:${BASH_LINENO[0]} exit $ret from '$BASH_COMMAND'";;
esac
exit $ret
esac
}
bb_bash_exit_handler() {
ret=$?
{ set +x; } > /dev/null
trap "" DEBUG
if [ "$ret" != 0 ]; then
echo "WARNING: ${BASH_SOURCE[0]}:${__BITBAKE_LAST_LINE} exit $ret from '$1'"
echo "WARNING: Backtrace (BB generated script): "
for i in $(seq 1 $((${#FUNCNAME[@]} - 1))); do
if [ "$i" -eq 1 ]; then
echo -e "\t#$((i)): ${FUNCNAME[$i]}, ${BASH_SOURCE[$((i-1))]}, line ${__BITBAKE_LAST_LINE}"
else
echo -e "\t#$((i)): ${FUNCNAME[$i]}, ${BASH_SOURCE[$((i-1))]}, line ${BASH_LINENO[$((i-1))]}"
fi
done
fi
exit $ret
}
bb_bash_debug_handler() {
local line=${BASH_LINENO[0]}
# For some reason the DEBUG trap trips with lineno=1 when scripts exit; ignore it
if [ "$line" -eq 1 ]; then
return
fi
# Track the line number of commands as they execute. This is so we can have access to the failing line number
# in the EXIT trap. See http://gnu-bash.2382.n7.nabble.com/trap-echo-quot-trap-exit-on-LINENO-quot-EXIT-gt-wrong-linenumber-td3666.html
if [ "${FUNCNAME[1]}" != "bb_bash_exit_handler" ]; then
__BITBAKE_LAST_LINE=$line
fi
}
case $BASH_VERSION in
"") trap 'bb_sh_exit_handler' 0
set -e
;;
*) trap 'bb_bash_exit_handler "$BASH_COMMAND"' 0
trap '{ bb_bash_debug_handler; } 2>/dev/null' DEBUG
set -e
shopt -s extdebug
;;
esac
trap 'bb_exit_handler' 0
set -e
'''
def create_progress_handler(func, progress, logfile, d):
if progress == 'percent':
# Use default regex
return bb.progress.BasicProgressHandler(d, outfile=logfile)
elif progress.startswith('percent:'):
# Use specified regex
return bb.progress.BasicProgressHandler(d, regex=progress.split(':', 1)[1], outfile=logfile)
elif progress.startswith('outof:'):
# Use specified regex
return bb.progress.OutOfProgressHandler(d, regex=progress.split(':', 1)[1], outfile=logfile)
elif progress.startswith("custom:"):
# Use a custom progress handler that was injected via OE_EXTRA_IMPORTS or __builtins__
import functools
from types import ModuleType
parts = progress.split(":", 2)
_, cls, otherargs = parts[0], parts[1], (parts[2] or None) if parts[2:] else None
if cls:
def resolve(x, y):
if not x:
return None
if isinstance(x, ModuleType):
return getattr(x, y, None)
return x.get(y)
cls_obj = functools.reduce(resolve, cls.split("."), bb.utils._context)
if not cls_obj:
# Fall-back on __builtins__
cls_obj = functools.reduce(resolve, cls.split("."), __builtins__)
if cls_obj:
return cls_obj(d, outfile=logfile, otherargs=otherargs)
bb.warn('%s: unknown custom progress handler in task progress varflag value "%s", ignoring' % (func, cls))
else:
bb.warn('%s: invalid task progress varflag value "%s", ignoring' % (func, progress))
return logfile
def exec_func_shell(func, d, runfile, cwd=None):
"""Execute a shell function from the metadata
@@ -416,7 +353,7 @@ def exec_func_shell(func, d, runfile, cwd=None):
bb.data.emit_func(func, script, d)
if verboseShellLogging or bb.utils.to_boolean(d.getVar("BB_VERBOSE_LOGS", False)):
if bb.msg.loggerVerboseLogs:
script.write("set -x\n")
if cwd:
script.write("cd '%s'\n" % cwd)
@@ -436,20 +373,24 @@ exit $ret
if fakerootcmd:
cmd = [fakerootcmd, runfile]
if verboseStdoutLogging:
logfile = LogTee(logger, StdoutNoopContextManager())
if bb.msg.loggerDefaultVerbose:
logfile = LogTee(logger, sys.stdout)
else:
logfile = StdoutNoopContextManager()
logfile = sys.stdout
progress = d.getVarFlag(func, 'progress')
if progress:
try:
logfile = create_progress_handler(func, progress, logfile, d)
except:
from traceback import format_exc
logger.error("Failed to create progress handler")
logger.error(format_exc())
raise
if progress == 'percent':
# Use default regex
logfile = bb.progress.BasicProgressHandler(d, outfile=logfile)
elif progress.startswith('percent:'):
# Use specified regex
logfile = bb.progress.BasicProgressHandler(d, regex=progress.split(':', 1)[1], outfile=logfile)
elif progress.startswith('outof:'):
# Use specified regex
logfile = bb.progress.OutOfProgressHandler(d, regex=progress.split(':', 1)[1], outfile=logfile)
else:
bb.warn('%s: invalid task progress varflag value "%s", ignoring' % (func, progress))
fifobuffer = bytearray()
def readfifo(data):
@@ -468,8 +409,6 @@ exit $ret
bb.plain(value)
elif cmd == 'bbnote':
bb.note(value)
elif cmd == 'bbverbnote':
bb.verbnote(value)
elif cmd == 'bbwarn':
bb.warn(value)
elif cmd == 'bberror':
@@ -499,64 +438,13 @@ exit $ret
with open(fifopath, 'r+b', buffering=0) as fifo:
try:
bb.debug(2, "Executing shell function %s" % func)
with open(os.devnull, 'r+') as stdin, logfile:
bb.process.run(cmd, shell=False, stdin=stdin, log=logfile, extrafiles=[(fifo,readfifo)])
except bb.process.ExecutionError as exe:
# Find the backtrace that the shell trap generated
backtrace_marker_regex = re.compile(r"WARNING: Backtrace \(BB generated script\)")
stdout_lines = (exe.stdout or "").split("\n")
backtrace_start_line = None
for i, line in enumerate(reversed(stdout_lines)):
if backtrace_marker_regex.search(line):
backtrace_start_line = len(stdout_lines) - i
break
# Read the backtrace frames, starting at the location we just found
backtrace_entry_regex = re.compile(r"#(?P<frameno>\d+): (?P<funcname>[^\s]+), (?P<file>.+?), line ("
r"?P<lineno>\d+)")
backtrace_frames = []
if backtrace_start_line:
for line in itertools.islice(stdout_lines, backtrace_start_line, None):
match = backtrace_entry_regex.search(line)
if match:
backtrace_frames.append(match.groupdict())
with open(runfile, "r") as script:
script_lines = [line.rstrip() for line in script.readlines()]
# For each backtrace frame, search backwards in the script (from the line number called out by the frame),
# to find the comment that emit_vars injected when it wrote the script. This will give us the metadata
# filename (e.g. .bb or .bbclass) and line number where the shell function was originally defined.
script_metadata_comment_regex = re.compile(r"# line: (?P<lineno>\d+), file: (?P<file>.+)")
better_frames = []
# Skip the very last frame since it's just the call to the shell task in the body of the script
for frame in backtrace_frames[:-1]:
# Check whether the frame corresponds to a function defined in the script vs external script.
if os.path.samefile(frame["file"], runfile):
# Search backwards from the frame lineno to locate the comment that BB injected
i = int(frame["lineno"]) - 1
while i >= 0:
match = script_metadata_comment_regex.match(script_lines[i])
if match:
# Calculate the relative line in the function itself
relative_line_in_function = int(frame["lineno"]) - i - 2
# Calculate line in the function as declared in the metadata
metadata_function_line = relative_line_in_function + int(match["lineno"])
better_frames.append("#{frameno}: {funcname}, {file}, line {lineno}".format(
frameno=frame["frameno"],
funcname=frame["funcname"],
file=match["file"],
lineno=metadata_function_line
))
break
i -= 1
else:
better_frames.append("#{frameno}: {funcname}, {file}, line {lineno}".format(**frame))
if better_frames:
better_frames = ("\t{0}".format(frame) for frame in better_frames)
exe.extra_message = "\nBacktrace (metadata-relative locations):\n{0}".format("\n".join(better_frames))
raise
try:
with open(os.devnull, 'r+') as stdin:
bb.process.run(cmd, shell=False, stdin=stdin, log=logfile, extrafiles=[(fifo,readfifo)])
except bb.process.CmdError:
logfn = d.getVar('BB_LOGFILE')
raise FuncFailed(func, logfn)
finally:
os.unlink(fifopath)
@@ -645,6 +533,7 @@ def _exec_task(fn, task, d, quieterr):
self.triggered = True
# Handle logfiles
si = open('/dev/null', 'r')
try:
bb.utils.mkdirhier(os.path.dirname(logfn))
logfile = open(logfn, 'w')
@@ -658,8 +547,7 @@ def _exec_task(fn, task, d, quieterr):
ose = [os.dup(sys.stderr.fileno()), sys.stderr.fileno()]
# Replace those fds with our own
with open('/dev/null', 'r') as si:
os.dup2(si.fileno(), osi[1])
os.dup2(si.fileno(), osi[1])
os.dup2(logfile.fileno(), oso[1])
os.dup2(logfile.fileno(), ose[1])
@@ -681,9 +569,12 @@ def _exec_task(fn, task, d, quieterr):
try:
try:
event.fire(TaskStarted(task, fn, logfn, flags, localdata), localdata)
event.fire(TaskStarted(task, logfn, flags, localdata), localdata)
except (bb.BBHandledException, SystemExit):
return 1
except FuncFailed as exc:
logger.error(str(exc))
return 1
try:
for func in (prefuncs or '').split():
@@ -691,16 +582,16 @@ def _exec_task(fn, task, d, quieterr):
exec_func(task, localdata)
for func in (postfuncs or '').split():
exec_func(func, localdata)
except bb.BBHandledException:
event.fire(TaskFailed(task, fn, logfn, localdata, True), localdata)
return 1
except Exception as exc:
except FuncFailed as exc:
if quieterr:
event.fire(TaskFailedSilent(task, fn, logfn, localdata), localdata)
event.fire(TaskFailedSilent(task, logfn, localdata), localdata)
else:
errprinted = errchk.triggered
logger.error(str(exc))
event.fire(TaskFailed(task, fn, logfn, localdata, errprinted), localdata)
event.fire(TaskFailed(task, logfn, localdata, errprinted), localdata)
return 1
except bb.BBHandledException:
event.fire(TaskFailed(task, logfn, localdata, True), localdata)
return 1
finally:
sys.stdout.flush()
@@ -717,13 +608,14 @@ def _exec_task(fn, task, d, quieterr):
os.close(osi[0])
os.close(oso[0])
os.close(ose[0])
si.close()
logfile.close()
if os.path.exists(logfn) and os.path.getsize(logfn) == 0:
logger.debug(2, "Zero size logfn %s, removing", logfn)
bb.utils.remove(logfn)
bb.utils.remove(loglink)
event.fire(TaskSucceeded(task, fn, logfn, localdata), localdata)
event.fire(TaskSucceeded(task, logfn, localdata), localdata)
if not localdata.getVarFlag(task, 'nostamp', False) and not localdata.getVarFlag(task, 'selfstamp', False):
make_stamp(task, localdata)
@@ -911,7 +803,6 @@ def add_tasks(tasklist, d):
if name in flags:
deptask = d.expand(flags[name])
task_deps[name][task] = deptask
getTask('mcdepends')
getTask('depends')
getTask('rdepends')
getTask('deptask')
@@ -925,9 +816,6 @@ def add_tasks(tasklist, d):
task_deps['parents'][task] = []
if 'deps' in flags:
for dep in flags['deps']:
# Check and warn for "addtask task after foo" while foo does not exist
#if not dep in tasklist:
# bb.warn('%s: dependent task %s for %s does not exist' % (d.getVar('PN'), dep, task))
dep = d.expand(dep)
task_deps['parents'][task].append(dep)
@@ -984,12 +872,6 @@ def preceedtask(task, with_recrdeptasks, d):
that this may lead to the task itself being listed.
"""
preceed = set()
# Ignore tasks which don't exist
tasks = d.getVar('__BBTASKS', False)
if task not in tasks:
return preceed
preceed.update(d.getVarFlag(task, 'deps') or [])
if with_recrdeptasks:
recrdeptask = d.getVarFlag(task, 'recrdeptask')

View File

@@ -1,3 +1,5 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# BitBake Cache implementation
#
@@ -13,26 +15,32 @@
# Copyright (C) 2005 Holger Hans Peter Freyther
# Copyright (C) 2005 ROAD GmbH
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os
import sys
import logging
import pickle
from collections import defaultdict, Mapping
from collections import defaultdict
import bb.utils
from bb import PrefixLoggerAdapter
import re
logger = logging.getLogger("BitBake.Cache")
__cache_version__ = "154"
__cache_version__ = "151"
def getCacheFile(path, filename, mc, data_hash):
mcspec = ''
if mc:
mcspec = ".%s" % mc
return os.path.join(path, filename + mcspec + "." + data_hash)
def getCacheFile(path, filename, data_hash):
return os.path.join(path, filename + "." + data_hash)
# RecipeInfoCommon defines common data retrieving methods
# from meta data for caches. CoreRecipeInfo as well as other
@@ -87,22 +95,21 @@ class CoreRecipeInfo(RecipeInfoCommon):
self.appends = self.listvar('__BBAPPEND', metadata)
self.nocache = self.getvar('BB_DONT_CACHE', metadata)
self.provides = self.depvar('PROVIDES', metadata)
self.rprovides = self.depvar('RPROVIDES', metadata)
self.pn = self.getvar('PN', metadata) or bb.parse.vars_from_file(filename,metadata)[0]
self.packages = self.listvar('PACKAGES', metadata)
if not self.packages:
self.packages.append(self.pn)
self.packages_dynamic = self.listvar('PACKAGES_DYNAMIC', metadata)
self.rprovides_pkg = self.pkgvar('RPROVIDES', self.packages, metadata)
self.skipreason = self.getvar('__SKIPPED', metadata)
if self.skipreason:
self.pn = self.getvar('PN', metadata) or bb.parse.BBHandler.vars_from_file(filename,metadata)[0]
self.skipped = True
self.provides = self.depvar('PROVIDES', metadata)
self.rprovides = self.depvar('RPROVIDES', metadata)
return
self.tasks = metadata.getVar('__BBTASKS', False)
self.pn = self.getvar('PN', metadata)
self.packages = self.listvar('PACKAGES', metadata)
if not self.packages:
self.packages.append(self.pn)
self.basetaskhashes = self.taskvar('BB_BASEHASH', self.tasks, metadata)
self.hashfilename = self.getvar('BB_HASHFILENAME', metadata)
@@ -118,9 +125,13 @@ class CoreRecipeInfo(RecipeInfoCommon):
self.stampclean = self.getvar('STAMPCLEAN', metadata)
self.stamp_extrainfo = self.flaglist('stamp-extra-info', self.tasks, metadata)
self.file_checksums = self.flaglist('file-checksums', self.tasks, metadata, True)
self.packages_dynamic = self.listvar('PACKAGES_DYNAMIC', metadata)
self.depends = self.depvar('DEPENDS', metadata)
self.provides = self.depvar('PROVIDES', metadata)
self.rdepends = self.depvar('RDEPENDS', metadata)
self.rprovides = self.depvar('RPROVIDES', metadata)
self.rrecommends = self.depvar('RRECOMMENDS', metadata)
self.rprovides_pkg = self.pkgvar('RPROVIDES', self.packages, metadata)
self.rdepends_pkg = self.pkgvar('RDEPENDS', self.packages, metadata)
self.rrecommends_pkg = self.pkgvar('RRECOMMENDS', self.packages, metadata)
self.inherits = self.getvar('__inherit_cache', metadata, expand=False)
@@ -212,10 +223,10 @@ class CoreRecipeInfo(RecipeInfoCommon):
# Collect files we may need for possible world-dep
# calculations
if not self.not_world:
if self.not_world:
logger.debug(1, "EXCLUDE FROM WORLD: %s", fn)
else:
cachedata.possible_world.append(fn)
#else:
# logger.debug(2, "EXCLUDE FROM WORLD: %s", fn)
# create a collection of all targets for sanity checking
# tasks, such as upstream versions, license, and tools for
@@ -224,7 +235,7 @@ class CoreRecipeInfo(RecipeInfoCommon):
cachedata.hashfn[fn] = self.hashfilename
for task, taskhash in self.basetaskhashes.items():
identifier = '%s:%s' % (fn, task)
identifier = '%s.%s' % (fn, task)
cachedata.basetaskhash[identifier] = taskhash
cachedata.inherits[fn] = self.inherits
@@ -238,7 +249,7 @@ def virtualfn2realfn(virtualfn):
Convert a virtual file name to a real one + the associated subclass keyword
"""
mc = ""
if virtualfn.startswith('mc:'):
if virtualfn.startswith('multiconfig:'):
elems = virtualfn.split(':')
mc = elems[1]
virtualfn = ":".join(elems[2:])
@@ -259,7 +270,7 @@ def realfn2virtual(realfn, cls, mc):
if cls:
realfn = "virtual:" + cls + ":" + realfn
if mc:
realfn = "mc:" + mc + ":" + realfn
realfn = "multiconfig:" + mc + ":" + realfn
return realfn
def variant2virtual(realfn, variant):
@@ -268,11 +279,11 @@ def variant2virtual(realfn, variant):
"""
if variant == "":
return realfn
if variant.startswith("mc:"):
if variant.startswith("multiconfig:"):
elems = variant.split(":")
if elems[2]:
return "mc:" + elems[1] + ":virtual:" + ":".join(elems[2:]) + ":" + realfn
return "mc:" + elems[1] + ":" + realfn
return "multiconfig:" + elems[1] + ":virtual:" + ":".join(elems[2:]) + ":" + realfn
return "multiconfig:" + elems[1] + ":" + realfn
return "virtual:" + variant + ":" + realfn
def parse_recipe(bb_data, bbfile, appends, mc=''):
@@ -328,7 +339,7 @@ class NoCache(object):
bb_data = self.load_bbfile(virtualfn, appends, virtonly=True)
return bb_data[virtual]
def load_bbfile(self, bbfile, appends, virtonly = False, mc=None):
def load_bbfile(self, bbfile, appends, virtonly = False):
"""
Load and parse one .bb build file
Return the data and whether parsing resulted in the file being skipped
@@ -341,10 +352,6 @@ class NoCache(object):
datastores = parse_recipe(bb_data, bbfile, appends, mc)
return datastores
if mc is not None:
bb_data = self.databuilder.mcdata[mc].createCopy()
return parse_recipe(bb_data, bbfile, appends, mc)
bb_data = self.data.createCopy()
datastores = parse_recipe(bb_data, bbfile, appends)
@@ -354,7 +361,7 @@ class NoCache(object):
bb_data = self.databuilder.mcdata[mc].createCopy()
newstores = parse_recipe(bb_data, bbfile, appends, mc)
for ns in newstores:
datastores["mc:%s:%s" % (mc, ns)] = newstores[ns]
datastores["multiconfig:%s:%s" % (mc, ns)] = newstores[ns]
return datastores
@@ -362,15 +369,14 @@ class Cache(NoCache):
"""
BitBake Cache implementation
"""
def __init__(self, databuilder, mc, data_hash, caches_array):
def __init__(self, databuilder, data_hash, caches_array):
super().__init__(databuilder)
data = databuilder.data
# Pass caches_array information into Cache Constructor
# It will be used later for deciding whether we
# need extra cache file dump/load support
self.mc = mc
self.logger = PrefixLoggerAdapter("Cache: %s: " % (mc if mc else "default"), logger)
self.caches_array = caches_array
self.cachedir = data.getVar("CACHE")
self.clean = set()
@@ -379,81 +385,45 @@ class Cache(NoCache):
self.data_fn = None
self.cacheclean = True
self.data_hash = data_hash
self.filelist_regex = re.compile(r'(?:(?<=:True)|(?<=:False))\s+')
if self.cachedir in [None, '']:
self.has_cache = False
self.logger.info("Not using a cache. "
"Set CACHE = <directory> to enable.")
logger.info("Not using a cache. "
"Set CACHE = <directory> to enable.")
return
self.has_cache = True
self.cachefile = getCacheFile(self.cachedir, "bb_cache.dat", self.data_hash)
def getCacheFile(self, cachefile):
return getCacheFile(self.cachedir, cachefile, self.mc, self.data_hash)
def prepare_cache(self, progress):
if not self.has_cache:
return 0
loaded = 0
self.cachefile = self.getCacheFile("bb_cache.dat")
self.logger.debug(1, "Cache dir: %s", self.cachedir)
logger.debug(1, "Using cache in '%s'", self.cachedir)
bb.utils.mkdirhier(self.cachedir)
cache_ok = True
if self.caches_array:
for cache_class in self.caches_array:
cachefile = self.getCacheFile(cache_class.cachefile)
cache_exists = os.path.exists(cachefile)
self.logger.debug(2, "Checking if %s exists: %r", cachefile, cache_exists)
cache_ok = cache_ok and cache_exists
cachefile = getCacheFile(self.cachedir, cache_class.cachefile, self.data_hash)
cache_ok = cache_ok and os.path.exists(cachefile)
cache_class.init_cacheData(self)
if cache_ok:
loaded = self.load_cachefile(progress)
self.load_cachefile()
elif os.path.isfile(self.cachefile):
self.logger.info("Out of date cache found, rebuilding...")
else:
self.logger.debug(1, "Cache file %s not found, building..." % self.cachefile)
# We don't use the symlink, its just for debugging convinience
if self.mc:
symlink = os.path.join(self.cachedir, "bb_cache.dat.%s" % self.mc)
else:
symlink = os.path.join(self.cachedir, "bb_cache.dat")
if os.path.exists(symlink):
bb.utils.remove(symlink)
try:
os.symlink(os.path.basename(self.cachefile), symlink)
except OSError:
pass
return loaded
def cachesize(self):
if not self.has_cache:
return 0
logger.info("Out of date cache found, rebuilding...")
def load_cachefile(self):
cachesize = 0
for cache_class in self.caches_array:
cachefile = self.getCacheFile(cache_class.cachefile)
try:
with open(cachefile, "rb") as cachefile:
cachesize += os.fstat(cachefile.fileno()).st_size
except FileNotFoundError:
pass
return cachesize
def load_cachefile(self, progress):
previous_progress = 0
previous_percent = 0
# Calculate the correct cachesize of all those cache files
for cache_class in self.caches_array:
cachefile = getCacheFile(self.cachedir, cache_class.cachefile, self.data_hash)
with open(cachefile, "rb") as cachefile:
cachesize += os.fstat(cachefile.fileno()).st_size
bb.event.fire(bb.event.CacheLoadStarted(cachesize), self.data)
for cache_class in self.caches_array:
cachefile = self.getCacheFile(cache_class.cachefile)
self.logger.debug(1, 'Loading cache file: %s' % cachefile)
cachefile = getCacheFile(self.cachedir, cache_class.cachefile, self.data_hash)
with open(cachefile, "rb") as cachefile:
pickled = pickle.Unpickler(cachefile)
# Check cache version information
@@ -461,15 +431,15 @@ class Cache(NoCache):
cache_ver = pickled.load()
bitbake_ver = pickled.load()
except Exception:
self.logger.info('Invalid cache, rebuilding...')
return 0
logger.info('Invalid cache, rebuilding...')
return
if cache_ver != __cache_version__:
self.logger.info('Cache version mismatch, rebuilding...')
return 0
logger.info('Cache version mismatch, rebuilding...')
return
elif bitbake_ver != bb.__version__:
self.logger.info('Bitbake version mismatch, rebuilding...')
return 0
logger.info('Bitbake version mismatch, rebuilding...')
return
# Load the rest of the cache file
current_progress = 0
@@ -492,17 +462,29 @@ class Cache(NoCache):
self.depends_cache[key] = [value]
# only fire events on even percentage boundaries
current_progress = cachefile.tell() + previous_progress
progress(cachefile.tell() + previous_progress)
if current_progress > cachesize:
# we might have calculated incorrect total size because a file
# might've been written out just after we checked its size
cachesize = current_progress
current_percent = 100 * current_progress / cachesize
if current_percent > previous_percent:
previous_percent = current_percent
bb.event.fire(bb.event.CacheLoadProgress(current_progress, cachesize),
self.data)
previous_progress += current_progress
return len(self.depends_cache)
# Note: depends cache number is corresponding to the parsing file numbers.
# The same file has several caches, still regarded as one item in the cache
bb.event.fire(bb.event.CacheLoadCompleted(cachesize,
len(self.depends_cache)),
self.data)
def parse(self, filename, appends):
"""Parse the specified filename, returning the recipe information"""
self.logger.debug(1, "Parsing %s", filename)
logger.debug(1, "Parsing %s", filename)
infos = []
datastores = self.load_bbfile(filename, appends, mc=self.mc)
datastores = self.load_bbfile(filename, appends)
depends = []
variants = []
# Process the "real" fn last so we can store variants list
@@ -554,7 +536,7 @@ class Cache(NoCache):
cached, infos = self.load(fn, appends)
for virtualfn, info_array in infos:
if info_array[0].skipped:
self.logger.debug(1, "Skipping %s: %s", virtualfn, info_array[0].skipreason)
logger.debug(1, "Skipping %s: %s", virtualfn, info_array[0].skipreason)
skipped += 1
else:
self.add_info(virtualfn, info_array, cacheData, not cached)
@@ -590,21 +572,21 @@ class Cache(NoCache):
# File isn't in depends_cache
if not fn in self.depends_cache:
self.logger.debug(2, "%s is not cached", fn)
logger.debug(2, "Cache: %s is not cached", fn)
return False
mtime = bb.parse.cached_mtime_noerror(fn)
# Check file still exists
if mtime == 0:
self.logger.debug(2, "%s no longer exists", fn)
logger.debug(2, "Cache: %s no longer exists", fn)
self.remove(fn)
return False
info_array = self.depends_cache[fn]
# Check the file's timestamp
if mtime != info_array[0].timestamp:
self.logger.debug(2, "%s changed", fn)
logger.debug(2, "Cache: %s changed", fn)
self.remove(fn)
return False
@@ -615,37 +597,45 @@ class Cache(NoCache):
fmtime = bb.parse.cached_mtime_noerror(f)
# Check if file still exists
if old_mtime != 0 and fmtime == 0:
self.logger.debug(2, "%s's dependency %s was removed",
fn, f)
logger.debug(2, "Cache: %s's dependency %s was removed",
fn, f)
self.remove(fn)
return False
if (fmtime != old_mtime):
self.logger.debug(2, "%s's dependency %s changed",
fn, f)
logger.debug(2, "Cache: %s's dependency %s changed",
fn, f)
self.remove(fn)
return False
if hasattr(info_array[0], 'file_checksums'):
for _, fl in info_array[0].file_checksums.items():
fl = fl.strip()
if not fl:
continue
# Have to be careful about spaces and colons in filenames
flist = self.filelist_regex.split(fl)
for f in flist:
if not f:
while fl:
# A .split() would be simpler but means spaces or colons in filenames would break
a = fl.find(":True")
b = fl.find(":False")
if ((a < 0) and b) or ((b > 0) and (b < a)):
f = fl[:b+6]
fl = fl[b+7:]
elif ((b < 0) and a) or ((a > 0) and (a < b)):
f = fl[:a+5]
fl = fl[a+6:]
else:
break
fl = fl.strip()
if "*" in f:
continue
f, exist = f.split(":")
if (exist == "True" and not os.path.exists(f)) or (exist == "False" and os.path.exists(f)):
self.logger.debug(2, "%s's file checksum list file %s changed",
fn, f)
logger.debug(2, "Cache: %s's file checksum list file %s changed",
fn, f)
self.remove(fn)
return False
if tuple(appends) != tuple(info_array[0].appends):
self.logger.debug(2, "appends for %s changed", fn)
self.logger.debug(2, "%s to %s" % (str(appends), str(info_array[0].appends)))
if appends != info_array[0].appends:
logger.debug(2, "Cache: appends for %s changed", fn)
logger.debug(2, "%s to %s" % (str(appends), str(info_array[0].appends)))
self.remove(fn)
return False
@@ -654,10 +644,10 @@ class Cache(NoCache):
virtualfn = variant2virtual(fn, cls)
self.clean.add(virtualfn)
if virtualfn not in self.depends_cache:
self.logger.debug(2, "%s is not cached", virtualfn)
logger.debug(2, "Cache: %s is not cached", virtualfn)
invalid = True
elif len(self.depends_cache[virtualfn]) != len(self.caches_array):
self.logger.debug(2, "Extra caches missing for %s?" % virtualfn)
logger.debug(2, "Cache: Extra caches missing for %s?" % virtualfn)
invalid = True
# If any one of the variants is not present, mark as invalid for all
@@ -665,10 +655,10 @@ class Cache(NoCache):
for cls in info_array[0].variants:
virtualfn = variant2virtual(fn, cls)
if virtualfn in self.clean:
self.logger.debug(2, "Removing %s from cache", virtualfn)
logger.debug(2, "Cache: Removing %s from cache", virtualfn)
self.clean.remove(virtualfn)
if fn in self.clean:
self.logger.debug(2, "Marking %s as not clean", fn)
logger.debug(2, "Cache: Marking %s as not clean", fn)
self.clean.remove(fn)
return False
@@ -681,10 +671,10 @@ class Cache(NoCache):
Called from the parser in error cases
"""
if fn in self.depends_cache:
self.logger.debug(1, "Removing %s from cache", fn)
logger.debug(1, "Removing %s from cache", fn)
del self.depends_cache[fn]
if fn in self.clean:
self.logger.debug(1, "Marking %s as unclean", fn)
logger.debug(1, "Marking %s as unclean", fn)
self.clean.remove(fn)
def sync(self):
@@ -697,13 +687,12 @@ class Cache(NoCache):
return
if self.cacheclean:
self.logger.debug(2, "Cache is clean, not saving.")
logger.debug(2, "Cache is clean, not saving.")
return
for cache_class in self.caches_array:
cache_class_name = cache_class.__name__
cachefile = self.getCacheFile(cache_class.cachefile)
self.logger.debug(2, "Writing %s", cachefile)
cachefile = getCacheFile(self.cachedir, cache_class.cachefile, self.data_hash)
with open(cachefile, "wb") as f:
p = pickle.Pickler(f, pickle.HIGHEST_PROTOCOL)
p.dump(__cache_version__)
@@ -722,18 +711,8 @@ class Cache(NoCache):
return bb.parse.cached_mtime_noerror(cachefile)
def add_info(self, filename, info_array, cacheData, parsed=None, watcher=None):
if self.mc is not None:
(fn, cls, mc) = virtualfn2realfn(filename)
if mc:
self.logger.error("Unexpected multiconfig %s", filename)
return
vfn = realfn2virtual(fn, cls, self.mc)
else:
vfn = filename
if isinstance(info_array[0], CoreRecipeInfo) and (not info_array[0].skipped):
cacheData.add_from_recipeinfo(vfn, info_array)
cacheData.add_from_recipeinfo(filename, info_array)
if watcher:
watcher(info_array[0].file_depends)
@@ -758,61 +737,6 @@ class Cache(NoCache):
info_array.append(cache_class(realfn, data))
self.add_info(file_name, info_array, cacheData, parsed)
class MulticonfigCache(Mapping):
def __init__(self, databuilder, data_hash, caches_array):
def progress(p):
nonlocal current_progress
nonlocal previous_progress
nonlocal previous_percent
nonlocal cachesize
current_progress = previous_progress + p
if current_progress > cachesize:
# we might have calculated incorrect total size because a file
# might've been written out just after we checked its size
cachesize = current_progress
current_percent = 100 * current_progress / cachesize
if current_percent > previous_percent:
previous_percent = current_percent
bb.event.fire(bb.event.CacheLoadProgress(current_progress, cachesize),
databuilder.data)
cachesize = 0
current_progress = 0
previous_progress = 0
previous_percent = 0
self.__caches = {}
for mc, mcdata in databuilder.mcdata.items():
self.__caches[mc] = Cache(databuilder, mc, data_hash, caches_array)
cachesize += self.__caches[mc].cachesize()
bb.event.fire(bb.event.CacheLoadStarted(cachesize), databuilder.data)
loaded = 0
for c in self.__caches.values():
loaded += c.prepare_cache(progress)
previous_progress = current_progress
# Note: depends cache number is corresponding to the parsing file numbers.
# The same file has several caches, still regarded as one item in the cache
bb.event.fire(bb.event.CacheLoadCompleted(cachesize, loaded), databuilder.data)
def __len__(self):
return len(self.__caches)
def __getitem__(self, key):
return self.__caches[key]
def __contains__(self, key):
return key in self.__caches
def __iter__(self):
for k in self.__caches:
yield k
def init(cooker):
"""
@@ -962,56 +886,3 @@ class MultiProcessCache(object):
p.dump([data, self.__class__.CACHE_VERSION])
bb.utils.unlockfile(glf)
class SimpleCache(object):
"""
BitBake multi-process cache implementation
Used by the codeparser & file checksum caches
"""
def __init__(self, version):
self.cachefile = None
self.cachedata = None
self.cacheversion = version
def init_cache(self, d, cache_file_name=None, defaultdata=None):
cachedir = (d.getVar("PERSISTENT_DIR") or
d.getVar("CACHE"))
if not cachedir:
return defaultdata
bb.utils.mkdirhier(cachedir)
self.cachefile = os.path.join(cachedir,
cache_file_name or self.__class__.cache_file_name)
logger.debug(1, "Using cache in '%s'", self.cachefile)
glf = bb.utils.lockfile(self.cachefile + ".lock")
try:
with open(self.cachefile, "rb") as f:
p = pickle.Unpickler(f)
data, version = p.load()
except:
bb.utils.unlockfile(glf)
return defaultdata
bb.utils.unlockfile(glf)
if version != self.cacheversion:
return defaultdata
return data
def save(self, data):
if not self.cachefile:
return
glf = bb.utils.lockfile(self.cachefile + ".lock")
with open(self.cachefile, "wb") as f:
p = pickle.Pickler(f, -1)
p.dump([data, self.cacheversion])
bb.utils.unlockfile(glf)

View File

@@ -1,3 +1,5 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# Extra RecipeInfo will be all defined in this file. Currently,
# Only Hob (Image Creator) Requests some extra fields. So
@@ -10,8 +12,18 @@
# Copyright (C) 2011, Intel Corporation. All rights reserved.
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
from bb.cache import RecipeInfoCommon

View File

@@ -2,13 +2,24 @@
#
# Copyright (C) 2012 Intel Corporation
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import glob
import operator
import os
import stat
import pickle
import bb.utils
import logging
from bb.cache import MultiProcessCache
@@ -73,7 +84,7 @@ class FileChecksumCache(MultiProcessCache):
else:
dest[0][h] = source[0][h]
def get_checksums(self, filelist, pn, localdirsexclude):
def get_checksums(self, filelist, pn):
"""Get checksums for a list of files"""
def checksum_file(f):
@@ -89,8 +100,7 @@ class FileChecksumCache(MultiProcessCache):
if pth == "/":
bb.fatal("Refusing to checksum /")
dirchecksums = []
for root, dirs, files in os.walk(pth, topdown=True):
[dirs.remove(d) for d in list(dirs) if d in localdirsexclude]
for root, dirs, files in os.walk(pth):
for name in files:
fullpth = os.path.join(root, name)
checksum = checksum_file(fullpth)

View File

@@ -1,7 +1,3 @@
#
# SPDX-License-Identifier: GPL-2.0-only
#
"""
BitBake code parser
@@ -25,17 +21,19 @@ import ast
import sys
import codegen
import logging
import pickle
import bb.pysh as pysh
import os.path
import bb.utils, bb.data
import hashlib
from itertools import chain
from bb.pysh import pyshyacc, pyshlex
from bb.pysh import pyshyacc, pyshlex, sherrors
from bb.cache import MultiProcessCache
logger = logging.getLogger('BitBake.CodeParser')
def bbhash(s):
return hashlib.sha256(s.encode("utf-8")).hexdigest()
return hashlib.md5(s.encode("utf-8")).hexdigest()
def check_indent(codestr):
"""If the code is indented, add a top level piece of code to 'remove' the indentation"""
@@ -56,10 +54,30 @@ def check_indent(codestr):
return codestr
# Basically pickle, in python 2.7.3 at least, does badly with data duplication
# upon pickling and unpickling. Combine this with duplicate objects and things
# are a mess.
#
# When the sets are originally created, python calls intern() on the set keys
# which significantly improves memory usage. Sadly the pickle/unpickle process
# doesn't call intern() on the keys and results in the same strings being duplicated
# in memory. This also means pickle will save the same string multiple times in
# the cache file.
#
# By having shell and python cacheline objects with setstate/getstate, we force
# the object creation through our own routine where we can call intern (via internSet).
#
# We also use hashable frozensets and ensure we use references to these so that
# duplicates can be removed, both in memory and in the resulting pickled data.
#
# By playing these games, the size of the cache file shrinks dramatically
# meaning faster load times and the reloaded cache files also consume much less
# memory. Smaller cache files, faster load times and lower memory usage is good.
#
# A custom getstate/setstate using tuples is actually worth 15% cachesize by
# avoiding duplication of the attribute names!
class SetCache(object):
def __init__(self):
self.setcache = {}
@@ -122,7 +140,7 @@ class CodeParserCache(MultiProcessCache):
# so that an existing cache gets invalidated. Additionally you'll need
# to increment __cache_version__ in cache.py in order to ensure that old
# recipe caches don't trigger "Taskhash mismatch" errors.
CACHE_VERSION = 11
CACHE_VERSION = 9
def __init__(self):
MultiProcessCache.__init__(self)
@@ -196,7 +214,7 @@ class BufferedLogger(Logger):
self.buffer = []
class PythonParser():
getvars = (".getVar", ".appendVar", ".prependVar", "oe.utils.conditional")
getvars = (".getVar", ".appendVar", ".prependVar")
getvarflags = (".getVarFlag", ".appendVarFlag", ".prependVarFlag")
containsfuncs = ("bb.utils.contains", "base_contains")
containsanyfuncs = ("bb.utils.contains_any", "bb.utils.filter")
@@ -350,9 +368,8 @@ class ShellParser():
def _parse_shell(self, value):
try:
tokens, _ = pyshyacc.parse(value, eof=True, debug=False)
except Exception:
bb.error('Error during parse shell code, the last 5 lines are:\n%s' % '\n'.join(value.split('\n')[-5:]))
raise
except pyshlex.NeedMore:
raise sherrors.ShellSyntaxError("Unexpected EOF")
self.process_tokens(tokens)

View File

@@ -6,8 +6,18 @@ Provide an interface to interact with the bitbake server through 'commands'
# Copyright (C) 2006-2007 Richard Purdie
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
"""
The bitbake server takes 'commands' from its UI/commandline.
@@ -54,25 +64,18 @@ class Command:
self.cooker = cooker
self.cmds_sync = CommandsSync()
self.cmds_async = CommandsAsync()
self.remotedatastores = None
self.remotedatastores = bb.remotedata.RemoteDatastores(cooker)
# FIXME Add lock for this
self.currentAsyncCommand = None
def runCommand(self, commandline, ro_only = False):
command = commandline.pop(0)
# Ensure cooker is ready for commands
if command != "updateConfig" and command != "setFeatures":
self.cooker.init_configdata()
if not self.remotedatastores:
self.remotedatastores = bb.remotedata.RemoteDatastores(self.cooker)
if hasattr(CommandsSync, command):
# Can run synchronous commands straight away
command_method = getattr(self.cmds_sync, command)
if ro_only:
if not hasattr(command_method, 'readonly') or not getattr(command_method, 'readonly'):
if not hasattr(command_method, 'readonly') or False == getattr(command_method, 'readonly'):
return None, "Not able to execute not readonly commands in readonly mode"
try:
self.cooker.process_inotify_updates()
@@ -81,12 +84,8 @@ class Command:
result = command_method(self, commandline)
except CommandError as exc:
return None, exc.args[0]
except (Exception, SystemExit) as exc:
except (Exception, SystemExit):
import traceback
if isinstance(exc, bb.BBHandledException):
# We need to start returning real exceptions here. Until we do, we can't
# tell if an exception is an instance of bb.BBHandledException
return None, "bb.BBHandledException()\n" + traceback.format_exc()
return None, traceback.format_exc()
else:
return result, None
@@ -95,7 +94,7 @@ class Command:
if command not in CommandsAsync.__dict__:
return None, "No such command"
self.currentAsyncCommand = (command, commandline)
self.cooker.idleCallBackRegister(self.cooker.runCommands, self.cooker)
self.cooker.configuration.server_register_idlecallback(self.cooker.runCommands, self.cooker)
return True, None
def runAsyncCommand(self):
@@ -147,8 +146,13 @@ class Command:
self.cooker.finishcommand()
def reset(self):
if self.remotedatastores:
self.remotedatastores = bb.remotedata.RemoteDatastores(self.cooker)
self.remotedatastores = bb.remotedata.RemoteDatastores(self.cooker)
def split_mc_pn(pn):
if pn.startswith("multiconfig:"):
_, mc, pn = pn.split(":", 2)
return (mc, pn)
return ('', pn)
class CommandsSync:
"""
@@ -238,11 +242,7 @@ class CommandsSync:
def matchFile(self, command, params):
fMatch = params[0]
try:
mc = params[0]
except IndexError:
mc = ''
return command.cooker.matchFile(fMatch, mc)
return command.cooker.matchFile(fMatch)
matchFile.needconfig = False
def getUIHandlerNum(self, command, params):
@@ -405,50 +405,30 @@ class CommandsSync:
def getSkippedRecipes(self, command, params):
# Return list sorted by reverse priority order
import bb.cache
def sortkey(x):
vfn, _ = x
realfn, _, mc = bb.cache.virtualfn2realfn(vfn)
return (-command.cooker.collections[mc].calc_bbfile_priority(realfn)[0], vfn)
skipdict = OrderedDict(sorted(command.cooker.skiplist.items(), key=sortkey))
skipdict = OrderedDict(sorted(command.cooker.skiplist.items(),
key=lambda x: (-command.cooker.collection.calc_bbfile_priority(bb.cache.virtualfn2realfn(x[0])[0]), x[0])))
return list(skipdict.items())
getSkippedRecipes.readonly = True
def getOverlayedRecipes(self, command, params):
try:
mc = params[0]
except IndexError:
mc = ''
return list(command.cooker.collections[mc].overlayed.items())
return list(command.cooker.collection.overlayed.items())
getOverlayedRecipes.readonly = True
def getFileAppends(self, command, params):
fn = params[0]
try:
mc = params[1]
except IndexError:
mc = ''
return command.cooker.collections[mc].get_file_appends(fn)
return command.cooker.collection.get_file_appends(fn)
getFileAppends.readonly = True
def getAllAppends(self, command, params):
try:
mc = params[0]
except IndexError:
mc = ''
return command.cooker.collections[mc].bbappends
return command.cooker.collection.bbappends
getAllAppends.readonly = True
def findProviders(self, command, params):
try:
mc = params[0]
except IndexError:
mc = ''
return command.cooker.findProviders(mc)
return command.cooker.findProviders()
findProviders.readonly = True
def findBestProvider(self, command, params):
(mc, pn) = bb.runqueue.split_mc(params[0])
(mc, pn) = split_mc_pn(params[0])
return command.cooker.findBestProvider(pn, mc)
findBestProvider.readonly = True
@@ -476,38 +456,54 @@ class CommandsSync:
return all_p, best
getRuntimeProviders.readonly = True
def dataStoreConnectorCmd(self, command, params):
def dataStoreConnectorFindVar(self, command, params):
dsindex = params[0]
method = params[1]
args = params[2]
kwargs = params[3]
name = params[1]
datastore = command.remotedatastores[dsindex]
value, overridedata = datastore._findVar(name)
d = command.remotedatastores[dsindex]
ret = getattr(d, method)(*args, **kwargs)
if value:
content = value.get('_content', None)
if isinstance(content, bb.data_smart.DataSmart):
# Value is a datastore (e.g. BB_ORIGENV) - need to handle this carefully
idx = command.remotedatastores.check_store(content, True)
return {'_content': DataStoreConnectionHandle(idx),
'_connector_origtype': 'DataStoreConnectionHandle',
'_connector_overrides': overridedata}
elif isinstance(content, set):
return {'_content': list(content),
'_connector_origtype': 'set',
'_connector_overrides': overridedata}
else:
value['_connector_overrides'] = overridedata
else:
value = {}
value['_connector_overrides'] = overridedata
return value
dataStoreConnectorFindVar.readonly = True
if isinstance(ret, bb.data_smart.DataSmart):
idx = command.remotedatastores.store(ret)
return DataStoreConnectionHandle(idx)
return ret
def dataStoreConnectorVarHistCmd(self, command, params):
def dataStoreConnectorGetKeys(self, command, params):
dsindex = params[0]
method = params[1]
args = params[2]
kwargs = params[3]
datastore = command.remotedatastores[dsindex]
return list(datastore.keys())
dataStoreConnectorGetKeys.readonly = True
d = command.remotedatastores[dsindex].varhistory
return getattr(d, method)(*args, **kwargs)
def dataStoreConnectorIncHistCmd(self, command, params):
def dataStoreConnectorGetVarHistory(self, command, params):
dsindex = params[0]
method = params[1]
args = params[2]
kwargs = params[3]
name = params[1]
datastore = command.remotedatastores[dsindex]
return datastore.varhistory.variable(name)
dataStoreConnectorGetVarHistory.readonly = True
d = command.remotedatastores[dsindex].inchistory
return getattr(d, method)(*args, **kwargs)
def dataStoreConnectorExpandPythonRef(self, command, params):
config_data_dict = params[0]
varname = params[1]
expr = params[2]
config_data = command.remotedatastores.receive_datastore(config_data_dict)
varparse = bb.data_smart.VariableParse(varname, config_data)
return varparse.python_sub(expr)
def dataStoreConnectorRelease(self, command, params):
dsindex = params[0]
@@ -515,6 +511,31 @@ class CommandsSync:
raise CommandError('dataStoreConnectorRelease: invalid index %d' % dsindex)
command.remotedatastores.release(dsindex)
def dataStoreConnectorSetVarFlag(self, command, params):
dsindex = params[0]
name = params[1]
flag = params[2]
value = params[3]
datastore = command.remotedatastores[dsindex]
datastore.setVarFlag(name, flag, value)
def dataStoreConnectorDelVar(self, command, params):
dsindex = params[0]
name = params[1]
datastore = command.remotedatastores[dsindex]
if len(params) > 2:
flag = params[2]
datastore.delVarFlag(name, flag)
else:
datastore.delVar(name)
def dataStoreConnectorRenameVar(self, command, params):
dsindex = params[0]
name = params[1]
newname = params[2]
datastore = command.remotedatastores[dsindex]
datastore.renameVar(name, newname)
def parseRecipeFile(self, command, params):
"""
Parse the specified recipe file (with or without bbappends)
@@ -522,11 +543,11 @@ class CommandsSync:
for the recipe.
"""
fn = params[0]
mc = bb.runqueue.mc_from_tid(fn)
appends = params[1]
appendlist = params[2]
if len(params) > 3:
config_data = command.remotedatastores[params[3]]
config_data_dict = params[3]
config_data = command.remotedatastores.receive_datastore(config_data_dict)
else:
config_data = None
@@ -534,7 +555,7 @@ class CommandsSync:
if appendlist is not None:
appendfiles = appendlist
else:
appendfiles = command.cooker.collections[mc].get_file_appends(fn)
appendfiles = command.cooker.collection.get_file_appends(fn)
else:
appendfiles = []
# We are calling bb.cache locally here rather than on the server,
@@ -544,7 +565,7 @@ class CommandsSync:
if config_data:
# We have to use a different function here if we're passing in a datastore
# NOTE: we took a copy above, so we don't do it here again
envdata = bb.cache.parse_recipe(config_data, fn, appendfiles, mc)['']
envdata = bb.cache.parse_recipe(config_data, fn, appendfiles)['']
else:
# Use the standard path
parser = bb.cache.NoCache(command.cooker.databuilder)
@@ -735,10 +756,10 @@ class CommandsAsync:
"""
Find signature info files via the signature generator
"""
(mc, pn) = bb.runqueue.split_mc(params[0])
pn = params[0]
taskname = params[1]
sigs = params[2]
res = bb.siggen.find_siginfo(pn, taskname, sigs, command.cooker.databuilder.mcdata[mc])
bb.event.fire(bb.event.FindSigInfoResult(res), command.cooker.databuilder.mcdata[mc])
res = bb.siggen.find_siginfo(pn, taskname, sigs, command.cooker.data)
bb.event.fire(bb.event.FindSigInfoResult(res), command.cooker.data)
command.finishAsyncCommand()
findSigInfo.needcache = False

6
bitbake/lib/bb/compat.py Normal file
View File

@@ -0,0 +1,6 @@
"""Code pulled from future python versions, here for compatibility"""
from collections import MutableMapping, KeysView, ValuesView, ItemsView, OrderedDict
from functools import total_ordering

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,6 @@
#!/usr/bin/env python
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2003, 2004 Phil Blundell
@@ -6,14 +9,23 @@
# Copyright (C) 2005 ROAD GmbH
# Copyright (C) 2006 Richard Purdie
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import logging
import os
import re
import sys
import hashlib
from functools import wraps
import bb
from bb import data
@@ -23,8 +35,8 @@ logger = logging.getLogger("BitBake")
parselog = logging.getLogger("BitBake.Parsing")
class ConfigParameters(object):
def __init__(self, argv=None):
self.options, targets = self.parseCommandLine(argv or sys.argv)
def __init__(self, argv=sys.argv):
self.options, targets = self.parseCommandLine(argv)
self.environment = self.parseEnvironment()
self.options.pkgs_to_build = targets or []
@@ -58,18 +70,11 @@ class ConfigParameters(object):
def updateToServer(self, server, environment):
options = {}
for o in ["abort", "force", "invalidate_stamp",
"dry_run", "dump_signatures",
"extra_assume_provided", "profile",
"prefile", "postfile", "server_timeout",
"nosetscene", "setsceneonly", "skipsetscene",
"runall", "runonly", "writeeventlog"]:
"verbose", "debug", "dry_run", "dump_signatures",
"debug_domains", "extra_assume_provided", "profile",
"prefile", "postfile", "server_timeout"]:
options[o] = getattr(self.options, o)
options['build_verbose_shell'] = self.options.verbose
options['build_verbose_stdout'] = self.options.verbose
options['default_loglevel'] = bb.msg.loggerDefaultLogLevel
options['debug_domains'] = bb.msg.loggerDefaultDomains
ret, error = server.runCommand(["updateConfig", options, environment, sys.argv])
if error:
raise Exception("Unable to update the server configuration with local parameters: %s" % error)
@@ -118,35 +123,46 @@ class CookerConfiguration(object):
"""
def __init__(self):
self.debug_domains = bb.msg.loggerDefaultDomains
self.default_loglevel = bb.msg.loggerDefaultLogLevel
self.debug_domains = []
self.extra_assume_provided = []
self.prefile = []
self.postfile = []
self.debug = 0
self.cmd = None
self.abort = True
self.force = False
self.profile = False
self.nosetscene = False
self.setsceneonly = False
self.skipsetscene = False
self.invalidate_stamp = False
self.dump_signatures = []
self.build_verbose_shell = False
self.build_verbose_stdout = False
self.dry_run = False
self.tracking = False
self.xmlrpcinterface = []
self.server_timeout = None
self.writeeventlog = False
self.server_only = False
self.limited_deps = False
self.runall = []
self.runonly = []
self.runall = None
self.env = {}
def setConfigParameters(self, parameters):
for key in self.__dict__.keys():
if key in parameters.options.__dict__:
setattr(self, key, parameters.options.__dict__[key])
self.env = parameters.environment.copy()
def setServerRegIdleCallback(self, srcb):
self.server_register_idlecallback = srcb
def __getstate__(self):
state = {}
for key in self.__dict__.keys():
state[key] = getattr(self, key)
if key == "server_register_idlecallback":
state[key] = None
else:
state[key] = getattr(self, key)
return state
def __setstate__(self,state):
@@ -164,7 +180,7 @@ def catch_parse_error(func):
import traceback
parselog.critical(traceback.format_exc())
parselog.critical("Unable to parse %s: %s" % (fn, exc))
raise bb.BBHandledException()
sys.exit(1)
except bb.data_smart.ExpansionError as exc:
import traceback
@@ -176,10 +192,10 @@ def catch_parse_error(func):
if not fn.startswith(bbdir):
break
parselog.critical("Unable to parse %s" % fn, exc_info=(exc_class, exc, tb))
raise bb.BBHandledException()
sys.exit(1)
except bb.parse.ParseError as exc:
parselog.critical(str(exc))
raise bb.BBHandledException()
sys.exit(1)
return wrapped
@catch_parse_error
@@ -209,7 +225,7 @@ def findConfigFile(configfile, data):
return None
#
# We search for a conf/bblayers.conf under an entry in BBPATH or in cwd working
# We search for a conf/bblayers.conf under an entry in BBPATH or in cwd working
# up to /. If that fails, we search for a conf/bitbake.conf in BBPATH.
#
@@ -262,13 +278,12 @@ class CookerDataBuilder(object):
self.mcdata = {}
def parseBaseConfiguration(self):
data_hash = hashlib.sha256()
try:
bb.parse.init_parser(self.basedata)
self.data = self.parseConfigurationFiles(self.prefiles, self.postfiles)
if self.data.getVar("BB_WORKERCONTEXT", False) is None:
bb.fetch.fetcher_init(self.data)
bb.parse.init_parser(self.data)
bb.codeparser.parser_cache_init(self.data)
bb.event.fire(bb.event.ConfigParsed(), self.data)
@@ -286,7 +301,7 @@ class CookerDataBuilder(object):
bb.event.fire(bb.event.ConfigParsed(), self.data)
bb.parse.init_parser(self.data)
data_hash.update(self.data.get_hash().encode('utf-8'))
self.data_hash = self.data.get_hash()
self.mcdata[''] = self.data
multiconfig = (self.data.getVar("BBMULTICONFIG") or "").split()
@@ -294,19 +309,17 @@ class CookerDataBuilder(object):
mcdata = self.parseConfigurationFiles(self.prefiles, self.postfiles, config)
bb.event.fire(bb.event.ConfigParsed(), mcdata)
self.mcdata[config] = mcdata
data_hash.update(mcdata.get_hash().encode('utf-8'))
if multiconfig:
bb.event.fire(bb.event.MultiConfigParsed(self.mcdata), self.data)
self.data_hash = data_hash.hexdigest()
except (SyntaxError, bb.BBHandledException):
raise bb.BBHandledException()
raise bb.BBHandledException
except bb.data_smart.ExpansionError as e:
logger.error(str(e))
raise bb.BBHandledException()
raise bb.BBHandledException
except Exception:
logger.exception("Error parsing configuration files")
raise bb.BBHandledException()
raise bb.BBHandledException
# Create a copy so we can reset at a later date when UIs disconnect
self.origdata = self.data
@@ -340,24 +353,14 @@ class CookerDataBuilder(object):
data = parse_config_file(layerconf, data)
layers = (data.getVar('BBLAYERS') or "").split()
broken_layers = []
data = bb.data.createCopy(data)
approved = bb.utils.approved_variables()
# Check whether present layer directories exist
for layer in layers:
if not os.path.isdir(layer):
broken_layers.append(layer)
if broken_layers:
parselog.critical("The following layer directories do not exist:")
for layer in broken_layers:
parselog.critical(" %s", layer)
parselog.critical("Please check BBLAYERS in %s" % (layerconf))
raise bb.BBHandledException()
for layer in layers:
parselog.critical("Layer directory '%s' does not exist! "
"Please check BBLAYERS in %s" % (layer, layerconf))
sys.exit(1)
parselog.debug(2, "Adding layer %s", layer)
if 'HOME' in approved and '~' in layer:
layer = os.path.expanduser(layer)
@@ -381,26 +384,17 @@ class CookerDataBuilder(object):
invalid.append(entry)
continue
l, f = parts
invert = l[0] == "!"
if invert:
l = l[1:]
if (l in collections and not invert) or (l not in collections and invert):
if l in collections:
data.appendVar("BBFILES", " " + f)
if invalid:
bb.fatal("BBFILES_DYNAMIC entries must be of the form {!}<collection name>:<filename pattern>, not:\n %s" % "\n ".join(invalid))
bb.fatal("BBFILES_DYNAMIC entries must be of the form <collection name>:<filename pattern>, not:\n %s" % "\n ".join(invalid))
layerseries = set((data.getVar("LAYERSERIES_CORENAMES") or "").split())
collections_tmp = collections[:]
for c in collections:
collections_tmp.remove(c)
if c in collections_tmp:
bb.fatal("Found duplicated BBFILE_COLLECTIONS '%s', check bblayers.conf or layer.conf to fix it." % c)
compat = set((data.getVar("LAYERSERIES_COMPAT_%s" % c) or "").split())
if compat and not (compat & layerseries):
bb.fatal("Layer %s is not compatible with the core layer which only supports these series: %s (layer is compatible with %s)"
% (c, " ".join(layerseries), " ".join(compat)))
elif not compat and not data.getVar("BB_WORKERCONTEXT"):
bb.warn("Layer %s should set LAYERSERIES_COMPAT_%s in its conf/layer.conf file to list the core layer names it is compatible with." % (c, c))
if not data.getVar("BBPATH"):
msg = "The BBPATH variable is not set"
@@ -427,7 +421,7 @@ class CookerDataBuilder(object):
handlerfn = data.getVarFlag(var, "filename", False)
if not handlerfn:
parselog.critical("Undefined event handler function '%s'" % var)
raise bb.BBHandledException()
sys.exit(1)
handlerln = int(data.getVarFlag(var, "lineno", False))
bb.event.register(var, data.getVar(var, False), (data.getVarFlag(var, "eventmask") or "").split(), handlerfn, handlerln)

View File

@@ -1,7 +1,3 @@
#
# SPDX-License-Identifier: GPL-2.0-only
#
"""
Python Daemonizing helper
@@ -14,18 +10,12 @@ import sys
import io
import traceback
import bb
def createDaemon(function, logfile):
"""
Detach a process from the controlling terminal and run it in the
background as a daemon, returning control to the caller.
"""
# Ensure stdout/stderror are flushed before forking to avoid duplicate output
sys.stdout.flush()
sys.stderr.flush()
try:
# Fork a child process so the parent can exit. This returns control to
# the command-line or shell. It also guarantees that the child will not
@@ -59,8 +49,8 @@ def createDaemon(function, logfile):
# exit() or _exit()?
# _exit is like exit(), but it doesn't call any functions registered
# with atexit (and on_exit) or any registered signal handlers. It also
# closes any open file descriptors, but doesn't flush any buffered output.
# Using exit() may cause all any temporary files to be unexpectedly
# closes any open file descriptors. Using exit() may cause all stdio
# streams to be flushed twice and any temporary files may be unexpectedly
# removed. It's therefore recommended that child branches of a fork()
# and the parent branch(es) of a daemon use _exit().
os._exit(0)
@@ -71,19 +61,17 @@ def createDaemon(function, logfile):
# The second child.
# Replace standard fds with our own
with open('/dev/null', 'r') as si:
os.dup2(si.fileno(), sys.stdin.fileno())
si = open('/dev/null', 'r')
os.dup2(si.fileno(), sys.stdin.fileno())
try:
so = open(logfile, 'a+')
se = so
os.dup2(so.fileno(), sys.stdout.fileno())
os.dup2(so.fileno(), sys.stderr.fileno())
os.dup2(se.fileno(), sys.stderr.fileno())
except io.UnsupportedOperation:
sys.stdout = open(logfile, 'a+')
# Have stdout and stderr be the same so log output matches chronologically
# and there aren't two seperate buffers
sys.stderr = sys.stdout
sys.stderr = sys.stdout
try:
function()
@@ -91,9 +79,4 @@ def createDaemon(function, logfile):
traceback.print_exc()
finally:
bb.event.print_ui_queue()
# os._exit() doesn't flush open files like os.exit() does. Manually flush
# stdout and stderr so that any logging output will be seen, particularly
# exception tracebacks.
sys.stdout.flush()
sys.stderr.flush()
os._exit(0)

View File

@@ -1,3 +1,5 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake 'Data' implementations
@@ -20,12 +22,22 @@ the speed is more critical here.
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2005 Holger Hans Peter Freyther
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import sys, os, re
import hashlib
if sys.argv[0][-5:] == "pydoc":
path = os.path.dirname(os.path.dirname(sys.argv[1]))
else:
@@ -79,7 +91,7 @@ def expand(s, d, varname = None):
return d.expand(s, varname)
def expandKeys(alterdata, readdata = None):
if readdata is None:
if readdata == None:
readdata = alterdata
todolist = {}
@@ -130,7 +142,7 @@ def emit_var(var, o=sys.__stdout__, d = init(), all=False):
if all:
oval = d.getVar(var, False)
val = d.getVar(var)
except (KeyboardInterrupt):
except (KeyboardInterrupt, bb.build.FuncFailed):
raise
except Exception as exc:
o.write('# expansion of %s threw %s: %s\n' % (var, exc.__class__.__name__, str(exc)))
@@ -161,12 +173,6 @@ def emit_var(var, o=sys.__stdout__, d = init(), all=False):
return True
if func:
# Write a comment indicating where the shell function came from (line number and filename) to make it easier
# for the user to diagnose task failures. This comment is also used by build.py to determine the metadata
# location of shell functions.
o.write("# line: {0}, file: {1}\n".format(
d.getVarFlag(var, "lineno", False),
d.getVarFlag(var, "filename", False)))
# NOTE: should probably check for unbalanced {} within the var
val = val.rstrip('\n')
o.write("%s() {\n%s\n}\n" % (varExpanded, val))
@@ -277,12 +283,14 @@ def build_dependencies(key, keys, shelldeps, varflagsexcl, d):
try:
if key[-1] == ']':
vf = key[:-1].split('[')
value, parser = d.getVarFlag(vf[0], vf[1], False, retparser=True)
value = d.getVarFlag(vf[0], vf[1], False)
parser = d.expandWithRefs(value, key)
deps |= parser.references
deps = deps | (keys & parser.execs)
return deps, value
varflags = d.getVarFlags(key, ["vardeps", "vardepvalue", "vardepsexclude", "exports", "postfuncs", "prefuncs", "lineno", "filename"]) or {}
vardeps = varflags.get("vardeps")
value = d.getVarFlag(key, "_content", False)
def handle_contains(value, contains, d):
newvalue = ""
@@ -301,34 +309,25 @@ def build_dependencies(key, keys, shelldeps, varflagsexcl, d):
return newvalue
return value + newvalue
def handle_remove(value, deps, removes, d):
for r in sorted(removes):
r2 = d.expandWithRefs(r, None)
value += "\n_remove of %s" % r
deps |= r2.references
deps = deps | (keys & r2.execs)
return value
if "vardepvalue" in varflags:
value = varflags.get("vardepvalue")
value = varflags.get("vardepvalue")
elif varflags.get("func"):
if varflags.get("python"):
value = d.getVarFlag(key, "_content", False)
parser = bb.codeparser.PythonParser(key, logger)
if value and "\t" in value:
logger.warning("Variable %s contains tabs, please remove these (%s)" % (key, d.getVar("FILE")))
parser.parse_python(value, filename=varflags.get("filename"), lineno=varflags.get("lineno"))
deps = deps | parser.references
deps = deps | (keys & parser.execs)
value = handle_contains(value, parser.contains, d)
else:
value, parsedvar = d.getVarFlag(key, "_content", False, retparser=True)
parsedvar = d.expandWithRefs(value, key)
parser = bb.codeparser.ShellParser(key, logger)
parser.parse_shell(parsedvar.value)
deps = deps | shelldeps
deps = deps | parsedvar.references
deps = deps | (keys & parser.execs) | (keys & parsedvar.execs)
value = handle_contains(value, parsedvar.contains, d)
if hasattr(parsedvar, "removes"):
value = handle_remove(value, deps, parsedvar.removes, d)
if vardeps is None:
parser.log.flush()
if "prefuncs" in varflags:
@@ -338,12 +337,10 @@ def build_dependencies(key, keys, shelldeps, varflagsexcl, d):
if "exports" in varflags:
deps = deps | set(varflags["exports"].split())
else:
value, parser = d.getVarFlag(key, "_content", False, retparser=True)
parser = d.expandWithRefs(value, key)
deps |= parser.references
deps = deps | (keys & parser.execs)
value = handle_contains(value, parser.contains, d)
if hasattr(parser, "removes"):
value = handle_remove(value, deps, parser.removes, d)
if "vardepvalueexclude" in varflags:
exclude = varflags.get("vardepvalueexclude")
@@ -371,7 +368,7 @@ def build_dependencies(key, keys, shelldeps, varflagsexcl, d):
#bb.note("Variable %s references %s and calls %s" % (key, str(deps), str(execs)))
#d.setVarFlag(key, "vardeps", deps)
def generate_dependencies(d, whitelist):
def generate_dependencies(d):
keys = set(key for key in d if not key.startswith("__"))
shelldeps = set(key for key in d.getVar("__exportlist", False) if d.getVarFlag(key, "export", False) and not d.getVarFlag(key, "unexport", False))
@@ -386,7 +383,7 @@ def generate_dependencies(d, whitelist):
newdeps = deps[task]
seen = set()
while newdeps:
nextdeps = newdeps - whitelist
nextdeps = newdeps
seen |= nextdeps
newdeps = set()
for dep in nextdeps:
@@ -397,43 +394,6 @@ def generate_dependencies(d, whitelist):
#print "For %s: %s" % (task, str(deps[task]))
return tasklist, deps, values
def generate_dependency_hash(tasklist, gendeps, lookupcache, whitelist, fn):
taskdeps = {}
basehash = {}
for task in tasklist:
data = lookupcache[task]
if data is None:
bb.error("Task %s from %s seems to be empty?!" % (task, fn))
data = ''
gendeps[task] -= whitelist
newdeps = gendeps[task]
seen = set()
while newdeps:
nextdeps = newdeps
seen |= nextdeps
newdeps = set()
for dep in nextdeps:
if dep in whitelist:
continue
gendeps[dep] -= whitelist
newdeps |= gendeps[dep]
newdeps -= seen
alldeps = sorted(seen)
for dep in alldeps:
data = data + dep
var = lookupcache[dep]
if var is not None:
data = data + str(var)
k = fn + ":" + task
basehash[k] = hashlib.sha256(data.encode("utf-8")).hexdigest()
taskdeps[task] = alldeps
return taskdeps, basehash
def inherits_class(klass, d):
val = d.getVar('__inherit_cache', False) or []
needle = os.path.join('classes', '%s.bbclass' % klass)

View File

@@ -1,3 +1,5 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake Smart Dictionary Implementation
@@ -12,8 +14,18 @@ BitBake build tools.
# Copyright (C) 2005 Uli Luckas
# Copyright (C) 2005 ROAD GmbH
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import copy, re, sys, traceback
@@ -27,11 +39,9 @@ from bb.COW import COWDictBase
logger = logging.getLogger("BitBake.Data")
__setvar_keyword__ = ["_append", "_prepend", "_remove"]
__setvar_regexp__ = re.compile(r'(?P<base>.*?)(?P<keyword>_append|_prepend|_remove)(_(?P<add>[^A-Z]*))?$')
__expand_var_regexp__ = re.compile(r"\${[a-zA-Z0-9\-_+./~]+?}")
__setvar_regexp__ = re.compile('(?P<base>.*?)(?P<keyword>_append|_prepend|_remove)(_(?P<add>[^A-Z]*))?$')
__expand_var_regexp__ = re.compile(r"\${[^{}@\n\t :]+}")
__expand_python_regexp__ = re.compile(r"\${@.+?}")
__whitespace_split__ = re.compile(r'(\s)')
__override_regexp__ = re.compile(r'[a-z0-9]+')
def infer_caller_details(loginfo, parent = False, varval = True):
"""Save the caller the trouble of specifying everything."""
@@ -94,7 +104,11 @@ class VariableParse:
if self.varname and key:
if self.varname == key:
raise Exception("variable %s references itself!" % self.varname)
var = self.d.getVarFlag(key, "_content")
if key in self.d.expand_cache:
varparse = self.d.expand_cache[key]
var = varparse.value
else:
var = self.d.getVarFlag(key, "_content")
self.references.add(key)
if var is not None:
return var
@@ -107,11 +121,11 @@ class VariableParse:
else:
code = match.group()[3:-1]
if self.varname:
varname = 'Var <%s>' % self.varname
else:
varname = '<expansion>'
codeobj = compile(code.strip(), varname, "eval")
if "_remote_data" in self.d:
connector = self.d["_remote_data"]
return connector.expandPythonRef(self.varname, code, self.d)
codeobj = compile(code.strip(), self.varname or "<expansion>", "eval")
parser = bb.codeparser.PythonParser(self.varname, logger)
parser.parse_python(code)
@@ -189,7 +203,7 @@ class IncludeHistory(object):
if self.current.parent:
self.current = self.current.parent
else:
bb.warn("Include log: Tried to finish '%s' at top level." % self.filename)
bb.warn("Include log: Tried to finish '%s' at top level." % filename)
return False
def emit(self, o, level = 0):
@@ -253,18 +267,13 @@ class VariableHistory(object):
return
self.variables[var].append(loginfo.copy())
def rename_variable_hist(self, oldvar, newvar):
if not self.dataroot._tracking:
return
if oldvar not in self.variables:
return
if newvar not in self.variables:
self.variables[newvar] = []
for i in self.variables[oldvar]:
self.variables[newvar].append(i.copy())
def variable(self, var):
varhistory = []
remote_connector = self.dataroot.getVar('_remote_data', False)
if remote_connector:
varhistory = remote_connector.getVarHistory(var)
else:
varhistory = []
if var in self.variables:
varhistory.extend(self.variables[var])
return varhistory
@@ -329,12 +338,11 @@ class VariableHistory(object):
lines.append(line)
return lines
def get_variable_items_files(self, var):
def get_variable_items_files(self, var, d):
"""
Use variable history to map items added to a list variable and
the files in which they were added.
"""
d = self.dataroot
history = self.variable(var)
finalitems = (d.getVar(var) or '').split()
filemap = {}
@@ -393,6 +401,9 @@ class DataSmart(MutableMapping):
if not isinstance(s, str): # sanity check
return VariableParse(varname, self, s)
if varname and varname in self.expand_cache:
return self.expand_cache[varname]
varparse = VariableParse(varname, self)
while s.find('${') != -1:
@@ -412,11 +423,13 @@ class DataSmart(MutableMapping):
except bb.parse.SkipRecipe:
raise
except Exception as exc:
tb = sys.exc_info()[2]
raise ExpansionError(varname, s, exc).with_traceback(tb) from exc
raise ExpansionError(varname, s, exc) from exc
varparse.value = s
if varname:
self.expand_cache[varname] = varparse
return varparse
def expand(self, s, varname = None):
@@ -462,6 +475,10 @@ class DataSmart(MutableMapping):
if var in dest:
return dest[var], self.overridedata.get(var, None)
if "_remote_data" in dest:
connector = dest["_remote_data"]["_content"]
return connector.getVar(var)
if "_data" not in dest:
break
dest = dest["_data"]
@@ -481,14 +498,19 @@ class DataSmart(MutableMapping):
def setVar(self, var, value, **loginfo):
#print("var=" + str(var) + " val=" + str(value))
self.expand_cache = {}
parsing=False
if 'parsing' in loginfo:
parsing=True
if '_remote_data' in self.dict:
connector = self.dict["_remote_data"]["_content"]
res = connector.setVar(var, value)
if not res:
return
if 'op' not in loginfo:
loginfo['op'] = "set"
self.expand_cache = {}
match = __setvar_regexp__.match(var)
if match and match.group("keyword") in __setvar_keyword__:
base = match.group('base')
@@ -568,7 +590,7 @@ class DataSmart(MutableMapping):
# aka pay the cookie monster
override = var[var.rfind('_')+1:]
shortvar = var[:var.rfind('_')]
while override and __override_regexp__.match(override):
while override and override.islower():
if shortvar not in self.overridedata:
self.overridedata[shortvar] = []
if [var, override] not in self.overridedata[shortvar]:
@@ -589,13 +611,14 @@ class DataSmart(MutableMapping):
"""
Rename the variable key to newkey
"""
if key == newkey:
bb.warn("Calling renameVar with equivalent keys (%s) is invalid" % key)
return
if '_remote_data' in self.dict:
connector = self.dict["_remote_data"]["_content"]
res = connector.renameVar(key, newkey)
if not res:
return
val = self.getVar(key, 0, parsing=True)
if val is not None:
self.varhistory.rename_variable_hist(key, newkey)
loginfo['variable'] = newkey
loginfo['op'] = 'rename from %s' % key
loginfo['detail'] = val
@@ -637,11 +660,16 @@ class DataSmart(MutableMapping):
self.setVar(var + "_prepend", value, ignore=True, parsing=True)
def delVar(self, var, **loginfo):
self.expand_cache = {}
if '_remote_data' in self.dict:
connector = self.dict["_remote_data"]["_content"]
res = connector.delVar(var)
if not res:
return
loginfo['detail'] = ""
loginfo['op'] = 'del'
self.varhistory.record(**loginfo)
self.expand_cache = {}
self.dict[var] = {}
if var in self.overridedata:
del self.overridedata[var]
@@ -664,8 +692,13 @@ class DataSmart(MutableMapping):
override = None
def setVarFlag(self, var, flag, value, **loginfo):
self.expand_cache = {}
if '_remote_data' in self.dict:
connector = self.dict["_remote_data"]["_content"]
res = connector.setVarFlag(var, flag, value)
if not res:
return
self.expand_cache = {}
if 'op' not in loginfo:
loginfo['op'] = "set"
loginfo['flag'] = flag
@@ -686,21 +719,9 @@ class DataSmart(MutableMapping):
self.dict["__exportlist"]["_content"] = set()
self.dict["__exportlist"]["_content"].add(var)
def getVarFlag(self, var, flag, expand=True, noweakdefault=False, parsing=False, retparser=False):
if flag == "_content":
cachename = var
else:
if not flag:
bb.warn("Calling getVarFlag with flag unset is invalid")
return None
cachename = var + "[" + flag + "]"
if expand and cachename in self.expand_cache:
return self.expand_cache[cachename].value
def getVarFlag(self, var, flag, expand=True, noweakdefault=False, parsing=False):
local_var, overridedata = self._findVar(var)
value = None
removes = set()
if flag == "_content" and overridedata is not None and not parsing:
match = False
active = {}
@@ -727,11 +748,7 @@ class DataSmart(MutableMapping):
match = active[a]
del active[a]
if match:
value, subparser = self.getVarFlag(match, "_content", False, retparser=True)
if hasattr(subparser, "removes"):
# We have to carry the removes from the overridden variable to apply at the
# end of processing
removes = subparser.removes
value = self.getVar(match, False)
if local_var is not None and value is None:
if flag in local_var:
@@ -767,13 +784,17 @@ class DataSmart(MutableMapping):
if match:
value = r + value
parser = None
if expand or retparser:
parser = self.expandWithRefs(value, cachename)
if expand:
value = parser.value
if expand and value:
# Only getvar (flag == _content) hits the expand cache
cachename = None
if flag == "_content":
cachename = var
else:
cachename = var + "[" + flag + "]"
value = self.expand(value, cachename)
if value and flag == "_content" and local_var is not None and "_remove" in local_var and not parsing:
if value and flag == "_content" and local_var is not None and "_remove" in local_var:
removes = []
self.need_overrides()
for (r, o) in local_var["_remove"]:
match = True
@@ -782,40 +803,26 @@ class DataSmart(MutableMapping):
if not o2 in self.overrides:
match = False
if match:
removes.add(r)
if value and flag == "_content" and not parsing:
if removes and parser:
expanded_removes = {}
for r in removes:
expanded_removes[r] = self.expand(r).split()
parser.removes = set()
val = ""
for v in __whitespace_split__.split(parser.value):
skip = False
for r in removes:
if v in expanded_removes[r]:
parser.removes.add(r)
skip = True
if skip:
continue
val = val + v
parser.value = val
if expand:
value = parser.value
if parser:
self.expand_cache[cachename] = parser
if retparser:
return value, parser
removes.extend(self.expand(r).split())
if removes:
filtered = filter(lambda v: v not in removes,
value.split())
value = " ".join(filtered)
if expand and var in self.expand_cache:
# We need to ensure the expand cache has the correct value
# flag == "_content" here
self.expand_cache[var].value = value
return value
def delVarFlag(self, var, flag, **loginfo):
self.expand_cache = {}
if '_remote_data' in self.dict:
connector = self.dict["_remote_data"]["_content"]
res = connector.delVarFlag(var, flag)
if not res:
return
self.expand_cache = {}
local_var, _ = self._findVar(var)
if not local_var:
return
@@ -932,7 +939,7 @@ class DataSmart(MutableMapping):
def localkeys(self):
for key in self.dict:
if key not in ['_data']:
if key not in ['_data', '_remote_data']:
yield key
def __iter__(self):
@@ -941,7 +948,7 @@ class DataSmart(MutableMapping):
def keylist(d):
klist = set()
for key in d:
if key in ["_data"]:
if key in ["_data", "_remote_data"]:
continue
if key in deleted:
continue
@@ -955,6 +962,13 @@ class DataSmart(MutableMapping):
if "_data" in d:
klist |= keylist(d["_data"])
if "_remote_data" in d:
connector = d["_remote_data"]["_content"]
for key in connector.getKeys():
if key in deleted:
continue
klist.add(key)
return klist
self.need_overrides()
@@ -1000,12 +1014,9 @@ class DataSmart(MutableMapping):
continue
value = d.getVar(key, False) or ""
if type(value) is type(self):
data.update({key:value.get_hash()})
else:
data.update({key:value})
data.update({key:value})
varflags = d.getVarFlags(key, internalflags = True, expand=["vardepvalue"])
varflags = d.getVarFlags(key, internalflags = True)
if not varflags:
continue
for f in varflags:
@@ -1023,4 +1034,4 @@ class DataSmart(MutableMapping):
data.update({i:value})
data_str = str([(k, data[k]) for k in sorted(data.keys())])
return hashlib.sha256(data_str.encode("utf-8")).hexdigest()
return hashlib.md5(data_str.encode("utf-8")).hexdigest()

View File

@@ -1,3 +1,5 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake 'Event' implementation
@@ -7,20 +9,31 @@ BitBake build tools.
# Copyright (C) 2003, 2004 Chris Larson
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import ast
import atexit
import collections
import logging
import os, sys
import warnings
import pickle
import sys
import threading
import logging
import atexit
import traceback
import ast
import threading
import bb.exceptions
import bb.utils
import bb.compat
import bb.exceptions
# This is the pid for which we should generate the event. This is set when
# the runqueue forks off.
@@ -56,7 +69,7 @@ def set_class_handlers(h):
_handlers = h
def clean_class_handlers():
return collections.OrderedDict()
return bb.compat.OrderedDict()
# Internal
_handlers = clean_class_handlers()
@@ -123,15 +136,11 @@ def fire_class_handlers(event, d):
ui_queue = []
@atexit.register
def print_ui_queue():
global ui_queue
"""If we're exiting before a UI has been spawned, display any queued
LogRecords to the console."""
logger = logging.getLogger("BitBake")
if not _uiready:
from bb.msg import BBLogFormatter
# Flush any existing buffered content
sys.stdout.flush()
sys.stderr.flush()
stdout = logging.StreamHandler(sys.stdout)
stderr = logging.StreamHandler(sys.stderr)
formatter = BBLogFormatter("%(levelname)s: %(message)s")
@@ -168,7 +177,6 @@ def print_ui_queue():
logger.removeHandler(stderr)
else:
logger.removeHandler(stdout)
ui_queue = []
def fire_ui_handlers(event, d):
global _thread_lock
@@ -346,7 +354,7 @@ def set_UIHmask(handlerNum, level, debug_domains, mask):
def getName(e):
"""Returns the name of a class or class instance"""
if getattr(e, "__name__", None) is None:
if getattr(e, "__name__", None) == None:
return e.__class__.__name__
else:
return e.__name__
@@ -387,11 +395,7 @@ class RecipeEvent(Event):
Event.__init__(self)
class RecipePreFinalise(RecipeEvent):
""" Recipe Parsing Complete but not yet finalised"""
class RecipePostKeyExpansion(RecipeEvent):
""" Recipe Parsing Complete but not yet finalised"""
""" Recipe Parsing Complete but not yet finialised"""
class RecipeTaskPreProcess(RecipeEvent):
"""
@@ -407,6 +411,23 @@ class RecipeTaskPreProcess(RecipeEvent):
class RecipeParsed(RecipeEvent):
""" Recipe Parsing Complete """
class StampUpdate(Event):
"""Trigger for any adjustment of the stamp files to happen"""
def __init__(self, targets, stampfns):
self._targets = targets
self._stampfns = stampfns
Event.__init__(self)
def getStampPrefix(self):
return self._stampfns
def getTargets(self):
return self._targets
stampPrefix = property(getStampPrefix)
targets = property(getTargets)
class BuildBase(Event):
"""Base class for bitbake build events"""
@@ -428,6 +449,12 @@ class BuildBase(Event):
def setName(self, name):
self._name = name
def getCfg(self):
return self.data
def setCfg(self, cfg):
self.data = cfg
def getFailures(self):
"""
Return the number of failed packages
@@ -436,6 +463,9 @@ class BuildBase(Event):
pkgs = property(getPkgs, setPkgs, None, "pkgs property")
name = property(getName, setName, None, "name property")
cfg = property(getCfg, setCfg, None, "cfg property")
class BuildInit(BuildBase):
"""buildFile or buildTargets was invoked"""
@@ -512,7 +542,7 @@ class NoProvider(Event):
extra = ''
if not self._reasons:
if self._close_matches:
extra = ". Close matches:\n %s" % '\n '.join(sorted(set(self._close_matches)))
extra = ". Close matches:\n %s" % '\n '.join(self._close_matches)
if self._dependees:
msg = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, self._item, ", ".join(self._dependees), r, extra)

View File

@@ -1,6 +1,3 @@
#
# SPDX-License-Identifier: GPL-2.0-only
#
import inspect
import traceback

View File

@@ -1,3 +1,5 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake 'Fetch' implementations
@@ -8,7 +10,18 @@ BitBake build tools.
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2012 Intel Corporation
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
@@ -33,9 +46,6 @@ _checksum_cache = bb.checksum.FileChecksumCache()
logger = logging.getLogger("BitBake.Fetcher")
CHECKSUM_LIST = [ "md5", "sha256", "sha1", "sha384", "sha512" ]
SHOWN_CHECKSUM_LIST = ["sha256"]
class BBFetchException(Exception):
"""Class all fetch exceptions inherit from"""
def __init__(self, message):
@@ -134,9 +144,10 @@ class NonLocalMethod(Exception):
Exception.__init__(self)
class MissingChecksumEvent(bb.event.Event):
def __init__(self, url, **checksums):
def __init__(self, url, md5sum, sha256sum):
self.url = url
self.checksums = checksums
self.checksums = {'md5sum': md5sum,
'sha256sum': sha256sum}
bb.event.Event.__init__(self)
@@ -245,7 +256,7 @@ class URI(object):
# Identify if the URI is relative or not
if urlp.scheme in self._relative_schemes and \
re.compile(r"^\w+:(?!//)").match(uri):
re.compile("^\w+:(?!//)").match(uri):
self.relative = True
if not self.relative:
@@ -290,7 +301,7 @@ class URI(object):
def _param_str_split(self, string, elmdelim, kvdelim="="):
ret = collections.OrderedDict()
for k, v in [x.split(kvdelim, 1) for x in string.split(elmdelim) if x]:
for k, v in [x.split(kvdelim, 1) for x in string.split(elmdelim)]:
ret[k] = v
return ret
@@ -372,7 +383,7 @@ def decodeurl(url):
path = location
else:
host = location
path = "/"
path = ""
if user:
m = re.compile('(?P<user>[^:]+)(:?(?P<pswd>.*))').match(user)
if m:
@@ -441,8 +452,8 @@ def uri_replace(ud, uri_find, uri_replace, replacements, d, mirrortarball=None):
# Handle URL parameters
if i:
# Any specified URL parameters must match
for k in uri_find_decoded[loc]:
if uri_decoded[loc][k] != uri_find_decoded[loc][k]:
for k in uri_replace_decoded[loc]:
if uri_decoded[loc][k] != uri_replace_decoded[loc][k]:
return None
# Overwrite any specified replacement parameters
for k in uri_replace_decoded[loc]:
@@ -486,22 +497,17 @@ def fetcher_init(d):
Called to initialize the fetchers once the configuration data is known.
Calls before this must not hit the cache.
"""
revs = bb.persist_data.persist('BB_URI_HEADREVS', d)
try:
# fetcher_init is called multiple times, so make sure we only save the
# revs the first time it is called.
if not bb.fetch2.saved_headrevs:
bb.fetch2.saved_headrevs = dict(revs)
except:
pass
# When to drop SCM head revisions controlled by user policy
srcrev_policy = d.getVar('BB_SRCREV_POLICY') or "clear"
if srcrev_policy == "cache":
logger.debug(1, "Keeping SRCREV cache due to cache policy of: %s", srcrev_policy)
elif srcrev_policy == "clear":
logger.debug(1, "Clearing SRCREV cache due to cache policy of: %s", srcrev_policy)
revs = bb.persist_data.persist('BB_URI_HEADREVS', d)
try:
bb.fetch2.saved_headrevs = revs.items()
except:
pass
revs.clear()
else:
raise FetchError("Invalid SRCREV cache policy of: %s" % srcrev_policy)
@@ -518,14 +524,24 @@ def fetcher_parse_save():
def fetcher_parse_done():
_checksum_cache.save_merge()
def fetcher_compare_revisions(d):
def fetcher_compare_revisions():
"""
Compare the revisions in the persistent cache with the saved values from
when bitbake was started and return true if they have changed.
Compare the revisions in the persistant cache with current values and
return true/false on whether they've changed.
"""
headrevs = dict(bb.persist_data.persist('BB_URI_HEADREVS', d))
return headrevs != bb.fetch2.saved_headrevs
data = bb.persist_data.persist('BB_URI_HEADREVS', d).items()
data2 = bb.fetch2.saved_headrevs
changed = False
for key in data:
if key not in data2 or data2[key] != data[key]:
logger.debug(1, "%s changed", key)
changed = True
return True
else:
logger.debug(2, "%s did not change", key)
return False
def mirror_from_string(data):
mirrors = (data or "").replace('\\n',' ').split()
@@ -549,84 +565,71 @@ def verify_checksum(ud, d, precomputed={}):
downloading. See https://bugzilla.yoctoproject.org/show_bug.cgi?id=5571.
"""
_MD5_KEY = "md5"
_SHA256_KEY = "sha256"
if ud.ignore_checksums or not ud.method.supports_checksum(ud):
return {}
def compute_checksum_info(checksum_id):
checksum_name = getattr(ud, "%s_name" % checksum_id)
if _MD5_KEY in precomputed:
md5data = precomputed[_MD5_KEY]
else:
md5data = bb.utils.md5_file(ud.localpath)
if checksum_id in precomputed:
checksum_data = precomputed[checksum_id]
else:
checksum_data = getattr(bb.utils, "%s_file" % checksum_id)(ud.localpath)
checksum_expected = getattr(ud, "%s_expected" % checksum_id)
return {
"id": checksum_id,
"name": checksum_name,
"data": checksum_data,
"expected": checksum_expected
}
checksum_infos = []
for checksum_id in CHECKSUM_LIST:
checksum_infos.append(compute_checksum_info(checksum_id))
checksum_dict = {ci["id"] : ci["data"] for ci in checksum_infos}
checksum_event = {"%ssum" % ci["id"] : ci["data"] for ci in checksum_infos}
for ci in checksum_infos:
if ci["id"] in SHOWN_CHECKSUM_LIST:
checksum_lines = ["SRC_URI[%s] = \"%s\"" % (ci["name"], ci["data"])]
# If no checksum has been provided
if ud.method.recommends_checksum(ud) and all(ci["expected"] is None for ci in checksum_infos):
messages = []
strict = d.getVar("BB_STRICT_CHECKSUM") or "0"
if _SHA256_KEY in precomputed:
sha256data = precomputed[_SHA256_KEY]
else:
sha256data = bb.utils.sha256_file(ud.localpath)
if ud.method.recommends_checksum(ud) and not ud.md5_expected and not ud.sha256_expected:
# If strict checking enabled and neither sum defined, raise error
strict = d.getVar("BB_STRICT_CHECKSUM") or "0"
if strict == "1":
messages.append("No checksum specified for '%s', please add at " \
"least one to the recipe:" % ud.localpath)
messages.extend(checksum_lines)
logger.error("\n".join(messages))
raise NoChecksumError("Missing SRC_URI checksum", ud.url)
logger.error('No checksum specified for %s, please add at least one to the recipe:\n'
'SRC_URI[%s] = "%s"\nSRC_URI[%s] = "%s"' %
(ud.localpath, ud.md5_name, md5data,
ud.sha256_name, sha256data))
raise NoChecksumError('Missing SRC_URI checksum', ud.url)
bb.event.fire(MissingChecksumEvent(ud.url, **checksum_event), d)
bb.event.fire(MissingChecksumEvent(ud.url, md5data, sha256data), d)
if strict == "ignore":
return checksum_dict
return {
_MD5_KEY: md5data,
_SHA256_KEY: sha256data
}
# Log missing sums so user can more easily add them
messages.append("Missing checksum for '%s', consider adding at " \
"least one to the recipe:" % ud.localpath)
messages.extend(checksum_lines)
logger.warning("\n".join(messages))
logger.warning('Missing md5 SRC_URI checksum for %s, consider adding to the recipe:\n'
'SRC_URI[%s] = "%s"',
ud.localpath, ud.md5_name, md5data)
logger.warning('Missing sha256 SRC_URI checksum for %s, consider adding to the recipe:\n'
'SRC_URI[%s] = "%s"',
ud.localpath, ud.sha256_name, sha256data)
# We want to alert the user if a checksum is defined in the recipe but
# it does not match.
messages = []
messages.append("Checksum mismatch!")
bad_checksum = None
msg = ""
mismatch = False
if ud.md5_expected and ud.md5_expected != md5data:
msg = msg + "\nFile: '%s' has %s checksum %s when %s was expected" % (ud.localpath, 'md5', md5data, ud.md5_expected)
mismatch = True;
for ci in checksum_infos:
if ci["expected"] and ci["expected"] != ci["data"]:
messages.append("File: '%s' has %s checksum %s when %s was " \
"expected" % (ud.localpath, ci["id"], ci["data"], ci["expected"]))
bad_checksum = ci["data"]
if ud.sha256_expected and ud.sha256_expected != sha256data:
msg = msg + "\nFile: '%s' has %s checksum %s when %s was expected" % (ud.localpath, 'sha256', sha256data, ud.sha256_expected)
mismatch = True;
if bad_checksum:
messages.append("If this change is expected (e.g. you have upgraded " \
"to a new version without updating the checksums) " \
"then you can use these lines within the recipe:")
messages.extend(checksum_lines)
messages.append("Otherwise you should retry the download and/or " \
"check with upstream to determine if the file has " \
"become corrupted or otherwise unexpectedly modified.")
raise ChecksumError("\n".join(messages), ud.url, bad_checksum)
if mismatch:
msg = msg + '\nIf this change is expected (e.g. you have upgraded to a new version without updating the checksums) then you can use these lines within the recipe:\nSRC_URI[%s] = "%s"\nSRC_URI[%s] = "%s"\nOtherwise you should retry the download and/or check with upstream to determine if the file has become corrupted or otherwise unexpectedly modified.\n' % (ud.md5_name, md5data, ud.sha256_name, sha256data)
if len(msg):
raise ChecksumError('Checksum mismatch!%s' % msg, ud.url, md5data)
return {
_MD5_KEY: md5data,
_SHA256_KEY: sha256data
}
return checksum_dict
def verify_donestamp(ud, d, origud=None):
"""
@@ -640,25 +643,26 @@ def verify_donestamp(ud, d, origud=None):
if not ud.needdonestamp or (origud and not origud.needdonestamp):
return True
if not os.path.exists(ud.localpath):
# local path does not exist
if os.path.exists(ud.donestamp):
# done stamp exists, but the downloaded file does not; the done stamp
# must be incorrect, re-trigger the download
bb.utils.remove(ud.donestamp)
if not os.path.exists(ud.donestamp):
return False
if (not ud.method.supports_checksum(ud) or
(origud and not origud.method.supports_checksum(origud))):
# if done stamp exists and checksums not supported; assume the local
# file is current
return os.path.exists(ud.donestamp)
# done stamp exists, checksums not supported; assume the local file is
# current
return True
if not os.path.exists(ud.localpath):
# done stamp exists, but the downloaded file does not; the done stamp
# must be incorrect, re-trigger the download
bb.utils.remove(ud.donestamp)
return False
precomputed_checksums = {}
# Only re-use the precomputed checksums if the donestamp is newer than the
# file. Do not rely on the mtime of directories, though. If ud.localpath is
# a directory, there will probably not be any checksums anyway.
if os.path.exists(ud.donestamp) and (os.path.isdir(ud.localpath) or
if (os.path.isdir(ud.localpath) or
os.path.getmtime(ud.localpath) < os.path.getmtime(ud.donestamp)):
try:
with open(ud.donestamp, "rb") as cachefile:
@@ -774,8 +778,7 @@ def get_srcrev(d, method_name='sortable_revision'):
#
format = d.getVar('SRCREV_FORMAT')
if not format:
raise FetchError("The SRCREV_FORMAT variable must be set when multiple SCMs are used.\n"\
"The SCMs are:\n%s" % '\n'.join(scms))
raise FetchError("The SRCREV_FORMAT variable must be set when multiple SCMs are used.")
name_to_rev = {}
seenautoinc = False
@@ -825,7 +828,6 @@ def runfetchcmd(cmd, d, quiet=False, cleanup=None, log=None, workdir=None):
'NO_PROXY', 'no_proxy',
'ALL_PROXY', 'all_proxy',
'GIT_PROXY_COMMAND',
'GIT_SSH',
'GIT_SSL_CAINFO',
'GIT_SMART_HTTP',
'SSH_AUTH_SOCK', 'SSH_AGENT_PID',
@@ -836,16 +838,14 @@ def runfetchcmd(cmd, d, quiet=False, cleanup=None, log=None, workdir=None):
if not cleanup:
cleanup = []
# If PATH contains WORKDIR which contains PV-PR which contains SRCPV we
# If PATH contains WORKDIR which contains PV which contains SRCPV we
# can end up in circular recursion here so give the option of breaking it
# in a data store copy.
try:
d.getVar("PV")
d.getVar("PR")
except bb.data_smart.ExpansionError:
d = bb.data.createCopy(d)
d.setVar("PV", "fetcheravoidrecurse")
d.setVar("PR", "fetcheravoidrecurse")
origenv = d.getVar("BB_ORIGENV", False)
for var in exportvars:
@@ -856,10 +856,7 @@ def runfetchcmd(cmd, d, quiet=False, cleanup=None, log=None, workdir=None):
# Disable pseudo as it may affect ssh, potentially causing it to hang.
cmd = 'export PSEUDO_DISABLED=1; ' + cmd
if workdir:
logger.debug(1, "Running '%s' in %s" % (cmd, workdir))
else:
logger.debug(1, "Running %s", cmd)
logger.debug(1, "Running %s", cmd)
success = False
error_message = ""
@@ -895,7 +892,7 @@ def check_network_access(d, info, url):
log remote network access, and error if BB_NO_NETWORK is set or the given
URI is untrusted
"""
if bb.utils.to_boolean(d.getVar("BB_NO_NETWORK")):
if d.getVar("BB_NO_NETWORK") == "1":
raise NetworkAccess(url, info)
elif not trusted_network(d, url):
raise UntrustedUrl(url, info)
@@ -967,8 +964,7 @@ def rename_bad_checksum(ud, suffix):
new_localpath = "%s_bad-checksum_%s" % (ud.localpath, suffix)
bb.warn("Renaming %s to %s" % (ud.localpath, new_localpath))
if not bb.utils.movefile(ud.localpath, new_localpath):
bb.warn("Renaming %s to %s failed, grep movefile in log.do_fetch to see why" % (ud.localpath, new_localpath))
bb.utils.movefile(ud.localpath, new_localpath)
def try_mirror_url(fetch, origud, ud, ld, check = False):
@@ -1021,7 +1017,16 @@ def try_mirror_url(fetch, origud, ud, ld, check = False):
origud.method.build_mirror_data(origud, ld)
return origud.localpath
# Otherwise the result is a local file:// and we symlink to it
ensure_symlink(ud.localpath, origud.localpath)
if not os.path.exists(origud.localpath):
if os.path.islink(origud.localpath):
# Broken symbolic link
os.unlink(origud.localpath)
# As per above, in case two tasks end up here simultaneously.
try:
os.symlink(ud.localpath, origud.localpath)
except FileExistsError:
pass
update_stamp(origud, ld)
return ud.localpath
@@ -1029,7 +1034,7 @@ def try_mirror_url(fetch, origud, ud, ld, check = False):
raise
except IOError as e:
if e.errno in [errno.ESTALE]:
if e.errno in [os.errno.ESTALE]:
logger.warning("Stale Error Observed %s." % ud.url)
return False
raise
@@ -1055,22 +1060,6 @@ def try_mirror_url(fetch, origud, ud, ld, check = False):
bb.utils.unlockfile(lf)
def ensure_symlink(target, link_name):
if not os.path.exists(link_name):
if os.path.islink(link_name):
# Broken symbolic link
os.unlink(link_name)
# In case this is executing without any file locks held (as is
# the case for file:// URLs), two tasks may end up here at the
# same time, in which case we do not want the second task to
# fail when the link has already been created by the first task.
try:
os.symlink(target, link_name)
except FileExistsError:
pass
def try_mirrors(fetch, d, origud, mirrors, check = False):
"""
Try to use a mirrored version of the sources.
@@ -1086,7 +1075,7 @@ def try_mirrors(fetch, d, origud, mirrors, check = False):
for index, uri in enumerate(uris):
ret = try_mirror_url(fetch, origud, uds[index], ld, check)
if ret:
if ret != False:
return ret
return None
@@ -1096,13 +1085,11 @@ def trusted_network(d, url):
BB_ALLOWED_NETWORKS is set globally or for a specific recipe.
Note: modifies SRC_URI & mirrors.
"""
if bb.utils.to_boolean(d.getVar("BB_NO_NETWORK")):
if d.getVar('BB_NO_NETWORK') == "1":
return True
pkgname = d.expand(d.getVar('PN', False))
trusted_hosts = None
if pkgname:
trusted_hosts = d.getVarFlag('BB_ALLOWED_NETWORKS', pkgname, False)
trusted_hosts = d.getVarFlag('BB_ALLOWED_NETWORKS', pkgname, False)
if not trusted_hosts:
trusted_hosts = d.getVar('BB_ALLOWED_NETWORKS')
@@ -1190,6 +1177,8 @@ def get_checksum_file_list(d):
paths = ud.method.localpaths(ud, d)
for f in paths:
pth = ud.decodedurl
if '*' in pth:
f = os.path.join(os.path.abspath(f), pth)
if f.startswith(dl_dir):
# The local fetcher's behaviour is to return a path under DL_DIR if it couldn't find the file anywhere else
if os.path.exists(f):
@@ -1200,14 +1189,14 @@ def get_checksum_file_list(d):
return " ".join(filelist)
def get_file_checksums(filelist, pn, localdirsexclude):
def get_file_checksums(filelist, pn):
"""Get a list of the checksums for a list of local files
Returns the checksums for a list of local files, caching the results as
it proceeds
"""
return _checksum_cache.get_checksums(filelist, pn, localdirsexclude)
return _checksum_cache.get_checksums(filelist, pn)
class FetchData(object):
@@ -1233,26 +1222,24 @@ class FetchData(object):
self.pswd = self.parm["pswd"]
self.setup = False
def configure_checksum(checksum_id):
if "name" in self.parm:
checksum_name = "%s.%ssum" % (self.parm["name"], checksum_id)
else:
checksum_name = "%ssum" % checksum_id
setattr(self, "%s_name" % checksum_id, checksum_name)
if checksum_name in self.parm:
checksum_expected = self.parm[checksum_name]
elif self.type not in ["http", "https", "ftp", "ftps", "sftp", "s3"]:
checksum_expected = None
else:
checksum_expected = d.getVarFlag("SRC_URI", checksum_name)
setattr(self, "%s_expected" % checksum_id, checksum_expected)
for checksum_id in CHECKSUM_LIST:
configure_checksum(checksum_id)
if "name" in self.parm:
self.md5_name = "%s.md5sum" % self.parm["name"]
self.sha256_name = "%s.sha256sum" % self.parm["name"]
else:
self.md5_name = "md5sum"
self.sha256_name = "sha256sum"
if self.md5_name in self.parm:
self.md5_expected = self.parm[self.md5_name]
elif self.type not in ["http", "https", "ftp", "ftps", "sftp", "s3"]:
self.md5_expected = None
else:
self.md5_expected = d.getVarFlag("SRC_URI", self.md5_name)
if self.sha256_name in self.parm:
self.sha256_expected = self.parm[self.sha256_name]
elif self.type not in ["http", "https", "ftp", "ftps", "sftp", "s3"]:
self.sha256_expected = None
else:
self.sha256_expected = d.getVarFlag("SRC_URI", self.sha256_name)
self.ignore_checksums = False
self.names = self.parm.get("name",'default').split(',')
@@ -1356,8 +1343,11 @@ class FetchMethod(object):
"""
# We cannot compute checksums for directories
if os.path.isdir(urldata.localpath):
if os.path.isdir(urldata.localpath) == True:
return False
if urldata.localpath.find("*") != -1:
return False
return True
def recommends_checksum(self, urldata):
@@ -1367,18 +1357,6 @@ class FetchMethod(object):
"""
return False
def verify_donestamp(self, ud, d):
"""
Verify the donestamp file
"""
return verify_donestamp(ud, d)
def update_donestamp(self, ud, d):
"""
Update the donestamp file
"""
update_stamp(ud, d)
def _strip_leading_slashes(self, relpath):
"""
Remove leading slash as os.path.join can't cope
@@ -1414,12 +1392,17 @@ class FetchMethod(object):
Fetch urls
Assumes localpath was called first
"""
raise NoMethodError(urldata.url)
raise NoMethodError(url)
def unpack(self, urldata, rootdir, data):
iterate = False
file = urldata.localpath
# Localpath can't deal with 'dir/*' entries, so it converts them to '.',
# but it must be corrected back for local files copying
if urldata.basename == '*' and file.endswith('/.'):
file = '%s/%s' % (file.rstrip('/.'), urldata.path)
try:
unpack = bb.utils.to_boolean(urldata.parm.get('unpack'), True)
except ValueError as exc:
@@ -1444,7 +1427,7 @@ class FetchMethod(object):
cmd = 'gzip -dc %s > %s' % (file, efile)
elif file.endswith('.bz2'):
cmd = 'bzip2 -dc %s > %s' % (file, efile)
elif file.endswith('.txz') or file.endswith('.tar.xz'):
elif file.endswith('.tar.xz'):
cmd = 'xz -dc %s | tar x --no-same-owner -f -' % file
elif file.endswith('.xz'):
cmd = 'xz -dc %s > %s' % (file, efile)
@@ -1456,10 +1439,6 @@ class FetchMethod(object):
cmd = '7z x -so %s | tar x --no-same-owner -f -' % file
elif file.endswith('.7z'):
cmd = '7za x -y %s 1>/dev/null' % file
elif file.endswith('.tzst') or file.endswith('.tar.zst'):
cmd = 'zstd --decompress --stdout %s | tar x --no-same-owner -f -' % file
elif file.endswith('.zst'):
cmd = 'zstd --decompress --stdout %s > %s' % (file, efile)
elif file.endswith('.zip') or file.endswith('.jar'):
try:
dos = bb.utils.to_boolean(urldata.parm.get('dos'), False)
@@ -1479,7 +1458,7 @@ class FetchMethod(object):
else:
cmd = 'rpm2cpio.sh %s | cpio -id' % (file)
elif file.endswith('.deb') or file.endswith('.ipk'):
output = subprocess.check_output(['ar', '-t', file], preexec_fn=subprocess_setup)
output = subprocess.check_output('ar -t %s' % file, preexec_fn=subprocess_setup, shell=True)
datafile = None
if output:
for line in output.decode().splitlines():
@@ -1519,7 +1498,7 @@ class FetchMethod(object):
if urlpath.find("/") != -1:
destdir = urlpath.rsplit("/", 1)[0] + '/'
bb.utils.mkdirhier("%s/%s" % (unpackdir, destdir))
cmd = 'cp -fpPRH "%s" "%s"' % (file, destdir)
cmd = 'cp -fpPRH %s %s' % (file, destdir)
if not cmd:
return
@@ -1552,18 +1531,12 @@ class FetchMethod(object):
"""
return True
def try_mirrors(self, fetch, urldata, d, mirrors, check=False):
"""
Try to use a mirror
"""
return bool(try_mirrors(fetch, d, urldata, mirrors, check))
def checkstatus(self, fetch, urldata, d):
"""
Check the status of a URL
Assumes localpath was called first
"""
logger.info("URL %s could not be checked for status since no method exists.", urldata.url)
logger.info("URL %s could not be checked for status since no method exists.", url)
return True
def latest_revision(self, ud, d, name):
@@ -1571,7 +1544,7 @@ class FetchMethod(object):
Look in the cache for the latest revision, if not present ask the SCM.
"""
if not hasattr(self, "_latest_revision"):
raise ParameterError("The fetcher for this URL does not support _latest_revision", ud.url)
raise ParameterError("The fetcher for this URL does not support _latest_revision", url)
revs = bb.persist_data.persist('BB_URI_HEADREVS', d)
key = self.generate_revision_key(ud, d, name)
@@ -1586,7 +1559,8 @@ class FetchMethod(object):
return True, str(latest_rev)
def generate_revision_key(self, ud, d, name):
return self._revision_key(ud, d, name)
key = self._revision_key(ud, d, name)
return "%s-%s" % (key, d.getVar("PN") or "")
def latest_versionstring(self, ud, d):
"""
@@ -1596,21 +1570,6 @@ class FetchMethod(object):
"""
return ('', '')
def done(self, ud, d):
"""
Is the download done ?
"""
if os.path.exists(ud.localpath):
return True
return False
def implicit_urldata(self, ud, d):
"""
Get a list of FetchData objects for any implicit URLs that will also
be downloaded when we fetch the given URL.
"""
return []
class Fetch(object):
def __init__(self, urls, d, cache = True, localonly = False, connection_cache = None):
if localonly and cache:
@@ -1625,11 +1584,8 @@ class Fetch(object):
fn = d.getVar('FILE')
mc = d.getVar('__BBMULTICONFIG') or ""
key = None
if cache and fn:
key = mc + fn + str(id(d))
if key in urldata_cache:
self.ud = urldata_cache[key]
if cache and fn and mc + fn in urldata_cache:
self.ud = urldata_cache[mc + fn]
for url in urls:
if url not in self.ud:
@@ -1640,8 +1596,8 @@ class Fetch(object):
self.ud[url] = None
pass
if key:
urldata_cache[key] = self.ud
if fn and cache:
urldata_cache[mc + fn] = self.ud
def localpath(self, url):
if url not in self.urls:
@@ -1671,13 +1627,13 @@ class Fetch(object):
urls = self.urls
network = self.d.getVar("BB_NO_NETWORK")
premirroronly = bb.utils.to_boolean(self.d.getVar("BB_FETCH_PREMIRRORONLY"))
premirroronly = (self.d.getVar("BB_FETCH_PREMIRRORONLY") == "1")
for u in urls:
ud = self.ud[u]
ud.setup_localpath(self.d)
m = ud.method
done = False
localpath = ""
if ud.lockfile:
lf = bb.utils.lockfile(ud.lockfile)
@@ -1685,28 +1641,28 @@ class Fetch(object):
try:
self.d.setVar("BB_NO_NETWORK", network)
if m.verify_donestamp(ud, self.d) and not m.need_update(ud, self.d):
done = True
if verify_donestamp(ud, self.d) and not m.need_update(ud, self.d):
localpath = ud.localpath
elif m.try_premirror(ud, self.d):
logger.debug(1, "Trying PREMIRRORS")
mirrors = mirror_from_string(self.d.getVar('PREMIRRORS'))
done = m.try_mirrors(self, ud, self.d, mirrors)
if done:
localpath = try_mirrors(self, self.d, ud, mirrors, False)
if localpath:
try:
# early checksum verification so that if the checksum of the premirror
# contents mismatch the fetcher can still try upstream and mirrors
m.update_donestamp(ud, self.d)
update_stamp(ud, self.d)
except ChecksumError as e:
logger.warning("Checksum failure encountered with premirror download of %s - will attempt other sources." % u)
logger.debug(1, str(e))
done = False
localpath = ""
if premirroronly:
self.d.setVar("BB_NO_NETWORK", "1")
firsterr = None
verified_stamp = m.verify_donestamp(ud, self.d)
if not done and (not verified_stamp or m.need_update(ud, self.d)):
verified_stamp = verify_donestamp(ud, self.d)
if not localpath and (not verified_stamp or m.need_update(ud, self.d)):
try:
if not trusted_network(self.d, ud.url):
raise UntrustedUrl(ud.url)
@@ -1714,10 +1670,10 @@ class Fetch(object):
m.download(ud, self.d)
if hasattr(m, "build_mirror_data"):
m.build_mirror_data(ud, self.d)
done = True
localpath = ud.localpath
# early checksum verify, so that if checksum mismatched,
# fetcher still have chance to fetch from mirror
m.update_donestamp(ud, self.d)
update_stamp(ud, self.d)
except bb.fetch2.NetworkAccess:
raise
@@ -1739,17 +1695,17 @@ class Fetch(object):
m.clean(ud, self.d)
logger.debug(1, "Trying MIRRORS")
mirrors = mirror_from_string(self.d.getVar('MIRRORS'))
done = m.try_mirrors(self, ud, self.d, mirrors)
localpath = try_mirrors(self, self.d, ud, mirrors)
if not done or not m.done(ud, self.d):
if not localpath or ((not os.path.exists(localpath)) and localpath.find("*") == -1):
if firsterr:
logger.error(str(firsterr))
raise FetchError("Unable to fetch URL from any source.", u)
m.update_donestamp(ud, self.d)
update_stamp(ud, self.d)
except IOError as e:
if e.errno in [errno.ESTALE]:
if e.errno in [os.errno.ESTALE]:
logger.error("Stale Error Observed %s." % u)
raise ChecksumError("Stale Error Detected")
@@ -1777,14 +1733,14 @@ class Fetch(object):
logger.debug(1, "Testing URL %s", u)
# First try checking uri, u, from PREMIRRORS
mirrors = mirror_from_string(self.d.getVar('PREMIRRORS'))
ret = m.try_mirrors(self, ud, self.d, mirrors, True)
ret = try_mirrors(self, self.d, ud, mirrors, True)
if not ret:
# Next try checking from the original uri, u
ret = m.checkstatus(self, ud, self.d)
if not ret:
# Finally, try checking uri, u, from MIRRORS
mirrors = mirror_from_string(self.d.getVar('MIRRORS'))
ret = m.try_mirrors(self, ud, self.d, mirrors, True)
ret = try_mirrors(self, self.d, ud, mirrors, True)
if not ret:
raise FetchError("URL %s doesn't work" % u, u)
@@ -1819,7 +1775,7 @@ class Fetch(object):
for url in urls:
if url not in self.ud:
self.ud[url] = FetchData(url, self.d)
self.ud[url] = FetchData(url, d)
ud = self.ud[url]
ud.setup_localpath(self.d)
@@ -1836,24 +1792,6 @@ class Fetch(object):
if ud.lockfile:
bb.utils.unlockfile(lf)
def expanded_urldata(self, urls=None):
"""
Get an expanded list of FetchData objects covering both the given
URLS and any additional implicit URLs that are added automatically by
the appropriate FetchMethod.
"""
if not urls:
urls = self.urls
urldata = []
for url in urls:
ud = self.ud[url]
urldata.append(ud)
urldata += ud.method.implicit_urldata(ud, self.d)
return urldata
class FetchConnectionCache(object):
"""
A class which represents an container for socket connections.
@@ -1907,7 +1845,6 @@ from . import osc
from . import repo
from . import clearcase
from . import npm
from . import npmsw
methods.append(local.Local())
methods.append(wget.Wget())
@@ -1926,4 +1863,3 @@ methods.append(osc.Osc())
methods.append(repo.Repo())
methods.append(clearcase.ClearCase())
methods.append(npm.Npm())
methods.append(npmsw.NpmShrinkWrap())

View File

@@ -10,10 +10,22 @@ BitBake 'Fetch' implementation for bzr.
# BitBake build tools.
# Copyright (C) 2003, 2004 Chris Larson
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os
import sys
import logging
import bb
from bb.fetch2 import FetchMethod
from bb.fetch2 import FetchError
@@ -29,9 +41,8 @@ class Bzr(FetchMethod):
init bzr specific variable within url data
"""
# Create paths to bzr checkouts
bzrdir = d.getVar("BZRDIR") or (d.getVar("DL_DIR") + "/bzr")
relpath = self._strip_leading_slashes(ud.path)
ud.pkgdir = os.path.join(bzrdir, ud.host, relpath)
ud.pkgdir = os.path.join(d.expand('${BZRDIR}'), ud.host, relpath)
ud.setup_revisions(d)
@@ -46,7 +57,7 @@ class Bzr(FetchMethod):
command is "fetch", "update", "revno"
"""
basecmd = d.getVar("FETCHCMD_bzr") or "/usr/bin/env bzr"
basecmd = d.expand('${FETCHCMD_bzr}')
proto = ud.parm.get('protocol', 'http')

View File

@@ -1,3 +1,5 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake 'Fetch' clearcase implementation
@@ -45,16 +47,26 @@ User credentials:
"""
# Copyright (C) 2014 Siemens AG
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
import os
import sys
import shutil
import bb
from bb.fetch2 import FetchMethod
from bb.fetch2 import FetchError
from bb.fetch2 import MissingParameterError
from bb.fetch2 import ParameterError
from bb.fetch2 import runfetchcmd
from bb.fetch2 import logger
@@ -80,7 +92,7 @@ class ClearCase(FetchMethod):
if 'protocol' in ud.parm:
ud.proto = ud.parm['protocol']
if not ud.proto in ('http', 'https'):
raise ParameterError("Invalid protocol type", ud.url)
raise fetch2.ParameterError("Invalid protocol type", ud.url)
ud.vob = ''
if 'vob' in ud.parm:
@@ -144,18 +156,18 @@ class ClearCase(FetchMethod):
basecmd = "%s %s" % (ud.basecmd, command)
if command == 'mkview':
if command is 'mkview':
if not "rcleartool" in ud.basecmd:
# Cleartool needs a -snapshot view
options.append("-snapshot")
options.append("-tag %s" % ud.viewname)
options.append(ud.viewdir)
elif command == 'rmview':
elif command is 'rmview':
options.append("-force")
options.append("%s" % ud.viewdir)
elif command == 'setcs':
elif command is 'setcs':
options.append("-overwrite")
options.append(ud.configspecfile)
@@ -237,7 +249,7 @@ class ClearCase(FetchMethod):
# Clean clearcase meta-data before tar
runfetchcmd('tar -czf "%s" .' % (ud.localpath), d, cleanup = [ud.localpath], workdir = ud.viewdir)
runfetchcmd('tar -czf "%s" .' % (ud.localpath), d, cleanup = [ud.localpath])
# Clean up so we can create a new view next time
self.clean(ud, d);

Some files were not shown because too many files have changed in this diff Show More