diff options
author | Patrick Williams <patrick@stwcx.xyz> | 2024-01-05 20:33:25 +0300 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2024-01-06 03:50:23 +0300 |
commit | 169d7bccc02da43f8574d030502cfcf9308f505f (patch) | |
tree | 534ffb94b96dc656fa1d901137a4692326046e22 /meta-openembedded | |
parent | 3fc1d7253cd91f776585b1866a8fdc1f7cdbb318 (diff) | |
download | openbmc-169d7bccc02da43f8574d030502cfcf9308f505f.tar.xz |
subtree updates
meta-raspberrypi: fde68b24f0..4c033eb074:
Harunobu Kurokawa (1):
rpi-cmdline, rpi-u-boot-src: Support USB boot
meta-arm: 0b61cc659a..4d22f982bc:
Debbie Martin (2):
arm-systemready: Add parted dependency and inherit testimage
ci: Add Arm SystemReady firmware and IR ACS builds
Harsimran Singh Tungal (3):
arm-bsp/documentation: corstone1000: fix the steps in the user guide and instructions
corstone1000:arm-bsp/optee: Update optee to v4.0
corstone1000:arm-bsp/tftf: Fix tftf tests on mps3
Jon Mason (5):
arm/trusted-firmware-a: move patch file to bbappend
arm/trusted-firmware-a: update to 2.10
arm/hafnium: update to v2.10
CI: rename meta-secure-core directory
arm/edk2: update to 202311
Ross Burton (1):
CI: switch back to master
poky: 028b6f6226..4675bbb757:
Adrian Freihofer (4):
cmake-qemu.bbclass: make it more usable
oe-selftest: add a cpp-example recipe
oeqa/core/decorator: add skip if not qemu-usermode
oe-selftest: add tests for C and C++ build tools
Alassane Yattara (22):
bitbake: toaster/test: bug-fix on tests/browser/test_all_builds_page
bitbake: toaster/test: from test_no_builds_message.py wait for the empty state div to appear
bitbake: toaster/test: delay driver action until elements to appear
bitbake: toaster/tests: Ensure to kill toaster process create for tests functional
bitbake: toaster/tests: Added functional/utils, contains useful methods using by functional tests
bitbake: toaster/tests: Refactorize tests/functional
bitbake: toaster/tests: Bug fixes, functional tests dependent on each other
bitbake: toaster/tests: Fixes warnings in autobuilder
bitbake: toaster/tests: bug-fix tests writing files into /tmp on the autobuilders
bitbake: toaster/test: fix Copyright
bitbake: toaster/tests: logging warning in console, trying to kill unavailable Runbuilds process
bitbake: toaster/tests: Removed all time.sleep occurrence
bitbake: toaster/tests: Bug-Fix testcase functional/test_project_page_tab_config.py
bitbake: toaster/tests: bug-fix element click intercepted in browser/test_layerdetails_page.py
bitbake: toaster/tests: Update tests/functional/functional_helpers test_functional_basic
bitbake: toaster/tests: Fixes functional tests warning on autobuilder
bitbake: toaster/tests: Bug-fix test_functional_basic, delay driver actions
bitbake: toaster/tests: bug-fix An element matching "#projectstable" should be visible
bitbake: toaster/tests: bug-fix An element matching "#lastest_builds" should be on the page
bitbake: toaster/tests: Skip to show more then 100 item in ToasterTable
bitbake: toaster/tests: Bug-fix "#project-created-notification" should be visible
bitbake: toaster/toastergui: Bug-fix verify given layer path only if import/add local layer
Alex Bennée (1):
qemurunner: more cleanups for output blocking
Alex Kiernan (17):
cargo: Rename MANIFEST_PATH -> CARGO_MANIFEST_PATH
cargo: Move CARGO_MANIFEST_PATH/CARGO_SRC_DIR to cargo_common
rust: cargo: Convert single-valued variables to weak defaults
cargo: Add CARGO_LOCK_PATH for path to Cargo.lock
rust: Upgrade 1.70.0 -> 1.71.0
rust: Upgrade 1.71.0 -> 1.71.1
sstate-cache-management: Rewrite in python
devtool: selftest: Fix test_devtool_modify_git_crates_subpath inequality
devtool: selftest: Fix test_devtool_modify_git_crates_subpath bbappend check
meta-selftest: hello-rs: Simple rust test recipe
devtool: selftest: Swap to hello-rs for crates testing
zvariant: Drop recipe
rust: Upgrade 1.71.1 -> 1.72.0
rust: Upgrade 1.72.0 -> 1.72.1
rust: Upgrade 1.72.1 -> 1.73.0
rust: Upgrade 1.73.0 -> 1.74.0
rust: Upgrade 1.74.0 -> 1.74.1
Alexander Kanavin (21):
selftest/sstatetest: print output from bitbake with actual newlines, not \n
selftest/sstatetests: do not delete custom $TMPDIRs under build-st when testing printdiff
sstatesig/find_siginfo: special-case gcc-source when looking in sstate caches
oeqa/selftest/sstatetests: re-work CDN tests, add local cache tests
gobject-introspection: depend on setuptools to obtain distutils module
libcap-ng-python: depend on setuptools to obtain distutils copy
dnf: remove obsolete python3-gpg dependency (provided by gpgme)
gpgme: disable python support (until upstream fixes 3.12 compatibility)
python3-setuptools-rust: remove distutils dependency
python3-babel: replace distutils with setuptools, as supported by upstream
python3-pip: remove distutils depedency
glib-2.0: replace distutils dependency with setuptools
python3-pytest-runner: remove distutils dependency
python3-numpy: distutils is no longer required
bitbake: bitbake/codeparser.py: address ast module deprecations in py 3.12
glibc-y2038-tests: do not run tests using 32 bit time APIs
bitbake: bitbake/runqueue: add debugging for find_siginfo() calls
bitbake: bitbake-diffsigs/runqueue: adapt to reworked find_siginfo()
bitbake: bitbake/runqueue: prioritize local stamps over sstate signatures in printdiff
sstatesig/find_siginfo: unify a disjointed API
lib/sstatesig/find_siginfo: raise an error instead of returning None when obtaining mtime
Alexander Lussier-Cullen (6):
bitbake: toaster: fix pytest build test execution and test discovery
bitbake: toaster: Add verbose printout for missing chrome(driver) dependencies
bitbake: bitbake: toaster: add functional testing toaster error details
bitbake: toaster/tests: Exit tests on chromedriver creation failure
bitbake: toaster/tests: fix functional tests setup and teardown
bitbake: toaster/tests: fix chrome argument syntax and wait for driver exit
Alexandre Belloni (1):
oeqa/selftest/recipetool: stop looking for md5sum
Anuj Mittal (9):
sqlite3: upgrade 3.44.0 -> 3.44.2
base-passwd: upgrade 3.6.2 -> 3.6.3
bluez5: upgrade 5.70 -> 5.71
glib-2.0: upgrade 2.78.1 -> 2.78.3
glib-networking: upgrade 2.76.1 -> 2.78.0
puzzles: upgrade to latest revision
stress-ng: upgrade 0.17.01 -> 0.17.03
libusb1: fix upstream version check
enchant2: upgrade 2.6.2 -> 2.6.4
Archana Polampalli (1):
bluez5: fix CVE-2023-45866
Bruce Ashfield (31):
linux-yocto/6.5: cfg: split runtime and symbol debug
linux-yocto/6.5: update to v6.5.11
linux-yocto/6.1: update to v6.1.62
linux-yocto-dev: bump to v6.7
linux-yocto/6.5: update to v6.5.12
linux-yocto/6.5: update to v6.5.13
linux-yocto/6.1: update to v6.1.65
linux-yocto/6.1: drop removed IMA option
linux-yocto/6.5: drop removed IMA option
linux-yocto-rt/6.1: update to -rt18
linux-yocto/6.1: update to v6.1.66
linux-yocto/6.1: update to v6.1.67
linux-yocto/6.5: fix AB-INT: QEMU kernel panic: No irq handler for vector
linux-yocto/6.1: update to v6.1.68
oeqa/runtime/parselogs: add qemux86 ACPI ignore for kernel v6.6+
linux-libc-headers: update to v6.6-lts
linux-yocto: introduce 6.6 reference kernel
linux-yocto/6.6: fix AB-INT: QEMU kernel panic: No irq handler for vector
linux-yocto-rt/6.6: fix CVE exclusion include
linux-yocto/6.6: update CVE exclusions
linux-yocto/6.6: update to v6.6.8
linux-yocto/6.1: update to v6.1.69
linux-yocto/6.5: drop 6.5 recipes
linux-yocto-rt/6.6: correct meta data branch
linux-yocto/6.6: update to v6.6.9
linux-yocto/6.6: update CVE exclusions
linux-yocto/6.1: update to v6.1.70
linux-yocto/6.1: update CVE exclusions
linux-yocto/6.6: ARM fix configuration audit warning
linux-yocto/6.6: arm: jitter entropy backport
poky/poky-tiny: make 6.6 the default kernel
Changqing Li (1):
man-pages: remove conflict pages
Chen Qi (1):
devtool: use straight print in check-upgrade-status output
Clay Chang (1):
devtool: deploy: provide max_process to strip_execs
Daniel Ammann (1):
base: Unpack .7z files with p7zip
Deepthi Hemraj (1):
autoconf: Add missing perl modules to RDEPENDS
Dhairya Nagodra (2):
cve-update-nvd2-native: faster requests with API keys
cve-update-nvd2-native: increase the delay between subsequent request failures
Eilís 'pidge' Ní Fhlannagáin (3):
useradd: Fix issues with useradd dependencies
useradd: Add testcase for bugzilla issue (currently disabled)
usergrouptests.py: Add test for switching between static-ids
Enrico Scholz (1):
tcp-wrappers: drop libnsl2 build dependency
Etienne Cordonnier (2):
gdb/systemd: enable minidebuginfo support conditionally
manuals: document minidebuginfo
Fabio Estevam (3):
libdrm: Upgrade to 2.4.119
kmscube: Upgrade to latest revision
bmap-tools: Upgrade to 3.7
Hongxu Jia (2):
socat: 1.7.4.4 -> 1.8.0.0
man-db: 2.11.2 -> 2.12.0
Jason Andryuk (3):
linux-firmware: Package iwlwifi .pnvm files
linux-firmware: Change bnx2 packaging
linux-firmware: Create bnx2x subpackage
Jeremy A. Puhlman (1):
create-spdx-2.2: combine spdx can try to write before dir creation
Jermain Horsman (2):
lib/bblayers/makesetup.py: Remove unused imports
lib/bblayers/buildconf.py: Remove unused imports/variables
Jose Quaresma (2):
go: update 1.20.10 -> 1.20.11
go: update 1.20.11 -> 1.20.12
Joshua Watt (11):
bitbake: bitbake-hashserv: Add description of permissions
bitbake.conf: Add runtimedir
rpcbind: Specify state directory under /run
libinput: Add packageconfig for tests
ipk: Switch to using zstd compression
lib/oe/path.py: Add relsymlink()
lib/packagedata.py: Fix broken symlinks for providers with a '/'
bitbake: contrib/vim: Syntax improvements
classes-global/sstate: Fix variable typo
lib/packagedata.py: Add API to iterate over rprovides
classes-global/insane: Look up all runtime providers for file-rdeps
Julien Stephan (19):
recipetool: create_buildsys_python.py: initialize metadata
recipetool: create: add trailing newlines
recipetool: create: add new optional process_url callback for plugins
recipetool: create_buildsys_python: add pypi support
oeqa/selftest/recipetool: remove spaces on empty lines
oeqa/selftest/recipetool/devtool: add test for pypi class
recipetool: appendsrcfile(s): add dry-run mode
recipeutils: bbappend_recipe: fix undefined variable
recipeutils: bbappend_recipe: fix docstring
recipeutils: bbappend_recipe: add a way to specify the name of the file to add
recipeutils: bbappend_recipe: remove old srcuri entry if parameters are different
recipetool: appendsrcfile(s): use params instead of extraline
recipeutils: bbappend_recipe: allow to patch the recipe itself
recipetool: appendsrcfile(s): add a mode to update the recipe itself
oeqa/selftest/recipetool: appendsrfile: add test for machine
oeqa/selftest/recipetool: appendsrc: add test for update mode
oeqa/selftest/recipetool: add back checksum checks on pypi tests
oeqa/selftest/recipetool: remove left over from development
oeqa/selftest/recipetool: fix metadata corruption on meta layer
Kevin Hao (2):
beaglebone-yocto: Remove the redundant kernel-devicetree
beaglebone-yocto: Remove the obsolete variables for uImage
Khem Raj (13):
tiff: Backport fixes for CVE-2023-6277
kmod: Fix build with latest musl
elfutils: Use own basename API implementation
util-linux: Fix build with latest musl
sysvinit: Include libgen.h for basename API
attr: Fix build with latest musl
opkg: Use own version of portable basename function
util-linux: Delete md-raid tests
gdb: Update to gdb 14.1 release
systemd: Fix build with latest musl
qemu: Fix build with latest musl
qemu: Add packageconfig knob to enable pipewire support
weston: Include libgen.h for basename
Lee Chee Yang (5):
migration-guides: reword fix in release-notes-4.3.1
migration-guides: add release notes for 4.0.15
perlcross: update to 1.5.2
perl: 5.38.0 -> 5.38.2
curl: update to 8.5.0
Lucas Stach (1):
mesa: upgrade 23.2.1 -> 23.3.1
Ludovic Jozeau (1):
image-live.bbclass: LIVE_ROOTFS_TYPE support compression
Lukas Funke (1):
selftest: wic: add test for zerorize option of empty plugin
Malte Schmidt (1):
wic: extend empty plugin with options to write zeros to partiton
Markus Volk (3):
gtk4: upgrade 4.12.3 -> 4.12.4
libadwaita: update 1.4.0 -> 1.4.2
appstream: Upgrade 0.16.3 -> 1.0.0
Marlon Rodriguez Garcia (5):
bitbake: toaster/tests: Update build test
bitbake: toaster: Added new feature to import eventlogs from command line into toaster using replay functionality
bitbake: toaster: remove test and update setup to avoid rebuilding image
bitbake: toaster: Commandline build import table improvements
bitbake: toaster: Added validation to stop import if there is a build in progress
Marta Rybczynska (1):
bitbake: toastergui: verify that an existing layer path is given
Massimiliano Minella (1):
zstd: fix LICENSE statement
Michael Opdenacker (8):
test-manual: text and formatting fixes
test-manual: resource updates
test-manual: use working example
test-manual: add links to python unittest
test-manual: explicit or fix file paths
test-manual: add or improve hyperlinks
dev-manual: runtime-testing: fix test module name
poky.conf: update SANITY_TESTED_DISTROS to match autobuilder
Mikko Rapeli (1):
runqemu: match .rootfs. in addition to -image- for rootfs
Ming Liu (1):
grub: fs/fat: Don't error when mtime is 0
Mingli Yu (2):
python3-license-expression: Fix the ptest failure
ptest-packagelists.inc: Add python3-license-expression
Pavel Zhukov (2):
bitbake: utils: Do not create directories with ${ in the name
oeqa/selftest/bbtests: Add test for unexpanded variables in the dirname
Peter Kjellerstedt (11):
oeqa/selftest/devtool: Correct git clone of local repository
oeqa/selftest/devtool: Avoid global Git hooks when amending a patch
oeqa/selftest/devtool: Make test_devtool_load_plugin more resilient
oeqa/selftest/recipetool: Make test_recipetool_load_plugin more resilient
lib/oe/recipeutils: Avoid wrapping any SRC_URI[sha*sum] variables
recipetool: create: Improve identification of licenses
recipetool: create: Only include the expected SRC_URI checksums
devtool: upgrade: Update all existing checksums for the SRC_URI
devtool: modify: Make --no-extract work again
devtool: modify: Handle recipes with a menuconfig task correctly
dev-manual: Discourage the use of SRC_URI[md5sum]
Peter Marko (1):
dtc: preserve version also from shallow git clones
Philip Balister (1):
sanity.bbclass: Check for additional native perl modules.
Renat Khalikov (1):
python3-maturin: Add missing space appending to CFLAGS
Richard Purdie (41):
bitbake: runqueue: Improve inter setscene task dependency handling
bitbake: bb/toaster: Fix assertEquals deprecation warnings
bitbake: toaster: Fix assertRegexpMatches deprecation warnings
bitbake: toastermain/settings: Avoid python filehandle closure warnings
bitbake: toastergui: Fix regex markup issues
bitbake: bitbake: Move to version 2.6.1 to mark runqueue changes
bitbake: toaster-eventreplay: Remove ordering assumptions
sanity.conf: Require bitbake 2.6.1 for recent runqueue change
sstate: Remove unneeded code from setscene_depvalid() related to useradd
oeqa/runtime/systemd: Ensure test runs only on systemd images
bitbake: toaster: Update to use qemux86-64 machine by default
bitbake: toaster/tests/builds: Add BB_HASHSERVE passthrough
pseudo: Update to pull in syncfs probe fix
useradd: Fix useradd do_populate_sysroot dependency bug
sstate: Fix dir ownership issues in SSTATE_DIR
oeqa/sstatetests: Disable gcc source printdiff test for now
build-appliance-image: Update to master head revision
bitbake: utils: Fix mkdir with PosixPath
bitbake: runqueue: Remove tie between rqexe and starts_worker
build-appliance-image: Update to master head revision
testimage: Exclude wtmp from target-dumper commands
qemurunner: Improve stdout logging handling
qemurunner: Improve handling of serial port output blocking
oeqa/selftest/overlayfs: Don't overwrite DISTRO_FEATURES
testimage: Drop target_dumper and most of monitor_dumper
oeqa/selftest/overlayfs: Fix whitespace
qemu: Clean up DEPENDS
qemu: Ensure pip and the python venv aren't used for meson
curl: Disable two intermittently failing tests
linux/cve-exclusion6.1: Update to latest kernel point release
lib/prservice: Improve lock handling robustness
oeqa/selftest/prservice: Improve test robustness
scripts: Drop shell sstate-cache-management
oeqa/selftest/sstatetests: Update sstate management script tests to python script
curl: Disable test 1091 due to intermittent failures
bitbake: lib/bb: Add workaround for libgcc issues with python 3.8 and 3.9
bitbake: bitbake: Post release version bump to 2.7.0
bitbake: siggen: Ensure version of siggen is verified
bitbake: bitbake: Version bump for find_siginfo chanages
sstatesig: Add version information for find_sigingfo
sanity: Require bitbake 2.7.1
Robert Berger (1):
uninative-tarball.xz - reproducibility fix
Robert Yang (5):
gettext: Upgrade 0.22.3 -> 0.22.4
nfs-utils: Upgrade 2.6.3 -> 2.6.4
archiver.bbclass: Improve work-shared checking
nfs-utils: Update Upstream-Status
archiver.bbclass: Drop tarfile module to improve performance
Ross Burton (23):
avahi: update URL for new project location
oeqa/runtime/parselogs: load ignores from disk
oeqa/runtime/parselogs: migrate ignores
meta-yocto-bsp/oeqa/parselogs: add BSP-specific ignores
linux-yocto: update CVE exclusions
genericx86: remove redundant assignments
images: remove redundant IMAGE_BASENAME assignments
insane: ensure more paths have the workdir removed
tcl: skip timing-dependent tests in run-ptest
qemurunner: remove unused import
go: set vendor in CVE_PRODUCT
runqemu: add qmp socket support
linux-yocto: update CVE exclusions
tcl: skip async and event tests in run-ptest
images: add core-image-initramfs-boot
machine/arch-armv9: remove crc and sve tunes, they are mandatory
python3: re-enable profile guided optimisation
openssl: mark assembler sections as call targets for PAC/BTI support on aarch64
nativesdk: ensure features don't get backfilled
nativesdk: don't unset MACHINE_FEATURES, let machine-sdk/ set it
conf/machine-sdk: declare qemu-usermode SDK_MACHINE_FEATURE
libseccomp: remove redundant PV assignment
oeqa/parselogs-ignores-qemuarmv5: add comments and organise
Saul Wold (1):
package.py: OEHasPackage: Add MLPREFIX to packagename
Shubham Kulkarni (1):
tzdata: Upgrade to 2023d
Simone Weiß (2):
manuals: brief-yoctoprojectqs: align variable order with default local.conf
patchtest: Add test for deprecated CVE_CHECK_IGNORE
Soumya Sambu (1):
ncurses: Fix - tty is hung after reset
Sundeep KOKKONDA (1):
rust: rustdoc reproducibility issue fix - disable PGO
Tim Orling (12):
python3-bcrypt: upgrade 4.0.1 -> 4.1.1
python3-pygments: upgrade 2.16.1 -> 2.17.2
recipetool: pypi: do not clobber SRC_URI checksums
python3-setuptools-rust: BBCLASSEXTEND + nativesdk
python3-maturin: add v1.4.0
python3-maturin: bzip2-sys reproduciblility
classes-recipe: add python_maturin.bbclass
recipetool: add python_maturin support
oe-selfest: add maturn runtime (testimage) test
oeqa: add simple 'maturin' SDK (testsdk) test case
oeqa: add "maturin develop" SDK test case
oeqa: add runtime 'maturin develop' test case
Tom Rini (1):
inetutils: Update to the 2.5 release
Trevor Gamblin (1):
scripts/runqemu: fix regex escape sequences
Victor Kamensky (5):
systemtap: upgrade 4.9 -> 5.0
systemtap: do not install uprobes and uprobes sources
systemtap-uprobes: removed as obsolete
systemtap: explicit handling debuginfod library dependency
systemtap: fix libdebuginfod auto detection logic
Vijay Anusuri (1):
avahi: backport CVE-2023-1981 & CVE's follow-up patches
Viswanath Kraleti (2):
image-uefi.conf: Add EFI_UKI_PATH variable
systemd-boot: Add recipe to compile native
Wang Mingyu (38):
kbd: upgrade 2.6.3 -> 2.6.4
libatomic-ops: upgrade 7.8.0 -> 7.8.2
libnl: upgrade 3.8.0 -> 3.9.0
libseccomp: upgrade 2.5.4 -> 2.5.5
libva-utils: upgrade 2.20.0 -> 2.20.1
dnf: upgrade 4.18.1 -> 4.18.2
gpgme: upgrade 1.23.1 -> 1.23.2
kea: upgrade 2.4.0 -> 2.4.1
opkg-utils: upgrade 0.6.2 -> 0.6.3
repo: upgrade 2.39 -> 2.40
sysstat: upgrade 12.7.4 -> 12.7.5
p11-kit: upgrade 0.25.2 -> 0.25.3
python3-babel: upgrade 2.13.1 -> 2.14.0
python3-dbusmock: upgrade 0.29.1 -> 0.30.0
python3-hatchling: upgrade 1.18.0 -> 1.20.0
python3-hypothesis: upgrade 6.90.0 -> 6.92.1
python3-importlib-metadata: upgrade 6.8.0 -> 7.0.0
python3-license-expression: upgrade 30.1.1 -> 30.2.0
python3-pathspec: upgrade 0.11.2 -> 0.12.1
python3-pip: upgrade 23.3.1 -> 23.3.2
python3-psutil: upgrade 5.9.6 -> 5.9.7
python3-pytest-runner: upgrade 6.0.0 -> 6.0.1
python3-trove-classifiers: upgrade 2023.11.22 -> 2023.11.29
python3-typing-extensions: upgrade 4.8.0 -> 4.9.0
python3-wcwidth: upgrade 0.2.11 -> 0.2.12
ttyrun: upgrade 2.29.0 -> 2.30.0
xwayland: upgrade 23.2.2 -> 23.2.3
diffoscope: upgrade 252 -> 253
iputils: upgrade 20221126 -> 20231222
gstreamer1.0: upgrade 1.22.7 -> 1.22.8
dhcpcd: upgrade 10.0.5 -> 10.0.6
fontconfig: upgrade 2.14.2 -> 2.15.0
python3-setuptools: upgrade 69.0.2 -> 69.0.3
python3-dbusmock: upgrade 0.30.0 -> 0.30.1
python3-hatchling: upgrade 1.20.0 -> 1.21.0
python3-importlib-metadata: upgrade 7.0.0 -> 7.0.1
python3-lxml: upgrade 4.9.3 -> 4.9.4
aspell: upgrade 0.60.8 -> 0.60.8.1
Yash Shinde (1):
rust: Disable rust oe-selftest
Yi Zhao (3):
json-glib: upgrade 1.6.6 -> 1.8.0
psplash: upgrade to latest revision
debianutils: upgrade 5.14 -> 5.15
Yoann Congal (2):
lib/oe/patch: handle creating patches for CRLF sources
strace: Disable bluetooth support by default
Zang Ruochen (2):
ell: upgrade 0.60 -> 0.61
musl: add typedefs for Elf64_Relr and Elf32_Relr
Zoltan Boszormenyi (1):
update_gtk_icon_cache: Fix for GTK4-only builds
venkata pyla (1):
wic: use E2FSPROGS_FAKE_TIME and hash_seed to generate reproducible ext4 images
meta-openembedded: 5ad7203f68..7d8115d550:
Alex Kiernan (7):
mdns: Fix HOMEPAGE URL
mbedtls: Upgrade 3.5.0 -> 3.5.1
c-ares: Upgrade 1.22.1 -> 1.24.0
mdns: Upgrade 2200.40.37.0.1 -> 2200.60.25.0.4
c-ares: Move to tarballs, add ptest and static support
thin-provisioning-tools: Upgrade 1.0.4 -> 1.0.9
bearssl: Upgrade to latest
Alexander Kanavin (29):
python3-pyinotify: remove as unmaintained
python3-supervisor: do not rely on smtpd module
python3-meld3: do not rely on smtpd module
python3-m2crypto: do not rely on smtpd module
python3-uinput: remove as unmaintained
python3-mcrypto: rely on setuptools for distutils copy
python3-joblib: do not rely in distutils
python3-web3: remove distutils dependency
python3-cppy: remove unused distutils dependency
python3-pyroute2: remove unused distutils dependency
python3-eventlet: backport a patch to remove distutils dependency
python3-unoconv: rely on setuptools to obtain distutils copy
python3-astroid: remove unneeded distutils dependency
python3-django: remove unneeded distutils dependency
python3-pillow: remove unneeded distutils dependency
python3-grpcio: update 1.56.2 -> 1.59.3
gstd: correctly delete files in do_install
libplist: fix python 3.12 compatibility
libcamera: skip until upstream resolves python 3.12 compatibility
nodejs: backport (partially) python 3.12 support
nodejs: backport (partially) python 3.12 support
polkit: remove long obsolete 0.119 version
mozjs-115: split the way-too-long PYTHONPATH line
polkit: update mozjs dependency 102 -> 115
mozjs-115: backport py 3.12 compatibility
mozjs-102: remove the recipe
gthumb: update 3.12.2 -> 3.12.4
flatpak: do not rely on executables from the host
bolt: package systemd units
Archana Polampalli (1):
cjson: upgrade 1.7.16 -> 1.7.17
Bruce Ashfield (1):
zfs: update to 2.2.2
Changqing Li (2):
postgresql: upgrade 15.4 -> 15.5
redis: upgrade 6.2.13 -> 6.2.14
Derek Straka (70):
python3-greenlet: update to version 3.0.2
python3-ujson: update to version 5.9.0
python3-termcolor: update to version 2.4.0
python3-cmake: update to version 3.28.0
python3-pint: upgrade to 0.23
python3-gnupg: update to 0.5.2
python3-pyzmq: update to 25.1.2
python3-tox: update to version 4.11.4
python3-olefile: update to version 0.47
python3-distlib: update to version 0.3.8
python3-colorlog: update to version 6.8.0
python3-pymongo: update version to 4.6.1
python3-bandit: update to version 1.7.6
python3-gmqtt: update to version 0.6.13
python3-portion: update to version 2.4.2
python3-prompt-toolkit: update to version 3.0.43
python3-asyncinotify: update to version 4.0.4
python3-bitstring: update to version 4.1.4
python3-ipython: update to version 8.18.1
nginx: update versions for both the stable branch and mainline
python3-portalocker: update to version 2.8.2
python3-astroid: update to version 3.0.2
python3-alembic: update to version 1.13.1
python3-pymisp: update to verion 2.4.182
python3-ninja: update to version 1.11.1.1
python3-coverage: update to version 7.3.4
python3-pdm: update to version 2.11.1
python3-paramiko: update to version 3.4.0
python3-zeroconf: update to version 0.131.0
python3-wtforms: update to version 3.1.1
python3-isort: update to version 5.13.2
python3-protobuf: update to version 4.25.1
python3-lazy-object-proxy: update to version 1.10.0
python3-cantools: update to version 39.4.0
python3-sentry-sdk: update to version 1.39.1
python3-xmlschema: update to version 2.5.1
python3-apiflask: update to version 2.1.0
python3-rapidjson: update to version 1.14
python3-bitarray: update to version 2.9.0
python3-pyfanotify: update to version 0.2.2
python3-eventlet: update to version 0.34.1
python3-flask-wtf: update to version 1.2.1
python3-grpcio: update to version 1.60.0
python3-grpcio-tools: update to version 1.60.0
python3-cmake: update to version 3.28.1
python3-flask-sqlalchemy: fix upstream uri check
python3-wtforms: fix upstream uri and version check
gyp: update to the latest commit
python3-ipython-genutils: fix upstream uri and version check
python3-flask: fix upstream uri and version check
python3-wpa-supplicant: fix upstream uri and version check
python3-uswid: update to version 0.4.7
python3-flask-wtf: fix upstream uri and version check
python3-gspread: update to version 5.12.3
python3-pytest-html: update to version 4.1.1
python3-setuptools-scm-git-archive: remove obsolete package
python3-pyroute2: update to version 0.7.10
python3-constantly: update to version 23.10.4
python3-mypy: update to version 1.8.0
python3-flask-jwt-extended: update to version 4.6.0
python3-greenlet: update to version 3.0.3
python3-web3: update to version 6.13.0
python3-parse: update to version 1.20.0
python3-kmod: add comment about update to version 0.9.2
python3-engineio: update to version 4.8.1
python3-sqlalchemy: update to version 2.0.24
python3-pdm-backend: update to version 2.1.8
python3-cantools: update to version 39.4.1
python3-argh: update to version 0.30.5
python3-dominate: update to version 2.9.1
Dmitry Baryshkov (2):
android-tools: remove two Debianisms
networkmanager: drop libnewt dependency
Frederic Martinsons (3):
crash: factorize recipe with inc file to prepare cross-canadian version
crash: add cross canadian version
crash: update to 8.0.4
Jan Vermaete (1):
netdata: added Python as rdepends
Jean-Marc BOUCHE (1):
terminus-font: build compressed archives with -n
Jose Quaresma (1):
ostree: Upgrade 2023.7 -> 2023.8
Joshua Watt (1):
redis: Create state directory in systemd service
Jörg Sommer (1):
i2cdev: New recipe with i2c tools
Kai Kang (1):
lvm2: 2.03.16 -> 2.03.22
Khem Raj (3):
Revert "nodejs: backport (partially) python 3.12 support"
Revert "libcamera: skip until upstream resolves python 3.12 compatibility"
libcamera: Fix build with python 3.12
Leon Anavi (11):
sip: Upgrade 6.7.12 -> 6.8.0
python3-expandvars: add recipe
python3-frozenlist: upgrade 1.4.0 -> 1.4.1
python3-yarl: upgrade 1.9.2 -> 1.9.4
python3-coverage: upgrade 7.3.2 -> 7.3.3
python3-cycler: upgrade 0.11.0 -> 0.12.1
python3-aiohue: upgrade 4.6.2 -> 4.7.0
python3-sdbus: upgrade 0.11.0 -> 0.11.1
python3-zeroconf: upgrade 0.128.4 -> 0.130.0
python3-dominate: upgrade 2.8.0 -> 2.9.0
python3-rlp: upgrade 3.0.0 -> 4.0.0
Marek Vasut (1):
faad2: Upgrade 2.10.0 -> 2.11.1
Markus Volk (3):
wireplumber: update 0.4.15 -> 0.4.17
tracker: dont inherit gsettings
gnome-software: update 45.1 -> 45.2
Martin Jansa (4):
monocypher: pass LIBDIR to fix installed-vs-shipped QA issue with multilib
rygel: fix build with gtk+3 PACKAGECONFIG disabled
rygel: add x11 to DISTRO_FEATURES
driverctl: fix installed-vs-shipped
Meenali Gupta (1):
nginx: upgrade 1.25.2 -> 1.25.3
Mingli Yu (2):
mariadb: Upgrade to 10.11.6
tk: Remove buildpath issue
Nathan BRIENT (1):
cyaml: new recipe
Niko Mauno (1):
pkcs11-provider: Add recipe
Ny Antra Ranaivoarison (1):
python3-click-spinner: backport patch that fixes deprecated methods
Patrick Wicki (1):
poco: upgrade 1.12.4 -> 1.12.5p2
Petr Chernikov (1):
abseil-cpp: remove -Dcmake_cxx_standard=14 flag from extra_oecmake
Robert Yang (1):
minifi-cpp: Fix do_configure error builder aarch64
Ross Burton (13):
Remove unused SRC_DISTRIBUTE_LICENSES
gspell: inherit gtk-doc
gspell: update DEPENDS, switch iso-codes for icu
librest: remove spurious build dependencies
librest: inherit gtk-doc
keybinder: use autotools-brokensep instead of setting B
keybinder: disable gtk-doc documentation
gtksourceview3: remove obsolete DEPENDS
libgsf: remove obsolete DEPENDS
evolution-data-server: remove obsolete intltool DEPENDS
php: remove lemon-native build dependency
lemon: upgrade to 3.44.2
renderdoc: no need to depend on vim-native
Samuli Piippo (1):
jasper: enable opengl only wih x11
Theodore A. Roth (1):
python3-flask-sqlalchemy: upgrade 2.5.1 -> 3.1.1
Thomas Perrot (2):
networkmanager: add missing modemmanager rdepends
networkmanager: fix some missing pkgconfig
Tim Orling (8):
python3-pydantic-core: add v2.14.5
python3-annotated-types: add v0.6.0
python3-pydantic: fix RDEPENDS
python3-dirty-equals: add v0.7.1
python3-pydantic-core: enable ptest
python3-cloudpickle: add v3.0.0
python3-pydantic: enable ptest
python3-yappi: upgrade 1.4.0 -> 1.6.0; fix ptests
Wang Mingyu (61):
python3-alembic: upgrade 1.12.1 -> 1.13.0
python3-ansi2html: upgrade 1.8.0 -> 1.9.1
python3-argcomplete: upgrade 3.1.6 -> 3.2.1
python3-dbus-fast: upgrade 2.15.0 -> 2.21.0
python3-django: upgrade 4.2.7 -> 5.0
python3-flask-restx: upgrade 1.2.0 -> 1.3.0
python3-google-api-core: upgrade 2.14.0 -> 2.15.0
python3-google-api-python-client: upgrade 2.108.0 -> 2.111.0
python3-googleapis-common-protos: upgrade 1.61.0 -> 1.62.0
python3-google-auth: upgrade 2.23.4 -> 2.25.2
python3-imageio: upgrade 2.33.0 -> 2.33.1
python3-isort: upgrade 5.12.0 -> 5.13.1
python3-path: upgrade 16.7.1 -> 16.9.0
python3-platformdirs: upgrade 4.0.0 -> 4.1.0
python3-pytest-asyncio: upgrade 0.22.0 -> 0.23.2
python3-sentry-sdk: upgrade 1.37.1 -> 1.39.0
python3-bitarray: upgrade 2.8.3 -> 2.8.5
python3-eth-keyfile: upgrade 0.6.1 -> 0.7.0
python3-eth-rlp: upgrade 0.3.0 -> 1.0.0
python3-fastnumbers: upgrade 5.0.1 -> 5.1.0
python3-pylint: upgrade 3.0.2 -> 3.0.3
python3-tornado: upgrade 6.3.3 -> 6.4
python3-traitlets: upgrade 5.13.0 -> 5.14.0
python3-types-setuptools: upgrade 68.2.0.2 -> 69.0.0.0
python3-virtualenv: upgrade 20.24.7 -> 20.25.0
python3-web3: upgrade 6.11.3 -> 6.12.0
python3-websocket-client: upgrade 1.6.4 -> 1.7.0
python3-zeroconf: upgrade 0.127.0 -> 0.128.4
ctags: upgrade 6.0.20231126.0 -> 6.0.20231210.0
gensio: upgrade 2.8.0 -> 2.8.2
hwdata: upgrade 0.376 -> 0.377
lvgl: upgrade 8.3.10 -> 8.3.11
gjs: upgrade 1.78.0 -> 1.78.1
ifenslave: upgrade 2.13 -> 2.14
libei: upgrade 1.1.0 -> 1.2.0
pkcs11-helper: upgrade 1.29.0 -> 1.30.0
strongswan: upgrade 5.9.12 -> 5.9.13
webkitgtk3: upgrade 2.42.2 -> 2.42.3
sip: upgrade 6.8.0 -> 6.8.1
paho-mqtt-cpp: upgrade 1.3.1 -> 1.3.2
dbus-cxx: upgrade 2.4.0 -> 2.5.0
exiftool: upgrade 12.70 -> 12.71
uftp: upgrade 5.0.2 -> 5.0.3
ctags: upgrade 6.0.20231210.0 -> 6.0.20231224.0
jasper: Fix install conflict when enable multilib.
jq: upgrade 1.7 -> 1.7.1
libmbim: upgrade 1.31.1 -> 1.31.2
libqmi: upgrade 1.34.0 -> 1.35.1
opencl-headers: upgrade 2023.04.17 -> 2023.12.14
valijson: upgrade 1.0.1 -> 1.0.2
python3-apispec: upgrade 6.3.0 -> 6.3.1
python3-asyncinotify: upgrade 4.0.4 -> 4.0.5
python3-bitarray: upgrade 2.9.0 -> 2.9.1
python3-cassandra-driver: upgrade 3.28.0 -> 3.29.0
python3-ipython: upgrade 8.18.1 -> 8.19.0
python3-pydantic: upgrade 2.5.2 -> 2.5.3
python3-regex: upgrade 2023.10.3 -> 2023.12.25
opencl-icd-loader: upgrade 2023.04.17 -> 2023.12.14
python3-distro: upgrade 1.8.0 -> 1.9.0
zchunk: upgrade 1.3.2 -> 1.4.0
python3-eventlet: upgrade 0.34.1 -> 0.34.2
William Lyu (1):
networkmanager: Improved SUMMARY and added DESCRIPTION
Xiangyu Chen (1):
layer.conf: add libbpf to NON_MULTILIB_RECIPES
Yi Zhao (2):
open-vm-tools: upgrade 12.1.5 -> 12.3.5
samba: upgrade 4.18.8 -> 4.18.9
Zoltán Böszörményi (2):
mutter: Make gnome-desktop and libcanberra dependencies optional
zenity: Upgrade to 4.0.0
alperak (29):
jasper: upgrade 2.0.33 -> 4.1.1
xcursorgen: upgrade 1.0.7 -> 1.0.8
xstdcmap: upgrade 1.0.4 -> 1.0.5
xlsclients: upgrade 1.1.4 -> 1.1.5
xlsatoms: upgrade 1.1.3 -> 1.1.4
xkbevd: upgrade 1.1.4 -> 1.1.5
xgamma: upgrade 1.0.6 -> 1.0.7
sessreg: upgrade 1.1.2 -> 1.1.3
xbitmaps: upgrade 1.1.2 -> 1.1.3
xcursor-themes: add recipe
xorg-docs: add recipe
xorg-sgml-doctools: update summary depends and inc file
xf86-video-ati: upgrade 19.1.0 -> 22.0.0
xf86-input-void: upgrade 1.4.1 -> 1.4.2
libxaw: upgrade 1.0.14 -> 1.0.15
xf86-video-mga: upgrade 2.0.0 -> 2.0.1
snappy: upgrade 1.1.9 -> 1.1.10
xsetroot: upgrade 1.1.2 -> 1.1.3
libbytesize: Removed unnecessary setting of B
libmxml: use autotools-brokensep instead of setting B
libsombok3: use autotools-brokensep instead of setting B
pgpool2: use autotools-brokensep instead of setting B
qpdf: upgrade 11.6.3 -> 11.6.4
cpprest: upgrade 2.10.18 -> 2.10.19
avro-c: upgrade 1.11.2 -> 1.11.3
dool: upgrade 1.1.0 -> 1.3.1
driverctl: upgrade 0.111 -> 0.115
hstr: upgrade 2.5.0 -> 3.1.0
libharu: upgrade 2.3.0 -> 2.4.4
meta-security: 070a1e82cc..b2e1511338:
Armin Kuster (6):
libgssglue: update to 0.8
python3-privacyidea: Update to 3.9.1
lynis: Update SRC_URI to improve updater
layers: Move READMEs to markdown format
arpwatch: adjust CONFIGURE params to allow to build again.
python3-pyinotify: fail2ban needs this module
Dawid Dabrowski (1):
libhoth recipe update
Erik Schilling (2):
dm-verity-img.bbclass: use bc-native
dm-verity-img.bbclass: remove IMAGE_NAME_SUFFIX
Mikko Rapeli (2):
tpm2-tss: support native builds
dm-verity-img.bbclass: add DM_VERITY_DEPLOY_DIR
Change-Id: I94d7f1ee5ff2da4555c05fbf63a1293ec8f249c2
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Diffstat (limited to 'meta-openembedded')
357 files changed, 7785 insertions, 7352 deletions
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/zfs/zfs_2.2.0.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/zfs/zfs_2.2.2.bb index db6f725b6a..d3ea6797e7 100644 --- a/meta-openembedded/meta-filesystems/recipes-filesystems/zfs/zfs_2.2.0.bb +++ b/meta-openembedded/meta-filesystems/recipes-filesystems/zfs/zfs_2.2.2.bb @@ -4,7 +4,7 @@ LICENSE = "CDDL-1.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=7087caaf1dc8a2856585619f4a787faa" HOMEPAGE ="https://github.com/openzfs/zfs" -SRCREV = "229ca7d738ccbf4c55076977467ee93e20b6f01b" +SRCREV = "494aaaed89cb9fe9f2da3b6c6f465a4bc9f6a7e1" SRC_URI = "git://github.com/openzfs/zfs;protocol=https;branch=zfs-2.2-release \ file://0001-Define-strndupa-if-it-does-not-exist.patch \ file://aaf28a4630af60496c9d33db1d06a7d7d8983422.patch \ @@ -16,7 +16,7 @@ S = "${WORKDIR}/git" # Using both 'module' and 'autotools' classes seems a bit odd, they both # define a do_compile function. # That's why we opt for module-base, also this prevents module splitting. -inherit module-base pkgconfig autotools +inherit module-base pkgconfig autotools bash-completion DEPENDS = "virtual/kernel zlib util-linux libtirpc openssl curl" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb index edbe30ff87..11a52b455e 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb @@ -1,7 +1,7 @@ require ${BPN}.inc DEPENDS = " \ - ${BPN}-native intltool-native gperf-native \ + ${BPN}-native gperf-native \ glib-2.0 gtk+3 gtk4 libxml2 icu \ dbus db virtual/libiconv zlib libsoup-3.0 libical nss libsecret \ " diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.78.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.78.1.bb index 67efdabd7d..34eef14031 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.78.0.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.78.1.bb @@ -7,7 +7,7 @@ DEPENDS = "mozjs-115 cairo" inherit gnomebase gsettings gobject-introspection gettext features_check upstream-version-is-even pkgconfig -SRC_URI[archive.sha256sum] = "fbaa20e0917668830800f92951688f9fc08f01296affd5cdb4b35f750be27dc9" +SRC_URI[archive.sha256sum] = "7e90511c429127c39eac0068c4ac9a353df7e6fbbc646f5f18e8962882c18641" SRC_URI += " \ file://0001-Support-cross-builds-a-bit-better.patch \ file://0002-meson.build-Do-not-add-dir-installed-tests-when-inst.patch \ diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software/0655f358ed0e8455e12d9634f60bc4dbaee434e3.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software/0655f358ed0e8455e12d9634f60bc4dbaee434e3.patch new file mode 100644 index 0000000000..5e051be15a --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software/0655f358ed0e8455e12d9634f60bc4dbaee434e3.patch @@ -0,0 +1,504 @@ +From 0655f358ed0e8455e12d9634f60bc4dbaee434e3 Mon Sep 17 00:00:00 2001 +From: Matthias Klumpp <matthias@tenstral.net> +Date: Sun, 8 Oct 2023 20:22:44 +0200 +Subject: [PATCH] Adjust to build with AppStream 1.0 as well as 0.16.x + +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gnome-software/-/commit/0655f358ed0e8455e12d9634f60bc4dbaee434e3] +--- + lib/gs-app.c | 4 ++ + lib/gs-appstream.c | 61 +++++++++++++++++++----- + lib/gs-utils.c | 8 ++-- + meson.build | 22 +-------- + plugins/core/gs-plugin-appstream.c | 8 ---- + plugins/fwupd/gs-fwupd-app.c | 8 ++++ + plugins/fwupd/gs-plugin-fwupd.c | 4 ++ + src/gs-hardware-support-context-dialog.c | 6 +++ + src/gs-repos-dialog.c | 4 ++ + src/gs-screenshot-carousel.c | 4 +- + src/gs-screenshot-image.c | 41 ++++++++++++---- + src/gs-screenshot-image.h | 7 +++ + subprojects/appstream.wrap | 2 +- + 13 files changed, 122 insertions(+), 57 deletions(-) + +diff --git a/lib/gs-app.c b/lib/gs-app.c +index 2308de504d..ea348f8c01 100644 +--- a/lib/gs-app.c ++++ b/lib/gs-app.c +@@ -609,7 +609,11 @@ gs_app_to_string_append (GsApp *app, GString *str) + AsScreenshot *ss = g_ptr_array_index (priv->screenshots, i); + g_autofree gchar *key = NULL; + tmp = as_screenshot_get_caption (ss); ++#if AS_CHECK_VERSION(1, 0, 0) ++ im = as_screenshot_get_image (ss, 0, 0, 1); ++#else + im = as_screenshot_get_image (ss, 0, 0); ++#endif + if (im == NULL) + continue; + key = g_strdup_printf ("screenshot-%02u", i); +diff --git a/lib/gs-appstream.c b/lib/gs-appstream.c +index deca176dcf..6504d6f25e 100644 +--- a/lib/gs-appstream.c ++++ b/lib/gs-appstream.c +@@ -1011,8 +1011,11 @@ gs_appstream_refine_app_relation (GsApp *app, + as_relation_set_item_kind (relation, AS_RELATION_ITEM_KIND_CONTROL); + as_relation_set_value_control_kind (relation, as_control_kind_from_string (xb_node_get_text (child))); + } else if (g_str_equal (item_kind, "display_length")) { +- AsDisplayLengthKind display_length_kind; + const gchar *compare; ++ const gchar *side; ++#if !AS_CHECK_VERSION(1, 0, 0) ++ AsDisplayLengthKind display_length_kind; ++#endif + + /* https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-relations-display_length */ + as_relation_set_item_kind (relation, AS_RELATION_ITEM_KIND_DISPLAY_LENGTH); +@@ -1020,15 +1023,21 @@ gs_appstream_refine_app_relation (GsApp *app, + compare = xb_node_get_attr (child, "compare"); + as_relation_set_compare (relation, (compare != NULL) ? as_relation_compare_from_string (compare) : AS_RELATION_COMPARE_GE); + ++#if AS_CHECK_VERSION(1, 0, 0) ++ side = xb_node_get_attr (child, "side"); ++ as_relation_set_display_side_kind (relation, (side != NULL) ? as_display_side_kind_from_string (side) : AS_DISPLAY_SIDE_KIND_SHORTEST); ++ as_relation_set_value_px (relation, xb_node_get_text_as_uint (child)); ++#else + display_length_kind = as_display_length_kind_from_string (xb_node_get_text (child)); + if (display_length_kind != AS_DISPLAY_LENGTH_KIND_UNKNOWN) { + /* Ignore the `side` attribute */ + as_relation_set_value_display_length_kind (relation, display_length_kind); + } else { +- const gchar *side = xb_node_get_attr (child, "side"); ++ side = xb_node_get_attr (child, "side"); + as_relation_set_display_side_kind (relation, (side != NULL) ? as_display_side_kind_from_string (side) : AS_DISPLAY_SIDE_KIND_SHORTEST); + as_relation_set_value_px (relation, xb_node_get_text_as_uint (child)); + } ++#endif + } else { + g_debug ("Relation type ‘%s’ not currently supported for %s; ignoring", + item_kind, gs_app_get_id (app)); +@@ -1472,7 +1481,7 @@ gs_appstream_refine_app (GsPlugin *plugin, + } + + typedef struct { +- AsSearchTokenMatch match_value; ++ guint16 match_value; + XbQuery *query; + } GsAppstreamSearchHelper; + +@@ -1522,7 +1531,7 @@ gs_appstream_silo_search_component (GPtrArray *array, XbNode *component, const g + } + + typedef struct { +- AsSearchTokenMatch match_value; ++ guint16 match_value; + const gchar *xpath; + } Query; + +@@ -1539,6 +1548,11 @@ gs_appstream_do_search (GsPlugin *plugin, + g_autoptr(GPtrArray) array = g_ptr_array_new_with_free_func ((GDestroyNotify) gs_appstream_search_helper_free); + g_autoptr(GPtrArray) components = NULL; + g_autoptr(GTimer) timer = g_timer_new (); ++#if AS_CHECK_VERSION(1, 0, 0) ++ const guint16 component_id_weight = as_utils_get_tag_search_weight ("id"); ++#else ++ const guint16 component_id_weight = AS_SEARCH_TOKEN_MATCH_ID; ++#endif + + g_return_val_if_fail (GS_IS_PLUGIN (plugin), FALSE); + g_return_val_if_fail (XB_IS_SILO (silo), FALSE); +@@ -1585,7 +1599,7 @@ gs_appstream_do_search (GsPlugin *plugin, + * Drop the ID token from it as it’s the highest + * numeric value but isn’t visible to the user in the + * UI, which leads to confusing results ordering. */ +- gs_app_set_match_value (app, match_value & (~AS_SEARCH_TOKEN_MATCH_ID)); ++ gs_app_set_match_value (app, match_value & (~component_id_weight)); + gs_app_list_add (list, app); + + if (gs_app_get_kind (app) == AS_COMPONENT_KIND_ADDON) { +@@ -1624,18 +1638,32 @@ gs_appstream_search (GsPlugin *plugin, + GCancellable *cancellable, + GError **error) + { ++#if AS_CHECK_VERSION(1, 0, 0) ++ guint16 pkgname_weight = as_utils_get_tag_search_weight ("pkgname"); ++ guint16 name_weight = as_utils_get_tag_search_weight ("name"); ++ guint16 id_weight = as_utils_get_tag_search_weight ("id"); + const Query queries[] = { +- #ifdef HAVE_AS_SEARCH_TOKEN_MATCH_MEDIATYPE +- { AS_SEARCH_TOKEN_MATCH_MEDIATYPE, "mimetypes/mimetype[text()~=stem(?)]" }, +- #else +- { AS_SEARCH_TOKEN_MATCH_MIMETYPE, "mimetypes/mimetype[text()~=stem(?)]" }, +- #endif ++ { as_utils_get_tag_search_weight ("mediatype"), "provides/mediatype[text()~=stem(?)]" }, + /* Search once with a tokenize-and-casefold operator (`~=`) to support casefolded + * full-text search, then again using substring matching (`contains()`), to + * support prefix matching. Only do the prefix matches on a few fields, and at a + * lower priority, otherwise things will get confusing. +- * ++ * + * See https://gitlab.gnome.org/GNOME/gnome-software/-/issues/2277 */ ++ { pkgname_weight, "pkgname[text()~=stem(?)]" }, ++ { pkgname_weight / 2, "pkgname[contains(text(),stem(?))]" }, ++ { as_utils_get_tag_search_weight ("summary"), "summary[text()~=stem(?)]" }, ++ { name_weight, "name[text()~=stem(?)]" }, ++ { name_weight / 2, "name[contains(text(),stem(?))]" }, ++ { as_utils_get_tag_search_weight ("keyword"), "keywords/keyword[text()~=stem(?)]" }, ++ { id_weight, "id[text()~=stem(?)]" }, ++ { id_weight, "launchable[text()~=stem(?)]" }, ++ { as_utils_get_tag_search_weight ("origin"), "../components[@origin~=stem(?)]" }, ++ { 0, NULL } ++ }; ++#else ++ const Query queries[] = { ++ { AS_SEARCH_TOKEN_MATCH_MEDIATYPE, "mimetypes/mimetype[text()~=stem(?)]" }, + { AS_SEARCH_TOKEN_MATCH_PKGNAME, "pkgname[text()~=stem(?)]" }, + { AS_SEARCH_TOKEN_MATCH_PKGNAME / 2, "pkgname[contains(text(),stem(?))]" }, + { AS_SEARCH_TOKEN_MATCH_SUMMARY, "summary[text()~=stem(?)]" }, +@@ -1647,6 +1675,7 @@ gs_appstream_search (GsPlugin *plugin, + { AS_SEARCH_TOKEN_MATCH_ORIGIN, "../components[@origin~=stem(?)]" }, + { AS_SEARCH_TOKEN_MATCH_NONE, NULL } + }; ++#endif + + return gs_appstream_do_search (plugin, silo, values, queries, list, cancellable, error); + } +@@ -1659,11 +1688,21 @@ gs_appstream_search_developer_apps (GsPlugin *plugin, + GCancellable *cancellable, + GError **error) + { ++#if AS_CHECK_VERSION(1, 0, 0) ++ const Query queries[] = { ++ { as_utils_get_tag_search_weight ("pkgname"), "developer/name[text()~=stem(?)]" }, ++ { as_utils_get_tag_search_weight ("summary"), "project_group[text()~=stem(?)]" }, ++ /* for legacy support */ ++ { as_utils_get_tag_search_weight ("pkgname"), "developer_name[text()~=stem(?)]" }, ++ { 0, NULL } ++ }; ++#else + const Query queries[] = { + { AS_SEARCH_TOKEN_MATCH_PKGNAME, "developer_name[text()~=stem(?)]" }, + { AS_SEARCH_TOKEN_MATCH_SUMMARY, "project_group[text()~=stem(?)]" }, + { AS_SEARCH_TOKEN_MATCH_NONE, NULL } + }; ++#endif + + return gs_appstream_do_search (plugin, silo, values, queries, list, cancellable, error); + } +diff --git a/lib/gs-utils.c b/lib/gs-utils.c +index cf9073025f..19e6ebd046 100644 +--- a/lib/gs-utils.c ++++ b/lib/gs-utils.c +@@ -1694,9 +1694,9 @@ gs_utils_gstring_replace (GString *str, + const gchar *find, + const gchar *replace) + { +- #ifdef HAVE_AS_GSTRING_REPLACE_WITH_FOUR_ARGS ++#if AS_CHECK_VERSION(1, 0, 0) + as_gstring_replace (str, find, replace, 0); +- #else +- as_gstring_replace (str, find, replace); +- #endif ++#else ++ as_gstring_replace2 (str, find, replace, 0); ++#endif + } +diff --git a/meson.build b/meson.build +index bc19669dd5..8c82464cdb 100644 +--- a/meson.build ++++ b/meson.build +@@ -113,7 +113,7 @@ add_project_arguments('-D_GNU_SOURCE', language : 'c') + conf.set('HAVE_LINUX_UNISTD_H', cc.has_header('linux/unistd.h')) + + appstream = dependency('appstream', +- version : '>= 0.14.0', ++ version : '>= 0.16.4', + fallback : ['appstream', 'appstream_dep'], + default_options : [ + 'docs=false', +@@ -121,26 +121,6 @@ appstream = dependency('appstream', + 'install-docs=false' + ] + ) +-if appstream.type_name() == 'internal' +-else +- if meson.get_compiler('c').has_header_symbol('appstream.h', 'AS_SEARCH_TOKEN_MATCH_MEDIATYPE', dependencies: appstream) +- conf.set('HAVE_AS_SEARCH_TOKEN_MATCH_MEDIATYPE', '1') +- endif +- if meson.get_compiler('c').has_header_symbol('appstream.h', 'AS_FORMAT_STYLE_CATALOG', dependencies: appstream) +- conf.set('HAVE_AS_FORMAT_STYLE_CATALOG', '1') +- endif +- if meson.get_compiler('c').has_function('as_metadata_components_to_catalog', prefix: '#include <appstream.h>', dependencies: appstream) +- conf.set('HAVE_AS_METADATA_COMPONENTS_TO_CATALOG', '1') +- endif +- if meson.get_compiler('c').links('''#include <appstream.h> +- int main (void) +- { +- as_gstring_replace (NULL, "a", "b", 0); +- return 0; +- }''', name: 'as_gstring_replace() has four arguments', dependencies: appstream) +- conf.set('HAVE_AS_GSTRING_REPLACE_WITH_FOUR_ARGS', '1') +- endif +-endif + + gdk_pixbuf = dependency('gdk-pixbuf-2.0', version : '>= 2.32.0') + libxmlb = dependency('xmlb', version : '>= 0.1.7', fallback : ['libxmlb', 'libxmlb_dep']) +diff --git a/plugins/core/gs-plugin-appstream.c b/plugins/core/gs-plugin-appstream.c +index cf9f3022b1..ef3226a591 100644 +--- a/plugins/core/gs-plugin-appstream.c ++++ b/plugins/core/gs-plugin-appstream.c +@@ -414,11 +414,7 @@ gs_plugin_appstream_load_dep11_cb (XbBuilderSource *self, + if (bytes == NULL) + return NULL; + +- #ifdef HAVE_AS_FORMAT_STYLE_CATALOG + as_metadata_set_format_style (mdata, AS_FORMAT_STYLE_CATALOG); +- #else +- as_metadata_set_format_style (mdata, AS_FORMAT_STYLE_COLLECTION); +- #endif + as_metadata_parse_bytes (mdata, + bytes, + AS_FORMAT_KIND_YAML, +@@ -428,11 +424,7 @@ gs_plugin_appstream_load_dep11_cb (XbBuilderSource *self, + return NULL; + } + +- #ifdef HAVE_AS_METADATA_COMPONENTS_TO_CATALOG + xml = as_metadata_components_to_catalog (mdata, AS_FORMAT_KIND_XML, &tmp_error); +- #else +- xml = as_metadata_components_to_collection (mdata, AS_FORMAT_KIND_XML, &tmp_error); +- #endif + if (xml == NULL) { + // This API currently returns NULL if there is nothing to serialize, so we + // have to test if this is an error or not. +diff --git a/plugins/fwupd/gs-fwupd-app.c b/plugins/fwupd/gs-fwupd-app.c +index 6dcda6ee92..5d3254da59 100644 +--- a/plugins/fwupd/gs-fwupd-app.c ++++ b/plugins/fwupd/gs-fwupd-app.c +@@ -164,7 +164,11 @@ gs_fwupd_app_set_from_device (GsApp *app, + gs_app_set_install_date (app, fwupd_device_get_created (dev)); + if (fwupd_device_get_description (dev) != NULL) { + g_autofree gchar *tmp = NULL; ++#if AS_CHECK_VERSION(1, 0, 0) ++ tmp = as_markup_convert (fwupd_device_get_description (dev), AS_MARKUP_KIND_TEXT, NULL); ++#else + tmp = as_markup_convert_simple (fwupd_device_get_description (dev), NULL); ++#endif + if (tmp != NULL) + gs_app_set_description (app, GS_APP_QUALITY_NORMAL, tmp); + } +@@ -402,7 +406,11 @@ gs_fwupd_app_set_from_release (GsApp *app, FwupdRelease *rel) + } + if (fwupd_release_get_description (rel) != NULL) { + g_autofree gchar *tmp = NULL; ++#if AS_CHECK_VERSION(1, 0, 0) ++ tmp = as_markup_convert (fwupd_release_get_description (rel), AS_MARKUP_KIND_TEXT, NULL); ++#else + tmp = as_markup_convert_simple (fwupd_release_get_description (rel), NULL); ++#endif + if (tmp != NULL) + gs_app_set_update_details_text (app, tmp); + } +diff --git a/plugins/fwupd/gs-plugin-fwupd.c b/plugins/fwupd/gs-plugin-fwupd.c +index d8c0cd2dd4..a9b05028a0 100644 +--- a/plugins/fwupd/gs-plugin-fwupd.c ++++ b/plugins/fwupd/gs-plugin-fwupd.c +@@ -727,7 +727,11 @@ gs_plugin_add_updates (GsPlugin *plugin, + g_autofree gchar *desc = NULL; + if (fwupd_release_get_description (rel) == NULL) + continue; ++#if AS_CHECK_VERSION(1, 0, 0) ++ desc = as_markup_convert (fwupd_release_get_description (rel), AS_MARKUP_KIND_TEXT, NULL); ++#else + desc = as_markup_convert_simple (fwupd_release_get_description (rel), NULL); ++#endif + if (desc == NULL) + continue; + g_string_append_printf (update_desc, +diff --git a/src/gs-hardware-support-context-dialog.c b/src/gs-hardware-support-context-dialog.c +index 0e48c8c266..14653401de 100644 +--- a/src/gs-hardware-support-context-dialog.c ++++ b/src/gs-hardware-support-context-dialog.c +@@ -461,6 +461,7 @@ gs_hardware_support_context_dialog_get_display_support (GdkMonitor *monitor, + AsRelationCompare comparator = as_relation_get_compare (relation); + Range current_display_comparand, relation_comparand; + ++#if !AS_CHECK_VERSION(1, 0, 0) + /* From https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-requires-recommends-display_length */ + Range display_lengths[] = { + [AS_DISPLAY_LENGTH_KIND_XSMALL] = { 0, 360 }, +@@ -469,6 +470,7 @@ gs_hardware_support_context_dialog_get_display_support (GdkMonitor *monitor, + [AS_DISPLAY_LENGTH_KIND_LARGE] = { 1024, 3840 }, + [AS_DISPLAY_LENGTH_KIND_XLARGE] = { 3840, G_MAXUINT }, + }; ++#endif + + any_display_relations_set = TRUE; + +@@ -485,11 +487,14 @@ gs_hardware_support_context_dialog_get_display_support (GdkMonitor *monitor, + case AS_DISPLAY_SIDE_KIND_LAST: + default: + current_display_comparand.min = current_display_comparand.max = MAX (current_screen_size.width, current_screen_size.height); ++#if !AS_CHECK_VERSION(1, 0, 0) + relation_comparand.min = display_lengths[as_relation_get_value_display_length_kind (relation)].min; + relation_comparand.max = display_lengths[as_relation_get_value_display_length_kind (relation)].max; ++#endif + break; + } + ++#if !AS_CHECK_VERSION(1, 0, 0) + if (evaluate_display_comparison (display_lengths[AS_DISPLAY_LENGTH_KIND_SMALL], comparator, relation_comparand)) { + *mobile_relation_kind_out = max_relation_kind (*mobile_relation_kind_out, as_relation_get_kind (relation)); + *mobile_match_out = TRUE; +@@ -499,6 +504,7 @@ gs_hardware_support_context_dialog_get_display_support (GdkMonitor *monitor, + *desktop_relation_kind_out = max_relation_kind (*desktop_relation_kind_out, as_relation_get_kind (relation)); + *desktop_match_out = TRUE; + } ++#endif + + if (evaluate_display_comparison (current_display_comparand, comparator, relation_comparand)) { + *current_relation_kind_out = max_relation_kind (*current_relation_kind_out, as_relation_get_kind (relation)); +diff --git a/src/gs-repos-dialog.c b/src/gs-repos-dialog.c +index c41c4944a1..7dac0416d9 100644 +--- a/src/gs-repos-dialog.c ++++ b/src/gs-repos-dialog.c +@@ -154,7 +154,11 @@ enable_repo (GsReposDialog *dialog, + g_autoptr(GError) error = NULL; + + /* convert from AppStream markup */ ++#if AS_CHECK_VERSION(1, 0, 0) ++ message = as_markup_convert (gs_app_get_agreement (repo), AS_MARKUP_KIND_TEXT, &error); ++#else + message = as_markup_convert_simple (gs_app_get_agreement (repo), &error); ++#endif + if (message == NULL) { + /* failed, so just try and show the original markup */ + message = g_strdup (gs_app_get_agreement (repo)); +diff --git a/src/gs-screenshot-carousel.c b/src/gs-screenshot-carousel.c +index 04bbf86a1e..d269af6605 100644 +--- a/src/gs-screenshot-carousel.c ++++ b/src/gs-screenshot-carousel.c +@@ -141,8 +141,8 @@ gs_screenshot_carousel_load_screenshots (GsScreenshotCarousel *self, GsApp *app, + gtk_widget_set_can_focus (gtk_widget_get_first_child (ssimg), FALSE); + gs_screenshot_image_set_screenshot (GS_SCREENSHOT_IMAGE (ssimg), ss); + gs_screenshot_image_set_size (GS_SCREENSHOT_IMAGE (ssimg), +- AS_IMAGE_NORMAL_WIDTH, +- AS_IMAGE_NORMAL_HEIGHT); ++ GS_IMAGE_NORMAL_WIDTH, ++ GS_IMAGE_NORMAL_HEIGHT); + gtk_widget_add_css_class (ssimg, "screenshot-image-main"); + gs_screenshot_image_load_async (GS_SCREENSHOT_IMAGE (ssimg), cancellable); + +diff --git a/src/gs-screenshot-image.c b/src/gs-screenshot-image.c +index 93dba68f96..6b4db03d06 100644 +--- a/src/gs-screenshot-image.c ++++ b/src/gs-screenshot-image.c +@@ -293,13 +293,13 @@ gs_screenshot_image_save_downloaded_img (GsScreenshotImage *ssimg, + if (images->len > 1) + return TRUE; + +- if (width == AS_IMAGE_THUMBNAIL_WIDTH && +- height == AS_IMAGE_THUMBNAIL_HEIGHT) { +- width = AS_IMAGE_NORMAL_WIDTH; +- height = AS_IMAGE_NORMAL_HEIGHT; ++ if (width == GS_IMAGE_THUMBNAIL_WIDTH && ++ height == GS_IMAGE_THUMBNAIL_HEIGHT) { ++ width = GS_IMAGE_NORMAL_WIDTH; ++ height = GS_IMAGE_NORMAL_HEIGHT; + } else { +- width = AS_IMAGE_THUMBNAIL_WIDTH; +- height = AS_IMAGE_THUMBNAIL_HEIGHT; ++ width = GS_IMAGE_THUMBNAIL_WIDTH; ++ height = GS_IMAGE_THUMBNAIL_HEIGHT; + } + + width *= ssimg->scale; +@@ -591,16 +591,30 @@ gs_screenshot_image_get_url (GsScreenshotImage *ssimg) + } else if (as_screenshot_get_media_kind (ssimg->screenshot) == AS_SCREENSHOT_MEDIA_KIND_IMAGE) { + AsImage *im; + ++#if AS_CHECK_VERSION(1, 0, 0) ++ im = as_screenshot_get_image (ssimg->screenshot, ++ ssimg->width, ++ ssimg->height, ++ ssimg->scale); ++#else + im = as_screenshot_get_image (ssimg->screenshot, + ssimg->width * ssimg->scale, + ssimg->height * ssimg->scale); ++#endif + + /* if we've failed to load a HiDPI image, fallback to LoDPI */ + if (im == NULL && ssimg->scale > 1) { + ssimg->scale = 1; ++#if AS_CHECK_VERSION(1, 0, 0) ++ im = as_screenshot_get_image (ssimg->screenshot, ++ ssimg->width, ++ ssimg->height, ++ 1); ++#else + im = as_screenshot_get_image (ssimg->screenshot, + ssimg->width, + ssimg->height); ++#endif + } + + if (im) +@@ -707,15 +721,22 @@ gs_screenshot_image_load_async (GsScreenshotImage *ssimg, + * smaller version of it straight away */ + if (!ssimg->showing_image && + as_screenshot_get_media_kind (ssimg->screenshot) == AS_SCREENSHOT_MEDIA_KIND_IMAGE && +- ssimg->width > AS_IMAGE_THUMBNAIL_WIDTH && +- ssimg->height > AS_IMAGE_THUMBNAIL_HEIGHT) { ++ ssimg->width > GS_IMAGE_THUMBNAIL_WIDTH && ++ ssimg->height > GS_IMAGE_THUMBNAIL_HEIGHT) { + const gchar *url_thumb; + g_autofree gchar *basename_thumb = NULL; + g_autofree gchar *cache_kind_thumb = NULL; + AsImage *im; ++#if AS_CHECK_VERSION(1, 0, 0) + im = as_screenshot_get_image (ssimg->screenshot, +- AS_IMAGE_THUMBNAIL_WIDTH * ssimg->scale, +- AS_IMAGE_THUMBNAIL_HEIGHT * ssimg->scale); ++ GS_IMAGE_THUMBNAIL_WIDTH, ++ GS_IMAGE_THUMBNAIL_HEIGHT, ++ ssimg->scale); ++#else ++ im = as_screenshot_get_image (ssimg->screenshot, ++ GS_IMAGE_THUMBNAIL_WIDTH * ssimg->scale, ++ GS_IMAGE_THUMBNAIL_HEIGHT * ssimg->scale); ++#endif + url_thumb = as_image_get_url (im); + basename_thumb = gs_screenshot_get_cachefn_for_url (url_thumb); + cache_kind_thumb = g_build_filename ("screenshots", "112x63", NULL); +diff --git a/src/gs-screenshot-image.h b/src/gs-screenshot-image.h +index 1f6cf81ce6..6e45f5d20a 100644 +--- a/src/gs-screenshot-image.h ++++ b/src/gs-screenshot-image.h +@@ -21,6 +21,13 @@ G_BEGIN_DECLS + + G_DECLARE_FINAL_TYPE (GsScreenshotImage, gs_screenshot_image, GS, SCREENSHOT_IMAGE, GtkWidget) + ++#define GS_IMAGE_LARGE_HEIGHT 423 ++#define GS_IMAGE_LARGE_WIDTH 752 ++#define GS_IMAGE_NORMAL_HEIGHT 351 ++#define GS_IMAGE_NORMAL_WIDTH 624 ++#define GS_IMAGE_THUMBNAIL_HEIGHT 63 ++#define GS_IMAGE_THUMBNAIL_WIDTH 112 ++ + GtkWidget *gs_screenshot_image_new (SoupSession *session); + + AsScreenshot *gs_screenshot_image_get_screenshot (GsScreenshotImage *ssimg); +diff --git a/subprojects/appstream.wrap b/subprojects/appstream.wrap +index 6f0beb0cbc..b9a9c7dbe5 100644 +--- a/subprojects/appstream.wrap ++++ b/subprojects/appstream.wrap +@@ -1,5 +1,5 @@ + [wrap-git] + directory = appstream + url = https://github.com/ximion/appstream.git +-revision = v0.14.1 ++revision = v0.16.4 + depth = 1 +-- +GitLab + diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software/e431ab003f3fabf616b6eb7dc93f8967bc9473e5.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software/e431ab003f3fabf616b6eb7dc93f8967bc9473e5.patch new file mode 100644 index 0000000000..b7bddc3243 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software/e431ab003f3fabf616b6eb7dc93f8967bc9473e5.patch @@ -0,0 +1,31 @@ +From e431ab003f3fabf616b6eb7dc93f8967bc9473e5 Mon Sep 17 00:00:00 2001 +From: Milan Crha <mcrha@redhat.com> +Date: Wed, 22 Nov 2023 09:44:40 +0100 +Subject: [PATCH] gs-appstream: Remove use of AS_PROVIDED_KIND_PYTHON_2 + +It's dropped in appstream 1.0.0 and it's not used anywhere in the gnome-software +code, thus just remove it, rather than have it only for pre-1.0.0 appstream version. + +Closes https://gitlab.gnome.org/GNOME/gnome-software/-/issues/2388 + +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gnome-software/-/commit/e431ab003f3fabf616b6eb7dc93f8967bc9473e5] +--- + lib/gs-appstream.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/lib/gs-appstream.c b/lib/gs-appstream.c +index 6504d6f25..4fd7f5334 100644 +--- a/lib/gs-appstream.c ++++ b/lib/gs-appstream.c +@@ -587,8 +587,6 @@ gs_appstream_refine_add_provides (GsApp *app, XbNode *component, GError **error) + kind = AS_PROVIDED_KIND_FIRMWARE_RUNTIME; + else if (g_strcmp0 (fw_type, "flashed") == 0) + kind = AS_PROVIDED_KIND_FIRMWARE_FLASHED; +- } else if (g_strcmp0 (element_name, "python2") == 0) { +- kind = AS_PROVIDED_KIND_PYTHON_2; + } else if (g_strcmp0 (element_name, "python3") == 0) { + kind = AS_PROVIDED_KIND_PYTHON; + } else if (g_strcmp0 (element_name, "dbus") == 0) { +-- +GitLab + diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software_45.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software_45.2.bb index f363a2bbee..fc2b696aa0 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software_45.1.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software_45.2.bb @@ -28,7 +28,11 @@ RDEPENDS:${PN} = "iso-codes" EXTRA_OEMESON += "-Dtests=false -Dsoup2=false" -SRC_URI[archive.sha256sum] = "d72485f7a6e0917f64edbedd68fd7b57246c6ebf10c5a45108b63946635778a2" +SRC_URI += " \ + file://0655f358ed0e8455e12d9634f60bc4dbaee434e3.patch \ + file://e431ab003f3fabf616b6eb7dc93f8967bc9473e5.patch \ +" +SRC_URI[archive.sha256sum] = "0bdd8fc0caecd6eb013c6010dbca93077397118a6ef5eaf264e2a820a292f5b7" PACKAGECONFIG ?= "flatpak" PACKAGECONFIG[flatpak] = "-Dflatpak=true,-Dflatpak=false,flatpak ostree" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.12.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.12.2.bb index 67e64915b4..2668fc009f 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.12.2.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.12.2.bb @@ -3,9 +3,9 @@ HOMEPAGE = "https://wiki.gnome.org/Projects/gspell" LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING;md5=8c2e1ec1540fb3e0beb68361344cba7e" -DEPENDS = "gtk+3 iso-codes enchant2" +DEPENDS = "gtk+3 icu enchant2" GNOMEBASEBUILDCLASS = "autotools" -inherit gnomebase gettext gobject-introspection vala +inherit gnomebase gettext gobject-introspection vala gtk-doc SRC_URI[archive.sha256sum] = "b4e993bd827e4ceb6a770b1b5e8950fce3be9c8b2b0cbeb22fdf992808dd2139" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.4.bb index ecf8f6ab50..79db8b7d75 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.2.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.4.bb @@ -23,9 +23,8 @@ DEPENDS = " \ libsecret \ " -GNOMEBASEBUILDCLASS = "autotools" inherit features_check gnomebase gnome-help gsettings itstool mime-xdg -SRC_URI[archive.sha256sum] = "97f8afe522535216541ebbf1e3b546d12a6beb38a8f0eb85f26e676934aad425" +SRC_URI[archive.sha256sum] = "add693ac0aeb9a30d829ba03a06208289d3f6868dc3b02573549e88190c794e8" FILES:${PN} += "${datadir}/metainfo" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.11.bb b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.11.bb index 75f199b10f..e504186b82 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.11.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.11.bb @@ -4,7 +4,7 @@ HOMEPAGE = "http://projects.gnome.org/gtksourceview/" LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" -DEPENDS = "gtk+3 libxml2 intltool-native gnome-common-native glib-2.0-native" +DEPENDS = "gtk+3 libxml2 glib-2.0-native" PNAME = "gtksourceview" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.4.bb b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.4.bb index 6acd00324b..353f02f1ba 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.4.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.4.bb @@ -4,7 +4,7 @@ HOMEPAGE = "http://projects.gnome.org/gtksourceview/" LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" -DEPENDS = "gtk+3 libxml2 intltool-native gnome-common-native glib-2.0-native" +DEPENDS = "gtk+3 libxml2 glib-2.0-native" PNAME = "gtksourceview" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.10.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.10.0.bb index f43fe2cf53..a336b19096 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.10.0.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.10.0.bb @@ -7,7 +7,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" DEPENDS = " \ fribidi \ glib-2.0-native \ - gnome-common-native \ fontconfig \ gtk4 \ libxml2 \ diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.51.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.51.bb index a54991574e..5ee73f5638 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.51.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.51.bb @@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=61464cfe342798eeced82efe9ae55f63" SECTION = "libs" -DEPENDS= "libxml2 bzip2 glib-2.0 zlib gnome-common-native" +DEPENDS= "libxml2 bzip2 glib-2.0 zlib" GNOMEBASEBUILDCLASS = "autotools" inherit gnomebase gobject-introspection gettext gtk-doc diff --git a/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_45.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_45.1.bb index 60347aa492..6093a0fe92 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_45.1.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_45.1.bb @@ -6,6 +6,7 @@ DEPENDS = " \ xserver-xorg-cvt-native \ wayland-native \ virtual/libx11 \ + colord \ graphene \ gtk4 \ gdk-pixbuf \ @@ -13,8 +14,6 @@ DEPENDS = " \ pango \ gsettings-desktop-schemas \ json-glib \ - gnome-desktop \ - gnome-settings-daemon \ libei \ libxtst \ libxkbfile \ @@ -41,6 +40,7 @@ PACKAGECONFIG ??= " \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl glx', '', d)} \ sm \ startup-notification \ + gnome-desktop \ " EXTRA_OEMESON += " \ @@ -57,7 +57,9 @@ PACKAGECONFIG[libdisplay-info] = "-Dlibdisplay_info=true, -Dlibdisplay_info=fals PACKAGECONFIG[libwacom] = "-Dlibwacom=true, -Dlibwacom=false, libwacom" # Remove depending on pipewire-0.2 when mutter is upgraded to 3.36+ PACKAGECONFIG[remote-desktop] = "-Dremote_desktop=true, -Dremote_desktop=false, pipewire" +PACKAGECONFIG[gnome-desktop] = "-Dlibgnome_desktop=true, -Dlibgnome_desktop=false, gnome-desktop gnome-settings-daemon" PACKAGECONFIG[sm] = "-Dsm=true, -Dsm=false, libsm" +PACKAGECONFIG[sound-player] = "-Dsound_player=true, -Dsound_player=false, libcanberra" PACKAGECONFIG[profiler] = "-Dprofiler=true,-Dprofiler=false,sysprof" PACKAGECONFIG[startup-notification] = "-Dstartup_notification=true, -Dstartup_notification=false, startup-notification, startup-notification" @@ -102,5 +104,5 @@ FILES:${PN}-dev += " \ ${libdir}/${MUTTER_API_NAME}/lib*.so \ " -RDEPENDS:${PN} += "zenity ${PN}-gsettings" +RDEPENDS:${PN} += "zenity ${PN}-gsettings gsettings-desktop-schemas" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/rest/librest_0.8.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/rest/librest_0.8.1.bb index 51dc44cc4d..63372afa5d 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/rest/librest_0.8.1.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/rest/librest_0.8.1.bb @@ -4,17 +4,14 @@ LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" DEPENDS = " \ - gi-docgen \ - gi-docgen-native \ glib-2.0 \ glib-2.0-native \ - json-glib \ libsoup-2.4 \ - libxml2-native \ + libxml2 \ " GNOMEBASEBUILDCLASS = "autotools" -inherit gnomebase gobject-introspection vala pkgconfig +inherit gnomebase gobject-introspection vala pkgconfig gtk-doc GNOMEBN = "rest" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.6.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.6.0.bb index c5b5c4eabc..603efbb324 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.6.0.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.6.0.bb @@ -19,7 +19,7 @@ DEPENDS = " \ " -inherit gettext gnomebase gsettings gobject-introspection vala gtk-doc bash-completion python3native +inherit gettext gnomebase gobject-introspection vala gtk-doc bash-completion python3native SRC_URI += "file://0001-fix-reproducibility.patch" SRC_URI[archive.sha256sum] = "52592cfe19baffd16dbe47475be7da750dbd0b6333fd7acb60faa9da5bc40df2" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity/0001-Harcode-shebang-to-avoid-pointing-to-build-system-s-.patch b/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity/0001-Harcode-shebang-to-avoid-pointing-to-build-system-s-.patch deleted file mode 100644 index e054ff7448..0000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity/0001-Harcode-shebang-to-avoid-pointing-to-build-system-s-.patch +++ /dev/null @@ -1,28 +0,0 @@ -From c8be0d5e7d17930d819635df6570fa5331a5dedd Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> -Date: Mon, 10 Jan 2022 20:18:00 +0100 -Subject: [PATCH] Harcode shebang to avoid pointing to build system's perl -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Upstream-Status: Pending - -Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> ---- - src/gdialog.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/gdialog.in b/src/gdialog.in -index 2fc4633..f891861 100755 ---- a/src/gdialog.in -+++ b/src/gdialog.in -@@ -1,4 +1,4 @@ --#!@PERL@ -+#!/usr/bin/env perl - - # gdialog -> zenity conversion wrapper - # --- -2.31.1 - diff --git a/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.44.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_4.0.0.bb index 92b9f6655e..a151f3ca4c 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.44.2.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_4.0.0.bb @@ -3,25 +3,23 @@ SECTION = "x11/gnome" LICENSE = "LGPL-2.1-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - inherit gnomebase pkgconfig itstool gtk-icon-cache features_check gettext DEPENDS = " \ desktop-file-utils-native \ + help2man-native \ hicolor-icon-theme \ - gtk+3 \ - gtk+3-native \ + gtk4 \ + gtk4-native \ + libadwaita \ " ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +GTKIC_VERSION = "4" -SRC_URI[archive.sha256sum] = "3fb5b8b1044d3d129262d3c54cf220eb7f76bc21bd5ac6d96ec115cd3518300e" -SRC_URI += "file://0001-Harcode-shebang-to-avoid-pointing-to-build-system-s-.patch" +SRC_URI[archive.sha256sum] = "0b8c8def18dab05cc49bd464b90ca7f945ae52ff5e09242da702a15d94d3e8dd" PACKAGECONFIG ?= "webkitgtk" -PACKAGECONFIG[webkitgtk] = "-Dwebkitgtk=true,-Dwebkitgtk=false,webkitgtk3" +PACKAGECONFIG[webkitgtk] = "-Dwebkitgtk=true,-Dwebkitgtk=false,webkitgtk" -PACKAGES =+ "${PN}-gdialog" -FILES:${PN}-gdialog = "${bindir}/gdialog" FILES:${PN}-doc = "${datadir}/man ${datadir}/help" -RDEPENDS:${PN}-gdialog += "perl" diff --git a/meta-openembedded/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb b/meta-openembedded/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb index 971ad90f9c..278592dc6e 100644 --- a/meta-openembedded/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb +++ b/meta-openembedded/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb @@ -9,7 +9,6 @@ DEPENDS = "gtk+3 gobject-introspection-native \ LIC_FILES_CHKSUM = "file://COPYING;md5=1f18f9c6d8b4cfcc7d7804a243a4c0b4" S = "${WORKDIR}/git" -B = "${S}" SRCREV = "736ccef40d39603b8111c8a3a0bca0319bbafdc0" PV = "3.0+git${SRCPV}" @@ -18,11 +17,13 @@ SRC_URI = "git://github.com/engla/keybinder.git;branch=keybinder-3.0;protocol=ht RDEPENDS:${PN} = "gtk+" -inherit features_check autotools gtk-doc gobject-introspection +inherit features_check autotools-brokensep gtk-doc gobject-introspection REQUIRED_DISTRO_FEATURES = "x11" do_configure:prepend() { touch ${S}/ChangeLog } -SRC_DISTRIBUTE_LICENSES += "X11" +# gtk-doc generation doesn't work, so disable it: +# ../keybinder-docs.sgml:26: element include: XInclude error : could not load ../xml/tree_index.sgml, and no fallback was found +GTKDOC_ENABLED = "False" diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.42.4.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.42.4.bb index 9662296399..4fbdce0867 100644 --- a/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.42.4.bb +++ b/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.42.4.bb @@ -18,7 +18,7 @@ RRECOMMENDS:${PN} = "rygel-plugin-media-export" inherit gnomebase features_check vala gobject-introspection gettext systemd # gobject-introspection is mandatory for libmediaart-2.0 and cannot be configured -REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data x11" SRC_URI[archive.sha256sum] = "6310dfaa2d332b66119b9b020fad6a4bd27d9bc61faf780ca5ca0b62813303f7" @@ -37,7 +37,7 @@ PACKAGECONFIG[media-export] = "" PACKAGECONFIG[gst-launch] = "" PACKAGECONFIG[lms] = "" PACKAGECONFIG[tracker3] = "" -PACKAGECONFIG[gtk+3] = ",-Dgtk=false,gtk+3" +PACKAGECONFIG[gtk+3] = ",-Dgtk=disabled,gtk+3" RYGEL_PLUGINS = "" RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'external', ',external', '', d)}" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb index cabbf2cc11..87792491ae 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb @@ -20,9 +20,9 @@ GTKDOC_MESON_OPTION = "enable-gtk-doc" inherit meson pkgconfig gettext gtk-doc python3native python3-dir python3targetconfig do_install:append() { - rmdir ${D}${root_prefix}${localstatedir}/run/${BPN} ${D}${root_prefix}${localstatedir}/run \ - ${D}${root_prefix}${localstatedir}/log/${BPN} ${D}${root_prefix}${localstatedir}/log \ - ${D}${root_prefix}${localstatedir} + rmdir ${D}${exec_prefix}${localstatedir}/run/${BPN} ${D}${exec_prefix}${localstatedir}/run \ + ${D}${exec_prefix}${localstatedir}/log/${BPN} ${D}${exec_prefix}${localstatedir}/log \ + ${D}${exec_prefix}${localstatedir} rm -f ${D}${bindir}/gst-client ${D}${bindir}/gstd-client if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then install -d ${D}${sysconfdir}/tmpfiles.d diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-mojom-Drop-using-imp-module.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-mojom-Drop-using-imp-module.patch new file mode 100644 index 0000000000..b07a790596 --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-mojom-Drop-using-imp-module.patch @@ -0,0 +1,176 @@ +From 23a9bbb9ab380344c5daf5bc0109fab249e41afd Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 30 Dec 2023 10:55:44 -0800 +Subject: [PATCH] mojom: Drop using imp module. + +This module is gone in python 3.12 onwards, in most places it is unused +so remove from those places, in some places where its still is needed +replace it with importlib.util + +Fixes [1] + +[1] https://bugs.libcamera.org/show_bug.cgi?id=206 + +Upstream-Status: Submitted [https://lists.libcamera.org/pipermail/libcamera-devel/2023-December/039986.html] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + utils/ipc/mojo/public/tools/mojom/mojom/fileutil.py | 1 - + .../ipc/mojo/public/tools/mojom/mojom/fileutil_unittest.py | 1 - + .../tools/mojom/mojom/generate/generator_unittest.py | 7 ++----- + .../tools/mojom/mojom/generate/translate_unittest.py | 1 - + .../mojo/public/tools/mojom/mojom/parse/ast_unittest.py | 1 - + .../mojom/mojom/parse/conditional_features_unittest.py | 7 ++----- + utils/ipc/mojo/public/tools/mojom/mojom/parse/lexer.py | 1 - + .../mojo/public/tools/mojom/mojom/parse/lexer_unittest.py | 6 ++---- + .../mojo/public/tools/mojom/mojom/parse/parser_unittest.py | 1 - + 9 files changed, 6 insertions(+), 20 deletions(-) + +diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/fileutil.py b/utils/ipc/mojo/public/tools/mojom/mojom/fileutil.py +index bf626f54..e1c823da 100644 +--- a/utils/ipc/mojo/public/tools/mojom/mojom/fileutil.py ++++ b/utils/ipc/mojo/public/tools/mojom/mojom/fileutil.py +@@ -3,7 +3,6 @@ + # found in the LICENSE file. + + import errno +-import imp + import os.path + import sys + +diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/fileutil_unittest.py b/utils/ipc/mojo/public/tools/mojom/mojom/fileutil_unittest.py +index ff5753a2..e754151f 100644 +--- a/utils/ipc/mojo/public/tools/mojom/mojom/fileutil_unittest.py ++++ b/utils/ipc/mojo/public/tools/mojom/mojom/fileutil_unittest.py +@@ -2,7 +2,6 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + +-import imp + import os.path + import shutil + import sys +diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/generate/generator_unittest.py b/utils/ipc/mojo/public/tools/mojom/mojom/generate/generator_unittest.py +index 32c884a8..6cae6092 100644 +--- a/utils/ipc/mojo/public/tools/mojom/mojom/generate/generator_unittest.py ++++ b/utils/ipc/mojo/public/tools/mojom/mojom/generate/generator_unittest.py +@@ -2,7 +2,7 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + +-import imp ++import importlib.util + import os.path + import sys + import unittest +@@ -18,10 +18,7 @@ def _GetDirAbove(dirname): + if tail == dirname: + return path + +- +-try: +- imp.find_module("mojom") +-except ImportError: ++if importlib.util.find_spec("mojom") is None: + sys.path.append(os.path.join(_GetDirAbove("pylib"), "pylib")) + from mojom.generate import generator + +diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/generate/translate_unittest.py b/utils/ipc/mojo/public/tools/mojom/mojom/generate/translate_unittest.py +index 19905c8a..09724d88 100644 +--- a/utils/ipc/mojo/public/tools/mojom/mojom/generate/translate_unittest.py ++++ b/utils/ipc/mojo/public/tools/mojom/mojom/generate/translate_unittest.py +@@ -2,7 +2,6 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + +-import imp + import os.path + import sys + import unittest +diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/parse/ast_unittest.py b/utils/ipc/mojo/public/tools/mojom/mojom/parse/ast_unittest.py +index 62798631..4ab51033 100644 +--- a/utils/ipc/mojo/public/tools/mojom/mojom/parse/ast_unittest.py ++++ b/utils/ipc/mojo/public/tools/mojom/mojom/parse/ast_unittest.py +@@ -2,7 +2,6 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + +-import imp + import os.path + import sys + import unittest +diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/parse/conditional_features_unittest.py b/utils/ipc/mojo/public/tools/mojom/mojom/parse/conditional_features_unittest.py +index aa609be7..f3c2c95f 100644 +--- a/utils/ipc/mojo/public/tools/mojom/mojom/parse/conditional_features_unittest.py ++++ b/utils/ipc/mojo/public/tools/mojom/mojom/parse/conditional_features_unittest.py +@@ -2,7 +2,7 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + +-import imp ++import importlib.util + import os + import sys + import unittest +@@ -18,10 +18,7 @@ def _GetDirAbove(dirname): + if tail == dirname: + return path + +- +-try: +- imp.find_module('mojom') +-except ImportError: ++if importlib.util.find_spec("mojom") is None: + sys.path.append(os.path.join(_GetDirAbove('pylib'), 'pylib')) + import mojom.parse.ast as ast + import mojom.parse.conditional_features as conditional_features +diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/parse/lexer.py b/utils/ipc/mojo/public/tools/mojom/mojom/parse/lexer.py +index 3e084bbf..1e8b49f2 100644 +--- a/utils/ipc/mojo/public/tools/mojom/mojom/parse/lexer.py ++++ b/utils/ipc/mojo/public/tools/mojom/mojom/parse/lexer.py +@@ -2,7 +2,6 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + +-import imp + import os.path + import sys + +diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/parse/lexer_unittest.py b/utils/ipc/mojo/public/tools/mojom/mojom/parse/lexer_unittest.py +index eadc6587..77976507 100644 +--- a/utils/ipc/mojo/public/tools/mojom/mojom/parse/lexer_unittest.py ++++ b/utils/ipc/mojo/public/tools/mojom/mojom/parse/lexer_unittest.py +@@ -2,7 +2,7 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + +-import imp ++import importlib.util + import os.path + import sys + import unittest +@@ -22,9 +22,7 @@ def _GetDirAbove(dirname): + sys.path.insert(1, os.path.join(_GetDirAbove("mojo"), "third_party")) + from ply import lex + +-try: +- imp.find_module("mojom") +-except ImportError: ++if importlib.util.find_spec("mojom") is None: + sys.path.append(os.path.join(_GetDirAbove("pylib"), "pylib")) + import mojom.parse.lexer + +diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/parse/parser_unittest.py b/utils/ipc/mojo/public/tools/mojom/mojom/parse/parser_unittest.py +index 6d6b7153..7e8acf43 100644 +--- a/utils/ipc/mojo/public/tools/mojom/mojom/parse/parser_unittest.py ++++ b/utils/ipc/mojo/public/tools/mojom/mojom/parse/parser_unittest.py +@@ -2,7 +2,6 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + +-import imp + import os.path + import sys + import unittest +-- +2.43.0 + diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.1.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.1.0.bb index 2a3c6473ee..c8ccff6f40 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.1.0.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.1.0.bb @@ -10,6 +10,7 @@ LIC_FILES_CHKSUM = "\ SRC_URI = " \ git://git.libcamera.org/libcamera/libcamera.git;protocol=https;branch=master \ + file://0001-mojom-Drop-using-imp-module.patch \ " SRCREV = "960d0c1e19feaf310321c906e14bd5410c6be629" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb index b18ad6ad1b..672c8abc9a 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb @@ -62,7 +62,7 @@ RDEPENDS:packagegroup-meta-multimedia-connectivity = "\ gupnp-dlna \ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gupnp-tools", "", d)} \ libupnp \ - ${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "rygel", "", d)} \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "rygel", "", d), "", d)} \ " RDEPENDS:packagegroup-meta-multimedia-dvb = "\ oscam \ diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.15.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.17.bb index 5a180d1e07..3959cd7f81 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.15.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.17.bb @@ -10,7 +10,7 @@ DEPENDS = "glib-2.0 glib-2.0-native lua pipewire \ ${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "python3-native python3-lxml-native doxygen-native", "", d)} \ " -SRCREV = "d67b48e595cb4612fd7fd47f97df6b8883ef7f60" +SRCREV = "d3eb77b292655cef333a8f4cab4e861415bc37c2" SRC_URI = " \ git://gitlab.freedesktop.org/pipewire/wireplumber.git;branch=master;protocol=https \ file://90-OE-disable-session-dbus-dependent-features.lua \ diff --git a/meta-openembedded/meta-networking/recipes-connectivity/bearssl/bearssl/0001-conf-Unix.mk-remove-fixed-command-definitions.patch b/meta-openembedded/meta-networking/recipes-connectivity/bearssl/bearssl/0001-conf-Unix.mk-remove-fixed-command-definitions.patch deleted file mode 100644 index 00be224990..0000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/bearssl/bearssl/0001-conf-Unix.mk-remove-fixed-command-definitions.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 4ba61c59d3488c263d106d486b656854a57ad79f Mon Sep 17 00:00:00 2001 -From: Jens Rehsack <sno@netbsd.org> -Date: Thu, 13 Aug 2020 15:26:30 +0200 -Subject: [PATCH 1/2] conf/Unix.mk: remove fixed command definitions - -For cross compiling in Yocto or with appropriate SDKs, commands like -`$CC` are reasonably predefined. - -Upstream-Status: Inappropriate - -Signed-off-by: Jens Rehsack <sno@netbsd.org> ---- - conf/Unix.mk | 10 +++------- - 1 file changed, 3 insertions(+), 7 deletions(-) - -diff --git a/conf/Unix.mk b/conf/Unix.mk -index 02f2b2b..05979fc 100644 ---- a/conf/Unix.mk -+++ b/conf/Unix.mk -@@ -37,23 +37,19 @@ RM = rm -f - MKDIR = mkdir -p - - # C compiler and flags. --CC = cc --CFLAGS = -W -Wall -Os -fPIC - CCOUT = -c -o - - # Static library building tool. --AR = ar - ARFLAGS = -rcs - AROUT = - - # DLL building tool. --LDDLL = cc -+LDDLL = $(CCLD) - LDDLLFLAGS = -shared - LDDLLOUT = -o - - # Static linker. --LD = cc --LDFLAGS = -+LD = $(CCLD) - LDOUT = -o - - # C# compiler; we assume usage of Mono. -@@ -63,7 +59,7 @@ RUNT0COMP = mono T0Comp.exe - # Set the values to 'no' to disable building of the corresponding element - # by default. Building can still be invoked with an explicit target call - # (e.g. 'make dll' to force build the DLL). --#STATICLIB = no -+STATICLIB = no - #DLL = no - #TOOLS = no - #TESTS = no --- -2.17.1 - diff --git a/meta-openembedded/meta-networking/recipes-connectivity/bearssl/bearssl/0001-make-Pass-LDFLAGS-when-building-shared-objects.patch b/meta-openembedded/meta-networking/recipes-connectivity/bearssl/bearssl/0001-make-Pass-LDFLAGS-when-building-shared-objects.patch deleted file mode 100644 index 3b341e0355..0000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/bearssl/bearssl/0001-make-Pass-LDFLAGS-when-building-shared-objects.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 9515448761739d6186e7d07da5b47e368753528c Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 1 Sep 2020 11:34:33 -0700 -Subject: [PATCH] make: Pass LDFLAGS when building shared objects - -OE passes flags like hash-style via LDFLAGS which alters the linker -defaults, its important to have LDFLAGS in link step even if compiler -driver is used to do linking - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - mk/Rules.mk | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mk/Rules.mk b/mk/Rules.mk -index b480bd6..db65125 100644 ---- a/mk/Rules.mk -+++ b/mk/Rules.mk -@@ -344,7 +344,7 @@ $(BEARSSLLIB): $(OBJDIR) $(OBJ) - $(AR) $(ARFLAGS) $(AROUT)$(BEARSSLLIB) $(OBJ) - - $(BEARSSLDLL): $(OBJDIR) $(OBJ) -- $(LDDLL) $(LDDLLFLAGS) $(LDDLLOUT)$(BEARSSLDLL) $(OBJ) -+ $(LDDLL) $(LDDLLFLAGS) $(LDFLAGS) $(LDDLLOUT)$(BEARSSLDLL) $(OBJ) - - $(BRSSL): $(BEARSSLLIB) $(OBJBRSSL) - $(LD) $(LDFLAGS) $(LDOUT)$(BRSSL) $(OBJBRSSL) $(BEARSSLLIB) --- -2.28.0 - diff --git a/meta-openembedded/meta-networking/recipes-connectivity/bearssl/bearssl_0.6.bb b/meta-openembedded/meta-networking/recipes-connectivity/bearssl/bearssl_0.6.bb index 777ba2270b..1e70a3dec6 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/bearssl/bearssl_0.6.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/bearssl/bearssl_0.6.bb @@ -24,24 +24,29 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=1fc37e1037ae673975fbcb96a98f7191" PV .= "+git${SRCPV}" -SRCREV = "79b1a9996c094ff593ae50bc4edc1f349f39dd6d" +SRCREV = "79c060eea3eea1257797f15ea1608a9a9923aa6f" SRC_URI = "git://www.bearssl.org/git/BearSSL;protocol=https;branch=master \ - file://0001-conf-Unix.mk-remove-fixed-command-definitions.patch \ - file://0002-test-test_x509.c-fix-potential-overflow-issue.patch \ - file://0001-make-Pass-LDFLAGS-when-building-shared-objects.patch \ - " + file://0002-test-test_x509.c-fix-potential-overflow-issue.patch \ + " +SONAME = "libbearssl.so.6" # without compile errors like # <..>/ld: build/obj/ghash_pclmul.o: warning: relocation against `br_ghash_pclmul' in read-only section `.text' CFLAGS += "-fPIC" +EXTRA_OEMAKE += 'CC="${CC}" CFLAGS="${CFLAGS}" LDDLL="${CCLD} ${LDFLAGS}" LD="${CCLD}" LDFLAGS="${LDFLAGS}" \ + BEARSSLDLL=build/${SONAME} \ + LDDLLFLAGS="-shared -Wl,-soname,${SONAME}" \ + ${@ "STATICLIB=no" if d.getVar('DISABLE_STATIC') != "" else "" } \ +' + S = "${WORKDIR}/git" -B = "${S}" do_install() { - mkdir -p ${D}/${bindir} ${D}/${libdir} - install -m 0644 ${B}/build/brssl ${D}/${bindir} - install -m 0644 ${B}/build/libbearssl.so ${D}/${libdir}/libbearssl.so.6.0.0 - ln -s libbearssl.so.6.0.0 ${D}/${libdir}/libbearssl.so.6 - ln -s libbearssl.so.6.0.0 ${D}/${libdir}/libbearssl.so + install -d ${D}/${bindir} ${D}/${libdir} ${D}/${includedir} + install -m 0755 ${B}/build/brssl ${D}/${bindir} + oe_libinstall -C ${B}/build libbearssl ${D}/${libdir} + for inc in ${S}/inc/*.h; do + install -m 0644 "${inc}" ${D}/${includedir} + done } diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.5.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.5.1.bb index 5f284227ed..6fc824898a 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.5.0.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.5.1.bb @@ -17,16 +17,17 @@ understand what the code does. It features: \ HOMEPAGE = "https://tls.mbed.org/" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" +LICENSE = "Apache-2.0 | GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://LICENSE;md5=379d5819937a6c2f1ef1630d341e026d" SECTION = "libs" S = "${WORKDIR}/git" -SRCREV = "1ec69067fa1351427f904362c1221b31538c8b57" -SRC_URI = "git://github.com/ARMmbed/mbedtls.git;protocol=https;branch=master \ +SRCREV = "edb8fec9882084344a314368ac7fd957a187519c" +SRC_URI = "git://github.com/Mbed-TLS/mbedtls.git;protocol=https;branch=master \ file://0001-AES-NI-use-target-attributes-for-x86-32-bit-intrinsi.patch \ file://run-ptest" +UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" inherit cmake update-alternatives ptest diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.44.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.44.0.bb index d213ef650f..07a85b68ac 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.44.0.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.44.0.bb @@ -1,4 +1,15 @@ -SUMMARY = "NetworkManager" +SUMMARY = "NetworkManager is a program for providing detection and \ +configuration for systems to automatically connect to networks." + +DESCRIPTION = "NetworkManager is a program for providing detection and \ +configuration for systems to automatically connect to networks. \ +NetworkManager's functionality can be useful for both wireless and wired \ +networks. For wireless networks, NetworkManager prefers known wireless \ +networks and has the ability to switch to the most reliable network. \ +NetworkManager-aware applications can switch from online and offline mode. \ +NetworkManager also prefers wired connections over wireless ones, has support \ +for modem connections and certain types of VPN." + HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager" SECTION = "net/misc" @@ -16,7 +27,6 @@ DEPENDS = " \ udev \ util-linux \ libndp \ - libnewt \ curl \ dbus \ " @@ -88,7 +98,7 @@ PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false,polkit" PACKAGECONFIG[bluez5] = "-Dbluez5_dun=true,-Dbluez5_dun=false,bluez5" # consolekit is not picked by shlibs, so add it to RDEPENDS too PACKAGECONFIG[consolekit] = "-Dsession_tracking_consolekit=true,-Dsession_tracking_consolekit=false,consolekit,consolekit" -PACKAGECONFIG[modemmanager] = "-Dmodem_manager=true,-Dmodem_manager=false,modemmanager mobile-broadband-provider-info" +PACKAGECONFIG[modemmanager] = "-Dmodem_manager=true,-Dmodem_manager=false,modemmanager mobile-broadband-provider-info,modemmanager mobile-broadband-provider-info" PACKAGECONFIG[ppp] = "-Dppp=true -Dpppd=${sbindir}/pppd,-Dppp=false,ppp" PACKAGECONFIG[dnsmasq] = "-Ddnsmasq=${bindir}/dnsmasq" PACKAGECONFIG[nss] = "-Dcrypto=nss,,nss" @@ -100,6 +110,7 @@ PACKAGECONFIG[iwd] = "-Diwd=true,-Diwd=false" PACKAGECONFIG[ifupdown] = "-Difupdown=true,-Difupdown=false" PACKAGECONFIG[cloud-setup] = "-Dnm_cloud_setup=true,-Dnm_cloud_setup=false" PACKAGECONFIG[nmcli] = "-Dnmcli=true,-Dnmcli=false" +PACKAGECONFIG[nmtui] = "-Dnmtui=true,-Dnmtui=false,libnewt" PACKAGECONFIG[readline] = "-Dreadline=libreadline,,readline" PACKAGECONFIG[libedit] = "-Dreadline=libedit,,libedit" PACKAGECONFIG[ovs] = "-Dovs=true,-Dovs=false,jansson" @@ -109,6 +120,8 @@ PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false" PACKAGECONFIG[dhcpcd] = "-Ddhcpcd=${base_sbindir}/dhcpcd,-Ddhcpcd=no,,dhcpcd" PACKAGECONFIG[dhclient] = "-Ddhclient=yes,-Ddhclient=no,,dhcp" PACKAGECONFIG[concheck] = "-Dconcheck=true,-Dconcheck=false" +PACKAGECONFIG[adsl] = ",," +PACKAGECONFIG[wwan] = ",," # The following PACKAGECONFIG is used to determine whether NM is managing /etc/resolv.conf itself or not PACKAGECONFIG[man-resolv-conf] = ",," diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.18.8.bb b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.18.9.bb index f80742640f..73ceb7b754 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.18.8.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.18.9.bb @@ -31,7 +31,7 @@ SRC_URI:append:libc-musl = " \ file://samba-4.3.9-remove-getpwent_r.patch \ " -SRC_URI[sha256sum] = "4fb87bceaeb01d832a59046c197a044b7e8e8000581548b5d577a6cda03344d1" +SRC_URI[sha256sum] = "f455c1d6351ed3a36fc2cb6e8ab1bfd0effe54a56686ffd495d64ab52d50f245" UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.18(\.\d+)+).tar.gz" diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_2200.40.37.0.1.bb b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_2200.60.25.0.4.bb index af2b337172..a009ae0c6e 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_2200.40.37.0.1.bb +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_2200.60.25.0.4.bb @@ -1,6 +1,6 @@ SUMMARY = "Publishes & browses available services on a link according to the Zeroconf / Bonjour protocol" DESCRIPTION = "Bonjour, also known as zero-configuration networking, enables automatic discovery of computers, devices, and services on IP networks." -HOMEPAGE = "http://developer.apple.com/networking/bonjour/" +HOMEPAGE = "https://developer.apple.com/bonjour/" LICENSE = "Apache-2.0 & BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=31c50371921e0fb731003bbc665f29bf" @@ -25,7 +25,7 @@ SRC_URI = "git://github.com/apple-oss-distributions/mDNSResponder;protocol=https file://0015-Add-missing-limits.h.patch \ file://0001-Handle-interface-without-ifa_addr.patch \ " -SRCREV = "a9f4049ab772ca57b5afc9804ae5004beb711d6e" +SRCREV = "8acabead9ae56551011172d6835822a89c5298d6" # We install a stub Makefile in the top directory so that the various checks # in base.bbclass pass their tests for a Makefile, this ensures (that amongst diff --git a/meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_2.13.bb b/meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_2.14.bb index 663685a3aa..02a5520a97 100644 --- a/meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_2.13.bb +++ b/meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_2.14.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://debian/copyright;md5=acc89812938cf9ad6b1debc37cea0253 inherit manpages MAN_PKG = "${PN}" -SRCREV = "1bdfb472f2f8212056ed418d48387e8b36e61b34" +SRCREV = "62e60904afbe58fda0c7104fdad1c4f618266ba6" SRC_URI = "git://salsa.debian.org/debian/ifenslave.git;protocol=https;branch=main" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Add-resolv_compat.h-for-musl-builds.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Add-resolv_compat.h-for-musl-builds.patch index 4a97c26185..96270f860b 100644 --- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Add-resolv_compat.h-for-musl-builds.patch +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Add-resolv_compat.h-for-musl-builds.patch @@ -1,4 +1,4 @@ -From c1ee0b0a0a05379d0e6475dfceaaf41876192640 Mon Sep 17 00:00:00 2001 +From 148aadcc1b61da6f6b9ee4bcd35c38b7fbaeb8a8 Mon Sep 17 00:00:00 2001 From: Trevor Gamblin <trevor.gamblin@windriver.com> Date: Wed, 14 Apr 2021 10:24:52 -0400 Subject: [PATCH] Add resolv_compat.h for musl builds @@ -17,7 +17,7 @@ Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> create mode 100644 open-vm-tools/lib/nicInfo/resolv_compat.h diff --git a/open-vm-tools/lib/nicInfo/nicInfoPosix.c b/open-vm-tools/lib/nicInfo/nicInfoPosix.c -index c56b73cfe..8ae3b2f74 100644 +index 6f20547b2..f5064a9c0 100644 --- a/open-vm-tools/lib/nicInfo/nicInfoPosix.c +++ b/open-vm-tools/lib/nicInfo/nicInfoPosix.c @@ -70,6 +70,10 @@ diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch index 3aa21e3ec3..69c8253117 100644 --- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch @@ -1,4 +1,4 @@ -From c953564b9f029b31381a2c630b47133ffe6a33e7 Mon Sep 17 00:00:00 2001 +From 547d05ca417c6b75ad06bf3119e1df8869742a70 Mon Sep 17 00:00:00 2001 From: Martin Kelly <mkelly@xevo.com> Date: Fri, 7 Apr 2017 15:20:30 -0700 Subject: [PATCH] configure.ac: don't use dnet-config @@ -15,7 +15,7 @@ Signed-off-by: Martin Kelly <mkelly@xevo.com> 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac -index 3c058135a..124781f99 100644 +index 26bfdb682..9e2a1d6e3 100644 --- a/open-vm-tools/configure.ac +++ b/open-vm-tools/configure.ac @@ -1227,7 +1227,7 @@ if test "$with_dnet" = "yes"; then diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-Use-configure-test-for-struct-timespec.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-Use-configure-test-for-struct-timespec.patch index c6af3d5ff7..1029252c76 100644 --- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-Use-configure-test-for-struct-timespec.patch +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-Use-configure-test-for-struct-timespec.patch @@ -1,4 +1,4 @@ -From 6384b37cdef4ea868c3cee27bb627e4cfbab7b50 Mon Sep 17 00:00:00 2001 +From 74ab6b05fcba32031255624a31676e2aa0db133f Mon Sep 17 00:00:00 2001 From: Natanael Copa <ncopa@alpinelinux.org> Date: Wed, 18 Nov 2015 09:03:00 +0000 Subject: [PATCH] Use configure test for struct timespec @@ -6,16 +6,16 @@ Subject: [PATCH] Use configure test for struct timespec Use the configure script to test for struct time spec instead of trying to keep track of what platforms has it. -Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> ---- Upstream-Status: Pending +Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> +--- open-vm-tools/configure.ac | 1 + open-vm-tools/lib/include/hgfsUtil.h | 8 +------- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac -index 124781f99..05f37f275 100644 +index 9e2a1d6e3..2f34f6eda 100644 --- a/open-vm-tools/configure.ac +++ b/open-vm-tools/configure.ac @@ -1441,6 +1441,7 @@ AC_TYPE_OFF_T diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0003-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0003-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch index 4b6e089ace..b4bd646d61 100644 --- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0003-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0003-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch @@ -1,4 +1,4 @@ -From 6be6cda5aea42b951212ec5f8a72778b1ef9c2da Mon Sep 17 00:00:00 2001 +From ef466581b53a1e64f53d4839bdacfab1d65cc6b9 Mon Sep 17 00:00:00 2001 From: Natanael Copa <ncopa@alpinelinux.org> Date: Wed, 18 Nov 2015 09:10:14 +0000 Subject: [PATCH] Fix definition of ALLPERMS and ACCESSPERMS @@ -8,16 +8,16 @@ assume it is not there instead of testing for specific implementations. This is needed for musl libc. -Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> ---- Upstream-Status: Pending +Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> +--- open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 8 +++++--- open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c | 3 +-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -index 63c4e65f0..87d419a7b 100644 +index 4a0bc9378..6ed49e2b7 100644 --- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c @@ -105,11 +105,13 @@ typedef struct DirectoryEntry { diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0004-Use-configure-to-test-for-feature-instead-of-platfor.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0004-Use-configure-to-test-for-feature-instead-of-platfor.patch index 9fe0126d30..f23235e902 100644 --- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0004-Use-configure-to-test-for-feature-instead-of-platfor.patch +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0004-Use-configure-to-test-for-feature-instead-of-platfor.patch @@ -1,4 +1,4 @@ -From 9d22fba096cd77101fc45420c918ec748d2cc31b Mon Sep 17 00:00:00 2001 +From 4462efefdd61bff1e39e946b917b01433898be88 Mon Sep 17 00:00:00 2001 From: Natanael Copa <ncopa@alpinelinux.org> Date: Wed, 18 Nov 2015 10:05:07 +0000 Subject: [PATCH] Use configure to test for feature instead of platform @@ -18,20 +18,20 @@ The features we test for are: This is needed for musl libc. +Upstream-Status: Pending + Refit patch of open-vm-tools/lib/nicInfo/nicInfoPosix.c Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> Signed-off-by: Randy MacLeod <randy.macleod@windriver.com> --- -Upstream-Status: Pending - open-vm-tools/configure.ac | 4 ++++ open-vm-tools/lib/misc/idLinux.c | 30 +++++++++++------------- open-vm-tools/lib/nicInfo/nicInfoPosix.c | 6 ++++- 3 files changed, 23 insertions(+), 17 deletions(-) diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac -index 05f37f275..9a0c63cf6 100644 +index 2f34f6eda..daa0939c3 100644 --- a/open-vm-tools/configure.ac +++ b/open-vm-tools/configure.ac @@ -1169,6 +1169,7 @@ AC_CHECK_FUNCS( @@ -57,7 +57,7 @@ index 05f37f275..9a0c63cf6 100644 AC_CHECK_HEADERS([sys/io.h]) AC_CHECK_HEADERS([sys/param.h]) # Required to make the sys/user.h check work correctly on FreeBSD diff --git a/open-vm-tools/lib/misc/idLinux.c b/open-vm-tools/lib/misc/idLinux.c -index 1bb86f483..41c670cfc 100644 +index 3d7d1e303..0e12ac5bd 100644 --- a/open-vm-tools/lib/misc/idLinux.c +++ b/open-vm-tools/lib/misc/idLinux.c @@ -27,12 +27,9 @@ @@ -74,7 +74,7 @@ index 1bb86f483..41c670cfc 100644 #ifdef __APPLE__ #include <sys/socket.h> #include <TargetConditionals.h> -@@ -1025,31 +1022,32 @@ Id_EndSuperUser(uid_t uid) // IN: +@@ -1025,24 +1022,23 @@ Id_EndSuperUser(uid_t uid) // IN: static Bool IdIsSetUGid(void) { @@ -108,10 +108,11 @@ index 1bb86f483..41c670cfc 100644 +#elif HAVE___SECURE_GETENV static const char envName[] = "VMW_SETUGID_TEST"; - if (setenv(envName, "1", TRUE) == -1) { - return TRUE; /* Conservative */ + /* +@@ -1062,7 +1058,9 @@ IdIsSetUGid(void) + return secure_getenv(envName) == NULL; } - return __secure_getenv(envName) == NULL; + return TRUE; -#endif +#else + /* Android does not have a secure_getenv, so be conservative. */ @@ -120,7 +121,7 @@ index 1bb86f483..41c670cfc 100644 } #endif diff --git a/open-vm-tools/lib/nicInfo/nicInfoPosix.c b/open-vm-tools/lib/nicInfo/nicInfoPosix.c -index de57a4a90..c56b73cfe 100644 +index 0135e6a09..6f20547b2 100644 --- a/open-vm-tools/lib/nicInfo/nicInfoPosix.c +++ b/open-vm-tools/lib/nicInfo/nicInfoPosix.c @@ -35,9 +35,13 @@ diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-sys-stat.h-include.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-sys-stat.h-include.patch index ec9aa7d2ed..fda4c37e59 100644 --- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-sys-stat.h-include.patch +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-sys-stat.h-include.patch @@ -1,19 +1,19 @@ -From 2bc09bc7d933bc3d91c687e1cc2befdaa38d2c86 Mon Sep 17 00:00:00 2001 +From 79675399124b61f4e3da1f64f4b265f83dd26cdc Mon Sep 17 00:00:00 2001 From: Natanael Copa <ncopa@alpinelinux.org> Date: Wed, 18 Nov 2015 10:41:01 +0000 Subject: [PATCH] Use configure test for sys/stat.h include This is needed for musl libc. -Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> ---- Upstream-Status: Pending +Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> +--- open-vm-tools/services/plugins/vix/vixTools.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/open-vm-tools/services/plugins/vix/vixTools.c b/open-vm-tools/services/plugins/vix/vixTools.c -index 34f3125d2..cebf4dd8d 100644 +index 75d24a29e..d11c42178 100644 --- a/open-vm-tools/services/plugins/vix/vixTools.c +++ b/open-vm-tools/services/plugins/vix/vixTools.c @@ -66,7 +66,7 @@ diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-subdir-objects-configure-error.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-subdir-objects-configure-error.patch index e83fb36214..4c6f6ce022 100644 --- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-subdir-objects-configure-error.patch +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-subdir-objects-configure-error.patch @@ -1,19 +1,19 @@ -From dbe0943011c24d48de3df5a95f4e4606be0ef250 Mon Sep 17 00:00:00 2001 +From 37ad9845b5b8ab7170a2aaba31a505b2a36ba0f8 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 13 Jun 2018 23:48:04 -0700 Subject: [PATCH] Fix subdir objects configure error Fix build on musl while here -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- open-vm-tools/configure.ac | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac -index 9a0c63cf6..5845490f6 100644 +index daa0939c3..497e9459a 100644 --- a/open-vm-tools/configure.ac +++ b/open-vm-tools/configure.ac @@ -326,7 +326,6 @@ AC_ARG_ENABLE( diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0007-include-poll.h-instead-of-sys-poll.h.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0007-include-poll.h-instead-of-sys-poll.h.patch index 7eac04ab56..fc0ce961c2 100644 --- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0007-include-poll.h-instead-of-sys-poll.h.patch +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0007-include-poll.h-instead-of-sys-poll.h.patch @@ -1,19 +1,19 @@ -From 8c7f5895ed1f98bfc4101f8cfb93af3d13fd6bce Mon Sep 17 00:00:00 2001 +From d138b808a8b47a02a370b411149ef8ce7883ca6f Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 13 Jun 2018 23:02:50 -0700 Subject: [PATCH] include poll.h instead of sys/poll.h including sys/poll.h is deprecated -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c -index 2bf97b549..b285c59c6 100644 +index 26aee553a..4f413db73 100644 --- a/open-vm-tools/lib/asyncsocket/asyncsocket.c +++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c @@ -70,8 +70,8 @@ diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0008-Rename-poll.h-to-vm_poll.h.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0008-Rename-poll.h-to-vm_poll.h.patch index d9000b4f13..2654767099 100644 --- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0008-Rename-poll.h-to-vm_poll.h.patch +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0008-Rename-poll.h-to-vm_poll.h.patch @@ -1,4 +1,4 @@ -From 0c695d910b3e136e116cdbe0bfc6231dfac255a1 Mon Sep 17 00:00:00 2001 +From e86d7b309bdf5b7c6c38faeded157e220d4ccc78 Mon Sep 17 00:00:00 2001 From: Randy MacLeod <Randy.MacLeod@windriver.com> Date: Wed, 24 Mar 2021 16:21:35 -0400 Subject: [PATCH] Rename poll.h to vm_poll.h @@ -13,12 +13,12 @@ we rename poll.h to vm_poll.h. Update for open-vm-tools-11.2.5. +Upstream-Status: Pending + Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> --- -Upstream-Status: Pending - open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +- open-vm-tools/lib/hgfsServer/hgfsServer.c | 2 +- open-vm-tools/lib/include/asyncsocket.h | 2 +- @@ -29,7 +29,7 @@ Upstream-Status: Pending rename open-vm-tools/lib/include/{poll.h => vm_poll.h} (99%) diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c -index b285c59c6..5c528820d 100644 +index 4f413db73..684008d34 100644 --- a/open-vm-tools/lib/asyncsocket/asyncsocket.c +++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c @@ -87,7 +87,7 @@ @@ -42,7 +42,7 @@ index b285c59c6..5c528820d 100644 #include "err.h" #include "hostinfo.h" diff --git a/open-vm-tools/lib/hgfsServer/hgfsServer.c b/open-vm-tools/lib/hgfsServer/hgfsServer.c -index 98f5b3f06..b436f0c7e 100644 +index c7b4cdd0f..d6e0cdc0e 100644 --- a/open-vm-tools/lib/hgfsServer/hgfsServer.c +++ b/open-vm-tools/lib/hgfsServer/hgfsServer.c @@ -51,7 +51,7 @@ @@ -55,10 +55,10 @@ index 98f5b3f06..b436f0c7e 100644 #include "vm_basic_asm.h" #include "unicodeOperations.h" diff --git a/open-vm-tools/lib/include/asyncsocket.h b/open-vm-tools/lib/include/asyncsocket.h -index dad848093..b61a2561f 100644 +index 09947002e..3800f5971 100644 --- a/open-vm-tools/lib/include/asyncsocket.h +++ b/open-vm-tools/lib/include/asyncsocket.h -@@ -171,7 +171,7 @@ typedef struct AsyncSocket AsyncSocket; +@@ -177,7 +177,7 @@ typedef struct AsyncSocket AsyncSocket; * Or the client can specify its favorite poll class and locking behavior. * Use of IVmdbPoll is only supported for regular sockets and for Attach. */ @@ -97,7 +97,7 @@ index ade356b9f..8759fb960 100644 #endif #ifdef __ANDROID__ diff --git a/open-vm-tools/lib/rpcIn/rpcin.c b/open-vm-tools/lib/rpcIn/rpcin.c -index 8b1fe759d..f22fcd402 100644 +index f1709fe03..c1a5dfdba 100644 --- a/open-vm-tools/lib/rpcIn/rpcin.c +++ b/open-vm-tools/lib/rpcIn/rpcin.c @@ -57,7 +57,7 @@ diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-use-posix-strerror_r-unless-on-gnu-libc-system.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-use-posix-strerror_r-unless-on-gnu-libc-system.patch index 9800194920..a6638adb9a 100644 --- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-use-posix-strerror_r-unless-on-gnu-libc-system.patch +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-use-posix-strerror_r-unless-on-gnu-libc-system.patch @@ -1,12 +1,12 @@ -From 921621a098f242953117747f5852d7e3136ae6c4 Mon Sep 17 00:00:00 2001 +From 666a043be7d6fe07a36599260f7214cbd29a79e7 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 13 Jun 2018 23:16:53 -0700 Subject: [PATCH] use posix strerror_r unless on gnu libc system -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- open-vm-tools/lib/err/errPosix.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0010-Use-uintmax_t-for-handling-rlim_t.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0010-Use-uintmax_t-for-handling-rlim_t.patch index d3c9149f77..6d0f8a3ae0 100644 --- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0010-Use-uintmax_t-for-handling-rlim_t.patch +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0010-Use-uintmax_t-for-handling-rlim_t.patch @@ -1,4 +1,4 @@ -From b44d1d4e4ba77f1d9cf7de73a3bd210d02b5ff36 Mon Sep 17 00:00:00 2001 +From b294005f3748c6caee002fd7588964f7bf9b1d09 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 24 Mar 2021 17:26:53 -0400 Subject: [PATCH] Use uintmax_t for handling rlim_t @@ -7,22 +7,22 @@ rlimit types are not representable with long or long long formats, therefore use uintmax_t to typecast rlim_t types and use %j to print it +Upstream-Status: Pending + Refit patch for open-vm-tools-11.2.5. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> --- -Upstream-Status: Pending - open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -index 87d419a7b..f5cc80b76 100644 +index 6ed49e2b7..0cc7c4094 100644 --- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -@@ -5301,8 +5301,8 @@ HgfsWriteCheckIORange(off_t offset, // IN: +@@ -5294,8 +5294,8 @@ HgfsWriteCheckIORange(off_t offset, // IN: goto exit; } diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-off64_t-instead-of-__off64_t.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-off64_t-instead-of-__off64_t.patch index 98eecebcfb..c6ab4d44d6 100644 --- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-off64_t-instead-of-__off64_t.patch +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-off64_t-instead-of-__off64_t.patch @@ -1,4 +1,4 @@ -From 39a59ab7efe98c880c783b2ccf43e5a137d2b222 Mon Sep 17 00:00:00 2001 +From a8ef33b0623ba3494594a040ff5c77771168fdd6 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 27 Aug 2018 23:22:21 -0700 Subject: [PATCH] Use off64_t instead of __off64_t @@ -7,6 +7,7 @@ Fixes unknown type name '__off64_t' Upstream-Status: Pending + Signed-off-by: Khem Raj <raj.khem@gmail.com> --- open-vm-tools/lib/file/fileIOPosix.c | 4 ++-- diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0012-hgfsServerLinux-Consider-64bit-time_t-possibility.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0012-hgfsServerLinux-Consider-64bit-time_t-possibility.patch index c7e62da7ee..388857fc10 100644 --- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0012-hgfsServerLinux-Consider-64bit-time_t-possibility.patch +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0012-hgfsServerLinux-Consider-64bit-time_t-possibility.patch @@ -1,4 +1,4 @@ -From 859c21b9a21c53d936301b05044d0c649d6cf32b Mon Sep 17 00:00:00 2001 +From 2904454f3408a3abe3f2b0681504a66ea5ce713c Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 24 Mar 2021 17:36:26 -0400 Subject: [PATCH] hgfsServerLinux: Consider 64bit time_t possibility @@ -15,15 +15,15 @@ Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> 1 file changed, 14 deletions(-) diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -index f5cc80b76..5a79d6451 100644 +index 0cc7c4094..445a53881 100644 --- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -@@ -2566,20 +2566,6 @@ HgfsStatToFileAttr(struct stat *stats, // IN: stat information +@@ -2559,20 +2559,6 @@ HgfsStatToFileAttr(struct stat *stats, // IN: stat information LOG(4, "%s: done, permissions %o%o%o%o, size %"FMT64"u\n", __FUNCTION__, attr->specialPerms, attr->ownerPerms, attr->groupPerms, attr->otherPerms, attr->size); -#ifdef __FreeBSD__ --# if !defined(VM_X86_64) && !defined(VM_ARM_64) && __FreeBSD_version >= 500043 +-# if !defined(VM_X86_64) && !defined(VM_ARM_64) -# define FMTTIMET "" -# else -# define FMTTIMET "l" diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0013-open-vm-tools-Correct-include-path-for-poll.h.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0013-open-vm-tools-Correct-include-path-for-poll.h.patch index 83687460bf..f2f6893db0 100644 --- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0013-open-vm-tools-Correct-include-path-for-poll.h.patch +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0013-open-vm-tools-Correct-include-path-for-poll.h.patch @@ -1,4 +1,4 @@ -From 7f7e00ce582d72013cb54278548d3320e032b0dc Mon Sep 17 00:00:00 2001 +From eae0a65a9d6c9df20d05b4208aee23656915480b Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 7 Feb 2022 13:32:32 -0800 Subject: [PATCH] open-vm-tools: Correct include path for poll.h @@ -13,13 +13,14 @@ Fixes | 1 error generated. Upstream-Status: Pending + Signed-off-by: Khem Raj <raj.khem@gmail.com> --- open-vm-tools/services/plugins/gdp/gdpPlugin.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/open-vm-tools/services/plugins/gdp/gdpPlugin.c b/open-vm-tools/services/plugins/gdp/gdpPlugin.c -index 2bba2937e..025339595 100644 +index 96e6d717b..0b8a583b8 100644 --- a/open-vm-tools/services/plugins/gdp/gdpPlugin.c +++ b/open-vm-tools/services/plugins/gdp/gdpPlugin.c @@ -32,7 +32,7 @@ diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-timeSync-Portable-way-to-print-64bit-time_t.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0014-timeSync-Portable-way-to-print-64bit-time_t.patch index 4a4fae116a..39eea767a0 100644 --- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-timeSync-Portable-way-to-print-64bit-time_t.patch +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0014-timeSync-Portable-way-to-print-64bit-time_t.patch @@ -1,4 +1,4 @@ -From dcb5d3e5d47b1e01fdcde575badc51825d4f4681 Mon Sep 17 00:00:00 2001 +From 09cc01b2fa15e319afafa13d7365b399a60f443c Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Tue, 3 Jan 2023 13:36:01 -0800 Subject: [PATCH] timeSync: Portable way to print 64bit time_t @@ -12,6 +12,7 @@ pllLinux.c:43:20: error: format specifies type 'long' but the argument has type | ^~~~~~~~~~ Upstream-Status: Submitted [https://github.com/vmware/open-vm-tools/pull/631] + Signed-off-by: Khem Raj <raj.khem@gmail.com> --- open-vm-tools/services/plugins/timeSync/pllLinux.c | 8 ++++---- @@ -50,5 +51,5 @@ index 1ab6e3584..0c304b5d7 100644 return TRUE; } -- -2.39.0 +2.25.1 diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/CVE-2023-20867.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/CVE-2023-20867.patch deleted file mode 100644 index 170dddf688..0000000000 --- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/CVE-2023-20867.patch +++ /dev/null @@ -1,163 +0,0 @@ -From 3028cdd4c0b2461b904cbe5a5868c8e591aa0941 Mon Sep 17 00:00:00 2001 -From: John Wolfe <jwolfe@vmware.com> -Date: Mon, 8 May 2023 19:04:57 -0700 -Subject: [PATCH] Remove some dead code. - -Address CVE-2023-20867. -Remove some authentication types which were deprecated long -ago and are no longer in use. These are dead code. - -CVE: CVE-2023-20867 - -Upstream-Status: Backport -[https://github.com/vmware/open-vm-tools/blob/CVE-2023-20867.patch/2023-20867-Remove-some-dead-code.patch] - -Signed-off-by: Yi Zhao <yi.zhao@windriver.com> ---- - open-vm-tools/services/plugins/vix/vixTools.c | 102 -------------------------- - 1 file changed, 102 deletions(-) - -diff --git a/open-vm-tools/services/plugins/vix/vixTools.c b/open-vm-tools/services/plugins/vix/vixTools.c -index 9f376a7..85c5ba7 100644 ---- a/open-vm-tools/services/plugins/vix/vixTools.c -+++ b/open-vm-tools/services/plugins/vix/vixTools.c -@@ -254,8 +254,6 @@ char *gImpersonatedUsername = NULL; - #define VIX_TOOLS_CONFIG_API_AUTHENTICATION "Authentication" - #define VIX_TOOLS_CONFIG_AUTHTYPE_AGENTS "InfrastructureAgents" - --#define VIX_TOOLS_CONFIG_INFRA_AGENT_DISABLED_DEFAULT TRUE -- - /* - * The switch that controls all APIs - */ -@@ -730,9 +728,6 @@ VixError GuestAuthSAMLAuthenticateAndImpersonate( - - void GuestAuthUnimpersonate(); - --static Bool VixToolsCheckIfAuthenticationTypeEnabled(GKeyFile *confDictRef, -- const char *typeName); -- - #if SUPPORT_VGAUTH - - VGAuthError TheVGAuthContext(VGAuthContext **ctx); -@@ -8013,29 +8008,6 @@ VixToolsImpersonateUser(VixCommandRequestHeader *requestMsg, // IN - userToken); - break; - } -- case VIX_USER_CREDENTIAL_ROOT: -- { -- if ((requestMsg->requestFlags & VIX_REQUESTMSG_HAS_HASHED_SHARED_SECRET) && -- !VixToolsCheckIfAuthenticationTypeEnabled(gConfDictRef, -- VIX_TOOLS_CONFIG_AUTHTYPE_AGENTS)) { -- /* -- * Don't accept hashed shared secret if disabled. -- */ -- g_message("%s: Requested authentication type has been disabled.\n", -- __FUNCTION__); -- err = VIX_E_GUEST_AUTHTYPE_DISABLED; -- goto done; -- } -- } -- // fall through -- -- case VIX_USER_CREDENTIAL_CONSOLE_USER: -- err = VixToolsImpersonateUserImplEx(NULL, -- credentialType, -- NULL, -- loadUserProfile, -- userToken); -- break; - case VIX_USER_CREDENTIAL_NAME_PASSWORD: - case VIX_USER_CREDENTIAL_NAME_PASSWORD_OBFUSCATED: - case VIX_USER_CREDENTIAL_NAMED_INTERACTIVE_USER: -@@ -8205,36 +8177,6 @@ VixToolsImpersonateUserImplEx(char const *credentialTypeStr, // IN - } - - /* -- * If the VMX asks to be root, then we allow them. -- * The VMX will make sure that only it will pass this value in, -- * and only when the VM and host are configured to allow this. -- */ -- if ((VIX_USER_CREDENTIAL_ROOT == credentialType) -- && (thisProcessRunsAsRoot)) { -- *userToken = PROCESS_CREATOR_USER_TOKEN; -- -- gImpersonatedUsername = Util_SafeStrdup("_ROOT_"); -- err = VIX_OK; -- goto quit; -- } -- -- /* -- * If the VMX asks to be root, then we allow them. -- * The VMX will make sure that only it will pass this value in, -- * and only when the VM and host are configured to allow this. -- * -- * XXX This has been deprecated XXX -- */ -- if ((VIX_USER_CREDENTIAL_CONSOLE_USER == credentialType) -- && ((allowConsoleUserOps) || !(thisProcessRunsAsRoot))) { -- *userToken = PROCESS_CREATOR_USER_TOKEN; -- -- gImpersonatedUsername = Util_SafeStrdup("_CONSOLE_USER_NAME_"); -- err = VIX_OK; -- goto quit; -- } -- -- /* - * If the VMX asks us to run commands in the context of the current - * user, make sure that the user who requested the command is the - * same as the current user. -@@ -10917,50 +10859,6 @@ VixToolsCheckIfVixCommandEnabled(int opcode, // IN - /* - *----------------------------------------------------------------------------- - * -- * VixToolsCheckIfAuthenticationTypeEnabled -- -- * -- * Checks to see if a given authentication type has been -- * disabled via the tools configuration. -- * -- * Return value: -- * TRUE if enabled, FALSE otherwise. -- * -- * Side effects: -- * None -- * -- *----------------------------------------------------------------------------- -- */ -- --static Bool --VixToolsCheckIfAuthenticationTypeEnabled(GKeyFile *confDictRef, // IN -- const char *typeName) // IN --{ -- char authnDisabledName[64]; // Authentication.<AuthenticationType>.disabled -- gboolean disabled; -- -- Str_Snprintf(authnDisabledName, sizeof(authnDisabledName), -- VIX_TOOLS_CONFIG_API_AUTHENTICATION ".%s.disabled", -- typeName); -- -- ASSERT(confDictRef != NULL); -- -- /* -- * XXX Skip doing the strcmp() to verify the auth type since we only -- * have the one typeName (VIX_TOOLS_CONFIG_AUTHTYPE_AGENTS), and default -- * it to VIX_TOOLS_CONFIG_INFRA_AGENT_DISABLED_DEFAULT. -- */ -- disabled = VMTools_ConfigGetBoolean(confDictRef, -- VIX_TOOLS_CONFIG_API_GROUPNAME, -- authnDisabledName, -- VIX_TOOLS_CONFIG_INFRA_AGENT_DISABLED_DEFAULT); -- -- return !disabled; --} -- -- --/* -- *----------------------------------------------------------------------------- -- * - * VixTools_ProcessVixCommand -- - * - * --- -2.6.2 - diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools_12.1.5.bb b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools_12.3.5.bb index 4873e9d89c..6696e552c7 100644 --- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools_12.1.5.bb +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools_12.3.5.bb @@ -25,7 +25,7 @@ LICENSE:modules/freebsd/vmxnet = "GPL-2.0-only" LICENSE:modules/linux = "GPL-2.0-only" LICENSE:modules/solaris = "CDDL-1.0" -SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https;branch=stable-12.1.x \ +SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https;branch=stable-12.3.x \ file://tools.conf \ file://vmtoolsd.service \ file://vmtoolsd.init \ @@ -42,8 +42,7 @@ SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https;branch=stabl file://0011-Use-off64_t-instead-of-__off64_t.patch;patchdir=.. \ file://0012-hgfsServerLinux-Consider-64bit-time_t-possibility.patch;patchdir=.. \ file://0013-open-vm-tools-Correct-include-path-for-poll.h.patch;patchdir=.. \ - file://0001-timeSync-Portable-way-to-print-64bit-time_t.patch;patchdir=.. \ - file://CVE-2023-20867.patch;patchdir=.. \ + file://0014-timeSync-Portable-way-to-print-64bit-time_t.patch;patchdir=.. \ " UPSTREAM_CHECK_GITTAGREGEX = "stable-(?P<pver>\d+(\.\d+)+)" @@ -51,7 +50,7 @@ UPSTREAM_CHECK_GITTAGREGEX = "stable-(?P<pver>\d+(\.\d+)+)" SRC_URI:append:libc-musl = " file://0001-Add-resolv_compat.h-for-musl-builds.patch;patchdir=.. \ " -SRCREV = "30339ef6ded308f0147fe80f89b9bca3ace1aef9" +SRCREV = "1b362b9eb449fb5de3809aaea4a636ece30ee5b7" S = "${WORKDIR}/git/open-vm-tools" @@ -77,7 +76,7 @@ PACKAGECONFIG[x11] = ",${NO_X11_FLAGS},${X11_DEPENDS}" # fuse gets implicitly detected; there is no --without-fuse option. PACKAGECONFIG[fuse] = ",,fuse" -CFLAGS:append:toolchain-clang = " -Wno-address-of-packed-member" +CFLAGS:append:toolchain-clang = " -Wno-address-of-packed-member -Wno-error=unused-function" FILES:${PN} += "\ ${libdir}/open-vm-tools/plugins/vmsvc/lib*.so \ ${libdir}/open-vm-tools/plugins/common/lib*.so \ diff --git a/meta-openembedded/meta-networking/recipes-support/pgpool2/pgpool2_4.4.1.bb b/meta-openembedded/meta-networking/recipes-support/pgpool2/pgpool2_4.4.1.bb index efb563b81a..5e6e00caeb 100644 --- a/meta-openembedded/meta-networking/recipes-support/pgpool2/pgpool2_4.4.1.bb +++ b/meta-openembedded/meta-networking/recipes-support/pgpool2/pgpool2_4.4.1.bb @@ -20,7 +20,7 @@ SRC_URI[sha256sum] = "4b379bbba8e178128a1cee4a5bd1ae116dedb3da6121b728c18f0f54c8 S = "${WORKDIR}/pgpool-II-${PV}" -inherit autotools systemd +inherit autotools-brokensep systemd SYSTEMD_SERVICE:${PN} = "pgpool.service" @@ -34,7 +34,7 @@ PACKAGECONFIG[postgresql] = "--with-pgsql-includedir=${STAGING_INCDIR}/postgresq EXTRA_OECONF += "--disable-static \ --disable-rpath \ " -B = "${S}" + CFLAGS:append = " -fcommon " FILES:${PN} += "${datadir}/pgpool-II/ " diff --git a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.12.bb b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.13.bb index 87d12bc6c8..4523187af2 100644 --- a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.12.bb +++ b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.13.bb @@ -11,7 +11,7 @@ DEPENDS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'tpm2', ' tpm2-tss', SRC_URI = "https://download.strongswan.org/strongswan-${PV}.tar.bz2 \ " -SRC_URI[sha256sum] = "5e6018b07cbe9f72c044c129955a13be3e2f799ceb53f53a4459da6a922b95e5" +SRC_URI[sha256sum] = "56e30effb578fd9426d8457e3b76c8c3728cd8a5589594b55649b2719308ba55" UPSTREAM_CHECK_REGEX = "strongswan-(?P<pver>\d+(\.\d+)+)\.tar" diff --git a/meta-openembedded/meta-networking/recipes-support/uftp/uftp_5.0.2.bb b/meta-openembedded/meta-networking/recipes-support/uftp/uftp_5.0.3.bb index ca2a8ce676..6f0858cc95 100644 --- a/meta-openembedded/meta-networking/recipes-support/uftp/uftp_5.0.2.bb +++ b/meta-openembedded/meta-networking/recipes-support/uftp/uftp_5.0.3.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d32239bcb673463ab874e80d47fae504" UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/uftp-multicast/files/source-tar/" SRC_URI = "${SOURCEFORGE_MIRROR}/uftp-multicast/source-tar/uftp-${PV}.tar.gz" -SRC_URI[sha256sum] = "57c12a6ae59942535fb5e620381aedeb17d50009ee71f236427ce237a46c0b14" +SRC_URI[sha256sum] = "cb8668c19b1f10bc63a16ffa893e205dc3ec86361037d477d8003260ebc40080" DEPENDS = "openssl" diff --git a/meta-openembedded/meta-oe/conf/layer.conf b/meta-openembedded/meta-oe/conf/layer.conf index b0e48dea72..4c63f1b399 100644 --- a/meta-openembedded/meta-oe/conf/layer.conf +++ b/meta-openembedded/meta-oe/conf/layer.conf @@ -112,4 +112,4 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ DEFAULT_TEST_SUITES:pn-meta-oe-ptest-image = " ${PTESTTESTSUITE}" -NON_MULTILIB_RECIPES:append = " crash pahole" +NON_MULTILIB_RECIPES:append = " crash pahole libbpf" diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-core/packagegroups/packagegroup-meta-oe.bbappend b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-core/packagegroups/packagegroup-meta-oe.bbappend index c3d4cbc500..db1813189d 100644 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-core/packagegroups/packagegroup-meta-oe.bbappend +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-core/packagegroups/packagegroup-meta-oe.bbappend @@ -14,7 +14,6 @@ RDEPENDS:packagegroup-meta-oe-connectivity += "\ RDEPENDS:packagegroup-meta-oe-extended += "\ lcdproc \ - mozjs-102 \ " RDEPENDS:packagegroup-meta-oe-support += "\ nvmetcli \ diff --git a/meta-openembedded/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0002-android-tools-modifications-to-make-it-build-in-yoct.patch b/meta-openembedded/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0002-android-tools-modifications-to-make-it-build-in-yoct.patch index e749366bb6..b719acec4c 100644 --- a/meta-openembedded/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0002-android-tools-modifications-to-make-it-build-in-yoct.patch +++ b/meta-openembedded/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0002-android-tools-modifications-to-make-it-build-in-yoct.patch @@ -88,11 +88,12 @@ diff --git a/debian/system/core/libbacktrace.mk b/debian/system/core/libbacktrac index e3411d76..86e69874 100644 --- a/debian/system/core/libbacktrace.mk +++ b/debian/system/core/libbacktrace.mk -@@ -1,3 +1,4 @@ +@@ -1,4 +1,4 @@ +-include /usr/share/dpkg/architecture.mk +include rules_yocto.mk - include /usr/share/dpkg/architecture.mk NAME = libbacktrace + @@ -83,10 +84,9 @@ CPPFLAGS += \ LDFLAGS += \ -L/usr/lib/p7zip \ @@ -218,6 +219,12 @@ diff --git a/debian/system/core/libutils.mk b/debian/system/core/libutils.mk index c37b1d2d..332492c1 100644 --- a/debian/system/core/libutils.mk +++ b/debian/system/core/libutils.mk +@@ -1,4 +1,4 @@ +-include /usr/share/dpkg/architecture.mk ++include rules_yocto.mk + + NAME = libutils + @@ -41,7 +41,7 @@ CPPFLAGS += \ LDFLAGS += \ diff --git a/meta-openembedded/meta-oe/recipes-bsp/bolt/bolt_0.9.6.bb b/meta-openembedded/meta-oe/recipes-bsp/bolt/bolt_0.9.6.bb index 860cb8381f..4688ae860b 100644 --- a/meta-openembedded/meta-oe/recipes-bsp/bolt/bolt_0.9.6.bb +++ b/meta-openembedded/meta-oe/recipes-bsp/bolt/bolt_0.9.6.bb @@ -18,4 +18,5 @@ inherit cmake pkgconfig meson features_check FILES:${PN} += "${datadir}/dbus-1/* \ ${datadir}/polkit-1/* \ + ${libdir}/systemd/* \ " diff --git a/meta-openembedded/meta-oe/recipes-bsp/i2cdev/i2cdev/fix-lsi2c-makefile.patch b/meta-openembedded/meta-oe/recipes-bsp/i2cdev/i2cdev/fix-lsi2c-makefile.patch new file mode 100644 index 0000000000..820d4bb447 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-bsp/i2cdev/i2cdev/fix-lsi2c-makefile.patch @@ -0,0 +1,28 @@ +From 57c09727220e00ab961325a2c85f5611bd1770d6 Mon Sep 17 00:00:00 2001 +Message-Id: <57c09727220e00ab961325a2c85f5611bd1770d6.1701984646.git.joerg.sommer@navimatix.de> +From: =?UTF-8?q?J=C3=B6rg=20Sommer?= <joerg.sommer@navimatix.de> +Date: Thu, 7 Dec 2023 22:29:40 +0100 +Subject: [PATCH] lsi2c/Makefile: Use builddir to refer to libi2cdev.a + +Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de> +Upstream-Status: Submitted [https://github.com/costad2/i2cdev/pull/2/commits/43f15e97d869797dbfeaacafa13216aaaf353426] +--- + lsi2c/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lsi2c/Makefile.am b/lsi2c/Makefile.am +index 6defc1f..0d81d01 100644 +--- a/lsi2c/Makefile.am ++++ b/lsi2c/Makefile.am +@@ -14,7 +14,7 @@ bin_PROGRAMS=lsi2c + lsi2c_SOURCES = lsi2c.c + + # Linker options for lsi2c +-lsi2c_LDADD = $(top_srcdir)/libi2cdev/libi2cdev.a ++lsi2c_LDADD = $(top_builddir)/libi2cdev/libi2cdev.a + + # Compiler options for lsi2c + lsi2c_CFLAGS = -I$(top_srcdir)/include -std=c99 -fPIC +-- +2.34.1 + diff --git a/meta-openembedded/meta-oe/recipes-bsp/i2cdev/i2cdev_git.bb b/meta-openembedded/meta-oe/recipes-bsp/i2cdev/i2cdev_git.bb new file mode 100644 index 0000000000..b1f8a7f805 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-bsp/i2cdev/i2cdev_git.bb @@ -0,0 +1,26 @@ +SUMMARY = "i2c dev tools for Linux" +DESCRIPTION = "\ + This package contains an I2C dev library and the i2c bus scanning \ + utility lsi2c. \ +" +AUTHOR = "Danielle Costantino" +HOMEPAGE = "https://github.com/costad2/i2cdev" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "\ + file://COPYING;md5=768997ba510a952bef1775c50bc22b00 \ + file://include/libi2cdev.h;beginline=12;endline=25;md5=72486a5e192d6ac5c7e55a4a95e380a6 \ + file://libi2cdev/smbus.c;beginline=9;endline=22;md5=d9a0de5a611b960fa75912ded6c60096 \ + file://lsi2c/lsi2c.c;beginline=11;endline=24;md5=72486a5e192d6ac5c7e55a4a95e380a6 \ +" + +PR = "git${SRCPV}" + +SRC_URI = "\ + git://github.com/costad2/i2cdev.git;protocol=https;branch=master \ + file://fix-lsi2c-makefile.patch \ +" +SRCREV = "ed9ad777d842880e7ac6ca5e0de4bd2d3b4d02dc" + +S = "${WORKDIR}/git" + +inherit autotools diff --git a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.8.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.8.2.bb index 65fcf0a3ab..fb9c5c7b17 100644 --- a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.8.0.bb +++ b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.8.2.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ " -SRCREV = "2f959c4596d87461a84f6132ca596754ca0beeda" +SRCREV = "f24f1d954cfb602c45c5b563b9fbe3418630fb59" SRC_URI = "git://github.com/cminyard/gensio;protocol=https;branch=master" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.31.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.31.2.bb index 7001d3e368..b7bb399e2a 100644 --- a/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.31.1.bb +++ b/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.31.2.bb @@ -11,7 +11,7 @@ DEPENDS = "glib-2.0 glib-2.0-native libgudev" inherit meson pkgconfig bash-completion gobject-introspection -SRCREV = "db0f5a09d4d29145620b81df0fdd8f4786a8fb59" +SRCREV = "9c0309fcd3142411c921c14f7dd675cac086bab6" SRC_URI = "git://gitlab.freedesktop.org/mobile-broadband/libmbim.git;protocol=https;branch=main" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.34.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.35.1.bb index 2cb843a4af..87d3546023 100644 --- a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.34.0.bb +++ b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.35.1.bb @@ -12,8 +12,8 @@ DEPENDS = "glib-2.0 glib-2.0-native" inherit meson pkgconfig bash-completion gobject-introspection -SRCREV = "3f07d6e5b4677558543b3b4484ea88ad92257e92" -SRC_URI = "git://gitlab.freedesktop.org/mobile-broadband/libqmi.git;protocol=https;branch=qmi-1-34" +SRCREV = "7bb160c70ecd4d8f47ae5c228a85c6a6cf4e4bdd" +SRC_URI = "git://gitlab.freedesktop.org/mobile-broadband/libqmi.git;protocol=https;branch=main" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.4.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.4.0.bb index 0ee050da99..693ec12d3c 100644 --- a/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.4.0.bb +++ b/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.4.0.bb @@ -46,3 +46,5 @@ RDEPENDS:${PN}-server += "openssh-sshd" #| {standard input}:2103: Error: instruction not supported in Thumb16 mode -- `adcs r7,r7,r7' #| {standard input}:2104: Error: selected processor does not support Thumb mode `it cs' ARM_INSTRUCTION_SET = "arm" + +CXXFLAGS:append = " -std=c++17" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.3.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.3.2.bb index 1e1e923399..1b2e51c3ac 100644 --- a/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.3.1.bb +++ b/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.3.2.bb @@ -10,10 +10,10 @@ LIC_FILES_CHKSUM = " \ file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \ " -SRC_URI = "git://github.com/eclipse/paho.mqtt.cpp;protocol=https;branch=master \ +SRC_URI = "git://github.com/eclipse/paho.mqtt.cpp;protocol=https;branch=v1.3.x \ file://0001-cmake-Use-CMAKE_INSTALL_LIBDIR-and-CMAKE_INSTALL_BIN.patch \ -" -SRCREV = "4691652479bb4b398c7b81bde639482b164ae6d6" + " +SRCREV = "5e0d1bf37b4826d680ec066ec42afd133851a681" DEPENDS = "openssl paho-mqtt-c" diff --git a/meta-openembedded/meta-oe/recipes-core/dbus-cxx/dbus-cxx_2.4.0.bb b/meta-openembedded/meta-oe/recipes-core/dbus-cxx/dbus-cxx_2.5.0.bb index 6294827b18..fa81472af8 100644 --- a/meta-openembedded/meta-oe/recipes-core/dbus-cxx/dbus-cxx_2.4.0.bb +++ b/meta-openembedded/meta-oe/recipes-core/dbus-cxx/dbus-cxx_2.5.0.bb @@ -6,7 +6,7 @@ LICENSE = "LGPL-3.0-or-later | BSD-3-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=24594f493407a4cd401ce9794e0b9308" SRC_URI = "git://github.com/dbus-cxx/dbus-cxx.git;branch=master;protocol=https" -SRCREV = "ebac3df5beeb4337f65968ae5b265927abb792af" +SRCREV = "2c3b3a767a5898ea8e51159e8122ddbb3aaeeb94" DEPENDS = "\ dbus \ diff --git a/meta-openembedded/meta-oe/recipes-core/opencl/opencl-headers_2023.04.17.bb b/meta-openembedded/meta-oe/recipes-core/opencl/opencl-headers_2023.12.14.bb index 6ffaf68ea2..8b1c795666 100644 --- a/meta-openembedded/meta-oe/recipes-core/opencl/opencl-headers_2023.04.17.bb +++ b/meta-openembedded/meta-oe/recipes-core/opencl/opencl-headers_2023.12.14.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" SECTION = "base" S = "${WORKDIR}/git" -SRCREV = "4fdcfb0ae675f2f63a9add9552e0af62c2b4ed30" +SRCREV = "2368105c0531069fe927989505de7d125ec58c55" SRC_URI = "git://github.com/KhronosGroup/OpenCL-Headers.git;branch=main;protocol=https" do_configure[noexec] = "1" diff --git a/meta-openembedded/meta-oe/recipes-core/opencl/opencl-icd-loader_2023.04.17.bb b/meta-openembedded/meta-oe/recipes-core/opencl/opencl-icd-loader_2023.12.14.bb index 925053bd65..6bf01a2484 100644 --- a/meta-openembedded/meta-oe/recipes-core/opencl/opencl-icd-loader_2023.04.17.bb +++ b/meta-openembedded/meta-oe/recipes-core/opencl/opencl-icd-loader_2023.12.14.bb @@ -13,7 +13,7 @@ RPROVIDES:${PN} = "virtual/opencl-icd" S = "${WORKDIR}/git" -SRCREV = "b1bce7c3c580a8345205cf65fc1a5f55ba9cdb01" +SRCREV = "229410f86a8c8c9e0f86f195409e5481a2bae067" SRC_URI = "git://github.com/KhronosGroup/OpenCL-ICD-Loader.git;branch=main;protocol=https" EXTRA_OECMAKE:append = " \ diff --git a/meta-openembedded/meta-oe/recipes-crypto/monocypher/monocypher_4.0.2.bb b/meta-openembedded/meta-oe/recipes-crypto/monocypher/monocypher_4.0.2.bb index 899638161a..e6380d9a20 100644 --- a/meta-openembedded/meta-oe/recipes-crypto/monocypher/monocypher_4.0.2.bb +++ b/meta-openembedded/meta-oe/recipes-crypto/monocypher/monocypher_4.0.2.bb @@ -11,8 +11,8 @@ SRCREV = "0d85f98c9d9b0227e42cf795cb527dff372b40a4" S = "${WORKDIR}/git" -CFLAGS+="-pedantic -Wall -Wextra -O3" -EXTRA_OEMAKE = "'PREFIX=${prefix}' 'DESTDIR=${D}' 'CFLAGS=${CFLAGS}'" +CFLAGS += "-pedantic -Wall -Wextra -O3" +EXTRA_OEMAKE = "'PREFIX=${prefix}' 'DESTDIR=${D}' 'CFLAGS=${CFLAGS}' 'LIBDIR=${libdir}'" do_compile() { oe_runmake library diff --git a/meta-openembedded/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.29.0.bb b/meta-openembedded/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.30.0.bb index d17ac1e7e1..df6ca75461 100644 --- a/meta-openembedded/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.29.0.bb +++ b/meta-openembedded/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.30.0.bb @@ -19,7 +19,7 @@ SRC_URI = "git://github.com/OpenSC/${BPN}.git;branch=master;protocol=https" S = "${WORKDIR}/git" # master -SRCREV = "f23911037d9790a3f3a3447a78d31a6362358e21" +SRCREV = "8bed16034f629a0361fa8ff89deed2b43dc45d8b" PV .= "+1.30.0+git${SRCPV}" UPSTREAM_CHECK_GITTAGREGEX = "pkcs11-helper-(?P<pver>\d+(\.\d+)+)" diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.11.5.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.11.6.bb index 578357b480..578357b480 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.11.5.bb +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.11.6.bb diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc index d64d5b0e42..7e6ef42bc3 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc @@ -23,10 +23,9 @@ SRC_URI = "https://archive.mariadb.org/${BP}/source/${BP}.tar.gz \ file://0001-sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch \ file://lfs64.patch \ file://0001-Add-missing-includes-cstdint-and-cstdio.patch \ - file://libfmt_make_fmt.patch \ " SRC_URI:append:libc-musl = " file://ppc-remove-glibc-dep.patch" -SRC_URI[sha256sum] = "4c9484048d4d0c71dd076ab33fc2a9ce8510bdf762886de0d63fe52496f3dbbb" +SRC_URI[sha256sum] = "1c0163463e98d71f4780741611a40981eee2bc44d392601ca49bbf948d04dd67" UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases" diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/libfmt_make_fmt.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/libfmt_make_fmt.patch deleted file mode 100644 index 4d5f4a611b..0000000000 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/libfmt_make_fmt.patch +++ /dev/null @@ -1,68 +0,0 @@ -Make make_arg work with libfmt 10.1+ - -This ensures that compiler can find the correct template to use -Fixes - -mariadb-10.11.5/sql/item_strfunc.cc:1429:22: error: no matching functi -on for call to 'make_arg' -| 1429 | vargs[carg-1]= fmt::detail::make_arg<ctx>(args[carg]->val_int()); -| | ^~~~~~~~~~~~~~~~~~~~~~~~~~ -| /mnt/b/yoe/master/build/tmp/work/cortexa72-cortexa53-crypto-yoe-linux/mariadb/10.11.5/recipe-sysroot/usr/include/fmt/core.h:1588:20: note: candidate functio -n [with Context = fmt::basic_format_context<fmt::appender, char>, T = long long] not viable: expects an lvalue for 1st argument -| 1588 | FMT_CONSTEXPR auto make_arg(T& val) -> basic_format_arg<Context> { -| | ^ ~~~~~~ -| /mnt/b/yoe/master/build/tmp/work/cortexa72-cortexa53-crypto-yoe-linux/mariadb/10.11.5/recipe-sysroot/usr/include/fmt/core.h:1559:31: note: candidate templat -e ignored: invalid explicitly-specified argument for template parameter 'PACKED' -| 1559 | FMT_CONSTEXPR FMT_INLINE auto make_arg(T& [ 46%] Building C object mysys/CMakeFiles/mysys.dir/my_likely.c.o -| val) -> value<Context> { -| | ^ -| /mnt/b/yoe/master/build/tmp/work/cortexa72-cortexa53-crypto-yoe-linux/mariadb/10.11.5/recipe-sysroot/usr/include/fmt/core.h:1596:27: note: candidate templat -e ignored: invalid explicitly-specified argument for template parameter 'PACKED' -| 1596 | FMT_CONSTEXPR inline auto make_arg(T& val) -> basic_format_arg<Context> { -| | ^ - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> - ---- a/cmake/libfmt.cmake -+++ b/cmake/libfmt.cmake -@@ -33,8 +33,9 @@ MACRO (CHECK_LIBFMT) - #include <fmt/format-inl.h> - #include <iostream> - int main() { -+ int val = 42; - fmt::format_args::format_arg arg= -- fmt::detail::make_arg<fmt::format_context>(42); -+ fmt::detail::make_arg<fmt::format_context>(val); - std::cout << fmt::vformat(\"The answer is {}.\", - fmt::format_args(&arg, 1)); - }" HAVE_SYSTEM_LIBFMT) ---- a/sql/item_strfunc.cc -+++ b/sql/item_strfunc.cc -@@ -1426,14 +1426,22 @@ String *Item_func_sformat::val_str(Strin - switch (args[carg]->result_type()) - { - case INT_RESULT: -- vargs[carg-1]= fmt::detail::make_arg<ctx>(args[carg]->val_int()); -+ int intval; -+ intval = args[carg]->val_int(); -+ vargs[carg-1]= fmt::detail::make_arg<ctx>(intval); - break; - case DECIMAL_RESULT: // TODO - case REAL_RESULT: -+ float fval; -+ int val; - if (args[carg]->field_type() == MYSQL_TYPE_FLOAT) -- vargs[carg-1]= fmt::detail::make_arg<ctx>((float)args[carg]->val_real()); -- else -- vargs[carg-1]= fmt::detail::make_arg<ctx>(args[carg]->val_real()); -+ { -+ fval = (float)args[carg]->val_real(); -+ vargs[carg-1]= fmt::detail::make_arg<ctx>(fval); -+ } else { -+ val = args[carg]->val_real(); -+ vargs[carg-1]= fmt::detail::make_arg<ctx>(val); -+ } - break; - case STRING_RESULT: - if (!(parg= args[carg]->val_str(&val_arg[carg-1]))) diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.11.6.bb index a4498fa44e..a4498fa44e 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.11.6.bb diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch index fb70b22720..ab578056ff 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch +++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch @@ -1,4 +1,4 @@ -From 5f9dedc91a0a9710033fa155ea759f765ce5b58b Mon Sep 17 00:00:00 2001 +From d44c83ed0f30462a31930d6d925762b3f8412ce2 Mon Sep 17 00:00:00 2001 From: Yi Fan Yu <yifan.yu@windriver.com> Date: Fri, 5 Feb 2021 17:15:42 -0500 Subject: [PATCH] configure.ac: bypass autoconf 2.69 version check @@ -13,12 +13,12 @@ Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com> 1 file changed, 4 deletions(-) diff --git a/configure.ac b/configure.ac -index 524fdf1..3bea642 100644 +index e988503..d1b2cfd 100644 --- a/configure.ac +++ b/configure.ac @@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros - AC_INIT([PostgreSQL], [15.4], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) + AC_INIT([PostgreSQL], [15.5], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) -m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required. -Untested combinations of 'autoconf' and PostgreSQL versions are not @@ -28,5 +28,5 @@ index 524fdf1..3bea642 100644 AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c]) AC_CONFIG_AUX_DIR(config) -- -2.34.1 +2.25.1 diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_15.4.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_15.5.bb index 3aa2662891..cb90ff930a 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_15.4.bb +++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_15.5.bb @@ -11,6 +11,6 @@ SRC_URI += "\ file://0001-postgresql-fix-ptest-failure-of-sysviews.patch \ " -SRC_URI[sha256sum] = "baec5a4bdc4437336653b6cb5d9ed89be5bd5c0c58b94e0becee0a999e63c8f9" +SRC_URI[sha256sum] = "8f53aa95d78eb8e82536ea46b68187793b42bba3b4f65aa342f540b23c9b10a6" CVE_STATUS[CVE-2017-8806] = "not-applicable-config: Ddoesn't apply to out configuration of postgresql so we can safely ignore it." diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb index 65ecab7d08..ee62d4b597 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb @@ -27,7 +27,6 @@ inherit cmake EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \ -DBUILD_TESTING=OFF \ - -DCMAKE_CXX_STANDARD=14 \ -DABSL_ENABLE_INSTALL=ON \ " diff --git a/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson_1.7.16.bb b/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson_1.7.17.bb index f8e0bbff0b..6c8934b342 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson_1.7.16.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson_1.7.17.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=218947f77e8cb8e2fa02918dc41c50d0" SRC_URI = "git://github.com/DaveGamble/cJSON.git;branch=master;protocol=https \ file://run-ptest \ " -SRCREV = "cb8693b058ba302f4829ec6d03f609ac6f848546" +SRCREV = "87d8f0961a01bf09bef98ff89bae9fdec42181ee" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20231126.0.bb b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20231224.0.bb index 44a7f6855e..9c4e819c25 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20231126.0.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20231224.0.bb @@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" inherit autotools-brokensep pkgconfig manpages -SRCREV = "c480d71e19ad842a1217e9e84e6e4afca124b95e" +SRCREV = "bea6f5bc96d9a5d11da36d23ee50d952d8bf3a8d" SRC_URI = "git://github.com/universal-ctags/ctags;branch=master;protocol=https" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.7.bb b/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.7.1.bb index 5c2e3aae8f..6b12335513 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.7.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.7.1.bb @@ -12,7 +12,7 @@ GITHUB_BASE_URI = "https://github.com/jqlang/${BPN}/releases/" SRC_URI = "${GITHUB_BASE_URI}/download/${BPN}-${PV}/${BPN}-${PV}.tar.gz \ file://run-ptest \ " -SRC_URI[sha256sum] = "402a0d6975d946e6f4e484d1a84320414a0ff8eb6cf49d2c11d144d4d344db62" +SRC_URI[sha256sum] = "478c9ca129fd2e3443fe27314b455e211e0d8c60bc8ff7df703873deeee580c2" inherit autotools github-releases ptest diff --git a/meta-openembedded/meta-oe/recipes-devtools/lemon/files/lemon.1 b/meta-openembedded/meta-oe/recipes-devtools/lemon/files/lemon.1 deleted file mode 100644 index 914ee07013..0000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/lemon/files/lemon.1 +++ /dev/null @@ -1,63 +0,0 @@ -.Dd 2002-10-04 -.Dt LEMON 1 -.Os "Debian GNU/Linux" -.\" Manual page created by Guus Sliepen <guus@debian.org> -.Sh NAME -.Nm lemon -.Nd The Lemon Parser Generator -.Sh SYNOPSIS -.Nm -.Op Fl bcgmqsx -.Ar input -.Sh DESCRIPTION -.Nm -is an LALR(1) parser generator for C or C++. -It does the same job as bison and yacc. -But -.Nm -is not another bison or yacc clone. -It uses a different grammar syntax which is designed to reduce the number of coding errors. -.Nm -also uses a more sophisticated parsing engine that is faster than yacc and bison -and which is both reentrant and thread-safe. -Furthermore, -.Nm -implements features that can be used to eliminate resource leaks, -making is suitable for use in long-running programs such as graphical user interfaces or embedded controllers. -.Pp -.Nm -will read the grammer from -.Ar input -and write out a parser for that grammar in the C language. -.Sh OPTIONS -.Bl -tag -width indent -.It Fl b -Print only the basis in report. -.It Fl c -Don't compress the action table. -.It Fl g -Print grammar without actions. -.It Fl m -Output a makeheaders compatible file. -.It Fl q -(Quiet) Don't print the report file. -.It Fl s -Print parser stats to standard output. -.It Fl x -Print the version number. -.El -.Sh FILES -.Bl -tag -width indent -.It Pa /usr/share/lemon/lempar.c -Driver template for the -.Nm -parser generator. -.El -.Sh AUTHOR -.Nm -has been written by -.An D. Richard Hipp Aq drh@hwaci.com . -.Pp -This manual page was written by -.An Guus Sliepen Aq guus@debian.org -for the Debian GNU/Linux system. diff --git a/meta-openembedded/meta-oe/recipes-devtools/lemon/lemon.inc b/meta-openembedded/meta-oe/recipes-devtools/lemon/lemon.inc deleted file mode 100644 index 57b9fb710e..0000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/lemon/lemon.inc +++ /dev/null @@ -1,25 +0,0 @@ -DESCRIPTION = "The Lemon Parser Generator" -HOMEPAGE = "http://www.hwaci.com/sw/lemon/" -LICENSE = "PD" -SECTION = "devel" - -SRC_URI = "http://www.sqlite.org/sqlite-${PV}.tar.gz \ - file://lemon.1" - -S = "${WORKDIR}/sqlite-${PV}/tool" - -do_compile() { - ${CC} ${CFLAGS} lemon.c -c -o lemon.o - ${CCLD} ${LDFLAGS} lemon.o -o lemon -} - -do_install() { - install -d ${D}${bindir} - install -m 0755 lemon ${D}${bindir} - install -m 0644 lempar.c ${D}${bindir} - install -d ${D}${mandir}/man1 - install -m 0644 ${WORKDIR}/lemon.1 ${D}${mandir}/man1/ -} - -BBCLASSEXTEND = "native" - diff --git a/meta-openembedded/meta-oe/recipes-devtools/lemon/lemon_3.44.2.bb b/meta-openembedded/meta-oe/recipes-devtools/lemon/lemon_3.44.2.bb new file mode 100644 index 0000000000..2904a454dc --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/lemon/lemon_3.44.2.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "The Lemon Parser Generator" +HOMEPAGE = "https://sqlite.org/src/file/doc/lemon.html" +LICENSE = "PD" +SECTION = "devel" + +LIC_FILES_CHKSUM = "file://tool/lemon.c;endline=8;md5=c7551a78fa3fdecd96d1ad6761d205ee" + +SRC_URI = "git://github.com/sqlite/sqlite;protocol=https;branch=branch-3.44" + +SRCREV = "c8f9803dc32bfee78a9ca2b1abbe39499729219b" + +S = "${WORKDIR}/git" + +do_compile() { + ${CC} ${CFLAGS} ${LDFLAGS} tool/lemon.c -o lemon +} + +do_install() { + install -d ${D}${bindir} + install -m 0755 lemon ${D}${bindir} + install -m 0644 tool/lempar.c ${D}${bindir} +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-devtools/lemon/lemon_3.7.3.bb b/meta-openembedded/meta-oe/recipes-devtools/lemon/lemon_3.7.3.bb deleted file mode 100644 index 354db17e6e..0000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/lemon/lemon_3.7.3.bb +++ /dev/null @@ -1,7 +0,0 @@ -require lemon.inc - -LIC_FILES_CHKSUM = "file://lemon.c;endline=8;md5=c7551a78fa3fdecd96d1ad6761d205ee" - -SRC_URI[md5sum] = "5437978aae90350cf984993091e0d695" -SRC_URI[sha256sum] = "dbf352e8fbb74829f5e7a88f9f6ceeb80a709537f668c36e4b6cdfb271309ef6" - diff --git a/meta-openembedded/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb b/meta-openembedded/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb index 2a1234c57e..9b18269bcb 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb @@ -11,13 +11,12 @@ SRC_URI = "git://github.com/hatukanezumi/sombok.git;protocol=https;branch=master file://0001-configure.ac-fix-cross-compiling-issue.patch \ " -inherit autotools pkgconfig +inherit autotools-brokensep pkgconfig # sombok-2.4.0 SRCREV = "0098d85a037ef5c99a648a3669a077781a45e8cc" S = "${WORKDIR}/git" -B = "${S}" # Disable libthai support EXTRA_OECONF = "--disable-libthai" diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-fix-build-with-Python-3.12.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-fix-build-with-Python-3.12.patch new file mode 100644 index 0000000000..39026d0742 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-fix-build-with-Python-3.12.patch @@ -0,0 +1,55 @@ +From 656f6c91f1da7f1e1ffb01e2de7d9026a84958b5 Mon Sep 17 00:00:00 2001 +From: Luigi Pinca <luigipinca@gmail.com> +Date: Wed, 8 Nov 2023 21:20:53 +0100 +Subject: [PATCH] build: fix build with Python 3.12 + +Replace `distutils.version.StrictVersion` with +`packaging.version.Version`. + +Refs: https://github.com/nodejs/node/pull/50209#issuecomment-1795852539 +PR-URL: https://github.com/nodejs/node/pull/50582 +Reviewed-By: Richard Lau <rlau@redhat.com> +Reviewed-By: Chengzhong Wu <legendecas@gmail.com> + +Upstream-Status: Backport [https://github.com/nodejs/node/commit/95534ad82f4e33f53fd50efe633d43f8da70cba6] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + configure.py | 11 +++++------ + 1 file changed, 5 insertions(+), 6 deletions(-) + +diff --git a/configure.py b/configure.py +index 62f041ce..18fe7c14 100755 +--- a/configure.py ++++ b/configure.py +@@ -14,8 +14,6 @@ import bz2 + import io + from pathlib import Path + +-from distutils.version import StrictVersion +- + # If not run from node/, cd to node/. + os.chdir(Path(__file__).parent) + +@@ -30,6 +28,7 @@ tools_path = Path('tools') + + sys.path.insert(0, str(tools_path / 'gyp' / 'pylib')) + from gyp.common import GetFlavor ++from packaging.version import Version + + # imports in tools/configure.d + sys.path.insert(0, str(tools_path / 'configure.d')) +@@ -1565,10 +1564,10 @@ def configure_openssl(o): + # supported asm compiler for AVX2. See https://github.com/openssl/openssl/ + # blob/OpenSSL_1_1_0-stable/crypto/modes/asm/aesni-gcm-x86_64.pl#L52-L69 + openssl110_asm_supported = \ +- ('gas_version' in variables and StrictVersion(variables['gas_version']) >= StrictVersion('2.23')) or \ +- ('xcode_version' in variables and StrictVersion(variables['xcode_version']) >= StrictVersion('5.0')) or \ +- ('llvm_version' in variables and StrictVersion(variables['llvm_version']) >= StrictVersion('3.3')) or \ +- ('nasm_version' in variables and StrictVersion(variables['nasm_version']) >= StrictVersion('2.10')) ++ ('gas_version' in variables and Version(variables['gas_version']) >= Version('2.23')) or \ ++ ('xcode_version' in variables and Version(variables['xcode_version']) >= Version('5.0')) or \ ++ ('llvm_version' in variables and Version(variables['llvm_version']) >= Version('3.3')) or \ ++ ('nasm_version' in variables and Version(variables['nasm_version']) >= Version('2.10')) + + if is_x86 and not openssl110_asm_supported: + error('''Did not find a new enough assembler, install one or build with diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-gyp-resolve-python-3.12-issues.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-gyp-resolve-python-3.12-issues.patch new file mode 100644 index 0000000000..9d878dfb8d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-gyp-resolve-python-3.12-issues.patch @@ -0,0 +1,63 @@ +From bf8c96ba6936050ed4a0de5bc8aeeaf2b3c50dc1 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex@linutronix.de> +Date: Thu, 7 Dec 2023 12:54:30 +0100 +Subject: [PATCH] gyp: resolve python 3.12 issues + +Upstream has updated gyp wholesale in the main branch, so +this patch can be dropped in due time. + +Upstream-Status: Inappropriate [issue will be fixed upstream with the next nodejs LTS update] + +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py | 4 ++-- + tools/gyp/pylib/gyp/input.py | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py +index d9699a0a..173e9465 100644 +--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py ++++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py +@@ -16,7 +16,7 @@ import subprocess + import sys + import threading + import traceback +-from distutils.version import StrictVersion ++from packaging.version import Version + from gyp.common import GypError + from gyp.common import OrderedSet + +@@ -1183,7 +1183,7 @@ def EvalSingleCondition(cond_expr, true_dict, false_dict, phase, variables, buil + else: + ast_code = compile(cond_expr_expanded, "<string>", "eval") + cached_conditions_asts[cond_expr_expanded] = ast_code +- env = {"__builtins__": {}, "v": StrictVersion} ++ env = {"__builtins__": {}, "v": Version} + if eval(ast_code, env, variables): + return true_dict + return false_dict +diff --git a/tools/gyp/pylib/gyp/input.py b/tools/gyp/pylib/gyp/input.py +index 354958bf..ab6112e5 100644 +--- a/tools/gyp/pylib/gyp/input.py ++++ b/tools/gyp/pylib/gyp/input.py +@@ -16,7 +16,7 @@ import subprocess + import sys + import threading + import traceback +-from distutils.version import StrictVersion ++from packaging.version import Version + from gyp.common import GypError + from gyp.common import OrderedSet + +@@ -1190,7 +1190,7 @@ def EvalSingleCondition(cond_expr, true_dict, false_dict, phase, variables, buil + else: + ast_code = compile(cond_expr_expanded, "<string>", "eval") + cached_conditions_asts[cond_expr_expanded] = ast_code +- env = {"__builtins__": {}, "v": StrictVersion} ++ env = {"__builtins__": {}, "v": Version} + if eval(ast_code, env, variables): + return true_dict + return false_dict +-- +2.39.2 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_20.8.1.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_20.8.1.bb index 65f4eb3f3a..0ca0c1498a 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_20.8.1.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_20.8.1.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=162595a4a2f3453a0534e60b0afe4e7b" CVE_PRODUCT = "nodejs node.js" -DEPENDS = "openssl file-replacement-native" +DEPENDS = "openssl file-replacement-native python3-packaging-native" DEPENDS:append:class-target = " qemu-native" DEPENDS:append:class-native = " c-ares-native" @@ -27,6 +27,8 @@ SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \ file://0001-Revert-io_uring-changes-from-libuv-1.46.0.patch \ file://0002-Revert-io_uring-changes-from-libuv-1.45.0.patch \ file://run-ptest \ + file://0001-build-fix-build-with-Python-3.12.patch \ + file://0001-gyp-resolve-python-3.12-issues.patch \ " SRC_URI:append:class-target = " \ diff --git a/meta-openembedded/meta-oe/recipes-devtools/perl/exiftool_12.70.bb b/meta-openembedded/meta-oe/recipes-devtools/perl/exiftool_12.71.bb index 58b5e51397..7d8d6b69f7 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/perl/exiftool_12.70.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/perl/exiftool_12.71.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://perl-Image-ExifTool.spec;beginline=5;endline=5;md5=ff inherit cpan -SRCREV = "bec8a1bff8a97ea8f2895e7e5c5e396e0e48d419" +SRCREV = "7cefbaaa9057231b6e9b5765934f06e75994420d" SRC_URI = "git://github.com/exiftool/exiftool;protocol=https;branch=master" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_8.2.9.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_8.2.9.bb index 27d3be1b00..cb9d0060a3 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/php/php_8.2.9.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/php/php_8.2.9.bb @@ -6,7 +6,7 @@ LICENSE = "PHP-3.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=5ebd5be8e2a89f634486445bd164bef0" BBCLASSEXTEND = "native" -DEPENDS = "zlib bzip2 libxml2 virtual/libiconv php-native lemon-native" +DEPENDS = "zlib bzip2 libxml2 virtual/libiconv php-native" DEPENDS:append:libc-musl = " libucontext" DEPENDS:class-native = "zlib-native libxml2-native" diff --git a/meta-openembedded/meta-oe/recipes-devtools/sip/sip_6.7.12.bb b/meta-openembedded/meta-oe/recipes-devtools/sip/sip_6.8.1.bb index 00823cf1a6..e045431d6b 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/sip/sip_6.7.12.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/sip/sip_6.8.1.bb @@ -11,6 +11,14 @@ LIC_FILES_CHKSUM = "file://LICENSE-GPL2;md5=e91355d8a6f8bd8f7c699d62863c7303" inherit pypi setuptools3 python3native PYPI_PACKAGE = "sip" -SRC_URI[sha256sum] = "08e66f742592eb818ac8fda4173e2ed64c9f2d40b70bee11db1c499127d98450" +SRC_URI[sha256sum] = "3002df415e168ac3ffe393942dbc7131cb82ade50000e1526f46a88ade26f598" + +RDEPENDS:${PN} = " \ + python3-core \ + python3-packaging \ + python3-logging \ + python3-tomllib \ + python3-setuptools \ +" BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb b/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb index f3cab4e610..237c4e7389 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb @@ -28,6 +28,8 @@ SRC_URI[sha256sum] = "63df418a859d0a463347f95ded5cd88a3dd3aaa1ceecaeee362194bc30 S = "${WORKDIR}/${BPN}${PV}/unix" +DEBUG_PREFIX_MAP += "-fdebug-prefix-map=${S}/../=${TARGET_DBGSRC_DIR}/.." + PSEUDO_IGNORE_PATHS .= ",${WORKDIR}/${BPN}${PV}" # Short version format: "8.6" diff --git a/meta-openembedded/meta-oe/recipes-devtools/valijson/valijson_1.0.1.bb b/meta-openembedded/meta-oe/recipes-devtools/valijson/valijson_1.0.2.bb index b8e7f50b58..f531218aeb 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/valijson/valijson_1.0.1.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/valijson/valijson_1.0.2.bb @@ -4,7 +4,7 @@ LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=5c4583a434195e4f3b418e17c8ca2daf" SRC_URI = "git://github.com/tristanpenman/valijson.git;branch=master;protocol=https" -SRCREV = "f7399c1a244982632671906d17f3ea77f3ccfc67" +SRCREV = "0b4771e273a065d437814baf426bcfcafec0f434" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak_1.15.6.bb b/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak_1.15.6.bb index 0ee53afb6d..caa353bb8d 100644 --- a/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak_1.15.6.bb +++ b/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak_1.15.6.bb @@ -43,8 +43,6 @@ RDEPENDS:${PN} = " \ xdg-dbus-proxy \ " -EXTRA_OEMESON += "-Dsystem_dbus_proxy=${bindir}/xdg-dbus-proxy -Dsystem_bubblewrap=${bindir}/bwrap" - GIR_MESON_OPTION = "gir" GIR_MESON_ENABLE_FLAG = 'enabled' GIR_MESON_DISABLE_FLAG = 'disabled' diff --git a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.3.0.bb b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.3.0.bb index f636990f89..3eefda7332 100644 --- a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.3.0.bb +++ b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.3.0.bb @@ -22,6 +22,10 @@ CVE_STATUS_LIBLIST = " \ CVE-2017-5836 \ " +do_configure:prepend() { + rm ${S}/m4/ax_python_devel.m4 +} + do_install:append () { if [ -e ${D}${libdir}/python*/site-packages/plist/_plist.so ]; then chrpath -d ${D}${libdir}/python*/site-packages/plist/_plist.so diff --git a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_git.bb b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_git.bb index f8e7f98dfd..0142bcbaf5 100644 --- a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_git.bb +++ b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_git.bb @@ -23,6 +23,10 @@ CVE_STATUS_LIBLIST = " \ CVE-2017-5836 \ " +do_configure:prepend() { + rm ${S}/m4/ax_python_devel.m4 +} + do_install:append () { if [ -e ${D}${libdir}/python*/site-packages/plist/_plist.so ]; then chrpath -d ${D}${libdir}/python*/site-packages/plist/_plist.so diff --git a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/0001-config.guess-Support-build-on-aarch64.patch b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/0001-config.guess-Support-build-on-aarch64.patch new file mode 100644 index 0000000000..3086a70455 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/0001-config.guess-Support-build-on-aarch64.patch @@ -0,0 +1,31 @@ +From 92fdbfdd6b55ff0b65edd9a283ac85ad349e325b Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Tue, 12 Dec 2023 07:27:52 +0000 +Subject: [PATCH] config.guess: Fix do_configure error builder aarch64 + +Fixed configure error when build on aarch64 host: +error: cannot guess build type; you must specify one + +Upstream-Status: Pending + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + config.guess | 2 +- + 1 files changed, 1 insertion(+), 1 deletion(-) + +diff --git a/thirdparty/uuid-1.6.2/config.guess b/thirdparty/uuid-1.6.2/config.guess +index ca2a03c..a858bfd 100755 +--- a/thirdparty/uuid-1.6.2/config.guess ++++ b/thirdparty/uuid-1.6.2/config.guess +@@ -835,7 +835,7 @@ EOF + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; +- arm*:Linux:*:*) ++ arm*:Linux:*:*|aarch64:Linux:*:*) + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ +-- +2.34.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb index 67a2d9fa5f..5059b63212 100644 --- a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb +++ b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb @@ -40,6 +40,7 @@ SRC_URI = "git://github.com/apache/nifi-minifi-cpp.git;branch=master;protocol=ht file://minifi.service \ file://systemd-volatile.conf \ file://sysvinit-volatile.conf \ + file://0001-config.guess-Support-build-on-aarch64.patch \ " SRC_URI[curl.md5sum] = "d0bcc586873cfef08b4b9594e5395a33" diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/0001-Cargo.toml-do-not-abort-on-panic.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/0001-Cargo.toml-do-not-abort-on-panic.patch deleted file mode 100644 index 0dd936197b..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/0001-Cargo.toml-do-not-abort-on-panic.patch +++ /dev/null @@ -1,32 +0,0 @@ -From bb46a8a729cc4d66ad36db40c17e36a5111f19c3 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex@linutronix.de> -Date: Fri, 1 Oct 2021 13:00:24 +0200 -Subject: [PATCH] Cargo.toml: do not abort on panic - -OE's rust is configured to unwind, and this setting clashes with it/ - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin <alex@linutronix.de> - ---- - Cargo.toml | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/Cargo.toml b/Cargo.toml -index f576534bf3..5ecc17c319 100644 ---- a/Cargo.toml -+++ b/Cargo.toml -@@ -56,13 +56,11 @@ opt-level = 1 - rpath = false - lto = false - debug-assertions = true --panic = "abort" - - [profile.release] - opt-level = 2 - rpath = false - debug-assertions = false --panic = "abort" - - # Optimize build dependencies, because bindgen and proc macros / style - # compilation take more to run than to build otherwise. diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/0001-add-arm-to-list-of-mozinline.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/0001-add-arm-to-list-of-mozinline.patch deleted file mode 100644 index 02f5e5c7e1..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/0001-add-arm-to-list-of-mozinline.patch +++ /dev/null @@ -1,25 +0,0 @@ -Backport patch from firefox bugzilla to fix compile error for qemuarm with -some armv7ve tunes such as 'armv7vethf' and 'armv7vet-vfpv3d16': - -| /path/to/build/tmp/work/armv7vet2hf-vfp-poky-linux-gnueabi/mozjs-102/102.5.0-r0/build/js/src/jit/AtomicOperationsGenerated.h:240:17: - error: 'asm' operand has impossible constraints -| 240 | asm volatile ( -| | ^~~ - -Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1761665] - -Signed-off-by: Kai Kang <kai.kang@windriver.com> - -diff --git a/js/src/jit/GenerateAtomicOperations.py b/js/src/jit/GenerateAtomicOperations.py -index d8a38a0..65f91ab 100644 ---- a/js/src/jit/GenerateAtomicOperations.py -+++ b/js/src/jit/GenerateAtomicOperations.py -@@ -856,7 +856,7 @@ def generate_atomics_header(c_out): - - # Work around a GCC issue on 32-bit x86 by adding MOZ_NEVER_INLINE. - # See bug 1756347. -- if is_gcc and cpu_arch == "x86": -+ if is_gcc and cpu_arch in ("x86", "arm"): - contents = contents.replace("INLINE_ATTR", "MOZ_NEVER_INLINE inline") - else: - contents = contents.replace("INLINE_ATTR", "inline") diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/0001-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/0001-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch deleted file mode 100644 index fe905fe4dd..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/0001-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c860dcbe63b0e393c95bfb0131238f91aaac11d3 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex@linutronix.de> -Date: Thu, 7 Oct 2021 12:44:18 +0200 -Subject: [PATCH] build: do not use autoconf's config.sub to 'canonicalize' - names - -The outcome is that processed names no longer match our custom rust -target definitions, and the build fails. - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin <alex@linutronix.de> - ---- - build/moz.configure/init.configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure -index 81f500a0b7..0b7a2ff60f 100644 ---- a/build/moz.configure/init.configure -+++ b/build/moz.configure/init.configure -@@ -585,7 +585,7 @@ def help_host_target(help, host, target): - - def config_sub(shell, triplet): - config_sub = os.path.join(os.path.dirname(__file__), "..", "autoconf", "config.sub") -- return check_cmd_output(shell, config_sub, triplet).strip() -+ return triplet - - - @depends("--host", shell) diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/0001-rewrite-cargo-host-linker-in-python3.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/0001-rewrite-cargo-host-linker-in-python3.patch deleted file mode 100644 index 73bcffe94a..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/0001-rewrite-cargo-host-linker-in-python3.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 8e318c4e7e732327dabf51027860de45b6fb731e Mon Sep 17 00:00:00 2001 -From: Changqing Li <changqing.li@windriver.com> -Date: Thu, 18 Nov 2021 07:16:39 +0000 -Subject: [PATCH] Rewrite cargo-host-linker in python3 - -Mozjs compile failed with this failure: -/bin/sh: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /build/tmp-glibc/work/corei7-64-wrs-linux/mozjs/91.1.0-r0/recipe-sysroot-native/usr/lib/libtinfo.so.5) - -Root Cause: -cargo-host-linker has /bin/sh as it's interpreter, but cargo run the cmd -with LD_LIBRARY_PATH set to recipe-sysroot-native. The host /bin/sh links -libtinfo.so.5 under recipe-sysroot-native, which needs higher libc. But -host libc is older libc. So the incompatible problem occurred. - -Solution: -rewrite cargo-host-linker in python3 - -Upstream-Status: Inappropriate [oe specific] - -Signed-off-by: Changqing Li <changqing.li@windriver.com> - ---- - build/cargo-host-linker | 24 +++++++++++++++++++++--- - 1 file changed, 21 insertions(+), 3 deletions(-) - -diff --git a/build/cargo-host-linker b/build/cargo-host-linker -index cbd0472bf7..87d43ce9ec 100755 ---- a/build/cargo-host-linker -+++ b/build/cargo-host-linker -@@ -1,3 +1,21 @@ --#!/bin/sh --# See comment in cargo-linker. --eval ${MOZ_CARGO_WRAP_HOST_LD} ${MOZ_CARGO_WRAP_HOST_LDFLAGS} '"$@"' -+#!/usr/bin/env python3 -+ -+import os,sys -+ -+if os.environ['MOZ_CARGO_WRAP_HOST_LD'].strip(): -+ binary=os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0] -+else: -+ sys.exit(0) -+ -+if os.environ['MOZ_CARGO_WRAP_HOST_LDFLAGS'].strip(): -+ if os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[1:]: -+ args=[os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0]] + os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[1:] + [os.environ['MOZ_CARGO_WRAP_HOST_LDFLAGS']] + sys.argv[1:] -+ else: -+ args=[os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0]] + [os.environ['MOZ_CARGO_WRAP_HOST_LDFLAGS']] + sys.argv[1:] -+else: -+ if os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[1:]: -+ args=[os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0]] + os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[1:] + sys.argv[1:] -+ else: -+ args=[os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0]] + sys.argv[1:] -+ -+os.execvp(binary, args) diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/0001-util.configure-fix-one-occasionally-reproduced-confi.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/0001-util.configure-fix-one-occasionally-reproduced-confi.patch deleted file mode 100644 index d732fdaf6f..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/0001-util.configure-fix-one-occasionally-reproduced-confi.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 2a6f66f39b4e623428b6d282bd4cb72dde67c1a6 Mon Sep 17 00:00:00 2001 -From: Changqing Li <changqing.li@windriver.com> -Date: Thu, 11 Nov 2021 16:05:54 +0800 -Subject: [PATCH] util.configure: fix one occasionally reproduced configure - failure - -error: -| checking whether the C++ compiler supports -Wno-range-loop-analysis... -| DEBUG: Creating /tmp/conftest.jr1qrcw3.cpp with content: -| DEBUG: | int -| DEBUG: | main(void) -| DEBUG: | { -| DEBUG: | -| DEBUG: | ; -| DEBUG: | return 0; -| DEBUG: | } -| DEBUG: Executing: aarch64-wrs-linux-g++ -mcpu=cortex-a53 -march=armv8-a+crc -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/mozjs/91.1.0-r0/recipe-sysroot /tmp/conftest.jr1qrcw3.cpp -Werror -Wrange-loop-analysis -c -| DEBUG: The command returned non-zero exit status 1. -| DEBUG: Its error output was: -... -| File "/mozjs/91.1.0-r0/firefox-91.1.0/build/moz.configure/util.configure", line 239, in try_invoke_compiler -| os.remove(path) -| FileNotFoundError: [Errno 2] No such file or directory: '/tmp/conftest.jr1qrcw3.cpp' - -It should be another process that deleted this file by using -"rm -rf conftest*" inappropriately - -Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1740667] - -Signed-off-by: Changqing Li <changqing.li@windriver.com> - ---- - build/moz.configure/util.configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/build/moz.configure/util.configure b/build/moz.configure/util.configure -index 80c3a34522..0ac0c6b611 100644 ---- a/build/moz.configure/util.configure -+++ b/build/moz.configure/util.configure -@@ -216,7 +216,7 @@ def try_invoke_compiler(compiler, language, source, flags=None, onerror=None): - "C++": ".cpp", - }[language] - -- fd, path = mkstemp(prefix="conftest.", suffix=suffix, text=True) -+ fd, path = mkstemp(prefix="try_invoke_compiler_conftest.", suffix=suffix, text=True) - try: - source = source.encode("ascii", "replace") - diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/0002-moz.configure-do-not-look-for-llvm-objdump.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/0002-moz.configure-do-not-look-for-llvm-objdump.patch deleted file mode 100644 index b3d3c1ffae..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/0002-moz.configure-do-not-look-for-llvm-objdump.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 0133ddb86eb6e0741e02b0032c41468db6438530 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex@linutronix.de> -Date: Fri, 1 Oct 2021 13:01:10 +0200 -Subject: [PATCH] moz.configure: do not look for llvm-objdump - -This avoid dragging in a dependency that isn't even needed -for js builds. - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin <alex@linutronix.de> ---- - moz.configure | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -diff --git a/moz.configure b/moz.configure -index fc66b520d0..15de9a2ee0 100755 ---- a/moz.configure -+++ b/moz.configure -@@ -785,15 +785,15 @@ - return llvm_tool - - --llvm_objdump = check_prog( -- "LLVM_OBJDUMP", -- llvm_tool("llvm-objdump"), -- what="llvm-objdump", -- when="--enable-compile-environment", -- paths=clang_search_path, --) -- --add_old_configure_assignment("LLVM_OBJDUMP", llvm_objdump) -+#llvm_objdump = check_prog( -+# "LLVM_OBJDUMP", -+# llvm_tool("llvm-objdump"), -+# what="llvm-objdump", -+# when="--enable-compile-environment", -+# paths=clang_search_path, -+#) -+# -+#add_old_configure_assignment("LLVM_OBJDUMP", llvm_objdump) - - - @depends(llvm_tool("llvm-readelf"), toolchain_prefix) - diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/0003-rust.configure-do-not-try-to-find-a-suitable-upstrea.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/0003-rust.configure-do-not-try-to-find-a-suitable-upstrea.patch deleted file mode 100644 index 202f126126..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/0003-rust.configure-do-not-try-to-find-a-suitable-upstrea.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 33ff25e2b126dd4135006139641d8b7f6e4da200 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex@linutronix.de> -Date: Fri, 1 Oct 2021 13:02:17 +0200 -Subject: [PATCH] rust.configure: do not try to find a suitable upstream target - -OE is using custom targets and so this is bound to fail. - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin <alex@linutronix.de> - ---- - build/moz.configure/rust.configure | 34 ++---------------------------- - 1 file changed, 2 insertions(+), 32 deletions(-) - -diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure -index e64dc5d5ec..edf21baca6 100644 ---- a/build/moz.configure/rust.configure -+++ b/build/moz.configure/rust.configure -@@ -471,33 +471,7 @@ def assert_rust_compile(host_or_target, rustc_target, rustc): - def rust_host_triple( - rustc, host, compiler_info, rustc_host, rust_supported_targets, arm_target - ): -- rustc_target = detect_rustc_target( -- host, compiler_info, arm_target, rust_supported_targets -- ) -- if rustc_target != rustc_host: -- if host.alias == rustc_target: -- configure_host = host.alias -- else: -- configure_host = "{}/{}".format(host.alias, rustc_target) -- die( -- dedent( -- """\ -- The rust compiler host ({rustc}) is not suitable for the configure host ({configure}). -- -- You can solve this by: -- * Set your configure host to match the rust compiler host by editing your -- mozconfig and adding "ac_add_options --host={rustc}". -- * Or, install the rust toolchain for {configure}, if supported, by running -- "rustup default stable-{rustc_target}" -- """.format( -- rustc=rustc_host, -- configure=configure_host, -- rustc_target=rustc_target, -- ) -- ) -- ) -- assert_rust_compile(host, rustc_target, rustc) -- return rustc_target -+ return rustc_host - - - @depends( -@@ -507,11 +481,7 @@ def rust_host_triple( - def rust_target_triple( - rustc, target, compiler_info, rust_supported_targets, arm_target - ): -- rustc_target = detect_rustc_target( -- target, compiler_info, arm_target, rust_supported_targets -- ) -- assert_rust_compile(target, rustc_target, rustc) -- return rustc_target -+ return target.alias - - - set_config("RUST_TARGET", rust_target_triple) diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/0004-use-asm-sgidefs.h.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/0004-use-asm-sgidefs.h.patch deleted file mode 100644 index ff28654b59..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/0004-use-asm-sgidefs.h.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 0ec73937b01869a701ed9b60a6a84469e035ded4 Mon Sep 17 00:00:00 2001 -From: Andre McCurdy <amccurdy@gmail.com> -Date: Sat, 30 Apr 2016 15:29:06 -0700 -Subject: [PATCH] use <asm/sgidefs.h> - -Build fix for MIPS with musl libc - -The MIPS specific header <sgidefs.h> is provided by glibc and uclibc -but not by musl. Regardless of the libc, the kernel headers provide -<asm/sgidefs.h> which provides the same definitions, so use that -instead. - -Upstream-Status: Pending - -[Vincent: -Taken from: https://sourceware.org/bugzilla/show_bug.cgi?id=21070] - -Signed-off-by: Andre McCurdy <armccurdy@gmail.com> -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> - ---- - mfbt/RandomNum.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mfbt/RandomNum.cpp b/mfbt/RandomNum.cpp -index 23381db0cd..7f127c0715 100644 ---- a/mfbt/RandomNum.cpp -+++ b/mfbt/RandomNum.cpp -@@ -52,7 +52,7 @@ extern "C" BOOLEAN NTAPI RtlGenRandom(PVOID RandomBuffer, - # elif defined(__s390__) - # define GETRANDOM_NR 349 - # elif defined(__mips__) --# include <sgidefs.h> -+# include <asm/sgidefs.h> - # if _MIPS_SIM == _MIPS_SIM_ABI32 - # define GETRANDOM_NR 4353 - # elif _MIPS_SIM == _MIPS_SIM_ABI64 diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/fix-musl-build.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/fix-musl-build.patch deleted file mode 100644 index 6905282eb7..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/fix-musl-build.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 1110483c6c06adf2d03ed9154a8957defc175c80 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 20 Oct 2021 16:21:14 -0700 -Subject: [PATCH] mozjs: Fix musl miscompiles with HAVE_THREAD_TLS_KEYWORD - -Upstream: No -Reason: mozjs60 miscompiles on musl if built with HAVE_THREAD_TLS_KEYWORD: -https://github.com/void-linux/void-packages/issues/2598 - ---- -Upstream-Status: Pending - - js/src/old-configure.in | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/js/src/old-configure.in b/js/src/old-configure.in -index 8dfd75c63d..c82e580428 100644 ---- a/js/src/old-configure.in -+++ b/js/src/old-configure.in -@@ -839,6 +839,9 @@ if test "$ac_cv_thread_keyword" = yes; then - *-android*|*-linuxandroid*) - : - ;; -+ *-musl*) -+ : -+ ;; - *) - AC_DEFINE(HAVE_THREAD_TLS_KEYWORD) - ;; diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/musl-disable-stackwalk.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/musl-disable-stackwalk.patch deleted file mode 100644 index a3ba469a41..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/musl-disable-stackwalk.patch +++ /dev/null @@ -1,18 +0,0 @@ -Musl does not have stack unwinder like glibc therefore -we can not assume that its always available on musl, we -do need to check for target environment as well which -could be musl or glibc. - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- a/mozglue/misc/StackWalk.cpp -+++ b/mozglue/misc/StackWalk.cpp -@@ -44,7 +44,7 @@ using namespace mozilla; - # define MOZ_STACKWALK_SUPPORTS_MACOSX 0 - #endif - --#if (defined(linux) && \ -+#if (defined(linux) && defined(__GLIBC__) && \ - ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \ - defined(HAVE__UNWIND_BACKTRACE))) - # define MOZ_STACKWALK_SUPPORTS_LINUX 1 diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/riscv32.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/riscv32.patch deleted file mode 100644 index a6a0a9edec..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102/riscv32.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 81385fe53ffde5e1636e9ace0736d914da8dbc0f Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sun, 24 Oct 2021 22:32:50 -0700 -Subject: [PATCH] Add RISCV32 support - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> - ---- - build/moz.configure/init.configure | 3 +++ - python/mozbuild/mozbuild/configure/constants.py | 2 ++ - .../mozbuild/test/configure/test_toolchain_configure.py | 1 + - 3 files changed, 6 insertions(+) - -diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure -index 0b7a2ff60f..54f8325b44 100644 ---- a/build/moz.configure/init.configure -+++ b/build/moz.configure/init.configure -@@ -524,6 +524,9 @@ def split_triplet(triplet, allow_msvc=False, allow_wasi=False): - elif cpu.startswith("aarch64"): - canonical_cpu = "aarch64" - endianness = "little" -+ elif cpu in ("riscv32", "riscv32gc"): -+ canonical_cpu = "riscv32" -+ endianness = "little" - elif cpu in ("riscv64", "riscv64gc"): - canonical_cpu = "riscv64" - endianness = "little" -diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py -index c71460cb20..15bef93e19 100644 ---- a/python/mozbuild/mozbuild/configure/constants.py -+++ b/python/mozbuild/mozbuild/configure/constants.py -@@ -53,6 +53,7 @@ CPU_bitness = { - "mips64": 64, - "ppc": 32, - "ppc64": 64, -+ 'riscv32': 32, - "riscv64": 64, - "s390": 32, - "s390x": 64, -@@ -95,6 +96,7 @@ CPU_preprocessor_checks = OrderedDict( - ("m68k", "__m68k__"), - ("mips64", "__mips64"), - ("mips32", "__mips__"), -+ ("riscv32", "__riscv && __riscv_xlen == 32"), - ("riscv64", "__riscv && __riscv_xlen == 64"), - ("loongarch64", "__loongarch64"), - ("sh4", "__sh__"), -diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py -index 059cde0139..4f9986eb31 100644 ---- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py -+++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py -@@ -1192,6 +1192,7 @@ class LinuxCrossCompileToolchainTest(BaseToolchainTest): - "m68k-unknown-linux-gnu": big_endian + {"__m68k__": 1}, - "mips64-unknown-linux-gnuabi64": big_endian + {"__mips64": 1, "__mips__": 1}, - "mips-unknown-linux-gnu": big_endian + {"__mips__": 1}, -+ "riscv32-unknown-linux-gnu": little_endian + {"__riscv": 1, "__riscv_xlen": 32}, - "riscv64-unknown-linux-gnu": little_endian + {"__riscv": 1, "__riscv_xlen": 64}, - "sh4-unknown-linux-gnu": little_endian + {"__sh__": 1}, - } diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102_102.15.1.bb b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102_102.15.1.bb deleted file mode 100644 index 3a7b51c145..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-102_102.15.1.bb +++ /dev/null @@ -1,82 +0,0 @@ -SUMMARY = "SpiderMonkey is Mozilla's JavaScript engine written in C/C++" -HOMEPAGE = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" -LICENSE = "MPL-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=dc9b6ecd19a14a54a628edaaf23733bf" - -SRC_URI = "https://archive.mozilla.org/pub/firefox/releases/${PV}esr/source/firefox-${PV}esr.source.tar.xz \ - file://0001-Cargo.toml-do-not-abort-on-panic.patch \ - file://0002-moz.configure-do-not-look-for-llvm-objdump.patch \ - file://0003-rust.configure-do-not-try-to-find-a-suitable-upstrea.patch \ - file://0004-use-asm-sgidefs.h.patch \ - file://fix-musl-build.patch \ - file://0001-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch \ - file://riscv32.patch \ - file://0001-util.configure-fix-one-occasionally-reproduced-confi.patch \ - file://0001-rewrite-cargo-host-linker-in-python3.patch \ - file://musl-disable-stackwalk.patch \ - file://0001-add-arm-to-list-of-mozinline.patch \ - " -SRC_URI[sha256sum] = "09194fb765953bc6979a35aa8834118c453b9d6060bf1ec4e134551bad740113" - -S = "${WORKDIR}/firefox-${PV}" - -inherit pkgconfig perlnative python3native rust - -DEPENDS += "zlib cargo-native python3 icu" -DEPENDS:remove:mipsarch = "icu" -DEPENDS:remove:powerpc:toolchain-clang = "icu" - -B = "${WORKDIR}/build" - -export PYTHONPATH = "${S}/build:${S}/third_party/python/PyYAML/lib3:${S}/testing/mozbase/mozfile:${S}/python/mozboot:${S}/third_party/python/distro:${S}/testing/mozbase/mozinfo:${S}/config:${S}/testing/mozbase/manifestparser:${S}/third_party/python/pytoml:${S}/testing/mozbase/mozprocess:${S}/third_party/python/six:${S}/python/mozbuild:${S}/python/mozbuild/mozbuild:${S}/python/mach:${S}/third_party/python/jsmin:${S}/python/mozversioncontrol" - -export HOST_CC = "${BUILD_CC}" -export HOST_CXX = "${BUILD_CXX}" -export HOST_CFLAGS = "${BUILD_CFLAGS}" -export HOST_CPPFLAGS = "${BUILD_CPPFLAGS}" -export HOST_CXXFLAGS = "${BUILD_CXXFLAGS}" - -export AS = "${CC}" - -export RUSTFLAGS - -JIT ?= "" -JIT:mipsarch = "--disable-jit" -ICU ?= "--with-system-icu" -ICU:mipsarch = "" -ICU:powerpc:toolchain-clang = "" - -do_configure() { - cd ${B} - python3 ${S}/configure.py \ - --enable-project=js \ - --target=${RUST_HOST_SYS} \ - --host=${BUILD_SYS} \ - --prefix=${prefix} \ - --libdir=${libdir} \ - --disable-jemalloc \ - --disable-strip \ - ${JIT} \ - ${ICU} -} - -do_install() { - oe_runmake 'DESTDIR=${D}' install -} - -inherit multilib_script multilib_header - -MAJ_VER = "${@oe.utils.trim_version("${PV}", 1)}" -MULTILIB_SCRIPTS += "${PN}-dev:${bindir}/js${MAJ_VER}-config" - -do_install:append() { - oe_multilib_header mozjs-${MAJ_VER}/js-config.h - sed -e 's@${STAGING_DIR_HOST}@@g' \ - -i ${D}${bindir}/js${MAJ_VER}-config - rm -f ${D}${libdir}/libjs_static.ajs - # remove the build path - sed -i -e 's@${WORKDIR}@@g' `find ${B} -name Unified_c*.c*` -} - -PACKAGES =+ "lib${BPN}" -FILES:lib${BPN} += "${libdir}/lib*" diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-115/py3.12.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-115/py3.12.patch new file mode 100644 index 0000000000..732c8ff1ce --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-115/py3.12.patch @@ -0,0 +1,2496 @@ +From 7293cfae4fd68004901825ad1cabb83424d8729a Mon Sep 17 00:00:00 2001 +From: serge-sans-paille <sguelton@mozilla.com> +Date: Mon, 16 Oct 2023 13:35:24 +0000 +Subject: [PATCH] Bug 1857492 - Upgrade vendored version of six and urllib3 + r=saschanaz + +six -> 1.16 +urllib3 -> 1.26.17 + +Differential Revision: https://phabricator.services.mozilla.com/D190288 +Upstream-Status: Backport [https://github.com/mozilla/gecko-dev/commit/7293cfae4fd68004901825ad1cabb83424d8729a] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + third_party/python/poetry.lock | 22 +-- + third_party/python/requirements.in | 4 +- + third_party/python/requirements.txt | 12 +- + .../python/six/six-1.13.0.dist-info/RECORD | 6 - + .../LICENSE | 2 +- + .../METADATA | 9 +- + .../python/six/six-1.16.0.dist-info/RECORD | 6 + + .../six-1.16.0.dist-info}/WHEEL | 2 +- + .../top_level.txt | 0 + third_party/python/six/six.py | 91 ++++++--- + .../urllib3/urllib3-1.26.0.dist-info/RECORD | 44 ----- + .../LICENSE.txt | 0 + .../METADATA | 177 ++++++++++++++++-- + .../urllib3/urllib3-1.26.17.dist-info/RECORD | 44 +++++ + .../urllib3-1.26.17.dist-info}/WHEEL | 2 +- + .../top_level.txt | 0 + .../python/urllib3/urllib3/__init__.py | 17 ++ + .../python/urllib3/urllib3/_version.py | 2 +- + .../python/urllib3/urllib3/connection.py | 62 ++++-- + .../python/urllib3/urllib3/connectionpool.py | 97 ++++++++-- + .../contrib/_securetransport/bindings.py | 2 +- + .../contrib/_securetransport/low_level.py | 1 + + .../urllib3/urllib3/contrib/appengine.py | 4 +- + .../urllib3/urllib3/contrib/ntlmpool.py | 13 +- + .../urllib3/urllib3/contrib/pyopenssl.py | 19 +- + .../urllib3/contrib/securetransport.py | 5 +- + .../python/urllib3/urllib3/contrib/socks.py | 2 +- + .../python/urllib3/urllib3/exceptions.py | 12 +- + .../urllib3/urllib3/packages/__init__.py | 5 - + .../packages/backports/weakref_finalize.py | 155 +++++++++++++++ + .../python/urllib3/urllib3/packages/six.py | 125 +++++++++---- + .../packages/ssl_match_hostname/__init__.py | 22 --- + .../python/urllib3/urllib3/poolmanager.py | 3 +- + third_party/python/urllib3/urllib3/request.py | 21 +++ + .../python/urllib3/urllib3/response.py | 72 ++++++- + .../python/urllib3/urllib3/util/connection.py | 5 +- + .../python/urllib3/urllib3/util/proxy.py | 1 + + .../python/urllib3/urllib3/util/request.py | 5 +- + .../python/urllib3/urllib3/util/retry.py | 37 +++- + .../python/urllib3/urllib3/util/ssl_.py | 53 ++++-- + .../ssl_match_hostname.py} | 15 +- + .../urllib3/urllib3/util/ssltransport.py | 6 +- + .../python/urllib3/urllib3/util/timeout.py | 9 +- + .../python/urllib3/urllib3/util/url.py | 17 +- + .../python/urllib3/urllib3/util/wait.py | 1 - + 45 files changed, 934 insertions(+), 275 deletions(-) + delete mode 100644 third_party/python/six/six-1.13.0.dist-info/RECORD + rename third_party/python/six/{six-1.13.0.dist-info => six-1.16.0.dist-info}/LICENSE (96%) + rename third_party/python/six/{six-1.13.0.dist-info => six-1.16.0.dist-info}/METADATA (85%) + create mode 100644 third_party/python/six/six-1.16.0.dist-info/RECORD + rename third_party/python/{urllib3/urllib3-1.26.0.dist-info => six/six-1.16.0.dist-info}/WHEEL (70%) + rename third_party/python/six/{six-1.13.0.dist-info => six-1.16.0.dist-info}/top_level.txt (100%) + delete mode 100644 third_party/python/urllib3/urllib3-1.26.0.dist-info/RECORD + rename third_party/python/urllib3/{urllib3-1.26.0.dist-info => urllib3-1.26.17.dist-info}/LICENSE.txt (100%) + rename third_party/python/urllib3/{urllib3-1.26.0.dist-info => urllib3-1.26.17.dist-info}/METADATA (86%) + create mode 100644 third_party/python/urllib3/urllib3-1.26.17.dist-info/RECORD + rename third_party/python/{six/six-1.13.0.dist-info => urllib3/urllib3-1.26.17.dist-info}/WHEEL (70%) + rename third_party/python/urllib3/{urllib3-1.26.0.dist-info => urllib3-1.26.17.dist-info}/top_level.txt (100%) + create mode 100644 third_party/python/urllib3/urllib3/packages/backports/weakref_finalize.py + delete mode 100644 third_party/python/urllib3/urllib3/packages/ssl_match_hostname/__init__.py + rename third_party/python/urllib3/urllib3/{packages/ssl_match_hostname/_implementation.py => util/ssl_match_hostname.py} (92%) + +diff --git a/third_party/python/poetry.lock b/third_party/python/poetry.lock +index 3d50174e58bcb..b4a8455d20fb4 100644 +--- a/third_party/python/poetry.lock ++++ b/third_party/python/poetry.lock +@@ -1333,14 +1333,14 @@ testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs ( + + [[package]] + name = "six" +-version = "1.13.0" ++version = "1.16.0" + description = "Python 2 and 3 compatibility utilities" + category = "main" + optional = false +-python-versions = ">=2.6, !=3.0.*, !=3.1.*" ++python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" + files = [ +- {file = "six-1.13.0-py2.py3-none-any.whl", hash = "sha256:1f1b7d42e254082a9db6279deae68afb421ceba6158efa6131de7b3003ee93fd"}, +- {file = "six-1.13.0.tar.gz", hash = "sha256:30f610279e8b2578cab6db20741130331735c781b56053c59c4076da27f06b66"}, ++ {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, ++ {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, + ] + + [[package]] +@@ -1491,19 +1491,19 @@ files = [ + + [[package]] + name = "urllib3" +-version = "1.26.0" ++version = "1.26.17" + description = "HTTP library with thread-safe connection pooling, file post, and more." + category = "main" + optional = false +-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" ++python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" + files = [ +- {file = "urllib3-1.26.0-py2.py3-none-any.whl", hash = "sha256:bad31cb622ceee0ab46c4c884cf61957def0ff2e644de0a7a093678844c9ccac"}, +- {file = "urllib3-1.26.0.tar.gz", hash = "sha256:4849f132941d68144df0a3785ccc4fe423430ba5db0108d045c8cadbc90f517a"}, ++ {file = "urllib3-1.26.17-py2.py3-none-any.whl", hash = "sha256:94a757d178c9be92ef5539b8840d48dc9cf1b2709c9d6b588232a055c524458b"}, ++ {file = "urllib3-1.26.17.tar.gz", hash = "sha256:24d6a242c28d29af46c3fae832c36db3bbebcc533dd1bb549172cd739c82df21"}, + ] + + [package.extras] +-brotli = ["brotlipy (>=0.6.0)"] +-secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)"] ++brotli = ["brotli (==1.0.9)", "brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] ++secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] + socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] + + [[package]] +diff --git a/third_party/python/six/six-1.13.0.dist-info/RECORD b/third_party/python/six/six-1.13.0.dist-info/RECORD +deleted file mode 100644 +index a0e6c1fd4bd99..0000000000000 +--- a/third_party/python/six/six-1.13.0.dist-info/RECORD ++++ /dev/null +@@ -1,6 +0,0 @@ +-six.py,sha256=bsEzSFTZTx49wQttLORmSZTrpjGc8UbXt-HBa_LZX7Q,33045 +-six-1.13.0.dist-info/LICENSE,sha256=t1KbjAcXGniow2wyg5BVKOSBKUXZd9El65JujMvyRbY,1066 +-six-1.13.0.dist-info/METADATA,sha256=hxS4rSPRfO8ewbcLS30anoFi6LFgUQ3mk_xknZ8RV4w,1940 +-six-1.13.0.dist-info/WHEEL,sha256=8zNYZbwQSXoB9IfXOjPfeNwvAsALAjffgk27FqvCWbo,110 +-six-1.13.0.dist-info/top_level.txt,sha256=_iVH_iYEtEXnD8nYGQYpYFUvkUW9sEO1GYbkeKSAais,4 +-six-1.13.0.dist-info/RECORD,, +diff --git a/third_party/python/six/six-1.13.0.dist-info/LICENSE b/third_party/python/six/six-1.16.0.dist-info/LICENSE +similarity index 96% +rename from third_party/python/six/six-1.13.0.dist-info/LICENSE +rename to third_party/python/six/six-1.16.0.dist-info/LICENSE +index 4b05a545261c0..de6633112c1f9 100644 +--- a/third_party/python/six/six-1.13.0.dist-info/LICENSE ++++ b/third_party/python/six/six-1.16.0.dist-info/LICENSE +@@ -1,4 +1,4 @@ +-Copyright (c) 2010-2019 Benjamin Peterson ++Copyright (c) 2010-2020 Benjamin Peterson + + 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 +diff --git a/third_party/python/six/six-1.13.0.dist-info/METADATA b/third_party/python/six/six-1.16.0.dist-info/METADATA +similarity index 85% +rename from third_party/python/six/six-1.13.0.dist-info/METADATA +rename to third_party/python/six/six-1.16.0.dist-info/METADATA +index b0c8f51e1f366..6d7525c2ebcfe 100644 +--- a/third_party/python/six/six-1.13.0.dist-info/METADATA ++++ b/third_party/python/six/six-1.16.0.dist-info/METADATA +@@ -1,6 +1,6 @@ + Metadata-Version: 2.1 + Name: six +-Version: 1.13.0 ++Version: 1.16.0 + Summary: Python 2 and 3 compatibility utilities + Home-page: https://github.com/benjaminp/six + Author: Benjamin Peterson +@@ -14,7 +14,7 @@ Classifier: Intended Audience :: Developers + Classifier: License :: OSI Approved :: MIT License + Classifier: Topic :: Software Development :: Libraries + Classifier: Topic :: Utilities +-Requires-Python: >=2.6, !=3.0.*, !=3.1.* ++Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.* + + .. image:: https://img.shields.io/pypi/v/six.svg + :target: https://pypi.org/project/six/ +@@ -37,7 +37,7 @@ for smoothing over the differences between the Python versions with the goal of + writing Python code that is compatible on both Python versions. See the + documentation for more information on what is provided. + +-Six supports every Python version since 2.6. It is contained in only one Python ++Six supports Python 2.7 and 3.3+. It is contained in only one Python + file, so it can be easily copied into your project. (The copyright and license + notice must be retained.) + +@@ -46,7 +46,4 @@ Online documentation is at https://six.readthedocs.io/. + Bugs can be reported to https://github.com/benjaminp/six. The code can also + be found there. + +-For questions about six or porting in general, email the python-porting mailing +-list: https://mail.python.org/mailman/listinfo/python-porting +- + +diff --git a/third_party/python/six/six-1.16.0.dist-info/RECORD b/third_party/python/six/six-1.16.0.dist-info/RECORD +new file mode 100644 +index 0000000000000..8de4af79fae0b +--- /dev/null ++++ b/third_party/python/six/six-1.16.0.dist-info/RECORD +@@ -0,0 +1,6 @@ ++six.py,sha256=TOOfQi7nFGfMrIvtdr6wX4wyHH8M7aknmuLfo2cBBrM,34549 ++six-1.16.0.dist-info/LICENSE,sha256=i7hQxWWqOJ_cFvOkaWWtI9gq3_YPI5P8J2K2MYXo5sk,1066 ++six-1.16.0.dist-info/METADATA,sha256=VQcGIFCAEmfZcl77E5riPCN4v2TIsc_qtacnjxKHJoI,1795 ++six-1.16.0.dist-info/WHEEL,sha256=Z-nyYpwrcSqxfdux5Mbn_DQ525iP7J2DG3JgGvOYyTQ,110 ++six-1.16.0.dist-info/top_level.txt,sha256=_iVH_iYEtEXnD8nYGQYpYFUvkUW9sEO1GYbkeKSAais,4 ++six-1.16.0.dist-info/RECORD,, +diff --git a/third_party/python/urllib3/urllib3-1.26.0.dist-info/WHEEL b/third_party/python/six/six-1.16.0.dist-info/WHEEL +similarity index 70% +rename from third_party/python/urllib3/urllib3-1.26.0.dist-info/WHEEL +rename to third_party/python/six/six-1.16.0.dist-info/WHEEL +index 6d38aa0601b31..01b8fc7d4a10c 100644 +--- a/third_party/python/urllib3/urllib3-1.26.0.dist-info/WHEEL ++++ b/third_party/python/six/six-1.16.0.dist-info/WHEEL +@@ -1,5 +1,5 @@ + Wheel-Version: 1.0 +-Generator: bdist_wheel (0.35.1) ++Generator: bdist_wheel (0.36.2) + Root-Is-Purelib: true + Tag: py2-none-any + Tag: py3-none-any +diff --git a/third_party/python/six/six-1.13.0.dist-info/top_level.txt b/third_party/python/six/six-1.16.0.dist-info/top_level.txt +similarity index 100% +rename from third_party/python/six/six-1.13.0.dist-info/top_level.txt +rename to third_party/python/six/six-1.16.0.dist-info/top_level.txt +diff --git a/third_party/python/six/six.py b/third_party/python/six/six.py +index 357e624abc6c9..4e15675d8b5ca 100644 +--- a/third_party/python/six/six.py ++++ b/third_party/python/six/six.py +@@ -1,4 +1,4 @@ +-# Copyright (c) 2010-2019 Benjamin Peterson ++# Copyright (c) 2010-2020 Benjamin Peterson + # + # Permission is hereby granted, free of charge, to any person obtaining a copy + # of this software and associated documentation files (the "Software"), to deal +@@ -29,7 +29,7 @@ + import types + + __author__ = "Benjamin Peterson <benjamin@python.org>" +-__version__ = "1.13.0" ++__version__ = "1.16.0" + + + # Useful for very coarse version differentiation. +@@ -71,6 +71,11 @@ def __len__(self): + MAXSIZE = int((1 << 63) - 1) + del X + ++if PY34: ++ from importlib.util import spec_from_loader ++else: ++ spec_from_loader = None ++ + + def _add_doc(func, doc): + """Add documentation to a function.""" +@@ -186,6 +191,11 @@ def find_module(self, fullname, path=None): + return self + return None + ++ def find_spec(self, fullname, path, target=None): ++ if fullname in self.known_modules: ++ return spec_from_loader(fullname, self) ++ return None ++ + def __get_module(self, fullname): + try: + return self.known_modules[fullname] +@@ -223,6 +233,12 @@ def get_code(self, fullname): + return None + get_source = get_code # same as get_code + ++ def create_module(self, spec): ++ return self.load_module(spec.name) ++ ++ def exec_module(self, module): ++ pass ++ + _importer = _SixMetaPathImporter(__name__) + + +@@ -259,7 +275,7 @@ class _MovedItems(_LazyModule): + MovedModule("copyreg", "copy_reg"), + MovedModule("dbm_gnu", "gdbm", "dbm.gnu"), + MovedModule("dbm_ndbm", "dbm", "dbm.ndbm"), +- MovedModule("_dummy_thread", "dummy_thread", "_dummy_thread"), ++ MovedModule("_dummy_thread", "dummy_thread", "_dummy_thread" if sys.version_info < (3, 9) else "_thread"), + MovedModule("http_cookiejar", "cookielib", "http.cookiejar"), + MovedModule("http_cookies", "Cookie", "http.cookies"), + MovedModule("html_entities", "htmlentitydefs", "html.entities"), +@@ -644,9 +660,11 @@ def u(s): + if sys.version_info[1] <= 1: + _assertRaisesRegex = "assertRaisesRegexp" + _assertRegex = "assertRegexpMatches" ++ _assertNotRegex = "assertNotRegexpMatches" + else: + _assertRaisesRegex = "assertRaisesRegex" + _assertRegex = "assertRegex" ++ _assertNotRegex = "assertNotRegex" + else: + def b(s): + return s +@@ -668,6 +686,7 @@ def indexbytes(buf, i): + _assertCountEqual = "assertItemsEqual" + _assertRaisesRegex = "assertRaisesRegexp" + _assertRegex = "assertRegexpMatches" ++ _assertNotRegex = "assertNotRegexpMatches" + _add_doc(b, """Byte literal""") + _add_doc(u, """Text literal""") + +@@ -684,6 +703,10 @@ def assertRegex(self, *args, **kwargs): + return getattr(self, _assertRegex)(*args, **kwargs) + + ++def assertNotRegex(self, *args, **kwargs): ++ return getattr(self, _assertNotRegex)(*args, **kwargs) ++ ++ + if PY3: + exec_ = getattr(moves.builtins, "exec") + +@@ -719,16 +742,7 @@ def exec_(_code_, _globs_=None, _locs_=None): + """) + + +-if sys.version_info[:2] == (3, 2): +- exec_("""def raise_from(value, from_value): +- try: +- if from_value is None: +- raise value +- raise value from from_value +- finally: +- value = None +-""") +-elif sys.version_info[:2] > (3, 2): ++if sys.version_info[:2] > (3,): + exec_("""def raise_from(value, from_value): + try: + raise value from from_value +@@ -808,13 +822,33 @@ def print_(*args, **kwargs): + _add_doc(reraise, """Reraise an exception.""") + + if sys.version_info[0:2] < (3, 4): ++ # This does exactly the same what the :func:`py3:functools.update_wrapper` ++ # function does on Python versions after 3.2. It sets the ``__wrapped__`` ++ # attribute on ``wrapper`` object and it doesn't raise an error if any of ++ # the attributes mentioned in ``assigned`` and ``updated`` are missing on ++ # ``wrapped`` object. ++ def _update_wrapper(wrapper, wrapped, ++ assigned=functools.WRAPPER_ASSIGNMENTS, ++ updated=functools.WRAPPER_UPDATES): ++ for attr in assigned: ++ try: ++ value = getattr(wrapped, attr) ++ except AttributeError: ++ continue ++ else: ++ setattr(wrapper, attr, value) ++ for attr in updated: ++ getattr(wrapper, attr).update(getattr(wrapped, attr, {})) ++ wrapper.__wrapped__ = wrapped ++ return wrapper ++ _update_wrapper.__doc__ = functools.update_wrapper.__doc__ ++ + def wraps(wrapped, assigned=functools.WRAPPER_ASSIGNMENTS, + updated=functools.WRAPPER_UPDATES): +- def wrapper(f): +- f = functools.wraps(wrapped, assigned, updated)(f) +- f.__wrapped__ = wrapped +- return f +- return wrapper ++ return functools.partial(_update_wrapper, wrapped=wrapped, ++ assigned=assigned, updated=updated) ++ wraps.__doc__ = functools.wraps.__doc__ ++ + else: + wraps = functools.wraps + +@@ -872,12 +906,11 @@ def ensure_binary(s, encoding='utf-8', errors='strict'): + - `str` -> encoded to `bytes` + - `bytes` -> `bytes` + """ ++ if isinstance(s, binary_type): ++ return s + if isinstance(s, text_type): + return s.encode(encoding, errors) +- elif isinstance(s, binary_type): +- return s +- else: +- raise TypeError("not expecting type '%s'" % type(s)) ++ raise TypeError("not expecting type '%s'" % type(s)) + + + def ensure_str(s, encoding='utf-8', errors='strict'): +@@ -891,12 +924,15 @@ def ensure_str(s, encoding='utf-8', errors='strict'): + - `str` -> `str` + - `bytes` -> decoded to `str` + """ +- if not isinstance(s, (text_type, binary_type)): +- raise TypeError("not expecting type '%s'" % type(s)) ++ # Optimization: Fast return for the common case. ++ if type(s) is str: ++ return s + if PY2 and isinstance(s, text_type): +- s = s.encode(encoding, errors) ++ return s.encode(encoding, errors) + elif PY3 and isinstance(s, binary_type): +- s = s.decode(encoding, errors) ++ return s.decode(encoding, errors) ++ elif not isinstance(s, (text_type, binary_type)): ++ raise TypeError("not expecting type '%s'" % type(s)) + return s + + +@@ -919,10 +955,9 @@ def ensure_text(s, encoding='utf-8', errors='strict'): + raise TypeError("not expecting type '%s'" % type(s)) + + +- + def python_2_unicode_compatible(klass): + """ +- A decorator that defines __unicode__ and __str__ methods under Python 2. ++ A class decorator that defines __unicode__ and __str__ methods under Python 2. + Under Python 3 it does nothing. + + To support Python 2 and 3 with a single code base, define a __str__ method +diff --git a/third_party/python/urllib3/urllib3-1.26.0.dist-info/RECORD b/third_party/python/urllib3/urllib3-1.26.0.dist-info/RECORD +deleted file mode 100644 +index ec9088a111a41..0000000000000 +--- a/third_party/python/urllib3/urllib3-1.26.0.dist-info/RECORD ++++ /dev/null +@@ -1,44 +0,0 @@ +-urllib3/__init__.py,sha256=j3yzHIbmW7CS-IKQJ9-PPQf_YKO8EOAey_rMW0UR7us,2763 +-urllib3/_collections.py,sha256=Rp1mVyBgc_UlAcp6M3at1skJBXR5J43NawRTvW2g_XY,10811 +-urllib3/_version.py,sha256=H0vLQ8PY350EPZlZQa8ri0tEjVS-xhGdQOHcU360-0A,63 +-urllib3/connection.py,sha256=BdaUSNpGzO0zq28i9MhOXb6QZspeVdVrYtjnkk2Eqg4,18396 +-urllib3/connectionpool.py,sha256=IKoeuJZY9YAYm0GK4q-MXAhyXW0M_FnvabYaNsDIR-E,37133 +-urllib3/exceptions.py,sha256=lNrKC5J8zeBXIu9SSKSNb7cLi8iXl9ARu9DHD2SflZM,7810 +-urllib3/fields.py,sha256=kvLDCg_JmH1lLjUUEY_FLS8UhY7hBvDPuVETbY8mdrM,8579 +-urllib3/filepost.py,sha256=5b_qqgRHVlL7uLtdAYBzBh-GHmU5AfJVt_2N0XS3PeY,2440 +-urllib3/poolmanager.py,sha256=whzlX6UTEgODMOCy0ZDMUONRBCz5wyIM8Z9opXAY-Lk,19763 +-urllib3/request.py,sha256=ZFSIqX0C6WizixecChZ3_okyu7BEv0lZu1VT0s6h4SM,5985 +-urllib3/response.py,sha256=hGhGBh7TkEkh_IQg5C1W_xuPNrgIKv5BUXPyE-q0LuE,28203 +-urllib3/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +-urllib3/contrib/_appengine_environ.py,sha256=bDbyOEhW2CKLJcQqAKAyrEHN-aklsyHFKq6vF8ZFsmk,957 +-urllib3/contrib/appengine.py,sha256=7Pxb0tKfDB_LTGPERiswH0qomhDoUUOo5kwybAKLQyE,11010 +-urllib3/contrib/ntlmpool.py,sha256=6I95h1_71fzxmoMSNtY0gB8lnyCoVtP_DpqFGj14fdU,4160 +-urllib3/contrib/pyopenssl.py,sha256=vgh6j52w9xgwq-3R2kfB5M2JblQATJfKAK3lIAc1kSg,16778 +-urllib3/contrib/securetransport.py,sha256=KxGPZk8d4YepWm7Rc-SBt1XrzIfnLKc8JkUVV75XzgE,34286 +-urllib3/contrib/socks.py,sha256=DcRjM2l0rQMIyhYrN6r-tnVkY6ZTDxHJlM8_usAkGCA,7097 +-urllib3/contrib/_securetransport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +-urllib3/contrib/_securetransport/bindings.py,sha256=E1_7ScsgOchfxneozbAueK7ziCwF35fna4DuDCYJ9_o,17637 +-urllib3/contrib/_securetransport/low_level.py,sha256=lgIdsSycqfB0Xm5BiJzXGeIKT7ybCQMFPJAgkcwPa1s,13908 +-urllib3/packages/__init__.py,sha256=h4BLhD4tLaBx1adaDtKXfupsgqY0wWLXb_f1_yVlV6A,108 +-urllib3/packages/six.py,sha256=adx4z-eM_D0Vvu0IIqVzFACQ_ux9l64y7DkSEfbxCDs,32536 +-urllib3/packages/backports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +-urllib3/packages/backports/makefile.py,sha256=nbzt3i0agPVP07jqqgjhaYjMmuAi_W5E0EywZivVO8E,1417 +-urllib3/packages/ssl_match_hostname/__init__.py,sha256=zppezdEQdpGsYerI6mV6MfUYy495JV4mcOWC_GgbljU,757 +-urllib3/packages/ssl_match_hostname/_implementation.py,sha256=6dZ-q074g7XhsJ27MFCgkct8iVNZB3sMZvKhf-KUVy0,5679 +-urllib3/util/__init__.py,sha256=JEmSmmqqLyaw8P51gUImZh8Gwg9i1zSe-DoqAitn2nc,1155 +-urllib3/util/connection.py,sha256=21B-LX0c8fkxPDssyHCaK0pCnmrKmhltg5EoouHiAPU,4910 +-urllib3/util/proxy.py,sha256=FGipAEnvZteyldXNjce4DEB7YzwU-a5lep8y5S0qHQg,1604 +-urllib3/util/queue.py,sha256=nRgX8_eX-_VkvxoX096QWoz8Ps0QHUAExILCY_7PncM,498 +-urllib3/util/request.py,sha256=NnzaEKQ1Pauw5MFMV6HmgEMHITf0Aua9fQuzi2uZzGc,4123 +-urllib3/util/response.py,sha256=GJpg3Egi9qaJXRwBh5wv-MNuRWan5BIu40oReoxWP28,3510 +-urllib3/util/retry.py,sha256=tn168HDMUynFmXRP-uVaLRUOlbTEJikoB1RuZdwfCes,21366 +-urllib3/util/ssl_.py,sha256=cUsmU604z2zAOZcaXDpINXOokQ1RtlJMe96TBDkaJp0,16199 +-urllib3/util/ssltransport.py,sha256=IvGQvs9YWkf4jzfqVjTu_UWjwAUgPn5ActajW8VLz6A,6908 +-urllib3/util/timeout.py,sha256=QSbBUNOB9yh6AnDn61SrLQ0hg5oz0I9-uXEG91AJuIg,10003 +-urllib3/util/url.py,sha256=LWfLSlI4l2FmUMKfCkElCaW10-0N-sJDT9bxaDZJkjs,13964 +-urllib3/util/wait.py,sha256=3MUKRSAUJDB2tgco7qRUskW0zXGAWYvRRE4Q1_6xlLs,5404 +-urllib3-1.26.0.dist-info/LICENSE.txt,sha256=w3vxhuJ8-dvpYZ5V7f486nswCRzrPaY8fay-Dm13kHs,1115 +-urllib3-1.26.0.dist-info/METADATA,sha256=Wghdt6nLf9HfZHhWj8Dpgz4n9vGRqXYhdIwJRPgki6M,42629 +-urllib3-1.26.0.dist-info/WHEEL,sha256=ADKeyaGyKF5DwBNE0sRE5pvW-bSkFMJfBuhzZ3rceP4,110 +-urllib3-1.26.0.dist-info/top_level.txt,sha256=EMiXL2sKrTcmrMxIHTqdc3ET54pQI2Y072LexFEemvo,8 +-urllib3-1.26.0.dist-info/RECORD,, +diff --git a/third_party/python/urllib3/urllib3-1.26.0.dist-info/LICENSE.txt b/third_party/python/urllib3/urllib3-1.26.17.dist-info/LICENSE.txt +similarity index 100% +rename from third_party/python/urllib3/urllib3-1.26.0.dist-info/LICENSE.txt +rename to third_party/python/urllib3/urllib3-1.26.17.dist-info/LICENSE.txt +diff --git a/third_party/python/urllib3/urllib3-1.26.0.dist-info/METADATA b/third_party/python/urllib3/urllib3-1.26.17.dist-info/METADATA +similarity index 86% +rename from third_party/python/urllib3/urllib3-1.26.0.dist-info/METADATA +rename to third_party/python/urllib3/urllib3-1.26.17.dist-info/METADATA +index 39869aafada8a..9493faee66c01 100644 +--- a/third_party/python/urllib3/urllib3-1.26.0.dist-info/METADATA ++++ b/third_party/python/urllib3/urllib3-1.26.17.dist-info/METADATA +@@ -1,6 +1,6 @@ + Metadata-Version: 2.1 + Name: urllib3 +-Version: 1.26.0 ++Version: 1.26.17 + Summary: HTTP library with thread-safe connection pooling, file post, and more. + Home-page: https://urllib3.readthedocs.io/ + Author: Andrey Petrov +@@ -10,7 +10,6 @@ Project-URL: Documentation, https://urllib3.readthedocs.io/ + Project-URL: Code, https://github.com/urllib3/urllib3 + Project-URL: Issue tracker, https://github.com/urllib3/urllib3/issues + Keywords: urllib httplib threadsafe filepost http https ssl pooling +-Platform: UNKNOWN + Classifier: Environment :: Web Environment + Classifier: Intended Audience :: Developers + Classifier: License :: OSI Approved :: MIT License +@@ -19,27 +18,33 @@ Classifier: Programming Language :: Python + Classifier: Programming Language :: Python :: 2 + Classifier: Programming Language :: Python :: 2.7 + Classifier: Programming Language :: Python :: 3 +-Classifier: Programming Language :: Python :: 3.5 + Classifier: Programming Language :: Python :: 3.6 + Classifier: Programming Language :: Python :: 3.7 + Classifier: Programming Language :: Python :: 3.8 + Classifier: Programming Language :: Python :: 3.9 ++Classifier: Programming Language :: Python :: 3.10 ++Classifier: Programming Language :: Python :: 3.11 + Classifier: Programming Language :: Python :: Implementation :: CPython + Classifier: Programming Language :: Python :: Implementation :: PyPy + Classifier: Topic :: Internet :: WWW/HTTP + Classifier: Topic :: Software Development :: Libraries +-Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4 ++Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.* + Description-Content-Type: text/x-rst ++License-File: LICENSE.txt + Provides-Extra: brotli +-Requires-Dist: brotlipy (>=0.6.0) ; extra == 'brotli' ++Requires-Dist: brotlicffi >=0.8.0 ; ((os_name != "nt" or python_version >= "3") and platform_python_implementation != "CPython") and extra == 'brotli' ++Requires-Dist: brotli ==1.0.9 ; (os_name != "nt" and python_version < "3" and platform_python_implementation == "CPython") and extra == 'brotli' ++Requires-Dist: brotlipy >=0.6.0 ; (os_name == "nt" and python_version < "3") and extra == 'brotli' ++Requires-Dist: brotli >=1.0.9 ; (python_version >= "3" and platform_python_implementation == "CPython") and extra == 'brotli' + Provides-Extra: secure +-Requires-Dist: pyOpenSSL (>=0.14) ; extra == 'secure' +-Requires-Dist: cryptography (>=1.3.4) ; extra == 'secure' +-Requires-Dist: idna (>=2.0.0) ; extra == 'secure' ++Requires-Dist: pyOpenSSL >=0.14 ; extra == 'secure' ++Requires-Dist: cryptography >=1.3.4 ; extra == 'secure' ++Requires-Dist: idna >=2.0.0 ; extra == 'secure' + Requires-Dist: certifi ; extra == 'secure' ++Requires-Dist: urllib3-secure-extra ; extra == 'secure' + Requires-Dist: ipaddress ; (python_version == "2.7") and extra == 'secure' + Provides-Extra: socks +-Requires-Dist: PySocks (!=1.5.7,<2.0,>=1.5.6) ; extra == 'socks' ++Requires-Dist: PySocks !=1.5.7,<2.0,>=1.5.6 ; extra == 'socks' + + + urllib3 is a powerful, *user-friendly* HTTP client for Python. Much of the +@@ -78,8 +83,10 @@ urllib3 can be installed with `pip <https://pip.pypa.io>`_:: + + Alternatively, you can grab the latest source code from `GitHub <https://github.com/urllib3/urllib3>`_:: + +- $ git clone git://github.com/urllib3/urllib3.git +- $ python setup.py install ++ $ git clone https://github.com/urllib3/urllib3.git ++ $ cd urllib3 ++ $ git checkout 1.26.x ++ $ pip install . + + + Documentation +@@ -148,6 +155,152 @@ For Enterprise + Changes + ======= + ++1.26.17 (2023-10-02) ++-------------------- ++ ++* Added the ``Cookie`` header to the list of headers to strip from requests when redirecting to a different host. As before, different headers can be set via ``Retry.remove_headers_on_redirect``. ++ ++ ++1.26.16 (2023-05-23) ++-------------------- ++ ++* Fixed thread-safety issue where accessing a ``PoolManager`` with many distinct origins ++ would cause connection pools to be closed while requests are in progress (`#2954 <https://github.com/urllib3/urllib3/pull/2954>`_) ++ ++ ++1.26.15 (2023-03-10) ++-------------------- ++ ++* Fix socket timeout value when ``HTTPConnection`` is reused (`#2645 <https://github.com/urllib3/urllib3/issues/2645>`__) ++* Remove "!" character from the unreserved characters in IPv6 Zone ID parsing ++ (`#2899 <https://github.com/urllib3/urllib3/issues/2899>`__) ++* Fix IDNA handling of '\x80' byte (`#2901 <https://github.com/urllib3/urllib3/issues/2901>`__) ++ ++1.26.14 (2023-01-11) ++-------------------- ++ ++* Fixed parsing of port 0 (zero) returning None, instead of 0. (`#2850 <https://github.com/urllib3/urllib3/issues/2850>`__) ++* Removed deprecated getheaders() calls in contrib module. ++ ++1.26.13 (2022-11-23) ++-------------------- ++ ++* Deprecated the ``HTTPResponse.getheaders()`` and ``HTTPResponse.getheader()`` methods. ++* Fixed an issue where parsing a URL with leading zeroes in the port would be rejected ++ even when the port number after removing the zeroes was valid. ++* Fixed a deprecation warning when using cryptography v39.0.0. ++* Removed the ``<4`` in the ``Requires-Python`` packaging metadata field. ++ ++ ++1.26.12 (2022-08-22) ++-------------------- ++ ++* Deprecated the `urllib3[secure]` extra and the `urllib3.contrib.pyopenssl` module. ++ Both will be removed in v2.x. See this `GitHub issue <https://github.com/urllib3/urllib3/issues/2680>`_ ++ for justification and info on how to migrate. ++ ++ ++1.26.11 (2022-07-25) ++-------------------- ++ ++* Fixed an issue where reading more than 2 GiB in a call to ``HTTPResponse.read`` would ++ raise an ``OverflowError`` on Python 3.9 and earlier. ++ ++ ++1.26.10 (2022-07-07) ++-------------------- ++ ++* Removed support for Python 3.5 ++* Fixed an issue where a ``ProxyError`` recommending configuring the proxy as HTTP ++ instead of HTTPS could appear even when an HTTPS proxy wasn't configured. ++ ++ ++1.26.9 (2022-03-16) ++------------------- ++ ++* Changed ``urllib3[brotli]`` extra to favor installing Brotli libraries that are still ++ receiving updates like ``brotli`` and ``brotlicffi`` instead of ``brotlipy``. ++ This change does not impact behavior of urllib3, only which dependencies are installed. ++* Fixed a socket leaking when ``HTTPSConnection.connect()`` raises an exception. ++* Fixed ``server_hostname`` being forwarded from ``PoolManager`` to ``HTTPConnectionPool`` ++ when requesting an HTTP URL. Should only be forwarded when requesting an HTTPS URL. ++ ++ ++1.26.8 (2022-01-07) ++------------------- ++ ++* Added extra message to ``urllib3.exceptions.ProxyError`` when urllib3 detects that ++ a proxy is configured to use HTTPS but the proxy itself appears to only use HTTP. ++* Added a mention of the size of the connection pool when discarding a connection due to the pool being full. ++* Added explicit support for Python 3.11. ++* Deprecated the ``Retry.MAX_BACKOFF`` class property in favor of ``Retry.DEFAULT_MAX_BACKOFF`` ++ to better match the rest of the default parameter names. ``Retry.MAX_BACKOFF`` is removed in v2.0. ++* Changed location of the vendored ``ssl.match_hostname`` function from ``urllib3.packages.ssl_match_hostname`` ++ to ``urllib3.util.ssl_match_hostname`` to ensure Python 3.10+ compatibility after being repackaged ++ by downstream distributors. ++* Fixed absolute imports, all imports are now relative. ++ ++ ++1.26.7 (2021-09-22) ++------------------- ++ ++* Fixed a bug with HTTPS hostname verification involving IP addresses and lack ++ of SNI. (Issue #2400) ++* Fixed a bug where IPv6 braces weren't stripped during certificate hostname ++ matching. (Issue #2240) ++ ++ ++1.26.6 (2021-06-25) ++------------------- ++ ++* Deprecated the ``urllib3.contrib.ntlmpool`` module. urllib3 is not able to support ++ it properly due to `reasons listed in this issue <https://github.com/urllib3/urllib3/issues/2282>`_. ++ If you are a user of this module please leave a comment. ++* Changed ``HTTPConnection.request_chunked()`` to not erroneously emit multiple ++ ``Transfer-Encoding`` headers in the case that one is already specified. ++* Fixed typo in deprecation message to recommend ``Retry.DEFAULT_ALLOWED_METHODS``. ++ ++ ++1.26.5 (2021-05-26) ++------------------- ++ ++* Fixed deprecation warnings emitted in Python 3.10. ++* Updated vendored ``six`` library to 1.16.0. ++* Improved performance of URL parser when splitting ++ the authority component. ++ ++ ++1.26.4 (2021-03-15) ++------------------- ++ ++* Changed behavior of the default ``SSLContext`` when connecting to HTTPS proxy ++ during HTTPS requests. The default ``SSLContext`` now sets ``check_hostname=True``. ++ ++ ++1.26.3 (2021-01-26) ++------------------- ++ ++* Fixed bytes and string comparison issue with headers (Pull #2141) ++ ++* Changed ``ProxySchemeUnknown`` error message to be ++ more actionable if the user supplies a proxy URL without ++ a scheme. (Pull #2107) ++ ++ ++1.26.2 (2020-11-12) ++------------------- ++ ++* Fixed an issue where ``wrap_socket`` and ``CERT_REQUIRED`` wouldn't ++ be imported properly on Python 2.7.8 and earlier (Pull #2052) ++ ++ ++1.26.1 (2020-11-11) ++------------------- ++ ++* Fixed an issue where two ``User-Agent`` headers would be sent if a ++ ``User-Agent`` header key is passed as ``bytes`` (Pull #2047) ++ ++ + 1.26.0 (2020-11-10) + ------------------- + +@@ -1331,5 +1484,3 @@ Changes + ---------------- + + * First release. +- +- +diff --git a/third_party/python/urllib3/urllib3-1.26.17.dist-info/RECORD b/third_party/python/urllib3/urllib3-1.26.17.dist-info/RECORD +new file mode 100644 +index 0000000000000..1afc6580589c0 +--- /dev/null ++++ b/third_party/python/urllib3/urllib3-1.26.17.dist-info/RECORD +@@ -0,0 +1,44 @@ ++urllib3/__init__.py,sha256=iXLcYiJySn0GNbWOOZDDApgBL1JgP44EZ8i1760S8Mc,3333 ++urllib3/_collections.py,sha256=Rp1mVyBgc_UlAcp6M3at1skJBXR5J43NawRTvW2g_XY,10811 ++urllib3/_version.py,sha256=azoM7M7BUADl2kBhMVR6PPf2GhBDI90me1fcnzTwdcw,64 ++urllib3/connection.py,sha256=92k9td_y4PEiTIjNufCUa1NzMB3J3w0LEdyokYgXnW8,20300 ++urllib3/connectionpool.py,sha256=ItVDasDnPRPP9R8bNxY7tPBlC724nJ9nlxVgXG_SLbI,39990 ++urllib3/exceptions.py,sha256=0Mnno3KHTNfXRfY7638NufOPkUb6mXOm-Lqj-4x2w8A,8217 ++urllib3/fields.py,sha256=kvLDCg_JmH1lLjUUEY_FLS8UhY7hBvDPuVETbY8mdrM,8579 ++urllib3/filepost.py,sha256=5b_qqgRHVlL7uLtdAYBzBh-GHmU5AfJVt_2N0XS3PeY,2440 ++urllib3/poolmanager.py,sha256=0i8cJgrqupza67IBPZ_u9jXvnSxr5UBlVEiUqdkPtYI,19752 ++urllib3/request.py,sha256=YTWFNr7QIwh7E1W9dde9LM77v2VWTJ5V78XuTTw7D1A,6691 ++urllib3/response.py,sha256=UPgLmnHj4z71ZnH8ivYOyncATifTOw9FQukUqDnckCc,30761 ++urllib3/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 ++urllib3/contrib/_appengine_environ.py,sha256=bDbyOEhW2CKLJcQqAKAyrEHN-aklsyHFKq6vF8ZFsmk,957 ++urllib3/contrib/appengine.py,sha256=6IBW6lPOoVUxASPwtn6IH1AATe5DK3lLJCfwyWlLKAE,11012 ++urllib3/contrib/ntlmpool.py,sha256=NlfkW7WMdW8ziqudopjHoW299og1BTWi0IeIibquFwk,4528 ++urllib3/contrib/pyopenssl.py,sha256=4AJAlo9NmjWofY4dJwRa4kbZuRuHfNJxu8Pv6yQk1ss,17055 ++urllib3/contrib/securetransport.py,sha256=QOhVbWrFQTKbmV-vtyG69amekkKVxXkdjk9oymaO0Ag,34416 ++urllib3/contrib/socks.py,sha256=aRi9eWXo9ZEb95XUxef4Z21CFlnnjbEiAo9HOseoMt4,7097 ++urllib3/contrib/_securetransport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 ++urllib3/contrib/_securetransport/bindings.py,sha256=4Xk64qIkPBt09A5q-RIFUuDhNc9mXilVapm7WnYnzRw,17632 ++urllib3/contrib/_securetransport/low_level.py,sha256=B2JBB2_NRP02xK6DCa1Pa9IuxrPwxzDzZbixQkb7U9M,13922 ++urllib3/packages/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 ++urllib3/packages/six.py,sha256=b9LM0wBXv7E7SrbCjAm4wwN-hrH-iNxv18LgWNMMKPo,34665 ++urllib3/packages/backports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 ++urllib3/packages/backports/makefile.py,sha256=nbzt3i0agPVP07jqqgjhaYjMmuAi_W5E0EywZivVO8E,1417 ++urllib3/packages/backports/weakref_finalize.py,sha256=tRCal5OAhNSRyb0DhHp-38AtIlCsRP8BxF3NX-6rqIA,5343 ++urllib3/util/__init__.py,sha256=JEmSmmqqLyaw8P51gUImZh8Gwg9i1zSe-DoqAitn2nc,1155 ++urllib3/util/connection.py,sha256=5Lx2B1PW29KxBn2T0xkN1CBgRBa3gGVJBKoQoRogEVk,4901 ++urllib3/util/proxy.py,sha256=zUvPPCJrp6dOF0N4GAVbOcl6o-4uXKSrGiTkkr5vUS4,1605 ++urllib3/util/queue.py,sha256=nRgX8_eX-_VkvxoX096QWoz8Ps0QHUAExILCY_7PncM,498 ++urllib3/util/request.py,sha256=fWiAaa8pwdLLIqoTLBxCC2e4ed80muzKU3e3HWWTzFQ,4225 ++urllib3/util/response.py,sha256=GJpg3Egi9qaJXRwBh5wv-MNuRWan5BIu40oReoxWP28,3510 ++urllib3/util/retry.py,sha256=Z6WEf518eTOXP5jr5QSQ9gqJI0DVYt3Xs3EKnYaTmus,22013 ++urllib3/util/ssl_.py,sha256=c0sYiSC6272r6uPkxQpo5rYPP9QC1eR6oI7004gYqZo,17165 ++urllib3/util/ssl_match_hostname.py,sha256=Ir4cZVEjmAk8gUAIHWSi7wtOO83UCYABY2xFD1Ql_WA,5758 ++urllib3/util/ssltransport.py,sha256=NA-u5rMTrDFDFC8QzRKUEKMG0561hOD4qBTr3Z4pv6E,6895 ++urllib3/util/timeout.py,sha256=cwq4dMk87mJHSBktK1miYJ-85G-3T3RmT20v7SFCpno,10168 ++urllib3/util/url.py,sha256=kMxL1k0d-aQm_iZDw_zMmnyYyjrIA_DbsMy3cm3V55M,14279 ++urllib3/util/wait.py,sha256=fOX0_faozG2P7iVojQoE1mbydweNyTcm-hXEfFrTtLI,5403 ++urllib3-1.26.17.dist-info/LICENSE.txt,sha256=w3vxhuJ8-dvpYZ5V7f486nswCRzrPaY8fay-Dm13kHs,1115 ++urllib3-1.26.17.dist-info/METADATA,sha256=swEiQKmb2m5Vl4fygmy4aLSzZjxDjD8q2-_XzuhO9pA,48743 ++urllib3-1.26.17.dist-info/WHEEL,sha256=iYlv5fX357PQyRT2o6tw1bN-YcKFFHKqB_LwHO5wP-g,110 ++urllib3-1.26.17.dist-info/top_level.txt,sha256=EMiXL2sKrTcmrMxIHTqdc3ET54pQI2Y072LexFEemvo,8 ++urllib3-1.26.17.dist-info/RECORD,, +diff --git a/third_party/python/six/six-1.13.0.dist-info/WHEEL b/third_party/python/urllib3/urllib3-1.26.17.dist-info/WHEEL +similarity index 70% +rename from third_party/python/six/six-1.13.0.dist-info/WHEEL +rename to third_party/python/urllib3/urllib3-1.26.17.dist-info/WHEEL +index 8b701e93c2315..c34f1162ef9a5 100644 +--- a/third_party/python/six/six-1.13.0.dist-info/WHEEL ++++ b/third_party/python/urllib3/urllib3-1.26.17.dist-info/WHEEL +@@ -1,5 +1,5 @@ + Wheel-Version: 1.0 +-Generator: bdist_wheel (0.33.6) ++Generator: bdist_wheel (0.41.2) + Root-Is-Purelib: true + Tag: py2-none-any + Tag: py3-none-any +diff --git a/third_party/python/urllib3/urllib3-1.26.0.dist-info/top_level.txt b/third_party/python/urllib3/urllib3-1.26.17.dist-info/top_level.txt +similarity index 100% +rename from third_party/python/urllib3/urllib3-1.26.0.dist-info/top_level.txt +rename to third_party/python/urllib3/urllib3-1.26.17.dist-info/top_level.txt +diff --git a/third_party/python/urllib3/urllib3/__init__.py b/third_party/python/urllib3/urllib3/__init__.py +index fe86b59d782bd..c6fa38212fb55 100644 +--- a/third_party/python/urllib3/urllib3/__init__.py ++++ b/third_party/python/urllib3/urllib3/__init__.py +@@ -19,6 +19,23 @@ + from .util.timeout import Timeout + from .util.url import get_host + ++# === NOTE TO REPACKAGERS AND VENDORS === ++# Please delete this block, this logic is only ++# for urllib3 being distributed via PyPI. ++# See: https://github.com/urllib3/urllib3/issues/2680 ++try: ++ import urllib3_secure_extra # type: ignore # noqa: F401 ++except ImportError: ++ pass ++else: ++ warnings.warn( ++ "'urllib3[secure]' extra is deprecated and will be removed " ++ "in a future release of urllib3 2.x. Read more in this issue: " ++ "https://github.com/urllib3/urllib3/issues/2680", ++ category=DeprecationWarning, ++ stacklevel=2, ++ ) ++ + __author__ = "Andrey Petrov (andrey.petrov@shazow.net)" + __license__ = "MIT" + __version__ = __version__ +diff --git a/third_party/python/urllib3/urllib3/_version.py b/third_party/python/urllib3/urllib3/_version.py +index cee465f88a931..cad75fb5df82a 100644 +--- a/third_party/python/urllib3/urllib3/_version.py ++++ b/third_party/python/urllib3/urllib3/_version.py +@@ -1,2 +1,2 @@ + # This file is protected via CODEOWNERS +-__version__ = "1.26.0" ++__version__ = "1.26.17" +diff --git a/third_party/python/urllib3/urllib3/connection.py b/third_party/python/urllib3/urllib3/connection.py +index 52487417c946b..54b96b19154cc 100644 +--- a/third_party/python/urllib3/urllib3/connection.py ++++ b/third_party/python/urllib3/urllib3/connection.py +@@ -43,6 +43,7 @@ class BrokenPipeError(Exception): + pass + + ++from ._collections import HTTPHeaderDict # noqa (historical, removed in v2) + from ._version import __version__ + from .exceptions import ( + ConnectTimeoutError, +@@ -50,15 +51,16 @@ class BrokenPipeError(Exception): + SubjectAltNameWarning, + SystemTimeWarning, + ) +-from .packages.ssl_match_hostname import CertificateError, match_hostname + from .util import SKIP_HEADER, SKIPPABLE_HEADERS, connection + from .util.ssl_ import ( + assert_fingerprint, + create_urllib3_context, ++ is_ipaddress, + resolve_cert_reqs, + resolve_ssl_version, + ssl_wrap_socket, + ) ++from .util.ssl_match_hostname import CertificateError, match_hostname + + log = logging.getLogger(__name__) + +@@ -66,7 +68,7 @@ class BrokenPipeError(Exception): + + # When it comes time to update this value as a part of regular maintenance + # (ie test_recent_date is failing) update it to ~6 months before the current date. +-RECENT_DATE = datetime.date(2019, 1, 1) ++RECENT_DATE = datetime.date(2022, 1, 1) + + _CONTAINS_CONTROL_CHAR_RE = re.compile(r"[^-!#$%&'*+.^_`|~0-9a-zA-Z]") + +@@ -106,6 +108,10 @@ class HTTPConnection(_HTTPConnection, object): + #: Whether this connection verifies the host's certificate. + is_verified = False + ++ #: Whether this proxy connection (if used) verifies the proxy host's ++ #: certificate. ++ proxy_is_verified = None ++ + def __init__(self, *args, **kw): + if not six.PY2: + kw.pop("strict", None) +@@ -200,7 +206,7 @@ def connect(self): + self._prepare_conn(conn) + + def putrequest(self, method, url, *args, **kwargs): +- """""" ++ """ """ + # Empty docstring because the indentation of CPython's implementation + # is broken but we don't want this method in our documentation. + match = _CONTAINS_CONTROL_CHAR_RE.search(method) +@@ -213,8 +219,8 @@ def putrequest(self, method, url, *args, **kwargs): + return _HTTPConnection.putrequest(self, method, url, *args, **kwargs) + + def putheader(self, header, *values): +- """""" +- if SKIP_HEADER not in values: ++ """ """ ++ if not any(isinstance(v, str) and v == SKIP_HEADER for v in values): + _HTTPConnection.putheader(self, header, *values) + elif six.ensure_str(header.lower()) not in SKIPPABLE_HEADERS: + raise ValueError( +@@ -223,12 +229,17 @@ def putheader(self, header, *values): + ) + + def request(self, method, url, body=None, headers=None): ++ # Update the inner socket's timeout value to send the request. ++ # This only triggers if the connection is re-used. ++ if getattr(self, "sock", None) is not None: ++ self.sock.settimeout(self.timeout) ++ + if headers is None: + headers = {} + else: + # Avoid modifying the headers passed into .request() + headers = headers.copy() +- if "user-agent" not in (k.lower() for k in headers): ++ if "user-agent" not in (six.ensure_str(k.lower()) for k in headers): + headers["User-Agent"] = _get_default_user_agent() + super(HTTPConnection, self).request(method, url, body=body, headers=headers) + +@@ -248,7 +259,7 @@ def request_chunked(self, method, url, body=None, headers=None): + self.putheader("User-Agent", _get_default_user_agent()) + for header, value in headers.items(): + self.putheader(header, value) +- if "transfer-encoding" not in headers: ++ if "transfer-encoding" not in header_keys: + self.putheader("Transfer-Encoding", "chunked") + self.endheaders() + +@@ -349,17 +360,15 @@ def set_cert( + + def connect(self): + # Add certificate verification +- conn = self._new_conn() ++ self.sock = conn = self._new_conn() + hostname = self.host + tls_in_tls = False + + if self._is_using_tunnel(): + if self.tls_in_tls_required: +- conn = self._connect_tls_proxy(hostname, conn) ++ self.sock = conn = self._connect_tls_proxy(hostname, conn) + tls_in_tls = True + +- self.sock = conn +- + # Calls self._set_hostport(), so self.host is + # self._tunnel_host below. + self._tunnel() +@@ -492,7 +501,7 @@ def _connect_tls_proxy(self, hostname, conn): + + # If no cert was provided, use only the default options for server + # certificate validation +- return ssl_wrap_socket( ++ socket = ssl_wrap_socket( + sock=conn, + ca_certs=self.ca_certs, + ca_cert_dir=self.ca_cert_dir, +@@ -501,8 +510,37 @@ def _connect_tls_proxy(self, hostname, conn): + ssl_context=ssl_context, + ) + ++ if ssl_context.verify_mode != ssl.CERT_NONE and not getattr( ++ ssl_context, "check_hostname", False ++ ): ++ # While urllib3 attempts to always turn off hostname matching from ++ # the TLS library, this cannot always be done. So we check whether ++ # the TLS Library still thinks it's matching hostnames. ++ cert = socket.getpeercert() ++ if not cert.get("subjectAltName", ()): ++ warnings.warn( ++ ( ++ "Certificate for {0} has no `subjectAltName`, falling back to check for a " ++ "`commonName` for now. This feature is being removed by major browsers and " ++ "deprecated by RFC 2818. (See https://github.com/urllib3/urllib3/issues/497 " ++ "for details.)".format(hostname) ++ ), ++ SubjectAltNameWarning, ++ ) ++ _match_hostname(cert, hostname) ++ ++ self.proxy_is_verified = ssl_context.verify_mode == ssl.CERT_REQUIRED ++ return socket ++ + + def _match_hostname(cert, asserted_hostname): ++ # Our upstream implementation of ssl.match_hostname() ++ # only applies this normalization to IP addresses so it doesn't ++ # match DNS SANs so we do the same thing! ++ stripped_hostname = asserted_hostname.strip("u[]") ++ if is_ipaddress(stripped_hostname): ++ asserted_hostname = stripped_hostname ++ + try: + match_hostname(cert, asserted_hostname) + except CertificateError as e: +diff --git a/third_party/python/urllib3/urllib3/connectionpool.py b/third_party/python/urllib3/urllib3/connectionpool.py +index 4708c5bfc7862..96844d933745d 100644 +--- a/third_party/python/urllib3/urllib3/connectionpool.py ++++ b/third_party/python/urllib3/urllib3/connectionpool.py +@@ -2,6 +2,7 @@ + + import errno + import logging ++import re + import socket + import sys + import warnings +@@ -35,7 +36,6 @@ + ) + from .packages import six + from .packages.six.moves import queue +-from .packages.ssl_match_hostname import CertificateError + from .request import RequestMethods + from .response import HTTPResponse + from .util.connection import is_connection_dropped +@@ -44,11 +44,19 @@ + from .util.request import set_file_position + from .util.response import assert_header_parsing + from .util.retry import Retry ++from .util.ssl_match_hostname import CertificateError + from .util.timeout import Timeout + from .util.url import Url, _encode_target + from .util.url import _normalize_host as normalize_host + from .util.url import get_host, parse_url + ++try: # Platform-specific: Python 3 ++ import weakref ++ ++ weakref_finalize = weakref.finalize ++except AttributeError: # Platform-specific: Python 2 ++ from .packages.backports.weakref_finalize import weakref_finalize ++ + xrange = six.moves.xrange + + log = logging.getLogger(__name__) +@@ -219,6 +227,16 @@ def __init__( + self.conn_kw["proxy"] = self.proxy + self.conn_kw["proxy_config"] = self.proxy_config + ++ # Do not pass 'self' as callback to 'finalize'. ++ # Then the 'finalize' would keep an endless living (leak) to self. ++ # By just passing a reference to the pool allows the garbage collector ++ # to free self if nobody else has a reference to it. ++ pool = self.pool ++ ++ # Close all the HTTPConnections in the pool before the ++ # HTTPConnectionPool object is garbage collected. ++ weakref_finalize(self, _close_pool_connections, pool) ++ + def _new_conn(self): + """ + Return a fresh :class:`HTTPConnection`. +@@ -301,8 +319,11 @@ def _put_conn(self, conn): + pass + except queue.Full: + # This should never happen if self.block == True +- log.warning("Connection pool is full, discarding connection: %s", self.host) +- ++ log.warning( ++ "Connection pool is full, discarding connection: %s. Connection pool size: %s", ++ self.host, ++ self.pool.qsize(), ++ ) + # Connection never got put back into the pool, close it. + if conn: + conn.close() +@@ -318,7 +339,7 @@ def _prepare_proxy(self, conn): + pass + + def _get_timeout(self, timeout): +- """ Helper that always returns a :class:`urllib3.util.Timeout` """ ++ """Helper that always returns a :class:`urllib3.util.Timeout`""" + if timeout is _Default: + return self.timeout.clone() + +@@ -375,7 +396,7 @@ def _make_request( + + timeout_obj = self._get_timeout(timeout) + timeout_obj.start_connect() +- conn.timeout = timeout_obj.connect_timeout ++ conn.timeout = Timeout.resolve_default_timeout(timeout_obj.connect_timeout) + + # Trigger any extra validation we need to do. + try: +@@ -485,14 +506,8 @@ def close(self): + # Disable access to the pool + old_pool, self.pool = self.pool, None + +- try: +- while True: +- conn = old_pool.get(block=False) +- if conn: +- conn.close() +- +- except queue.Empty: +- pass # Done. ++ # Close all the HTTPConnections in the pool. ++ _close_pool_connections(old_pool) + + def is_same_host(self, url): + """ +@@ -745,7 +760,35 @@ def urlopen( + # Discard the connection for these exceptions. It will be + # replaced during the next _get_conn() call. + clean_exit = False +- if isinstance(e, (BaseSSLError, CertificateError)): ++ ++ def _is_ssl_error_message_from_http_proxy(ssl_error): ++ # We're trying to detect the message 'WRONG_VERSION_NUMBER' but ++ # SSLErrors are kinda all over the place when it comes to the message, ++ # so we try to cover our bases here! ++ message = " ".join(re.split("[^a-z]", str(ssl_error).lower())) ++ return ( ++ "wrong version number" in message or "unknown protocol" in message ++ ) ++ ++ # Try to detect a common user error with proxies which is to ++ # set an HTTP proxy to be HTTPS when it should be 'http://' ++ # (ie {'http': 'http://proxy', 'https': 'https://proxy'}) ++ # Instead we add a nice error message and point to a URL. ++ if ( ++ isinstance(e, BaseSSLError) ++ and self.proxy ++ and _is_ssl_error_message_from_http_proxy(e) ++ and conn.proxy ++ and conn.proxy.scheme == "https" ++ ): ++ e = ProxyError( ++ "Your proxy appears to only use HTTP and not HTTPS, " ++ "try changing your proxy URL to be HTTP. See: " ++ "https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html" ++ "#https-proxy-error-http-proxy", ++ SSLError(e), ++ ) ++ elif isinstance(e, (BaseSSLError, CertificateError)): + e = SSLError(e) + elif isinstance(e, (SocketError, NewConnectionError)) and self.proxy: + e = ProxyError("Cannot connect to proxy.", e) +@@ -830,7 +873,7 @@ def urlopen( + ) + + # Check if we should retry the HTTP response. +- has_retry_after = bool(response.getheader("Retry-After")) ++ has_retry_after = bool(response.headers.get("Retry-After")) + if retries.is_retry(method, response.status, has_retry_after): + try: + retries = retries.increment(method, url, response=response, _pool=self) +@@ -1014,12 +1057,23 @@ def _validate_conn(self, conn): + ( + "Unverified HTTPS request is being made to host '%s'. " + "Adding certificate verification is strongly advised. See: " +- "https://urllib3.readthedocs.io/en/latest/advanced-usage.html" ++ "https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html" + "#ssl-warnings" % conn.host + ), + InsecureRequestWarning, + ) + ++ if getattr(conn, "proxy_is_verified", None) is False: ++ warnings.warn( ++ ( ++ "Unverified HTTPS connection done to an HTTPS proxy. " ++ "Adding certificate verification is strongly advised. See: " ++ "https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html" ++ "#ssl-warnings" ++ ), ++ InsecureRequestWarning, ++ ) ++ + + def connection_from_url(url, **kw): + """ +@@ -1065,3 +1119,14 @@ def _normalize_host(host, scheme): + if host.startswith("[") and host.endswith("]"): + host = host[1:-1] + return host ++ ++ ++def _close_pool_connections(pool): ++ """Drains a queue of connections and closes each one.""" ++ try: ++ while True: ++ conn = pool.get(block=False) ++ if conn: ++ conn.close() ++ except queue.Empty: ++ pass # Done. +diff --git a/third_party/python/urllib3/urllib3/contrib/_securetransport/bindings.py b/third_party/python/urllib3/urllib3/contrib/_securetransport/bindings.py +index 11524d400bab2..264d564dbda67 100644 +--- a/third_party/python/urllib3/urllib3/contrib/_securetransport/bindings.py ++++ b/third_party/python/urllib3/urllib3/contrib/_securetransport/bindings.py +@@ -48,7 +48,7 @@ + ) + from ctypes.util import find_library + +-from urllib3.packages.six import raise_from ++from ...packages.six import raise_from + + if platform.system() != "Darwin": + raise ImportError("Only macOS is supported") +diff --git a/third_party/python/urllib3/urllib3/contrib/_securetransport/low_level.py b/third_party/python/urllib3/urllib3/contrib/_securetransport/low_level.py +index ed8120190c06f..fa0b245d279e9 100644 +--- a/third_party/python/urllib3/urllib3/contrib/_securetransport/low_level.py ++++ b/third_party/python/urllib3/urllib3/contrib/_securetransport/low_level.py +@@ -188,6 +188,7 @@ def _cert_array_from_pem(pem_bundle): + # We only want to do that if an error occurs: otherwise, the caller + # should free. + CoreFoundation.CFRelease(cert_array) ++ raise + + return cert_array + +diff --git a/third_party/python/urllib3/urllib3/contrib/appengine.py b/third_party/python/urllib3/urllib3/contrib/appengine.py +index aa64a0914c601..a5a6d91035f0a 100644 +--- a/third_party/python/urllib3/urllib3/contrib/appengine.py ++++ b/third_party/python/urllib3/urllib3/contrib/appengine.py +@@ -111,7 +111,7 @@ def __init__( + warnings.warn( + "urllib3 is using URLFetch on Google App Engine sandbox instead " + "of sockets. To use sockets directly instead of URLFetch see " +- "https://urllib3.readthedocs.io/en/latest/reference/urllib3.contrib.html.", ++ "https://urllib3.readthedocs.io/en/1.26.x/reference/urllib3.contrib.html.", + AppEnginePlatformWarning, + ) + +@@ -224,7 +224,7 @@ def urlopen( + ) + + # Check if we should retry the HTTP response. +- has_retry_after = bool(http_response.getheader("Retry-After")) ++ has_retry_after = bool(http_response.headers.get("Retry-After")) + if retries.is_retry(method, http_response.status, has_retry_after): + retries = retries.increment(method, url, response=http_response, _pool=self) + log.debug("Retry: %s", url) +diff --git a/third_party/python/urllib3/urllib3/contrib/ntlmpool.py b/third_party/python/urllib3/urllib3/contrib/ntlmpool.py +index b2df45dcf6065..471665754e9f1 100644 +--- a/third_party/python/urllib3/urllib3/contrib/ntlmpool.py ++++ b/third_party/python/urllib3/urllib3/contrib/ntlmpool.py +@@ -5,6 +5,7 @@ + """ + from __future__ import absolute_import + ++import warnings + from logging import getLogger + + from ntlm import ntlm +@@ -12,6 +13,14 @@ + from .. import HTTPSConnectionPool + from ..packages.six.moves.http_client import HTTPSConnection + ++warnings.warn( ++ "The 'urllib3.contrib.ntlmpool' module is deprecated and will be removed " ++ "in urllib3 v2.0 release, urllib3 is not able to support it properly due " ++ "to reasons listed in issue: https://github.com/urllib3/urllib3/issues/2282. " ++ "If you are a user of this module please comment in the mentioned issue.", ++ DeprecationWarning, ++) ++ + log = getLogger(__name__) + + +@@ -60,7 +69,7 @@ def _new_conn(self): + log.debug("Request headers: %s", headers) + conn.request("GET", self.authurl, None, headers) + res = conn.getresponse() +- reshdr = dict(res.getheaders()) ++ reshdr = dict(res.headers) + log.debug("Response status: %s %s", res.status, res.reason) + log.debug("Response headers: %s", reshdr) + log.debug("Response data: %s [...]", res.read(100)) +@@ -92,7 +101,7 @@ def _new_conn(self): + conn.request("GET", self.authurl, None, headers) + res = conn.getresponse() + log.debug("Response status: %s %s", res.status, res.reason) +- log.debug("Response headers: %s", dict(res.getheaders())) ++ log.debug("Response headers: %s", dict(res.headers)) + log.debug("Response data: %s [...]", res.read()[:100]) + if res.status != 200: + if res.status == 401: +diff --git a/third_party/python/urllib3/urllib3/contrib/pyopenssl.py b/third_party/python/urllib3/urllib3/contrib/pyopenssl.py +index 0cabab1aed14a..1ed214b1d78fc 100644 +--- a/third_party/python/urllib3/urllib3/contrib/pyopenssl.py ++++ b/third_party/python/urllib3/urllib3/contrib/pyopenssl.py +@@ -47,10 +47,10 @@ + """ + from __future__ import absolute_import + ++import OpenSSL.crypto + import OpenSSL.SSL + from cryptography import x509 + from cryptography.hazmat.backends.openssl import backend as openssl_backend +-from cryptography.hazmat.backends.openssl.x509 import _Certificate + + try: + from cryptography.x509 import UnsupportedExtension +@@ -73,9 +73,19 @@ class UnsupportedExtension(Exception): + import logging + import ssl + import sys ++import warnings + + from .. import util + from ..packages import six ++from ..util.ssl_ import PROTOCOL_TLS_CLIENT ++ ++warnings.warn( ++ "'urllib3.contrib.pyopenssl' module is deprecated and will be removed " ++ "in a future release of urllib3 2.x. Read more in this issue: " ++ "https://github.com/urllib3/urllib3/issues/2680", ++ category=DeprecationWarning, ++ stacklevel=2, ++) + + __all__ = ["inject_into_urllib3", "extract_from_urllib3"] + +@@ -85,6 +95,7 @@ class UnsupportedExtension(Exception): + # Map from urllib3 to PyOpenSSL compatible parameter-values. + _openssl_versions = { + util.PROTOCOL_TLS: OpenSSL.SSL.SSLv23_METHOD, ++ PROTOCOL_TLS_CLIENT: OpenSSL.SSL.SSLv23_METHOD, + ssl.PROTOCOL_TLSv1: OpenSSL.SSL.TLSv1_METHOD, + } + +@@ -217,9 +228,8 @@ def get_subj_alt_name(peer_cert): + if hasattr(peer_cert, "to_cryptography"): + cert = peer_cert.to_cryptography() + else: +- # This is technically using private APIs, but should work across all +- # relevant versions before PyOpenSSL got a proper API for this. +- cert = _Certificate(openssl_backend, peer_cert._x509) ++ der = OpenSSL.crypto.dump_certificate(OpenSSL.crypto.FILETYPE_ASN1, peer_cert) ++ cert = x509.load_der_x509_certificate(der, openssl_backend) + + # We want to find the SAN extension. Ask Cryptography to locate it (it's + # faster than looping in Python) +@@ -404,7 +414,6 @@ def makefile(self, mode, bufsize=-1): + self._makefile_refs += 1 + return _fileobject(self, mode, bufsize, close=True) + +- + else: # Platform-specific: Python 3 + makefile = backport_makefile + +diff --git a/third_party/python/urllib3/urllib3/contrib/securetransport.py b/third_party/python/urllib3/urllib3/contrib/securetransport.py +index ab092de67a57c..6c46a3b9f0375 100644 +--- a/third_party/python/urllib3/urllib3/contrib/securetransport.py ++++ b/third_party/python/urllib3/urllib3/contrib/securetransport.py +@@ -67,6 +67,7 @@ + import six + + from .. import util ++from ..util.ssl_ import PROTOCOL_TLS_CLIENT + from ._securetransport.bindings import CoreFoundation, Security, SecurityConst + from ._securetransport.low_level import ( + _assert_no_error, +@@ -154,7 +155,8 @@ + # TLSv1 and a high of TLSv1.2. For everything else, we pin to that version. + # TLSv1 to 1.2 are supported on macOS 10.8+ + _protocol_to_min_max = { +- util.PROTOCOL_TLS: (SecurityConst.kTLSProtocol1, SecurityConst.kTLSProtocol12) ++ util.PROTOCOL_TLS: (SecurityConst.kTLSProtocol1, SecurityConst.kTLSProtocol12), ++ PROTOCOL_TLS_CLIENT: (SecurityConst.kTLSProtocol1, SecurityConst.kTLSProtocol12), + } + + if hasattr(ssl, "PROTOCOL_SSLv2"): +@@ -768,7 +770,6 @@ def makefile(self, mode, bufsize=-1): + self._makefile_refs += 1 + return _fileobject(self, mode, bufsize, close=True) + +- + else: # Platform-specific: Python 3 + + def makefile(self, mode="r", buffering=None, *args, **kwargs): +diff --git a/third_party/python/urllib3/urllib3/contrib/socks.py b/third_party/python/urllib3/urllib3/contrib/socks.py +index 93df8325d59c4..c326e80dd1174 100644 +--- a/third_party/python/urllib3/urllib3/contrib/socks.py ++++ b/third_party/python/urllib3/urllib3/contrib/socks.py +@@ -51,7 +51,7 @@ + ( + "SOCKS support in urllib3 requires the installation of optional " + "dependencies: specifically, PySocks. For more information, see " +- "https://urllib3.readthedocs.io/en/latest/contrib.html#socks-proxies" ++ "https://urllib3.readthedocs.io/en/1.26.x/contrib.html#socks-proxies" + ), + DependencyWarning, + ) +diff --git a/third_party/python/urllib3/urllib3/exceptions.py b/third_party/python/urllib3/urllib3/exceptions.py +index d69958d5dfc29..cba6f3f560f71 100644 +--- a/third_party/python/urllib3/urllib3/exceptions.py ++++ b/third_party/python/urllib3/urllib3/exceptions.py +@@ -289,7 +289,17 @@ class ProxySchemeUnknown(AssertionError, URLSchemeUnknown): + # TODO(t-8ch): Stop inheriting from AssertionError in v2.0. + + def __init__(self, scheme): +- message = "Not supported proxy scheme %s" % scheme ++ # 'localhost' is here because our URL parser parses ++ # localhost:8080 -> scheme=localhost, remove if we fix this. ++ if scheme == "localhost": ++ scheme = None ++ if scheme is None: ++ message = "Proxy URL had no scheme, should start with http:// or https://" ++ else: ++ message = ( ++ "Proxy URL had unsupported scheme %s, should use http:// or https://" ++ % scheme ++ ) + super(ProxySchemeUnknown, self).__init__(message) + + +diff --git a/third_party/python/urllib3/urllib3/packages/__init__.py b/third_party/python/urllib3/urllib3/packages/__init__.py +index fce4caa65d2ee..e69de29bb2d1d 100644 +--- a/third_party/python/urllib3/urllib3/packages/__init__.py ++++ b/third_party/python/urllib3/urllib3/packages/__init__.py +@@ -1,5 +0,0 @@ +-from __future__ import absolute_import +- +-from . import ssl_match_hostname +- +-__all__ = ("ssl_match_hostname",) +diff --git a/third_party/python/urllib3/urllib3/packages/backports/weakref_finalize.py b/third_party/python/urllib3/urllib3/packages/backports/weakref_finalize.py +new file mode 100644 +index 0000000000000..a2f2966e54966 +--- /dev/null ++++ b/third_party/python/urllib3/urllib3/packages/backports/weakref_finalize.py +@@ -0,0 +1,155 @@ ++# -*- coding: utf-8 -*- ++""" ++backports.weakref_finalize ++~~~~~~~~~~~~~~~~~~ ++ ++Backports the Python 3 ``weakref.finalize`` method. ++""" ++from __future__ import absolute_import ++ ++import itertools ++import sys ++from weakref import ref ++ ++__all__ = ["weakref_finalize"] ++ ++ ++class weakref_finalize(object): ++ """Class for finalization of weakrefable objects ++ finalize(obj, func, *args, **kwargs) returns a callable finalizer ++ object which will be called when obj is garbage collected. The ++ first time the finalizer is called it evaluates func(*arg, **kwargs) ++ and returns the result. After this the finalizer is dead, and ++ calling it just returns None. ++ When the program exits any remaining finalizers for which the ++ atexit attribute is true will be run in reverse order of creation. ++ By default atexit is true. ++ """ ++ ++ # Finalizer objects don't have any state of their own. They are ++ # just used as keys to lookup _Info objects in the registry. This ++ # ensures that they cannot be part of a ref-cycle. ++ ++ __slots__ = () ++ _registry = {} ++ _shutdown = False ++ _index_iter = itertools.count() ++ _dirty = False ++ _registered_with_atexit = False ++ ++ class _Info(object): ++ __slots__ = ("weakref", "func", "args", "kwargs", "atexit", "index") ++ ++ def __init__(self, obj, func, *args, **kwargs): ++ if not self._registered_with_atexit: ++ # We may register the exit function more than once because ++ # of a thread race, but that is harmless ++ import atexit ++ ++ atexit.register(self._exitfunc) ++ weakref_finalize._registered_with_atexit = True ++ info = self._Info() ++ info.weakref = ref(obj, self) ++ info.func = func ++ info.args = args ++ info.kwargs = kwargs or None ++ info.atexit = True ++ info.index = next(self._index_iter) ++ self._registry[self] = info ++ weakref_finalize._dirty = True ++ ++ def __call__(self, _=None): ++ """If alive then mark as dead and return func(*args, **kwargs); ++ otherwise return None""" ++ info = self._registry.pop(self, None) ++ if info and not self._shutdown: ++ return info.func(*info.args, **(info.kwargs or {})) ++ ++ def detach(self): ++ """If alive then mark as dead and return (obj, func, args, kwargs); ++ otherwise return None""" ++ info = self._registry.get(self) ++ obj = info and info.weakref() ++ if obj is not None and self._registry.pop(self, None): ++ return (obj, info.func, info.args, info.kwargs or {}) ++ ++ def peek(self): ++ """If alive then return (obj, func, args, kwargs); ++ otherwise return None""" ++ info = self._registry.get(self) ++ obj = info and info.weakref() ++ if obj is not None: ++ return (obj, info.func, info.args, info.kwargs or {}) ++ ++ @property ++ def alive(self): ++ """Whether finalizer is alive""" ++ return self in self._registry ++ ++ @property ++ def atexit(self): ++ """Whether finalizer should be called at exit""" ++ info = self._registry.get(self) ++ return bool(info) and info.atexit ++ ++ @atexit.setter ++ def atexit(self, value): ++ info = self._registry.get(self) ++ if info: ++ info.atexit = bool(value) ++ ++ def __repr__(self): ++ info = self._registry.get(self) ++ obj = info and info.weakref() ++ if obj is None: ++ return "<%s object at %#x; dead>" % (type(self).__name__, id(self)) ++ else: ++ return "<%s object at %#x; for %r at %#x>" % ( ++ type(self).__name__, ++ id(self), ++ type(obj).__name__, ++ id(obj), ++ ) ++ ++ @classmethod ++ def _select_for_exit(cls): ++ # Return live finalizers marked for exit, oldest first ++ L = [(f, i) for (f, i) in cls._registry.items() if i.atexit] ++ L.sort(key=lambda item: item[1].index) ++ return [f for (f, i) in L] ++ ++ @classmethod ++ def _exitfunc(cls): ++ # At shutdown invoke finalizers for which atexit is true. ++ # This is called once all other non-daemonic threads have been ++ # joined. ++ reenable_gc = False ++ try: ++ if cls._registry: ++ import gc ++ ++ if gc.isenabled(): ++ reenable_gc = True ++ gc.disable() ++ pending = None ++ while True: ++ if pending is None or weakref_finalize._dirty: ++ pending = cls._select_for_exit() ++ weakref_finalize._dirty = False ++ if not pending: ++ break ++ f = pending.pop() ++ try: ++ # gc is disabled, so (assuming no daemonic ++ # threads) the following is the only line in ++ # this function which might trigger creation ++ # of a new finalizer ++ f() ++ except Exception: ++ sys.excepthook(*sys.exc_info()) ++ assert f not in cls._registry ++ finally: ++ # prevent any more finalizers from executing during shutdown ++ weakref_finalize._shutdown = True ++ if reenable_gc: ++ gc.enable() +diff --git a/third_party/python/urllib3/urllib3/packages/six.py b/third_party/python/urllib3/urllib3/packages/six.py +index 314424099f624..f099a3dcd28d2 100644 +--- a/third_party/python/urllib3/urllib3/packages/six.py ++++ b/third_party/python/urllib3/urllib3/packages/six.py +@@ -1,4 +1,4 @@ +-# Copyright (c) 2010-2019 Benjamin Peterson ++# Copyright (c) 2010-2020 Benjamin Peterson + # + # Permission is hereby granted, free of charge, to any person obtaining a copy + # of this software and associated documentation files (the "Software"), to deal +@@ -29,7 +29,7 @@ + import types + + __author__ = "Benjamin Peterson <benjamin@python.org>" +-__version__ = "1.12.0" ++__version__ = "1.16.0" + + + # Useful for very coarse version differentiation. +@@ -71,6 +71,11 @@ def __len__(self): + MAXSIZE = int((1 << 63) - 1) + del X + ++if PY34: ++ from importlib.util import spec_from_loader ++else: ++ spec_from_loader = None ++ + + def _add_doc(func, doc): + """Add documentation to a function.""" +@@ -182,6 +187,11 @@ def find_module(self, fullname, path=None): + return self + return None + ++ def find_spec(self, fullname, path, target=None): ++ if fullname in self.known_modules: ++ return spec_from_loader(fullname, self) ++ return None ++ + def __get_module(self, fullname): + try: + return self.known_modules[fullname] +@@ -220,6 +230,12 @@ def get_code(self, fullname): + + get_source = get_code # same as get_code + ++ def create_module(self, spec): ++ return self.load_module(spec.name) ++ ++ def exec_module(self, module): ++ pass ++ + + _importer = _SixMetaPathImporter(__name__) + +@@ -260,9 +276,19 @@ class _MovedItems(_LazyModule): + ), + MovedModule("builtins", "__builtin__"), + MovedModule("configparser", "ConfigParser"), ++ MovedModule( ++ "collections_abc", ++ "collections", ++ "collections.abc" if sys.version_info >= (3, 3) else "collections", ++ ), + MovedModule("copyreg", "copy_reg"), + MovedModule("dbm_gnu", "gdbm", "dbm.gnu"), +- MovedModule("_dummy_thread", "dummy_thread", "_dummy_thread"), ++ MovedModule("dbm_ndbm", "dbm", "dbm.ndbm"), ++ MovedModule( ++ "_dummy_thread", ++ "dummy_thread", ++ "_dummy_thread" if sys.version_info < (3, 9) else "_thread", ++ ), + MovedModule("http_cookiejar", "cookielib", "http.cookiejar"), + MovedModule("http_cookies", "Cookie", "http.cookies"), + MovedModule("html_entities", "htmlentitydefs", "html.entities"), +@@ -307,7 +333,9 @@ class _MovedItems(_LazyModule): + ] + # Add windows specific modules. + if sys.platform == "win32": +- _moved_attributes += [MovedModule("winreg", "_winreg")] ++ _moved_attributes += [ ++ MovedModule("winreg", "_winreg"), ++ ] + + for attr in _moved_attributes: + setattr(_MovedItems, attr.name, attr) +@@ -476,7 +504,7 @@ class Module_six_moves_urllib_robotparser(_LazyModule): + + + _urllib_robotparser_moved_attributes = [ +- MovedAttribute("RobotFileParser", "robotparser", "urllib.robotparser") ++ MovedAttribute("RobotFileParser", "robotparser", "urllib.robotparser"), + ] + for attr in _urllib_robotparser_moved_attributes: + setattr(Module_six_moves_urllib_robotparser, attr.name, attr) +@@ -678,9 +706,11 @@ def u(s): + if sys.version_info[1] <= 1: + _assertRaisesRegex = "assertRaisesRegexp" + _assertRegex = "assertRegexpMatches" ++ _assertNotRegex = "assertNotRegexpMatches" + else: + _assertRaisesRegex = "assertRaisesRegex" + _assertRegex = "assertRegex" ++ _assertNotRegex = "assertNotRegex" + else: + + def b(s): +@@ -707,6 +737,7 @@ def indexbytes(buf, i): + _assertCountEqual = "assertItemsEqual" + _assertRaisesRegex = "assertRaisesRegexp" + _assertRegex = "assertRegexpMatches" ++ _assertNotRegex = "assertNotRegexpMatches" + _add_doc(b, """Byte literal""") + _add_doc(u, """Text literal""") + +@@ -723,6 +754,10 @@ def assertRegex(self, *args, **kwargs): + return getattr(self, _assertRegex)(*args, **kwargs) + + ++def assertNotRegex(self, *args, **kwargs): ++ return getattr(self, _assertNotRegex)(*args, **kwargs) ++ ++ + if PY3: + exec_ = getattr(moves.builtins, "exec") + +@@ -737,7 +772,6 @@ def reraise(tp, value, tb=None): + value = None + tb = None + +- + else: + + def exec_(_code_, _globs_=None, _locs_=None): +@@ -750,7 +784,7 @@ def exec_(_code_, _globs_=None, _locs_=None): + del frame + elif _locs_ is None: + _locs_ = _globs_ +- exec("""exec _code_ in _globs_, _locs_""") ++ exec ("""exec _code_ in _globs_, _locs_""") + + exec_( + """def reraise(tp, value, tb=None): +@@ -762,18 +796,7 @@ def exec_(_code_, _globs_=None, _locs_=None): + ) + + +-if sys.version_info[:2] == (3, 2): +- exec_( +- """def raise_from(value, from_value): +- try: +- if from_value is None: +- raise value +- raise value from from_value +- finally: +- value = None +-""" +- ) +-elif sys.version_info[:2] > (3, 2): ++if sys.version_info[:2] > (3,): + exec_( + """def raise_from(value, from_value): + try: +@@ -863,19 +886,41 @@ def print_(*args, **kwargs): + _add_doc(reraise, """Reraise an exception.""") + + if sys.version_info[0:2] < (3, 4): ++ # This does exactly the same what the :func:`py3:functools.update_wrapper` ++ # function does on Python versions after 3.2. It sets the ``__wrapped__`` ++ # attribute on ``wrapper`` object and it doesn't raise an error if any of ++ # the attributes mentioned in ``assigned`` and ``updated`` are missing on ++ # ``wrapped`` object. ++ def _update_wrapper( ++ wrapper, ++ wrapped, ++ assigned=functools.WRAPPER_ASSIGNMENTS, ++ updated=functools.WRAPPER_UPDATES, ++ ): ++ for attr in assigned: ++ try: ++ value = getattr(wrapped, attr) ++ except AttributeError: ++ continue ++ else: ++ setattr(wrapper, attr, value) ++ for attr in updated: ++ getattr(wrapper, attr).update(getattr(wrapped, attr, {})) ++ wrapper.__wrapped__ = wrapped ++ return wrapper ++ ++ _update_wrapper.__doc__ = functools.update_wrapper.__doc__ + + def wraps( + wrapped, + assigned=functools.WRAPPER_ASSIGNMENTS, + updated=functools.WRAPPER_UPDATES, + ): +- def wrapper(f): +- f = functools.wraps(wrapped, assigned, updated)(f) +- f.__wrapped__ = wrapped +- return f +- +- return wrapper ++ return functools.partial( ++ _update_wrapper, wrapped=wrapped, assigned=assigned, updated=updated ++ ) + ++ wraps.__doc__ = functools.wraps.__doc__ + + else: + wraps = functools.wraps +@@ -888,7 +933,15 @@ def with_metaclass(meta, *bases): + # the actual metaclass. + class metaclass(type): + def __new__(cls, name, this_bases, d): +- return meta(name, bases, d) ++ if sys.version_info[:2] >= (3, 7): ++ # This version introduced PEP 560 that requires a bit ++ # of extra care (we mimic what is done by __build_class__). ++ resolved_bases = types.resolve_bases(bases) ++ if resolved_bases is not bases: ++ d["__orig_bases__"] = bases ++ else: ++ resolved_bases = bases ++ return meta(name, resolved_bases, d) + + @classmethod + def __prepare__(cls, name, this_bases): +@@ -928,12 +981,11 @@ def ensure_binary(s, encoding="utf-8", errors="strict"): + - `str` -> encoded to `bytes` + - `bytes` -> `bytes` + """ ++ if isinstance(s, binary_type): ++ return s + if isinstance(s, text_type): + return s.encode(encoding, errors) +- elif isinstance(s, binary_type): +- return s +- else: +- raise TypeError("not expecting type '%s'" % type(s)) ++ raise TypeError("not expecting type '%s'" % type(s)) + + + def ensure_str(s, encoding="utf-8", errors="strict"): +@@ -947,12 +999,15 @@ def ensure_str(s, encoding="utf-8", errors="strict"): + - `str` -> `str` + - `bytes` -> decoded to `str` + """ +- if not isinstance(s, (text_type, binary_type)): +- raise TypeError("not expecting type '%s'" % type(s)) ++ # Optimization: Fast return for the common case. ++ if type(s) is str: ++ return s + if PY2 and isinstance(s, text_type): +- s = s.encode(encoding, errors) ++ return s.encode(encoding, errors) + elif PY3 and isinstance(s, binary_type): +- s = s.decode(encoding, errors) ++ return s.decode(encoding, errors) ++ elif not isinstance(s, (text_type, binary_type)): ++ raise TypeError("not expecting type '%s'" % type(s)) + return s + + +@@ -977,7 +1032,7 @@ def ensure_text(s, encoding="utf-8", errors="strict"): + + def python_2_unicode_compatible(klass): + """ +- A decorator that defines __unicode__ and __str__ methods under Python 2. ++ A class decorator that defines __unicode__ and __str__ methods under Python 2. + Under Python 3 it does nothing. + + To support Python 2 and 3 with a single code base, define a __str__ method +diff --git a/third_party/python/urllib3/urllib3/packages/ssl_match_hostname/__init__.py b/third_party/python/urllib3/urllib3/packages/ssl_match_hostname/__init__.py +deleted file mode 100644 +index 6b12fd90aadec..0000000000000 +--- a/third_party/python/urllib3/urllib3/packages/ssl_match_hostname/__init__.py ++++ /dev/null +@@ -1,22 +0,0 @@ +-import sys +- +-try: +- # Our match_hostname function is the same as 3.5's, so we only want to +- # import the match_hostname function if it's at least that good. +- if sys.version_info < (3, 5): +- raise ImportError("Fallback to vendored code") +- +- from ssl import CertificateError, match_hostname +-except ImportError: +- try: +- # Backport of the function from a pypi module +- from backports.ssl_match_hostname import ( # type: ignore +- CertificateError, +- match_hostname, +- ) +- except ImportError: +- # Our vendored copy +- from ._implementation import CertificateError, match_hostname # type: ignore +- +-# Not needed, but documenting what we provide. +-__all__ = ("CertificateError", "match_hostname") +diff --git a/third_party/python/urllib3/urllib3/poolmanager.py b/third_party/python/urllib3/urllib3/poolmanager.py +index 3a31a285bf648..14b10daf3a962 100644 +--- a/third_party/python/urllib3/urllib3/poolmanager.py ++++ b/third_party/python/urllib3/urllib3/poolmanager.py +@@ -34,6 +34,7 @@ + "ca_cert_dir", + "ssl_context", + "key_password", ++ "server_hostname", + ) + + # All known keyword arguments that could be provided to the pool manager, its +@@ -170,7 +171,7 @@ class PoolManager(RequestMethods): + def __init__(self, num_pools=10, headers=None, **connection_pool_kw): + RequestMethods.__init__(self, headers) + self.connection_pool_kw = connection_pool_kw +- self.pools = RecentlyUsedContainer(num_pools, dispose_func=lambda p: p.close()) ++ self.pools = RecentlyUsedContainer(num_pools) + + # Locally set the pool classes and keys so other PoolManagers can + # override them. +diff --git a/third_party/python/urllib3/urllib3/request.py b/third_party/python/urllib3/urllib3/request.py +index 398386a5b9f61..3b4cf999225b8 100644 +--- a/third_party/python/urllib3/urllib3/request.py ++++ b/third_party/python/urllib3/urllib3/request.py +@@ -1,6 +1,9 @@ + from __future__ import absolute_import + ++import sys ++ + from .filepost import encode_multipart_formdata ++from .packages import six + from .packages.six.moves.urllib.parse import urlencode + + __all__ = ["RequestMethods"] +@@ -168,3 +171,21 @@ def request_encode_body( + extra_kw.update(urlopen_kw) + + return self.urlopen(method, url, **extra_kw) ++ ++ ++if not six.PY2: ++ ++ class RequestModule(sys.modules[__name__].__class__): ++ def __call__(self, *args, **kwargs): ++ """ ++ If user tries to call this module directly urllib3 v2.x style raise an error to the user ++ suggesting they may need urllib3 v2 ++ """ ++ raise TypeError( ++ "'module' object is not callable\n" ++ "urllib3.request() method is not supported in this release, " ++ "upgrade to urllib3 v2 to use it\n" ++ "see https://urllib3.readthedocs.io/en/stable/v2-migration-guide.html" ++ ) ++ ++ sys.modules[__name__].__class__ = RequestModule +diff --git a/third_party/python/urllib3/urllib3/response.py b/third_party/python/urllib3/urllib3/response.py +index 38693f4fc6e33..0bd13d40b8ac7 100644 +--- a/third_party/python/urllib3/urllib3/response.py ++++ b/third_party/python/urllib3/urllib3/response.py +@@ -2,16 +2,22 @@ + + import io + import logging ++import sys ++import warnings + import zlib + from contextlib import contextmanager + from socket import error as SocketError + from socket import timeout as SocketTimeout + + try: +- import brotli ++ try: ++ import brotlicffi as brotli ++ except ImportError: ++ import brotli + except ImportError: + brotli = None + ++from . import util + from ._collections import HTTPHeaderDict + from .connection import BaseSSLError, HTTPException + from .exceptions import ( +@@ -478,6 +484,54 @@ def _error_catcher(self): + if self._original_response and self._original_response.isclosed(): + self.release_conn() + ++ def _fp_read(self, amt): ++ """ ++ Read a response with the thought that reading the number of bytes ++ larger than can fit in a 32-bit int at a time via SSL in some ++ known cases leads to an overflow error that has to be prevented ++ if `amt` or `self.length_remaining` indicate that a problem may ++ happen. ++ ++ The known cases: ++ * 3.8 <= CPython < 3.9.7 because of a bug ++ https://github.com/urllib3/urllib3/issues/2513#issuecomment-1152559900. ++ * urllib3 injected with pyOpenSSL-backed SSL-support. ++ * CPython < 3.10 only when `amt` does not fit 32-bit int. ++ """ ++ assert self._fp ++ c_int_max = 2 ** 31 - 1 ++ if ( ++ ( ++ (amt and amt > c_int_max) ++ or (self.length_remaining and self.length_remaining > c_int_max) ++ ) ++ and not util.IS_SECURETRANSPORT ++ and (util.IS_PYOPENSSL or sys.version_info < (3, 10)) ++ ): ++ buffer = io.BytesIO() ++ # Besides `max_chunk_amt` being a maximum chunk size, it ++ # affects memory overhead of reading a response by this ++ # method in CPython. ++ # `c_int_max` equal to 2 GiB - 1 byte is the actual maximum ++ # chunk size that does not lead to an overflow error, but ++ # 256 MiB is a compromise. ++ max_chunk_amt = 2 ** 28 ++ while amt is None or amt != 0: ++ if amt is not None: ++ chunk_amt = min(amt, max_chunk_amt) ++ amt -= chunk_amt ++ else: ++ chunk_amt = max_chunk_amt ++ data = self._fp.read(chunk_amt) ++ if not data: ++ break ++ buffer.write(data) ++ del data # to reduce peak memory usage by `max_chunk_amt`. ++ return buffer.getvalue() ++ else: ++ # StringIO doesn't like amt=None ++ return self._fp.read(amt) if amt is not None else self._fp.read() ++ + def read(self, amt=None, decode_content=None, cache_content=False): + """ + Similar to :meth:`http.client.HTTPResponse.read`, but with two additional +@@ -510,13 +564,11 @@ def read(self, amt=None, decode_content=None, cache_content=False): + fp_closed = getattr(self._fp, "closed", False) + + with self._error_catcher(): ++ data = self._fp_read(amt) if not fp_closed else b"" + if amt is None: +- # cStringIO doesn't like amt=None +- data = self._fp.read() if not fp_closed else b"" + flush_decoder = True + else: + cache_content = False +- data = self._fp.read(amt) if not fp_closed else b"" + if ( + amt != 0 and not data + ): # Platform-specific: Buggy versions of Python. +@@ -612,9 +664,21 @@ def from_httplib(ResponseCls, r, **response_kw): + + # Backwards-compatibility methods for http.client.HTTPResponse + def getheaders(self): ++ warnings.warn( ++ "HTTPResponse.getheaders() is deprecated and will be removed " ++ "in urllib3 v2.1.0. Instead access HTTPResponse.headers directly.", ++ category=DeprecationWarning, ++ stacklevel=2, ++ ) + return self.headers + + def getheader(self, name, default=None): ++ warnings.warn( ++ "HTTPResponse.getheader() is deprecated and will be removed " ++ "in urllib3 v2.1.0. Instead use HTTPResponse.headers.get(name, default).", ++ category=DeprecationWarning, ++ stacklevel=2, ++ ) + return self.headers.get(name, default) + + # Backwards compatibility for http.cookiejar +diff --git a/third_party/python/urllib3/urllib3/util/connection.py b/third_party/python/urllib3/urllib3/util/connection.py +index cd57455748be0..6af1138f260e4 100644 +--- a/third_party/python/urllib3/urllib3/util/connection.py ++++ b/third_party/python/urllib3/urllib3/util/connection.py +@@ -2,9 +2,8 @@ + + import socket + +-from urllib3.exceptions import LocationParseError +- + from ..contrib import _appengine_environ ++from ..exceptions import LocationParseError + from ..packages import six + from .wait import NoWayToWaitForSocketError, wait_for_read + +@@ -118,7 +117,7 @@ def allowed_gai_family(): + + + def _has_ipv6(host): +- """ Returns True if the system can bind an IPv6 address. """ ++ """Returns True if the system can bind an IPv6 address.""" + sock = None + has_ipv6 = False + +diff --git a/third_party/python/urllib3/urllib3/util/proxy.py b/third_party/python/urllib3/urllib3/util/proxy.py +index 34f884d5b314d..2199cc7b7f004 100644 +--- a/third_party/python/urllib3/urllib3/util/proxy.py ++++ b/third_party/python/urllib3/urllib3/util/proxy.py +@@ -45,6 +45,7 @@ def create_proxy_ssl_context( + ssl_version=resolve_ssl_version(ssl_version), + cert_reqs=resolve_cert_reqs(cert_reqs), + ) ++ + if ( + not ca_certs + and not ca_cert_dir +diff --git a/third_party/python/urllib3/urllib3/util/request.py b/third_party/python/urllib3/urllib3/util/request.py +index 25103383ec7ab..b574b081e98a0 100644 +--- a/third_party/python/urllib3/urllib3/util/request.py ++++ b/third_party/python/urllib3/urllib3/util/request.py +@@ -14,7 +14,10 @@ + + ACCEPT_ENCODING = "gzip,deflate" + try: +- import brotli as _unused_module_brotli # noqa: F401 ++ try: ++ import brotlicffi as _unused_module_brotli # noqa: F401 ++ except ImportError: ++ import brotli as _unused_module_brotli # noqa: F401 + except ImportError: + pass + else: +diff --git a/third_party/python/urllib3/urllib3/util/retry.py b/third_party/python/urllib3/urllib3/util/retry.py +index ee51f922f8452..60ef6c4f3f9d0 100644 +--- a/third_party/python/urllib3/urllib3/util/retry.py ++++ b/third_party/python/urllib3/urllib3/util/retry.py +@@ -37,7 +37,7 @@ class _RetryMeta(type): + def DEFAULT_METHOD_WHITELIST(cls): + warnings.warn( + "Using 'Retry.DEFAULT_METHOD_WHITELIST' is deprecated and " +- "will be removed in v2.0. Use 'Retry.DEFAULT_METHODS_ALLOWED' instead", ++ "will be removed in v2.0. Use 'Retry.DEFAULT_ALLOWED_METHODS' instead", + DeprecationWarning, + ) + return cls.DEFAULT_ALLOWED_METHODS +@@ -69,6 +69,24 @@ def DEFAULT_REDIRECT_HEADERS_BLACKLIST(cls, value): + ) + cls.DEFAULT_REMOVE_HEADERS_ON_REDIRECT = value + ++ @property ++ def BACKOFF_MAX(cls): ++ warnings.warn( ++ "Using 'Retry.BACKOFF_MAX' is deprecated and " ++ "will be removed in v2.0. Use 'Retry.DEFAULT_BACKOFF_MAX' instead", ++ DeprecationWarning, ++ ) ++ return cls.DEFAULT_BACKOFF_MAX ++ ++ @BACKOFF_MAX.setter ++ def BACKOFF_MAX(cls, value): ++ warnings.warn( ++ "Using 'Retry.BACKOFF_MAX' is deprecated and " ++ "will be removed in v2.0. Use 'Retry.DEFAULT_BACKOFF_MAX' instead", ++ DeprecationWarning, ++ ) ++ cls.DEFAULT_BACKOFF_MAX = value ++ + + @six.add_metaclass(_RetryMeta) + class Retry(object): +@@ -181,7 +199,7 @@ class Retry(object): + + seconds. If the backoff_factor is 0.1, then :func:`.sleep` will sleep + for [0.0s, 0.2s, 0.4s, ...] between retries. It will never be longer +- than :attr:`Retry.BACKOFF_MAX`. ++ than :attr:`Retry.DEFAULT_BACKOFF_MAX`. + + By default, backoff is disabled (set to 0). + +@@ -217,10 +235,10 @@ class Retry(object): + RETRY_AFTER_STATUS_CODES = frozenset([413, 429, 503]) + + #: Default headers to be used for ``remove_headers_on_redirect`` +- DEFAULT_REMOVE_HEADERS_ON_REDIRECT = frozenset(["Authorization"]) ++ DEFAULT_REMOVE_HEADERS_ON_REDIRECT = frozenset(["Cookie", "Authorization"]) + + #: Maximum backoff time. +- BACKOFF_MAX = 120 ++ DEFAULT_BACKOFF_MAX = 120 + + def __init__( + self, +@@ -253,6 +271,7 @@ def __init__( + "Using 'method_whitelist' with Retry is deprecated and " + "will be removed in v2.0. Use 'allowed_methods' instead", + DeprecationWarning, ++ stacklevel=2, + ) + allowed_methods = method_whitelist + if allowed_methods is _Default: +@@ -320,7 +339,7 @@ def new(self, **kw): + + @classmethod + def from_int(cls, retries, redirect=True, default=None): +- """ Backwards-compatibility for the old retries format.""" ++ """Backwards-compatibility for the old retries format.""" + if retries is None: + retries = default if default is not None else cls.DEFAULT + +@@ -347,7 +366,7 @@ def get_backoff_time(self): + return 0 + + backoff_value = self.backoff_factor * (2 ** (consecutive_errors_len - 1)) +- return min(self.BACKOFF_MAX, backoff_value) ++ return min(self.DEFAULT_BACKOFF_MAX, backoff_value) + + def parse_retry_after(self, retry_after): + # Whitespace: https://tools.ietf.org/html/rfc7230#section-3.2.4 +@@ -373,9 +392,9 @@ def parse_retry_after(self, retry_after): + return seconds + + def get_retry_after(self, response): +- """ Get the value of Retry-After in seconds. """ ++ """Get the value of Retry-After in seconds.""" + +- retry_after = response.getheader("Retry-After") ++ retry_after = response.headers.get("Retry-After") + + if retry_after is None: + return None +@@ -467,7 +486,7 @@ def is_retry(self, method, status_code, has_retry_after=False): + ) + + def is_exhausted(self): +- """ Are we out of retries? """ ++ """Are we out of retries?""" + retry_counts = ( + self.total, + self.connect, +diff --git a/third_party/python/urllib3/urllib3/util/ssl_.py b/third_party/python/urllib3/urllib3/util/ssl_.py +index 1cb5e7cdc1c0c..8f867812a5eb3 100644 +--- a/third_party/python/urllib3/urllib3/util/ssl_.py ++++ b/third_party/python/urllib3/urllib3/util/ssl_.py +@@ -44,13 +44,21 @@ def _const_compare_digest_backport(a, b): + + try: # Test for SSL features + import ssl +- from ssl import HAS_SNI # Has SNI? + from ssl import CERT_REQUIRED, wrap_socket ++except ImportError: ++ pass ++ ++try: ++ from ssl import HAS_SNI # Has SNI? ++except ImportError: ++ pass + ++try: + from .ssltransport import SSLTransport + except ImportError: + pass + ++ + try: # Platform-specific: Python 3.6 + from ssl import PROTOCOL_TLS + +@@ -63,6 +71,11 @@ def _const_compare_digest_backport(a, b): + except ImportError: + PROTOCOL_SSLv23 = PROTOCOL_TLS = 2 + ++try: ++ from ssl import PROTOCOL_TLS_CLIENT ++except ImportError: ++ PROTOCOL_TLS_CLIENT = PROTOCOL_TLS ++ + + try: + from ssl import OP_NO_COMPRESSION, OP_NO_SSLv2, OP_NO_SSLv3 +@@ -151,7 +164,7 @@ def wrap_socket(self, socket, server_hostname=None, server_side=False): + "urllib3 from configuring SSL appropriately and may cause " + "certain SSL connections to fail. You can upgrade to a newer " + "version of Python to solve this. For more information, see " +- "https://urllib3.readthedocs.io/en/latest/advanced-usage.html" ++ "https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html" + "#ssl-warnings", + InsecurePlatformWarning, + ) +@@ -270,7 +283,11 @@ def create_urllib3_context( + Constructed SSLContext object with specified options + :rtype: SSLContext + """ +- context = SSLContext(ssl_version or PROTOCOL_TLS) ++ # PROTOCOL_TLS is deprecated in Python 3.10 ++ if not ssl_version or ssl_version == PROTOCOL_TLS: ++ ssl_version = PROTOCOL_TLS_CLIENT ++ ++ context = SSLContext(ssl_version) + + context.set_ciphers(ciphers or DEFAULT_CIPHERS) + +@@ -305,13 +322,25 @@ def create_urllib3_context( + ) is not None: + context.post_handshake_auth = True + +- context.verify_mode = cert_reqs +- if ( +- getattr(context, "check_hostname", None) is not None +- ): # Platform-specific: Python 3.2 +- # We do our own verification, including fingerprints and alternative +- # hostnames. So disable it here +- context.check_hostname = False ++ def disable_check_hostname(): ++ if ( ++ getattr(context, "check_hostname", None) is not None ++ ): # Platform-specific: Python 3.2 ++ # We do our own verification, including fingerprints and alternative ++ # hostnames. So disable it here ++ context.check_hostname = False ++ ++ # The order of the below lines setting verify_mode and check_hostname ++ # matter due to safe-guards SSLContext has to prevent an SSLContext with ++ # check_hostname=True, verify_mode=NONE/OPTIONAL. This is made even more ++ # complex because we don't know whether PROTOCOL_TLS_CLIENT will be used ++ # or not so we don't know the initial state of the freshly created SSLContext. ++ if cert_reqs == ssl.CERT_REQUIRED: ++ context.verify_mode = cert_reqs ++ disable_check_hostname() ++ else: ++ disable_check_hostname() ++ context.verify_mode = cert_reqs + + # Enable logging of TLS session keys via defacto standard environment variable + # 'SSLKEYLOGFILE', if the feature is available (Python 3.8+). Skip empty values. +@@ -393,7 +422,7 @@ def ssl_wrap_socket( + try: + if hasattr(context, "set_alpn_protocols"): + context.set_alpn_protocols(ALPN_PROTOCOLS) +- except NotImplementedError: ++ except NotImplementedError: # Defensive: in CI, we always have set_alpn_protocols + pass + + # If we detect server_hostname is an IP address then the SNI +@@ -411,7 +440,7 @@ def ssl_wrap_socket( + "This may cause the server to present an incorrect TLS " + "certificate, which can cause validation failures. You can upgrade to " + "a newer version of Python to solve this. For more information, see " +- "https://urllib3.readthedocs.io/en/latest/advanced-usage.html" ++ "https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html" + "#ssl-warnings", + SNIMissingWarning, + ) +diff --git a/third_party/python/urllib3/urllib3/packages/ssl_match_hostname/_implementation.py b/third_party/python/urllib3/urllib3/util/ssl_match_hostname.py +similarity index 92% +rename from third_party/python/urllib3/urllib3/packages/ssl_match_hostname/_implementation.py +rename to third_party/python/urllib3/urllib3/util/ssl_match_hostname.py +index 689208d3c63f1..1dd950c489607 100644 +--- a/third_party/python/urllib3/urllib3/packages/ssl_match_hostname/_implementation.py ++++ b/third_party/python/urllib3/urllib3/util/ssl_match_hostname.py +@@ -9,7 +9,7 @@ + # ipaddress has been backported to 2.6+ in pypi. If it is installed on the + # system, use it to handle IPAddress ServerAltnames (this was added in + # python-3.5) otherwise only do DNS matching. This allows +-# backports.ssl_match_hostname to continue to be used in Python 2.7. ++# util.ssl_match_hostname to continue to be used in Python 2.7. + try: + import ipaddress + except ImportError: +@@ -78,7 +78,8 @@ def _dnsname_match(dn, hostname, max_wildcards=1): + + def _to_unicode(obj): + if isinstance(obj, str) and sys.version_info < (3,): +- obj = unicode(obj, encoding="ascii", errors="strict") ++ # ignored flake8 # F821 to support python 2.7 function ++ obj = unicode(obj, encoding="ascii", errors="strict") # noqa: F821 + return obj + + +@@ -111,11 +112,9 @@ def match_hostname(cert, hostname): + try: + # Divergence from upstream: ipaddress can't handle byte str + host_ip = ipaddress.ip_address(_to_unicode(hostname)) +- except ValueError: +- # Not an IP address (common case) +- host_ip = None +- except UnicodeError: +- # Divergence from upstream: Have to deal with ipaddress not taking ++ except (UnicodeError, ValueError): ++ # ValueError: Not an IP address (common case) ++ # UnicodeError: Divergence from upstream: Have to deal with ipaddress not taking + # byte strings. addresses should be all ascii, so we consider it not + # an ipaddress in this case + host_ip = None +@@ -123,7 +122,7 @@ def match_hostname(cert, hostname): + # Divergence from upstream: Make ipaddress library optional + if ipaddress is None: + host_ip = None +- else: ++ else: # Defensive + raise + dnsnames = [] + san = cert.get("subjectAltName", ()) +diff --git a/third_party/python/urllib3/urllib3/util/ssltransport.py b/third_party/python/urllib3/urllib3/util/ssltransport.py +index 1e41354f5d458..4a7105d17916a 100644 +--- a/third_party/python/urllib3/urllib3/util/ssltransport.py ++++ b/third_party/python/urllib3/urllib3/util/ssltransport.py +@@ -2,8 +2,8 @@ + import socket + import ssl + +-from urllib3.exceptions import ProxySchemeUnsupported +-from urllib3.packages import six ++from ..exceptions import ProxySchemeUnsupported ++from ..packages import six + + SSL_BLOCKSIZE = 16384 + +@@ -193,7 +193,7 @@ def _wrap_ssl_read(self, len, buffer=None): + raise + + def _ssl_io_loop(self, func, *args): +- """ Performs an I/O loop between incoming/outgoing and the socket.""" ++ """Performs an I/O loop between incoming/outgoing and the socket.""" + should_loop = True + ret = None + +diff --git a/third_party/python/urllib3/urllib3/util/timeout.py b/third_party/python/urllib3/urllib3/util/timeout.py +index ff69593b05b5e..78e18a6272482 100644 +--- a/third_party/python/urllib3/urllib3/util/timeout.py ++++ b/third_party/python/urllib3/urllib3/util/timeout.py +@@ -2,9 +2,8 @@ + + import time + +-# The default socket timeout, used by httplib to indicate that no timeout was +-# specified by the user +-from socket import _GLOBAL_DEFAULT_TIMEOUT ++# The default socket timeout, used by httplib to indicate that no timeout was; specified by the user ++from socket import _GLOBAL_DEFAULT_TIMEOUT, getdefaulttimeout + + from ..exceptions import TimeoutStateError + +@@ -116,6 +115,10 @@ def __repr__(self): + # __str__ provided for backwards compatibility + __str__ = __repr__ + ++ @classmethod ++ def resolve_default_timeout(cls, timeout): ++ return getdefaulttimeout() if timeout is cls.DEFAULT_TIMEOUT else timeout ++ + @classmethod + def _validate_timeout(cls, value, name): + """Check that a timeout attribute is valid. +diff --git a/third_party/python/urllib3/urllib3/util/url.py b/third_party/python/urllib3/urllib3/util/url.py +index 6ff238fe3cbd0..e5682d3be4293 100644 +--- a/third_party/python/urllib3/urllib3/util/url.py ++++ b/third_party/python/urllib3/urllib3/util/url.py +@@ -50,7 +50,7 @@ + "(?:(?:%(hex)s:){0,6}%(hex)s)?::", + ] + +-UNRESERVED_PAT = r"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._!\-~" ++UNRESERVED_PAT = r"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._\-~" + IPV6_PAT = "(?:" + "|".join([x % _subs for x in _variations]) + ")" + ZONE_ID_PAT = "(?:%25|%)(?:[" + UNRESERVED_PAT + "]|%[a-fA-F0-9]{2})+" + IPV6_ADDRZ_PAT = r"\[" + IPV6_PAT + r"(?:" + ZONE_ID_PAT + r")?\]" +@@ -63,12 +63,12 @@ + BRACELESS_IPV6_ADDRZ_RE = re.compile("^" + IPV6_ADDRZ_PAT[2:-2] + "$") + ZONE_ID_RE = re.compile("(" + ZONE_ID_PAT + r")\]$") + +-SUBAUTHORITY_PAT = (u"^(?:(.*)@)?(%s|%s|%s)(?::([0-9]{0,5}))?$") % ( ++_HOST_PORT_PAT = ("^(%s|%s|%s)(?::0*?(|0|[1-9][0-9]{0,4}))?$") % ( + REG_NAME_PAT, + IPV4_PAT, + IPV6_ADDRZ_PAT, + ) +-SUBAUTHORITY_RE = re.compile(SUBAUTHORITY_PAT, re.UNICODE | re.DOTALL) ++_HOST_PORT_RE = re.compile(_HOST_PORT_PAT, re.UNICODE | re.DOTALL) + + UNRESERVED_CHARS = set( + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._-~" +@@ -279,6 +279,9 @@ def _normalize_host(host, scheme): + if scheme in NORMALIZABLE_SCHEMES: + is_ipv6 = IPV6_ADDRZ_RE.match(host) + if is_ipv6: ++ # IPv6 hosts of the form 'a::b%zone' are encoded in a URL as ++ # such per RFC 6874: 'a::b%25zone'. Unquote the ZoneID ++ # separator as necessary to return a valid RFC 4007 scoped IP. + match = ZONE_ID_RE.search(host) + if match: + start, end = match.span(1) +@@ -300,7 +303,7 @@ def _normalize_host(host, scheme): + + + def _idna_encode(name): +- if name and any([ord(x) > 128 for x in name]): ++ if name and any(ord(x) >= 128 for x in name): + try: + import idna + except ImportError: +@@ -331,7 +334,7 @@ def parse_url(url): + """ + Given a url, return a parsed :class:`.Url` namedtuple. Best-effort is + performed to parse incomplete urls. Fields not provided will be None. +- This parser is RFC 3986 compliant. ++ This parser is RFC 3986 and RFC 6874 compliant. + + The parser logic and helper functions are based heavily on + work done in the ``rfc3986`` module. +@@ -365,7 +368,9 @@ def parse_url(url): + scheme = scheme.lower() + + if authority: +- auth, host, port = SUBAUTHORITY_RE.match(authority).groups() ++ auth, _, host_port = authority.rpartition("@") ++ auth = auth or None ++ host, port = _HOST_PORT_RE.match(host_port).groups() + if auth and normalize_uri: + auth = _encode_invalid_chars(auth, USERINFO_CHARS) + if port == "": +diff --git a/third_party/python/urllib3/urllib3/util/wait.py b/third_party/python/urllib3/urllib3/util/wait.py +index c280646c7be0b..21b4590b3dc9b 100644 +--- a/third_party/python/urllib3/urllib3/util/wait.py ++++ b/third_party/python/urllib3/urllib3/util/wait.py +@@ -42,7 +42,6 @@ class NoWayToWaitForSocketError(Exception): + def _retry_on_intr(fn, timeout): + return fn(timeout) + +- + else: + # Old and broken Pythons. + def _retry_on_intr(fn, timeout): diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-115_115.2.0.bb b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-115_115.2.0.bb index fcdf64c932..e1a547c339 100644 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-115_115.2.0.bb +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-115_115.2.0.bb @@ -15,6 +15,7 @@ SRC_URI = "https://archive.mozilla.org/pub/firefox/releases/${PV}esr/source/fire file://0001-rewrite-cargo-host-linker-in-python3.patch \ file://musl-disable-stackwalk.patch \ file://0001-add-arm-to-list-of-mozinline.patch \ + file://py3.12.patch \ " SRC_URI[sha256sum] = "51534dd2a158d955a2cb67cc1308f100f6c9def0788713ed8b4d743f3ad72457" @@ -28,7 +29,22 @@ DEPENDS:remove:powerpc:toolchain-clang = "icu" B = "${WORKDIR}/build" -export PYTHONPATH = "${S}/build:${S}/third_party/python/PyYAML/lib3:${S}/testing/mozbase/mozfile:${S}/python/mozboot:${S}/third_party/python/distro:${S}/testing/mozbase/mozinfo:${S}/config:${S}/testing/mozbase/manifestparser:${S}/third_party/python/pytoml:${S}/testing/mozbase/mozprocess:${S}/third_party/python/six:${S}/python/mozbuild:${S}/python/mozbuild/mozbuild:${S}/python/mach:${S}/third_party/python/jsmin:${S}/python/mozversioncontrol" +export PYTHONPATH = "${S}/build:\ +${S}/third_party/python/PyYAML/lib3:\ +${S}/testing/mozbase/mozfile:\ +${S}/python/mozboot:\ +${S}/third_party/python/distro:\ +${S}/testing/mozbase/mozinfo:\ +${S}/config:\ +${S}/testing/mozbase/manifestparser:\ +${S}/third_party/python/pytoml:\ +${S}/testing/mozbase/mozprocess:\ +${S}/third_party/python/six:\ +${S}/python/mozbuild:\ +${S}/python/mozbuild/mozbuild:\ +${S}/python/mach:\ +${S}/third_party/python/jsmin:\ +${S}/python/mozversioncontrol" export HOST_CC = "${BUILD_CC}" export HOST_CXX = "${BUILD_CXX}" diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2023.7.bb b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2023.8.bb index d91b0a3037..0704c9162f 100644 --- a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2023.7.bb +++ b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2023.8.bb @@ -22,7 +22,7 @@ GITHUB_BASE_URI = "https://github.com/ostreedev/ostree/releases" SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/libostree-${PV}.tar.xz \ file://run-ptest \ " -SRC_URI[sha256sum] = "19cda718705f7ac8c018c939c38b1bb8412deaaa04862da98cd9fe9243f073bf" +SRC_URI[sha256sum] = "b6fffc267188e40d60755e6d7f2be65831795baa53b0fd9dd6c6809c7e54796d" S = "${WORKDIR}/libostree-${PV}" diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-jsauthority-Bump-mozjs-to-115.patch b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-jsauthority-Bump-mozjs-to-115.patch new file mode 100644 index 0000000000..163a03cfc3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-jsauthority-Bump-mozjs-to-115.patch @@ -0,0 +1,26 @@ +From 2f0de2a831ab106fce210c1d65baef041256bc18 Mon Sep 17 00:00:00 2001 +From: Xi Ruoyao <xry111@xry111.site> +Date: Mon, 18 Sep 2023 01:53:04 +0800 +Subject: [PATCH] jsauthority: Bump mozjs to 115 + +No code change is needed! + +Upstream-Status: Backport [https://gitlab.freedesktop.org/polkit/polkit/-/commit/b340f50b7bb963863ede7c63f9a0b5c50c80c1e1] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 3b96562..92b68fd 100644 +--- a/meson.build ++++ b/meson.build +@@ -153,7 +153,7 @@ if js_engine == 'duktape' + func = 'pthread_condattr_setclock' + config_h.set('HAVE_' + func.to_upper(), cc.has_function(func, prefix : '#include <pthread.h>')) + elif js_engine == 'mozjs' +- js_dep = dependency('mozjs-102') ++ js_dep = dependency('mozjs-115') + + _system = host_machine.system().to_lower() + if _system.contains('freebsd') diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-pkexec-local-privilege-escalation-CVE-2021-4034.patch b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-pkexec-local-privilege-escalation-CVE-2021-4034.patch deleted file mode 100644 index c725c001dd..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-pkexec-local-privilege-escalation-CVE-2021-4034.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 85c2dd9275cdfb369f613089f22733c0f1ba2aec Mon Sep 17 00:00:00 2001 -From: Jan Rybar <jrybar@redhat.com> -Date: Tue, 25 Jan 2022 17:21:46 +0000 -Subject: [PATCH 1/3] pkexec: local privilege escalation (CVE-2021-4034) - -Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de> - ---- - src/programs/pkcheck.c | 5 +++++ - src/programs/pkexec.c | 23 ++++++++++++++++++++--- - 2 files changed, 25 insertions(+), 3 deletions(-) - -CVE: CVE-2021-4034 -Upstream-Status: Backport [a2bf5c9c83b6ae46cbd5c779d3055bff81ded683] - -diff --git a/src/programs/pkcheck.c b/src/programs/pkcheck.c -index f1bb4e1..768525c 100644 ---- a/src/programs/pkcheck.c -+++ b/src/programs/pkcheck.c -@@ -363,6 +363,11 @@ main (int argc, char *argv[]) - local_agent_handle = NULL; - ret = 126; - -+ if (argc < 1) -+ { -+ exit(126); -+ } -+ - /* Disable remote file access from GIO. */ - setenv ("GIO_USE_VFS", "local", 1); - -diff --git a/src/programs/pkexec.c b/src/programs/pkexec.c -index 7698c5c..84e5ef6 100644 ---- a/src/programs/pkexec.c -+++ b/src/programs/pkexec.c -@@ -488,6 +488,15 @@ main (int argc, char *argv[]) - pid_t pid_of_caller; - gpointer local_agent_handle; - -+ -+ /* -+ * If 'pkexec' is called THIS wrong, someone's probably evil-doing. Don't be nice, just bail out. -+ */ -+ if (argc<1) -+ { -+ exit(127); -+ } -+ - ret = 127; - authority = NULL; - subject = NULL; -@@ -614,10 +623,10 @@ main (int argc, char *argv[]) - - path = g_strdup (pwstruct.pw_shell); - if (!path) -- { -+ { - g_printerr ("No shell configured or error retrieving pw_shell\n"); - goto out; -- } -+ } - /* If you change this, be sure to change the if (!command_line) - case below too */ - command_line = g_strdup (path); -@@ -636,7 +645,15 @@ main (int argc, char *argv[]) - goto out; - } - g_free (path); -- argv[n] = path = s; -+ path = s; -+ -+ /* argc<2 and pkexec runs just shell, argv is guaranteed to be null-terminated. -+ * /-less shell shouldn't happen, but let's be defensive and don't write to null-termination -+ */ -+ if (argv[n] != NULL) -+ { -+ argv[n] = path; -+ } - } - if (access (path, F_OK) != 0) - { --- -2.20.1 - diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0002-CVE-2021-4115-GHSL-2021-077-fix.patch b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0002-CVE-2021-4115-GHSL-2021-077-fix.patch deleted file mode 100644 index fcad872dc3..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0002-CVE-2021-4115-GHSL-2021-077-fix.patch +++ /dev/null @@ -1,88 +0,0 @@ -From c86aea01a06ad4d6c428137e9cfe2f74b1ae7f01 Mon Sep 17 00:00:00 2001 -From: Jan Rybar <jrybar@redhat.com> -Date: Mon, 21 Feb 2022 08:29:05 +0000 -Subject: [PATCH 2/3] CVE-2021-4115 (GHSL-2021-077) fix - -Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de> - ---- - src/polkit/polkitsystembusname.c | 38 ++++++++++++++++++++++++++++---- - 1 file changed, 34 insertions(+), 4 deletions(-) - -CVE: CVE-2021-4115 -Upstream-Status: Backport [41cb093f554da8772362654a128a84dd8a5542a7] - -diff --git a/src/polkit/polkitsystembusname.c b/src/polkit/polkitsystembusname.c -index 8ed1363..2fbf5f1 100644 ---- a/src/polkit/polkitsystembusname.c -+++ b/src/polkit/polkitsystembusname.c -@@ -62,6 +62,10 @@ enum - PROP_NAME, - }; - -+ -+guint8 dbus_call_respond_fails; // has to be global because of callback -+ -+ - static void subject_iface_init (PolkitSubjectIface *subject_iface); - - G_DEFINE_TYPE_WITH_CODE (PolkitSystemBusName, polkit_system_bus_name, G_TYPE_OBJECT, -@@ -364,6 +368,7 @@ on_retrieved_unix_uid_pid (GObject *src, - if (!v) - { - data->caught_error = TRUE; -+ dbus_call_respond_fails += 1; - } - else - { -@@ -405,6 +410,8 @@ polkit_system_bus_name_get_creds_sync (PolkitSystemBusName *system_bus - tmp_context = g_main_context_new (); - g_main_context_push_thread_default (tmp_context); - -+ dbus_call_respond_fails = 0; -+ - /* Do two async calls as it's basically as fast as one sync call. - */ - g_dbus_connection_call (connection, -@@ -432,11 +439,34 @@ polkit_system_bus_name_get_creds_sync (PolkitSystemBusName *system_bus - on_retrieved_unix_uid_pid, - &data); - -- while (!((data.retrieved_uid && data.retrieved_pid) || data.caught_error)) -- g_main_context_iteration (tmp_context, TRUE); -+ while (TRUE) -+ { -+ /* If one dbus call returns error, we must wait until the other call -+ * calls _call_finish(), otherwise fd leak is possible. -+ * Resolves: GHSL-2021-077 -+ */ - -- if (data.caught_error) -- goto out; -+ if ( (dbus_call_respond_fails > 1) ) -+ { -+ // we got two faults, we can leave -+ goto out; -+ } -+ -+ if ((data.caught_error && (data.retrieved_pid || data.retrieved_uid))) -+ { -+ // we got one fault and the other call finally finished, we can leave -+ goto out; -+ } -+ -+ if ( !(data.retrieved_uid && data.retrieved_pid) ) -+ { -+ g_main_context_iteration (tmp_context, TRUE); -+ } -+ else -+ { -+ break; -+ } -+ } - - if (out_uid) - *out_uid = data.uid; --- -2.20.1 - diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0002-jsauthority-port-to-mozjs-91.patch b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0002-jsauthority-port-to-mozjs-91.patch deleted file mode 100644 index 5b3660da2f..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0002-jsauthority-port-to-mozjs-91.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 4ce27b66bb07b72cb96d3d43a75108a5a6e7e156 Mon Sep 17 00:00:00 2001 -From: Xi Ruoyao <xry111@mengyan1223.wang> -Date: Tue, 10 Aug 2021 19:09:42 +0800 -Subject: [PATCH] jsauthority: port to mozjs-91 - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/polkit/polkit/-/merge_requests/92] -Signed-off-by: Alexander Kanavin <alex@linutronix.de> ---- - configure.ac | 2 +- - meson.build | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index d807086..5a7fc11 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -80,7 +80,7 @@ PKG_CHECK_MODULES(GLIB, [gmodule-2.0 gio-unix-2.0 >= 2.30.0]) - AC_SUBST(GLIB_CFLAGS) - AC_SUBST(GLIB_LIBS) - --PKG_CHECK_MODULES(LIBJS, [mozjs-78]) -+PKG_CHECK_MODULES(LIBJS, [mozjs-91]) - - AC_SUBST(LIBJS_CFLAGS) - AC_SUBST(LIBJS_CXXFLAGS) -diff --git a/meson.build b/meson.build -index b3702be..733bbff 100644 ---- a/meson.build -+++ b/meson.build -@@ -126,7 +126,7 @@ expat_dep = dependency('expat') - assert(cc.has_header('expat.h', dependencies: expat_dep), 'Can\'t find expat.h. Please install expat.') - assert(cc.has_function('XML_ParserCreate', dependencies: expat_dep), 'Can\'t find expat library. Please install expat.') - --mozjs_dep = dependency('mozjs-78') -+mozjs_dep = dependency('mozjs-91') - - dbus_dep = dependency('dbus-1') - dbus_confdir = dbus_dep.get_pkgconfig_variable('datadir', define_variable: ['datadir', pk_prefix / pk_datadir]) #changed from sysconfdir with respect to commit#8eada3836465838 diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-Added-support-for-duktape-as-JS-engine.patch b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-Added-support-for-duktape-as-JS-engine.patch deleted file mode 100644 index b8562f8ce2..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-Added-support-for-duktape-as-JS-engine.patch +++ /dev/null @@ -1,3459 +0,0 @@ -From 4af72493cb380ab5ce0dd7c5bcd25a8b5457d770 Mon Sep 17 00:00:00 2001 -From: Gustavo Lima Chaves <limachaves@gmail.com> -Date: Tue, 25 Jan 2022 09:43:21 +0000 -Subject: [PATCH] Added support for duktape as JS engine - -Original author: Wu Xiaotian (@yetist) -Resurrection author, runaway-killer author: Gustavo Lima Chaves (@limachaves) - -Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de> - -Upstream-Status: Backport [c7fc4e1b61f0fd82fc697c19c604af7e9fb291a2] -Dropped change to .gitlab-ci.yml and adapted configure.ac due to other -patches in meta-oe. - ---- - buildutil/ax_pthread.m4 | 522 ++++++++ - configure.ac | 34 +- - docs/man/polkit.xml | 4 +- - meson.build | 16 +- - meson_options.txt | 1 + - src/polkitbackend/Makefile.am | 17 +- - src/polkitbackend/meson.build | 14 +- - src/polkitbackend/polkitbackendcommon.c | 530 +++++++++ - src/polkitbackend/polkitbackendcommon.h | 158 +++ - .../polkitbackendduktapeauthority.c | 1051 +++++++++++++++++ - .../polkitbackendjsauthority.cpp | 721 +---------- - .../etc/polkit-1/rules.d/10-testing.rules | 6 +- - .../test-polkitbackendjsauthority.c | 2 +- - 13 files changed, 2398 insertions(+), 678 deletions(-) - create mode 100644 buildutil/ax_pthread.m4 - create mode 100644 src/polkitbackend/polkitbackendcommon.c - create mode 100644 src/polkitbackend/polkitbackendcommon.h - create mode 100644 src/polkitbackend/polkitbackendduktapeauthority.c - -diff --git a/buildutil/ax_pthread.m4 b/buildutil/ax_pthread.m4 -new file mode 100644 -index 0000000..9f35d13 ---- /dev/null -+++ b/buildutil/ax_pthread.m4 -@@ -0,0 +1,522 @@ -+# =========================================================================== -+# https://www.gnu.org/software/autoconf-archive/ax_pthread.html -+# =========================================================================== -+# -+# SYNOPSIS -+# -+# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -+# -+# DESCRIPTION -+# -+# This macro figures out how to build C programs using POSIX threads. It -+# sets the PTHREAD_LIBS output variable to the threads library and linker -+# flags, and the PTHREAD_CFLAGS output variable to any special C compiler -+# flags that are needed. (The user can also force certain compiler -+# flags/libs to be tested by setting these environment variables.) -+# -+# Also sets PTHREAD_CC and PTHREAD_CXX to any special C compiler that is -+# needed for multi-threaded programs (defaults to the value of CC -+# respectively CXX otherwise). (This is necessary on e.g. AIX to use the -+# special cc_r/CC_r compiler alias.) -+# -+# NOTE: You are assumed to not only compile your program with these flags, -+# but also to link with them as well. For example, you might link with -+# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS -+# $PTHREAD_CXX $CXXFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS -+# -+# If you are only building threaded programs, you may wish to use these -+# variables in your default LIBS, CFLAGS, and CC: -+# -+# LIBS="$PTHREAD_LIBS $LIBS" -+# CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -+# CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" -+# CC="$PTHREAD_CC" -+# CXX="$PTHREAD_CXX" -+# -+# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant -+# has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to -+# that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX). -+# -+# Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the -+# PTHREAD_PRIO_INHERIT symbol is defined when compiling with -+# PTHREAD_CFLAGS. -+# -+# ACTION-IF-FOUND is a list of shell commands to run if a threads library -+# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it -+# is not found. If ACTION-IF-FOUND is not specified, the default action -+# will define HAVE_PTHREAD. -+# -+# Please let the authors know if this macro fails on any platform, or if -+# you have any other suggestions or comments. This macro was based on work -+# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help -+# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by -+# Alejandro Forero Cuervo to the autoconf macro repository. We are also -+# grateful for the helpful feedback of numerous users. -+# -+# Updated for Autoconf 2.68 by Daniel Richard G. -+# -+# LICENSE -+# -+# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu> -+# Copyright (c) 2011 Daniel Richard G. <skunk@iSKUNK.ORG> -+# Copyright (c) 2019 Marc Stevens <marc.stevens@cwi.nl> -+# -+# 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 3 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, see <https://www.gnu.org/licenses/>. -+# -+# As a special exception, the respective Autoconf Macro's copyright owner -+# gives unlimited permission to copy, distribute and modify the configure -+# scripts that are the output of Autoconf when processing the Macro. You -+# need not follow the terms of the GNU General Public License when using -+# or distributing such scripts, even though portions of the text of the -+# Macro appear in them. The GNU General Public License (GPL) does govern -+# all other use of the material that constitutes the Autoconf Macro. -+# -+# This special exception to the GPL applies to versions of the Autoconf -+# Macro released by the Autoconf Archive. When you make and distribute a -+# modified version of the Autoconf Macro, you may extend this special -+# exception to the GPL to apply to your modified version as well. -+ -+#serial 31 -+ -+AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) -+AC_DEFUN([AX_PTHREAD], [ -+AC_REQUIRE([AC_CANONICAL_HOST]) -+AC_REQUIRE([AC_PROG_CC]) -+AC_REQUIRE([AC_PROG_SED]) -+AC_LANG_PUSH([C]) -+ax_pthread_ok=no -+ -+# We used to check for pthread.h first, but this fails if pthread.h -+# requires special compiler flags (e.g. on Tru64 or Sequent). -+# It gets checked for in the link test anyway. -+ -+# First of all, check if the user has set any of the PTHREAD_LIBS, -+# etcetera environment variables, and if threads linking works using -+# them: -+if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then -+ ax_pthread_save_CC="$CC" -+ ax_pthread_save_CFLAGS="$CFLAGS" -+ ax_pthread_save_LIBS="$LIBS" -+ AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"]) -+ AS_IF([test "x$PTHREAD_CXX" != "x"], [CXX="$PTHREAD_CXX"]) -+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -+ LIBS="$PTHREAD_LIBS $LIBS" -+ AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS]) -+ AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes]) -+ AC_MSG_RESULT([$ax_pthread_ok]) -+ if test "x$ax_pthread_ok" = "xno"; then -+ PTHREAD_LIBS="" -+ PTHREAD_CFLAGS="" -+ fi -+ CC="$ax_pthread_save_CC" -+ CFLAGS="$ax_pthread_save_CFLAGS" -+ LIBS="$ax_pthread_save_LIBS" -+fi -+ -+# We must check for the threads library under a number of different -+# names; the ordering is very important because some systems -+# (e.g. DEC) have both -lpthread and -lpthreads, where one of the -+# libraries is broken (non-POSIX). -+ -+# Create a list of thread flags to try. Items with a "," contain both -+# C compiler flags (before ",") and linker flags (after ","). Other items -+# starting with a "-" are C compiler flags, and remaining items are -+# library names, except for "none" which indicates that we try without -+# any flags at all, and "pthread-config" which is a program returning -+# the flags for the Pth emulation library. -+ -+ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" -+ -+# The ordering *is* (sometimes) important. Some notes on the -+# individual items follow: -+ -+# pthreads: AIX (must check this before -lpthread) -+# none: in case threads are in libc; should be tried before -Kthread and -+# other compiler flags to prevent continual compiler warnings -+# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) -+# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64 -+# (Note: HP C rejects this with "bad form for `-t' option") -+# -pthreads: Solaris/gcc (Note: HP C also rejects) -+# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it -+# doesn't hurt to check since this sometimes defines pthreads and -+# -D_REENTRANT too), HP C (must be checked before -lpthread, which -+# is present but should not be used directly; and before -mthreads, -+# because the compiler interprets this as "-mt" + "-hreads") -+# -mthreads: Mingw32/gcc, Lynx/gcc -+# pthread: Linux, etcetera -+# --thread-safe: KAI C++ -+# pthread-config: use pthread-config program (for GNU Pth library) -+ -+case $host_os in -+ -+ freebsd*) -+ -+ # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) -+ # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) -+ -+ ax_pthread_flags="-kthread lthread $ax_pthread_flags" -+ ;; -+ -+ hpux*) -+ -+ # From the cc(1) man page: "[-mt] Sets various -D flags to enable -+ # multi-threading and also sets -lpthread." -+ -+ ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags" -+ ;; -+ -+ openedition*) -+ -+ # IBM z/OS requires a feature-test macro to be defined in order to -+ # enable POSIX threads at all, so give the user a hint if this is -+ # not set. (We don't define these ourselves, as they can affect -+ # other portions of the system API in unpredictable ways.) -+ -+ AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING], -+ [ -+# if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS) -+ AX_PTHREAD_ZOS_MISSING -+# endif -+ ], -+ [AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])]) -+ ;; -+ -+ solaris*) -+ -+ # On Solaris (at least, for some versions), libc contains stubbed -+ # (non-functional) versions of the pthreads routines, so link-based -+ # tests will erroneously succeed. (N.B.: The stubs are missing -+ # pthread_cleanup_push, or rather a function called by this macro, -+ # so we could check for that, but who knows whether they'll stub -+ # that too in a future libc.) So we'll check first for the -+ # standard Solaris way of linking pthreads (-mt -lpthread). -+ -+ ax_pthread_flags="-mt,-lpthread pthread $ax_pthread_flags" -+ ;; -+esac -+ -+# Are we compiling with Clang? -+ -+AC_CACHE_CHECK([whether $CC is Clang], -+ [ax_cv_PTHREAD_CLANG], -+ [ax_cv_PTHREAD_CLANG=no -+ # Note that Autoconf sets GCC=yes for Clang as well as GCC -+ if test "x$GCC" = "xyes"; then -+ AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG], -+ [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */ -+# if defined(__clang__) && defined(__llvm__) -+ AX_PTHREAD_CC_IS_CLANG -+# endif -+ ], -+ [ax_cv_PTHREAD_CLANG=yes]) -+ fi -+ ]) -+ax_pthread_clang="$ax_cv_PTHREAD_CLANG" -+ -+ -+# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC) -+ -+# Note that for GCC and Clang -pthread generally implies -lpthread, -+# except when -nostdlib is passed. -+# This is problematic using libtool to build C++ shared libraries with pthread: -+# [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25460 -+# [2] https://bugzilla.redhat.com/show_bug.cgi?id=661333 -+# [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=468555 -+# To solve this, first try -pthread together with -lpthread for GCC -+ -+AS_IF([test "x$GCC" = "xyes"], -+ [ax_pthread_flags="-pthread,-lpthread -pthread -pthreads $ax_pthread_flags"]) -+ -+# Clang takes -pthread (never supported any other flag), but we'll try with -lpthread first -+ -+AS_IF([test "x$ax_pthread_clang" = "xyes"], -+ [ax_pthread_flags="-pthread,-lpthread -pthread"]) -+ -+ -+# The presence of a feature test macro requesting re-entrant function -+# definitions is, on some systems, a strong hint that pthreads support is -+# correctly enabled -+ -+case $host_os in -+ darwin* | hpux* | linux* | osf* | solaris*) -+ ax_pthread_check_macro="_REENTRANT" -+ ;; -+ -+ aix*) -+ ax_pthread_check_macro="_THREAD_SAFE" -+ ;; -+ -+ *) -+ ax_pthread_check_macro="--" -+ ;; -+esac -+AS_IF([test "x$ax_pthread_check_macro" = "x--"], -+ [ax_pthread_check_cond=0], -+ [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"]) -+ -+ -+if test "x$ax_pthread_ok" = "xno"; then -+for ax_pthread_try_flag in $ax_pthread_flags; do -+ -+ case $ax_pthread_try_flag in -+ none) -+ AC_MSG_CHECKING([whether pthreads work without any flags]) -+ ;; -+ -+ *,*) -+ PTHREAD_CFLAGS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\1/"` -+ PTHREAD_LIBS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\2/"` -+ AC_MSG_CHECKING([whether pthreads work with "$PTHREAD_CFLAGS" and "$PTHREAD_LIBS"]) -+ ;; -+ -+ -*) -+ AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag]) -+ PTHREAD_CFLAGS="$ax_pthread_try_flag" -+ ;; -+ -+ pthread-config) -+ AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no]) -+ AS_IF([test "x$ax_pthread_config" = "xno"], [continue]) -+ PTHREAD_CFLAGS="`pthread-config --cflags`" -+ PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" -+ ;; -+ -+ *) -+ AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag]) -+ PTHREAD_LIBS="-l$ax_pthread_try_flag" -+ ;; -+ esac -+ -+ ax_pthread_save_CFLAGS="$CFLAGS" -+ ax_pthread_save_LIBS="$LIBS" -+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -+ LIBS="$PTHREAD_LIBS $LIBS" -+ -+ # Check for various functions. We must include pthread.h, -+ # since some functions may be macros. (On the Sequent, we -+ # need a special flag -Kthread to make this header compile.) -+ # We check for pthread_join because it is in -lpthread on IRIX -+ # while pthread_create is in libc. We check for pthread_attr_init -+ # due to DEC craziness with -lpthreads. We check for -+ # pthread_cleanup_push because it is one of the few pthread -+ # functions on Solaris that doesn't have a non-functional libc stub. -+ # We try pthread_create on general principles. -+ -+ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h> -+# if $ax_pthread_check_cond -+# error "$ax_pthread_check_macro must be defined" -+# endif -+ static void *some_global = NULL; -+ static void routine(void *a) -+ { -+ /* To avoid any unused-parameter or -+ unused-but-set-parameter warning. */ -+ some_global = a; -+ } -+ static void *start_routine(void *a) { return a; }], -+ [pthread_t th; pthread_attr_t attr; -+ pthread_create(&th, 0, start_routine, 0); -+ pthread_join(th, 0); -+ pthread_attr_init(&attr); -+ pthread_cleanup_push(routine, 0); -+ pthread_cleanup_pop(0) /* ; */])], -+ [ax_pthread_ok=yes], -+ []) -+ -+ CFLAGS="$ax_pthread_save_CFLAGS" -+ LIBS="$ax_pthread_save_LIBS" -+ -+ AC_MSG_RESULT([$ax_pthread_ok]) -+ AS_IF([test "x$ax_pthread_ok" = "xyes"], [break]) -+ -+ PTHREAD_LIBS="" -+ PTHREAD_CFLAGS="" -+done -+fi -+ -+ -+# Clang needs special handling, because older versions handle the -pthread -+# option in a rather... idiosyncratic way -+ -+if test "x$ax_pthread_clang" = "xyes"; then -+ -+ # Clang takes -pthread; it has never supported any other flag -+ -+ # (Note 1: This will need to be revisited if a system that Clang -+ # supports has POSIX threads in a separate library. This tends not -+ # to be the way of modern systems, but it's conceivable.) -+ -+ # (Note 2: On some systems, notably Darwin, -pthread is not needed -+ # to get POSIX threads support; the API is always present and -+ # active. We could reasonably leave PTHREAD_CFLAGS empty. But -+ # -pthread does define _REENTRANT, and while the Darwin headers -+ # ignore this macro, third-party headers might not.) -+ -+ # However, older versions of Clang make a point of warning the user -+ # that, in an invocation where only linking and no compilation is -+ # taking place, the -pthread option has no effect ("argument unused -+ # during compilation"). They expect -pthread to be passed in only -+ # when source code is being compiled. -+ # -+ # Problem is, this is at odds with the way Automake and most other -+ # C build frameworks function, which is that the same flags used in -+ # compilation (CFLAGS) are also used in linking. Many systems -+ # supported by AX_PTHREAD require exactly this for POSIX threads -+ # support, and in fact it is often not straightforward to specify a -+ # flag that is used only in the compilation phase and not in -+ # linking. Such a scenario is extremely rare in practice. -+ # -+ # Even though use of the -pthread flag in linking would only print -+ # a warning, this can be a nuisance for well-run software projects -+ # that build with -Werror. So if the active version of Clang has -+ # this misfeature, we search for an option to squash it. -+ -+ AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread], -+ [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG], -+ [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown -+ # Create an alternate version of $ac_link that compiles and -+ # links in two steps (.c -> .o, .o -> exe) instead of one -+ # (.c -> exe), because the warning occurs only in the second -+ # step -+ ax_pthread_save_ac_link="$ac_link" -+ ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g' -+ ax_pthread_link_step=`AS_ECHO(["$ac_link"]) | sed "$ax_pthread_sed"` -+ ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)" -+ ax_pthread_save_CFLAGS="$CFLAGS" -+ for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do -+ AS_IF([test "x$ax_pthread_try" = "xunknown"], [break]) -+ CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS" -+ ac_link="$ax_pthread_save_ac_link" -+ AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])], -+ [ac_link="$ax_pthread_2step_ac_link" -+ AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])], -+ [break]) -+ ]) -+ done -+ ac_link="$ax_pthread_save_ac_link" -+ CFLAGS="$ax_pthread_save_CFLAGS" -+ AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no]) -+ ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try" -+ ]) -+ -+ case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in -+ no | unknown) ;; -+ *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;; -+ esac -+ -+fi # $ax_pthread_clang = yes -+ -+ -+ -+# Various other checks: -+if test "x$ax_pthread_ok" = "xyes"; then -+ ax_pthread_save_CFLAGS="$CFLAGS" -+ ax_pthread_save_LIBS="$LIBS" -+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -+ LIBS="$PTHREAD_LIBS $LIBS" -+ -+ # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. -+ AC_CACHE_CHECK([for joinable pthread attribute], -+ [ax_cv_PTHREAD_JOINABLE_ATTR], -+ [ax_cv_PTHREAD_JOINABLE_ATTR=unknown -+ for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do -+ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>], -+ [int attr = $ax_pthread_attr; return attr /* ; */])], -+ [ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break], -+ []) -+ done -+ ]) -+ AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \ -+ test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \ -+ test "x$ax_pthread_joinable_attr_defined" != "xyes"], -+ [AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], -+ [$ax_cv_PTHREAD_JOINABLE_ATTR], -+ [Define to necessary symbol if this constant -+ uses a non-standard name on your system.]) -+ ax_pthread_joinable_attr_defined=yes -+ ]) -+ -+ AC_CACHE_CHECK([whether more special flags are required for pthreads], -+ [ax_cv_PTHREAD_SPECIAL_FLAGS], -+ [ax_cv_PTHREAD_SPECIAL_FLAGS=no -+ case $host_os in -+ solaris*) -+ ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS" -+ ;; -+ esac -+ ]) -+ AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \ -+ test "x$ax_pthread_special_flags_added" != "xyes"], -+ [PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS" -+ ax_pthread_special_flags_added=yes]) -+ -+ AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT], -+ [ax_cv_PTHREAD_PRIO_INHERIT], -+ [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]], -+ [[int i = PTHREAD_PRIO_INHERIT; -+ return i;]])], -+ [ax_cv_PTHREAD_PRIO_INHERIT=yes], -+ [ax_cv_PTHREAD_PRIO_INHERIT=no]) -+ ]) -+ AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \ -+ test "x$ax_pthread_prio_inherit_defined" != "xyes"], -+ [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.]) -+ ax_pthread_prio_inherit_defined=yes -+ ]) -+ -+ CFLAGS="$ax_pthread_save_CFLAGS" -+ LIBS="$ax_pthread_save_LIBS" -+ -+ # More AIX lossage: compile with *_r variant -+ if test "x$GCC" != "xyes"; then -+ case $host_os in -+ aix*) -+ AS_CASE(["x/$CC"], -+ [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6], -+ [#handle absolute path differently from PATH based program lookup -+ AS_CASE(["x$CC"], -+ [x/*], -+ [ -+ AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"]) -+ AS_IF([test "x${CXX}" != "x"], [AS_IF([AS_EXECUTABLE_P([${CXX}_r])],[PTHREAD_CXX="${CXX}_r"])]) -+ ], -+ [ -+ AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC]) -+ AS_IF([test "x${CXX}" != "x"], [AC_CHECK_PROGS([PTHREAD_CXX],[${CXX}_r],[$CXX])]) -+ ] -+ ) -+ ]) -+ ;; -+ esac -+ fi -+fi -+ -+test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" -+test -n "$PTHREAD_CXX" || PTHREAD_CXX="$CXX" -+ -+AC_SUBST([PTHREAD_LIBS]) -+AC_SUBST([PTHREAD_CFLAGS]) -+AC_SUBST([PTHREAD_CC]) -+AC_SUBST([PTHREAD_CXX]) -+ -+# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -+if test "x$ax_pthread_ok" = "xyes"; then -+ ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1]) -+ : -+else -+ ax_pthread_ok=no -+ $2 -+fi -+AC_LANG_POP -+])dnl AX_PTHREAD -diff --git a/configure.ac b/configure.ac -index b625743..bbf4768 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -80,11 +80,22 @@ PKG_CHECK_MODULES(GLIB, [gmodule-2.0 gio-unix-2.0 >= 2.30.0]) - AC_SUBST(GLIB_CFLAGS) - AC_SUBST(GLIB_LIBS) - --PKG_CHECK_MODULES(LIBJS, [mozjs-78]) -- --AC_SUBST(LIBJS_CFLAGS) --AC_SUBST(LIBJS_CXXFLAGS) --AC_SUBST(LIBJS_LIBS) -+dnl --------------------------------------------------------------------------- -+dnl - Check javascript backend -+dnl --------------------------------------------------------------------------- -+AC_ARG_WITH(duktape, AS_HELP_STRING([--with-duktape],[Use Duktape as javascript backend]),with_duktape=yes,with_duktape=no) -+AS_IF([test x${with_duktape} == xyes], [ -+ PKG_CHECK_MODULES(LIBJS, [duktape >= 2.2.0 ]) -+ AC_SUBST(LIBJS_CFLAGS) -+ AC_SUBST(LIBJS_LIBS) -+], [ -+ PKG_CHECK_MODULES(LIBJS, [mozjs-78]) -+ -+ AC_SUBST(LIBJS_CFLAGS) -+ AC_SUBST(LIBJS_CXXFLAGS) -+ AC_SUBST(LIBJS_LIBS) -+]) -+AM_CONDITIONAL(USE_DUKTAPE, [test x$with_duktape == xyes], [Using duktape as javascript engine library]) - - EXPAT_LIB="" - AC_ARG_WITH(expat, [ --with-expat=<dir> Use expat from here], -@@ -100,6 +111,12 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXPAT_LIBS="-lexpat"], - [AC_MSG_ERROR([Can't find expat library. Please install expat.])]) - AC_SUBST(EXPAT_LIBS) - -+AX_PTHREAD([], [AC_MSG_ERROR([Cannot find the way to enable pthread support.])]) -+LIBS="$PTHREAD_LIBS $LIBS" -+CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -+CC="$PTHREAD_CC" -+AC_CHECK_FUNCS([pthread_condattr_setclock]) -+ - AC_CHECK_FUNCS(clearenv fdatasync) - - if test "x$GCC" = "xyes"; then -@@ -581,6 +598,13 @@ echo " - PAM support: ${have_pam} - systemdsystemunitdir: ${systemdsystemunitdir} - polkitd user: ${POLKITD_USER}" -+if test "x${with_duktape}" = xyes; then -+echo " -+ Javascript engine: Duktape" -+else -+echo " -+ Javascript engine: Mozjs" -+fi - - if test "$have_pam" = yes ; then - echo " -diff --git a/docs/man/polkit.xml b/docs/man/polkit.xml -index 99aa474..90715a5 100644 ---- a/docs/man/polkit.xml -+++ b/docs/man/polkit.xml -@@ -639,7 +639,9 @@ polkit.Result = { - If user-provided code takes a long time to execute, an exception - will be thrown which normally results in the function being - terminated (the current limit is 15 seconds). This is used to -- catch runaway scripts. -+ catch runaway scripts. If the duktape JavaScript backend is -+ compiled in, instead of mozjs, no exception will be thrown—the -+ script will be killed right away (same timeout). - </para> - - <para> -diff --git a/meson.build b/meson.build -index b3702be..7506231 100644 ---- a/meson.build -+++ b/meson.build -@@ -126,7 +126,18 @@ expat_dep = dependency('expat') - assert(cc.has_header('expat.h', dependencies: expat_dep), 'Can\'t find expat.h. Please install expat.') - assert(cc.has_function('XML_ParserCreate', dependencies: expat_dep), 'Can\'t find expat library. Please install expat.') - --mozjs_dep = dependency('mozjs-78') -+duktape_req_version = '>= 2.2.0' -+ -+js_engine = get_option('js_engine') -+if js_engine == 'duktape' -+ js_dep = dependency('duktape', version: duktape_req_version) -+ libm_dep = cc.find_library('m') -+ thread_dep = dependency('threads') -+ func = 'pthread_condattr_setclock' -+ config_h.set('HAVE_' + func.to_upper(), cc.has_function(func, prefix : '#include <pthread.h>')) -+elif js_engine == 'mozjs' -+ js_dep = dependency('mozjs-78') -+endif - - dbus_dep = dependency('dbus-1') - dbus_confdir = dbus_dep.get_pkgconfig_variable('datadir', define_variable: ['datadir', pk_prefix / pk_datadir]) #changed from sysconfdir with respect to commit#8eada3836465838 -@@ -350,6 +361,9 @@ if enable_logind - output += ' systemdsystemunitdir: ' + systemd_systemdsystemunitdir + '\n' - endif - output += ' polkitd user: ' + polkitd_user + ' \n' -+output += ' Javascript engine: ' + js_engine + '\n' -+if enable_logind -+endif - output += ' PAM support: ' + enable_pam.to_string() + '\n\n' - if enable_pam - output += ' PAM file auth: ' + pam_conf['PAM_FILE_INCLUDE_AUTH'] + '\n' -diff --git a/meson_options.txt b/meson_options.txt -index 25e3e77..76aa311 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -16,3 +16,4 @@ option('introspection', type: 'boolean', value: true, description: 'Enable intro - - option('gtk_doc', type: 'boolean', value: false, description: 'use gtk-doc to build documentation') - option('man', type: 'boolean', value: false, description: 'build manual pages') -+option('js_engine', type: 'combo', choices: ['mozjs', 'duktape'], value: 'duktape', description: 'javascript engine') -diff --git a/src/polkitbackend/Makefile.am b/src/polkitbackend/Makefile.am -index 7e3c080..935fb98 100644 ---- a/src/polkitbackend/Makefile.am -+++ b/src/polkitbackend/Makefile.am -@@ -17,6 +17,8 @@ AM_CPPFLAGS = \ - -DPACKAGE_LIB_DIR=\""$(libdir)"\" \ - -D_POSIX_PTHREAD_SEMANTICS \ - -D_REENTRANT \ -+ -D_XOPEN_SOURCE=700 \ -+ -D_GNU_SOURCE=1 \ - $(NULL) - - noinst_LTLIBRARIES=libpolkit-backend-1.la -@@ -31,9 +33,10 @@ libpolkit_backend_1_la_SOURCES = \ - polkitbackend.h \ - polkitbackendtypes.h \ - polkitbackendprivate.h \ -+ polkitbackendcommon.h polkitbackendcommon.c \ - polkitbackendauthority.h polkitbackendauthority.c \ - polkitbackendinteractiveauthority.h polkitbackendinteractiveauthority.c \ -- polkitbackendjsauthority.h polkitbackendjsauthority.cpp \ -+ polkitbackendjsauthority.h \ - polkitbackendactionpool.h polkitbackendactionpool.c \ - polkitbackendactionlookup.h polkitbackendactionlookup.c \ - $(NULL) -@@ -51,19 +54,27 @@ libpolkit_backend_1_la_CFLAGS = \ - -D_POLKIT_BACKEND_COMPILATION \ - $(GLIB_CFLAGS) \ - $(LIBSYSTEMD_CFLAGS) \ -- $(LIBJS_CFLAGS) \ -+ $(LIBJS_CFLAGS) \ - $(NULL) - - libpolkit_backend_1_la_CXXFLAGS = $(libpolkit_backend_1_la_CFLAGS) - - libpolkit_backend_1_la_LIBADD = \ - $(GLIB_LIBS) \ -+ $(DUKTAPE_LIBS) \ - $(LIBSYSTEMD_LIBS) \ - $(top_builddir)/src/polkit/libpolkit-gobject-1.la \ - $(EXPAT_LIBS) \ -- $(LIBJS_LIBS) \ -+ $(LIBJS_LIBS) \ - $(NULL) - -+if USE_DUKTAPE -+libpolkit_backend_1_la_SOURCES += polkitbackendduktapeauthority.c -+libpolkit_backend_1_la_LIBADD += -lm -+else -+libpolkit_backend_1_la_SOURCES += polkitbackendjsauthority.cpp -+endif -+ - rulesdir = $(sysconfdir)/polkit-1/rules.d - rules_DATA = 50-default.rules - -diff --git a/src/polkitbackend/meson.build b/src/polkitbackend/meson.build -index 93c3c34..99f8e33 100644 ---- a/src/polkitbackend/meson.build -+++ b/src/polkitbackend/meson.build -@@ -4,8 +4,8 @@ sources = files( - 'polkitbackendactionlookup.c', - 'polkitbackendactionpool.c', - 'polkitbackendauthority.c', -+ 'polkitbackendcommon.c', - 'polkitbackendinteractiveauthority.c', -- 'polkitbackendjsauthority.cpp', - ) - - output = 'initjs.h' -@@ -21,7 +21,7 @@ sources += custom_target( - deps = [ - expat_dep, - libpolkit_gobject_dep, -- mozjs_dep, -+ js_dep, - ] - - c_flags = [ -@@ -29,8 +29,18 @@ c_flags = [ - '-D_POLKIT_BACKEND_COMPILATION', - '-DPACKAGE_DATA_DIR="@0@"'.format(pk_prefix / pk_datadir), - '-DPACKAGE_SYSCONF_DIR="@0@"'.format(pk_prefix / pk_sysconfdir), -+ '-D_XOPEN_SOURCE=700', -+ '-D_GNU_SOURCE=1', - ] - -+if js_engine == 'duktape' -+ sources += files('polkitbackendduktapeauthority.c') -+ deps += libm_dep -+ deps += thread_dep -+elif js_engine == 'mozjs' -+ sources += files('polkitbackendjsauthority.cpp') -+endif -+ - if enable_logind - sources += files('polkitbackendsessionmonitor-systemd.c') - -diff --git a/src/polkitbackend/polkitbackendcommon.c b/src/polkitbackend/polkitbackendcommon.c -new file mode 100644 -index 0000000..6783dff ---- /dev/null -+++ b/src/polkitbackend/polkitbackendcommon.c -@@ -0,0 +1,530 @@ -+/* -+ * Copyright (C) 2008 Red Hat, Inc. -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2 of the License, or (at your option) any later version. -+ * -+ * This library 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 -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General -+ * Public License along with this library; if not, write to the -+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330, -+ * Boston, MA 02111-1307, USA. -+ * -+ * Author: David Zeuthen <davidz@redhat.com> -+ */ -+ -+#include "polkitbackendcommon.h" -+ -+static void -+utils_child_watch_from_release_cb (GPid pid, -+ gint status, -+ gpointer user_data) -+{ -+} -+ -+static void -+utils_spawn_data_free (UtilsSpawnData *data) -+{ -+ if (data->timeout_source != NULL) -+ { -+ g_source_destroy (data->timeout_source); -+ data->timeout_source = NULL; -+ } -+ -+ /* Nuke the child, if necessary */ -+ if (data->child_watch_source != NULL) -+ { -+ g_source_destroy (data->child_watch_source); -+ data->child_watch_source = NULL; -+ } -+ -+ if (data->child_pid != 0) -+ { -+ GSource *source; -+ kill (data->child_pid, SIGTERM); -+ /* OK, we need to reap for the child ourselves - we don't want -+ * to use waitpid() because that might block the calling -+ * thread (the child might handle SIGTERM and use several -+ * seconds for cleanup/rollback). -+ * -+ * So we use GChildWatch instead. -+ * -+ * Avoid taking a references to ourselves. but note that we need -+ * to pass the GSource so we can nuke it once handled. -+ */ -+ source = g_child_watch_source_new (data->child_pid); -+ g_source_set_callback (source, -+ (GSourceFunc) utils_child_watch_from_release_cb, -+ source, -+ (GDestroyNotify) g_source_destroy); -+ g_source_attach (source, data->main_context); -+ g_source_unref (source); -+ data->child_pid = 0; -+ } -+ -+ if (data->child_stdout != NULL) -+ { -+ g_string_free (data->child_stdout, TRUE); -+ data->child_stdout = NULL; -+ } -+ -+ if (data->child_stderr != NULL) -+ { -+ g_string_free (data->child_stderr, TRUE); -+ data->child_stderr = NULL; -+ } -+ -+ if (data->child_stdout_channel != NULL) -+ { -+ g_io_channel_unref (data->child_stdout_channel); -+ data->child_stdout_channel = NULL; -+ } -+ if (data->child_stderr_channel != NULL) -+ { -+ g_io_channel_unref (data->child_stderr_channel); -+ data->child_stderr_channel = NULL; -+ } -+ -+ if (data->child_stdout_source != NULL) -+ { -+ g_source_destroy (data->child_stdout_source); -+ data->child_stdout_source = NULL; -+ } -+ if (data->child_stderr_source != NULL) -+ { -+ g_source_destroy (data->child_stderr_source); -+ data->child_stderr_source = NULL; -+ } -+ -+ if (data->child_stdout_fd != -1) -+ { -+ g_warn_if_fail (close (data->child_stdout_fd) == 0); -+ data->child_stdout_fd = -1; -+ } -+ if (data->child_stderr_fd != -1) -+ { -+ g_warn_if_fail (close (data->child_stderr_fd) == 0); -+ data->child_stderr_fd = -1; -+ } -+ -+ if (data->cancellable_handler_id > 0) -+ { -+ g_cancellable_disconnect (data->cancellable, data->cancellable_handler_id); -+ data->cancellable_handler_id = 0; -+ } -+ -+ if (data->main_context != NULL) -+ g_main_context_unref (data->main_context); -+ -+ if (data->cancellable != NULL) -+ g_object_unref (data->cancellable); -+ -+ g_slice_free (UtilsSpawnData, data); -+} -+ -+/* called in the thread where @cancellable was cancelled */ -+static void -+utils_on_cancelled (GCancellable *cancellable, -+ gpointer user_data) -+{ -+ UtilsSpawnData *data = (UtilsSpawnData *)user_data; -+ GError *error; -+ -+ error = NULL; -+ g_warn_if_fail (g_cancellable_set_error_if_cancelled (cancellable, &error)); -+ g_simple_async_result_take_error (data->simple, error); -+ g_simple_async_result_complete_in_idle (data->simple); -+ g_object_unref (data->simple); -+} -+ -+static gboolean -+utils_timeout_cb (gpointer user_data) -+{ -+ UtilsSpawnData *data = (UtilsSpawnData *)user_data; -+ -+ data->timed_out = TRUE; -+ -+ /* ok, timeout is history, make sure we don't free it in spawn_data_free() */ -+ data->timeout_source = NULL; -+ -+ /* we're done */ -+ g_simple_async_result_complete_in_idle (data->simple); -+ g_object_unref (data->simple); -+ -+ return FALSE; /* remove source */ -+} -+ -+static void -+utils_child_watch_cb (GPid pid, -+ gint status, -+ gpointer user_data) -+{ -+ UtilsSpawnData *data = (UtilsSpawnData *)user_data; -+ gchar *buf; -+ gsize buf_size; -+ -+ if (g_io_channel_read_to_end (data->child_stdout_channel, &buf, &buf_size, NULL) == G_IO_STATUS_NORMAL) -+ { -+ g_string_append_len (data->child_stdout, buf, buf_size); -+ g_free (buf); -+ } -+ if (g_io_channel_read_to_end (data->child_stderr_channel, &buf, &buf_size, NULL) == G_IO_STATUS_NORMAL) -+ { -+ g_string_append_len (data->child_stderr, buf, buf_size); -+ g_free (buf); -+ } -+ -+ data->exit_status = status; -+ -+ /* ok, child watch is history, make sure we don't free it in spawn_data_free() */ -+ data->child_pid = 0; -+ data->child_watch_source = NULL; -+ -+ /* we're done */ -+ g_simple_async_result_complete_in_idle (data->simple); -+ g_object_unref (data->simple); -+} -+ -+static gboolean -+utils_read_child_stderr (GIOChannel *channel, -+ GIOCondition condition, -+ gpointer user_data) -+{ -+ UtilsSpawnData *data = (UtilsSpawnData *)user_data; -+ gchar buf[1024]; -+ gsize bytes_read; -+ -+ g_io_channel_read_chars (channel, buf, sizeof buf, &bytes_read, NULL); -+ g_string_append_len (data->child_stderr, buf, bytes_read); -+ return TRUE; -+} -+ -+static gboolean -+utils_read_child_stdout (GIOChannel *channel, -+ GIOCondition condition, -+ gpointer user_data) -+{ -+ UtilsSpawnData *data = (UtilsSpawnData *)user_data; -+ gchar buf[1024]; -+ gsize bytes_read; -+ -+ g_io_channel_read_chars (channel, buf, sizeof buf, &bytes_read, NULL); -+ g_string_append_len (data->child_stdout, buf, bytes_read); -+ return TRUE; -+} -+ -+void -+polkit_backend_common_spawn (const gchar *const *argv, -+ guint timeout_seconds, -+ GCancellable *cancellable, -+ GAsyncReadyCallback callback, -+ gpointer user_data) -+{ -+ UtilsSpawnData *data; -+ GError *error; -+ -+ data = g_slice_new0 (UtilsSpawnData); -+ data->timeout_seconds = timeout_seconds; -+ data->simple = g_simple_async_result_new (NULL, -+ callback, -+ user_data, -+ (gpointer*)polkit_backend_common_spawn); -+ data->main_context = g_main_context_get_thread_default (); -+ if (data->main_context != NULL) -+ g_main_context_ref (data->main_context); -+ -+ data->cancellable = cancellable != NULL ? (GCancellable*)g_object_ref (cancellable) : NULL; -+ -+ data->child_stdout = g_string_new (NULL); -+ data->child_stderr = g_string_new (NULL); -+ data->child_stdout_fd = -1; -+ data->child_stderr_fd = -1; -+ -+ /* the life-cycle of UtilsSpawnData is tied to its GSimpleAsyncResult */ -+ g_simple_async_result_set_op_res_gpointer (data->simple, data, (GDestroyNotify) utils_spawn_data_free); -+ -+ error = NULL; -+ if (data->cancellable != NULL) -+ { -+ /* could already be cancelled */ -+ error = NULL; -+ if (g_cancellable_set_error_if_cancelled (data->cancellable, &error)) -+ { -+ g_simple_async_result_take_error (data->simple, error); -+ g_simple_async_result_complete_in_idle (data->simple); -+ g_object_unref (data->simple); -+ goto out; -+ } -+ -+ data->cancellable_handler_id = g_cancellable_connect (data->cancellable, -+ G_CALLBACK (utils_on_cancelled), -+ data, -+ NULL); -+ } -+ -+ error = NULL; -+ if (!g_spawn_async_with_pipes (NULL, /* working directory */ -+ (gchar **) argv, -+ NULL, /* envp */ -+ G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD, -+ NULL, /* child_setup */ -+ NULL, /* child_setup's user_data */ -+ &(data->child_pid), -+ NULL, /* gint *stdin_fd */ -+ &(data->child_stdout_fd), -+ &(data->child_stderr_fd), -+ &error)) -+ { -+ g_prefix_error (&error, "Error spawning: "); -+ g_simple_async_result_take_error (data->simple, error); -+ g_simple_async_result_complete_in_idle (data->simple); -+ g_object_unref (data->simple); -+ goto out; -+ } -+ -+ if (timeout_seconds > 0) -+ { -+ data->timeout_source = g_timeout_source_new_seconds (timeout_seconds); -+ g_source_set_priority (data->timeout_source, G_PRIORITY_DEFAULT); -+ g_source_set_callback (data->timeout_source, utils_timeout_cb, data, NULL); -+ g_source_attach (data->timeout_source, data->main_context); -+ g_source_unref (data->timeout_source); -+ } -+ -+ data->child_watch_source = g_child_watch_source_new (data->child_pid); -+ g_source_set_callback (data->child_watch_source, (GSourceFunc) utils_child_watch_cb, data, NULL); -+ g_source_attach (data->child_watch_source, data->main_context); -+ g_source_unref (data->child_watch_source); -+ -+ data->child_stdout_channel = g_io_channel_unix_new (data->child_stdout_fd); -+ g_io_channel_set_flags (data->child_stdout_channel, G_IO_FLAG_NONBLOCK, NULL); -+ data->child_stdout_source = g_io_create_watch (data->child_stdout_channel, G_IO_IN); -+ g_source_set_callback (data->child_stdout_source, (GSourceFunc) utils_read_child_stdout, data, NULL); -+ g_source_attach (data->child_stdout_source, data->main_context); -+ g_source_unref (data->child_stdout_source); -+ -+ data->child_stderr_channel = g_io_channel_unix_new (data->child_stderr_fd); -+ g_io_channel_set_flags (data->child_stderr_channel, G_IO_FLAG_NONBLOCK, NULL); -+ data->child_stderr_source = g_io_create_watch (data->child_stderr_channel, G_IO_IN); -+ g_source_set_callback (data->child_stderr_source, (GSourceFunc) utils_read_child_stderr, data, NULL); -+ g_source_attach (data->child_stderr_source, data->main_context); -+ g_source_unref (data->child_stderr_source); -+ -+ out: -+ ; -+} -+ -+void -+polkit_backend_common_on_dir_monitor_changed (GFileMonitor *monitor, -+ GFile *file, -+ GFile *other_file, -+ GFileMonitorEvent event_type, -+ gpointer user_data) -+{ -+ PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (user_data); -+ -+ /* TODO: maybe rate-limit so storms of events are collapsed into one with a 500ms resolution? -+ * Because when editing a file with emacs we get 4-8 events.. -+ */ -+ -+ if (file != NULL) -+ { -+ gchar *name; -+ -+ name = g_file_get_basename (file); -+ -+ /* g_print ("event_type=%d file=%p name=%s\n", event_type, file, name); */ -+ if (!g_str_has_prefix (name, ".") && -+ !g_str_has_prefix (name, "#") && -+ g_str_has_suffix (name, ".rules") && -+ (event_type == G_FILE_MONITOR_EVENT_CREATED || -+ event_type == G_FILE_MONITOR_EVENT_DELETED || -+ event_type == G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT)) -+ { -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ "Reloading rules"); -+ polkit_backend_common_reload_scripts (authority); -+ } -+ g_free (name); -+ } -+} -+ -+gboolean -+polkit_backend_common_spawn_finish (GAsyncResult *res, -+ gint *out_exit_status, -+ gchar **out_standard_output, -+ gchar **out_standard_error, -+ GError **error) -+{ -+ GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res); -+ UtilsSpawnData *data; -+ gboolean ret = FALSE; -+ -+ g_return_val_if_fail (G_IS_ASYNC_RESULT (res), FALSE); -+ g_return_val_if_fail (error == NULL || *error == NULL, FALSE); -+ -+ g_warn_if_fail (g_simple_async_result_get_source_tag (simple) == polkit_backend_common_spawn); -+ -+ if (g_simple_async_result_propagate_error (simple, error)) -+ goto out; -+ -+ data = (UtilsSpawnData*)g_simple_async_result_get_op_res_gpointer (simple); -+ -+ if (data->timed_out) -+ { -+ g_set_error (error, -+ G_IO_ERROR, -+ G_IO_ERROR_TIMED_OUT, -+ "Timed out after %d seconds", -+ data->timeout_seconds); -+ goto out; -+ } -+ -+ if (out_exit_status != NULL) -+ *out_exit_status = data->exit_status; -+ -+ if (out_standard_output != NULL) -+ *out_standard_output = g_strdup (data->child_stdout->str); -+ -+ if (out_standard_error != NULL) -+ *out_standard_error = g_strdup (data->child_stderr->str); -+ -+ ret = TRUE; -+ -+ out: -+ return ret; -+} -+ -+static const gchar * -+polkit_backend_js_authority_get_name (PolkitBackendAuthority *authority) -+{ -+ return "js"; -+} -+ -+static const gchar * -+polkit_backend_js_authority_get_version (PolkitBackendAuthority *authority) -+{ -+ return PACKAGE_VERSION; -+} -+ -+static PolkitAuthorityFeatures -+polkit_backend_js_authority_get_features (PolkitBackendAuthority *authority) -+{ -+ return POLKIT_AUTHORITY_FEATURES_TEMPORARY_AUTHORIZATION; -+} -+ -+void -+polkit_backend_common_js_authority_class_init_common (PolkitBackendJsAuthorityClass *klass) -+{ -+ GObjectClass *gobject_class; -+ PolkitBackendAuthorityClass *authority_class; -+ PolkitBackendInteractiveAuthorityClass *interactive_authority_class; -+ -+ gobject_class = G_OBJECT_CLASS (klass); -+ gobject_class->finalize = polkit_backend_common_js_authority_finalize; -+ gobject_class->set_property = polkit_backend_common_js_authority_set_property; -+ gobject_class->constructed = polkit_backend_common_js_authority_constructed; -+ -+ authority_class = POLKIT_BACKEND_AUTHORITY_CLASS (klass); -+ authority_class->get_name = polkit_backend_js_authority_get_name; -+ authority_class->get_version = polkit_backend_js_authority_get_version; -+ authority_class->get_features = polkit_backend_js_authority_get_features; -+ -+ interactive_authority_class = POLKIT_BACKEND_INTERACTIVE_AUTHORITY_CLASS (klass); -+ interactive_authority_class->get_admin_identities = polkit_backend_common_js_authority_get_admin_auth_identities; -+ interactive_authority_class->check_authorization_sync = polkit_backend_common_js_authority_check_authorization_sync; -+ -+ g_object_class_install_property (gobject_class, -+ PROP_RULES_DIRS, -+ g_param_spec_boxed ("rules-dirs", -+ NULL, -+ NULL, -+ G_TYPE_STRV, -+ G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE)); -+} -+ -+gint -+polkit_backend_common_rules_file_name_cmp (const gchar *a, -+ const gchar *b) -+{ -+ gint ret; -+ const gchar *a_base; -+ const gchar *b_base; -+ -+ a_base = strrchr (a, '/'); -+ b_base = strrchr (b, '/'); -+ -+ g_assert (a_base != NULL); -+ g_assert (b_base != NULL); -+ a_base += 1; -+ b_base += 1; -+ -+ ret = g_strcmp0 (a_base, b_base); -+ if (ret == 0) -+ { -+ /* /etc wins over /usr */ -+ ret = g_strcmp0 (a, b); -+ g_assert (ret != 0); -+ } -+ -+ return ret; -+} -+ -+const gchar * -+polkit_backend_common_get_signal_name (gint signal_number) -+{ -+ switch (signal_number) -+ { -+#define _HANDLE_SIG(sig) case sig: return #sig; -+ _HANDLE_SIG (SIGHUP); -+ _HANDLE_SIG (SIGINT); -+ _HANDLE_SIG (SIGQUIT); -+ _HANDLE_SIG (SIGILL); -+ _HANDLE_SIG (SIGABRT); -+ _HANDLE_SIG (SIGFPE); -+ _HANDLE_SIG (SIGKILL); -+ _HANDLE_SIG (SIGSEGV); -+ _HANDLE_SIG (SIGPIPE); -+ _HANDLE_SIG (SIGALRM); -+ _HANDLE_SIG (SIGTERM); -+ _HANDLE_SIG (SIGUSR1); -+ _HANDLE_SIG (SIGUSR2); -+ _HANDLE_SIG (SIGCHLD); -+ _HANDLE_SIG (SIGCONT); -+ _HANDLE_SIG (SIGSTOP); -+ _HANDLE_SIG (SIGTSTP); -+ _HANDLE_SIG (SIGTTIN); -+ _HANDLE_SIG (SIGTTOU); -+ _HANDLE_SIG (SIGBUS); -+#ifdef SIGPOLL -+ _HANDLE_SIG (SIGPOLL); -+#endif -+ _HANDLE_SIG (SIGPROF); -+ _HANDLE_SIG (SIGSYS); -+ _HANDLE_SIG (SIGTRAP); -+ _HANDLE_SIG (SIGURG); -+ _HANDLE_SIG (SIGVTALRM); -+ _HANDLE_SIG (SIGXCPU); -+ _HANDLE_SIG (SIGXFSZ); -+#undef _HANDLE_SIG -+ default: -+ break; -+ } -+ return "UNKNOWN_SIGNAL"; -+} -+ -+void -+polkit_backend_common_spawn_cb (GObject *source_object, -+ GAsyncResult *res, -+ gpointer user_data) -+{ -+ SpawnData *data = (SpawnData *)user_data; -+ data->res = (GAsyncResult*)g_object_ref (res); -+ g_main_loop_quit (data->loop); -+} -diff --git a/src/polkitbackend/polkitbackendcommon.h b/src/polkitbackend/polkitbackendcommon.h -new file mode 100644 -index 0000000..dd700fc ---- /dev/null -+++ b/src/polkitbackend/polkitbackendcommon.h -@@ -0,0 +1,158 @@ -+/* -+ * Copyright (C) 2008 Red Hat, Inc. -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2 of the License, or (at your option) any later version. -+ * -+ * This library 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 -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General -+ * Public License along with this library; if not, write to the -+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330, -+ * Boston, MA 02111-1307, USA. -+ * -+ * Author: David Zeuthen <davidz@redhat.com> -+ */ -+ -+#if !defined (_POLKIT_BACKEND_COMPILATION) && !defined(_POLKIT_BACKEND_INSIDE_POLKIT_BACKEND_H) -+#error "Only <polkitbackend/polkitbackend.h> can be included directly, this file may disappear or change contents." -+#endif -+ -+#ifndef __POLKIT_BACKEND_COMMON_H -+#define __POLKIT_BACKEND_COMMON_H -+ -+#include "config.h" -+#include <sys/wait.h> -+#include <errno.h> -+#include <pwd.h> -+#include <grp.h> -+#ifdef HAVE_NETGROUP_H -+#include <netgroup.h> -+#else -+#include <netdb.h> -+#endif -+#include <string.h> -+#include <glib/gstdio.h> -+#include <locale.h> -+#include <glib/gi18n-lib.h> //here, all things glib via glib.h (including -> gspawn.h) -+ -+#include <polkit/polkit.h> -+#include "polkitbackendjsauthority.h" -+ -+#include <polkit/polkitprivate.h> -+ -+#ifdef HAVE_LIBSYSTEMD -+#include <systemd/sd-login.h> -+#endif /* HAVE_LIBSYSTEMD */ -+ -+#define RUNAWAY_KILLER_TIMEOUT (15) -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+enum -+{ -+ PROP_0, -+ PROP_RULES_DIRS, -+}; -+ -+typedef struct -+{ -+ GSimpleAsyncResult *simple; /* borrowed reference */ -+ GMainContext *main_context; /* may be NULL */ -+ -+ GCancellable *cancellable; /* may be NULL */ -+ gulong cancellable_handler_id; -+ -+ GPid child_pid; -+ gint child_stdout_fd; -+ gint child_stderr_fd; -+ -+ GIOChannel *child_stdout_channel; -+ GIOChannel *child_stderr_channel; -+ -+ GSource *child_watch_source; -+ GSource *child_stdout_source; -+ GSource *child_stderr_source; -+ -+ guint timeout_seconds; -+ gboolean timed_out; -+ GSource *timeout_source; -+ -+ GString *child_stdout; -+ GString *child_stderr; -+ -+ gint exit_status; -+} UtilsSpawnData; -+ -+typedef struct -+{ -+ GMainLoop *loop; -+ GAsyncResult *res; -+} SpawnData; -+ -+void polkit_backend_common_spawn (const gchar *const *argv, -+ guint timeout_seconds, -+ GCancellable *cancellable, -+ GAsyncReadyCallback callback, -+ gpointer user_data); -+void polkit_backend_common_spawn_cb (GObject *source_object, -+ GAsyncResult *res, -+ gpointer user_data); -+gboolean polkit_backend_common_spawn_finish (GAsyncResult *res, -+ gint *out_exit_status, -+ gchar **out_standard_output, -+ gchar **out_standard_error, -+ GError **error); -+ -+void polkit_backend_common_on_dir_monitor_changed (GFileMonitor *monitor, -+ GFile *file, -+ GFile *other_file, -+ GFileMonitorEvent event_type, -+ gpointer user_data); -+ -+void polkit_backend_common_js_authority_class_init_common (PolkitBackendJsAuthorityClass *klass); -+ -+gint polkit_backend_common_rules_file_name_cmp (const gchar *a, -+ const gchar *b); -+ -+const gchar *polkit_backend_common_get_signal_name (gint signal_number); -+ -+/* To be provided by each JS backend, from here onwards ---------------------------------------------- */ -+ -+void polkit_backend_common_reload_scripts (PolkitBackendJsAuthority *authority); -+void polkit_backend_common_js_authority_finalize (GObject *object); -+void polkit_backend_common_js_authority_constructed (GObject *object); -+GList *polkit_backend_common_js_authority_get_admin_auth_identities (PolkitBackendInteractiveAuthority *_authority, -+ PolkitSubject *caller, -+ PolkitSubject *subject, -+ PolkitIdentity *user_for_subject, -+ gboolean subject_is_local, -+ gboolean subject_is_active, -+ const gchar *action_id, -+ PolkitDetails *details); -+void polkit_backend_common_js_authority_set_property (GObject *object, -+ guint property_id, -+ const GValue *value, -+ GParamSpec *pspec); -+PolkitImplicitAuthorization polkit_backend_common_js_authority_check_authorization_sync (PolkitBackendInteractiveAuthority *_authority, -+ PolkitSubject *caller, -+ PolkitSubject *subject, -+ PolkitIdentity *user_for_subject, -+ gboolean subject_is_local, -+ gboolean subject_is_active, -+ const gchar *action_id, -+ PolkitDetails *details, -+ PolkitImplicitAuthorization implicit); -+#ifdef __cplusplus -+} -+#endif -+ -+#endif /* __POLKIT_BACKEND_COMMON_H */ -+ -diff --git a/src/polkitbackend/polkitbackendduktapeauthority.c b/src/polkitbackend/polkitbackendduktapeauthority.c -new file mode 100644 -index 0000000..c89dbcf ---- /dev/null -+++ b/src/polkitbackend/polkitbackendduktapeauthority.c -@@ -0,0 +1,1051 @@ -+/* -+ * Copyright (C) 2008-2012 Red Hat, Inc. -+ * Copyright (C) 2015 Tangent Space <jstpierre@mecheye.net> -+ * Copyright (C) 2019 Wu Xiaotian <yetist@gmail.com> -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2 of the License, or (at your option) any later version. -+ * -+ * This library 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 -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General -+ * Public License along with this library; if not, write to the -+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330, -+ * Boston, MA 02111-1307, USA. -+ * -+ * Author: David Zeuthen <davidz@redhat.com> -+ */ -+ -+#include <pthread.h> -+ -+#include "polkitbackendcommon.h" -+ -+#include "duktape.h" -+ -+/* Built source and not too big to worry about deduplication */ -+#include "initjs.h" /* init.js */ -+ -+/** -+ * SECTION:polkitbackendjsauthority -+ * @title: PolkitBackendJsAuthority -+ * @short_description: JS Authority -+ * @stability: Unstable -+ * -+ * An (Duktape-based) implementation of #PolkitBackendAuthority that reads and -+ * evaluates Javascript files and supports interaction with authentication -+ * agents (virtue of being based on #PolkitBackendInteractiveAuthority). -+ */ -+ -+/* ---------------------------------------------------------------------------------------------------- */ -+ -+struct _PolkitBackendJsAuthorityPrivate -+{ -+ gchar **rules_dirs; -+ GFileMonitor **dir_monitors; /* NULL-terminated array of GFileMonitor instances */ -+ -+ duk_context *cx; -+ -+ pthread_t runaway_killer_thread; -+}; -+ -+enum -+{ -+ RUNAWAY_KILLER_THREAD_EXIT_STATUS_UNSET, -+ RUNAWAY_KILLER_THREAD_EXIT_STATUS_SUCCESS, -+ RUNAWAY_KILLER_THREAD_EXIT_STATUS_FAILURE, -+}; -+ -+static gboolean execute_script_with_runaway_killer(PolkitBackendJsAuthority *authority, -+ const gchar *filename); -+ -+/* ---------------------------------------------------------------------------------------------------- */ -+ -+G_DEFINE_TYPE (PolkitBackendJsAuthority, polkit_backend_js_authority, POLKIT_BACKEND_TYPE_INTERACTIVE_AUTHORITY); -+ -+/* ---------------------------------------------------------------------------------------------------- */ -+ -+static duk_ret_t js_polkit_log (duk_context *cx); -+static duk_ret_t js_polkit_spawn (duk_context *cx); -+static duk_ret_t js_polkit_user_is_in_netgroup (duk_context *cx); -+ -+static const duk_function_list_entry js_polkit_functions[] = -+{ -+ { "log", js_polkit_log, 1 }, -+ { "spawn", js_polkit_spawn, 1 }, -+ { "_userIsInNetGroup", js_polkit_user_is_in_netgroup, 2 }, -+ { NULL, NULL, 0 }, -+}; -+ -+static void report_error (void *udata, -+ const char *msg) -+{ -+ PolkitBackendJsAuthority *authority = udata; -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ "fatal Duktape JS backend error: %s", -+ (msg ? msg : "no message")); -+} -+ -+static void -+polkit_backend_js_authority_init (PolkitBackendJsAuthority *authority) -+{ -+ authority->priv = G_TYPE_INSTANCE_GET_PRIVATE (authority, -+ POLKIT_BACKEND_TYPE_JS_AUTHORITY, -+ PolkitBackendJsAuthorityPrivate); -+} -+ -+static void -+load_scripts (PolkitBackendJsAuthority *authority) -+{ -+ GList *files = NULL; -+ GList *l; -+ guint num_scripts = 0; -+ GError *error = NULL; -+ guint n; -+ -+ files = NULL; -+ -+ for (n = 0; authority->priv->rules_dirs != NULL && authority->priv->rules_dirs[n] != NULL; n++) -+ { -+ const gchar *dir_name = authority->priv->rules_dirs[n]; -+ GDir *dir = NULL; -+ -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ "Loading rules from directory %s", -+ dir_name); -+ -+ dir = g_dir_open (dir_name, -+ 0, -+ &error); -+ if (dir == NULL) -+ { -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ "Error opening rules directory: %s (%s, %d)", -+ error->message, g_quark_to_string (error->domain), error->code); -+ g_clear_error (&error); -+ } -+ else -+ { -+ const gchar *name; -+ while ((name = g_dir_read_name (dir)) != NULL) -+ { -+ if (g_str_has_suffix (name, ".rules")) -+ files = g_list_prepend (files, g_strdup_printf ("%s/%s", dir_name, name)); -+ } -+ g_dir_close (dir); -+ } -+ } -+ -+ files = g_list_sort (files, (GCompareFunc) polkit_backend_common_rules_file_name_cmp); -+ -+ for (l = files; l != NULL; l = l->next) -+ { -+ const gchar *filename = (gchar *)l->data; -+ -+ if (!execute_script_with_runaway_killer(authority, filename)) -+ continue; -+ num_scripts++; -+ } -+ -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ "Finished loading, compiling and executing %d rules", -+ num_scripts); -+ g_list_free_full (files, g_free); -+} -+ -+void -+polkit_backend_common_reload_scripts (PolkitBackendJsAuthority *authority) -+{ -+ duk_context *cx = authority->priv->cx; -+ -+ duk_set_top (cx, 0); -+ if (!duk_get_global_string (cx, "polkit")) { -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ "Error deleting old rules, not loading new ones"); -+ return; -+ } -+ duk_push_string (cx, "_deleteRules"); -+ -+ duk_call_prop (cx, 0, 0); -+ -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ "Collecting garbage unconditionally..."); -+ -+ load_scripts (authority); -+ -+ /* Let applications know we have new rules... */ -+ g_signal_emit_by_name (authority, "changed"); -+} -+ -+static void -+setup_file_monitors (PolkitBackendJsAuthority *authority) -+{ -+ guint n; -+ GPtrArray *p; -+ -+ p = g_ptr_array_new (); -+ for (n = 0; authority->priv->rules_dirs != NULL && authority->priv->rules_dirs[n] != NULL; n++) -+ { -+ GFile *file; -+ GError *error; -+ GFileMonitor *monitor; -+ -+ file = g_file_new_for_path (authority->priv->rules_dirs[n]); -+ error = NULL; -+ monitor = g_file_monitor_directory (file, -+ G_FILE_MONITOR_NONE, -+ NULL, -+ &error); -+ g_object_unref (file); -+ if (monitor == NULL) -+ { -+ g_warning ("Error monitoring directory %s: %s", -+ authority->priv->rules_dirs[n], -+ error->message); -+ g_clear_error (&error); -+ } -+ else -+ { -+ g_signal_connect (monitor, -+ "changed", -+ G_CALLBACK (polkit_backend_common_on_dir_monitor_changed), -+ authority); -+ g_ptr_array_add (p, monitor); -+ } -+ } -+ g_ptr_array_add (p, NULL); -+ authority->priv->dir_monitors = (GFileMonitor**) g_ptr_array_free (p, FALSE); -+} -+ -+void -+polkit_backend_common_js_authority_constructed (GObject *object) -+{ -+ PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (object); -+ duk_context *cx; -+ -+ cx = duk_create_heap (NULL, NULL, NULL, authority, report_error); -+ if (cx == NULL) -+ goto fail; -+ -+ authority->priv->cx = cx; -+ -+ duk_push_global_object (cx); -+ duk_push_object (cx); -+ duk_put_function_list (cx, -1, js_polkit_functions); -+ duk_put_prop_string (cx, -2, "polkit"); -+ -+ /* load polkit objects/functions into JS context (e.g. addRule(), -+ * _deleteRules(), _runRules() et al) -+ */ -+ duk_eval_string (cx, init_js); -+ -+ if (authority->priv->rules_dirs == NULL) -+ { -+ authority->priv->rules_dirs = g_new0 (gchar *, 3); -+ authority->priv->rules_dirs[0] = g_strdup (PACKAGE_SYSCONF_DIR "/polkit-1/rules.d"); -+ authority->priv->rules_dirs[1] = g_strdup (PACKAGE_DATA_DIR "/polkit-1/rules.d"); -+ } -+ -+ setup_file_monitors (authority); -+ load_scripts (authority); -+ -+ G_OBJECT_CLASS (polkit_backend_js_authority_parent_class)->constructed (object); -+ return; -+ -+ fail: -+ g_critical ("Error initializing JavaScript environment"); -+ g_assert_not_reached (); -+} -+ -+void -+polkit_backend_common_js_authority_finalize (GObject *object) -+{ -+ PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (object); -+ guint n; -+ -+ for (n = 0; authority->priv->dir_monitors != NULL && authority->priv->dir_monitors[n] != NULL; n++) -+ { -+ GFileMonitor *monitor = authority->priv->dir_monitors[n]; -+ g_signal_handlers_disconnect_by_func (monitor, -+ G_CALLBACK (polkit_backend_common_on_dir_monitor_changed), -+ authority); -+ g_object_unref (monitor); -+ } -+ g_free (authority->priv->dir_monitors); -+ g_strfreev (authority->priv->rules_dirs); -+ -+ duk_destroy_heap (authority->priv->cx); -+ -+ G_OBJECT_CLASS (polkit_backend_js_authority_parent_class)->finalize (object); -+} -+ -+void -+polkit_backend_common_js_authority_set_property (GObject *object, -+ guint property_id, -+ const GValue *value, -+ GParamSpec *pspec) -+{ -+ PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (object); -+ -+ switch (property_id) -+ { -+ case PROP_RULES_DIRS: -+ g_assert (authority->priv->rules_dirs == NULL); -+ authority->priv->rules_dirs = (gchar **) g_value_dup_boxed (value); -+ break; -+ -+ default: -+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); -+ break; -+ } -+} -+ -+static void -+polkit_backend_js_authority_class_init (PolkitBackendJsAuthorityClass *klass) -+{ -+ polkit_backend_common_js_authority_class_init_common (klass); -+ g_type_class_add_private (klass, sizeof (PolkitBackendJsAuthorityPrivate)); -+} -+ -+/* ---------------------------------------------------------------------------------------------------- */ -+ -+static void -+set_property_str (duk_context *cx, -+ const gchar *name, -+ const gchar *value) -+{ -+ duk_push_string (cx, value); -+ duk_put_prop_string (cx, -2, name); -+} -+ -+static void -+set_property_strv (duk_context *cx, -+ const gchar *name, -+ GPtrArray *value) -+{ -+ guint n; -+ duk_push_array (cx); -+ for (n = 0; n < value->len; n++) -+ { -+ duk_push_string (cx, g_ptr_array_index (value, n)); -+ duk_put_prop_index (cx, -2, n); -+ } -+ duk_put_prop_string (cx, -2, name); -+} -+ -+static void -+set_property_int32 (duk_context *cx, -+ const gchar *name, -+ gint32 value) -+{ -+ duk_push_int (cx, value); -+ duk_put_prop_string (cx, -2, name); -+} -+ -+static void -+set_property_bool (duk_context *cx, -+ const char *name, -+ gboolean value) -+{ -+ duk_push_boolean (cx, value); -+ duk_put_prop_string (cx, -2, name); -+} -+ -+/* ---------------------------------------------------------------------------------------------------- */ -+ -+static gboolean -+push_subject (duk_context *cx, -+ PolkitSubject *subject, -+ PolkitIdentity *user_for_subject, -+ gboolean subject_is_local, -+ gboolean subject_is_active, -+ GError **error) -+{ -+ gboolean ret = FALSE; -+ pid_t pid; -+ uid_t uid; -+ gchar *user_name = NULL; -+ GPtrArray *groups = NULL; -+ struct passwd *passwd; -+ char *seat_str = NULL; -+ char *session_str = NULL; -+ -+ if (!duk_get_global_string (cx, "Subject")) { -+ return FALSE; -+ } -+ -+ duk_new (cx, 0); -+ -+ if (POLKIT_IS_UNIX_PROCESS (subject)) -+ { -+ pid = polkit_unix_process_get_pid (POLKIT_UNIX_PROCESS (subject)); -+ } -+ else if (POLKIT_IS_SYSTEM_BUS_NAME (subject)) -+ { -+ PolkitSubject *process; -+ process = polkit_system_bus_name_get_process_sync (POLKIT_SYSTEM_BUS_NAME (subject), NULL, error); -+ if (process == NULL) -+ goto out; -+ pid = polkit_unix_process_get_pid (POLKIT_UNIX_PROCESS (process)); -+ g_object_unref (process); -+ } -+ else -+ { -+ g_assert_not_reached (); -+ } -+ -+#ifdef HAVE_LIBSYSTEMD -+ if (sd_pid_get_session (pid, &session_str) == 0) -+ { -+ if (sd_session_get_seat (session_str, &seat_str) == 0) -+ { -+ /* do nothing */ -+ } -+ } -+#endif /* HAVE_LIBSYSTEMD */ -+ -+ g_assert (POLKIT_IS_UNIX_USER (user_for_subject)); -+ uid = polkit_unix_user_get_uid (POLKIT_UNIX_USER (user_for_subject)); -+ -+ groups = g_ptr_array_new_with_free_func (g_free); -+ -+ passwd = getpwuid (uid); -+ if (passwd == NULL) -+ { -+ user_name = g_strdup_printf ("%d", (gint) uid); -+ g_warning ("Error looking up info for uid %d: %m", (gint) uid); -+ } -+ else -+ { -+ gid_t gids[512]; -+ int num_gids = 512; -+ -+ user_name = g_strdup (passwd->pw_name); -+ -+ if (getgrouplist (passwd->pw_name, -+ passwd->pw_gid, -+ gids, -+ &num_gids) < 0) -+ { -+ g_warning ("Error looking up groups for uid %d: %m", (gint) uid); -+ } -+ else -+ { -+ gint n; -+ for (n = 0; n < num_gids; n++) -+ { -+ struct group *group; -+ group = getgrgid (gids[n]); -+ if (group == NULL) -+ { -+ g_ptr_array_add (groups, g_strdup_printf ("%d", (gint) gids[n])); -+ } -+ else -+ { -+ g_ptr_array_add (groups, g_strdup (group->gr_name)); -+ } -+ } -+ } -+ } -+ -+ set_property_int32 (cx, "pid", pid); -+ set_property_str (cx, "user", user_name); -+ set_property_strv (cx, "groups", groups); -+ set_property_str (cx, "seat", seat_str); -+ set_property_str (cx, "session", session_str); -+ set_property_bool (cx, "local", subject_is_local); -+ set_property_bool (cx, "active", subject_is_active); -+ -+ ret = TRUE; -+ -+ out: -+ free (session_str); -+ free (seat_str); -+ g_free (user_name); -+ if (groups != NULL) -+ g_ptr_array_unref (groups); -+ -+ return ret; -+} -+ -+/* ---------------------------------------------------------------------------------------------------- */ -+ -+static gboolean -+push_action_and_details (duk_context *cx, -+ const gchar *action_id, -+ PolkitDetails *details, -+ GError **error) -+{ -+ gchar **keys; -+ guint n; -+ -+ if (!duk_get_global_string (cx, "Action")) { -+ return FALSE; -+ } -+ -+ duk_new (cx, 0); -+ -+ set_property_str (cx, "id", action_id); -+ -+ keys = polkit_details_get_keys (details); -+ for (n = 0; keys != NULL && keys[n] != NULL; n++) -+ { -+ gchar *key; -+ const gchar *value; -+ key = g_strdup_printf ("_detail_%s", keys[n]); -+ value = polkit_details_lookup (details, keys[n]); -+ set_property_str (cx, key, value); -+ g_free (key); -+ } -+ g_strfreev (keys); -+ -+ return TRUE; -+} -+ -+/* ---------------------------------------------------------------------------------------------------- */ -+ -+typedef struct { -+ PolkitBackendJsAuthority *authority; -+ const gchar *filename; -+ pthread_cond_t cond; -+ pthread_mutex_t mutex; -+ gint ret; -+} RunawayKillerCtx; -+ -+static gpointer -+runaway_killer_thread_execute_js (gpointer user_data) -+{ -+ RunawayKillerCtx *ctx = user_data; -+ duk_context *cx = ctx->authority->priv->cx; -+ -+ int oldtype, pthread_err; -+ -+ if ((pthread_err = pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &oldtype))) { -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (ctx->authority), -+ "Error setting thread cancel type: %s", -+ strerror(pthread_err)); -+ goto err; -+ } -+ -+ GFile *file = g_file_new_for_path(ctx->filename); -+ char *contents; -+ gsize len; -+ -+ if (!g_file_load_contents(file, NULL, &contents, &len, NULL, NULL)) { -+ polkit_backend_authority_log(POLKIT_BACKEND_AUTHORITY(ctx->authority), -+ "Error loading script %s", ctx->filename); -+ g_object_unref(file); -+ goto err; -+ } -+ -+ g_object_unref(file); -+ -+ /* evaluate the script, trying to print context in any syntax errors -+ found */ -+ if (duk_peval_lstring(cx, contents, len) != 0) -+ { -+ polkit_backend_authority_log(POLKIT_BACKEND_AUTHORITY(ctx->authority), -+ "Error compiling script %s: %s", ctx->filename, -+ duk_safe_to_string(cx, -1)); -+ duk_pop(cx); -+ goto free_err; -+ } -+ g_free(contents); -+ -+ ctx->ret = RUNAWAY_KILLER_THREAD_EXIT_STATUS_SUCCESS; -+ goto end; -+ -+free_err: -+ g_free(contents); -+err: -+ ctx->ret = RUNAWAY_KILLER_THREAD_EXIT_STATUS_FAILURE; -+end: -+ if ((pthread_err = pthread_cond_signal(&ctx->cond))) { -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (ctx->authority), -+ "Error signaling on condition variable: %s", -+ strerror(pthread_err)); -+ ctx->ret = RUNAWAY_KILLER_THREAD_EXIT_STATUS_FAILURE; -+ } -+ return NULL; -+} -+ -+static gpointer -+runaway_killer_thread_call_js (gpointer user_data) -+{ -+ RunawayKillerCtx *ctx = user_data; -+ duk_context *cx = ctx->authority->priv->cx; -+ int oldtype, pthread_err; -+ -+ if ((pthread_err = pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &oldtype))) { -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (ctx->authority), -+ "Error setting thread cancel type: %s", -+ strerror(pthread_err)); -+ goto err; -+ } -+ -+ if (duk_pcall_prop (cx, 0, 2) != DUK_EXEC_SUCCESS) -+ { -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (ctx->authority), -+ "Error evaluating admin rules: ", -+ duk_safe_to_string (cx, -1)); -+ goto err; -+ } -+ -+ ctx->ret = RUNAWAY_KILLER_THREAD_EXIT_STATUS_SUCCESS; -+ goto end; -+ -+err: -+ ctx->ret = RUNAWAY_KILLER_THREAD_EXIT_STATUS_FAILURE; -+end: -+ if ((pthread_err = pthread_cond_signal(&ctx->cond))) { -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (ctx->authority), -+ "Error signaling on condition variable: %s", -+ strerror(pthread_err)); -+ ctx->ret = RUNAWAY_KILLER_THREAD_EXIT_STATUS_FAILURE; -+ } -+ return NULL; -+} -+ -+#if defined (HAVE_PTHREAD_CONDATTR_SETCLOCK) -+# if defined(CLOCK_MONOTONIC) -+# define PK_CLOCK CLOCK_MONOTONIC -+# elif defined(CLOCK_BOOTTIME) -+# define PK_CLOCK CLOCK_BOOTTIME -+# else -+ /* No suitable clock */ -+# undef HAVE_PTHREAD_CONDATTR_SETCLOCK -+# define PK_CLOCK CLOCK_REALTIME -+# endif -+#else /* ! HAVE_PTHREAD_CONDATTR_SETCLOCK */ -+# define PK_CLOCK CLOCK_REALTIME -+#endif /* ! HAVE_PTHREAD_CONDATTR_SETCLOCK */ -+ -+static gboolean -+runaway_killer_common(PolkitBackendJsAuthority *authority, RunawayKillerCtx *ctx, void *js_context_cb (void *user_data)) -+{ -+ int pthread_err; -+ gboolean cancel = FALSE; -+ pthread_condattr_t attr; -+ struct timespec abs_time; -+ -+#ifdef HAVE_PTHREAD_CONDATTR_SETCLOCK -+ if ((pthread_err = pthread_condattr_init(&attr))) { -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ "Error initializing condition variable attributes: %s", -+ strerror(pthread_err)); -+ return FALSE; -+ } -+ if ((pthread_err = pthread_condattr_setclock(&attr, PK_CLOCK))) { -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ "Error setting condition variable attributes: %s", -+ strerror(pthread_err)); -+ goto err_clean_condattr; -+ } -+ /* Init again, with needed attr */ -+ if ((pthread_err = pthread_cond_init(&ctx->cond, &attr))) { -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ "Error initializing condition variable: %s", -+ strerror(pthread_err)); -+ goto err_clean_condattr; -+ } -+#endif -+ -+ if ((pthread_err = pthread_mutex_lock(&ctx->mutex))) { -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ "Error locking mutex: %s", -+ strerror(pthread_err)); -+ goto err_clean_cond; -+ } -+ -+ if (clock_gettime(PK_CLOCK, &abs_time)) { -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ "Error getting system's monotonic time: %s", -+ strerror(errno)); -+ goto err_clean_cond; -+ } -+ abs_time.tv_sec += RUNAWAY_KILLER_TIMEOUT; -+ -+ if ((pthread_err = pthread_create(&authority->priv->runaway_killer_thread, NULL, -+ js_context_cb, ctx))) { -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ "Error creating runaway JS killer thread: %s", -+ strerror(pthread_err)); -+ goto err_clean_cond; -+ } -+ -+ while (ctx->ret == RUNAWAY_KILLER_THREAD_EXIT_STATUS_UNSET) /* loop to treat spurious wakeups */ -+ if (pthread_cond_timedwait(&ctx->cond, &ctx->mutex, &abs_time) == ETIMEDOUT) { -+ cancel = TRUE; -+ -+ /* Log that we are terminating the script */ -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ "Terminating runaway script after %d seconds", -+ RUNAWAY_KILLER_TIMEOUT); -+ -+ break; -+ } -+ -+ if ((pthread_err = pthread_mutex_unlock(&ctx->mutex))) { -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ "Error unlocking mutex: %s", -+ strerror(pthread_err)); -+ goto err_clean_cond; -+ } -+ -+ if (cancel) { -+ if ((pthread_err = pthread_cancel (authority->priv->runaway_killer_thread))) { -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ "Error cancelling runaway JS killer thread: %s", -+ strerror(pthread_err)); -+ goto err_clean_cond; -+ } -+ } -+ if ((pthread_err = pthread_join (authority->priv->runaway_killer_thread, NULL))) { -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ "Error joining runaway JS killer thread: %s", -+ strerror(pthread_err)); -+ goto err_clean_cond; -+ } -+ -+ return ctx->ret == RUNAWAY_KILLER_THREAD_EXIT_STATUS_SUCCESS; -+ -+ err_clean_cond: -+#ifdef HAVE_PTHREAD_CONDATTR_SETCLOCK -+ pthread_cond_destroy(&ctx->cond); -+#endif -+ err_clean_condattr: -+#ifdef HAVE_PTHREAD_CONDATTR_SETCLOCK -+ pthread_condattr_destroy(&attr); -+#endif -+ return FALSE; -+} -+ -+/* Blocking for at most RUNAWAY_KILLER_TIMEOUT */ -+static gboolean -+execute_script_with_runaway_killer(PolkitBackendJsAuthority *authority, -+ const gchar *filename) -+{ -+ RunawayKillerCtx ctx = {.authority = authority, .filename = filename, -+ .ret = RUNAWAY_KILLER_THREAD_EXIT_STATUS_UNSET, -+ .mutex = PTHREAD_MUTEX_INITIALIZER, -+ .cond = PTHREAD_COND_INITIALIZER}; -+ -+ return runaway_killer_common(authority, &ctx, &runaway_killer_thread_execute_js); -+} -+ -+/* Calls already stacked function and args. Blocking for at most -+ * RUNAWAY_KILLER_TIMEOUT. If timeout is the case, ctx.ret will be -+ * RUNAWAY_KILLER_THREAD_EXIT_STATUS_UNSET, thus returning FALSE. -+ */ -+static gboolean -+call_js_function_with_runaway_killer(PolkitBackendJsAuthority *authority) -+{ -+ RunawayKillerCtx ctx = {.authority = authority, -+ .ret = RUNAWAY_KILLER_THREAD_EXIT_STATUS_UNSET, -+ .mutex = PTHREAD_MUTEX_INITIALIZER, -+ .cond = PTHREAD_COND_INITIALIZER}; -+ -+ return runaway_killer_common(authority, &ctx, &runaway_killer_thread_call_js); -+} -+ -+/* ---------------------------------------------------------------------------------------------------- */ -+ -+GList * -+polkit_backend_common_js_authority_get_admin_auth_identities (PolkitBackendInteractiveAuthority *_authority, -+ PolkitSubject *caller, -+ PolkitSubject *subject, -+ PolkitIdentity *user_for_subject, -+ gboolean subject_is_local, -+ gboolean subject_is_active, -+ const gchar *action_id, -+ PolkitDetails *details) -+{ -+ PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (_authority); -+ GList *ret = NULL; -+ guint n; -+ GError *error = NULL; -+ const char *ret_str = NULL; -+ gchar **ret_strs = NULL; -+ duk_context *cx = authority->priv->cx; -+ -+ duk_set_top (cx, 0); -+ if (!duk_get_global_string (cx, "polkit")) { -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ "Error deleting old rules, not loading new ones"); -+ goto out; -+ } -+ -+ duk_push_string (cx, "_runAdminRules"); -+ -+ if (!push_action_and_details (cx, action_id, details, &error)) -+ { -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ "Error converting action and details to JS object: %s", -+ error->message); -+ g_clear_error (&error); -+ goto out; -+ } -+ -+ if (!push_subject (cx, subject, user_for_subject, subject_is_local, subject_is_active, &error)) -+ { -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ "Error converting subject to JS object: %s", -+ error->message); -+ g_clear_error (&error); -+ goto out; -+ } -+ -+ if (!call_js_function_with_runaway_killer (authority)) -+ goto out; -+ -+ ret_str = duk_require_string (cx, -1); -+ -+ ret_strs = g_strsplit (ret_str, ",", -1); -+ for (n = 0; ret_strs != NULL && ret_strs[n] != NULL; n++) -+ { -+ const gchar *identity_str = ret_strs[n]; -+ PolkitIdentity *identity; -+ -+ error = NULL; -+ identity = polkit_identity_from_string (identity_str, &error); -+ if (identity == NULL) -+ { -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ "Identity `%s' is not valid, ignoring: %s", -+ identity_str, error->message); -+ g_clear_error (&error); -+ } -+ else -+ { -+ ret = g_list_prepend (ret, identity); -+ } -+ } -+ ret = g_list_reverse (ret); -+ -+ out: -+ g_strfreev (ret_strs); -+ /* fallback to root password auth */ -+ if (ret == NULL) -+ ret = g_list_prepend (ret, polkit_unix_user_new (0)); -+ -+ return ret; -+} -+ -+/* ---------------------------------------------------------------------------------------------------- */ -+ -+PolkitImplicitAuthorization -+polkit_backend_common_js_authority_check_authorization_sync (PolkitBackendInteractiveAuthority *_authority, -+ PolkitSubject *caller, -+ PolkitSubject *subject, -+ PolkitIdentity *user_for_subject, -+ gboolean subject_is_local, -+ gboolean subject_is_active, -+ const gchar *action_id, -+ PolkitDetails *details, -+ PolkitImplicitAuthorization implicit) -+{ -+ PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (_authority); -+ PolkitImplicitAuthorization ret = implicit; -+ GError *error = NULL; -+ gchar *ret_str = NULL; -+ gboolean good = FALSE; -+ duk_context *cx = authority->priv->cx; -+ -+ duk_set_top (cx, 0); -+ if (!duk_get_global_string (cx, "polkit")) { -+ goto out; -+ } -+ -+ duk_push_string (cx, "_runRules"); -+ -+ if (!push_action_and_details (cx, action_id, details, &error)) -+ { -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ "Error converting action and details to JS object: %s", -+ error->message); -+ g_clear_error (&error); -+ goto out; -+ } -+ -+ if (!push_subject (cx, subject, user_for_subject, subject_is_local, subject_is_active, &error)) -+ { -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ "Error converting subject to JS object: %s", -+ error->message); -+ g_clear_error (&error); -+ goto out; -+ } -+ -+ // If any error is the js context happened (ctx.ret == -+ // RUNAWAY_KILLER_THREAD_EXIT_STATUS_FAILURE) or it never properly returned -+ // (runaway scripts or ctx.ret == RUNAWAY_KILLER_THREAD_EXIT_STATUS_UNSET), -+ // unauthorize -+ if (!call_js_function_with_runaway_killer (authority)) -+ goto out; -+ -+ if (duk_is_null(cx, -1)) { -+ /* this is fine, means there was no match, use implicit authorizations */ -+ good = TRUE; -+ goto out; -+ } -+ ret_str = g_strdup (duk_require_string (cx, -1)); -+ if (!polkit_implicit_authorization_from_string (ret_str, &ret)) -+ { -+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -+ "Returned result `%s' is not valid", -+ ret_str); -+ goto out; -+ } -+ -+ good = TRUE; -+ -+ out: -+ if (!good) -+ ret = POLKIT_IMPLICIT_AUTHORIZATION_NOT_AUTHORIZED; -+ if (ret_str != NULL) -+ g_free (ret_str); -+ -+ return ret; -+} -+ -+/* ---------------------------------------------------------------------------------------------------- */ -+ -+static duk_ret_t -+js_polkit_log (duk_context *cx) -+{ -+ const char *str = duk_require_string (cx, 0); -+ fprintf (stderr, "%s\n", str); -+ return 0; -+} -+ -+/* ---------------------------------------------------------------------------------------------------- */ -+ -+static duk_ret_t -+js_polkit_spawn (duk_context *cx) -+{ -+ duk_ret_t ret = DUK_RET_ERROR; -+ gchar *standard_output = NULL; -+ gchar *standard_error = NULL; -+ gint exit_status; -+ GError *error = NULL; -+ guint32 array_len; -+ gchar **argv = NULL; -+ GMainContext *context = NULL; -+ GMainLoop *loop = NULL; -+ SpawnData data = {0}; -+ char *err_str = NULL; -+ guint n; -+ -+ if (!duk_is_array (cx, 0)) -+ goto out; -+ -+ array_len = duk_get_length (cx, 0); -+ -+ argv = g_new0 (gchar*, array_len + 1); -+ for (n = 0; n < array_len; n++) -+ { -+ duk_get_prop_index (cx, 0, n); -+ argv[n] = g_strdup (duk_to_string (cx, -1)); -+ duk_pop (cx); -+ } -+ -+ context = g_main_context_new (); -+ loop = g_main_loop_new (context, FALSE); -+ -+ g_main_context_push_thread_default (context); -+ -+ data.loop = loop; -+ polkit_backend_common_spawn ((const gchar *const *) argv, -+ 10, /* timeout_seconds */ -+ NULL, /* cancellable */ -+ polkit_backend_common_spawn_cb, -+ &data); -+ -+ g_main_loop_run (loop); -+ -+ g_main_context_pop_thread_default (context); -+ -+ if (!polkit_backend_common_spawn_finish (data.res, -+ &exit_status, -+ &standard_output, -+ &standard_error, -+ &error)) -+ { -+ err_str = g_strdup_printf ("Error spawning helper: %s (%s, %d)", -+ error->message, g_quark_to_string (error->domain), error->code); -+ g_clear_error (&error); -+ goto out; -+ } -+ -+ if (!(WIFEXITED (exit_status) && WEXITSTATUS (exit_status) == 0)) -+ { -+ GString *gstr; -+ gstr = g_string_new (NULL); -+ if (WIFEXITED (exit_status)) -+ { -+ g_string_append_printf (gstr, -+ "Helper exited with non-zero exit status %d", -+ WEXITSTATUS (exit_status)); -+ } -+ else if (WIFSIGNALED (exit_status)) -+ { -+ g_string_append_printf (gstr, -+ "Helper was signaled with signal %s (%d)", -+ polkit_backend_common_get_signal_name (WTERMSIG (exit_status)), -+ WTERMSIG (exit_status)); -+ } -+ g_string_append_printf (gstr, ", stdout=`%s', stderr=`%s'", -+ standard_output, standard_error); -+ err_str = g_string_free (gstr, FALSE); -+ goto out; -+ } -+ -+ duk_push_string (cx, standard_output); -+ ret = 1; -+ -+ out: -+ g_strfreev (argv); -+ g_free (standard_output); -+ g_free (standard_error); -+ g_clear_object (&data.res); -+ if (loop != NULL) -+ g_main_loop_unref (loop); -+ if (context != NULL) -+ g_main_context_unref (context); -+ -+ if (err_str) -+ duk_error (cx, DUK_ERR_ERROR, err_str); -+ -+ return ret; -+} -+ -+/* ---------------------------------------------------------------------------------------------------- */ -+ -+ -+static duk_ret_t -+js_polkit_user_is_in_netgroup (duk_context *cx) -+{ -+ const char *user; -+ const char *netgroup; -+ gboolean is_in_netgroup = FALSE; -+ -+ user = duk_require_string (cx, 0); -+ netgroup = duk_require_string (cx, 1); -+ -+ if (innetgr (netgroup, -+ NULL, /* host */ -+ user, -+ NULL)) /* domain */ -+ { -+ is_in_netgroup = TRUE; -+ } -+ -+ duk_push_boolean (cx, is_in_netgroup); -+ return 1; -+} -+ -+/* ---------------------------------------------------------------------------------------------------- */ -diff --git a/src/polkitbackend/polkitbackendjsauthority.cpp b/src/polkitbackend/polkitbackendjsauthority.cpp -index ca17108..11e91c0 100644 ---- a/src/polkitbackend/polkitbackendjsauthority.cpp -+++ b/src/polkitbackend/polkitbackendjsauthority.cpp -@@ -19,29 +19,7 @@ - * Author: David Zeuthen <davidz@redhat.com> - */ - --#include "config.h" --#include <sys/wait.h> --#include <errno.h> --#include <pwd.h> --#include <grp.h> --#ifdef HAVE_NETGROUP_H --#include <netgroup.h> --#else --#include <netdb.h> --#endif --#include <string.h> --#include <glib/gstdio.h> --#include <locale.h> --#include <glib/gi18n-lib.h> -- --#include <polkit/polkit.h> --#include "polkitbackendjsauthority.h" -- --#include <polkit/polkitprivate.h> -- --#ifdef HAVE_LIBSYSTEMD --#include <systemd/sd-login.h> --#endif /* HAVE_LIBSYSTEMD */ -+#include "polkitbackendcommon.h" - - #include <js/CompilationAndEvaluation.h> - #include <js/ContextOptions.h> -@@ -52,6 +30,7 @@ - #include <js/Array.h> - #include <jsapi.h> - -+/* Built source and not too big to worry about deduplication */ - #include "initjs.h" /* init.js */ - - #ifdef JSGC_USE_EXACT_ROOTING -@@ -67,10 +46,9 @@ - * @short_description: JS Authority - * @stability: Unstable - * -- * An implementation of #PolkitBackendAuthority that reads and -- * evalates Javascript files and supports interaction with -- * authentication agents (virtue of being based on -- * #PolkitBackendInteractiveAuthority). -+ * An (SpiderMonkey-based) implementation of #PolkitBackendAuthority that reads -+ * and evaluates Javascript files and supports interaction with authentication -+ * agents (virtue of being based on #PolkitBackendInteractiveAuthority). - */ - - /* ---------------------------------------------------------------------------------------------------- */ -@@ -100,57 +78,11 @@ static bool execute_script_with_runaway_killer (PolkitBackendJsAuthority *author - JS::HandleScript script, - JS::MutableHandleValue rval); - --static void utils_spawn (const gchar *const *argv, -- guint timeout_seconds, -- GCancellable *cancellable, -- GAsyncReadyCallback callback, -- gpointer user_data); -- --gboolean utils_spawn_finish (GAsyncResult *res, -- gint *out_exit_status, -- gchar **out_standard_output, -- gchar **out_standard_error, -- GError **error); -- --static void on_dir_monitor_changed (GFileMonitor *monitor, -- GFile *file, -- GFile *other_file, -- GFileMonitorEvent event_type, -- gpointer user_data); -- --/* ---------------------------------------------------------------------------------------------------- */ -- --enum --{ -- PROP_0, -- PROP_RULES_DIRS, --}; -- - /* ---------------------------------------------------------------------------------------------------- */ - - static gpointer runaway_killer_thread_func (gpointer user_data); - static void runaway_killer_terminate (PolkitBackendJsAuthority *authority); - --static GList *polkit_backend_js_authority_get_admin_auth_identities (PolkitBackendInteractiveAuthority *authority, -- PolkitSubject *caller, -- PolkitSubject *subject, -- PolkitIdentity *user_for_subject, -- gboolean subject_is_local, -- gboolean subject_is_active, -- const gchar *action_id, -- PolkitDetails *details); -- --static PolkitImplicitAuthorization polkit_backend_js_authority_check_authorization_sync ( -- PolkitBackendInteractiveAuthority *authority, -- PolkitSubject *caller, -- PolkitSubject *subject, -- PolkitIdentity *user_for_subject, -- gboolean subject_is_local, -- gboolean subject_is_active, -- const gchar *action_id, -- PolkitDetails *details, -- PolkitImplicitAuthorization implicit); -- - G_DEFINE_TYPE (PolkitBackendJsAuthority, polkit_backend_js_authority, POLKIT_BACKEND_TYPE_INTERACTIVE_AUTHORITY); - - /* ---------------------------------------------------------------------------------------------------- */ -@@ -229,33 +161,6 @@ polkit_backend_js_authority_init (PolkitBackendJsAuthority *authority) - PolkitBackendJsAuthorityPrivate); - } - --static gint --rules_file_name_cmp (const gchar *a, -- const gchar *b) --{ -- gint ret; -- const gchar *a_base; -- const gchar *b_base; -- -- a_base = strrchr (a, '/'); -- b_base = strrchr (b, '/'); -- -- g_assert (a_base != NULL); -- g_assert (b_base != NULL); -- a_base += 1; -- b_base += 1; -- -- ret = g_strcmp0 (a_base, b_base); -- if (ret == 0) -- { -- /* /etc wins over /usr */ -- ret = g_strcmp0 (a, b); -- g_assert (ret != 0); -- } -- -- return ret; --} -- - /* authority->priv->cx must be within a request */ - static void - load_scripts (PolkitBackendJsAuthority *authority) -@@ -299,7 +204,7 @@ load_scripts (PolkitBackendJsAuthority *authority) - } - } - -- files = g_list_sort (files, (GCompareFunc) rules_file_name_cmp); -+ files = g_list_sort (files, (GCompareFunc) polkit_backend_common_rules_file_name_cmp); - - for (l = files; l != NULL; l = l->next) - { -@@ -365,8 +270,8 @@ load_scripts (PolkitBackendJsAuthority *authority) - g_list_free_full (files, g_free); - } - --static void --reload_scripts (PolkitBackendJsAuthority *authority) -+void -+polkit_backend_common_reload_scripts (PolkitBackendJsAuthority *authority) - { - JS::RootedValueArray<1> args(authority->priv->cx); - JS::RootedValue rval(authority->priv->cx); -@@ -395,42 +300,6 @@ reload_scripts (PolkitBackendJsAuthority *authority) - g_signal_emit_by_name (authority, "changed"); - } - --static void --on_dir_monitor_changed (GFileMonitor *monitor, -- GFile *file, -- GFile *other_file, -- GFileMonitorEvent event_type, -- gpointer user_data) --{ -- PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (user_data); -- -- /* TODO: maybe rate-limit so storms of events are collapsed into one with a 500ms resolution? -- * Because when editing a file with emacs we get 4-8 events.. -- */ -- -- if (file != NULL) -- { -- gchar *name; -- -- name = g_file_get_basename (file); -- -- /* g_print ("event_type=%d file=%p name=%s\n", event_type, file, name); */ -- if (!g_str_has_prefix (name, ".") && -- !g_str_has_prefix (name, "#") && -- g_str_has_suffix (name, ".rules") && -- (event_type == G_FILE_MONITOR_EVENT_CREATED || -- event_type == G_FILE_MONITOR_EVENT_DELETED || -- event_type == G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT)) -- { -- polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority), -- "Reloading rules"); -- reload_scripts (authority); -- } -- g_free (name); -- } --} -- -- - static void - setup_file_monitors (PolkitBackendJsAuthority *authority) - { -@@ -462,7 +331,7 @@ setup_file_monitors (PolkitBackendJsAuthority *authority) - { - g_signal_connect (monitor, - "changed", -- G_CALLBACK (on_dir_monitor_changed), -+ G_CALLBACK (polkit_backend_common_on_dir_monitor_changed), - authority); - g_ptr_array_add (p, monitor); - } -@@ -471,8 +340,8 @@ setup_file_monitors (PolkitBackendJsAuthority *authority) - authority->priv->dir_monitors = (GFileMonitor**) g_ptr_array_free (p, FALSE); - } - --static void --polkit_backend_js_authority_constructed (GObject *object) -+void -+polkit_backend_common_js_authority_constructed (GObject *object) - { - PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (object); - -@@ -561,8 +430,8 @@ polkit_backend_js_authority_constructed (GObject *object) - g_assert_not_reached (); - } - --static void --polkit_backend_js_authority_finalize (GObject *object) -+void -+polkit_backend_common_js_authority_finalize (GObject *object) - { - PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (object); - guint n; -@@ -577,7 +446,7 @@ polkit_backend_js_authority_finalize (GObject *object) - { - GFileMonitor *monitor = authority->priv->dir_monitors[n]; - g_signal_handlers_disconnect_by_func (monitor, -- (gpointer*)G_CALLBACK (on_dir_monitor_changed), -+ (gpointer*)G_CALLBACK (polkit_backend_common_on_dir_monitor_changed), - authority); - g_object_unref (monitor); - } -@@ -594,11 +463,11 @@ polkit_backend_js_authority_finalize (GObject *object) - G_OBJECT_CLASS (polkit_backend_js_authority_parent_class)->finalize (object); - } - --static void --polkit_backend_js_authority_set_property (GObject *object, -- guint property_id, -- const GValue *value, -- GParamSpec *pspec) -+void -+polkit_backend_common_js_authority_set_property (GObject *object, -+ guint property_id, -+ const GValue *value, -+ GParamSpec *pspec) - { - PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (object); - -@@ -615,57 +484,12 @@ polkit_backend_js_authority_set_property (GObject *object, - } - } - --static const gchar * --polkit_backend_js_authority_get_name (PolkitBackendAuthority *authority) --{ -- return "js"; --} -- --static const gchar * --polkit_backend_js_authority_get_version (PolkitBackendAuthority *authority) --{ -- return PACKAGE_VERSION; --} -- --static PolkitAuthorityFeatures --polkit_backend_js_authority_get_features (PolkitBackendAuthority *authority) --{ -- return POLKIT_AUTHORITY_FEATURES_TEMPORARY_AUTHORIZATION; --} -- - static void - polkit_backend_js_authority_class_init (PolkitBackendJsAuthorityClass *klass) - { -- GObjectClass *gobject_class; -- PolkitBackendAuthorityClass *authority_class; -- PolkitBackendInteractiveAuthorityClass *interactive_authority_class; -- -- -- gobject_class = G_OBJECT_CLASS (klass); -- gobject_class->finalize = polkit_backend_js_authority_finalize; -- gobject_class->set_property = polkit_backend_js_authority_set_property; -- gobject_class->constructed = polkit_backend_js_authority_constructed; -- -- authority_class = POLKIT_BACKEND_AUTHORITY_CLASS (klass); -- authority_class->get_name = polkit_backend_js_authority_get_name; -- authority_class->get_version = polkit_backend_js_authority_get_version; -- authority_class->get_features = polkit_backend_js_authority_get_features; -- -- interactive_authority_class = POLKIT_BACKEND_INTERACTIVE_AUTHORITY_CLASS (klass); -- interactive_authority_class->get_admin_identities = polkit_backend_js_authority_get_admin_auth_identities; -- interactive_authority_class->check_authorization_sync = polkit_backend_js_authority_check_authorization_sync; -- -- g_object_class_install_property (gobject_class, -- PROP_RULES_DIRS, -- g_param_spec_boxed ("rules-dirs", -- NULL, -- NULL, -- G_TYPE_STRV, -- GParamFlags(G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE))); -- -+ polkit_backend_common_js_authority_class_init_common (klass); - - g_type_class_add_private (klass, sizeof (PolkitBackendJsAuthorityPrivate)); -- - JS_Init (); - } - -@@ -1005,11 +829,14 @@ runaway_killer_setup (PolkitBackendJsAuthority *authority) - { - g_assert (authority->priv->rkt_source == NULL); - -- /* set-up timer for runaway scripts, will be executed in runaway_killer_thread */ -+ /* set-up timer for runaway scripts, will be executed in -+ runaway_killer_thread, that is one, permanent thread running a glib -+ mainloop (rkt_loop) whose context (rkt_context) has a timeout source -+ (rkt_source) */ - g_mutex_lock (&authority->priv->rkt_timeout_pending_mutex); - authority->priv->rkt_timeout_pending = FALSE; - g_mutex_unlock (&authority->priv->rkt_timeout_pending_mutex); -- authority->priv->rkt_source = g_timeout_source_new_seconds (15); -+ authority->priv->rkt_source = g_timeout_source_new_seconds (RUNAWAY_KILLER_TIMEOUT); - g_source_set_callback (authority->priv->rkt_source, rkt_on_timeout, authority, NULL); - g_source_attach (authority->priv->rkt_source, authority->priv->rkt_context); - -@@ -1069,6 +896,9 @@ execute_script_with_runaway_killer (PolkitBackendJsAuthority *authority, - { - bool ret; - -+ // tries to JS_ExecuteScript(), may hang for > RUNAWAY_KILLER_TIMEOUT, -+ // runaway_killer_thread makes sure the call returns, due to exception -+ // injection - runaway_killer_setup (authority); - ret = JS_ExecuteScript (authority->priv->cx, - script, -@@ -1099,15 +929,15 @@ call_js_function_with_runaway_killer (PolkitBackendJsAuthority *authority, - - /* ---------------------------------------------------------------------------------------------------- */ - --static GList * --polkit_backend_js_authority_get_admin_auth_identities (PolkitBackendInteractiveAuthority *_authority, -- PolkitSubject *caller, -- PolkitSubject *subject, -- PolkitIdentity *user_for_subject, -- gboolean subject_is_local, -- gboolean subject_is_active, -- const gchar *action_id, -- PolkitDetails *details) -+GList * -+polkit_backend_common_js_authority_get_admin_auth_identities (PolkitBackendInteractiveAuthority *_authority, -+ PolkitSubject *caller, -+ PolkitSubject *subject, -+ PolkitIdentity *user_for_subject, -+ gboolean subject_is_local, -+ gboolean subject_is_active, -+ const gchar *action_id, -+ PolkitDetails *details) - { - PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (_authority); - GList *ret = NULL; -@@ -1202,16 +1032,16 @@ polkit_backend_js_authority_get_admin_auth_identities (PolkitBackendInteractiveA - - /* ---------------------------------------------------------------------------------------------------- */ - --static PolkitImplicitAuthorization --polkit_backend_js_authority_check_authorization_sync (PolkitBackendInteractiveAuthority *_authority, -- PolkitSubject *caller, -- PolkitSubject *subject, -- PolkitIdentity *user_for_subject, -- gboolean subject_is_local, -- gboolean subject_is_active, -- const gchar *action_id, -- PolkitDetails *details, -- PolkitImplicitAuthorization implicit) -+PolkitImplicitAuthorization -+polkit_backend_common_js_authority_check_authorization_sync (PolkitBackendInteractiveAuthority *_authority, -+ PolkitSubject *caller, -+ PolkitSubject *subject, -+ PolkitIdentity *user_for_subject, -+ gboolean subject_is_local, -+ gboolean subject_is_active, -+ const gchar *action_id, -+ PolkitDetails *details, -+ PolkitImplicitAuthorization implicit) - { - PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (_authority); - PolkitImplicitAuthorization ret = implicit; -@@ -1324,65 +1154,6 @@ js_polkit_log (JSContext *cx, - - /* ---------------------------------------------------------------------------------------------------- */ - --static const gchar * --get_signal_name (gint signal_number) --{ -- switch (signal_number) -- { --#define _HANDLE_SIG(sig) case sig: return #sig; -- _HANDLE_SIG (SIGHUP); -- _HANDLE_SIG (SIGINT); -- _HANDLE_SIG (SIGQUIT); -- _HANDLE_SIG (SIGILL); -- _HANDLE_SIG (SIGABRT); -- _HANDLE_SIG (SIGFPE); -- _HANDLE_SIG (SIGKILL); -- _HANDLE_SIG (SIGSEGV); -- _HANDLE_SIG (SIGPIPE); -- _HANDLE_SIG (SIGALRM); -- _HANDLE_SIG (SIGTERM); -- _HANDLE_SIG (SIGUSR1); -- _HANDLE_SIG (SIGUSR2); -- _HANDLE_SIG (SIGCHLD); -- _HANDLE_SIG (SIGCONT); -- _HANDLE_SIG (SIGSTOP); -- _HANDLE_SIG (SIGTSTP); -- _HANDLE_SIG (SIGTTIN); -- _HANDLE_SIG (SIGTTOU); -- _HANDLE_SIG (SIGBUS); --#ifdef SIGPOLL -- _HANDLE_SIG (SIGPOLL); --#endif -- _HANDLE_SIG (SIGPROF); -- _HANDLE_SIG (SIGSYS); -- _HANDLE_SIG (SIGTRAP); -- _HANDLE_SIG (SIGURG); -- _HANDLE_SIG (SIGVTALRM); -- _HANDLE_SIG (SIGXCPU); -- _HANDLE_SIG (SIGXFSZ); --#undef _HANDLE_SIG -- default: -- break; -- } -- return "UNKNOWN_SIGNAL"; --} -- --typedef struct --{ -- GMainLoop *loop; -- GAsyncResult *res; --} SpawnData; -- --static void --spawn_cb (GObject *source_object, -- GAsyncResult *res, -- gpointer user_data) --{ -- SpawnData *data = (SpawnData *)user_data; -- data->res = (GAsyncResult*)g_object_ref (res); -- g_main_loop_quit (data->loop); --} -- - static bool - js_polkit_spawn (JSContext *cx, - unsigned js_argc, -@@ -1440,21 +1211,21 @@ js_polkit_spawn (JSContext *cx, - g_main_context_push_thread_default (context); - - data.loop = loop; -- utils_spawn ((const gchar *const *) argv, -- 10, /* timeout_seconds */ -- NULL, /* cancellable */ -- spawn_cb, -- &data); -+ polkit_backend_common_spawn ((const gchar *const *) argv, -+ 10, /* timeout_seconds */ -+ NULL, /* cancellable */ -+ polkit_backend_common_spawn_cb, -+ &data); - - g_main_loop_run (loop); - - g_main_context_pop_thread_default (context); - -- if (!utils_spawn_finish (data.res, -- &exit_status, -- &standard_output, -- &standard_error, -- &error)) -+ if (!polkit_backend_common_spawn_finish (data.res, -+ &exit_status, -+ &standard_output, -+ &standard_error, -+ &error)) - { - JS_ReportErrorUTF8 (cx, - "Error spawning helper: %s (%s, %d)", -@@ -1477,7 +1248,7 @@ js_polkit_spawn (JSContext *cx, - { - g_string_append_printf (gstr, - "Helper was signaled with signal %s (%d)", -- get_signal_name (WTERMSIG (exit_status)), -+ polkit_backend_common_get_signal_name (WTERMSIG (exit_status)), - WTERMSIG (exit_status)); - } - g_string_append_printf (gstr, ", stdout=`%s', stderr=`%s'", -@@ -1542,381 +1313,5 @@ js_polkit_user_is_in_netgroup (JSContext *cx, - return ret; - } - -- -- - /* ---------------------------------------------------------------------------------------------------- */ - --typedef struct --{ -- GSimpleAsyncResult *simple; /* borrowed reference */ -- GMainContext *main_context; /* may be NULL */ -- -- GCancellable *cancellable; /* may be NULL */ -- gulong cancellable_handler_id; -- -- GPid child_pid; -- gint child_stdout_fd; -- gint child_stderr_fd; -- -- GIOChannel *child_stdout_channel; -- GIOChannel *child_stderr_channel; -- -- GSource *child_watch_source; -- GSource *child_stdout_source; -- GSource *child_stderr_source; -- -- guint timeout_seconds; -- gboolean timed_out; -- GSource *timeout_source; -- -- GString *child_stdout; -- GString *child_stderr; -- -- gint exit_status; --} UtilsSpawnData; -- --static void --utils_child_watch_from_release_cb (GPid pid, -- gint status, -- gpointer user_data) --{ --} -- --static void --utils_spawn_data_free (UtilsSpawnData *data) --{ -- if (data->timeout_source != NULL) -- { -- g_source_destroy (data->timeout_source); -- data->timeout_source = NULL; -- } -- -- /* Nuke the child, if necessary */ -- if (data->child_watch_source != NULL) -- { -- g_source_destroy (data->child_watch_source); -- data->child_watch_source = NULL; -- } -- -- if (data->child_pid != 0) -- { -- GSource *source; -- kill (data->child_pid, SIGTERM); -- /* OK, we need to reap for the child ourselves - we don't want -- * to use waitpid() because that might block the calling -- * thread (the child might handle SIGTERM and use several -- * seconds for cleanup/rollback). -- * -- * So we use GChildWatch instead. -- * -- * Avoid taking a references to ourselves. but note that we need -- * to pass the GSource so we can nuke it once handled. -- */ -- source = g_child_watch_source_new (data->child_pid); -- g_source_set_callback (source, -- (GSourceFunc) utils_child_watch_from_release_cb, -- source, -- (GDestroyNotify) g_source_destroy); -- /* attach source to the global default main context */ -- g_source_attach (source, NULL); -- g_source_unref (source); -- data->child_pid = 0; -- } -- -- if (data->child_stdout != NULL) -- { -- g_string_free (data->child_stdout, TRUE); -- data->child_stdout = NULL; -- } -- -- if (data->child_stderr != NULL) -- { -- g_string_free (data->child_stderr, TRUE); -- data->child_stderr = NULL; -- } -- -- if (data->child_stdout_channel != NULL) -- { -- g_io_channel_unref (data->child_stdout_channel); -- data->child_stdout_channel = NULL; -- } -- if (data->child_stderr_channel != NULL) -- { -- g_io_channel_unref (data->child_stderr_channel); -- data->child_stderr_channel = NULL; -- } -- -- if (data->child_stdout_source != NULL) -- { -- g_source_destroy (data->child_stdout_source); -- data->child_stdout_source = NULL; -- } -- if (data->child_stderr_source != NULL) -- { -- g_source_destroy (data->child_stderr_source); -- data->child_stderr_source = NULL; -- } -- -- if (data->child_stdout_fd != -1) -- { -- g_warn_if_fail (close (data->child_stdout_fd) == 0); -- data->child_stdout_fd = -1; -- } -- if (data->child_stderr_fd != -1) -- { -- g_warn_if_fail (close (data->child_stderr_fd) == 0); -- data->child_stderr_fd = -1; -- } -- -- if (data->cancellable_handler_id > 0) -- { -- g_cancellable_disconnect (data->cancellable, data->cancellable_handler_id); -- data->cancellable_handler_id = 0; -- } -- -- if (data->main_context != NULL) -- g_main_context_unref (data->main_context); -- -- if (data->cancellable != NULL) -- g_object_unref (data->cancellable); -- -- g_slice_free (UtilsSpawnData, data); --} -- --/* called in the thread where @cancellable was cancelled */ --static void --utils_on_cancelled (GCancellable *cancellable, -- gpointer user_data) --{ -- UtilsSpawnData *data = (UtilsSpawnData *)user_data; -- GError *error; -- -- error = NULL; -- g_warn_if_fail (g_cancellable_set_error_if_cancelled (cancellable, &error)); -- g_simple_async_result_take_error (data->simple, error); -- g_simple_async_result_complete_in_idle (data->simple); -- g_object_unref (data->simple); --} -- --static gboolean --utils_read_child_stderr (GIOChannel *channel, -- GIOCondition condition, -- gpointer user_data) --{ -- UtilsSpawnData *data = (UtilsSpawnData *)user_data; -- gchar buf[1024]; -- gsize bytes_read; -- -- g_io_channel_read_chars (channel, buf, sizeof buf, &bytes_read, NULL); -- g_string_append_len (data->child_stderr, buf, bytes_read); -- return TRUE; --} -- --static gboolean --utils_read_child_stdout (GIOChannel *channel, -- GIOCondition condition, -- gpointer user_data) --{ -- UtilsSpawnData *data = (UtilsSpawnData *)user_data; -- gchar buf[1024]; -- gsize bytes_read; -- -- g_io_channel_read_chars (channel, buf, sizeof buf, &bytes_read, NULL); -- g_string_append_len (data->child_stdout, buf, bytes_read); -- return TRUE; --} -- --static void --utils_child_watch_cb (GPid pid, -- gint status, -- gpointer user_data) --{ -- UtilsSpawnData *data = (UtilsSpawnData *)user_data; -- gchar *buf; -- gsize buf_size; -- -- if (g_io_channel_read_to_end (data->child_stdout_channel, &buf, &buf_size, NULL) == G_IO_STATUS_NORMAL) -- { -- g_string_append_len (data->child_stdout, buf, buf_size); -- g_free (buf); -- } -- if (g_io_channel_read_to_end (data->child_stderr_channel, &buf, &buf_size, NULL) == G_IO_STATUS_NORMAL) -- { -- g_string_append_len (data->child_stderr, buf, buf_size); -- g_free (buf); -- } -- -- data->exit_status = status; -- -- /* ok, child watch is history, make sure we don't free it in spawn_data_free() */ -- data->child_pid = 0; -- data->child_watch_source = NULL; -- -- /* we're done */ -- g_simple_async_result_complete_in_idle (data->simple); -- g_object_unref (data->simple); --} -- --static gboolean --utils_timeout_cb (gpointer user_data) --{ -- UtilsSpawnData *data = (UtilsSpawnData *)user_data; -- -- data->timed_out = TRUE; -- -- /* ok, timeout is history, make sure we don't free it in spawn_data_free() */ -- data->timeout_source = NULL; -- -- /* we're done */ -- g_simple_async_result_complete_in_idle (data->simple); -- g_object_unref (data->simple); -- -- return FALSE; /* remove source */ --} -- --static void --utils_spawn (const gchar *const *argv, -- guint timeout_seconds, -- GCancellable *cancellable, -- GAsyncReadyCallback callback, -- gpointer user_data) --{ -- UtilsSpawnData *data; -- GError *error; -- -- data = g_slice_new0 (UtilsSpawnData); -- data->timeout_seconds = timeout_seconds; -- data->simple = g_simple_async_result_new (NULL, -- callback, -- user_data, -- (gpointer*)utils_spawn); -- data->main_context = g_main_context_get_thread_default (); -- if (data->main_context != NULL) -- g_main_context_ref (data->main_context); -- -- data->cancellable = cancellable != NULL ? (GCancellable*)g_object_ref (cancellable) : NULL; -- -- data->child_stdout = g_string_new (NULL); -- data->child_stderr = g_string_new (NULL); -- data->child_stdout_fd = -1; -- data->child_stderr_fd = -1; -- -- /* the life-cycle of UtilsSpawnData is tied to its GSimpleAsyncResult */ -- g_simple_async_result_set_op_res_gpointer (data->simple, data, (GDestroyNotify) utils_spawn_data_free); -- -- error = NULL; -- if (data->cancellable != NULL) -- { -- /* could already be cancelled */ -- error = NULL; -- if (g_cancellable_set_error_if_cancelled (data->cancellable, &error)) -- { -- g_simple_async_result_take_error (data->simple, error); -- g_simple_async_result_complete_in_idle (data->simple); -- g_object_unref (data->simple); -- goto out; -- } -- -- data->cancellable_handler_id = g_cancellable_connect (data->cancellable, -- G_CALLBACK (utils_on_cancelled), -- data, -- NULL); -- } -- -- error = NULL; -- if (!g_spawn_async_with_pipes (NULL, /* working directory */ -- (gchar **) argv, -- NULL, /* envp */ -- GSpawnFlags(G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD), -- NULL, /* child_setup */ -- NULL, /* child_setup's user_data */ -- &(data->child_pid), -- NULL, /* gint *stdin_fd */ -- &(data->child_stdout_fd), -- &(data->child_stderr_fd), -- &error)) -- { -- g_prefix_error (&error, "Error spawning: "); -- g_simple_async_result_take_error (data->simple, error); -- g_simple_async_result_complete_in_idle (data->simple); -- g_object_unref (data->simple); -- goto out; -- } -- -- if (timeout_seconds > 0) -- { -- data->timeout_source = g_timeout_source_new_seconds (timeout_seconds); -- g_source_set_priority (data->timeout_source, G_PRIORITY_DEFAULT); -- g_source_set_callback (data->timeout_source, utils_timeout_cb, data, NULL); -- g_source_attach (data->timeout_source, data->main_context); -- g_source_unref (data->timeout_source); -- } -- -- data->child_watch_source = g_child_watch_source_new (data->child_pid); -- g_source_set_callback (data->child_watch_source, (GSourceFunc) utils_child_watch_cb, data, NULL); -- g_source_attach (data->child_watch_source, data->main_context); -- g_source_unref (data->child_watch_source); -- -- data->child_stdout_channel = g_io_channel_unix_new (data->child_stdout_fd); -- g_io_channel_set_flags (data->child_stdout_channel, G_IO_FLAG_NONBLOCK, NULL); -- data->child_stdout_source = g_io_create_watch (data->child_stdout_channel, G_IO_IN); -- g_source_set_callback (data->child_stdout_source, (GSourceFunc) utils_read_child_stdout, data, NULL); -- g_source_attach (data->child_stdout_source, data->main_context); -- g_source_unref (data->child_stdout_source); -- -- data->child_stderr_channel = g_io_channel_unix_new (data->child_stderr_fd); -- g_io_channel_set_flags (data->child_stderr_channel, G_IO_FLAG_NONBLOCK, NULL); -- data->child_stderr_source = g_io_create_watch (data->child_stderr_channel, G_IO_IN); -- g_source_set_callback (data->child_stderr_source, (GSourceFunc) utils_read_child_stderr, data, NULL); -- g_source_attach (data->child_stderr_source, data->main_context); -- g_source_unref (data->child_stderr_source); -- -- out: -- ; --} -- --gboolean --utils_spawn_finish (GAsyncResult *res, -- gint *out_exit_status, -- gchar **out_standard_output, -- gchar **out_standard_error, -- GError **error) --{ -- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res); -- UtilsSpawnData *data; -- gboolean ret = FALSE; -- -- g_return_val_if_fail (G_IS_ASYNC_RESULT (res), FALSE); -- g_return_val_if_fail (error == NULL || *error == NULL, FALSE); -- -- g_warn_if_fail (g_simple_async_result_get_source_tag (simple) == utils_spawn); -- -- if (g_simple_async_result_propagate_error (simple, error)) -- goto out; -- -- data = (UtilsSpawnData*)g_simple_async_result_get_op_res_gpointer (simple); -- -- if (data->timed_out) -- { -- g_set_error (error, -- G_IO_ERROR, -- G_IO_ERROR_TIMED_OUT, -- "Timed out after %d seconds", -- data->timeout_seconds); -- goto out; -- } -- -- if (out_exit_status != NULL) -- *out_exit_status = data->exit_status; -- -- if (out_standard_output != NULL) -- *out_standard_output = g_strdup (data->child_stdout->str); -- -- if (out_standard_error != NULL) -- *out_standard_error = g_strdup (data->child_stderr->str); -- -- ret = TRUE; -- -- out: -- return ret; --} -diff --git a/test/data/etc/polkit-1/rules.d/10-testing.rules b/test/data/etc/polkit-1/rules.d/10-testing.rules -index 98bf062..e346b5d 100644 ---- a/test/data/etc/polkit-1/rules.d/10-testing.rules -+++ b/test/data/etc/polkit-1/rules.d/10-testing.rules -@@ -189,8 +189,10 @@ polkit.addRule(function(action, subject) { - ; - } catch (error) { - if (error == "Terminating runaway script") -- return polkit.Result.YES; -- return polkit.Result.NO; -+ // Inverted logic to accomodate Duktape's model as well, which -+ // will always fail with negation, on timeouts -+ return polkit.Result.NO; -+ return polkit.Result.YES; - } - } - }); -diff --git a/test/polkitbackend/test-polkitbackendjsauthority.c b/test/polkitbackend/test-polkitbackendjsauthority.c -index f97e0e0..2103b17 100644 ---- a/test/polkitbackend/test-polkitbackendjsauthority.c -+++ b/test/polkitbackend/test-polkitbackendjsauthority.c -@@ -328,7 +328,7 @@ static const RulesTestCase rules_test_cases[] = { - "net.company.run_away_script", - "unix-user:root", - NULL, -- POLKIT_IMPLICIT_AUTHORIZATION_AUTHORIZED, -+ POLKIT_IMPLICIT_AUTHORIZATION_NOT_AUTHORIZED, - }, - - { diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-jsauthority-ensure-to-call-JS_Init-and-JS_ShutDown-e.patch b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-jsauthority-ensure-to-call-JS_Init-and-JS_ShutDown-e.patch deleted file mode 100644 index 9e9755e44f..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-jsauthority-ensure-to-call-JS_Init-and-JS_ShutDown-e.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 7799441b9aa55324160deefbc65f9d918b8c94c1 Mon Sep 17 00:00:00 2001 -From: Xi Ruoyao <xry111@mengyan1223.wang> -Date: Tue, 10 Aug 2021 18:52:56 +0800 -Subject: [PATCH] jsauthority: ensure to call JS_Init() and JS_ShutDown() - exactly once - -Before this commit, we were calling JS_Init() in -polkit_backend_js_authority_class_init and never called JS_ShutDown. -This is actually a misusage of SpiderMonkey API. Quote from a comment -in js/Initialization.h (both mozjs-78 and mozjs-91): - - It is currently not possible to initialize SpiderMonkey multiple - times (that is, calling JS_Init/JSAPI methods/JS_ShutDown in that - order, then doing so again). - -This misusage does not cause severe issues with mozjs-78. However, when -we eventually port jsauthority to use mozjs-91, bad thing will happen: -see the test failure mentioned in #150. - -This commit is tested with both mozjs-78 and mozjs-91, all tests pass -with it. - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/polkit/polkit/-/merge_requests/91] -Signed-off-by: Alexander Kanavin <alex@linutronix.de> ---- - src/polkitbackend/polkitbackendjsauthority.cpp | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git a/src/polkitbackend/polkitbackendjsauthority.cpp b/src/polkitbackend/polkitbackendjsauthority.cpp -index 41d8d5c..38dc001 100644 ---- a/src/polkitbackend/polkitbackendjsauthority.cpp -+++ b/src/polkitbackend/polkitbackendjsauthority.cpp -@@ -75,6 +75,13 @@ - - /* ---------------------------------------------------------------------------------------------------- */ - -+static class JsInitHelperType -+{ -+public: -+ JsInitHelperType() { JS_Init(); } -+ ~JsInitHelperType() { JS_ShutDown(); } -+} JsInitHelper; -+ - struct _PolkitBackendJsAuthorityPrivate - { - gchar **rules_dirs; -@@ -589,7 +596,6 @@ polkit_backend_js_authority_finalize (GObject *object) - delete authority->priv->js_polkit; - - JS_DestroyContext (authority->priv->cx); -- /* JS_ShutDown (); */ - - G_OBJECT_CLASS (polkit_backend_js_authority_parent_class)->finalize (object); - } -@@ -665,8 +671,6 @@ polkit_backend_js_authority_class_init (PolkitBackendJsAuthorityClass *klass) - - - g_type_class_add_private (klass, sizeof (PolkitBackendJsAuthorityPrivate)); -- -- JS_Init (); - } - - /* ---------------------------------------------------------------------------------------------------- */ diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0004-Make-netgroup-support-optional.patch b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0004-Make-netgroup-support-optional.patch deleted file mode 100644 index 181aca16ca..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0004-Make-netgroup-support-optional.patch +++ /dev/null @@ -1,253 +0,0 @@ -From a334fac72112c01cd322f7c97ef7ca21457ab52f Mon Sep 17 00:00:00 2001 -From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> -Date: Sun, 15 May 2022 05:04:10 +0000 -Subject: [PATCH] Make netgroup support optional - -On at least Linux/musl and Linux/uclibc, netgroup support is not -available. PolKit fails to compile on these systems for that reason. - -This change makes netgroup support conditional on the presence of the -setnetgrent(3) function which is required for the support to work. If -that function is not available on the system, an error will be returned -to the administrator if unix-netgroup: is specified in configuration. - -(sam: rebased for Meson and Duktape.) - -Closes: https://gitlab.freedesktop.org/polkit/polkit/-/issues/14 -Closes: https://gitlab.freedesktop.org/polkit/polkit/-/issues/163 -Closes: https://gitlab.freedesktop.org/polkit/polkit/-/merge_requests/52 -Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com> - -Ported back the change in configure.ac (upstream removed autotools -support). - -Upstream-Status: Backport [https://gitlab.freedesktop.org/polkit/polkit/-/commit/b57deee8178190a7ecc75290fa13cf7daabc2c66] -Signed-off-by: Marta Rybczynska <marta.rybczynska@huawei.com> - ---- - configure.ac | 2 +- - meson.build | 1 + - src/polkit/polkitidentity.c | 17 +++++++++++++++++ - src/polkit/polkitunixnetgroup.c | 3 +++ - .../polkitbackendinteractiveauthority.c | 14 ++++++++------ - src/polkitbackend/polkitbackendjsauthority.cpp | 2 ++ - test/polkit/polkitidentitytest.c | 8 +++++++- - test/polkit/polkitunixnetgrouptest.c | 2 ++ - .../test-polkitbackendjsauthority.c | 2 ++ - 9 files changed, 43 insertions(+), 8 deletions(-) - -diff --git a/configure.ac b/configure.ac -index ca4b9f2..4c5d596 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -100,7 +100,7 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXPAT_LIBS="-lexpat"], - [AC_MSG_ERROR([Can't find expat library. Please install expat.])]) - AC_SUBST(EXPAT_LIBS) - --AC_CHECK_FUNCS(clearenv fdatasync) -+AC_CHECK_FUNCS(clearenv fdatasync setnetgrent) - - if test "x$GCC" = "xyes"; then - LDFLAGS="-Wl,--as-needed $LDFLAGS" -diff --git a/meson.build b/meson.build -index 733bbff..d840926 100644 ---- a/meson.build -+++ b/meson.build -@@ -82,6 +82,7 @@ config_h.set('_GNU_SOURCE', true) - check_functions = [ - 'clearenv', - 'fdatasync', -+ 'setnetgrent', - ] - - foreach func: check_functions -diff --git a/src/polkit/polkitidentity.c b/src/polkit/polkitidentity.c -index 3aa1f7f..793f17d 100644 ---- a/src/polkit/polkitidentity.c -+++ b/src/polkit/polkitidentity.c -@@ -182,7 +182,15 @@ polkit_identity_from_string (const gchar *str, - } - else if (g_str_has_prefix (str, "unix-netgroup:")) - { -+#ifndef HAVE_SETNETGRENT -+ g_set_error (error, -+ POLKIT_ERROR, -+ POLKIT_ERROR_FAILED, -+ "Netgroups are not available on this machine ('%s')", -+ str); -+#else - identity = polkit_unix_netgroup_new (str + sizeof "unix-netgroup:" - 1); -+#endif - } - - if (identity == NULL && (error != NULL && *error == NULL)) -@@ -344,6 +352,14 @@ polkit_identity_new_for_gvariant (GVariant *variant, - GVariant *v; - const char *name; - -+#ifndef HAVE_SETNETGRENT -+ g_set_error (error, -+ POLKIT_ERROR, -+ POLKIT_ERROR_FAILED, -+ "Netgroups are not available on this machine"); -+ goto out; -+#else -+ - v = lookup_asv (details_gvariant, "name", G_VARIANT_TYPE_STRING, error); - if (v == NULL) - { -@@ -353,6 +369,7 @@ polkit_identity_new_for_gvariant (GVariant *variant, - name = g_variant_get_string (v, NULL); - ret = polkit_unix_netgroup_new (name); - g_variant_unref (v); -+#endif - } - else - { -diff --git a/src/polkit/polkitunixnetgroup.c b/src/polkit/polkitunixnetgroup.c -index 8a2b369..83f8d4a 100644 ---- a/src/polkit/polkitunixnetgroup.c -+++ b/src/polkit/polkitunixnetgroup.c -@@ -194,6 +194,9 @@ polkit_unix_netgroup_set_name (PolkitUnixNetgroup *group, - PolkitIdentity * - polkit_unix_netgroup_new (const gchar *name) - { -+#ifndef HAVE_SETNETGRENT -+ g_assert_not_reached(); -+#endif - g_return_val_if_fail (name != NULL, NULL); - return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_NETGROUP, - "name", name, -diff --git a/src/polkitbackend/polkitbackendinteractiveauthority.c b/src/polkitbackend/polkitbackendinteractiveauthority.c -index 056d9a8..36c2f3d 100644 ---- a/src/polkitbackend/polkitbackendinteractiveauthority.c -+++ b/src/polkitbackend/polkitbackendinteractiveauthority.c -@@ -2233,25 +2233,26 @@ get_users_in_net_group (PolkitIdentity *group, - GList *ret; - - ret = NULL; -+#ifdef HAVE_SETNETGRENT - name = polkit_unix_netgroup_get_name (POLKIT_UNIX_NETGROUP (group)); - --#ifdef HAVE_SETNETGRENT_RETURN -+# ifdef HAVE_SETNETGRENT_RETURN - if (setnetgrent (name) == 0) - { - g_warning ("Error looking up net group with name %s: %s", name, g_strerror (errno)); - goto out; - } --#else -+# else - setnetgrent (name); --#endif -+# endif /* HAVE_SETNETGRENT_RETURN */ - - for (;;) - { --#if defined(HAVE_NETBSD) || defined(HAVE_OPENBSD) -+# if defined(HAVE_NETBSD) || defined(HAVE_OPENBSD) - const char *hostname, *username, *domainname; --#else -+# else - char *hostname, *username, *domainname; --#endif -+# endif /* defined(HAVE_NETBSD) || defined(HAVE_OPENBSD) */ - PolkitIdentity *user; - GError *error = NULL; - -@@ -2282,6 +2283,7 @@ get_users_in_net_group (PolkitIdentity *group, - - out: - endnetgrent (); -+#endif /* HAVE_SETNETGRENT */ - return ret; - } - -diff --git a/src/polkitbackend/polkitbackendjsauthority.cpp b/src/polkitbackend/polkitbackendjsauthority.cpp -index 5027815..bcb040c 100644 ---- a/src/polkitbackend/polkitbackendjsauthority.cpp -+++ b/src/polkitbackend/polkitbackendjsauthority.cpp -@@ -1524,6 +1524,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx, - - JS::CallArgs args = JS::CallArgsFromVp (argc, vp); - -+#ifdef HAVE_SETNETGRENT - JS::RootedString usrstr (authority->priv->cx); - usrstr = args[0].toString(); - user = JS_EncodeStringToUTF8 (cx, usrstr); -@@ -1538,6 +1539,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx, - { - is_in_netgroup = true; - } -+#endif - - ret = true; - -diff --git a/test/polkit/polkitidentitytest.c b/test/polkit/polkitidentitytest.c -index e91967b..2635c4c 100644 ---- a/test/polkit/polkitidentitytest.c -+++ b/test/polkit/polkitidentitytest.c -@@ -145,11 +145,15 @@ struct ComparisonTestData comparison_test_data [] = { - {"unix-group:root", "unix-group:jane", FALSE}, - {"unix-group:jane", "unix-group:jane", TRUE}, - -+#ifdef HAVE_SETNETGRENT - {"unix-netgroup:foo", "unix-netgroup:foo", TRUE}, - {"unix-netgroup:foo", "unix-netgroup:bar", FALSE}, -+#endif - - {"unix-user:root", "unix-group:root", FALSE}, -+#ifdef HAVE_SETNETGRENT - {"unix-user:jane", "unix-netgroup:foo", FALSE}, -+#endif - - {NULL}, - }; -@@ -181,11 +185,13 @@ main (int argc, char *argv[]) - g_test_add_data_func ("/PolkitIdentity/group_string_2", "unix-group:jane", test_string); - g_test_add_data_func ("/PolkitIdentity/group_string_3", "unix-group:users", test_string); - -+#ifdef HAVE_SETNETGRENT - g_test_add_data_func ("/PolkitIdentity/netgroup_string", "unix-netgroup:foo", test_string); -+ g_test_add_data_func ("/PolkitIdentity/netgroup_gvariant", "unix-netgroup:foo", test_gvariant); -+#endif - - g_test_add_data_func ("/PolkitIdentity/user_gvariant", "unix-user:root", test_gvariant); - g_test_add_data_func ("/PolkitIdentity/group_gvariant", "unix-group:root", test_gvariant); -- g_test_add_data_func ("/PolkitIdentity/netgroup_gvariant", "unix-netgroup:foo", test_gvariant); - - add_comparison_tests (); - -diff --git a/test/polkit/polkitunixnetgrouptest.c b/test/polkit/polkitunixnetgrouptest.c -index 3701ba1..e1d211e 100644 ---- a/test/polkit/polkitunixnetgrouptest.c -+++ b/test/polkit/polkitunixnetgrouptest.c -@@ -69,7 +69,9 @@ int - main (int argc, char *argv[]) - { - g_test_init (&argc, &argv, NULL); -+#ifdef HAVE_SETNETGRENT - g_test_add_func ("/PolkitUnixNetgroup/new", test_new); - g_test_add_func ("/PolkitUnixNetgroup/set_name", test_set_name); -+#endif - return g_test_run (); - } -diff --git a/test/polkitbackend/test-polkitbackendjsauthority.c b/test/polkitbackend/test-polkitbackendjsauthority.c -index f97e0e0..fc52149 100644 ---- a/test/polkitbackend/test-polkitbackendjsauthority.c -+++ b/test/polkitbackend/test-polkitbackendjsauthority.c -@@ -137,12 +137,14 @@ test_get_admin_identities (void) - "unix-group:users" - } - }, -+#ifdef HAVE_SETNETGRENT - { - "net.company.action3", - { - "unix-netgroup:foo" - } - }, -+#endif - }; - guint n; - diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0005-Make-netgroup-support-optional-duktape.patch b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0005-Make-netgroup-support-optional-duktape.patch deleted file mode 100644 index 12988ad94f..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0005-Make-netgroup-support-optional-duktape.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 792f8e2151c120ec51b50a4098e4f9642409cbec Mon Sep 17 00:00:00 2001 -From: Marta Rybczynska <rybczynska@gmail.com> -Date: Fri, 29 Jul 2022 11:52:59 +0200 -Subject: [PATCH] Make netgroup support optional - -This patch adds a fragment of the netgroup patch to apply on the duktape-related -code. This change is needed to compile with duktape+musl. - -Upstream-Status: Backport [https://gitlab.freedesktop.org/polkit/polkit/-/commit/b57deee8178190a7ecc75290fa13cf7daabc2c66] -Signed-off-by: Marta Rybczynska <martarybczynska@huawei.com> ---- - src/polkitbackend/polkitbackendduktapeauthority.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/polkitbackend/polkitbackendduktapeauthority.c b/src/polkitbackend/polkitbackendduktapeauthority.c -index c89dbcf..58a5936 100644 ---- a/src/polkitbackend/polkitbackendduktapeauthority.c -+++ b/src/polkitbackend/polkitbackendduktapeauthority.c -@@ -1036,6 +1036,7 @@ js_polkit_user_is_in_netgroup (duk_context *cx) - user = duk_require_string (cx, 0); - netgroup = duk_require_string (cx, 1); - -+#ifdef HAVE_SETNETGRENT - if (innetgr (netgroup, - NULL, /* host */ - user, -@@ -1043,6 +1044,7 @@ js_polkit_user_is_in_netgroup (duk_context *cx) - { - is_in_netgroup = TRUE; - } -+#endif - - duk_push_boolean (cx, is_in_netgroup); - return 1; diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/polkit-1_pam.patch b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/polkit-1_pam.patch deleted file mode 100644 index c491abf4ac..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/polkit-1_pam.patch +++ /dev/null @@ -1,35 +0,0 @@ -polkit: No system-auth in OE-Core, we can use common-* in place of it. - -Upstream-Status:Inappropriate [configuration] - -Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com> - -Upstream-Status: Inappropriate [oe specific] -Rebase to 0.115 -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - configure.ac | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 36df239..8b3e1b1 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -471,10 +471,10 @@ elif test x$with_os_type = xfreebsd -o x$with_os_type = xnetbsd; then - PAM_FILE_INCLUDE_PASSWORD=system - PAM_FILE_INCLUDE_SESSION=system - else -- PAM_FILE_INCLUDE_AUTH=system-auth -- PAM_FILE_INCLUDE_ACCOUNT=system-auth -- PAM_FILE_INCLUDE_PASSWORD=system-auth -- PAM_FILE_INCLUDE_SESSION=system-auth -+ PAM_FILE_INCLUDE_AUTH=common-auth -+ PAM_FILE_INCLUDE_ACCOUNT=common-account -+ PAM_FILE_INCLUDE_PASSWORD=common-password -+ PAM_FILE_INCLUDE_SESSION=common-session - fi - - AC_SUBST(PAM_FILE_INCLUDE_AUTH) --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.119.bb b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.119.bb deleted file mode 100644 index c4d3d25afc..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.119.bb +++ /dev/null @@ -1,79 +0,0 @@ -SUMMARY = "PolicyKit Authorization Framework" -DESCRIPTION = "The polkit package is an application-level toolkit for defining and handling the policy that allows unprivileged processes to speak to privileged processes." -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/polkit" -LICENSE = "LGPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=155db86cdbafa7532b41f390409283eb \ - file://src/polkit/polkit.h;beginline=1;endline=20;md5=0a8630b0133176d0504c87a0ded39db4" - -DEPENDS = "expat glib-2.0 intltool-native" - -inherit autotools gtk-doc pkgconfig useradd systemd gobject-introspection features_check - -REQUIRED_DISTRO_FEATURES = "polkit" - -PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', \ - bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \ - mozjs \ - " - -PACKAGECONFIG[pam] = "--with-authfw=pam,--with-authfw=shadow,libpam,libpam" -PACKAGECONFIG[systemd] = "--enable-libsystemd-login=yes --with-systemdsystemunitdir=${systemd_unitdir}/system/,--enable-libsystemd-login=no --with-systemdsystemunitdir=,systemd" -# there is no --enable/--disable option for consolekit and it's not picked by shlibs, so add it to RDEPENDS -PACKAGECONFIG[consolekit] = ",,,consolekit" - -# Default to mozjs javascript library -PACKAGECONFIG[mozjs] = ",,mozjs-91,,,duktape" -# duktape javascript engine is much smaller and faster but is not compatible with -# same javascript standards as mozjs. For example array.includes() function is not -# supported. Test rule compatibility when switching to duktape. -PACKAGECONFIG[duktape] = "--with-duktape,,duktape,,,mozjs" - -MOZJS_PATCHES = "\ - file://0002-jsauthority-port-to-mozjs-91.patch \ - file://0003-jsauthority-ensure-to-call-JS_Init-and-JS_ShutDown-e.patch \ -" -DUKTAPE_PATCHES = "file://0003-Added-support-for-duktape-as-JS-engine.patch" -DUKTAPE_NG_PATCHES = "file://0005-Make-netgroup-support-optional-duktape.patch" -PAM_SRC_URI = "file://polkit-1_pam.patch" -SRC_URI = "http://www.freedesktop.org/software/polkit/releases/polkit-${PV}.tar.gz \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'mozjs', '${MOZJS_PATCHES}', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'duktape', '${DUKTAPE_PATCHES}', '', d)} \ - file://0001-pkexec-local-privilege-escalation-CVE-2021-4034.patch \ - file://0002-CVE-2021-4115-GHSL-2021-077-fix.patch \ - file://0004-Make-netgroup-support-optional.patch \ - ${@bb.utils.contains('PACKAGECONFIG', 'duktape', '${DUKTAPE_NG_PATCHES}', '', d)} \ - " -SRC_URI[sha256sum] = "c8579fdb86e94295404211285fee0722ad04893f0213e571bd75c00972fd1f5c" - -EXTRA_OECONF = "--with-os-type=moblin \ - --disable-man-pages \ - --disable-libelogind \ - " - -do_configure:prepend () { - rm -f ${S}/buildutil/lt*.m4 ${S}/buildutil/libtool.m4 -} - -do_compile:prepend () { - export GIR_EXTRA_LIBS_PATH="${B}/src/polkit/.libs" -} - -PACKAGES =+ "${PN}-examples" - -FILES:${PN}:append = " \ - ${libdir}/${BPN}-1 \ - ${nonarch_libdir}/${BPN}-1 \ - ${datadir}/dbus-1 \ - ${datadir}/${BPN}-1 \ - ${datadir}/gettext \ -" - -FILES:${PN}-examples = "${bindir}/*example*" - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/${BPN}-1 --shell /bin/nologin polkitd" - -SYSTEMD_SERVICE:${PN} = "${BPN}.service" -SYSTEMD_AUTO_ENABLE = "disable" diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_123.bb b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_123.bb index 4fc23559f9..670fd995fb 100644 --- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_123.bb +++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_123.bb @@ -4,10 +4,10 @@ HOMEPAGE = "http://www.freedesktop.org/wiki/Software/polkit" LICENSE = "LGPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=155db86cdbafa7532b41f390409283eb" -SRC_URI = " \ - git://gitlab.freedesktop.org/polkit/polkit.git;protocol=https;branch=master \ - file://0001-polkit.service.in-disable-MemoryDenyWriteExecute.patch \ -" +SRC_URI = "git://gitlab.freedesktop.org/polkit/polkit.git;protocol=https;branch=master \ + file://0001-polkit.service.in-disable-MemoryDenyWriteExecute.patch \ + file://0001-jsauthority-Bump-mozjs-to-115.patch \ + " S = "${WORKDIR}/git" SRCREV = "fc8b07e71d99f88a29258cde99b913b44da1846d" @@ -31,7 +31,7 @@ PACKAGECONFIG[systemd] = "-Dsession_tracking=libsystemd-login,-Dsession_tracking PACKAGECONFIG[consolekit] = ",,,consolekit" # Default to mozjs javascript library -PACKAGECONFIG[mozjs] = "-Djs_engine=mozjs,,mozjs-102,,,duktape" +PACKAGECONFIG[mozjs] = "-Djs_engine=mozjs,,mozjs-115,,,duktape" # duktape javascript engine is much smaller and faster but is not compatible with # same javascript standards as mozjs. For example array.includes() function is not # supported. Test rule compatibility when switching to duktape. diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.3/redis.service b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.3/redis.service index a52204cc70..b7791d0df4 100644 --- a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.3/redis.service +++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.3/redis.service @@ -10,6 +10,7 @@ ExecStop=/usr/bin/redis-cli shutdown Restart=always LimitNOFILE=10032 Type=notify +StateDirectory=redis [Install] WantedBy=multi-user.target diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis/redis.service b/meta-openembedded/meta-oe/recipes-extended/redis/redis/redis.service index 36d29852da..f98f2d19e8 100644 --- a/meta-openembedded/meta-oe/recipes-extended/redis/redis/redis.service +++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis/redis.service @@ -9,6 +9,7 @@ ExecStart=/usr/bin/redis-server /etc/redis/redis.conf ExecStop=/usr/bin/redis-cli shutdown Restart=always LimitNOFILE=10032 +StateDirectory=redis [Install] WantedBy=multi-user.target diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.13.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.14.bb index 640831c525..fa430ce402 100644 --- a/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.13.bb +++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.14.bb @@ -17,7 +17,7 @@ SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \ file://GNU_SOURCE.patch \ file://0006-Define-correct-gregs-for-RISCV32.patch \ " -SRC_URI[sha256sum] = "89ff27c80d420456a721ccfb3beb7cc628d883c53059803513749e13214a23d1" +SRC_URI[sha256sum] = "34e74856cbd66fdb3a684fb349d93961d8c7aa668b06f81fd93ff267d09bc277" inherit autotools-brokensep update-rc.d systemd useradd diff --git a/meta-openembedded/meta-oe/recipes-extended/snappy/snappy/0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch b/meta-openembedded/meta-oe/recipes-extended/snappy/snappy/0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch deleted file mode 100644 index 27357d88aa..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/snappy/snappy/0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 4728803cc8687431449c8c9fbfabb1da04943400 Mon Sep 17 00:00:00 2001 -From: "Georgi D. Sotirov" <gdsotirov@gmail.com> -Date: Wed, 5 May 2021 14:16:46 +0300 -Subject: [PATCH] Add inline with SNAPPY_ATTRIBUTE_ALWAYS_INLINE - -Add inline with SNAPPY_ATTRIBUTE_ALWAYS_INLINE on AdvanceToNextTag to -fix the following compilation errors and a warning with GCC: - -[ 2%] Building CXX object CMakeFiles/snappy.dir/snappy.cc.o -/usr/bin/c++ -DHAVE_CONFIG_H -Dsnappy_EXPORTS --I/tmp/snappy-1.1.9/build -I/tmp/snappy-1.1.9 -O3 --march=i586 -mtune=i686 -Wall -Wextra -fno-exceptions -fno-rtti -O3 --DNDEBUG -fPIC -std=c++11 -o CMakeFiles/snappy.dir/snappy.cc.o -c -/tmp/snappy-1.1.9/snappy.cc -/tmp/snappy-1.1.9/snappy.cc:1017:8: warning: always_inline -function might not be inlinable [-Wattributes] - size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { - ^ -/tmp/snappy-1.1.9/snappy.cc: In function 'std::pair<const -unsigned char*, int> snappy::DecompressBranchless(const uint8_t*, const -uint8_t*, ptrdiff_t, T, ptrdiff_t) [with T = char*; uint8_t = unsigned -char; ptrdiff_t = int]': -/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in -call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**, -size_t*)': function body can be overwritten at link time -/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here - size_t tag_type = AdvanceToNextTag(&ip, &tag); - ^ -/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in -call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**, -size_t*)': function body can be overwritten at link time - size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { - ^ -/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here - size_t tag_type = AdvanceToNextTag(&ip, &tag); - ^ -/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in -call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**, -size_t*)': function body can be overwritten at link time - size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { - ^ -/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here - size_t tag_type = AdvanceToNextTag(&ip, &tag); - ^ -CMakeFiles/snappy.dir/build.make:137: recipe for target -'CMakeFiles/snappy.dir/snappy.cc.o' failed - -Just like with other functions using SNAPPY_ATTRIBUTE_ALWAYS_INLINE -macro (i.e. __attribute__((always_inline)) ) it is necessary to use C++ -inline specifier. - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> - -Upstream-Status: Submitted [https://github.com/google/snappy/pull/128] ---- - snappy.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/snappy.cc b/snappy.cc -index 79dc0e8..51157be 100644 ---- a/snappy.cc -+++ b/snappy.cc -@@ -1014,7 +1014,7 @@ void MemMove(ptrdiff_t dst, const void* src, size_t size) { - } - - SNAPPY_ATTRIBUTE_ALWAYS_INLINE --size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { -+inline size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { - const uint8_t*& ip = *ip_p; - // This section is crucial for the throughput of the decompression loop. - // The latency of an iteration is fundamentally constrained by the diff --git a/meta-openembedded/meta-oe/recipes-extended/snappy/snappy/fix-build-on-32bit-arm.patch b/meta-openembedded/meta-oe/recipes-extended/snappy/snappy/fix-build-on-32bit-arm.patch new file mode 100644 index 0000000000..b6ab149e19 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/snappy/snappy/fix-build-on-32bit-arm.patch @@ -0,0 +1,33 @@ +From ecb3bcc283ce740a34d6342cbcda569f3193ade9 Mon Sep 17 00:00:00 2001 +From: David Michael <fedora.dm0@gmail.com> +Date: Mon, 1 May 2023 11:14:32 -0400 +Subject: [PATCH] Specifically check for NEON for ARMv8 CPUs. + +The actual NEON implementation uses instructions that are not +supported on 32-bit CPUs. Make the CMake test reflect this so that +ARMv7 builds succeed again. + +Upstream-Status: Submitted [https://github.com/google/snappy/pull/169] + +Signed-off-by: David Michael <fedora.dm0@gmail.com> +Signed-off-by: Alper Ak <alperyasinak1@gmail.com> +--- + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 85afe58e..e8775859 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -207,9 +207,9 @@ int main() { + check_cxx_source_compiles(" + #include <arm_neon.h> + int main() { +- uint8_t val = 3, dup[8]; ++ uint8_t val = 3; + uint8x16_t v = vld1q_dup_u8(&val); +- vst1q_u8(dup, v); ++ val = vmaxvq_u8(v); + return 0; + }" SNAPPY_HAVE_NEON) + diff --git a/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.9.bb b/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.10.bb index 9e0e43ce8f..bc3bc3aa47 100644 --- a/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.9.bb +++ b/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.10.bb @@ -11,11 +11,11 @@ LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=f62f3080324a97b3159a7a7e61812d0c" SRC_URI = "gitsm://github.com/google/snappy.git;protocol=https;branch=main \ - file://0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch \ -" -SRCREV = "2b63814b15a2aaae54b7943f0cd935892fae628f" -S = "${WORKDIR}/git" + file://fix-build-on-32bit-arm.patch" + +SRCREV = "dc05e026488865bc69313a68bcc03ef2e4ea8e83" +S = "${WORKDIR}/git" inherit cmake pkgconfig diff --git a/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.33.bb b/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.33.bb deleted file mode 100644 index 85da5bfb4d..0000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.33.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Jpeg 2000 implementation" -HOMEPAGE = "https://jasper-software.github.io/jasper/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a80440d1d8f17d041c71c7271d6e06eb" - -SRC_URI = "git://github.com/jasper-software/jasper.git;protocol=https;branch=master" -SRCREV = "fe00207dc10db1d7cc6f2757961c5c6bdfd10973" - -CVE_STATUS[CVE-2015-8751] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions." - -S = "${WORKDIR}/git" - -inherit cmake - -PACKAGECONFIG ??= "" -PACKAGECONFIG[jpeg] = "-DJAS_ENABLE_LIBJPEG=true, -DJAS_ENABLE_LIBJPEG=false, jpeg" -PACKAGECONFIG[opengl] = "-DJAS_ENABLE_OPENGL=true, -DJAS_ENABLE_OPENGL=false, freeglut" - -EXTRA_OECMAKE:append = " -DJAS_ENABLE_SHARED=true" - -do_install:append() { - chrpath -d ${D}${bindir}/jasper - chrpath -d ${D}${bindir}/imginfo - chrpath -d ${D}${bindir}/imgcmp - chrpath -d ${D}${libdir}/libjasper.so.* -} diff --git a/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_4.1.1.bb b/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_4.1.1.bb new file mode 100644 index 0000000000..5281980ecb --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_4.1.1.bb @@ -0,0 +1,34 @@ +SUMMARY = "Jpeg 2000 implementation" +HOMEPAGE = "https://jasper-software.github.io/jasper/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a80440d1d8f17d041c71c7271d6e06eb" + +SRC_URI = "git://github.com/jasper-software/jasper.git;protocol=https;branch=master" +SRCREV = "917f7708b755d8434f70618108c1a76f1b6a0a82" + +CVE_STATUS[CVE-2015-8751] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions." + +S = "${WORKDIR}/git" + +inherit cmake multilib_header + +do_configure:prepend() { + JAS_STDC_VERSION="$(echo __STDC_VERSION__ | ${CPP} -E -P -)" +} + +EXTRA_OECMAKE:append = " -DJAS_STDC_VERSION=${JAS_STDC_VERSION}" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl', '', d)} \ + jpeg" + +PACKAGECONFIG[jpeg] = "-DJAS_ENABLE_LIBJPEG=ON,-DJAS_ENABLE_LIBJPEG=OFF,jpeg," +PACKAGECONFIG[opengl] = "-DJAS_ENABLE_OPENGL=ON,-DJAS_ENABLE_OPENGL=OFF,freeglut," + +do_install:append() { + chrpath -d ${D}${bindir}/jasper + chrpath -d ${D}${bindir}/imginfo + chrpath -d ${D}${bindir}/imgcmp + chrpath -d ${D}${libdir}/libjasper.so.* + oe_multilib_header jasper/jas_config.h +} + diff --git a/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.10.bb b/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.11.bb index 7dd36cac2d..2523680610 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.10.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.11.bb @@ -9,7 +9,7 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a" SRC_URI = "git://github.com/lvgl/lvgl;protocol=https;branch=release/v8.3" -SRCREV = "06e229cc7679c01119ca5d905a1f9dad96f475f0" +SRCREV = "74d0a816a440eea53e030c4f1af842a94f7ce3d3" inherit cmake diff --git a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch deleted file mode 100644 index e96dedfc39..0000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 41a8c9b5ac13066770baee476ebf9828371f4dad Mon Sep 17 00:00:00 2001 -From: Adrian Ratiu <adrian.ratiu@collabora.com> -Date: Tue, 24 Sep 2019 16:07:18 +0300 -Subject: [PATCH] renderdoc: use xxd instead of cross-compiling shim binary - -Renderdoc's attempt to cross compile an xxd replacement by directly -calling a host cross-compiler breaks under OE's recipe specific -sysroots protection because this is not a native recipe, so we just -use xxd-native instead. - -Upstream-Status: Inappropriate [embedded-specific] - ---- - renderdoc/CMakeLists.txt | 23 +---------------------- - 1 file changed, 1 insertion(+), 22 deletions(-) - -diff --git a/renderdoc/CMakeLists.txt b/renderdoc/CMakeLists.txt -index 5cb7440a4..453a034ba 100644 ---- a/renderdoc/CMakeLists.txt -+++ b/renderdoc/CMakeLists.txt -@@ -370,26 +370,6 @@ set(data - set(data_objects) - - if(UNIX) -- # If we're cross-compiling, include-bin will get built for the target and we -- # then can't execute it. Instead, we force calling c++ (which we can safely -- # assume is present) directly to build the binary -- -- if(CMAKE_CROSSCOMPILING) -- set(HOST_NATIVE_CPP_COMPILER c++ CACHE STRING "Command to run to compile a .cpp into an executable. Default is just c++") -- -- add_custom_command(OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin -- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -- COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} -- COMMAND ${HOST_NATIVE_CPP_COMPILER} 3rdparty/include-bin/main.cpp -o ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin -- DEPENDS 3rdparty/include-bin/main.cpp) -- set(INCLUDE_BIN_EXE "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin") -- set(INCLUDE_BIN_DEP "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin") -- else() -- add_executable(include-bin 3rdparty/include-bin/main.cpp) -- set(INCLUDE_BIN_EXE $<TARGET_FILE:include-bin>) -- set(INCLUDE_BIN_DEP include-bin) -- endif() -- - foreach(res ${data}) - set(in ${res}) - set(working_dir ${CMAKE_CURRENT_SOURCE_DIR}) -@@ -399,8 +379,7 @@ if(UNIX) - add_custom_command(OUTPUT ${out_src} - WORKING_DIRECTORY ${working_dir} - COMMAND ${CMAKE_COMMAND} -E make_directory ${out_src_dir} -- COMMAND ${INCLUDE_BIN_EXE} ${in} ${out_src} -- DEPENDS ${INCLUDE_BIN_DEP} -+ COMMAND xxd -i ${in} ${out_src} - DEPENDS ${res}) - - list(APPEND data_objects ${out_src}) diff --git a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.27.bb b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.27.bb index c89b2d1c99..e52ec5f291 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.27.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.27.bb @@ -7,7 +7,6 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=36d34a46cb71546195d2b0c626a52e5d" SRCREV = "35b13a8e8fd2a331854dba6da81a20452e142d6f" SRC_URI = " \ git://github.com/baldurk/${BPN}.git;protocol=https;branch=v1.x \ - file://0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch \ " S = "${WORKDIR}/git" @@ -32,6 +31,7 @@ EXTRA_OECMAKE += "\ -DENABLE_PYRENDERDOC=OFF \ -DENABLE_RENDERDOCCMD=ON \ -DCMAKE_BUILD_TYPE=Release \ + -DHOST_NATIVE_CPP_COMPILER="${BUILD_CXX}" \ " FILES:${PN} += "${libdir}" diff --git a/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font/use-no-name-option-for-gzip.patch b/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font/use-no-name-option-for-gzip.patch new file mode 100644 index 0000000000..97213c07da --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font/use-no-name-option-for-gzip.patch @@ -0,0 +1,66 @@ +Build compressed archives with -n + +The compressed archives contain a header with the field MTIME +(Modification Time) which is initialized from the built date. +As a consequence, two separate builds generate compressed archives +whose checksum differs. Such behavior prevents reproducible builds. + +Adding the -n option to gzip while compressing the archive does +not save the original time stamp by default hence making +reproducible build. + +Upstream-Status: Inappropriate + +Signed-off-by: Jean-Marc BOUCHE <jean-marc.bouche@foss.st.com> +Index: terminus-font-4.49.1/Makefile +=================================================================== +--- terminus-font-4.49.1.orig/Makefile ++++ terminus-font-4.49.1/Makefile +@@ -92,9 +92,9 @@ otbdir = $(prefix)/share/fonts/terminus + + install: $(PSF) $(PCF) + mkdir -p $(DESTDIR)$(psfdir) +- for i in $(PSF) ; do gzip -c $$i > $(DESTDIR)$(psfdir)/$$i.gz ; done ++ for i in $(PSF) ; do gzip -c -n $$i > $(DESTDIR)$(psfdir)/$$i.gz ; done + mkdir -p $(DESTDIR)$(x11dir) +- for i in $(PCF) ; do gzip -c $$i > $(DESTDIR)$(x11dir)/$$i.gz ; done ++ for i in $(PCF) ; do gzip -c -n $$i > $(DESTDIR)$(x11dir)/$$i.gz ; done + + uninstall: + for i in $(PSF) ; do rm -f $(DESTDIR)$(psfdir)/$$i.gz ; done +@@ -193,7 +193,7 @@ psf: $(PSF) + + install-psf: $(PSF) + mkdir -p $(DESTDIR)$(psfdir) +- for i in $(PSF) ; do gzip -c $$i > $(DESTDIR)$(psfdir)/$$i.gz ; done ++ for i in $(PSF) ; do gzip -c -n $$i > $(DESTDIR)$(psfdir)/$$i.gz ; done + + uninstall-psf: + for i in $(PSF) ; do rm -f $(DESTDIR)$(psfdir)/$$i.gz ; done +@@ -202,7 +202,7 @@ psf-vgaw: $(PSF_VGAW) + + install-psf-vgaw: $(PSF_VGAW) + mkdir -p $(DESTDIR)$(psfdir) +- for i in $(PSF_VGAW) ; do gzip -c $$i > $(DESTDIR)$(psfdir)/$$i.gz ; done ++ for i in $(PSF_VGAW) ; do gzip -c -n $$i > $(DESTDIR)$(psfdir)/$$i.gz ; done + + uninstall-psf-vgaw: + for i in $(PSF_VGAW) ; do rm -f $(DESTDIR)$(psfdir)/$$i.gz ; done +@@ -279,7 +279,7 @@ pcf: $(PCF) + + install-pcf: $(PCF) + mkdir -p $(DESTDIR)$(x11dir) +- for i in $(PCF) ; do gzip -c $$i > $(DESTDIR)$(x11dir)/$$i.gz ; done ++ for i in $(PCF) ; do gzip -c -n $$i > $(DESTDIR)$(x11dir)/$$i.gz ; done + + uninstall-pcf: + for i in $(PCF) ; do rm -f $(DESTDIR)$(x11dir)/$$i.gz ; done +@@ -288,7 +288,7 @@ pcf-8bit: $(PCF_8BIT) + + install-pcf-8bit: $(PCF_8BIT) + mkdir -p $(DESTDIR)$(x11dir) +- for i in $(PCF_8BIT) ; do gzip -c $$i > $(DESTDIR)$(x11dir)/$$i.gz ; done ++ for i in $(PCF_8BIT) ; do gzip -c -n $$i > $(DESTDIR)$(x11dir)/$$i.gz ; done + + uninstall-pcf-8bit: + for i in $(PCF_8BIT) ; do rm -f $(DESTDIR)$(x11dir)/$$i.gz ; done diff --git a/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.49.1.bb b/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.49.1.bb index 65cafab9e8..1fabe2e29e 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.49.1.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.49.1.bb @@ -9,7 +9,9 @@ LIC_FILES_CHKSUM = "file://OFL.TXT;md5=f57e6cca943dbc6ef83dc14f1855bdcc" DEPENDS = "hostperl-runtime-native gzip-native bdftopcf-native" -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz" +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \ + file://use-no-name-option-for-gzip.patch \ + " SRC_URI[md5sum] = "1b6acbd221957e33c8a792ebfaf3a659" SRC_URI[sha256sum] = "d961c1b781627bf417f9b340693d64fc219e0113ad3a3af1a3424c7aa373ef79" diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb index 3fc7f39e85..05ece8b748 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb @@ -2,7 +2,7 @@ SUMMARY = "Unicode Mingti (printed) TrueType Font" HOMEPAGE = "http://www.freedesktop.org/wiki/Software/CJKUnifonts" LICENSE = "Arphic-Public-License" LIC_FILES_CHKSUM = "file://license/english/ARPHICPL.TXT;md5=4555ed88e9a72fc9562af379d07c3350" -SRC_DISTRIBUTE_LICENSES += "${PN}" + RPROVIDES:${PN} = "virtual-chinese-font" PR = "r6" diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb index 5a403f0775..c7229df1b1 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb @@ -6,7 +6,7 @@ SUMMARY:ttf-sazanami-mincho = "Sazanami Mincho Japanese TrueType font" HOMEPAGE = "http://sourceforge.jp/projects/efont/" LICENSE = "PD" LIC_FILES_CHKSUM = "file://README;md5=97d739900be6e852830f55aa3c07d4a0" -SRC_DISTRIBUTE_LICENSES += "${PN}" + RPROVIDES:${PN} = "virtual-japanese-font" PR = "r9" diff --git a/meta-openembedded/meta-oe/recipes-graphics/wayland/libei_1.1.0.bb b/meta-openembedded/meta-oe/recipes-graphics/wayland/libei_1.2.0.bb index 1727ef9be7..aba49de7e3 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/wayland/libei_1.1.0.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/wayland/libei_1.2.0.bb @@ -17,7 +17,7 @@ DEPENDS = " \ SRC_URI = "git://gitlab.freedesktop.org/libinput/libei.git;protocol=https;branch=main" S = "${WORKDIR}/git" -SRCREV = "82cdbc9129a0e2c255fcee6bcaa7abed5578ae14" +SRCREV = "493631688437657a87e9169a76f14a3216c0024f" inherit meson pkgconfig diff --git a/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.7.bb b/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.8.bb index 936d71b101..3770babe80 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.7.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.8.bb @@ -3,9 +3,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=bd1fb9ee90eead85f7b171807b3ab4f2" DEPENDS = "libpng libxcursor" -SRC_URI = "http://xorg.freedesktop.org/archive/individual/app/${BPN}-${PV}.tar.bz2" -SRC_URI[md5sum] = "25cc7ca1ce5dcbb61c2b471c55e686b5" -SRC_URI[sha256sum] = "35b6f844b24f1776e9006c880a745728800764dbe3b327a128772b4610d8eb3d" +SRC_URI = "http://xorg.freedesktop.org/archive/individual/app/${BPN}-${PV}.tar.xz" +SRC_URI[sha256sum] = "32b33ce27b4e285e64ff375731806bb7988cc626ff10915c65f1dc4da640cc9b" inherit features_check autotools pkgconfig diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.2.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.3.bb index d4e9597bdf..33ab22cde4 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.2.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.3.bb @@ -4,8 +4,8 @@ SUMMARY = "a simple program for managing utmp/wtmp entries" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=d938a70c8280c265a1ccd2954365d185" SRC_URI += "file://0001-Makefile.am-Error-Fix.patch" -SRC_URI[md5sum] = "92be564d4be7d8aa7b5024057b715210" -SRC_URI[sha256sum] = "dfcb9e954273ace63879aec053c7880466f8755752a35aa9ced3fa5f04fd2c33" +SRC_URI_EXT = "xz" +SRC_URI[sha256sum] = "022acd5de8077dddc4f919961f79e102ecd5f3228a333681af5cd0e7344facc2" CFLAGS:append:libc-musl = " -D_WTMPX_FILE=WTMP_FILE -D_PATH_WTMPX=_PATH_WTMP -D_UTMPX_FILE=UTMP_FILE -D_PATH_UTMPX=_PATH_UTMP " diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.6.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.7.bb index 4949616ddc..dc9cbadb4c 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.6.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.7.bb @@ -11,5 +11,5 @@ DEPENDS += "libxxf86vm" BBCLASSEXTEND = "native" -SRC_URI[md5sum] = "90b4305157c2b966d5180e2ee61262be" -SRC_URI[sha256sum] = "0ef1c35b5c18b1b22317f455c8df13c0a471a8efad63c89c98ae3ce8c2b222d3" +SRC_URI_EXT = "xz" +SRC_URI[sha256sum] = "1c79dae85a8953a15f4fe5c2895a033307b43b8613456c87ec47b374b113bc8f" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.4.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.5.bb index b42c1b9506..afc1fe17d5 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.4.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.5.bb @@ -9,5 +9,5 @@ DEPENDS += "libxkbfile bison-native" BBCLASSEXTEND = "native" -SRC_URI[md5sum] = "c747faf1f78f5a5962419f8bdd066501" -SRC_URI[sha256sum] = "2430a2e5302a4cb4a5530c1df8cb3721a149bbf8eb377a2898921a145197f96a" +SRC_URI_EXT = "xz" +SRC_URI[sha256sum] = "38357b702de9d3457c4ff75053390f457b84c4accc7f088101255c37c684926b" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.3.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.4.bb index 288bcfc8fe..ad06612d5e 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.3.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.4.bb @@ -10,5 +10,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=2b08d9e2e718ac83e6fe2b974d4b5fd8" DEPENDS += "libxmu" BBCLASSEXTEND = "native" -SRC_URI[md5sum] = "61671fee12535347db24ec3a715032a7" -SRC_URI[sha256sum] = "57868f958c263976727881f3078e55b86b4a109dc578d2b92f5c6d690850a382" +SRC_URI_EXT = "xz" +SRC_URI[sha256sum] = "f4bfa15f56c066d326a5d5b292646708f25b9247506840b9047cd2687dcc71b7" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.4.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.5.bb index 42bda7ea35..d73a27f971 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.4.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.5.bb @@ -10,5 +10,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=350e1b718a56df39cfe8ca9345ea4575" BBCLASSEXTEND = "native" -SRC_URI[md5sum] = "4fa92377e0ddc137cd226a7a87b6b29a" -SRC_URI[sha256sum] = "773f2af49c7ea2c44fba4213bee64325875c1b3c9bc4bbcd8dac9261751809c1" +SRC_URI_EXT = "xz" +SRC_URI[sha256sum] = "68baee57e70250ac4a7759fb78221831f97d88bc8e51dcc2e64eb3f8ca56bae3" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.2.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.3.bb index a9a8acf05c..7e909f90cf 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.2.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.3.bb @@ -7,7 +7,7 @@ SECTION = "x11/app" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=6ea29dbee22324787c061f039e0529de" -DEPENDS += "xbitmaps libxcursor" +DEPENDS += "xbitmaps libxcursor libxmu" -SRC_URI[md5sum] = "5fe769c8777a6e873ed1305e4ce2c353" -SRC_URI[sha256sum] = "10c442ba23591fb5470cea477a0aa5f679371f4f879c8387a1d9d05637ae417c" +SRC_URI_EXT = "xz" +SRC_URI[sha256sum] = "6081b45a9eb4426e045d259d1e144b32417fb635e5b96aa90647365ac96638d1" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.4.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.5.bb index 9d523bd7b1..7d3aab501c 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.4.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.5.bb @@ -11,6 +11,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=2b08d9e2e718ac83e6fe2b974d4b5fd8" DEPENDS += "libxmu" BBCLASSEXTEND = "native" -SRC_URI[md5sum] = "da67142c128d18386ff145882e0afc66" -SRC_URI[sha256sum] = "06898b3f1eaad0b205ff3c75bdefa3207868b889d4cb37b32b8267b2bbfe6f8b" +SRC_URI_EXT = "xz" +SRC_URI[sha256sum] = "365847e379398499ec9ad9a299cc47a0d6e7feba9546dfd4e5b422204b5ac180" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.2.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.2.bb deleted file mode 100644 index 37183b12b7..0000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.2.bb +++ /dev/null @@ -1,11 +0,0 @@ -require xorg-data-common.inc - -SUMMARY = "Common X11 Bitmaps" -LICENSE = "MIT" -DEPENDS += "libxmu" -RDEPENDS:${PN}-dev = "" - -LIC_FILES_CHKSUM = "file://COPYING;md5=dbd075aaffa4a60a8d00696f2e4b9a8f" - -SRC_URI[md5sum] = "cedeef095918aca86da79a2934e03daf" -SRC_URI[sha256sum] = "b9f0c71563125937776c8f1f25174ae9685314cbd130fb4c2efce811981e07ee" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.3.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.3.bb new file mode 100644 index 0000000000..5f49152972 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.3.bb @@ -0,0 +1,7 @@ +require xorg-data-common.inc + +SUMMARY = "Common X11 Bitmaps" + +LIC_FILES_CHKSUM = "file://COPYING;md5=dbd075aaffa4a60a8d00696f2e4b9a8f" + +SRC_URI[sha256sum] = "ad6cad54887832a17d86c2ccfc5e52a1dfab090f8307b152c78b0e1529cd0f7a" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xcursor-themes_1.0.7.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xcursor-themes_1.0.7.bb new file mode 100644 index 0000000000..9ebd2d12fd --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xcursor-themes_1.0.7.bb @@ -0,0 +1,11 @@ +require xorg-data-common.inc + +SUMMARY = "Default set of cursor themes for use with libXcursor" + +DEPENDS:append = " libxcursor xcursorgen-native" + +LIC_FILES_CHKSUM = "file://COPYING;md5=d8cbd99fff773f92e844948f74ef0df8" + +SRC_URI[sha256sum] = "95bae8f48823d894a05bf42dfbf453674ab7dbdeb11e2bc079e8525ad47378c8" + +FILES:${PN} += "${datadir}/icons" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc b/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc index 1c6408d0d8..17fe00a9b8 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc @@ -2,10 +2,10 @@ HOMEPAGE = "http://www.x.org" SECTION = "x11/data" LICENSE = "MIT" -XORG_PN = "${BPN}" +DEPENDS = "util-macros-native virtual/libx11" -SRC_URI = "${XORG_MIRROR}/individual/data/${BP}.tar.bz2" -S = "${WORKDIR}/${XORG_PN}-${PV}" +SRC_URI_EXT = "xz" +SRC_URI = "${XORG_MIRROR}/individual/data/${BP}.tar.${SRC_URI_EXT}" inherit features_check autotools pkgconfig diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc b/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc index aa4795edc2..042db48acb 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc @@ -3,10 +3,11 @@ HOMEPAGE = "http://www.x.org" SECTION = "x11/docs" LICENSE = "MIT" -SRC_URI = "${XORG_MIRROR}/individual/doc/${BPN}-${PV}.tar.bz2" +DEPENDS = "util-macros-native" -S = "${WORKDIR}/${BPN}-${PV}" - -INC_PR = "r1" +SRC_URI_EXT = "bz2" +SRC_URI = "${XORG_MIRROR}/individual/doc/${BPN}-${PV}.tar.${SRC_URI_EXT}" inherit autotools pkgconfig + + diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-docs_1.7.2.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-docs_1.7.2.bb new file mode 100644 index 0000000000..4cef981bc8 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-docs_1.7.2.bb @@ -0,0 +1,7 @@ +require xorg-doc-common.inc + +SUMMARY = "Documentation for the X Window System" + +LIC_FILES_CHKSUM = "file://general/License.xml;md5=f2677c20a4066714e233e9bbd8659aa2" + +SRC_URI[sha256sum] = "2391b8af472626c12d3c3814b5e7a0ea43c3a96eda94255b7ed8bdff0fbf08e3" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.12.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.12.bb index 050cb29824..21a0ed74fa 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.12.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.12.bb @@ -1,10 +1,11 @@ require xorg-doc-common.inc + PE = "1" -DEPENDS += "util-macros" +SUMMARY = "SGML entities and XML/CSS stylesheets used in X.Org docs" LIC_FILES_CHKSUM = "file://COPYING;md5=c8c6c808cd3c797a07b24e443af1c449" SRC_URI[sha256sum] = "65a9fdddedc17bd5e9c0b00d904960f03f047c3a62de5458989d493c29fec806" -FILES:${PN} += " /usr/share/sgml/X11" +FILES:${PN} += "${datadir}/sgml/X11" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.1.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.2.bb index 88fb4b99a1..54a6476def 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.1.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.2.bb @@ -4,5 +4,5 @@ PR = "r22" LIC_FILES_CHKSUM = "file://COPYING;md5=4be6a915bfbf111cd88706fc6a6f141b" -SRC_URI[md5sum] = "5227013b52b3ca85d6b7ec8adea988d4" -SRC_URI[sha256sum] = "f96e4f0a622821bf43a74bd419f2a18423343996c9d243c7e1430ba2d142339c" +XORG_DRIVER_COMPRESSOR = ".tar.xz" +SRC_URI[sha256sum] = "a211d8e21ce0e2ed8af5b8a2e8d4409d70c9c7e5ee528f5e6002ad279bf07885" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_git.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_22.0.0.bb index 9452c3a915..57ea9d2d32 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_git.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_22.0.0.bb @@ -9,18 +9,10 @@ DESCRIPTION = "Open-source X.org graphics driver for ATI Radeon graphics" DEPENDS += "virtual/libx11 libxvmc drm \ virtual/libgl xorgproto libpciaccess" -inherit features_check - REQUIRED_DISTRO_FEATURES += "opengl" -SRC_URI = "git://git@gitlab.freedesktop.org/xorg/driver/xf86-video-ati.git;branch=master" -SRCREV = "7a6a34af026f0bef8080b91baf97a729380bca01" - -SRC_URI[sha256sum] = "659f5a1629eea5f5334d9b39b18e6807a63aa1efa33c1236d9cc53acbb223c49" - -PV = "19.1.0+git${SRCPV}" - -S = "${WORKDIR}/git" +XORG_DRIVER_COMPRESSOR = ".tar.xz" +SRC_URI[sha256sum] = "c8c8bb56d3f6227c97e59c3a3c85a25133584ceb82ab5bc05a902a743ab7bf6d" PACKAGECONFIG ??= "udev" PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch deleted file mode 100644 index ceae6dfba2..0000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch +++ /dev/null @@ -1,68 +0,0 @@ -Upstream-Status: Submitted [https://bugs.freedesktop.org/show_bug.cgi?id=57606] -Signed-off-by: Ross Burton <ross.burton@intel.com> - -From c9014a8f3c9b691b5aa7b1f3ec66cf7c84b8211b Mon Sep 17 00:00:00 2001 -From: Ross Burton <ross.burton@intel.com> -Date: Thu, 29 Nov 2012 11:00:43 +0000 -Subject: [PATCH] build: dont use AC_CHECK_FILE when enabling DRI - -Automatically enabling or disabling a feature based on installed files isn't -deterministic, and AC_CHECK_FILE returns an error when cross-compiling. - -Fix this by enabling DRI by default, and removing the explicit file checks as -pkg-config is good enough. - -(#57606) - -Signed-off-by: Ross Burton <ross.burton@intel.com> ---- - configure.ac | 25 ++----------------------- - 1 file changed, 2 insertions(+), 23 deletions(-) - -diff --git a/configure.ac b/configure.ac -index fca1a9c..d2aa2ed 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -55,9 +55,9 @@ AC_ARG_WITH(xorg-module-dir, - [moduledir="$libdir/xorg/modules"]) - - AC_ARG_ENABLE(dri, AS_HELP_STRING([--disable-dri], -- [Disable DRI support [[default=auto]]]), -+ [Disable DRI support [[default=enabled]]]), - [DRI="$enableval"], -- [DRI=auto]) -+ [DRI=yes]) - AC_ARG_ENABLE(exa, - AS_HELP_STRING([--disable-exa], - [Disable EXA support [[default=enabled]]]), -@@ -76,27 +76,6 @@ sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server` - - # Checks for libraries. - --if test "x$DRI" != xno; then -- AC_CHECK_FILE([${sdkdir}/dri.h], -- [have_dri_h="yes"], [have_dri_h="no"]) -- AC_CHECK_FILE([${sdkdir}/sarea.h], -- [have_sarea_h="yes"], [have_sarea_h="no"]) -- AC_CHECK_FILE([${sdkdir}/dristruct.h], -- [have_dristruct_h="yes"], [have_dristruct_h="no"]) --fi -- --AC_MSG_CHECKING([whether to include DRI support]) --if test "x$DRI" = xauto; then -- if test "x$have_dri_h" = xyes && \ -- test "x$have_sarea_h" = xyes && \ -- test "x$have_dristruct_h" = xyes; then -- DRI="yes" -- else -- DRI="no" -- fi --fi --AC_MSG_RESULT([$DRI]) -- - AM_CONDITIONAL(DRI, test "x$DRI" = xyes) - if test "x$DRI" = xyes; then - PKG_CHECK_MODULES(DRI, [libdrm >= 2.0 xf86driproto]) --- -1.7.10.4 - diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_2.0.0.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_2.0.1.bb index a9ae901d05..34b3e4cde6 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_2.0.0.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_2.0.1.bb @@ -4,16 +4,14 @@ SUMMARY = "X.Org X server -- Matrox MGA display driver" DESCRIPTION = "mga is an Xorg driver for Matrox video cards" -LIC_FILES_CHKSUM = "file://COPYING;md5=bc1395d2cd32dfc5d6c57d2d8f83d3fc" - -SRC_URI += "file://checkfile.patch" +LIC_FILES_CHKSUM = "file://COPYING;md5=4aa220f495ce9be5ce4243d21ebac14f" DEPENDS += "virtual/libx11 libpciaccess" COMPATIBLE_HOST = '(i.86.*-linux|x86_64.*-linux)' -SRC_URI[md5sum] = "b8fc99b4adea8bfe80156b13df4b6c9c" -SRC_URI[sha256sum] = "268946e1a13e9d80e4f724a0740df9e6e8c8bad37697fcbf456924e9fdbb5d79" +XORG_DRIVER_COMPRESSOR = ".tar.xz" +SRC_URI[sha256sum] = "27a33b70837965bb4a5f27fd260be085ca5bba837a4e62907f093c2f205603ab" PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri', '', d)}" PACKAGECONFIG[dri] = "--enable-dri,--disable-dri,drm xorgproto,xserver-xorg-extension-dri" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.14.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.15.bb index 4a909848a5..253bb6ff0e 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.14.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.15.bb @@ -7,10 +7,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=1c65719d42900bb81b83e8293c20a364" PE = "1" XORG_PN = "libXaw" -XORG_EXT = "tar.bz2" -SRC_URI[md5sum] = "c1ce21c296bbf3da3e30cf651649563e" -SRC_URI[sha256sum] = "76aef98ea3df92615faec28004b5ce4e5c6855e716fa16de40c32030722a6f8e" +SRC_URI[sha256sum] = "ab35f70fde9fb02cc71b342f654846a74328b74cb3a0703c02d20eddb212754a" do_install:append () { ln -sf libXaw6.so.6 ${D}${libdir}/libXaw.so.6 diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash-cross-canadian_8.0.4.bb b/meta-openembedded/meta-oe/recipes-kernel/crash/crash-cross-canadian_8.0.4.bb new file mode 100644 index 0000000000..04be12602c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash-cross-canadian_8.0.4.bb @@ -0,0 +1,53 @@ +inherit cross-canadian + +SUMMARY = "crash utility (cross-canadian crash for ${TARGET_ARCH} target)" +PN = "crash-cross-canadian-${TRANSLATED_TARGET_ARCH}" +BPN = "crash" + +require crash.inc + +PR = "${INC_PR}.0" + +DEPENDS = "\ + nativesdk-ncurses \ + nativesdk-expat \ + nativesdk-gettext \ + nativesdk-gmp \ + nativesdk-mpfr \ + nativesdk-readline \ + nativesdk-zlib \ + virtual/${HOST_PREFIX}gcc \ + virtual/${HOST_PREFIX}binutils \ + virtual/nativesdk-${HOST_PREFIX}compilerlibs \ + virtual/nativesdk-libc" + +RDEPENDS:${PN} = "nativesdk-liblzma" + +EXTRA_OEMAKE:class-cross-canadian = 'RPMPKG="${PV}" \ + GDB_TARGET="${BUILD_SYS} --target=${TARGET_SYS}" \ + GDB_HOST="${HOST_SYS}" \ + GDB_MAKE_JOBS="${PARALLEL_MAKE}" \ + LDFLAGS="${LDFLAGS}" \ + ' + +# To ship crash into your sdk, you should create/update a packagegroup-cross-canadian.bbappend and +# add the following +# CRASH = "crash-cross-canadian-${TRANSLATED_TARGET_ARCH}" +# RDEPENDS:${PN} += "${@all_multilib_tune_values(d, 'CRASH')}" +# +# You should also add some kernel packages in your sdk, add the followng in your conf/local.conf: +# +# TOOLCHAIN_TARGET_TASK += "\ +# kernel-vmlinux \ +# kernel-dbg \ +# kernel-dev \ +# " +# +# After sourcing the sdk environment script, you can analyze a kernel panic dump with +# +# crash $OECORE_TARGET_SYSROOT/boot/<vmlinux file> $OECORE_TARGET_SYSROOT/boot/<System.map file> <your vmcore> + +do_install:class-cross-canadian () { + install -m 0755 ${S}/crash ${D}/${bindir} + cross_canadian_bindirlinks +} diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash_8.0.2.bb b/meta-openembedded/meta-oe/recipes-kernel/crash/crash.inc index f8a460b8ce..04318b1505 100644 --- a/meta-openembedded/meta-oe/recipes-kernel/crash/crash_8.0.2.bb +++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash.inc @@ -12,6 +12,8 @@ LIC_FILES_CHKSUM = "file://COPYING3;md5=d32239bcb673463ab874e80d47fae504" DEPENDS = "zlib readline coreutils-native ncurses-native" +INC_PR = "r1" + S = "${WORKDIR}/git" SRC_URI = "git://github.com/crash-utility/${BPN}.git;branch=master;protocol=https \ ${GNU_MIRROR}/gdb/gdb-10.2.tar.gz;name=gdb;subdir=git \ @@ -20,9 +22,8 @@ SRC_URI = "git://github.com/crash-utility/${BPN}.git;branch=master;protocol=http file://0001-cross_add_configure_option.patch \ file://donnot-extract-gdb-during-do-compile.patch \ file://gdb_build_jobs_and_not_write_crash_target.patch \ - file://0001-make-src-string-const-in-strlcpy.patch \ " -SRCREV = "f1cd581d1c4afa5b8ffdfaa6a3ea9f545fe4ec91" +SRCREV = "a6832f608cb5d473739cf33bbf84ab1df8d98fd5" SRC_URI[gdb.sha256sum] = "b33ad58d687487a821ec8d878daab0f716be60d0936f2e3ac5cf08419ce70350" @@ -30,7 +31,6 @@ UPSTREAM_CHECK_URI = "https://github.com/crash-utility/crash/releases" inherit gettext -BBCLASSEXTEND = "native cross" TARGET_CC_ARCH:append = " ${SELECTED_OPTIMIZATION}" # crash 7.1.3 and before don't support mips64/riscv64 @@ -47,15 +47,6 @@ EXTRA_OEMAKE = 'RPMPKG="${PV}" \ LDFLAGS="${LDFLAGS}" \ ' -EXTRA_OEMAKE:class-cross = 'RPMPKG="${PV}" \ - GDB_TARGET="${BUILD_SYS} --target=${TARGET_SYS}" \ - GDB_HOST="${BUILD_SYS}" \ - GDB_MAKE_JOBS="${PARALLEL_MAKE}" \ - ' - -EXTRA_OEMAKE:append:class-native = " LDFLAGS='${BUILD_LDFLAGS}'" -EXTRA_OEMAKE:append:class-cross = " LDFLAGS='${BUILD_LDFLAGS}'" - do_configure() { : } @@ -90,21 +81,7 @@ do_install:prepend () { install -m 0644 ${S}/defs.h ${D}${includedir}/crash } -do_install:class-target () { - oe_runmake DESTDIR=${D} install -} - -do_install:class-native () { - oe_runmake DESTDIR=${D}${STAGING_DIR_NATIVE} install -} - -do_install:class-cross () { - install -m 0755 ${S}/crash ${D}/${bindir} -} - RDEPENDS:${PN} += "liblzma" -RDEPENDS:${PN}:class-native = "" -RDEPENDS:${PN}:class-cross = "" # Causes gcc to get stuck and eat all available memory in qemuarm builds # jenkins 15161 100 12.5 10389596 10321284 ? R 11:40 28:17 /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.2/cc1 -quiet -I . -I . -I ./common -I ./config -I ./../include/opcode -I ./../opcodes/.. -I ./../readline/.. -I ../bfd -I ./../bfd -I ./../include -I ../libdecnumber -I ./../libdecnumber -I ./gnulib/import -I build-gnulib/import -isysroot /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/qemuarm -MMD eval.d -MF .deps/eval.Tpo -MP -MT eval.o -D LOCALEDIR="/usr/local/share/locale" -D CRASH_MERGE -D HAVE_CONFIG_H -D TUI=1 eval.c -quiet -dumpbase eval.c -march=armv5te -mthumb -mthumb-interwork -mtls-dialect=gnu -auxbase-strip eval.o -g -O2 -Wall -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-prototypes -Wdeclaration-after-statement -Wempty-body -feliminate-unused-debug-types -o - diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0001-make-src-string-const-in-strlcpy.patch b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0001-make-src-string-const-in-strlcpy.patch deleted file mode 100644 index 546973e0ac..0000000000 --- a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0001-make-src-string-const-in-strlcpy.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 4ee56105881d7bb1da1e668ac5bb47a4e0846676 Mon Sep 17 00:00:00 2001 -From: Lianbo Jiang <lijiang@redhat.com> -Date: Wed, 5 Jul 2023 10:02:59 +0800 -Subject: [PATCH] Fix compilation error due to new strlcpy function that glibc - added -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The crash-utility has its own strlcpy(), but recently the latest glibc -has also implemented the strlcpy function, which is derived from -OpenBSD. Eventually this caused the following compilation error: - - # make -j8 lzo - ... - In file included from global_data.c:18: - defs.h:5556:8: error: conflicting types for ‘strlcpy’; have ‘size_t(char *, char *, size_t)’ {aka ‘long unsigned int(char *, char *, long unsigned int)’} - 5556 | size_t strlcpy(char *, char *, size_t); - | ^~~~~~~ - In file included from memory.c:19: - defs.h:5556:8: error: conflicting types for ‘strlcpy’; have ‘size_t(char *, char *, size_t)’ {aka ‘long unsigned int(char *, char *, long unsigned int)’} - 5556 | size_t strlcpy(char *, char *, size_t); - | ^~~~~~~ - ... - -To fix the issue, let's declare the strlcpy() as a weak function and -keep the same parameter types as the glibc function has. - -Related glibc commits: -454a20c8756c ("Implement strlcpy and strlcat [BZ #178]") -d2fda60e7c40 ("manual: Manual update for strlcat, strlcpy, wcslcat, wclscpy") -388ae538ddcb ("hurd: Add strlcpy, strlcat, wcslcpy, wcslcat to libc.abilist") - -Upstream-Status: Backport [https://github.com/kraj/crash/commit/4ee56105881d7bb1da1e668ac5bb47a4e0846676] -Signed-off-by: Lianbo Jiang <lijiang@redhat.com> ---- - defs.h | 2 +- - tools.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/defs.h b/defs.h -index 8f7d1fa..26afe23 100644 ---- a/defs.h -+++ b/defs.h -@@ -5553,7 +5553,7 @@ uint32_t swap32(uint32_t, int); - uint64_t swap64(uint64_t, int); - ulong *get_cpumask_buf(void); - int make_cpumask(char *, ulong *, int, int *); --size_t strlcpy(char *, char *, size_t); -+size_t strlcpy(char *, const char *, size_t) __attribute__ ((__weak__)); - struct rb_node *rb_first(struct rb_root *); - struct rb_node *rb_parent(struct rb_node *, struct rb_node *); - struct rb_node *rb_right(struct rb_node *, struct rb_node *); -diff --git a/tools.c b/tools.c -index 392a797..0f2db10 100644 ---- a/tools.c -+++ b/tools.c -@@ -6795,7 +6795,7 @@ make_cpumask_error: - * always be NULL-terminated. - */ - size_t --strlcpy(char *dest, char *src, size_t size) -+strlcpy(char *dest, const char *src, size_t size) - { - size_t ret = strlen(src); - --- -2.41.0 - diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/config-site.crash-7.0.9 b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/config-site.crash-7.0.9 deleted file mode 100644 index d6fc22fb34..0000000000 --- a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/config-site.crash-7.0.9 +++ /dev/null @@ -1 +0,0 @@ -bash_cv_have_mbstate_t=yes diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash_8.0.4.bb b/meta-openembedded/meta-oe/recipes-kernel/crash/crash_8.0.4.bb new file mode 100644 index 0000000000..cc46ab9ea7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash_8.0.4.bb @@ -0,0 +1,29 @@ +require crash.inc + +PR = "${INC_PR}.0" + +BBCLASSEXTEND = "native cross" + +EXTRA_OEMAKE:class-cross = 'RPMPKG="${PV}" \ + GDB_TARGET="${BUILD_SYS} --target=${TARGET_SYS}" \ + GDB_HOST="${BUILD_SYS}" \ + GDB_MAKE_JOBS="${PARALLEL_MAKE}" \ + ' + +EXTRA_OEMAKE:append:class-native = " LDFLAGS='${BUILD_LDFLAGS}'" +EXTRA_OEMAKE:append:class-cross = " LDFLAGS='${BUILD_LDFLAGS}'" + +do_install:class-target () { + oe_runmake DESTDIR=${D} install +} + +do_install:class-native () { + oe_runmake DESTDIR=${D}${STAGING_DIR_NATIVE} install +} + +do_install:class-cross () { + install -m 0755 ${S}/crash ${D}/${bindir} +} + +RDEPENDS:${PN}:class-native = "" +RDEPENDS:${PN}:class-cross = "" diff --git a/meta-openembedded/meta-oe/recipes-multimedia/faad2/faad2_2.10.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/faad2/faad2_2.11.1.bb index 1b42360739..76e8f72c4f 100644 --- a/meta-openembedded/meta-oe/recipes-multimedia/faad2/faad2_2.10.0.bb +++ b/meta-openembedded/meta-oe/recipes-multimedia/faad2/faad2_2.11.1.bb @@ -10,8 +10,8 @@ LICENSE_FLAGS = "commercial" PV .= "+git${SRCPV}" SRC_URI = "git://github.com/knik0/faad2.git;branch=master;protocol=https" -SRCREV = "df42c6fc018552519d140e3d8ffe7046ed48b0cf" +SRCREV = "216f00e8ddba6f2c64caf481a04f1ddd78b93e78" S = "${WORKDIR}/git" -inherit autotools lib_package +inherit cmake diff --git a/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_11.6.3.bb b/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_11.6.4.bb index ceb9f25aeb..2dd7b684e4 100644 --- a/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_11.6.3.bb +++ b/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_11.6.4.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" DEPENDS = "zlib jpeg ${@bb.utils.contains('PACKAGECONFIG', 'gnutls', 'gnutls', 'openssl', d)}" SRC_URI = "git://github.com/qpdf/qpdf.git;protocol=https;branch=main" -SRCREV = "81823f4032caefd1050bccb207d315839c1c48db" +SRCREV = "d8371889d070d2f88636434ebd8412708a63e54e" inherit cmake pkgconfig gettext diff --git a/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.11.2.bb b/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.11.3.bb index 9b6a52e2e2..14a3cbe462 100644 --- a/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.11.2.bb +++ b/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.11.3.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=6d502b41f76179fc84e536236f359cae" DEPENDS = "jansson zlib xz" BRANCH = "branch-1.11" -SRCREV = "44d1c4f221ccc4571a4b4b9edb023ed1e89354b7" +SRCREV = "35ff8b997738e4d983871902d47bfb67b3250734" SRC_URI = "git://github.com/apache/avro;branch=${BRANCH};protocol=https \ " diff --git a/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares/run-ptest b/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares/run-ptest new file mode 100644 index 0000000000..15971dec05 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares/run-ptest @@ -0,0 +1,7 @@ +#!/bin/sh + +if ./arestest; then + echo "PASS: c-ares" +else + echo "FAIL: c-ares" +fi diff --git a/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.22.1.bb b/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.22.1.bb deleted file mode 100644 index 8ba1b60995..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.22.1.bb +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright (c) 2012-2014 LG Electronics, Inc. -SUMMARY = "c-ares is a C library that resolves names asynchronously." -HOMEPAGE = "http://daniel.haxx.se/projects/c-ares/" -SECTION = "libs" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=fdbc58a6da11a9f68aa73c453818decc" - -SRC_URI = "git://github.com/c-ares/c-ares.git;branch=main;protocol=https" -SRCREV = "36466bb240661fa8fdc2ffa47d229d92ac762286" - -UPSTREAM_CHECK_GITTAGREGEX = "cares-(?P<pver>\d+_(\d_?)+)" - -S = "${WORKDIR}/git" - -inherit cmake pkgconfig - -PACKAGES =+ "${PN}-utils" - -FILES:${PN}-utils = "${bindir}" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.24.0.bb b/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.24.0.bb new file mode 100644 index 0000000000..3b3b2b83fe --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.24.0.bb @@ -0,0 +1,30 @@ +# Copyright (c) 2012-2014 LG Electronics, Inc. +SUMMARY = "c-ares is a C library that resolves names asynchronously." +HOMEPAGE = "http://daniel.haxx.se/projects/c-ares/" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=fdbc58a6da11a9f68aa73c453818decc" + +SRC_URI = "https://c-ares.org/download/c-ares-1.24.0.tar.gz \ + file://run-ptest" +SRC_URI[sha256sum] = "c517de6d5ac9cd55a9b72c1541c3e25b84588421817b5f092850ac09a8df5103" + +PACKAGECONFIG ?= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" +PACKAGECONFIG[manpages] = "" +PACKAGECONFIG[tests] = "-DCARES_BUILD_TESTS=ON,-DCARES_BUILD_TESTS=OFF,googletest" + +inherit cmake manpages pkgconfig ptest + +EXTRA_OECMAKE = "-DCARES_STATIC=${@ 'ON' if d.getVar('DISABLE_STATIC') == '' else 'OFF' }" + +do_install_ptest () { + install -d ${D}${PTEST_PATH} + install -m 0755 ${B}/bin/arestest ${D}${PTEST_PATH} + install -m 0755 ${WORKDIR}/run-ptest ${D}${PTEST_PATH} +} + +PACKAGE_BEFORE_PN = "${PN}-utils" + +FILES:${PN}-utils = "${bindir}" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.18.bb b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.19.bb index 36545503ed..aec7286404 100644 --- a/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.18.bb +++ b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.19.bb @@ -11,8 +11,8 @@ SRC_URI = "git://github.com/Microsoft/cpprestsdk.git;protocol=https;branch=maste file://disable-float-tests.patch \ file://disable-outside-tests.patch " -# tag 2.10.18 -SRCREV= "122d09549201da5383321d870bed45ecb9e168c5" +# tag 2.10.19 +SRCREV= "411a109150b270f23c8c97fa4ec9a0a4a98cdecf" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-support/cyaml/cyaml_1.4.1.bb b/meta-openembedded/meta-oe/recipes-support/cyaml/cyaml_1.4.1.bb new file mode 100644 index 0000000000..f63348a328 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/cyaml/cyaml_1.4.1.bb @@ -0,0 +1,27 @@ +SUMMARY = "Cyaml library" +DESCRIPTION = "LibCYAML is a library for reading and writing structured YAML documents." +HOMEPAGE = "https://github.com/tlsa/libcyaml" +SECTION = "libs" +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fe6f0e49348c87bddd5d27803dceaaf0" +DEPENDS = " \ + libyaml \ +" +SRCREV = "07ff8654a270ec9b410acd3152b60de9e9f941af" + +SRC_URI = "git://github.com/tlsa/libcyaml.git;protocol=https;branch=main" + +S = "${WORKDIR}/git" + +inherit pkgconfig + +EXTRA_OEMAKE = "'PREFIX=""' 'DESTDIR=${D}' 'CFLAGS=${CFLAGS}' 'LIBDIR=${libdir}' 'INCLUDEDIR=${includedir}' 'VARIANT=release'" + +do_compile() { + oe_runmake +} +do_install() { + oe_runmake install +} + +CFLAGS += "-pedantic -Wall -Wextra -O3 -Iinclude"
\ No newline at end of file diff --git a/meta-openembedded/meta-oe/recipes-support/dool/dool/0001-Fix-build-error-as-following.patch b/meta-openembedded/meta-oe/recipes-support/dool/dool/0001-Fix-build-error-as-following.patch deleted file mode 100644 index 2324af4997..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/dool/dool/0001-Fix-build-error-as-following.patch +++ /dev/null @@ -1,39 +0,0 @@ -From e81feec1ebbc676220cd8759d83f46335602d079 Mon Sep 17 00:00:00 2001 -From: Lei Maohui <leimaohui@fujitsu.com> -Date: Fri, 7 Jan 2022 14:37:36 +0900 -Subject: [PATCH] Fix build error as following: - -*** No rule to make target 'dstat.1', needed by 'docs'. Stop. - -Upstream-Status: Pending - -Signed-off-by: Lei Maohui <leimaohui@fujitsu.com> ---- - docs/Makefile | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/docs/Makefile b/docs/Makefile -index c031e82..1a85e61 100644 ---- a/docs/Makefile -+++ b/docs/Makefile -@@ -11,13 +11,13 @@ all: - - dist: docs - --docs: dstat.1 $(htmltargets) -+docs: dool.1 $(htmltargets) - --install: dstat.1 -- install -Dp -m0644 dstat.1 $(DESTDIR)$(mandir)/man1/dstat.1 -+install: dool.1 -+ install -Dp -m0644 dool.1 $(DESTDIR)$(mandir)/man1/dool.1 - - clean: -- rm -f dstat.1 *.html *.xml -+ rm -f dool.1 *.html *.xml - - %.1.html: %.1.adoc - asciidoc -d manpage $< --- -2.25.1 - diff --git a/meta-openembedded/meta-oe/recipes-support/dool/dool/0001-Fix-rename-in-docs.patch b/meta-openembedded/meta-oe/recipes-support/dool/dool/0001-Fix-rename-in-docs.patch deleted file mode 100644 index 8d576f5d58..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/dool/dool/0001-Fix-rename-in-docs.patch +++ /dev/null @@ -1,261 +0,0 @@ -From 689c65fb050976d5a548a5b9a0f5d2c14eaa3301 Mon Sep 17 00:00:00 2001 -From: Alexander Stein <alexander.stein@tq-group.com> -Date: Thu, 8 Dec 2022 14:11:46 +0100 -Subject: [PATCH 1/1] Fix rename in docs - -The content of dool.1.adoc is completly unchanged from dstat.1.adoc. -Unfortunately the 'NAME' specifies the created file name. So -building/cleaning docs is currently broken - -Upstream-Status: Pending -https://github.com/scottchiefbaker/dool/pull/30 - -Signed-off-by: Alexander Stein <alexander.stein@tq-group.com> ---- - docs/dool.1.adoc | 108 +++++++++++++++++++++++------------------------ - 1 file changed, 54 insertions(+), 54 deletions(-) - -diff --git a/docs/dool.1.adoc b/docs/dool.1.adoc -index 24c4a54..921df1f 100644 ---- a/docs/dool.1.adoc -+++ b/docs/dool.1.adoc -@@ -1,35 +1,35 @@ --= dstat(1) -+= dool(1) - Dag Wieers <dag@wieers.com> - v0.7.3, August 2014 - - - == NAME --dstat - versatile tool for generating system resource statistics -+dool - versatile tool for generating system resource statistics - - - == SYNOPSIS --dstat [-afv] [options..] [delay [count]] -+dool [-afv] [options..] [delay [count]] - - - == DESCRIPTION --Dstat is a versatile replacement for vmstat, iostat and ifstat. Dstat -+Dool is a versatile replacement for vmstat, iostat and ifstat. Dool - overcomes some of the limitations and adds some extra features. - --Dstat allows you to view all of your system resources instantly, you -+Dool allows you to view all of your system resources instantly, you - can eg. compare disk usage in combination with interrupts from your - IDE controller, or compare the network bandwidth numbers directly with - the disk throughput (in the same interval). - --Dstat also cleverly gives you the most detailed information in columns -+Dool also cleverly gives you the most detailed information in columns - and clearly indicates in what magnitude and unit the output is displayed. - Less confusion, less mistakes, more efficient. - --Dstat is unique in letting you aggregate block device throughput for a -+Dool is unique in letting you aggregate block device throughput for a - certain diskset or network bandwidth for a group of interfaces, ie. - you can see the throughput for all the block devices that make up a - single filesystem or storage system. - --Dstat allows its data to be directly written to a CSV file to be -+Dool allows its data to be directly written to a CSV file to be - imported and used by OpenOffice, Gnumeric or Excel to create graphs. - - [NOTE] -@@ -187,13 +187,13 @@ Possible internal stats are:: - write CSV output to file - - --profile:: -- show profiling statistics when exiting dstat -+ show profiling statistics when exiting dool - - - == PLUGINS --While anyone can create their own dstat plugins (and contribute them) dstat -+While anyone can create their own dool plugins (and contribute them) dool - ships with a number of plugins already that extend its capabilities greatly. --Here is an overview of the plugins dstat ships with: -+Here is an overview of the plugins dool ships with: - - --battery:: - battery in percentage (needs ACPI) -@@ -225,17 +225,17 @@ Here is an overview of the plugins dstat ships with: - --disk-wait:: - average time (in milliseconds) for I/O requests issued to the device to be served - ----dstat:: -- show dstat cputime consumption and latency -+--dool:: -+ show dool cputime consumption and latency - ----dstat-cpu:: -- show dstat advanced cpu usage -+--dool-cpu:: -+ show dool advanced cpu usage - ----dstat-ctxt:: -- show dstat context switches -+--dool-ctxt:: -+ show dool context switches - ----dstat-mem:: -- show dstat advanced memory usage -+--dool-mem:: -+ show dool advanced memory usage - - --fan:: - fan speed (needs ACPI) -@@ -250,7 +250,7 @@ Here is an overview of the plugins dstat ships with: - GPFS filesystem operations (needs mmpmon) - - --helloworld:: -- Hello world example dstat plugin -+ Hello world example dool plugin - - --innodb-buffer:: - show innodb buffer stats -@@ -340,22 +340,22 @@ Here is an overview of the plugins dstat ships with: - show sendmail queue size (needs sendmail) - - --snmp-cpu:: -- show CPU stats using SNMP from DSTAT_SNMPSERVER -+ show CPU stats using SNMP from DOOL_SNMPSERVER - - --snmp-load:: -- show load stats using SNMP from DSTAT_SNMPSERVER -+ show load stats using SNMP from DOOL_SNMPSERVER - - --snmp-mem:: -- show memory stats using SNMP from DSTAT_SNMPSERVER -+ show memory stats using SNMP from DOOL_SNMPSERVER - - --snmp-net:: -- show network stats using SNMP from DSTAT_SNMPSERVER -+ show network stats using SNMP from DOOL_SNMPSERVER - - --snmp-net-err: -- show network errors using SNMP from DSTAT_SNMPSERVER -+ show network errors using SNMP from DOOL_SNMPSERVER - - --snmp-sys:: -- show system stats (interrupts and context switches) using SNMP from DSTAT_SNMPSERVER -+ show system stats (interrupts and context switches) using SNMP from DOOL_SNMPSERVER - - --snooze:: - show number of ticks per second -@@ -463,7 +463,7 @@ The default delay is 1 and count is unspecified (unlimited) - - - == INTERMEDIATE UPDATES --When invoking dstat with a *delay* greater than 1 and without the -+When invoking dool with a *delay* greater than 1 and without the - *--noupdate* option, it will show intermediate updates, ie. the first - time a 1 sec average, the second update a 2 second average, etc. until - the delay has been reached. -@@ -475,34 +475,34 @@ average on a new line, just like with vmstat. - - - == EXAMPLES --Using dstat to relate disk-throughput with network-usage (eth0), total CPU-usage and system counters: -+Using dool to relate disk-throughput with network-usage (eth0), total CPU-usage and system counters: - ---- --dstat -dnyc -N eth0 -C total -f 5 -+dool -dnyc -N eth0 -C total -f 5 - ---- - --Checking dstat's behaviour and the system impact of dstat: -+Checking dool's behaviour and the system impact of dool: - ---- --dstat -taf --debug -+dool -taf --debug - ---- - - Using the time plugin together with cpu, net, disk, system, load, proc and - top_cpu plugins: - ---- --dstat -tcndylp --top-cpu -+dool -tcndylp --top-cpu - ---- - this is identical to - ---- --dstat --time --cpu --net --disk --sys --load --proc --top-cpu -+dool --time --cpu --net --disk --sys --load --proc --top-cpu - ---- - --Using dstat to relate advanced cpu stats with interrupts per device: -+Using dool to relate advanced cpu stats with interrupts per device: - ---- --dstat -t --cpu-adv -yif -+dool -t --cpu-adv -yif - ---- - - - == BUGS --Since it is practically impossible to test dstat on every possible -+Since it is practically impossible to test dool on every possible - permutation of kernel, python or distribution version, I need your - help and your feedback to fix the remaining problems. If you have - improvements or bugreports, please send them to: -@@ -513,40 +513,40 @@ Please see the TODO file for known bugs and future plans. - - - == FILES --Paths that may contain external dstat_*.py plugins: -+Paths that may contain external dool_*.py plugins: - -- ~/.dstat/ -+ ~/.dool/ - (path of binary)/plugins/ -- /usr/share/dstat/ -- /usr/local/share/dstat/ -+ /usr/share/dool/ -+ /usr/local/share/dool/ - - == ENVIRONMENT VARIABLES - --Dstat will read additional command line arguments from the environment --variable *DSTAT_OPTS*. You can use this to configure Dstat's default -+Dool will read additional command line arguments from the environment -+variable *DOOL_OPTS*. You can use this to configure Dool's default - behavior, e.g. if you have a black-on-white terminal: - -- export DSTAT_OPTS="--bw --noupdate" -+ export DOOL_OPTS="--bw --noupdate" - - Other internal or external plugins have their own environment variables - to influence their behavior, e.g. - - -- DSTAT_NTPSERVER -+ DOOL_NTPSERVER - -- DSTAT_MYSQL -- DSTAT_MYSQL_HOST -- DSTAT_MYSQL_PORT -- DSTAT_MYSQL_SOCKET -- DSTAT_MYSQL_USER -- DSTAT_MYSQL_PWD -+ DOOL_MYSQL -+ DOOL_MYSQL_HOST -+ DOOL_MYSQL_PORT -+ DOOL_MYSQL_SOCKET -+ DOOL_MYSQL_USER -+ DOOL_MYSQL_PWD - -- DSTAT_SNMPSERVER -- DSTAT_SNMPCOMMUNITY -+ DOOL_SNMPSERVER -+ DOOL_SNMPCOMMUNITY - -- DSTAT_SQUID_OPTS -+ DOOL_SQUID_OPTS - -- DSTAT_TIMEFMT -+ DOOL_TIMEFMT - - == SEE ALSO - --- -2.34.1 - diff --git a/meta-openembedded/meta-oe/recipes-support/dool/dool_1.1.0.bb b/meta-openembedded/meta-oe/recipes-support/dool/dool_1.1.0.bb deleted file mode 100644 index 211f3a2b11..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/dool/dool_1.1.0.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "versatile resource statics tool" -DESCRIPTION = "Dstat is a versatile replacement for vmstat, iostat, netstat and ifstat. \ -Dstat overcomes some of their limitations and adds some extra features, more counters \ -and flexibility. Dstat is handy for monitoring systems during performance tuning tests, \ -benchmarks or troubleshooting." -HOMEPAGE = "http://dag.wiee.rs/home-made/dstat" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS += "asciidoc-native xmlto-native" - -SRC_URI = "git://github.com/scottchiefbaker/dool.git;branch=master;protocol=https \ - file://0001-Fix-build-error-as-following.patch \ - file://0001-Fix-rename-in-docs.patch \ - " - -SRCREV = "41ec7b392b358dae29f0b587711d5c8f7f462805" - -S = "${WORKDIR}/git" - -do_install() { - oe_runmake 'DESTDIR=${D}' install -} - -RDEPENDS:${PN} += "python3-core python3-misc python3-resource python3-shell python3-six python3-unixadmin" diff --git a/meta-openembedded/meta-oe/recipes-support/dool/dool_1.3.1.bb b/meta-openembedded/meta-oe/recipes-support/dool/dool_1.3.1.bb new file mode 100644 index 0000000000..b20f8b4015 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/dool/dool_1.3.1.bb @@ -0,0 +1,23 @@ +SUMMARY = "Dool is a Python3 compatible fork of Dstat" +DESCRIPTION = "Dool is a command line tool to monitor many aspects of your system: \ +CPU, Memory, Network, Load Average, etc. It also includes a robust plug-in architecture \ +to allow monitoring other system metrics." +HOMEPAGE = "http://dag.wiee.rs/home-made/dstat" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464" + +DEPENDS += "asciidoc-native xmlto-native" +RDEPENDS:${PN} += "python3-core python3-misc python3-resource python3-shell python3-six python3-unixadmin" + +SRC_URI = "git://github.com/scottchiefbaker/dool.git;branch=master;protocol=https \ + " + +SRCREV = "30847c748483bc088549486292232d805b086b1f" + +S = "${WORKDIR}/git" + +do_install() { + oe_runmake 'DESTDIR=${D}' install +} + + diff --git a/meta-openembedded/meta-oe/recipes-support/driverctl/driverctl_0.111.bb b/meta-openembedded/meta-oe/recipes-support/driverctl/driverctl_0.111.bb deleted file mode 100644 index f5f542c541..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/driverctl/driverctl_0.111.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "driverctl is a device driver control utility for Linux" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/LGPL-2.1-only;md5=1a6d268fd218675ffea8be556788b780" - -REQUIRED_DISTRO_FEATURES = "systemd" - -DEPENDS = "systemd" -RDEPENDS:${PN} += "bash bash-completion" - -SRC_URI = " git://gitlab.com/driverctl/driverctl.git;branch=master" -SRCREV = "fa9dce43d1a667d6e6e26895fbed01b3b04362c9" - -S = "${WORKDIR}/git" - -inherit pkgconfig systemd features_check - -FILES:${PN} += "${libdir}" -FILES:${PN} += "${libdir}/udev" -FILES:${PN} += "${libdir}/udev/rules.d" -FILES:${PN} += "${systemd_unitdir}" -FILES:${PN} += "${systemd_unitdir}/system" -FILES:${PN} += "${datadir}" -FILES:${PN} += "${datadir}/bash-completion" -FILES:${PN} += "${datadir}/bash-completion/completions" - -do_install () { - oe_runmake install DESTDIR=${D} -} diff --git a/meta-openembedded/meta-oe/recipes-support/driverctl/driverctl_0.115.bb b/meta-openembedded/meta-oe/recipes-support/driverctl/driverctl_0.115.bb new file mode 100644 index 0000000000..970844f982 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/driverctl/driverctl_0.115.bb @@ -0,0 +1,26 @@ +SUMMARY = "driverctl is a device driver control utility for Linux" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +REQUIRED_DISTRO_FEATURES = "systemd" + +DEPENDS = "systemd" +RDEPENDS:${PN} += "bash bash-completion" + +SRC_URI = "git://gitlab.com/driverctl/driverctl.git;branch=master;protocol=https" +SRCREV = "2ba60536eb20ca0a6a751bd8b6501dba84ec45d3" + +S = "${WORKDIR}/git" + +inherit pkgconfig systemd features_check + +do_install () { + oe_runmake install DESTDIR=${D} +} + +FILES:${PN} += " \ + ${libdir} \ + ${datadir} \ + ${systemd_system_unitdir} \ +" + diff --git a/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.14.2.bb b/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.14.2.bb index e716430673..b8a81bb0b7 100644 --- a/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.14.2.bb +++ b/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.14.2.bb @@ -58,7 +58,5 @@ do_install:append() { BBCLASSEXTEND = "native" -SRC_DISTRIBUTE_LICENSES += "HDF5" - # h5fuse.sh script needs bash RDEPENDS:${PN} += "bash" diff --git a/meta-openembedded/meta-oe/recipes-support/hstr/hstr_2.5.0.bb b/meta-openembedded/meta-oe/recipes-support/hstr/hstr_3.1.0.bb index 6c9f65e829..a641feef6f 100644 --- a/meta-openembedded/meta-oe/recipes-support/hstr/hstr_2.5.0.bb +++ b/meta-openembedded/meta-oe/recipes-support/hstr/hstr_3.1.0.bb @@ -6,12 +6,12 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314" DEPENDS = "ncurses readline" -SRC_URI = "https://github.com/dvorka/hstr/releases/download/2.5/hstr-${PV}-tarball.tgz \ +SRC_URI = "https://github.com/dvorka/hstr/releases/download/3.1/hstr-${PV}-tarball.tgz \ file://0001-configure.ac-Don-t-use-AC_CHECK_FILE.patch \ file://0001-Use-OE-specific-checks-for-ncurses.patch" S = "${WORKDIR}/${BPN}" -SRC_URI[sha256sum] = "44bb6d93ef064536218f8ae5464772861bfccfe364a436397d9f770207cd306d" +SRC_URI[sha256sum] = "4dabf61f045f022bac8bc909e5fd96041af6c53df56d97dfa3cfbf49af4453a5" inherit autotools pkgconfig bash-completion diff --git a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.376.bb b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.377.bb index 1666d5e4da..dea819e44f 100644 --- a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.376.bb +++ b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.377.bb @@ -5,7 +5,7 @@ SECTION = "System/Base" LICENSE = "GPL-2.0-or-later | XFree86-1.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57" -SRCREV = "e27f08bda517100746000dacdd882b6a7e7ce19a" +SRCREV = "7c46440af001d0bc8230b6f009b73a25b614e032" SRC_URI = "git://github.com/vcrhonek/${BPN}.git;branch=master;protocol=https" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.10.bb b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.10.bb index 28e40f66e3..daa01bfc3d 100644 --- a/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.10.bb +++ b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.10.bb @@ -7,7 +7,6 @@ SECTION = "devel/lib" LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c" S = "${WORKDIR}/git" -B = "${S}" SRCREV = "6e83cc6f6dff4f126fc79284e0c3c1c50123380d" SRC_URI = "git://github.com/storaged-project/libbytesize;branch=main;protocol=https" diff --git a/meta-openembedded/meta-oe/recipes-support/libharu/libharu/0001-Install-static-lib-into-var-libdir-rather-than-hardc.patch b/meta-openembedded/meta-oe/recipes-support/libharu/libharu/0001-Install-static-lib-into-var-libdir-rather-than-hardc.patch deleted file mode 100644 index 0947de196c..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/libharu/libharu/0001-Install-static-lib-into-var-libdir-rather-than-hardc.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 9341ac4f6ae38efe95dfd188105a9ea30941ccf6 Mon Sep 17 00:00:00 2001 -From: Lei Maohui <leimaohui@cn.fujitsu.com> -Date: Wed, 18 Nov 2020 23:09:51 +0900 -Subject: [PATCH] Install static lib into var-libdir rather than hardcod lib. - -Lei Maohui <leimaohui@cn.fujitsu.com> - -Upstream-Status: Pending ---- - src/CMakeLists.txt | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 249916c..fb06ea3 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -75,8 +75,8 @@ if(LIBHPDF_STATIC) - target_link_libraries(${LIBHPDF_NAME_STATIC} ${ADDITIONAL_LIBRARIES}) - install( - TARGETS ${LIBHPDF_NAME_STATIC} -- ARCHIVE DESTINATION lib -- LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION ${LIB_INSTALL_DIR} -+ LIBRARY DESTINATION ${LIB_INSTALL_DIR} - RUNTIME DESTINATION bin - ) - if(WIN32 AND NOT CYGWIN) --- -2.25.1 - diff --git a/meta-openembedded/meta-oe/recipes-support/libharu/libharu/libharu-RELEASE_2_3_0_cmake.patch b/meta-openembedded/meta-oe/recipes-support/libharu/libharu/libharu-RELEASE_2_3_0_cmake.patch deleted file mode 100644 index 05f78ed735..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/libharu/libharu/libharu-RELEASE_2_3_0_cmake.patch +++ /dev/null @@ -1,52 +0,0 @@ -Backport from Fedora Project. -https://src.fedoraproject.org/rpms/libharu - -Fix the install destination of some files. - -Upstream-Status: Inappropriate - -Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com> - -diff -urp libharu-RELEASE_2_3_0/CMakeLists.txt libharu-RELEASE_2_3_0_cmake/CMakeLists.txt ---- libharu-RELEASE_2_3_0/CMakeLists.txt 2013-10-30 20:11:59.000000000 +0700 -+++ libharu-RELEASE_2_3_0_cmake/CMakeLists.txt 2017-06-01 15:56:06.533552795 +0700 -@@ -25,7 +25,7 @@ endif(MSVC) - - # information about libharu - set(LIBHPDF_MAJOR 2) --set(LIBHPDF_MINOR 2) -+set(LIBHPDF_MINOR 3) - set(LIBHPDF_PATCH 0) - set(LIBHPDF_VERSION ${LIBHPDF_MAJOR}.${LIBHPDF_MINOR}.${LIBHPDF_PATCH}) - set(LIBHPDF_DESCRIPTION "libHaru is a free, cross platform, open source library for generating PDF files.") -@@ -210,9 +210,9 @@ set( - install(FILES ${haru_HDRS} DESTINATION include) - - # install various files --install(FILES README CHANGES INSTALL DESTINATION .) -+install(FILES README CHANGES INSTALL DESTINATION ${SHARE_INSTALL_PREFIX}/libharu) - if(NOT DEVPAK) -- install(DIRECTORY if DESTINATION .) -+ install(DIRECTORY if DESTINATION ${SHARE_INSTALL_PREFIX}/libharu) - endif(NOT DEVPAK) - if(DEVPAK) - install(FILES ${CMAKE_BINARY_DIR}/libharu.DevPackage DESTINATION .) -diff -urp libharu-RELEASE_2_3_0/src/CMakeLists.txt libharu-RELEASE_2_3_0_cmake/src/CMakeLists.txt ---- libharu-RELEASE_2_3_0/src/CMakeLists.txt 2013-10-30 20:11:59.000000000 +0700 -+++ libharu-RELEASE_2_3_0_cmake/src/CMakeLists.txt 2017-06-01 16:08:45.425105746 +0700 -@@ -90,11 +90,13 @@ if(LIBHPDF_SHARED) - target_link_libraries(${LIBHPDF_NAME} ${ADDITIONAL_LIBRARIES}) - if(WIN32 AND NOT CYGWIN) - set_target_properties(${LIBHPDF_NAME} PROPERTIES DEFINE_SYMBOL HPDF_DLL_MAKE) -+ else(WIN32 AND NOT CYGWIN) -+ set_target_properties(${LIBHPDF_NAME} PROPERTIES SOVERSION ${LIBHPDF_VERSION}) - endif(WIN32 AND NOT CYGWIN) - install( - TARGETS ${LIBHPDF_NAME} -- ARCHIVE DESTINATION lib -- LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION ${LIB_INSTALL_DIR} -+ LIBRARY DESTINATION ${LIB_INSTALL_DIR} - RUNTIME DESTINATION bin - ) - endif(LIBHPDF_SHARED) diff --git a/meta-openembedded/meta-oe/recipes-support/libharu/libharu_2.3.0.bb b/meta-openembedded/meta-oe/recipes-support/libharu/libharu_2.3.0.bb deleted file mode 100644 index 7477c5f03b..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/libharu/libharu_2.3.0.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "free PDF library" -HOMEPAGE = "http://libharu.org" -DESCRIPTION = "libHaru is a library for generating PDF files. \ - It is free, open source, written in ANSI C and cross platform. " - -LICENSE = "Zlib" -LIC_FILES_CHKSUM = "file://README;md5=3ee6bc1f64d9cc7907f44840c8e50cb1" - -SRC_URI = "git://github.com/libharu/libharu.git;branch=2_3;protocol=https \ - file://libharu-RELEASE_2_3_0_cmake.patch \ - file://0001-Install-static-lib-into-var-libdir-rather-than-hardc.patch \ - " - -SRCREV = "4ae1d5f4c84459f130bf1b1ef4c5c330af8eca5d" - -S = "${WORKDIR}/git" - -inherit cmake -DEPENDS += "libpng zlib" - -do_install:append() { - mkdir -p ${D}/${datadir}/libharu - mv ${D}/libharu ${D}/${datadir} -} diff --git a/meta-openembedded/meta-oe/recipes-support/libharu/libharu_2.4.4.bb b/meta-openembedded/meta-oe/recipes-support/libharu/libharu_2.4.4.bb new file mode 100644 index 0000000000..02dc499e03 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libharu/libharu_2.4.4.bb @@ -0,0 +1,16 @@ +SUMMARY = "free PDF library" +HOMEPAGE = "http://libharu.org" +DESCRIPTION = "libHaru is a library for generating PDF files. \ + It is free, open source, written in ANSI C and cross platform. " + +LICENSE = "Zlib" +LIC_FILES_CHKSUM = "file://LICENSE;md5=924546dab2bef90e370d7c0c090ddcf0" + +DEPENDS += "libpng zlib" + +SRC_URI = "git://github.com/libharu/libharu.git;branch=master;protocol=https" +SRCREV = "0c598becaadaef8e3d12b883f9fc2864a118c12d" + +S = "${WORKDIR}/git" + +inherit cmake diff --git a/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.3.1.bb b/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.3.1.bb index 2f6b1f247f..38e270c036 100644 --- a/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.3.1.bb +++ b/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.3.1.bb @@ -8,14 +8,12 @@ SRC_URI = "git://github.com/michaelrsweet/mxml.git;branch=master;protocol=https" SRCREV = "fd47c7d115191c8a6bce2c781ffee41e179530f2" S = "${WORKDIR}/git" -inherit autotools +# Package does not support out of tree builds. +inherit autotools-brokensep PACKAGECONFIG ??= "threads" PACKAGECONFIG[threads] = "--enable-threads,--disable-threads" -# Package does not support out of tree builds. -B = "${S}" - # MXML uses autotools but it explicitly states it does not support autoheader. EXTRA_AUTORECONF = "--exclude=autopoint,autoheader" diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-configure.ac-check-egrep.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-configure.ac-check-egrep.patch new file mode 100644 index 0000000000..474c2f8ac7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-configure.ac-check-egrep.patch @@ -0,0 +1,33 @@ +configure.ac: check egrep + +The macro AC_HEADER_STDC which requires AC_PROG_EGREP has been removed +from configure.ac, then it fails to substitute '@EGREP@': + +| [GEN] command-lines-input.h +| /bin/bash: line 2: @EGREP@: command not found +| [GEN] command-count.h + +Call AC_PROG_EGREP to fix the error. + +Upstream-Status: Submitted [https://gitlab.com/lvmteam/lvm2/-/merge_requests/4] + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.ac b/configure.ac +index 2e52498f9..d9462e22c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -78,6 +78,7 @@ AC_PROG_LN_S + AC_PROG_MAKE_SET + AC_PROG_MKDIR_P + AC_PROG_RANLIB ++AC_PROG_EGREP + AC_CHECK_TOOL([READELF], [readelf]) + AC_CHECK_TOOL(AR, ar) + AC_PATH_TOOL(CFLOW_CMD, cflow) +-- +2.34.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/files/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch deleted file mode 100644 index 1fbaf0c9ae..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/lvm2/files/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 3ae9c0b607ec33fb07f32a41e9d28cc9068dd39a Mon Sep 17 00:00:00 2001 -From: Dengke Du <dengke.du@windriver.com> -Date: Tue, 25 Oct 2016 11:52:44 +0000 -Subject: [PATCH] Guard use of mallinfo() with __GLIBC__ - -This API is glibc-only - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Signed-off-by: Dengke Du <dengke.du@windriver.com> - ---- -Upstream-Status: Pending - - lib/mm/memlock.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: LVM2.2.02.177/lib/mm/memlock.c -=================================================================== ---- LVM2.2.02.177.orig/lib/mm/memlock.c -+++ LVM2.2.02.177/lib/mm/memlock.c -@@ -151,7 +151,7 @@ static void _touch_memory(void *mem, siz - - static void _allocate_memory(void) - { --#ifndef VALGRIND_POOL -+#if !defined(VALGRIND_POOL) && defined(__GLIBC__) - void *stack_mem; - struct rlimit limit; - int i, area = 0, missing = _size_malloc_tmp, max_areas = 32, hblks; diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch index 517b9a5f28..ed9972a5f9 100644 --- a/meta-openembedded/meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch +++ b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch @@ -21,18 +21,18 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> 1 file changed, 2 deletions(-) diff --git a/configure.ac b/configure.ac -index e427708..aa374ea 100644 +index b43d8b9be..efe3062c1 100644 --- a/configure.ac +++ b/configure.ac -@@ -1791,8 +1791,6 @@ if test "$BUILD_DMFILEMAPD" = yes; then - fi +@@ -1646,8 +1646,6 @@ AS_IF([test "$BUILD_DMFILEMAPD" = "yes"], [ + ]) ################################################################################ -AC_PATH_TOOL(MODPROBE_CMD, modprobe, [], [$PATH_SBIN]) - - if test -n "$MODPROBE_CMD"; then + AS_IF([test -n "$MODPROBE_CMD"], [ AC_DEFINE_UNQUOTED([MODPROBE_CMD], ["$MODPROBE_CMD"], [The path to 'modprobe', if available.]) - fi + ]) -- 2.7.4 diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.03.16.bb b/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.03.22.bb index be558ce1d2..be558ce1d2 100644 --- a/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.03.16.bb +++ b/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.03.22.bb diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc index 277e76f0d2..c96989bfaf 100644 --- a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc +++ b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc @@ -10,15 +10,15 @@ DEPENDS += "libaio" SRC_URI = "git://sourceware.org/git/lvm2.git;branch=main \ file://lvm.conf \ file://0001-implement-libc-specific-reopen_stream.patch \ - file://0002-Guard-use-of-mallinfo-with-__GLIBC__.patch \ file://0004-tweak-MODPROBE_CMD-for-cross-compile.patch \ file://0001-Avoid-bashisms-in-init-scripts.patch \ file://0005-do-not-build-manual.patch \ file://0006-start-lvm2-monitor.service-after-tmp.mount.patch \ file://reproducible-build.patch \ + file://0001-configure.ac-check-egrep.patch \ " -SRCREV = "6d1e894a867681af7a811ed63bc435f3aa55fec8" +SRCREV = "016e469caf856f1eb8dde39df0d1aa2e74225aed" S = "${WORKDIR}/git" UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\_\d+)+)" diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch index 34e0620a1c..c0cf836ce8 100644 --- a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch +++ b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch @@ -15,10 +15,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac -index 4811d4a3d..137b31a82 100644 +index 991a0cf85..e59c82472 100644 --- a/configure.ac +++ b/configure.ac -@@ -1611,6 +1611,8 @@ fi +@@ -1660,6 +1660,8 @@ AS_IF([test -n "$MODPROBE_CMD"], [ SYSCONFDIR="$(eval echo $(eval echo $sysconfdir))" @@ -27,10 +27,10 @@ index 4811d4a3d..137b31a82 100644 SBINDIR="$(eval echo $(eval echo $sbindir))" LVM_PATH="$SBINDIR/lvm" AC_DEFINE_UNQUOTED(LVM_PATH, ["$LVM_PATH"], [Path to lvm binary.]) -@@ -1829,6 +1831,7 @@ AC_SUBST(SACKPT_CFLAGS) - AC_SUBST(SACKPT_LIBS) - AC_SUBST(SALCK_CFLAGS) - AC_SUBST(SALCK_LIBS) +@@ -1886,6 +1888,7 @@ AC_SUBST(PYTHON2DIR) + AC_SUBST(PYTHON3) + AC_SUBST(PYTHON3DIR) + AC_SUBST(RT_LIBS) +AC_SUBST(BINDIR) AC_SUBST(SBINDIR) AC_SUBST(SELINUX_LIBS) diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-lvmdbusd-create-dirs-for-lock-file.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-lvmdbusd-create-dirs-for-lock-file.patch new file mode 100644 index 0000000000..f6b293553d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-lvmdbusd-create-dirs-for-lock-file.patch @@ -0,0 +1,29 @@ +lvmdbusd: create dirs for lock file + +Create leading dirs for lvmdbusd lock file, otherwise it fails to start: + +| systemd[1]: Starting LVM2 D-Bus service... +| lvmdbusd[1602]: [1602]: Error during creation of lock file(/var/lock/lvm/lvmdbusd): errno(2), exiting! + +Upstream-Status: Submitted [https://gitlab.com/lvmteam/lvm2/-/merge_requests/7] + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- + daemons/lvmdbusd/utils.py | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/daemons/lvmdbusd/utils.py b/daemons/lvmdbusd/utils.py +index d479175f6..830648659 100644 +--- a/daemons/lvmdbusd/utils.py ++++ b/daemons/lvmdbusd/utils.py +@@ -778,6 +778,7 @@ class LockFile(object): + + def __enter__(self): + try: ++ os.makedirs(os.path.dirname(self.lock_file)) + self.fd = os.open(self.lock_file, os.O_CREAT | os.O_RDWR, stat.S_IRUSR | stat.S_IWUSR) + + # Get and set the close on exec and lock the file +-- +2.34.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/tweak-for-lvmdbusd.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/tweak-for-lvmdbusd.patch new file mode 100644 index 0000000000..3b85a17b61 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/tweak-for-lvmdbusd.patch @@ -0,0 +1,55 @@ +Not check python modules pyudev and dbus during configure that they are runtime +dependencies. Deal with them in the package config setting in the recipe. + +Remove $(DESTDIR) from install destination that it is not suitable for oe. And +no generate python cache files too. + +Upstream-Status: Pending [oe specific] + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- + configure.ac | 4 ++-- + daemons/lvmdbusd/Makefile.in | 6 ++---- + 2 files changed, 4 insertions(+), 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index ee088b3f5..b94ef4e56 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1262,8 +1262,8 @@ AS_IF([test "$BUILD_LVMDBUSD" = "yes"], [ + AS_IF([test "$PYTHON3_BINDINGS" = "yes"], [PYTHON_BINDINGS="yes"]) + + # To get this macro, install autoconf-archive package then run autoreconf +- AX_PYTHON_MODULE([pyudev], [Required], python3) +- AX_PYTHON_MODULE([dbus], [Required], python3) ++ # AX_PYTHON_MODULE([pyudev], [Required], python3) ++ # AX_PYTHON_MODULE([dbus], [Required], python3) + ]) + + ################################################################################ +diff --git a/daemons/lvmdbusd/Makefile.in b/daemons/lvmdbusd/Makefile.in +index 9c2629279..a79daabf7 100644 +--- a/daemons/lvmdbusd/Makefile.in ++++ b/daemons/lvmdbusd/Makefile.in +@@ -16,7 +16,7 @@ top_srcdir = @top_srcdir@ + top_builddir = @top_builddir@ + + lvmdbuspydir = $(python3dir)/lvmdbusd +-lvmdbusdir = $(DESTDIR)$(lvmdbuspydir) ++lvmdbusdir = $(lvmdbuspydir) + + LVMDBUS_SRCDIR_FILES = \ + automatedproperties.py \ +@@ -55,11 +55,9 @@ install_lvmdbusd: $(LVMDBUSD) + @echo " [INSTALL] $<" + $(Q) $(INSTALL_DIR) $(sbindir) + $(Q) $(INSTALL_SCRIPT) $(LVMDBUSD) $(sbindir) +- $(Q) $(INSTALL_DIR) $(lvmdbusdir) $(lvmdbusdir)/__pycache__ ++ $(Q) $(INSTALL_DIR) $(lvmdbusdir) + $(Q) (cd $(srcdir); $(INSTALL_DATA) $(LVMDBUS_SRCDIR_FILES) $(lvmdbusdir)) + $(Q) $(INSTALL_DATA) $(LVMDBUS_BUILDDIR_FILES) $(lvmdbusdir) +- $(Q) PYTHON=$(PYTHON3) $(PYCOMPILE) --destdir "$(DESTDIR)" --basedir "$(lvmdbuspydir)" $(LVMDBUS_SRCDIR_FILES) $(LVMDBUS_BUILDDIR_FILES) +- $(Q) $(CHMOD) 444 $(lvmdbusdir)/__pycache__/*.py[co] + + install_lvm2: install_lvmdbusd + diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.03.16.bb b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.03.22.bb index 6a6cdc7cef..c675d3ded8 100644 --- a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.03.16.bb +++ b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.03.22.bb @@ -2,11 +2,13 @@ require lvm2.inc SRC_URI += " \ file://0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch \ + file://tweak-for-lvmdbusd.patch \ + file://0001-lvmdbusd-create-dirs-for-lock-file.patch \ " DEPENDS += "autoconf-archive-native" -inherit multilib_script +inherit multilib_script python3native MULTILIB_SCRIPTS = "${PN}:${sysconfdir}/lvm/lvm.conf" @@ -28,13 +30,22 @@ do_install:append() { rm -rf ${D}${sysconfdir}/rc.d fi fi + + # following files only exist when package config `dbus` enabled + sed -i -e '1s,#!.*python.*,#!${USRBINPATH}/env python3,' \ + ${D}${sbindir}/lvmdbusd \ + ${D}${PYTHON_SITEPACKAGES_DIR}/lvmdbusd/lvmdb.py \ + ${D}${PYTHON_SITEPACKAGES_DIR}/lvmdbusd/lvm_shell_proxy.py \ + || true } PACKAGE_BEFORE_PN = "${PN}-scripts ${PN}-udevrules" SYSTEMD_PACKAGES = "${PN}" SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'dmeventd', 'lvm2-monitor.service dm-event.socket dm-event.service', '', d)} \ - blk-availability.service" + ${@bb.utils.contains('PACKAGECONFIG', 'dbus', 'lvm2-lvmdbusd.service', '', d)} \ + blk-availability.service \ + " SYSTEMD_AUTO_ENABLE = "disable" TARGET_CC_ARCH += "${LDFLAGS}" @@ -45,6 +56,8 @@ DEPENDS += "util-linux" LVM2_PACKAGECONFIG:append:class-target = " \ udev \ " + +PACKAGECONFIG[dbus] = "--enable-dbus-service,--disable-dbus-service,,python3-dbus python3-pyudev" PACKAGECONFIG[udev] = "--enable-udev_sync --enable-udev_rules --with-udevdir=${nonarch_base_libdir}/udev/rules.d,--disable-udev_sync --disable-udev_rules,udev,${PN}-udevrules" PACKAGES =+ "libdevmapper" @@ -57,6 +70,8 @@ FILES:libdevmapper = " \ FILES:${PN} += " \ ${libdir}/device-mapper/*.so \ ${systemd_system_unitdir}/lvm2-pvscan@.service \ + ${PYTHON_SITEPACKAGES_DIR}/lvmdbusd \ + ${datadir}/dbus-1/system-services/com.redhat.lvmdbus1.service \ " FILES:${PN}-scripts = " \ diff --git a/meta-openembedded/meta-oe/recipes-support/pkcs11-provider/pkcs11-provider_git.bb b/meta-openembedded/meta-oe/recipes-support/pkcs11-provider/pkcs11-provider_git.bb new file mode 100644 index 0000000000..19412a517e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/pkcs11-provider/pkcs11-provider_git.bb @@ -0,0 +1,28 @@ +SUMMARY = "An OpenSSL provider that allows direct interfacing with pkcs11 drivers" +DESCRIPTION = "\ +This is an Openssl 3.x provider to access Hardware or Software Tokens using \ +the PKCS#11 Cryptographic Token Interface\ +\ +This code targets version 3.1 of the interface but should be backwards \ +compatible to previous versions as well.\ +" +HOMEPAGE = "https://github.com/latchset/pkcs11-provider" +SECTION = "libs" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=b53b787444a60266932bd270d1cf2d45" +DEPENDS = "\ + autoconf-archive \ + openssl \ + p11-kit \ +" + +SRCREV = "e2abc4a7ae33159f2fb21b9d87a05ea9e79ef584" +PV = "0.2+git" + +SRC_URI = "git://github.com/latchset/${BPN}.git;branch=main;protocol=https" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig + +FILES:${PN} += "${libdir}/ossl-modules/pkcs11.so" diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-Fix-data-race-when-create-POSIX-thread.patch b/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-Fix-data-race-when-create-POSIX-thread.patch deleted file mode 100644 index 1a7f4dcdca..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-Fix-data-race-when-create-POSIX-thread.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 03b68fc924b24e12c87512d790d37fc6ddc352ac Mon Sep 17 00:00:00 2001 -From: Dawid Drozd <drozddawid@gmail.com> -Date: Sat, 11 Feb 2023 14:48:39 +0400 -Subject: [PATCH] Fix data race when create POSIX thread - -When creating thread using pthread_create() `_pData->thread` will be set. -It could lead to data race as in runnableEntry() we refer to that variable. - -Instead use pthread_self(). -getName() is already under mutex. - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Backport [https://github.com/pocoproject/poco/pull/3942/commits/9c8a79b994a367f626c5551e0f38c27d0d8431f1] ---- - Foundation/src/Thread_POSIX.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Foundation/src/Thread_POSIX.cpp b/Foundation/src/Thread_POSIX.cpp -index ceab76e82..3e52cd31f 100644 ---- a/Foundation/src/Thread_POSIX.cpp -+++ b/Foundation/src/Thread_POSIX.cpp -@@ -351,7 +351,7 @@ void* ThreadImpl::runnableEntry(void* pThread) - #endif - - ThreadImpl* pThreadImpl = reinterpret_cast<ThreadImpl*>(pThread); -- setThreadName(pThreadImpl->_pData->thread, reinterpret_cast<Thread*>(pThread)->getName()); -+ setThreadName(pthread_self(), reinterpret_cast<Thread*>(pThread)->getName()); - AutoPtr<ThreadData> pData = pThreadImpl->_pData; - try - { --- -2.42.0 - diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch b/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch index 25934d61b3..f70e8bcc74 100644 --- a/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch +++ b/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch @@ -1,4 +1,4 @@ -From ac0f06e20bdfaca74c8ab786be8ff8fc96b5a689 Mon Sep 17 00:00:00 2001 +From 879ddb725823c78c9510cfd39786adb16f3726c8 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 16 Sep 2023 19:52:56 -0700 Subject: [PATCH] cppignore.lnx: Ignore PKCS12 and testLaunch test @@ -42,22 +42,25 @@ There were 4 failures: Upstream-Status: Inappropriate [OE specific] Signed-off-by: Khem Raj <raj.khem@gmail.com> +Signed-off-by: Patrick Wicki <patrick.wicki@siemens.com> --- - cppignore.lnx | 8 ++++++++ - 1 file changed, 8 insertions(+) + cppignore.lnx | 9 +++++++++ + 1 file changed, 9 insertions(+) +diff --git a/cppignore.lnx b/cppignore.lnx +index 2c2376526..65df4af08 100644 --- a/cppignore.lnx +++ b/cppignore.lnx -@@ -26,3 +26,12 @@ N7CppUnit10TestCallerI9TimerTestEE.testS - N7CppUnit10TestCallerI9TimerTestEE.testScheduleIntervalClock - N7CppUnit10TestCallerI9TimerTestEE.testScheduleIntervalTimestamp - N7CppUnit10TestCallerI9TimerTestEE.testTimer -+N7CppUnit10TestCallerI11ProcessTestEE.testLaunch -+N7CppUnit10TestCallerI11ProcessTestEE.testLaunchRedirectIn -+N7CppUnit10TestCallerI11ProcessTestEE.testLaunchRedirectOut -+N7CppUnit10TestCallerI11ProcessTestEE.testLaunchEnv -+N7CppUnit10TestCallerI7EVPTestEE.testRSAEVPKeyFromPKCS12 -+N7CppUnit10TestCallerI19PKCS12ContainerTestEE.testFullPKCS12 -+N7CppUnit10TestCallerI19PKCS12ContainerTestEE.testCertsOnlyPKCS12 -+N7CppUnit10TestCallerI19PKCS12ContainerTestEE.testPEMReadWrite -+N7CppUnit10TestCallerI11MongoDBTestEE.testArray +@@ -28,3 +28,12 @@ CppUnit::TestCaller<HTTPSClientSessionTest>.testProxy + CppUnit::TestCaller<HTTPSStreamFactoryTest>.testProxy + CppUnit::TestCaller<DNSTest>.testHostByAddress + CppUnit::TestCaller<DNSTest>.testHostByName ++CppUnit::TestCaller<ProcessTest>.testLaunch ++CppUnit::TestCaller<ProcessTest>.testLaunchRedirectIn ++CppUnit::TestCaller<ProcessTest>.testLaunchRedirectOut ++CppUnit::TestCaller<ProcessTest>.testLaunchEnv ++CppUnit::TestCaller<EVPTest>.testRSAEVPKeyFromPKCS12 ++CppUnit::TestCaller<PKCS12ContainerTest>.testFullPKCS12 ++CppUnit::TestCaller<PKCS12ContainerTest>.testCertsOnlyPKCS12 ++CppUnit::TestCaller<PKCS12ContainerTest>.testPEMReadWrite ++CppUnit::TestCaller<MongoDBTest>.testArray diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco/0002-fix-build-Install-cmake-files-with-resolved-ENABLE_J.patch b/meta-openembedded/meta-oe/recipes-support/poco/poco/0002-fix-build-Install-cmake-files-with-resolved-ENABLE_J.patch new file mode 100644 index 0000000000..427cb9723a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/poco/poco/0002-fix-build-Install-cmake-files-with-resolved-ENABLE_J.patch @@ -0,0 +1,32 @@ +From e54478c936493c0ed87e875f04127bd13642de44 Mon Sep 17 00:00:00 2001 +From: tyler92 <tyler92@inbox.ru> +Date: Tue, 21 Nov 2023 05:07:24 +0300 +Subject: [PATCH] fix(build): Install cmake files with resolved ENABLE_JSON and + ENABLE_XML (#4227) + +Upstream-Status: Backport [https://github.com/pocoproject/poco/pull/4227] +Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> + +--- + Util/cmake/PocoUtilConfig.cmake | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Util/cmake/PocoUtilConfig.cmake b/Util/cmake/PocoUtilConfig.cmake +index 90c1eab1c..8186435e1 100644 +--- a/Util/cmake/PocoUtilConfig.cmake ++++ b/Util/cmake/PocoUtilConfig.cmake +@@ -1,9 +1,9 @@ + include(CMakeFindDependencyMacro) + find_dependency(PocoFoundation) +-if(ENABLE_XML) ++if(@ENABLE_XML@) + find_dependency(PocoXML) + endif() +-if(ENABLE_JSON) ++if(@ENABLE_JSON@) + find_dependency(PocoJSON) + endif() + include("${CMAKE_CURRENT_LIST_DIR}/PocoUtilTargets.cmake") +-- +2.43.0 + diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco_1.12.4.bb b/meta-openembedded/meta-oe/recipes-support/poco/poco_1.12.5p2.bb index 12532e4ef1..a0bb0b5d96 100644 --- a/meta-openembedded/meta-oe/recipes-support/poco/poco_1.12.4.bb +++ b/meta-openembedded/meta-oe/recipes-support/poco/poco_1.12.5p2.bb @@ -11,10 +11,10 @@ DEPENDS = "libpcre2 zlib" SRC_URI = "git://github.com/pocoproject/poco.git;branch=master;protocol=https \ file://0001-Use-std-atomic-int-instead-of-std-atomic-bool.patch \ file://0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch \ - file://0001-Fix-data-race-when-create-POSIX-thread.patch \ file://run-ptest \ + file://0002-fix-build-Install-cmake-files-with-resolved-ENABLE_J.patch \ " -SRCREV = "1211613642269b7d53bea58b02de7fcd25ece3b9" +SRCREV = "1d6fb3e1383e559cacbada5e3f861c0dafaf5d30" UPSTREAM_CHECK_GITTAGREGEX = "poco-(?P<pver>\d+(\.\d+)+)" diff --git a/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools-crates.inc b/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools-crates.inc index f7992b9411..52a8180d23 100644 --- a/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools-crates.inc +++ b/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools-crates.inc @@ -3,304 +3,262 @@ # from Cargo.lock SRC_URI += " \ crate://crates.io/adler/1.0.2 \ - crate://crates.io/aho-corasick/1.0.1 \ - crate://crates.io/anyhow/1.0.70 \ + crate://crates.io/aho-corasick/1.1.2 \ + crate://crates.io/anstyle/1.0.4 \ + crate://crates.io/anyhow/1.0.75 \ crate://crates.io/atty/0.2.14 \ crate://crates.io/autocfg/1.1.0 \ - crate://crates.io/base64/0.20.0 \ + crate://crates.io/base64/0.21.5 \ crate://crates.io/bitflags/1.3.2 \ - crate://crates.io/bytemuck/1.13.1 \ - crate://crates.io/byteorder/1.4.3 \ + crate://crates.io/bitflags/2.4.1 \ + crate://crates.io/bytemuck/1.14.0 \ + crate://crates.io/byteorder/1.5.0 \ crate://crates.io/cassowary/0.3.0 \ - crate://crates.io/cc/1.0.79 \ crate://crates.io/cfg-if/1.0.0 \ - crate://crates.io/clap/3.2.23 \ - crate://crates.io/clap_lex/0.2.4 \ - crate://crates.io/console/0.15.5 \ + crate://crates.io/clap/4.4.11 \ + crate://crates.io/clap_builder/4.4.11 \ + crate://crates.io/clap_lex/0.6.0 \ + crate://crates.io/console/0.15.7 \ + crate://crates.io/crc32c/0.6.4 \ crate://crates.io/crc32fast/1.3.2 \ - crate://crates.io/data-encoding/2.3.3 \ + crate://crates.io/data-encoding/2.5.0 \ crate://crates.io/difflib/0.4.0 \ crate://crates.io/downcast/0.11.0 \ crate://crates.io/duct/0.13.6 \ - crate://crates.io/either/1.8.1 \ + crate://crates.io/either/1.9.0 \ crate://crates.io/encode_unicode/0.3.6 \ - crate://crates.io/env_logger/0.7.1 \ - crate://crates.io/errno/0.3.1 \ - crate://crates.io/errno-dragonfly/0.1.2 \ + crate://crates.io/env_logger/0.8.4 \ + crate://crates.io/errno/0.3.8 \ crate://crates.io/exitcode/1.1.2 \ - crate://crates.io/fastrand/1.9.0 \ + crate://crates.io/fastrand/2.0.1 \ crate://crates.io/fixedbitset/0.4.2 \ - crate://crates.io/flate2/1.0.25 \ + crate://crates.io/flate2/1.0.28 \ crate://crates.io/float-cmp/0.9.0 \ crate://crates.io/fragile/2.0.0 \ - crate://crates.io/futures/0.3.28 \ - crate://crates.io/futures-channel/0.3.28 \ - crate://crates.io/futures-core/0.3.28 \ - crate://crates.io/futures-executor/0.3.28 \ - crate://crates.io/futures-io/0.3.28 \ - crate://crates.io/futures-macro/0.3.28 \ - crate://crates.io/futures-sink/0.3.28 \ - crate://crates.io/futures-task/0.3.28 \ - crate://crates.io/futures-util/0.3.28 \ - crate://crates.io/getrandom/0.1.16 \ - crate://crates.io/getrandom/0.2.9 \ - crate://crates.io/hashbrown/0.12.3 \ + crate://crates.io/getrandom/0.2.11 \ crate://crates.io/hermit-abi/0.1.19 \ - crate://crates.io/hermit-abi/0.2.6 \ - crate://crates.io/hermit-abi/0.3.1 \ - crate://crates.io/indexmap/1.9.3 \ - crate://crates.io/indicatif/0.17.3 \ + crate://crates.io/hermit-abi/0.3.3 \ + crate://crates.io/indicatif/0.17.7 \ crate://crates.io/instant/0.1.12 \ - crate://crates.io/io-lifetimes/1.0.10 \ crate://crates.io/iovec/0.1.4 \ crate://crates.io/itertools/0.10.5 \ - crate://crates.io/jobserver/0.1.26 \ - crate://crates.io/json/0.12.4 \ crate://crates.io/lazy_static/1.4.0 \ - crate://crates.io/libc/0.2.142 \ - crate://crates.io/linux-raw-sys/0.3.4 \ - crate://crates.io/log/0.4.17 \ - crate://crates.io/memchr/2.5.0 \ + crate://crates.io/libc/0.2.150 \ + crate://crates.io/linux-raw-sys/0.4.12 \ + crate://crates.io/log/0.4.20 \ + crate://crates.io/memchr/2.6.4 \ crate://crates.io/minimal-lexical/0.2.1 \ - crate://crates.io/miniz_oxide/0.6.2 \ + crate://crates.io/miniz_oxide/0.7.1 \ crate://crates.io/mockall/0.11.4 \ crate://crates.io/mockall_derive/0.11.4 \ crate://crates.io/nom/7.1.3 \ crate://crates.io/normalize-line-endings/0.3.0 \ - crate://crates.io/num-derive/0.3.3 \ - crate://crates.io/num-traits/0.2.15 \ - crate://crates.io/num_cpus/1.15.0 \ + crate://crates.io/num-derive/0.4.1 \ + crate://crates.io/num-traits/0.2.17 \ + crate://crates.io/num_cpus/1.16.0 \ crate://crates.io/number_prefix/0.4.0 \ crate://crates.io/numtoa/0.1.0 \ - crate://crates.io/once_cell/1.17.1 \ + crate://crates.io/once_cell/1.19.0 \ crate://crates.io/os_pipe/1.1.4 \ - crate://crates.io/os_str_bytes/6.5.0 \ - crate://crates.io/pin-project-lite/0.2.9 \ - crate://crates.io/pin-utils/0.1.0 \ - crate://crates.io/pkg-config/0.3.26 \ - crate://crates.io/portable-atomic/0.3.19 \ + crate://crates.io/portable-atomic/1.6.0 \ crate://crates.io/ppv-lite86/0.2.17 \ crate://crates.io/predicates/2.1.5 \ crate://crates.io/predicates-core/1.0.6 \ crate://crates.io/predicates-tree/1.0.9 \ - crate://crates.io/proc-macro2/1.0.56 \ - crate://crates.io/quick-xml/0.23.1 \ - crate://crates.io/quickcheck/0.9.2 \ - crate://crates.io/quickcheck_macros/0.9.1 \ - crate://crates.io/quote/1.0.26 \ - crate://crates.io/rand/0.7.3 \ + crate://crates.io/proc-macro2/1.0.70 \ + crate://crates.io/quick-xml/0.29.0 \ + crate://crates.io/quickcheck/1.0.3 \ + crate://crates.io/quickcheck_macros/1.0.0 \ + crate://crates.io/quote/1.0.33 \ crate://crates.io/rand/0.8.5 \ - crate://crates.io/rand_chacha/0.2.2 \ crate://crates.io/rand_chacha/0.3.1 \ - crate://crates.io/rand_core/0.5.1 \ crate://crates.io/rand_core/0.6.4 \ - crate://crates.io/rand_hc/0.2.0 \ - crate://crates.io/rangemap/1.3.0 \ + crate://crates.io/rangemap/1.4.0 \ crate://crates.io/redox_syscall/0.2.16 \ - crate://crates.io/redox_syscall/0.3.5 \ - crate://crates.io/redox_termios/0.1.2 \ - crate://crates.io/regex/1.8.1 \ - crate://crates.io/regex-syntax/0.7.1 \ + crate://crates.io/redox_syscall/0.4.1 \ + crate://crates.io/redox_termios/0.1.3 \ + crate://crates.io/regex/1.10.2 \ + crate://crates.io/regex-automata/0.4.3 \ + crate://crates.io/regex-syntax/0.8.2 \ crate://crates.io/retain_mut/0.1.7 \ - crate://crates.io/roaring/0.10.1 \ + crate://crates.io/roaring/0.10.2 \ crate://crates.io/rustc_version/0.4.0 \ - crate://crates.io/rustix/0.37.14 \ + crate://crates.io/rustix/0.38.27 \ crate://crates.io/safemem/0.3.3 \ - crate://crates.io/semver/1.0.17 \ + crate://crates.io/semver/1.0.20 \ crate://crates.io/shared_child/1.0.0 \ - crate://crates.io/slab/0.4.8 \ crate://crates.io/strsim/0.10.0 \ crate://crates.io/syn/1.0.109 \ - crate://crates.io/syn/2.0.15 \ - crate://crates.io/tempfile/3.5.0 \ - crate://crates.io/termcolor/1.2.0 \ + crate://crates.io/syn/2.0.39 \ + crate://crates.io/tempfile/3.8.1 \ crate://crates.io/termion/1.5.6 \ crate://crates.io/termtree/0.4.1 \ - crate://crates.io/textwrap/0.16.0 \ - crate://crates.io/thiserror/1.0.40 \ - crate://crates.io/thiserror-impl/1.0.40 \ + crate://crates.io/thiserror/1.0.50 \ + crate://crates.io/thiserror-impl/1.0.50 \ crate://crates.io/threadpool/1.8.1 \ - crate://crates.io/tui/0.16.0 \ - crate://crates.io/unicode-ident/1.0.8 \ + crate://crates.io/tui/0.19.0 \ + crate://crates.io/unicode-ident/1.0.12 \ crate://crates.io/unicode-segmentation/1.10.1 \ - crate://crates.io/unicode-width/0.1.10 \ - crate://crates.io/wasi/0.9.0+wasi-snapshot-preview1 \ + crate://crates.io/unicode-width/0.1.11 \ crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ crate://crates.io/winapi/0.3.9 \ crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ - crate://crates.io/winapi-util/0.1.5 \ crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ - crate://crates.io/windows-sys/0.42.0 \ crate://crates.io/windows-sys/0.45.0 \ crate://crates.io/windows-sys/0.48.0 \ + crate://crates.io/windows-sys/0.52.0 \ crate://crates.io/windows-targets/0.42.2 \ - crate://crates.io/windows-targets/0.48.0 \ + crate://crates.io/windows-targets/0.48.5 \ + crate://crates.io/windows-targets/0.52.0 \ crate://crates.io/windows_aarch64_gnullvm/0.42.2 \ - crate://crates.io/windows_aarch64_gnullvm/0.48.0 \ + crate://crates.io/windows_aarch64_gnullvm/0.48.5 \ + crate://crates.io/windows_aarch64_gnullvm/0.52.0 \ crate://crates.io/windows_aarch64_msvc/0.42.2 \ - crate://crates.io/windows_aarch64_msvc/0.48.0 \ + crate://crates.io/windows_aarch64_msvc/0.48.5 \ + crate://crates.io/windows_aarch64_msvc/0.52.0 \ crate://crates.io/windows_i686_gnu/0.42.2 \ - crate://crates.io/windows_i686_gnu/0.48.0 \ + crate://crates.io/windows_i686_gnu/0.48.5 \ + crate://crates.io/windows_i686_gnu/0.52.0 \ crate://crates.io/windows_i686_msvc/0.42.2 \ - crate://crates.io/windows_i686_msvc/0.48.0 \ + crate://crates.io/windows_i686_msvc/0.48.5 \ + crate://crates.io/windows_i686_msvc/0.52.0 \ crate://crates.io/windows_x86_64_gnu/0.42.2 \ - crate://crates.io/windows_x86_64_gnu/0.48.0 \ + crate://crates.io/windows_x86_64_gnu/0.48.5 \ + crate://crates.io/windows_x86_64_gnu/0.52.0 \ crate://crates.io/windows_x86_64_gnullvm/0.42.2 \ - crate://crates.io/windows_x86_64_gnullvm/0.48.0 \ + crate://crates.io/windows_x86_64_gnullvm/0.48.5 \ + crate://crates.io/windows_x86_64_gnullvm/0.52.0 \ crate://crates.io/windows_x86_64_msvc/0.42.2 \ - crate://crates.io/windows_x86_64_msvc/0.48.0 \ - crate://crates.io/zstd/0.11.2+zstd.1.5.2 \ - crate://crates.io/zstd-safe/5.0.2+zstd.1.5.2 \ - crate://crates.io/zstd-sys/2.0.8+zstd.1.5.5 \ + crate://crates.io/windows_x86_64_msvc/0.48.5 \ + crate://crates.io/windows_x86_64_msvc/0.52.0 \ " SRC_URI[adler-1.0.2.sha256sum] = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" -SRC_URI[aho-corasick-1.0.1.sha256sum] = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04" -SRC_URI[anyhow-1.0.70.sha256sum] = "7de8ce5e0f9f8d88245311066a578d72b7af3e7088f32783804676302df237e4" +SRC_URI[aho-corasick-1.1.2.sha256sum] = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +SRC_URI[anstyle-1.0.4.sha256sum] = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" +SRC_URI[anyhow-1.0.75.sha256sum] = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" SRC_URI[atty-0.2.14.sha256sum] = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" -SRC_URI[base64-0.20.0.sha256sum] = "0ea22880d78093b0cbe17c89f64a7d457941e65759157ec6cb31a31d652b05e5" +SRC_URI[base64-0.21.5.sha256sum] = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" -SRC_URI[bytemuck-1.13.1.sha256sum] = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" -SRC_URI[byteorder-1.4.3.sha256sum] = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +SRC_URI[bitflags-2.4.1.sha256sum] = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +SRC_URI[bytemuck-1.14.0.sha256sum] = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" +SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" SRC_URI[cassowary-0.3.0.sha256sum] = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" -SRC_URI[cc-1.0.79.sha256sum] = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -SRC_URI[clap-3.2.23.sha256sum] = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" -SRC_URI[clap_lex-0.2.4.sha256sum] = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" -SRC_URI[console-0.15.5.sha256sum] = "c3d79fbe8970a77e3e34151cc13d3b3e248aa0faaecb9f6091fa07ebefe5ad60" +SRC_URI[clap-4.4.11.sha256sum] = "bfaff671f6b22ca62406885ece523383b9b64022e341e53e009a62ebc47a45f2" +SRC_URI[clap_builder-4.4.11.sha256sum] = "a216b506622bb1d316cd51328dce24e07bdff4a6128a47c7e7fad11878d5adbb" +SRC_URI[clap_lex-0.6.0.sha256sum] = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" +SRC_URI[console-0.15.7.sha256sum] = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" +SRC_URI[crc32c-0.6.4.sha256sum] = "d8f48d60e5b4d2c53d5c2b1d8a58c849a70ae5e5509b08a48d047e3b65714a74" SRC_URI[crc32fast-1.3.2.sha256sum] = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" -SRC_URI[data-encoding-2.3.3.sha256sum] = "23d8666cb01533c39dde32bcbab8e227b4ed6679b2c925eba05feabea39508fb" +SRC_URI[data-encoding-2.5.0.sha256sum] = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" SRC_URI[difflib-0.4.0.sha256sum] = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" SRC_URI[downcast-0.11.0.sha256sum] = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" SRC_URI[duct-0.13.6.sha256sum] = "37ae3fc31835f74c2a7ceda3aeede378b0ae2e74c8f1c36559fcc9ae2a4e7d3e" -SRC_URI[either-1.8.1.sha256sum] = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +SRC_URI[either-1.9.0.sha256sum] = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" SRC_URI[encode_unicode-0.3.6.sha256sum] = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" -SRC_URI[env_logger-0.7.1.sha256sum] = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36" -SRC_URI[errno-0.3.1.sha256sum] = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" -SRC_URI[errno-dragonfly-0.1.2.sha256sum] = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +SRC_URI[env_logger-0.8.4.sha256sum] = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3" +SRC_URI[errno-0.3.8.sha256sum] = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" SRC_URI[exitcode-1.1.2.sha256sum] = "de853764b47027c2e862a995c34978ffa63c1501f2e15f987ba11bd4f9bba193" -SRC_URI[fastrand-1.9.0.sha256sum] = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +SRC_URI[fastrand-2.0.1.sha256sum] = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" SRC_URI[fixedbitset-0.4.2.sha256sum] = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" -SRC_URI[flate2-1.0.25.sha256sum] = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" +SRC_URI[flate2-1.0.28.sha256sum] = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" SRC_URI[float-cmp-0.9.0.sha256sum] = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" SRC_URI[fragile-2.0.0.sha256sum] = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" -SRC_URI[futures-0.3.28.sha256sum] = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" -SRC_URI[futures-channel-0.3.28.sha256sum] = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" -SRC_URI[futures-core-0.3.28.sha256sum] = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" -SRC_URI[futures-executor-0.3.28.sha256sum] = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" -SRC_URI[futures-io-0.3.28.sha256sum] = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" -SRC_URI[futures-macro-0.3.28.sha256sum] = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" -SRC_URI[futures-sink-0.3.28.sha256sum] = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" -SRC_URI[futures-task-0.3.28.sha256sum] = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" -SRC_URI[futures-util-0.3.28.sha256sum] = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" -SRC_URI[getrandom-0.1.16.sha256sum] = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -SRC_URI[getrandom-0.2.9.sha256sum] = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4" -SRC_URI[hashbrown-0.12.3.sha256sum] = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +SRC_URI[getrandom-0.2.11.sha256sum] = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" SRC_URI[hermit-abi-0.1.19.sha256sum] = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -SRC_URI[hermit-abi-0.2.6.sha256sum] = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -SRC_URI[hermit-abi-0.3.1.sha256sum] = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" -SRC_URI[indexmap-1.9.3.sha256sum] = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -SRC_URI[indicatif-0.17.3.sha256sum] = "cef509aa9bc73864d6756f0d34d35504af3cf0844373afe9b8669a5b8005a729" +SRC_URI[hermit-abi-0.3.3.sha256sum] = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" +SRC_URI[indicatif-0.17.7.sha256sum] = "fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25" SRC_URI[instant-0.1.12.sha256sum] = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -SRC_URI[io-lifetimes-1.0.10.sha256sum] = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220" SRC_URI[iovec-0.1.4.sha256sum] = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" SRC_URI[itertools-0.10.5.sha256sum] = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -SRC_URI[jobserver-0.1.26.sha256sum] = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" -SRC_URI[json-0.12.4.sha256sum] = "078e285eafdfb6c4b434e0d31e8cfcb5115b651496faca5749b88fafd4f23bfd" SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -SRC_URI[libc-0.2.142.sha256sum] = "6a987beff54b60ffa6d51982e1aa1146bc42f19bd26be28b0586f252fccf5317" -SRC_URI[linux-raw-sys-0.3.4.sha256sum] = "36eb31c1778188ae1e64398743890d0877fef36d11521ac60406b42016e8c2cf" -SRC_URI[log-0.4.17.sha256sum] = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -SRC_URI[memchr-2.5.0.sha256sum] = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +SRC_URI[libc-0.2.150.sha256sum] = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" +SRC_URI[linux-raw-sys-0.4.12.sha256sum] = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" +SRC_URI[log-0.4.20.sha256sum] = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +SRC_URI[memchr-2.6.4.sha256sum] = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" -SRC_URI[miniz_oxide-0.6.2.sha256sum] = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" +SRC_URI[miniz_oxide-0.7.1.sha256sum] = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" SRC_URI[mockall-0.11.4.sha256sum] = "4c84490118f2ee2d74570d114f3d0493cbf02790df303d2707606c3e14e07c96" SRC_URI[mockall_derive-0.11.4.sha256sum] = "22ce75669015c4f47b289fd4d4f56e894e4c96003ffdf3ac51313126f94c6cbb" SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" SRC_URI[normalize-line-endings-0.3.0.sha256sum] = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" -SRC_URI[num-derive-0.3.3.sha256sum] = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" -SRC_URI[num-traits-0.2.15.sha256sum] = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" -SRC_URI[num_cpus-1.15.0.sha256sum] = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +SRC_URI[num-derive-0.4.1.sha256sum] = "cfb77679af88f8b125209d354a202862602672222e7f2313fdd6dc349bad4712" +SRC_URI[num-traits-0.2.17.sha256sum] = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +SRC_URI[num_cpus-1.16.0.sha256sum] = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" SRC_URI[number_prefix-0.4.0.sha256sum] = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" SRC_URI[numtoa-0.1.0.sha256sum] = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef" -SRC_URI[once_cell-1.17.1.sha256sum] = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" +SRC_URI[once_cell-1.19.0.sha256sum] = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" SRC_URI[os_pipe-1.1.4.sha256sum] = "0ae859aa07428ca9a929b936690f8b12dc5f11dd8c6992a18ca93919f28bc177" -SRC_URI[os_str_bytes-6.5.0.sha256sum] = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267" -SRC_URI[pin-project-lite-0.2.9.sha256sum] = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" -SRC_URI[pin-utils-0.1.0.sha256sum] = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -SRC_URI[pkg-config-0.3.26.sha256sum] = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" -SRC_URI[portable-atomic-0.3.19.sha256sum] = "26f6a7b87c2e435a3241addceeeff740ff8b7e76b74c13bf9acb17fa454ea00b" +SRC_URI[portable-atomic-1.6.0.sha256sum] = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" SRC_URI[predicates-2.1.5.sha256sum] = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" SRC_URI[predicates-core-1.0.6.sha256sum] = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" SRC_URI[predicates-tree-1.0.9.sha256sum] = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" -SRC_URI[proc-macro2-1.0.56.sha256sum] = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435" -SRC_URI[quick-xml-0.23.1.sha256sum] = "11bafc859c6815fbaffbbbf4229ecb767ac913fecb27f9ad4343662e9ef099ea" -SRC_URI[quickcheck-0.9.2.sha256sum] = "a44883e74aa97ad63db83c4bf8ca490f02b2fc02f92575e720c8551e843c945f" -SRC_URI[quickcheck_macros-0.9.1.sha256sum] = "608c156fd8e97febc07dc9c2e2c80bf74cfc6ef26893eae3daf8bc2bc94a4b7f" -SRC_URI[quote-1.0.26.sha256sum] = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" -SRC_URI[rand-0.7.3.sha256sum] = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +SRC_URI[proc-macro2-1.0.70.sha256sum] = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" +SRC_URI[quick-xml-0.29.0.sha256sum] = "81b9228215d82c7b61490fec1de287136b5de6f5700f6e58ea9ad61a7964ca51" +SRC_URI[quickcheck-1.0.3.sha256sum] = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6" +SRC_URI[quickcheck_macros-1.0.0.sha256sum] = "b22a693222d716a9587786f37ac3f6b4faedb5b80c23914e7303ff5a1d8016e9" +SRC_URI[quote-1.0.33.sha256sum] = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -SRC_URI[rand_chacha-0.2.2.sha256sum] = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -SRC_URI[rand_core-0.5.1.sha256sum] = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -SRC_URI[rand_hc-0.2.0.sha256sum] = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -SRC_URI[rangemap-1.3.0.sha256sum] = "8b9283c6b06096b47afc7109834fdedab891175bb5241ee5d4f7d2546549f263" +SRC_URI[rangemap-1.4.0.sha256sum] = "977b1e897f9d764566891689e642653e5ed90c6895106acd005eb4c1d0203991" SRC_URI[redox_syscall-0.2.16.sha256sum] = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -SRC_URI[redox_syscall-0.3.5.sha256sum] = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" -SRC_URI[redox_termios-0.1.2.sha256sum] = "8440d8acb4fd3d277125b4bd01a6f38aee8d814b3b5fc09b3f2b825d37d3fe8f" -SRC_URI[regex-1.8.1.sha256sum] = "af83e617f331cc6ae2da5443c602dfa5af81e517212d9d611a5b3ba1777b5370" -SRC_URI[regex-syntax-0.7.1.sha256sum] = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c" +SRC_URI[redox_syscall-0.4.1.sha256sum] = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +SRC_URI[redox_termios-0.1.3.sha256sum] = "20145670ba436b55d91fc92d25e71160fbfbdd57831631c8d7d36377a476f1cb" +SRC_URI[regex-1.10.2.sha256sum] = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +SRC_URI[regex-automata-0.4.3.sha256sum] = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +SRC_URI[regex-syntax-0.8.2.sha256sum] = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" SRC_URI[retain_mut-0.1.7.sha256sum] = "8c31b5c4033f8fdde8700e4657be2c497e7288f01515be52168c631e2e4d4086" -SRC_URI[roaring-0.10.1.sha256sum] = "ef0fb5e826a8bde011ecae6a8539dd333884335c57ff0f003fbe27c25bbe8f71" +SRC_URI[roaring-0.10.2.sha256sum] = "6106b5cf8587f5834158895e9715a3c6c9716c8aefab57f1f7680917191c7873" SRC_URI[rustc_version-0.4.0.sha256sum] = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" -SRC_URI[rustix-0.37.14.sha256sum] = "d9b864d3c18a5785a05953adeed93e2dca37ed30f18e69bba9f30079d51f363f" +SRC_URI[rustix-0.38.27.sha256sum] = "bfeae074e687625746172d639330f1de242a178bf3189b51e35a7a21573513ac" SRC_URI[safemem-0.3.3.sha256sum] = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" -SRC_URI[semver-1.0.17.sha256sum] = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" +SRC_URI[semver-1.0.20.sha256sum] = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" SRC_URI[shared_child-1.0.0.sha256sum] = "b0d94659ad3c2137fef23ae75b03d5241d633f8acded53d672decfa0e6e0caef" -SRC_URI[slab-0.4.8.sha256sum] = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -SRC_URI[syn-2.0.15.sha256sum] = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822" -SRC_URI[tempfile-3.5.0.sha256sum] = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998" -SRC_URI[termcolor-1.2.0.sha256sum] = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +SRC_URI[syn-2.0.39.sha256sum] = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" +SRC_URI[tempfile-3.8.1.sha256sum] = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" SRC_URI[termion-1.5.6.sha256sum] = "077185e2eac69c3f8379a4298e1e07cd36beb962290d4a51199acf0fdc10607e" SRC_URI[termtree-0.4.1.sha256sum] = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" -SRC_URI[textwrap-0.16.0.sha256sum] = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" -SRC_URI[thiserror-1.0.40.sha256sum] = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" -SRC_URI[thiserror-impl-1.0.40.sha256sum] = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +SRC_URI[thiserror-1.0.50.sha256sum] = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +SRC_URI[thiserror-impl-1.0.50.sha256sum] = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" SRC_URI[threadpool-1.8.1.sha256sum] = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" -SRC_URI[tui-0.16.0.sha256sum] = "39c8ce4e27049eed97cfa363a5048b09d995e209994634a0efc26a14ab6c0c23" -SRC_URI[unicode-ident-1.0.8.sha256sum] = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" +SRC_URI[tui-0.19.0.sha256sum] = "ccdd26cbd674007e649a272da4475fb666d3aa0ad0531da7136db6fab0e5bad1" +SRC_URI[unicode-ident-1.0.12.sha256sum] = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" SRC_URI[unicode-segmentation-1.10.1.sha256sum] = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" -SRC_URI[unicode-width-0.1.10.sha256sum] = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" -SRC_URI[wasi-0.9.0+wasi-snapshot-preview1.sha256sum] = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" +SRC_URI[unicode-width-0.1.11.sha256sum] = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -SRC_URI[winapi-util-0.1.5.sha256sum] = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -SRC_URI[windows-sys-0.42.0.sha256sum] = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" SRC_URI[windows-sys-0.45.0.sha256sum] = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" SRC_URI[windows-targets-0.42.2.sha256sum] = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" -SRC_URI[windows-targets-0.48.0.sha256sum] = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" +SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +SRC_URI[windows-targets-0.52.0.sha256sum] = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" SRC_URI[windows_aarch64_gnullvm-0.42.2.sha256sum] = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" -SRC_URI[windows_aarch64_gnullvm-0.48.0.sha256sum] = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +SRC_URI[windows_aarch64_gnullvm-0.52.0.sha256sum] = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" SRC_URI[windows_aarch64_msvc-0.42.2.sha256sum] = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" -SRC_URI[windows_aarch64_msvc-0.48.0.sha256sum] = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +SRC_URI[windows_aarch64_msvc-0.52.0.sha256sum] = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" SRC_URI[windows_i686_gnu-0.42.2.sha256sum] = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" -SRC_URI[windows_i686_gnu-0.48.0.sha256sum] = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +SRC_URI[windows_i686_gnu-0.52.0.sha256sum] = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" SRC_URI[windows_i686_msvc-0.42.2.sha256sum] = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" -SRC_URI[windows_i686_msvc-0.48.0.sha256sum] = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +SRC_URI[windows_i686_msvc-0.52.0.sha256sum] = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" SRC_URI[windows_x86_64_gnu-0.42.2.sha256sum] = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" -SRC_URI[windows_x86_64_gnu-0.48.0.sha256sum] = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +SRC_URI[windows_x86_64_gnu-0.52.0.sha256sum] = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" SRC_URI[windows_x86_64_gnullvm-0.42.2.sha256sum] = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" -SRC_URI[windows_x86_64_gnullvm-0.48.0.sha256sum] = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +SRC_URI[windows_x86_64_gnullvm-0.52.0.sha256sum] = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" SRC_URI[windows_x86_64_msvc-0.42.2.sha256sum] = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" -SRC_URI[windows_x86_64_msvc-0.48.0.sha256sum] = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" -SRC_URI[zstd-0.11.2+zstd.1.5.2.sha256sum] = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" -SRC_URI[zstd-safe-5.0.2+zstd.1.5.2.sha256sum] = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" -SRC_URI[zstd-sys-2.0.8+zstd.1.5.5.sha256sum] = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" +SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +SRC_URI[windows_x86_64_msvc-0.52.0.sha256sum] = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" diff --git a/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools-git-crates.inc b/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools-git-crates.inc index 46e826cabc..ceea67c364 100644 --- a/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools-git-crates.inc +++ b/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools-git-crates.inc @@ -1,10 +1,6 @@ SRC_URI += "\ - git://github.com/zowens/crc32c;protocol=https;nobranch=1;name=crc32c;destsuffix=crc32c;type=git-dependency \ git://github.com/jthornber/rio;protocol=https;nobranch=1;name=rio;destsuffix=rio;type=git-dependency \ " -SRCREV_FORMAT .= "_crc32c" -SRCREV_crc32c = "3779fe88fea034922f808586b2564fbcab31efdc" - SRCREV_FORMAT .= "_rio" SRCREV_rio = "2979a720f671e836302c01546f9cc9f7988610c8" diff --git a/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.0.4.bb b/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.0.9.bb index e79f62ff6e..b643ad6dc8 100644 --- a/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.0.4.bb +++ b/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.0.9.bb @@ -12,7 +12,7 @@ SRC_URI = " \ " SRC_URI:append:libc-musl = " file://0001-Replace-LFS-functions.patch" -SRCREV = "3baa3fa3a3e4f714e6170a4152b186f0fa1d76e1" +SRCREV = "1d60839b0a920df6476712b80f933854fb32e160" UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" inherit cargo cargo-update-recipe-crates diff --git a/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.42.2.bb b/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.42.3.bb index ac75afb90e..6149a7ac49 100644 --- a/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.42.2.bb +++ b/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.42.3.bb @@ -15,7 +15,7 @@ SRC_URI = "https://www.webkitgtk.org/releases/webkitgtk-${PV}.tar.xz \ file://0d3344e17d258106617b0e6d783d073b188a2548.patch \ file://no-musttail-arm.patch \ " -SRC_URI[sha256sum] = "5720aa3e8627f1b9f63252187d4df0f8233ae71d697b1796ebfbe5ca750bd118" +SRC_URI[sha256sum] = "0a1a4630045628b3a6fe95da72dc47852cff20d66be1ac6fd0d669c88c13d8e2" inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen diff --git a/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.3.2.bb b/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.4.0.bb index 27ebd63949..0c8a9c7a5f 100644 --- a/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.3.2.bb +++ b/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.4.0.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=daf6e68539f564601a5a5869c31e5242" SRC_URI = "git://github.com/zchunk/zchunk.git;protocol=https;branch=main" -SRCREV = "bdd6d6fc150d53d89658bebbfa73a7bfd9a89cb4" +SRCREV = "4dd91d31157ede4a1b092721d944ae2fdd161cd9" S = "${WORKDIR}/git" DEPENDS = "zstd" diff --git a/meta-openembedded/meta-python/conf/include/ptest-packagelists-meta-python.inc b/meta-openembedded/meta-python/conf/include/ptest-packagelists-meta-python.inc index 3272d98192..2c75d511b3 100644 --- a/meta-openembedded/meta-python/conf/include/ptest-packagelists-meta-python.inc +++ b/meta-openembedded/meta-python/conf/include/ptest-packagelists-meta-python.inc @@ -27,6 +27,8 @@ PTESTS_FAST_META_PYTHON = "\ python3-polyline \ python3-precise-runner \ python3-prettytable \ + python3-pydantic \ + python3-pydantic-core \ python3-pylint \ python3-ptyprocess \ python3-py-cpuinfo \ @@ -54,6 +56,7 @@ PTESTS_FAST_META_PYTHON = "\ PTESTS_SLOW_META_PYTHON = "\ python3-lz4 \ + python3-yappi \ " PTESTS_PROBLEMS_META_PYTHON ="\ @@ -82,6 +85,5 @@ PTESTS_PROBLEMS_META_PYTHON ="\ python3-whoosh \ python3-ujson \ python3-xlrd \ - python3-yappi \ python3-yarl \ " diff --git a/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb b/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb index 3b9a0f0481..7b7d7bee98 100644 --- a/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb +++ b/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb @@ -321,7 +321,6 @@ RDEPENDS:packagegroup-meta-python3 = "\ python3-pyflakes \ python3-pyhamcrest \ python3-pyiface \ - python3-pyinotify \ python3-pyjks \ python3-pyjwt \ python3-pykickstart \ @@ -392,7 +391,6 @@ RDEPENDS:packagegroup-meta-python3 = "\ python3-serpent \ python3-service-identity \ python3-setuptools-declarative-requirements \ - python3-setuptools-scm-git-archive \ python3-sh \ python3-sijax \ python3-simpleeval \ @@ -439,7 +437,6 @@ RDEPENDS:packagegroup-meta-python3 = "\ python3-typeguard \ python3-tzlocal \ python3-u-msgpack-python \ - python3-uinput \ python3-ujson \ python3-unidiff \ python3-uritemplate \ diff --git a/meta-openembedded/meta-python/recipes-devtools/gyp/gyp/0001-Fix-for-Python-3.10-compatibility.patch b/meta-openembedded/meta-python/recipes-devtools/gyp/gyp/0001-Fix-for-Python-3.10-compatibility.patch deleted file mode 100644 index d1ac2c6b42..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/gyp/gyp/0001-Fix-for-Python-3.10-compatibility.patch +++ /dev/null @@ -1,36 +0,0 @@ -From bfe579283e5fcab60172818bfe4e6e1d40c2bed0 Mon Sep 17 00:00:00 2001 -From: Kurt Kiefer <kurt.kiefer@arthrex.com> -Date: Mon, 18 Oct 2021 11:21:14 -0700 -Subject: [PATCH] Fix for Python 3.10 compatibility - -The collections.abc module replaces collections for Python 3.10 - -Signed-off-by: Kurt Kiefer <kurt.kiefer@arthrex.com> ---- -Upstream-Status: Pending - - pylib/gyp/common.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pylib/gyp/common.py b/pylib/gyp/common.py -index b268d229..4f9cb0ec 100644 ---- a/pylib/gyp/common.py -+++ b/pylib/gyp/common.py -@@ -4,7 +4,7 @@ - - from __future__ import with_statement - --import collections -+import collections.abc - import errno - import filecmp - import os.path -@@ -494,7 +494,7 @@ def uniquer(seq, idfun=None): - - - # Based on http://code.activestate.com/recipes/576694/. --class OrderedSet(collections.MutableSet): -+class OrderedSet(collections.abc.MutableSet): - def __init__(self, iterable=None): - self.end = end = [] - end += [None, end, end] # sentinel node for doubly linked list diff --git a/meta-openembedded/meta-python/recipes-devtools/gyp/gyp_git.bb b/meta-openembedded/meta-python/recipes-devtools/gyp/gyp_git.bb index 38906de759..0f94a4476d 100644 --- a/meta-openembedded/meta-python/recipes-devtools/gyp/gyp_git.bb +++ b/meta-openembedded/meta-python/recipes-devtools/gyp/gyp_git.bb @@ -5,9 +5,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=ab828cb8ce4c62ee82945a11247b6bbd" SECTION = "devel" SRC_URI = "git://chromium.googlesource.com/external/gyp;protocol=https;branch=master \ - file://0001-Fix-for-Python-3.10-compatibility.patch \ " -SRCREV = "caa60026e223fc501e8b337fd5086ece4028b1c6" +SRCREV = "a03d7413becefc8d55c8aa3df58b55b9bd0e9052" S = "${WORKDIR}/git" PV = "0.1+git${SRCPV}" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-django.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-django.inc index e030ff4087..11d5e63018 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-django.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-django.inc @@ -28,7 +28,6 @@ RDEPENDS:${PN} += "\ ${PYTHON_PN}-threading \ ${PYTHON_PN}-unixadmin \ ${PYTHON_PN}-xml \ - ${PYTHON_PN}-distutils \ " CVE_PRODUCT = "django" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_4.6.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_4.7.0.bb index b9256ca204..84aace451d 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_4.6.2.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_4.7.0.bb @@ -4,9 +4,9 @@ SECTION = "devel/python" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=dab31a1d28183826937f4b152143a33f" -SRC_URI[sha256sum] = "069af6bb0a7d34d566538af57cc10fb691ee04f844204e4f67d95a57f0b91a46" +SRC_URI[sha256sum] = "3ca727b463e55bbe7c69b67f5503ffcd7d213c9644c4e458e3556ee6ea33855b" -inherit pypi setuptools3 +inherit pypi python_setuptools_build_meta RDEPENDS:${PN} += " \ ${PYTHON_PN}-aiohttp \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.12.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.13.1.bb index 107546dbfe..2a9ac2c5d2 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.12.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.13.1.bb @@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=e3023b042cb6002cb398344b51c67093" inherit pypi setuptools3 -SRC_URI[sha256sum] = "bca5877e9678b454706347bc10b97cb7d67f300320fa5c3a94423e8266e2823f" +SRC_URI[sha256sum] = "4932c8558bf68f2ee92b9bbcb8218671c627064d5b08939437af6d77dc05e595" PYPI_PACKAGE = "alembic" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-annotated-types_0.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-annotated-types_0.6.0.bb new file mode 100644 index 0000000000..79cbb66bc0 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-annotated-types_0.6.0.bb @@ -0,0 +1,14 @@ +SUMMARY = "Reusable constraint types to use with typing.Annotated" +DESCRIPTION = "" +HOMEPAGE = "" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c6afb13fdc220497ee5cded1e717ed67" + +SRC_URI[sha256sum] = "563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d" + +S = "${WORKDIR}/annotated_types-${PV}" +PYPI_PACKAGE = "annotated_types" + +inherit pypi python_hatchling + +RDEPENDS:${PN} = "python3-typing-extensions" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ansi2html_1.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ansi2html_1.9.1.bb index 8dcd7b0d5d..e419fdcf18 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ansi2html_1.8.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ansi2html_1.9.1.bb @@ -5,13 +5,12 @@ LICENSE = "GPL-3.0-only" PYPI_PACKAGE = "ansi2html" -SRC_URI[sha256sum] = "38b82a298482a1fa2613f0f9c9beb3db72a8f832eeac58eb2e47bf32cd37f6d5" +SRC_URI[sha256sum] = "5c6837a13ecc1903aab7a545353312049dfedfe5105362ad3a8d9d207871ec71" inherit pypi python_setuptools_build_meta DEPENDS += " \ ${PYTHON_PN}-setuptools-scm-native \ - ${PYTHON_PN}-setuptools-scm-git-archive-native \ " RDEPENDS:${PN} = " \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-apiflask_2.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-apiflask_2.1.0.bb index 88afdda717..5bffa22918 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-apiflask_2.0.2.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-apiflask_2.1.0.bb @@ -7,7 +7,7 @@ inherit pypi setuptools3 PYPI_PACKAGE = "APIFlask" -SRC_URI[sha256sum] = "c1ab81640a1ab252888e2cc7ae556272a169b449c582abae309a8fe295f9337d" +SRC_URI[sha256sum] = "e7616d902d446eb9e1c67d1d8a34691b437f9da4fe7a3b4d49c91ba88c85ee2a" RDEPENDS:${PN} += "\ python3-flask \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-apispec_6.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-apispec_6.3.1.bb index fcdcd7a809..6b9f704a68 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-apispec_6.3.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-apispec_6.3.1.bb @@ -5,6 +5,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=824d596e050c0d5e3361efb438425945" inherit pypi setuptools3 -SRC_URI[sha256sum] = "6cb08d92ce73ff0b3bf46cb2ea5c00d57289b0f279fb0256a3df468182ba5344" +SRC_URI[sha256sum] = "b38e4479916d43f2b1e88ce15fc2fae93adf2e8d55cb59ec74ac66a827941483" RDEPENDS:${PN} += "python3-packaging" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_3.1.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_3.2.1.bb index 28dd9f90c5..e6b9af084c 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_3.1.6.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_3.2.1.bb @@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/kislyuk/argcomplete" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=2ee41112a44fe7014dce33e26468ba93" -SRC_URI[sha256sum] = "3b1f07d133332547a53c79437527c00be48cca3807b1d4ca5cab1b26313386a6" +SRC_URI[sha256sum] = "437f67fb9b058da5a090df505ef9be0297c4883993f3f56cb186ff087778cfb4" PYPI_PACKAGE = "argcomplete" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.30.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.30.5.bb index 82cfa3b8ef..78e6149649 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.30.4.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.30.5.bb @@ -15,7 +15,7 @@ LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=3000208d539ec061b899bce1d9ce9404 \ file://README.rst;beginline=261;endline=275;md5=39ec83a704aed9f33618c5d04e478a08 \ " -SRC_URI[sha256sum] = "9fca8e69c4dad4f8d2a7bdfbdd80b0754462b53510a03e1b5cf2b43a87e6e960" +SRC_URI[sha256sum] = "b37dfd617a09d19a4a7bcaed0e060b288bc7ac8dfdc0facf886a49a25ff33728" inherit pypi python_flit_core diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_3.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_3.0.2.bb index db3ef43920..23501ce000 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_3.0.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_3.0.2.bb @@ -4,7 +4,7 @@ SECTION = "devel/python" LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://LICENSE;md5=a70cf540abf41acb644ac3b621b2fad1" -SRC_URI[sha256sum] = "86b0bb7d7da0be1a7c4aedb7974e391b32d4ed89e33de6ed6902b4b15c97577e" +SRC_URI[sha256sum] = "4a61cf0a59097c7bb52689b0fd63717cd2a8a14dc9f1eee97b82d814881c8c91" inherit pypi python_setuptools_build_meta @@ -21,7 +21,6 @@ FILES:${PN}-tests += " \ " RDEPENDS:${PN}:class-target += "\ - ${PYTHON_PN}-distutils \ ${PYTHON_PN}-lazy-object-proxy \ ${PYTHON_PN}-logging \ ${PYTHON_PN}-six \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-asyncinotify_4.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-asyncinotify_4.0.5.bb index 08dc77bd17..a7820c5ab2 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-asyncinotify_4.0.2.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-asyncinotify_4.0.5.bb @@ -1,9 +1,9 @@ SUMMARY = "A simple optionally-async python inotify library, focused on simplicity of use and operation, and leveraging modern Python features" HOMEPAGE = "https://gitlab.com/Taywee/asyncinotify" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=6ec941a1cd6616454970d03cb9c9e8f8" +LICENSE = "MPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f75d2927d3c1ed2414ef72048f5ad640" -SRC_URI[sha256sum] = "bcac19425b1b418bbbc4d31193ea3c39e24343cd7ddff2074ae7b599f1a04829" +SRC_URI[sha256sum] = "95840eec6804797f9e8ee6d65a9d2a1159e77c5395a468dcfa4f44338ed1f8b6" inherit pypi python_setuptools_build_meta diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.7.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.7.6.bb index ede7f92e8d..3cf927e103 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.7.5.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.7.6.bb @@ -2,7 +2,7 @@ SUMMARY = "Security oriented static analyser for python code." LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658" -SRC_URI[sha256sum] = "bdfc739baa03b880c2d15d0431b31c658ffc348e907fe197e54e0389dd59e11e" +SRC_URI[sha256sum] = "72ce7bc9741374d96fb2f1c9a8960829885f1243ffde743de70a19cee353e8f3" DEPENDS = "python3-pbr-native python3-git python3-pbr python3-pyyaml python3-six python3-stevedore" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.8.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.9.1.bb index acacdab6de..0d7107a0f2 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.8.3.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.9.1.bb @@ -4,7 +4,7 @@ HOMEPAGE = "https://github.com/ilanschnell/bitarray" LICENSE = "PSF-2.0" LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=2ad702cdcd49e8d2ac01d7e7d0810d2d" -SRC_URI[sha256sum] = "e15587b2bdf18d32eb3ba25f5f5a51bedd0dc06b3112a4c53dab5e7753bc6588" +SRC_URI[sha256sum] = "912efbeed6d8b155c8e8c37464f79d75b1de58936c0f29ffb599ce95af5563f2" inherit setuptools3 pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.1.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.1.4.bb index 8831d84cb1..6fc2cf4809 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.1.3.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.1.4.bb @@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/scott-griffiths/bitstring" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=661f450e2c0aef39b4b15597333444a7" -SRC_URI[sha256sum] = "1b47c84644a961ba8503db2bba8a5965ab53e81474becdf0a18383b5b5f3f795" +SRC_URI[sha256sum] = "94f3f1c45383ebe8fd4a359424ffeb75c2f290760ae8fcac421b44f89ac85213" PYPI_PACKAGE = "bitstring" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_39.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_39.4.1.bb index 0b590d258b..e26405dd7f 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_39.3.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_39.4.1.bb @@ -3,12 +3,14 @@ HOMEPAGE = "https://github.com/eerimoq/cantools" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=d9aa4ec07de78abae21c490c9ffe61bd" -SRC_URI[sha256sum] = "2c3d081922591bc1611c9f1ff52d6c8af1d03314f8c724cc114d856cc555cc28" +SRC_URI[sha256sum] = "98c4d007a6d9803c6433c743c0240e73de930530f8255e1e21d2e20e8991a30b" PYPI_PACKAGE = "cantools" inherit pypi python_poetry_core +DEPENDS += "python3-setuptools-scm-native" + RDEPENDS:${PN} += "\ ${PYTHON_PN}-can \ ${PYTHON_PN}-bitstruct \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.28.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.29.0.bb index 468aa247e8..8ec87fa26a 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.28.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.29.0.bb @@ -8,7 +8,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" SRCNAME = "cassandra-driver" -SRC_URI[sha256sum] = "64ff130d19f994b80997c14343a8306be52a0e7ab92520a534eed944c88d70df" +SRC_URI[sha256sum] = "0a34f9534356e5fd33af8cdda109d5e945b6335cb50399b267c46368c4e93c98" inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-click-spinner/0001-Update-Versioneer-to-0.22.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-click-spinner/0001-Update-Versioneer-to-0.22.patch new file mode 100644 index 0000000000..4edb5da9ef --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-click-spinner/0001-Update-Versioneer-to-0.22.patch @@ -0,0 +1,2489 @@ +From 739f9da6bf0d2d9f0de624aee2ec71c65f62c275 Mon Sep 17 00:00:00 2001 +From: Hugo van Kemenade <hugovk@users.noreply.github.com> +Date: Tue, 10 May 2022 18:17:50 +0300 +Subject: [PATCH] Update Versioneer to 0.22 + +Upstream-Status: Backport [https://github.com/click-contrib/click-spinner/commit/5622ab0a0b4296dc8f10863f268ed98dccf4b642] + +Signed-off-by: Ny Antra Ranaivoarison <nyantra.ranaivoarison@smile.fr> +--- + click_spinner/__init__.py | 5 +- + click_spinner/_version.py | 665 +++++++++++++++++++++- + versioneer.py | 1128 ++++++++++++++++++++++++------------- + 3 files changed, 1400 insertions(+), 398 deletions(-) + +diff --git a/click_spinner/__init__.py b/click_spinner/__init__.py +index aeec089..8e9f4f9 100644 +--- a/click_spinner/__init__.py ++++ b/click_spinner/__init__.py +@@ -77,6 +77,5 @@ def spinner(beep=False, disable=False, force=False, stream=sys.stdout): + return Spinner(beep, disable, force, stream) + + +-from ._version import get_versions +-__version__ = get_versions()['version'] +-del get_versions ++from . import _version ++__version__ = _version.get_versions()['version'] +diff --git a/click_spinner/_version.py b/click_spinner/_version.py +index 5ae340e..d44565d 100644 +--- a/click_spinner/_version.py ++++ b/click_spinner/_version.py +@@ -1,21 +1,658 @@ + +-# This file was generated by 'versioneer.py' (0.16) from +-# revision-control system data, or from the parent directory name of an +-# unpacked source archive. Distribution tarballs contain a pre-generated copy +-# of this file. ++# This file helps to compute a version number in source trees obtained from ++# git-archive tarball (such as those provided by githubs download-from-tag ++# feature). Distribution tarballs (built by setup.py sdist) and build ++# directories (produced by setup.py build) will contain a much shorter file ++# that just contains the computed version number. + +-import json ++# This file is released into the public domain. Generated by ++# versioneer-0.22 (https://github.com/python-versioneer/python-versioneer) ++ ++"""Git implementation of _version.py.""" ++ ++import errno ++import os ++import re ++import subprocess + import sys ++from typing import Callable, Dict ++import functools ++ ++ ++def get_keywords(): ++ """Get the keywords needed to look up the version information.""" ++ # these strings will be replaced by git during git-archive. ++ # setup.py/versioneer.py will grep for the variable names, so they must ++ # each be defined on a line of their own. _version.py will just call ++ # get_keywords(). ++ git_refnames = "$Format:%d$" ++ git_full = "$Format:%H$" ++ git_date = "$Format:%ci$" ++ keywords = {"refnames": git_refnames, "full": git_full, "date": git_date} ++ return keywords ++ ++ ++class VersioneerConfig: ++ """Container for Versioneer configuration parameters.""" ++ ++ ++def get_config(): ++ """Create, populate and return the VersioneerConfig() object.""" ++ # these strings are filled in when 'setup.py versioneer' creates ++ # _version.py ++ cfg = VersioneerConfig() ++ cfg.VCS = "git" ++ cfg.style = "pep440" ++ cfg.tag_prefix = "v" ++ cfg.parentdir_prefix = "click-spinner-" ++ cfg.versionfile_source = "click_spinner/_version.py" ++ cfg.verbose = False ++ return cfg ++ ++ ++class NotThisMethod(Exception): ++ """Exception raised if a method is not valid for the current scenario.""" ++ ++ ++LONG_VERSION_PY: Dict[str, str] = {} ++HANDLERS: Dict[str, Dict[str, Callable]] = {} ++ ++ ++def register_vcs_handler(vcs, method): # decorator ++ """Create decorator to mark a method as the handler of a VCS.""" ++ def decorate(f): ++ """Store f in HANDLERS[vcs][method].""" ++ if vcs not in HANDLERS: ++ HANDLERS[vcs] = {} ++ HANDLERS[vcs][method] = f ++ return f ++ return decorate ++ ++ ++def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, ++ env=None): ++ """Call the given command(s).""" ++ assert isinstance(commands, list) ++ process = None ++ ++ popen_kwargs = {} ++ if sys.platform == "win32": ++ # This hides the console window if pythonw.exe is used ++ startupinfo = subprocess.STARTUPINFO() ++ startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW ++ popen_kwargs["startupinfo"] = startupinfo ++ ++ for command in commands: ++ try: ++ dispcmd = str([command] + args) ++ # remember shell=False, so use git.cmd on windows, not just git ++ process = subprocess.Popen([command] + args, cwd=cwd, env=env, ++ stdout=subprocess.PIPE, ++ stderr=(subprocess.PIPE if hide_stderr ++ else None), **popen_kwargs) ++ break ++ except OSError: ++ e = sys.exc_info()[1] ++ if e.errno == errno.ENOENT: ++ continue ++ if verbose: ++ print("unable to run %s" % dispcmd) ++ print(e) ++ return None, None ++ else: ++ if verbose: ++ print("unable to find command, tried %s" % (commands,)) ++ return None, None ++ stdout = process.communicate()[0].strip().decode() ++ if process.returncode != 0: ++ if verbose: ++ print("unable to run %s (error)" % dispcmd) ++ print("stdout was %s" % stdout) ++ return None, process.returncode ++ return stdout, process.returncode ++ ++ ++def versions_from_parentdir(parentdir_prefix, root, verbose): ++ """Try to determine the version from the parent directory name. ++ ++ Source tarballs conventionally unpack into a directory that includes both ++ the project name and a version string. We will also support searching up ++ two directory levels for an appropriately named parent directory ++ """ ++ rootdirs = [] ++ ++ for _ in range(3): ++ dirname = os.path.basename(root) ++ if dirname.startswith(parentdir_prefix): ++ return {"version": dirname[len(parentdir_prefix):], ++ "full-revisionid": None, ++ "dirty": False, "error": None, "date": None} ++ rootdirs.append(root) ++ root = os.path.dirname(root) # up a level ++ ++ if verbose: ++ print("Tried directories %s but none started with prefix %s" % ++ (str(rootdirs), parentdir_prefix)) ++ raise NotThisMethod("rootdir doesn't start with parentdir_prefix") ++ ++ ++@register_vcs_handler("git", "get_keywords") ++def git_get_keywords(versionfile_abs): ++ """Extract version information from the given file.""" ++ # the code embedded in _version.py can just fetch the value of these ++ # keywords. When used from setup.py, we don't want to import _version.py, ++ # so we do it with a regexp instead. This function is not used from ++ # _version.py. ++ keywords = {} ++ try: ++ with open(versionfile_abs, "r") as fobj: ++ for line in fobj: ++ if line.strip().startswith("git_refnames ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["refnames"] = mo.group(1) ++ if line.strip().startswith("git_full ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["full"] = mo.group(1) ++ if line.strip().startswith("git_date ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["date"] = mo.group(1) ++ except OSError: ++ pass ++ return keywords ++ ++ ++@register_vcs_handler("git", "keywords") ++def git_versions_from_keywords(keywords, tag_prefix, verbose): ++ """Get version information from git keywords.""" ++ if "refnames" not in keywords: ++ raise NotThisMethod("Short version file found") ++ date = keywords.get("date") ++ if date is not None: ++ # Use only the last line. Previous lines may contain GPG signature ++ # information. ++ date = date.splitlines()[-1] ++ ++ # git-2.2.0 added "%cI", which expands to an ISO-8601 -compliant ++ # datestamp. However we prefer "%ci" (which expands to an "ISO-8601 ++ # -like" string, which we must then edit to make compliant), because ++ # it's been around since git-1.5.3, and it's too difficult to ++ # discover which version we're using, or to work around using an ++ # older one. ++ date = date.strip().replace(" ", "T", 1).replace(" ", "", 1) ++ refnames = keywords["refnames"].strip() ++ if refnames.startswith("$Format"): ++ if verbose: ++ print("keywords are unexpanded, not using") ++ raise NotThisMethod("unexpanded keywords, not a git-archive tarball") ++ refs = {r.strip() for r in refnames.strip("()").split(",")} ++ # starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of ++ # just "foo-1.0". If we see a "tag: " prefix, prefer those. ++ TAG = "tag: " ++ tags = {r[len(TAG):] for r in refs if r.startswith(TAG)} ++ if not tags: ++ # Either we're using git < 1.8.3, or there really are no tags. We use ++ # a heuristic: assume all version tags have a digit. The old git %d ++ # expansion behaves like git log --decorate=short and strips out the ++ # refs/heads/ and refs/tags/ prefixes that would let us distinguish ++ # between branches and tags. By ignoring refnames without digits, we ++ # filter out many common branch names like "release" and ++ # "stabilization", as well as "HEAD" and "master". ++ tags = {r for r in refs if re.search(r'\d', r)} ++ if verbose: ++ print("discarding '%s', no digits" % ",".join(refs - tags)) ++ if verbose: ++ print("likely tags: %s" % ",".join(sorted(tags))) ++ for ref in sorted(tags): ++ # sorting will prefer e.g. "2.0" over "2.0rc1" ++ if ref.startswith(tag_prefix): ++ r = ref[len(tag_prefix):] ++ # Filter out refs that exactly match prefix or that don't start ++ # with a number once the prefix is stripped (mostly a concern ++ # when prefix is '') ++ if not re.match(r'\d', r): ++ continue ++ if verbose: ++ print("picking %s" % r) ++ return {"version": r, ++ "full-revisionid": keywords["full"].strip(), ++ "dirty": False, "error": None, ++ "date": date} ++ # no suitable tags, so version is "0+unknown", but full hex is still there ++ if verbose: ++ print("no suitable tags, using unknown + full revision id") ++ return {"version": "0+unknown", ++ "full-revisionid": keywords["full"].strip(), ++ "dirty": False, "error": "no suitable tags", "date": None} ++ ++ ++@register_vcs_handler("git", "pieces_from_vcs") ++def git_pieces_from_vcs(tag_prefix, root, verbose, runner=run_command): ++ """Get version from 'git describe' in the root of the source tree. ++ ++ This only gets called if the git-archive 'subst' keywords were *not* ++ expanded, and _version.py hasn't already been rewritten with a short ++ version string, meaning we're inside a checked out source tree. ++ """ ++ GITS = ["git"] ++ if sys.platform == "win32": ++ GITS = ["git.cmd", "git.exe"] ++ ++ # GIT_DIR can interfere with correct operation of Versioneer. ++ # It may be intended to be passed to the Versioneer-versioned project, ++ # but that should not change where we get our version from. ++ env = os.environ.copy() ++ env.pop("GIT_DIR", None) ++ runner = functools.partial(runner, env=env) ++ ++ _, rc = runner(GITS, ["rev-parse", "--git-dir"], cwd=root, ++ hide_stderr=True) ++ if rc != 0: ++ if verbose: ++ print("Directory %s not under git control" % root) ++ raise NotThisMethod("'git rev-parse --git-dir' returned error") ++ ++ MATCH_ARGS = ["--match", "%s*" % tag_prefix] if tag_prefix else [] ++ ++ # if there is a tag matching tag_prefix, this yields TAG-NUM-gHEX[-dirty] ++ # if there isn't one, this yields HEX[-dirty] (no NUM) ++ describe_out, rc = runner(GITS, ["describe", "--tags", "--dirty", ++ "--always", "--long", *MATCH_ARGS], ++ cwd=root) ++ # --long was added in git-1.5.5 ++ if describe_out is None: ++ raise NotThisMethod("'git describe' failed") ++ describe_out = describe_out.strip() ++ full_out, rc = runner(GITS, ["rev-parse", "HEAD"], cwd=root) ++ if full_out is None: ++ raise NotThisMethod("'git rev-parse' failed") ++ full_out = full_out.strip() ++ ++ pieces = {} ++ pieces["long"] = full_out ++ pieces["short"] = full_out[:7] # maybe improved later ++ pieces["error"] = None ++ ++ branch_name, rc = runner(GITS, ["rev-parse", "--abbrev-ref", "HEAD"], ++ cwd=root) ++ # --abbrev-ref was added in git-1.6.3 ++ if rc != 0 or branch_name is None: ++ raise NotThisMethod("'git rev-parse --abbrev-ref' returned error") ++ branch_name = branch_name.strip() ++ ++ if branch_name == "HEAD": ++ # If we aren't exactly on a branch, pick a branch which represents ++ # the current commit. If all else fails, we are on a branchless ++ # commit. ++ branches, rc = runner(GITS, ["branch", "--contains"], cwd=root) ++ # --contains was added in git-1.5.4 ++ if rc != 0 or branches is None: ++ raise NotThisMethod("'git branch --contains' returned error") ++ branches = branches.split("\n") ++ ++ # Remove the first line if we're running detached ++ if "(" in branches[0]: ++ branches.pop(0) ++ ++ # Strip off the leading "* " from the list of branches. ++ branches = [branch[2:] for branch in branches] ++ if "master" in branches: ++ branch_name = "master" ++ elif not branches: ++ branch_name = None ++ else: ++ # Pick the first branch that is returned. Good or bad. ++ branch_name = branches[0] ++ ++ pieces["branch"] = branch_name ++ ++ # parse describe_out. It will be like TAG-NUM-gHEX[-dirty] or HEX[-dirty] ++ # TAG might have hyphens. ++ git_describe = describe_out ++ ++ # look for -dirty suffix ++ dirty = git_describe.endswith("-dirty") ++ pieces["dirty"] = dirty ++ if dirty: ++ git_describe = git_describe[:git_describe.rindex("-dirty")] ++ ++ # now we have TAG-NUM-gHEX or HEX ++ ++ if "-" in git_describe: ++ # TAG-NUM-gHEX ++ mo = re.search(r'^(.+)-(\d+)-g([0-9a-f]+)$', git_describe) ++ if not mo: ++ # unparsable. Maybe git-describe is misbehaving? ++ pieces["error"] = ("unable to parse git-describe output: '%s'" ++ % describe_out) ++ return pieces ++ ++ # tag ++ full_tag = mo.group(1) ++ if not full_tag.startswith(tag_prefix): ++ if verbose: ++ fmt = "tag '%s' doesn't start with prefix '%s'" ++ print(fmt % (full_tag, tag_prefix)) ++ pieces["error"] = ("tag '%s' doesn't start with prefix '%s'" ++ % (full_tag, tag_prefix)) ++ return pieces ++ pieces["closest-tag"] = full_tag[len(tag_prefix):] ++ ++ # distance: number of commits since tag ++ pieces["distance"] = int(mo.group(2)) ++ ++ # commit: short hex revision ID ++ pieces["short"] = mo.group(3) ++ ++ else: ++ # HEX: no tags ++ pieces["closest-tag"] = None ++ count_out, rc = runner(GITS, ["rev-list", "HEAD", "--count"], cwd=root) ++ pieces["distance"] = int(count_out) # total number of commits + +-version_json = ''' +-{ +- "dirty": false, +- "error": null, +- "full-revisionid": "7cadb31e3e257c64a47a67255547f0a746e1a465", +- "version": "0.1.10" +-} +-''' # END VERSION_JSON ++ # commit date: see ISO-8601 comment in git_versions_from_keywords() ++ date = runner(GITS, ["show", "-s", "--format=%ci", "HEAD"], cwd=root)[0].strip() ++ # Use only the last line. Previous lines may contain GPG signature ++ # information. ++ date = date.splitlines()[-1] ++ pieces["date"] = date.strip().replace(" ", "T", 1).replace(" ", "", 1) ++ ++ return pieces ++ ++ ++def plus_or_dot(pieces): ++ """Return a + if we don't already have one, else return a .""" ++ if "+" in pieces.get("closest-tag", ""): ++ return "." ++ return "+" ++ ++ ++def render_pep440(pieces): ++ """Build up version string, with post-release "local version identifier". ++ ++ Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you ++ get a tagged build and then dirty it, you'll get TAG+0.gHEX.dirty ++ ++ Exceptions: ++ 1: no tags. git_describe was just HEX. 0+untagged.DISTANCE.gHEX[.dirty] ++ """ ++ if pieces["closest-tag"]: ++ rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ rendered += plus_or_dot(pieces) ++ rendered += "%d.g%s" % (pieces["distance"], pieces["short"]) ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ else: ++ # exception #1 ++ rendered = "0+untagged.%d.g%s" % (pieces["distance"], ++ pieces["short"]) ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ return rendered ++ ++ ++def render_pep440_branch(pieces): ++ """TAG[[.dev0]+DISTANCE.gHEX[.dirty]] . ++ ++ The ".dev0" means not master branch. Note that .dev0 sorts backwards ++ (a feature branch will appear "older" than the master branch). ++ ++ Exceptions: ++ 1: no tags. 0[.dev0]+untagged.DISTANCE.gHEX[.dirty] ++ """ ++ if pieces["closest-tag"]: ++ rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += plus_or_dot(pieces) ++ rendered += "%d.g%s" % (pieces["distance"], pieces["short"]) ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ else: ++ # exception #1 ++ rendered = "0" ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += "+untagged.%d.g%s" % (pieces["distance"], ++ pieces["short"]) ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ return rendered ++ ++ ++def pep440_split_post(ver): ++ """Split pep440 version string at the post-release segment. ++ ++ Returns the release segments before the post-release and the ++ post-release version number (or -1 if no post-release segment is present). ++ """ ++ vc = str.split(ver, ".post") ++ return vc[0], int(vc[1] or 0) if len(vc) == 2 else None ++ ++ ++def render_pep440_pre(pieces): ++ """TAG[.postN.devDISTANCE] -- No -dirty. ++ ++ Exceptions: ++ 1: no tags. 0.post0.devDISTANCE ++ """ ++ if pieces["closest-tag"]: ++ if pieces["distance"]: ++ # update the post release segment ++ tag_version, post_version = pep440_split_post(pieces["closest-tag"]) ++ rendered = tag_version ++ if post_version is not None: ++ rendered += ".post%d.dev%d" % (post_version+1, pieces["distance"]) ++ else: ++ rendered += ".post0.dev%d" % (pieces["distance"]) ++ else: ++ # no commits, use the tag as the version ++ rendered = pieces["closest-tag"] ++ else: ++ # exception #1 ++ rendered = "0.post0.dev%d" % pieces["distance"] ++ return rendered ++ ++ ++def render_pep440_post(pieces): ++ """TAG[.postDISTANCE[.dev0]+gHEX] . ++ ++ The ".dev0" means dirty. Note that .dev0 sorts backwards ++ (a dirty tree will appear "older" than the corresponding clean one), ++ but you shouldn't be releasing software with -dirty anyways. ++ ++ Exceptions: ++ 1: no tags. 0.postDISTANCE[.dev0] ++ """ ++ if pieces["closest-tag"]: ++ rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ rendered += ".post%d" % pieces["distance"] ++ if pieces["dirty"]: ++ rendered += ".dev0" ++ rendered += plus_or_dot(pieces) ++ rendered += "g%s" % pieces["short"] ++ else: ++ # exception #1 ++ rendered = "0.post%d" % pieces["distance"] ++ if pieces["dirty"]: ++ rendered += ".dev0" ++ rendered += "+g%s" % pieces["short"] ++ return rendered ++ ++ ++def render_pep440_post_branch(pieces): ++ """TAG[.postDISTANCE[.dev0]+gHEX[.dirty]] . ++ ++ The ".dev0" means not master branch. ++ ++ Exceptions: ++ 1: no tags. 0.postDISTANCE[.dev0]+gHEX[.dirty] ++ """ ++ if pieces["closest-tag"]: ++ rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ rendered += ".post%d" % pieces["distance"] ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += plus_or_dot(pieces) ++ rendered += "g%s" % pieces["short"] ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ else: ++ # exception #1 ++ rendered = "0.post%d" % pieces["distance"] ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += "+g%s" % pieces["short"] ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ return rendered ++ ++ ++def render_pep440_old(pieces): ++ """TAG[.postDISTANCE[.dev0]] . ++ ++ The ".dev0" means dirty. ++ ++ Exceptions: ++ 1: no tags. 0.postDISTANCE[.dev0] ++ """ ++ if pieces["closest-tag"]: ++ rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ rendered += ".post%d" % pieces["distance"] ++ if pieces["dirty"]: ++ rendered += ".dev0" ++ else: ++ # exception #1 ++ rendered = "0.post%d" % pieces["distance"] ++ if pieces["dirty"]: ++ rendered += ".dev0" ++ return rendered ++ ++ ++def render_git_describe(pieces): ++ """TAG[-DISTANCE-gHEX][-dirty]. ++ ++ Like 'git describe --tags --dirty --always'. ++ ++ Exceptions: ++ 1: no tags. HEX[-dirty] (note: no 'g' prefix) ++ """ ++ if pieces["closest-tag"]: ++ rendered = pieces["closest-tag"] ++ if pieces["distance"]: ++ rendered += "-%d-g%s" % (pieces["distance"], pieces["short"]) ++ else: ++ # exception #1 ++ rendered = pieces["short"] ++ if pieces["dirty"]: ++ rendered += "-dirty" ++ return rendered ++ ++ ++def render_git_describe_long(pieces): ++ """TAG-DISTANCE-gHEX[-dirty]. ++ ++ Like 'git describe --tags --dirty --always -long'. ++ The distance/hash is unconditional. ++ ++ Exceptions: ++ 1: no tags. HEX[-dirty] (note: no 'g' prefix) ++ """ ++ if pieces["closest-tag"]: ++ rendered = pieces["closest-tag"] ++ rendered += "-%d-g%s" % (pieces["distance"], pieces["short"]) ++ else: ++ # exception #1 ++ rendered = pieces["short"] ++ if pieces["dirty"]: ++ rendered += "-dirty" ++ return rendered ++ ++ ++def render(pieces, style): ++ """Render the given version pieces into the requested style.""" ++ if pieces["error"]: ++ return {"version": "unknown", ++ "full-revisionid": pieces.get("long"), ++ "dirty": None, ++ "error": pieces["error"], ++ "date": None} ++ ++ if not style or style == "default": ++ style = "pep440" # the default ++ ++ if style == "pep440": ++ rendered = render_pep440(pieces) ++ elif style == "pep440-branch": ++ rendered = render_pep440_branch(pieces) ++ elif style == "pep440-pre": ++ rendered = render_pep440_pre(pieces) ++ elif style == "pep440-post": ++ rendered = render_pep440_post(pieces) ++ elif style == "pep440-post-branch": ++ rendered = render_pep440_post_branch(pieces) ++ elif style == "pep440-old": ++ rendered = render_pep440_old(pieces) ++ elif style == "git-describe": ++ rendered = render_git_describe(pieces) ++ elif style == "git-describe-long": ++ rendered = render_git_describe_long(pieces) ++ else: ++ raise ValueError("unknown style '%s'" % style) ++ ++ return {"version": rendered, "full-revisionid": pieces["long"], ++ "dirty": pieces["dirty"], "error": None, ++ "date": pieces.get("date")} + + + def get_versions(): +- return json.loads(version_json) ++ """Get version information or return default if unable to do so.""" ++ # I am in _version.py, which lives at ROOT/VERSIONFILE_SOURCE. If we have ++ # __file__, we can work backwards from there to the root. Some ++ # py2exe/bbfreeze/non-CPython implementations don't do __file__, in which ++ # case we can only use expanded keywords. ++ ++ cfg = get_config() ++ verbose = cfg.verbose ++ ++ try: ++ return git_versions_from_keywords(get_keywords(), cfg.tag_prefix, ++ verbose) ++ except NotThisMethod: ++ pass ++ ++ try: ++ root = os.path.realpath(__file__) ++ # versionfile_source is the relative path from the top of the source ++ # tree (where the .git directory might live) to this file. Invert ++ # this to find the root from __file__. ++ for _ in cfg.versionfile_source.split('/'): ++ root = os.path.dirname(root) ++ except NameError: ++ return {"version": "0+unknown", "full-revisionid": None, ++ "dirty": None, ++ "error": "unable to find root of source tree", ++ "date": None} ++ ++ try: ++ pieces = git_pieces_from_vcs(cfg.tag_prefix, root, verbose) ++ return render(pieces, cfg.style) ++ except NotThisMethod: ++ pass ++ ++ try: ++ if cfg.parentdir_prefix: ++ return versions_from_parentdir(cfg.parentdir_prefix, root, verbose) ++ except NotThisMethod: ++ pass ++ ++ return {"version": "0+unknown", "full-revisionid": None, ++ "dirty": None, ++ "error": "unable to compute version", "date": None} +diff --git a/versioneer.py b/versioneer.py +index 7ed2a21..a142bf5 100644 +--- a/versioneer.py ++++ b/versioneer.py +@@ -1,5 +1,5 @@ + +-# Version: 0.16 ++# Version: 0.22 + + """The Versioneer - like a rocketeer, but for versions. + +@@ -7,18 +7,14 @@ The Versioneer + ============== + + * like a rocketeer, but for versions! +-* https://github.com/warner/python-versioneer ++* https://github.com/python-versioneer/python-versioneer + * Brian Warner + * License: Public Domain +-* Compatible With: python2.6, 2.7, 3.3, 3.4, 3.5, and pypy +-* [![Latest Version] +-(https://pypip.in/version/versioneer/badge.svg?style=flat) +-](https://pypi.python.org/pypi/versioneer/) +-* [![Build Status] +-(https://travis-ci.org/warner/python-versioneer.png?branch=master) +-](https://travis-ci.org/warner/python-versioneer) +- +-This is a tool for managing a recorded version number in distutils-based ++* Compatible with: Python 3.6, 3.7, 3.8, 3.9, 3.10 and pypy3 ++* [![Latest Version][pypi-image]][pypi-url] ++* [![Build Status][travis-image]][travis-url] ++ ++This is a tool for managing a recorded version number in distutils/setuptools-based + python projects. The goal is to remove the tedious and error-prone "update + the embedded version string" step from your release process. Making a new + release should be as easy as recording a new tag in your version-control +@@ -27,9 +23,10 @@ system, and maybe making new tarballs. + + ## Quick Install + +-* `pip install versioneer` to somewhere to your $PATH +-* add a `[versioneer]` section to your setup.cfg (see below) ++* `pip install versioneer` to somewhere in your $PATH ++* add a `[versioneer]` section to your setup.cfg (see [Install](INSTALL.md)) + * run `versioneer install` in your source tree, commit the results ++* Verify version information with `python setup.py version` + + ## Version Identifiers + +@@ -61,7 +58,7 @@ version 1.3). Many VCS systems can report a description that captures this, + for example `git describe --tags --dirty --always` reports things like + "0.7-1-g574ab98-dirty" to indicate that the checkout is one revision past the + 0.7 tag, has a unique revision id of "574ab98", and is "dirty" (it has +-uncommitted changes. ++uncommitted changes). + + The version identifier is used for multiple purposes: + +@@ -88,127 +85,7 @@ the generated version data. + + ## Installation + +-First, decide on values for the following configuration variables: +- +-* `VCS`: the version control system you use. Currently accepts "git". +- +-* `style`: the style of version string to be produced. See "Styles" below for +- details. Defaults to "pep440", which looks like +- `TAG[+DISTANCE.gSHORTHASH[.dirty]]`. +- +-* `versionfile_source`: +- +- A project-relative pathname into which the generated version strings should +- be written. This is usually a `_version.py` next to your project's main +- `__init__.py` file, so it can be imported at runtime. If your project uses +- `src/myproject/__init__.py`, this should be `src/myproject/_version.py`. +- This file should be checked in to your VCS as usual: the copy created below +- by `setup.py setup_versioneer` will include code that parses expanded VCS +- keywords in generated tarballs. The 'build' and 'sdist' commands will +- replace it with a copy that has just the calculated version string. +- +- This must be set even if your project does not have any modules (and will +- therefore never import `_version.py`), since "setup.py sdist" -based trees +- still need somewhere to record the pre-calculated version strings. Anywhere +- in the source tree should do. If there is a `__init__.py` next to your +- `_version.py`, the `setup.py setup_versioneer` command (described below) +- will append some `__version__`-setting assignments, if they aren't already +- present. +- +-* `versionfile_build`: +- +- Like `versionfile_source`, but relative to the build directory instead of +- the source directory. These will differ when your setup.py uses +- 'package_dir='. If you have `package_dir={'myproject': 'src/myproject'}`, +- then you will probably have `versionfile_build='myproject/_version.py'` and +- `versionfile_source='src/myproject/_version.py'`. +- +- If this is set to None, then `setup.py build` will not attempt to rewrite +- any `_version.py` in the built tree. If your project does not have any +- libraries (e.g. if it only builds a script), then you should use +- `versionfile_build = None`. To actually use the computed version string, +- your `setup.py` will need to override `distutils.command.build_scripts` +- with a subclass that explicitly inserts a copy of +- `versioneer.get_version()` into your script file. See +- `test/demoapp-script-only/setup.py` for an example. +- +-* `tag_prefix`: +- +- a string, like 'PROJECTNAME-', which appears at the start of all VCS tags. +- If your tags look like 'myproject-1.2.0', then you should use +- tag_prefix='myproject-'. If you use unprefixed tags like '1.2.0', this +- should be an empty string, using either `tag_prefix=` or `tag_prefix=''`. +- +-* `parentdir_prefix`: +- +- a optional string, frequently the same as tag_prefix, which appears at the +- start of all unpacked tarball filenames. If your tarball unpacks into +- 'myproject-1.2.0', this should be 'myproject-'. To disable this feature, +- just omit the field from your `setup.cfg`. +- +-This tool provides one script, named `versioneer`. That script has one mode, +-"install", which writes a copy of `versioneer.py` into the current directory +-and runs `versioneer.py setup` to finish the installation. +- +-To versioneer-enable your project: +- +-* 1: Modify your `setup.cfg`, adding a section named `[versioneer]` and +- populating it with the configuration values you decided earlier (note that +- the option names are not case-sensitive): +- +- ```` +- [versioneer] +- VCS = git +- style = pep440 +- versionfile_source = src/myproject/_version.py +- versionfile_build = myproject/_version.py +- tag_prefix = +- parentdir_prefix = myproject- +- ```` +- +-* 2: Run `versioneer install`. This will do the following: +- +- * copy `versioneer.py` into the top of your source tree +- * create `_version.py` in the right place (`versionfile_source`) +- * modify your `__init__.py` (if one exists next to `_version.py`) to define +- `__version__` (by calling a function from `_version.py`) +- * modify your `MANIFEST.in` to include both `versioneer.py` and the +- generated `_version.py` in sdist tarballs +- +- `versioneer install` will complain about any problems it finds with your +- `setup.py` or `setup.cfg`. Run it multiple times until you have fixed all +- the problems. +- +-* 3: add a `import versioneer` to your setup.py, and add the following +- arguments to the setup() call: +- +- version=versioneer.get_version(), +- cmdclass=versioneer.get_cmdclass(), +- +-* 4: commit these changes to your VCS. To make sure you won't forget, +- `versioneer install` will mark everything it touched for addition using +- `git add`. Don't forget to add `setup.py` and `setup.cfg` too. +- +-## Post-Installation Usage +- +-Once established, all uses of your tree from a VCS checkout should get the +-current version string. All generated tarballs should include an embedded +-version string (so users who unpack them will not need a VCS tool installed). +- +-If you distribute your project through PyPI, then the release process should +-boil down to two steps: +- +-* 1: git tag 1.0 +-* 2: python setup.py register sdist upload +- +-If you distribute it through github (i.e. users use github to generate +-tarballs with `git archive`), the process is: +- +-* 1: git tag 1.0 +-* 2: git push; git push --tags +- +-Versioneer will report "0+untagged.NUMCOMMITS.gHASH" until your tree has at +-least one tag in its history. ++See [INSTALL.md](./INSTALL.md) for detailed installation instructions. + + ## Version-String Flavors + +@@ -229,6 +106,10 @@ information: + * `['full-revisionid']`: detailed revision identifier. For Git, this is the + full SHA1 commit id, e.g. "1076c978a8d3cfc70f408fe5974aa6c092c949ac". + ++* `['date']`: Date and time of the latest `HEAD` commit. For Git, it is the ++ commit date in ISO 8601 format. This will be None if the date is not ++ available. ++ + * `['dirty']`: a boolean, True if the tree has uncommitted changes. Note that + this is only accurate if run in a VCS checkout, otherwise it is likely to + be False or None +@@ -267,8 +148,8 @@ that this commit is two revisions ("+2") beyond the "0.11" tag. For released + software (exactly equal to a known tag), the identifier will only contain the + stripped tag, e.g. "0.11". + +-Other styles are available. See details.md in the Versioneer source tree for +-descriptions. ++Other styles are available. See [details.md](details.md) in the Versioneer ++source tree for descriptions. + + ## Debugging + +@@ -278,51 +159,83 @@ version`, which will run the version-lookup code in a verbose mode, and will + display the full contents of `get_versions()` (including the `error` string, + which may help identify what went wrong). + +-## Updating Versioneer ++## Known Limitations + +-To upgrade your project to a new release of Versioneer, do the following: ++Some situations are known to cause problems for Versioneer. This details the ++most significant ones. More can be found on Github ++[issues page](https://github.com/python-versioneer/python-versioneer/issues). + +-* install the new Versioneer (`pip install -U versioneer` or equivalent) +-* edit `setup.cfg`, if necessary, to include any new configuration settings +- indicated by the release notes +-* re-run `versioneer install` in your source tree, to replace +- `SRC/_version.py` +-* commit any changed files ++### Subprojects ++ ++Versioneer has limited support for source trees in which `setup.py` is not in ++the root directory (e.g. `setup.py` and `.git/` are *not* siblings). The are ++two common reasons why `setup.py` might not be in the root: ++ ++* Source trees which contain multiple subprojects, such as ++ [Buildbot](https://github.com/buildbot/buildbot), which contains both ++ "master" and "slave" subprojects, each with their own `setup.py`, ++ `setup.cfg`, and `tox.ini`. Projects like these produce multiple PyPI ++ distributions (and upload multiple independently-installable tarballs). ++* Source trees whose main purpose is to contain a C library, but which also ++ provide bindings to Python (and perhaps other languages) in subdirectories. ++ ++Versioneer will look for `.git` in parent directories, and most operations ++should get the right version string. However `pip` and `setuptools` have bugs ++and implementation details which frequently cause `pip install .` from a ++subproject directory to fail to find a correct version string (so it usually ++defaults to `0+unknown`). + +-### Upgrading to 0.16 ++`pip install --editable .` should work correctly. `setup.py install` might ++work too. + +-Nothing special. ++Pip-8.1.1 is known to have this problem, but hopefully it will get fixed in ++some later version. + +-### Upgrading to 0.15 ++[Bug #38](https://github.com/python-versioneer/python-versioneer/issues/38) is tracking ++this issue. The discussion in ++[PR #61](https://github.com/python-versioneer/python-versioneer/pull/61) describes the ++issue from the Versioneer side in more detail. ++[pip PR#3176](https://github.com/pypa/pip/pull/3176) and ++[pip PR#3615](https://github.com/pypa/pip/pull/3615) contain work to improve ++pip to let Versioneer work correctly. + +-Starting with this version, Versioneer is configured with a `[versioneer]` +-section in your `setup.cfg` file. Earlier versions required the `setup.py` to +-set attributes on the `versioneer` module immediately after import. The new +-version will refuse to run (raising an exception during import) until you +-have provided the necessary `setup.cfg` section. ++Versioneer-0.16 and earlier only looked for a `.git` directory next to the ++`setup.cfg`, so subprojects were completely unsupported with those releases. + +-In addition, the Versioneer package provides an executable named +-`versioneer`, and the installation process is driven by running `versioneer +-install`. In 0.14 and earlier, the executable was named +-`versioneer-installer` and was run without an argument. ++### Editable installs with setuptools <= 18.5 + +-### Upgrading to 0.14 ++`setup.py develop` and `pip install --editable .` allow you to install a ++project into a virtualenv once, then continue editing the source code (and ++test) without re-installing after every change. + +-0.14 changes the format of the version string. 0.13 and earlier used +-hyphen-separated strings like "0.11-2-g1076c97-dirty". 0.14 and beyond use a +-plus-separated "local version" section strings, with dot-separated +-components, like "0.11+2.g1076c97". PEP440-strict tools did not like the old +-format, but should be ok with the new one. ++"Entry-point scripts" (`setup(entry_points={"console_scripts": ..})`) are a ++convenient way to specify executable scripts that should be installed along ++with the python package. + +-### Upgrading from 0.11 to 0.12 ++These both work as expected when using modern setuptools. When using ++setuptools-18.5 or earlier, however, certain operations will cause ++`pkg_resources.DistributionNotFound` errors when running the entrypoint ++script, which must be resolved by re-installing the package. This happens ++when the install happens with one version, then the egg_info data is ++regenerated while a different version is checked out. Many setup.py commands ++cause egg_info to be rebuilt (including `sdist`, `wheel`, and installing into ++a different virtualenv), so this can be surprising. + +-Nothing special. ++[Bug #83](https://github.com/python-versioneer/python-versioneer/issues/83) describes ++this one, but upgrading to a newer version of setuptools should probably ++resolve it. + +-### Upgrading from 0.10 to 0.11 + +-You must add a `versioneer.VCS = "git"` to your `setup.py` before re-running +-`setup.py setup_versioneer`. This will enable the use of additional +-version-control systems (SVN, etc) in the future. ++## Updating Versioneer ++ ++To upgrade your project to a new release of Versioneer, do the following: ++ ++* install the new Versioneer (`pip install -U versioneer` or equivalent) ++* edit `setup.cfg`, if necessary, to include any new configuration settings ++ indicated by the release notes. See [UPGRADING](./UPGRADING.md) for details. ++* re-run `versioneer install` in your source tree, to replace ++ `SRC/_version.py` ++* commit any changed files + + ## Future Directions + +@@ -337,6 +250,14 @@ installation by editing setup.py . Alternatively, it might go the other + direction and include code from all supported VCS systems, reducing the + number of intermediate scripts. + ++## Similar projects ++ ++* [setuptools_scm](https://github.com/pypa/setuptools_scm/) - a non-vendored build-time ++ dependency ++* [minver](https://github.com/jbweston/miniver) - a lightweight reimplementation of ++ versioneer ++* [versioningit](https://github.com/jwodder/versioningit) - a PEP 518-based setuptools ++ plugin + + ## License + +@@ -346,19 +267,28 @@ Specifically, both are released under the Creative Commons "Public Domain + Dedication" license (CC0-1.0), as described in + https://creativecommons.org/publicdomain/zero/1.0/ . + ++[pypi-image]: https://img.shields.io/pypi/v/versioneer.svg ++[pypi-url]: https://pypi.python.org/pypi/versioneer/ ++[travis-image]: ++https://img.shields.io/travis/com/python-versioneer/python-versioneer.svg ++[travis-url]: https://travis-ci.com/github/python-versioneer/python-versioneer ++ + """ ++# pylint:disable=invalid-name,import-outside-toplevel,missing-function-docstring ++# pylint:disable=missing-class-docstring,too-many-branches,too-many-statements ++# pylint:disable=raise-missing-from,too-many-lines,too-many-locals,import-error ++# pylint:disable=too-few-public-methods,redefined-outer-name,consider-using-with ++# pylint:disable=attribute-defined-outside-init,too-many-arguments + +-from __future__ import print_function +-try: +- import configparser +-except ImportError: +- import ConfigParser as configparser ++import configparser + import errno + import json + import os + import re + import subprocess + import sys ++from typing import Callable, Dict ++import functools + + + class VersioneerConfig: +@@ -393,10 +323,12 @@ def get_root(): + # module-import table will cache the first one. So we can't use + # os.path.dirname(__file__), as that will find whichever + # versioneer.py was first imported, even in later projects. +- me = os.path.realpath(os.path.abspath(__file__)) +- if os.path.splitext(me)[0] != os.path.splitext(versioneer_py)[0]: ++ my_path = os.path.realpath(os.path.abspath(__file__)) ++ me_dir = os.path.normcase(os.path.splitext(my_path)[0]) ++ vsr_dir = os.path.normcase(os.path.splitext(versioneer_py)[0]) ++ if me_dir != vsr_dir: + print("Warning: build in %s is using versioneer.py from %s" +- % (os.path.dirname(me), versioneer_py)) ++ % (os.path.dirname(my_path), versioneer_py)) + except NameError: + pass + return root +@@ -404,85 +336,94 @@ def get_root(): + + def get_config_from_root(root): + """Read the project setup.cfg file to determine Versioneer config.""" +- # This might raise EnvironmentError (if setup.cfg is missing), or ++ # This might raise OSError (if setup.cfg is missing), or + # configparser.NoSectionError (if it lacks a [versioneer] section), or + # configparser.NoOptionError (if it lacks "VCS="). See the docstring at + # the top of versioneer.py for instructions on writing your setup.cfg . + setup_cfg = os.path.join(root, "setup.cfg") +- parser = configparser.SafeConfigParser() +- with open(setup_cfg, "r") as f: +- parser.readfp(f) ++ parser = configparser.ConfigParser() ++ with open(setup_cfg, "r") as cfg_file: ++ parser.read_file(cfg_file) + VCS = parser.get("versioneer", "VCS") # mandatory + +- def get(parser, name): +- if parser.has_option("versioneer", name): +- return parser.get("versioneer", name) +- return None ++ # Dict-like interface for non-mandatory entries ++ section = parser["versioneer"] ++ + cfg = VersioneerConfig() + cfg.VCS = VCS +- cfg.style = get(parser, "style") or "" +- cfg.versionfile_source = get(parser, "versionfile_source") +- cfg.versionfile_build = get(parser, "versionfile_build") +- cfg.tag_prefix = get(parser, "tag_prefix") ++ cfg.style = section.get("style", "") ++ cfg.versionfile_source = section.get("versionfile_source") ++ cfg.versionfile_build = section.get("versionfile_build") ++ cfg.tag_prefix = section.get("tag_prefix") + if cfg.tag_prefix in ("''", '""'): + cfg.tag_prefix = "" +- cfg.parentdir_prefix = get(parser, "parentdir_prefix") +- cfg.verbose = get(parser, "verbose") ++ cfg.parentdir_prefix = section.get("parentdir_prefix") ++ cfg.verbose = section.get("verbose") + return cfg + + + class NotThisMethod(Exception): + """Exception raised if a method is not valid for the current scenario.""" + ++ + # these dictionaries contain VCS-specific tools +-LONG_VERSION_PY = {} +-HANDLERS = {} ++LONG_VERSION_PY: Dict[str, str] = {} ++HANDLERS: Dict[str, Dict[str, Callable]] = {} + + + def register_vcs_handler(vcs, method): # decorator +- """Decorator to mark a method as the handler for a particular VCS.""" ++ """Create decorator to mark a method as the handler of a VCS.""" + def decorate(f): + """Store f in HANDLERS[vcs][method].""" +- if vcs not in HANDLERS: +- HANDLERS[vcs] = {} +- HANDLERS[vcs][method] = f ++ HANDLERS.setdefault(vcs, {})[method] = f + return f + return decorate + + +-def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False): ++def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, ++ env=None): + """Call the given command(s).""" + assert isinstance(commands, list) +- p = None +- for c in commands: ++ process = None ++ ++ popen_kwargs = {} ++ if sys.platform == "win32": ++ # This hides the console window if pythonw.exe is used ++ startupinfo = subprocess.STARTUPINFO() ++ startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW ++ popen_kwargs["startupinfo"] = startupinfo ++ ++ for command in commands: + try: +- dispcmd = str([c] + args) ++ dispcmd = str([command] + args) + # remember shell=False, so use git.cmd on windows, not just git +- p = subprocess.Popen([c] + args, cwd=cwd, stdout=subprocess.PIPE, +- stderr=(subprocess.PIPE if hide_stderr +- else None)) ++ process = subprocess.Popen([command] + args, cwd=cwd, env=env, ++ stdout=subprocess.PIPE, ++ stderr=(subprocess.PIPE if hide_stderr ++ else None), **popen_kwargs) + break +- except EnvironmentError: ++ except OSError: + e = sys.exc_info()[1] + if e.errno == errno.ENOENT: + continue + if verbose: + print("unable to run %s" % dispcmd) + print(e) +- return None ++ return None, None + else: + if verbose: + print("unable to find command, tried %s" % (commands,)) +- return None +- stdout = p.communicate()[0].strip() +- if sys.version_info[0] >= 3: +- stdout = stdout.decode() +- if p.returncode != 0: ++ return None, None ++ stdout = process.communicate()[0].strip().decode() ++ if process.returncode != 0: + if verbose: + print("unable to run %s (error)" % dispcmd) +- return None +- return stdout +-LONG_VERSION_PY['git'] = ''' ++ print("stdout was %s" % stdout) ++ return None, process.returncode ++ return stdout, process.returncode ++ ++ ++LONG_VERSION_PY['git'] = r''' + # This file helps to compute a version number in source trees obtained from + # git-archive tarball (such as those provided by githubs download-from-tag + # feature). Distribution tarballs (built by setup.py sdist) and build +@@ -490,7 +431,7 @@ LONG_VERSION_PY['git'] = ''' + # that just contains the computed version number. + + # This file is released into the public domain. Generated by +-# versioneer-0.16 (https://github.com/warner/python-versioneer) ++# versioneer-0.22 (https://github.com/python-versioneer/python-versioneer) + + """Git implementation of _version.py.""" + +@@ -499,6 +440,8 @@ import os + import re + import subprocess + import sys ++from typing import Callable, Dict ++import functools + + + def get_keywords(): +@@ -509,7 +452,8 @@ def get_keywords(): + # get_keywords(). + git_refnames = "%(DOLLAR)sFormat:%%d%(DOLLAR)s" + git_full = "%(DOLLAR)sFormat:%%H%(DOLLAR)s" +- keywords = {"refnames": git_refnames, "full": git_full} ++ git_date = "%(DOLLAR)sFormat:%%ci%(DOLLAR)s" ++ keywords = {"refnames": git_refnames, "full": git_full, "date": git_date} + return keywords + + +@@ -535,12 +479,12 @@ class NotThisMethod(Exception): + """Exception raised if a method is not valid for the current scenario.""" + + +-LONG_VERSION_PY = {} +-HANDLERS = {} ++LONG_VERSION_PY: Dict[str, str] = {} ++HANDLERS: Dict[str, Dict[str, Callable]] = {} + + + def register_vcs_handler(vcs, method): # decorator +- """Decorator to mark a method as the handler for a particular VCS.""" ++ """Create decorator to mark a method as the handler of a VCS.""" + def decorate(f): + """Store f in HANDLERS[vcs][method].""" + if vcs not in HANDLERS: +@@ -550,55 +494,71 @@ def register_vcs_handler(vcs, method): # decorator + return decorate + + +-def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False): ++def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, ++ env=None): + """Call the given command(s).""" + assert isinstance(commands, list) +- p = None +- for c in commands: ++ process = None ++ ++ popen_kwargs = {} ++ if sys.platform == "win32": ++ # This hides the console window if pythonw.exe is used ++ startupinfo = subprocess.STARTUPINFO() ++ startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW ++ popen_kwargs["startupinfo"] = startupinfo ++ ++ for command in commands: + try: +- dispcmd = str([c] + args) ++ dispcmd = str([command] + args) + # remember shell=False, so use git.cmd on windows, not just git +- p = subprocess.Popen([c] + args, cwd=cwd, stdout=subprocess.PIPE, +- stderr=(subprocess.PIPE if hide_stderr +- else None)) ++ process = subprocess.Popen([command] + args, cwd=cwd, env=env, ++ stdout=subprocess.PIPE, ++ stderr=(subprocess.PIPE if hide_stderr ++ else None), **popen_kwargs) + break +- except EnvironmentError: ++ except OSError: + e = sys.exc_info()[1] + if e.errno == errno.ENOENT: + continue + if verbose: + print("unable to run %%s" %% dispcmd) + print(e) +- return None ++ return None, None + else: + if verbose: + print("unable to find command, tried %%s" %% (commands,)) +- return None +- stdout = p.communicate()[0].strip() +- if sys.version_info[0] >= 3: +- stdout = stdout.decode() +- if p.returncode != 0: ++ return None, None ++ stdout = process.communicate()[0].strip().decode() ++ if process.returncode != 0: + if verbose: + print("unable to run %%s (error)" %% dispcmd) +- return None +- return stdout ++ print("stdout was %%s" %% stdout) ++ return None, process.returncode ++ return stdout, process.returncode + + + def versions_from_parentdir(parentdir_prefix, root, verbose): + """Try to determine the version from the parent directory name. + +- Source tarballs conventionally unpack into a directory that includes +- both the project name and a version string. ++ Source tarballs conventionally unpack into a directory that includes both ++ the project name and a version string. We will also support searching up ++ two directory levels for an appropriately named parent directory + """ +- dirname = os.path.basename(root) +- if not dirname.startswith(parentdir_prefix): +- if verbose: +- print("guessing rootdir is '%%s', but '%%s' doesn't start with " +- "prefix '%%s'" %% (root, dirname, parentdir_prefix)) +- raise NotThisMethod("rootdir doesn't start with parentdir_prefix") +- return {"version": dirname[len(parentdir_prefix):], +- "full-revisionid": None, +- "dirty": False, "error": None} ++ rootdirs = [] ++ ++ for _ in range(3): ++ dirname = os.path.basename(root) ++ if dirname.startswith(parentdir_prefix): ++ return {"version": dirname[len(parentdir_prefix):], ++ "full-revisionid": None, ++ "dirty": False, "error": None, "date": None} ++ rootdirs.append(root) ++ root = os.path.dirname(root) # up a level ++ ++ if verbose: ++ print("Tried directories %%s but none started with prefix %%s" %% ++ (str(rootdirs), parentdir_prefix)) ++ raise NotThisMethod("rootdir doesn't start with parentdir_prefix") + + + @register_vcs_handler("git", "get_keywords") +@@ -610,18 +570,21 @@ def git_get_keywords(versionfile_abs): + # _version.py. + keywords = {} + try: +- f = open(versionfile_abs, "r") +- for line in f.readlines(): +- if line.strip().startswith("git_refnames ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["refnames"] = mo.group(1) +- if line.strip().startswith("git_full ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["full"] = mo.group(1) +- f.close() +- except EnvironmentError: ++ with open(versionfile_abs, "r") as fobj: ++ for line in fobj: ++ if line.strip().startswith("git_refnames ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["refnames"] = mo.group(1) ++ if line.strip().startswith("git_full ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["full"] = mo.group(1) ++ if line.strip().startswith("git_date ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["date"] = mo.group(1) ++ except OSError: + pass + return keywords + +@@ -629,18 +592,31 @@ def git_get_keywords(versionfile_abs): + @register_vcs_handler("git", "keywords") + def git_versions_from_keywords(keywords, tag_prefix, verbose): + """Get version information from git keywords.""" +- if not keywords: +- raise NotThisMethod("no keywords at all, weird") ++ if "refnames" not in keywords: ++ raise NotThisMethod("Short version file found") ++ date = keywords.get("date") ++ if date is not None: ++ # Use only the last line. Previous lines may contain GPG signature ++ # information. ++ date = date.splitlines()[-1] ++ ++ # git-2.2.0 added "%%cI", which expands to an ISO-8601 -compliant ++ # datestamp. However we prefer "%%ci" (which expands to an "ISO-8601 ++ # -like" string, which we must then edit to make compliant), because ++ # it's been around since git-1.5.3, and it's too difficult to ++ # discover which version we're using, or to work around using an ++ # older one. ++ date = date.strip().replace(" ", "T", 1).replace(" ", "", 1) + refnames = keywords["refnames"].strip() + if refnames.startswith("$Format"): + if verbose: + print("keywords are unexpanded, not using") + raise NotThisMethod("unexpanded keywords, not a git-archive tarball") +- refs = set([r.strip() for r in refnames.strip("()").split(",")]) ++ refs = {r.strip() for r in refnames.strip("()").split(",")} + # starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of + # just "foo-1.0". If we see a "tag: " prefix, prefer those. + TAG = "tag: " +- tags = set([r[len(TAG):] for r in refs if r.startswith(TAG)]) ++ tags = {r[len(TAG):] for r in refs if r.startswith(TAG)} + if not tags: + # Either we're using git < 1.8.3, or there really are no tags. We use + # a heuristic: assume all version tags have a digit. The old git %%d +@@ -649,56 +625,72 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + # between branches and tags. By ignoring refnames without digits, we + # filter out many common branch names like "release" and + # "stabilization", as well as "HEAD" and "master". +- tags = set([r for r in refs if re.search(r'\d', r)]) ++ tags = {r for r in refs if re.search(r'\d', r)} + if verbose: +- print("discarding '%%s', no digits" %% ",".join(refs-tags)) ++ print("discarding '%%s', no digits" %% ",".join(refs - tags)) + if verbose: + print("likely tags: %%s" %% ",".join(sorted(tags))) + for ref in sorted(tags): + # sorting will prefer e.g. "2.0" over "2.0rc1" + if ref.startswith(tag_prefix): + r = ref[len(tag_prefix):] ++ # Filter out refs that exactly match prefix or that don't start ++ # with a number once the prefix is stripped (mostly a concern ++ # when prefix is '') ++ if not re.match(r'\d', r): ++ continue + if verbose: + print("picking %%s" %% r) + return {"version": r, + "full-revisionid": keywords["full"].strip(), +- "dirty": False, "error": None +- } ++ "dirty": False, "error": None, ++ "date": date} + # no suitable tags, so version is "0+unknown", but full hex is still there + if verbose: + print("no suitable tags, using unknown + full revision id") + return {"version": "0+unknown", + "full-revisionid": keywords["full"].strip(), +- "dirty": False, "error": "no suitable tags"} ++ "dirty": False, "error": "no suitable tags", "date": None} + + + @register_vcs_handler("git", "pieces_from_vcs") +-def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): ++def git_pieces_from_vcs(tag_prefix, root, verbose, runner=run_command): + """Get version from 'git describe' in the root of the source tree. + + This only gets called if the git-archive 'subst' keywords were *not* + expanded, and _version.py hasn't already been rewritten with a short + version string, meaning we're inside a checked out source tree. + """ +- if not os.path.exists(os.path.join(root, ".git")): +- if verbose: +- print("no .git in %%s" %% root) +- raise NotThisMethod("no .git directory") +- + GITS = ["git"] + if sys.platform == "win32": + GITS = ["git.cmd", "git.exe"] ++ ++ # GIT_DIR can interfere with correct operation of Versioneer. ++ # It may be intended to be passed to the Versioneer-versioned project, ++ # but that should not change where we get our version from. ++ env = os.environ.copy() ++ env.pop("GIT_DIR", None) ++ runner = functools.partial(runner, env=env) ++ ++ _, rc = runner(GITS, ["rev-parse", "--git-dir"], cwd=root, ++ hide_stderr=True) ++ if rc != 0: ++ if verbose: ++ print("Directory %%s not under git control" %% root) ++ raise NotThisMethod("'git rev-parse --git-dir' returned error") ++ ++ MATCH_ARGS = ["--match", "%%s*" %% tag_prefix] if tag_prefix else [] ++ + # if there is a tag matching tag_prefix, this yields TAG-NUM-gHEX[-dirty] + # if there isn't one, this yields HEX[-dirty] (no NUM) +- describe_out = run_command(GITS, ["describe", "--tags", "--dirty", +- "--always", "--long", +- "--match", "%%s*" %% tag_prefix], +- cwd=root) ++ describe_out, rc = runner(GITS, ["describe", "--tags", "--dirty", ++ "--always", "--long", *MATCH_ARGS], ++ cwd=root) + # --long was added in git-1.5.5 + if describe_out is None: + raise NotThisMethod("'git describe' failed") + describe_out = describe_out.strip() +- full_out = run_command(GITS, ["rev-parse", "HEAD"], cwd=root) ++ full_out, rc = runner(GITS, ["rev-parse", "HEAD"], cwd=root) + if full_out is None: + raise NotThisMethod("'git rev-parse' failed") + full_out = full_out.strip() +@@ -708,6 +700,39 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + pieces["short"] = full_out[:7] # maybe improved later + pieces["error"] = None + ++ branch_name, rc = runner(GITS, ["rev-parse", "--abbrev-ref", "HEAD"], ++ cwd=root) ++ # --abbrev-ref was added in git-1.6.3 ++ if rc != 0 or branch_name is None: ++ raise NotThisMethod("'git rev-parse --abbrev-ref' returned error") ++ branch_name = branch_name.strip() ++ ++ if branch_name == "HEAD": ++ # If we aren't exactly on a branch, pick a branch which represents ++ # the current commit. If all else fails, we are on a branchless ++ # commit. ++ branches, rc = runner(GITS, ["branch", "--contains"], cwd=root) ++ # --contains was added in git-1.5.4 ++ if rc != 0 or branches is None: ++ raise NotThisMethod("'git branch --contains' returned error") ++ branches = branches.split("\n") ++ ++ # Remove the first line if we're running detached ++ if "(" in branches[0]: ++ branches.pop(0) ++ ++ # Strip off the leading "* " from the list of branches. ++ branches = [branch[2:] for branch in branches] ++ if "master" in branches: ++ branch_name = "master" ++ elif not branches: ++ branch_name = None ++ else: ++ # Pick the first branch that is returned. Good or bad. ++ branch_name = branches[0] ++ ++ pieces["branch"] = branch_name ++ + # parse describe_out. It will be like TAG-NUM-gHEX[-dirty] or HEX[-dirty] + # TAG might have hyphens. + git_describe = describe_out +@@ -724,7 +749,7 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + # TAG-NUM-gHEX + mo = re.search(r'^(.+)-(\d+)-g([0-9a-f]+)$', git_describe) + if not mo: +- # unparseable. Maybe git-describe is misbehaving? ++ # unparsable. Maybe git-describe is misbehaving? + pieces["error"] = ("unable to parse git-describe output: '%%s'" + %% describe_out) + return pieces +@@ -749,10 +774,16 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + else: + # HEX: no tags + pieces["closest-tag"] = None +- count_out = run_command(GITS, ["rev-list", "HEAD", "--count"], +- cwd=root) ++ count_out, rc = runner(GITS, ["rev-list", "HEAD", "--count"], cwd=root) + pieces["distance"] = int(count_out) # total number of commits + ++ # commit date: see ISO-8601 comment in git_versions_from_keywords() ++ date = runner(GITS, ["show", "-s", "--format=%%ci", "HEAD"], cwd=root)[0].strip() ++ # Use only the last line. Previous lines may contain GPG signature ++ # information. ++ date = date.splitlines()[-1] ++ pieces["date"] = date.strip().replace(" ", "T", 1).replace(" ", "", 1) ++ + return pieces + + +@@ -788,19 +819,67 @@ def render_pep440(pieces): + return rendered + + +-def render_pep440_pre(pieces): +- """TAG[.post.devDISTANCE] -- No -dirty. ++def render_pep440_branch(pieces): ++ """TAG[[.dev0]+DISTANCE.gHEX[.dirty]] . ++ ++ The ".dev0" means not master branch. Note that .dev0 sorts backwards ++ (a feature branch will appear "older" than the master branch). + + Exceptions: +- 1: no tags. 0.post.devDISTANCE ++ 1: no tags. 0[.dev0]+untagged.DISTANCE.gHEX[.dirty] + """ + if pieces["closest-tag"]: + rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += plus_or_dot(pieces) ++ rendered += "%%d.g%%s" %% (pieces["distance"], pieces["short"]) ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ else: ++ # exception #1 ++ rendered = "0" ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += "+untagged.%%d.g%%s" %% (pieces["distance"], ++ pieces["short"]) ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ return rendered ++ ++ ++def pep440_split_post(ver): ++ """Split pep440 version string at the post-release segment. ++ ++ Returns the release segments before the post-release and the ++ post-release version number (or -1 if no post-release segment is present). ++ """ ++ vc = str.split(ver, ".post") ++ return vc[0], int(vc[1] or 0) if len(vc) == 2 else None ++ ++ ++def render_pep440_pre(pieces): ++ """TAG[.postN.devDISTANCE] -- No -dirty. ++ ++ Exceptions: ++ 1: no tags. 0.post0.devDISTANCE ++ """ ++ if pieces["closest-tag"]: + if pieces["distance"]: +- rendered += ".post.dev%%d" %% pieces["distance"] ++ # update the post release segment ++ tag_version, post_version = pep440_split_post(pieces["closest-tag"]) ++ rendered = tag_version ++ if post_version is not None: ++ rendered += ".post%%d.dev%%d" %% (post_version+1, pieces["distance"]) ++ else: ++ rendered += ".post0.dev%%d" %% (pieces["distance"]) ++ else: ++ # no commits, use the tag as the version ++ rendered = pieces["closest-tag"] + else: + # exception #1 +- rendered = "0.post.dev%%d" %% pieces["distance"] ++ rendered = "0.post0.dev%%d" %% pieces["distance"] + return rendered + + +@@ -831,12 +910,41 @@ def render_pep440_post(pieces): + return rendered + + ++def render_pep440_post_branch(pieces): ++ """TAG[.postDISTANCE[.dev0]+gHEX[.dirty]] . ++ ++ The ".dev0" means not master branch. ++ ++ Exceptions: ++ 1: no tags. 0.postDISTANCE[.dev0]+gHEX[.dirty] ++ """ ++ if pieces["closest-tag"]: ++ rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ rendered += ".post%%d" %% pieces["distance"] ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += plus_or_dot(pieces) ++ rendered += "g%%s" %% pieces["short"] ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ else: ++ # exception #1 ++ rendered = "0.post%%d" %% pieces["distance"] ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += "+g%%s" %% pieces["short"] ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ return rendered ++ ++ + def render_pep440_old(pieces): + """TAG[.postDISTANCE[.dev0]] . + + The ".dev0" means dirty. + +- Eexceptions: ++ Exceptions: + 1: no tags. 0.postDISTANCE[.dev0] + """ + if pieces["closest-tag"]: +@@ -899,17 +1007,22 @@ def render(pieces, style): + return {"version": "unknown", + "full-revisionid": pieces.get("long"), + "dirty": None, +- "error": pieces["error"]} ++ "error": pieces["error"], ++ "date": None} + + if not style or style == "default": + style = "pep440" # the default + + if style == "pep440": + rendered = render_pep440(pieces) ++ elif style == "pep440-branch": ++ rendered = render_pep440_branch(pieces) + elif style == "pep440-pre": + rendered = render_pep440_pre(pieces) + elif style == "pep440-post": + rendered = render_pep440_post(pieces) ++ elif style == "pep440-post-branch": ++ rendered = render_pep440_post_branch(pieces) + elif style == "pep440-old": + rendered = render_pep440_old(pieces) + elif style == "git-describe": +@@ -920,7 +1033,8 @@ def render(pieces, style): + raise ValueError("unknown style '%%s'" %% style) + + return {"version": rendered, "full-revisionid": pieces["long"], +- "dirty": pieces["dirty"], "error": None} ++ "dirty": pieces["dirty"], "error": None, ++ "date": pieces.get("date")} + + + def get_versions(): +@@ -944,12 +1058,13 @@ def get_versions(): + # versionfile_source is the relative path from the top of the source + # tree (where the .git directory might live) to this file. Invert + # this to find the root from __file__. +- for i in cfg.versionfile_source.split('/'): ++ for _ in cfg.versionfile_source.split('/'): + root = os.path.dirname(root) + except NameError: + return {"version": "0+unknown", "full-revisionid": None, + "dirty": None, +- "error": "unable to find root of source tree"} ++ "error": "unable to find root of source tree", ++ "date": None} + + try: + pieces = git_pieces_from_vcs(cfg.tag_prefix, root, verbose) +@@ -965,7 +1080,7 @@ def get_versions(): + + return {"version": "0+unknown", "full-revisionid": None, + "dirty": None, +- "error": "unable to compute version"} ++ "error": "unable to compute version", "date": None} + ''' + + +@@ -978,18 +1093,21 @@ def git_get_keywords(versionfile_abs): + # _version.py. + keywords = {} + try: +- f = open(versionfile_abs, "r") +- for line in f.readlines(): +- if line.strip().startswith("git_refnames ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["refnames"] = mo.group(1) +- if line.strip().startswith("git_full ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["full"] = mo.group(1) +- f.close() +- except EnvironmentError: ++ with open(versionfile_abs, "r") as fobj: ++ for line in fobj: ++ if line.strip().startswith("git_refnames ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["refnames"] = mo.group(1) ++ if line.strip().startswith("git_full ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["full"] = mo.group(1) ++ if line.strip().startswith("git_date ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["date"] = mo.group(1) ++ except OSError: + pass + return keywords + +@@ -997,18 +1115,31 @@ def git_get_keywords(versionfile_abs): + @register_vcs_handler("git", "keywords") + def git_versions_from_keywords(keywords, tag_prefix, verbose): + """Get version information from git keywords.""" +- if not keywords: +- raise NotThisMethod("no keywords at all, weird") ++ if "refnames" not in keywords: ++ raise NotThisMethod("Short version file found") ++ date = keywords.get("date") ++ if date is not None: ++ # Use only the last line. Previous lines may contain GPG signature ++ # information. ++ date = date.splitlines()[-1] ++ ++ # git-2.2.0 added "%cI", which expands to an ISO-8601 -compliant ++ # datestamp. However we prefer "%ci" (which expands to an "ISO-8601 ++ # -like" string, which we must then edit to make compliant), because ++ # it's been around since git-1.5.3, and it's too difficult to ++ # discover which version we're using, or to work around using an ++ # older one. ++ date = date.strip().replace(" ", "T", 1).replace(" ", "", 1) + refnames = keywords["refnames"].strip() + if refnames.startswith("$Format"): + if verbose: + print("keywords are unexpanded, not using") + raise NotThisMethod("unexpanded keywords, not a git-archive tarball") +- refs = set([r.strip() for r in refnames.strip("()").split(",")]) ++ refs = {r.strip() for r in refnames.strip("()").split(",")} + # starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of + # just "foo-1.0". If we see a "tag: " prefix, prefer those. + TAG = "tag: " +- tags = set([r[len(TAG):] for r in refs if r.startswith(TAG)]) ++ tags = {r[len(TAG):] for r in refs if r.startswith(TAG)} + if not tags: + # Either we're using git < 1.8.3, or there really are no tags. We use + # a heuristic: assume all version tags have a digit. The old git %d +@@ -1017,56 +1148,72 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + # between branches and tags. By ignoring refnames without digits, we + # filter out many common branch names like "release" and + # "stabilization", as well as "HEAD" and "master". +- tags = set([r for r in refs if re.search(r'\d', r)]) ++ tags = {r for r in refs if re.search(r'\d', r)} + if verbose: +- print("discarding '%s', no digits" % ",".join(refs-tags)) ++ print("discarding '%s', no digits" % ",".join(refs - tags)) + if verbose: + print("likely tags: %s" % ",".join(sorted(tags))) + for ref in sorted(tags): + # sorting will prefer e.g. "2.0" over "2.0rc1" + if ref.startswith(tag_prefix): + r = ref[len(tag_prefix):] ++ # Filter out refs that exactly match prefix or that don't start ++ # with a number once the prefix is stripped (mostly a concern ++ # when prefix is '') ++ if not re.match(r'\d', r): ++ continue + if verbose: + print("picking %s" % r) + return {"version": r, + "full-revisionid": keywords["full"].strip(), +- "dirty": False, "error": None +- } ++ "dirty": False, "error": None, ++ "date": date} + # no suitable tags, so version is "0+unknown", but full hex is still there + if verbose: + print("no suitable tags, using unknown + full revision id") + return {"version": "0+unknown", + "full-revisionid": keywords["full"].strip(), +- "dirty": False, "error": "no suitable tags"} ++ "dirty": False, "error": "no suitable tags", "date": None} + + + @register_vcs_handler("git", "pieces_from_vcs") +-def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): ++def git_pieces_from_vcs(tag_prefix, root, verbose, runner=run_command): + """Get version from 'git describe' in the root of the source tree. + + This only gets called if the git-archive 'subst' keywords were *not* + expanded, and _version.py hasn't already been rewritten with a short + version string, meaning we're inside a checked out source tree. + """ +- if not os.path.exists(os.path.join(root, ".git")): +- if verbose: +- print("no .git in %s" % root) +- raise NotThisMethod("no .git directory") +- + GITS = ["git"] + if sys.platform == "win32": + GITS = ["git.cmd", "git.exe"] ++ ++ # GIT_DIR can interfere with correct operation of Versioneer. ++ # It may be intended to be passed to the Versioneer-versioned project, ++ # but that should not change where we get our version from. ++ env = os.environ.copy() ++ env.pop("GIT_DIR", None) ++ runner = functools.partial(runner, env=env) ++ ++ _, rc = runner(GITS, ["rev-parse", "--git-dir"], cwd=root, ++ hide_stderr=True) ++ if rc != 0: ++ if verbose: ++ print("Directory %s not under git control" % root) ++ raise NotThisMethod("'git rev-parse --git-dir' returned error") ++ ++ MATCH_ARGS = ["--match", "%s*" % tag_prefix] if tag_prefix else [] ++ + # if there is a tag matching tag_prefix, this yields TAG-NUM-gHEX[-dirty] + # if there isn't one, this yields HEX[-dirty] (no NUM) +- describe_out = run_command(GITS, ["describe", "--tags", "--dirty", +- "--always", "--long", +- "--match", "%s*" % tag_prefix], +- cwd=root) ++ describe_out, rc = runner(GITS, ["describe", "--tags", "--dirty", ++ "--always", "--long", *MATCH_ARGS], ++ cwd=root) + # --long was added in git-1.5.5 + if describe_out is None: + raise NotThisMethod("'git describe' failed") + describe_out = describe_out.strip() +- full_out = run_command(GITS, ["rev-parse", "HEAD"], cwd=root) ++ full_out, rc = runner(GITS, ["rev-parse", "HEAD"], cwd=root) + if full_out is None: + raise NotThisMethod("'git rev-parse' failed") + full_out = full_out.strip() +@@ -1076,6 +1223,39 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + pieces["short"] = full_out[:7] # maybe improved later + pieces["error"] = None + ++ branch_name, rc = runner(GITS, ["rev-parse", "--abbrev-ref", "HEAD"], ++ cwd=root) ++ # --abbrev-ref was added in git-1.6.3 ++ if rc != 0 or branch_name is None: ++ raise NotThisMethod("'git rev-parse --abbrev-ref' returned error") ++ branch_name = branch_name.strip() ++ ++ if branch_name == "HEAD": ++ # If we aren't exactly on a branch, pick a branch which represents ++ # the current commit. If all else fails, we are on a branchless ++ # commit. ++ branches, rc = runner(GITS, ["branch", "--contains"], cwd=root) ++ # --contains was added in git-1.5.4 ++ if rc != 0 or branches is None: ++ raise NotThisMethod("'git branch --contains' returned error") ++ branches = branches.split("\n") ++ ++ # Remove the first line if we're running detached ++ if "(" in branches[0]: ++ branches.pop(0) ++ ++ # Strip off the leading "* " from the list of branches. ++ branches = [branch[2:] for branch in branches] ++ if "master" in branches: ++ branch_name = "master" ++ elif not branches: ++ branch_name = None ++ else: ++ # Pick the first branch that is returned. Good or bad. ++ branch_name = branches[0] ++ ++ pieces["branch"] = branch_name ++ + # parse describe_out. It will be like TAG-NUM-gHEX[-dirty] or HEX[-dirty] + # TAG might have hyphens. + git_describe = describe_out +@@ -1092,7 +1272,7 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + # TAG-NUM-gHEX + mo = re.search(r'^(.+)-(\d+)-g([0-9a-f]+)$', git_describe) + if not mo: +- # unparseable. Maybe git-describe is misbehaving? ++ # unparsable. Maybe git-describe is misbehaving? + pieces["error"] = ("unable to parse git-describe output: '%s'" + % describe_out) + return pieces +@@ -1117,10 +1297,16 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + else: + # HEX: no tags + pieces["closest-tag"] = None +- count_out = run_command(GITS, ["rev-list", "HEAD", "--count"], +- cwd=root) ++ count_out, rc = runner(GITS, ["rev-list", "HEAD", "--count"], cwd=root) + pieces["distance"] = int(count_out) # total number of commits + ++ # commit date: see ISO-8601 comment in git_versions_from_keywords() ++ date = runner(GITS, ["show", "-s", "--format=%ci", "HEAD"], cwd=root)[0].strip() ++ # Use only the last line. Previous lines may contain GPG signature ++ # information. ++ date = date.splitlines()[-1] ++ pieces["date"] = date.strip().replace(" ", "T", 1).replace(" ", "", 1) ++ + return pieces + + +@@ -1128,7 +1314,7 @@ def do_vcs_install(manifest_in, versionfile_source, ipy): + """Git-specific installation logic for Versioneer. + + For Git, this means creating/changing .gitattributes to mark _version.py +- for export-time keyword substitution. ++ for export-subst keyword substitution. + """ + GITS = ["git"] + if sys.platform == "win32": +@@ -1137,27 +1323,26 @@ def do_vcs_install(manifest_in, versionfile_source, ipy): + if ipy: + files.append(ipy) + try: +- me = __file__ +- if me.endswith(".pyc") or me.endswith(".pyo"): +- me = os.path.splitext(me)[0] + ".py" +- versioneer_file = os.path.relpath(me) ++ my_path = __file__ ++ if my_path.endswith(".pyc") or my_path.endswith(".pyo"): ++ my_path = os.path.splitext(my_path)[0] + ".py" ++ versioneer_file = os.path.relpath(my_path) + except NameError: + versioneer_file = "versioneer.py" + files.append(versioneer_file) + present = False + try: +- f = open(".gitattributes", "r") +- for line in f.readlines(): +- if line.strip().startswith(versionfile_source): +- if "export-subst" in line.strip().split()[1:]: +- present = True +- f.close() +- except EnvironmentError: ++ with open(".gitattributes", "r") as fobj: ++ for line in fobj: ++ if line.strip().startswith(versionfile_source): ++ if "export-subst" in line.strip().split()[1:]: ++ present = True ++ break ++ except OSError: + pass + if not present: +- f = open(".gitattributes", "a+") +- f.write("%s export-subst\n" % versionfile_source) +- f.close() ++ with open(".gitattributes", "a+") as fobj: ++ fobj.write(f"{versionfile_source} export-subst\n") + files.append(".gitattributes") + run_command(GITS, ["add", "--"] + files) + +@@ -1165,27 +1350,34 @@ def do_vcs_install(manifest_in, versionfile_source, ipy): + def versions_from_parentdir(parentdir_prefix, root, verbose): + """Try to determine the version from the parent directory name. + +- Source tarballs conventionally unpack into a directory that includes +- both the project name and a version string. ++ Source tarballs conventionally unpack into a directory that includes both ++ the project name and a version string. We will also support searching up ++ two directory levels for an appropriately named parent directory + """ +- dirname = os.path.basename(root) +- if not dirname.startswith(parentdir_prefix): +- if verbose: +- print("guessing rootdir is '%s', but '%s' doesn't start with " +- "prefix '%s'" % (root, dirname, parentdir_prefix)) +- raise NotThisMethod("rootdir doesn't start with parentdir_prefix") +- return {"version": dirname[len(parentdir_prefix):], +- "full-revisionid": None, +- "dirty": False, "error": None} ++ rootdirs = [] ++ ++ for _ in range(3): ++ dirname = os.path.basename(root) ++ if dirname.startswith(parentdir_prefix): ++ return {"version": dirname[len(parentdir_prefix):], ++ "full-revisionid": None, ++ "dirty": False, "error": None, "date": None} ++ rootdirs.append(root) ++ root = os.path.dirname(root) # up a level ++ ++ if verbose: ++ print("Tried directories %s but none started with prefix %s" % ++ (str(rootdirs), parentdir_prefix)) ++ raise NotThisMethod("rootdir doesn't start with parentdir_prefix") ++ + + SHORT_VERSION_PY = """ +-# This file was generated by 'versioneer.py' (0.16) from ++# This file was generated by 'versioneer.py' (0.22) from + # revision-control system data, or from the parent directory name of an + # unpacked source archive. Distribution tarballs contain a pre-generated copy + # of this file. + + import json +-import sys + + version_json = ''' + %s +@@ -1202,10 +1394,13 @@ def versions_from_file(filename): + try: + with open(filename) as f: + contents = f.read() +- except EnvironmentError: ++ except OSError: + raise NotThisMethod("unable to read _version.py") + mo = re.search(r"version_json = '''\n(.*)''' # END VERSION_JSON", + contents, re.M | re.S) ++ if not mo: ++ mo = re.search(r"version_json = '''\r\n(.*)''' # END VERSION_JSON", ++ contents, re.M | re.S) + if not mo: + raise NotThisMethod("no version_json in _version.py") + return json.loads(mo.group(1)) +@@ -1254,19 +1449,67 @@ def render_pep440(pieces): + return rendered + + +-def render_pep440_pre(pieces): +- """TAG[.post.devDISTANCE] -- No -dirty. ++def render_pep440_branch(pieces): ++ """TAG[[.dev0]+DISTANCE.gHEX[.dirty]] . ++ ++ The ".dev0" means not master branch. Note that .dev0 sorts backwards ++ (a feature branch will appear "older" than the master branch). + + Exceptions: +- 1: no tags. 0.post.devDISTANCE ++ 1: no tags. 0[.dev0]+untagged.DISTANCE.gHEX[.dirty] + """ + if pieces["closest-tag"]: + rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += plus_or_dot(pieces) ++ rendered += "%d.g%s" % (pieces["distance"], pieces["short"]) ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ else: ++ # exception #1 ++ rendered = "0" ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += "+untagged.%d.g%s" % (pieces["distance"], ++ pieces["short"]) ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ return rendered ++ ++ ++def pep440_split_post(ver): ++ """Split pep440 version string at the post-release segment. ++ ++ Returns the release segments before the post-release and the ++ post-release version number (or -1 if no post-release segment is present). ++ """ ++ vc = str.split(ver, ".post") ++ return vc[0], int(vc[1] or 0) if len(vc) == 2 else None ++ ++ ++def render_pep440_pre(pieces): ++ """TAG[.postN.devDISTANCE] -- No -dirty. ++ ++ Exceptions: ++ 1: no tags. 0.post0.devDISTANCE ++ """ ++ if pieces["closest-tag"]: + if pieces["distance"]: +- rendered += ".post.dev%d" % pieces["distance"] ++ # update the post release segment ++ tag_version, post_version = pep440_split_post(pieces["closest-tag"]) ++ rendered = tag_version ++ if post_version is not None: ++ rendered += ".post%d.dev%d" % (post_version+1, pieces["distance"]) ++ else: ++ rendered += ".post0.dev%d" % (pieces["distance"]) ++ else: ++ # no commits, use the tag as the version ++ rendered = pieces["closest-tag"] + else: + # exception #1 +- rendered = "0.post.dev%d" % pieces["distance"] ++ rendered = "0.post0.dev%d" % pieces["distance"] + return rendered + + +@@ -1297,12 +1540,41 @@ def render_pep440_post(pieces): + return rendered + + ++def render_pep440_post_branch(pieces): ++ """TAG[.postDISTANCE[.dev0]+gHEX[.dirty]] . ++ ++ The ".dev0" means not master branch. ++ ++ Exceptions: ++ 1: no tags. 0.postDISTANCE[.dev0]+gHEX[.dirty] ++ """ ++ if pieces["closest-tag"]: ++ rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ rendered += ".post%d" % pieces["distance"] ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += plus_or_dot(pieces) ++ rendered += "g%s" % pieces["short"] ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ else: ++ # exception #1 ++ rendered = "0.post%d" % pieces["distance"] ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += "+g%s" % pieces["short"] ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ return rendered ++ ++ + def render_pep440_old(pieces): + """TAG[.postDISTANCE[.dev0]] . + + The ".dev0" means dirty. + +- Eexceptions: ++ Exceptions: + 1: no tags. 0.postDISTANCE[.dev0] + """ + if pieces["closest-tag"]: +@@ -1365,17 +1637,22 @@ def render(pieces, style): + return {"version": "unknown", + "full-revisionid": pieces.get("long"), + "dirty": None, +- "error": pieces["error"]} ++ "error": pieces["error"], ++ "date": None} + + if not style or style == "default": + style = "pep440" # the default + + if style == "pep440": + rendered = render_pep440(pieces) ++ elif style == "pep440-branch": ++ rendered = render_pep440_branch(pieces) + elif style == "pep440-pre": + rendered = render_pep440_pre(pieces) + elif style == "pep440-post": + rendered = render_pep440_post(pieces) ++ elif style == "pep440-post-branch": ++ rendered = render_pep440_post_branch(pieces) + elif style == "pep440-old": + rendered = render_pep440_old(pieces) + elif style == "git-describe": +@@ -1386,7 +1663,8 @@ def render(pieces, style): + raise ValueError("unknown style '%s'" % style) + + return {"version": rendered, "full-revisionid": pieces["long"], +- "dirty": pieces["dirty"], "error": None} ++ "dirty": pieces["dirty"], "error": None, ++ "date": pieces.get("date")} + + + class VersioneerBadRootError(Exception): +@@ -1465,7 +1743,8 @@ def get_versions(verbose=False): + print("unable to compute version") + + return {"version": "0+unknown", "full-revisionid": None, +- "dirty": None, "error": "unable to compute version"} ++ "dirty": None, "error": "unable to compute version", ++ "date": None} + + + def get_version(): +@@ -1473,8 +1752,12 @@ def get_version(): + return get_versions()["version"] + + +-def get_cmdclass(): +- """Get the custom setuptools/distutils subclasses used by Versioneer.""" ++def get_cmdclass(cmdclass=None): ++ """Get the custom setuptools/distutils subclasses used by Versioneer. ++ ++ If the package uses a different cmdclass (e.g. one from numpy), it ++ should be provide as an argument. ++ """ + if "versioneer" in sys.modules: + del sys.modules["versioneer"] + # this fixes the "python setup.py develop" case (also 'install' and +@@ -1488,12 +1771,15 @@ def get_cmdclass(): + # parent is protected against the child's "import versioneer". By + # removing ourselves from sys.modules here, before the child build + # happens, we protect the child from the parent's versioneer too. +- # Also see https://github.com/warner/python-versioneer/issues/52 ++ # Also see https://github.com/python-versioneer/python-versioneer/issues/52 + +- cmds = {} ++ cmds = {} if cmdclass is None else cmdclass.copy() + + # we add "version" to both distutils and setuptools +- from distutils.core import Command ++ try: ++ from setuptools import Command ++ except ImportError: ++ from distutils.core import Command + + class cmd_version(Command): + description = "report generated version string" +@@ -1511,6 +1797,7 @@ def get_cmdclass(): + print("Version: %s" % vers["version"]) + print(" full-revisionid: %s" % vers.get("full-revisionid")) + print(" dirty: %s" % vers.get("dirty")) ++ print(" date: %s" % vers.get("date")) + if vers["error"]: + print(" error: %s" % vers["error"]) + cmds["version"] = cmd_version +@@ -1524,9 +1811,16 @@ def get_cmdclass(): + # setuptools/bdist_egg -> distutils/install_lib -> build_py + # setuptools/install -> bdist_egg ->.. + # setuptools/develop -> ? ++ # pip install: ++ # copies source tree to a tempdir before running egg_info/etc ++ # if .git isn't copied too, 'git describe' will fail ++ # then does setup.py bdist_wheel, or sometimes setup.py install ++ # setup.py egg_info -> ? + + # we override different "build_py" commands for both environments +- if "setuptools" in sys.modules: ++ if 'build_py' in cmds: ++ _build_py = cmds['build_py'] ++ elif "setuptools" in sys.modules: + from setuptools.command.build_py import build_py as _build_py + else: + from distutils.command.build_py import build_py as _build_py +@@ -1546,8 +1840,41 @@ def get_cmdclass(): + write_to_version_file(target_versionfile, versions) + cmds["build_py"] = cmd_build_py + ++ if 'build_ext' in cmds: ++ _build_ext = cmds['build_ext'] ++ elif "setuptools" in sys.modules: ++ from setuptools.command.build_ext import build_ext as _build_ext ++ else: ++ from distutils.command.build_ext import build_ext as _build_ext ++ ++ class cmd_build_ext(_build_ext): ++ def run(self): ++ root = get_root() ++ cfg = get_config_from_root(root) ++ versions = get_versions() ++ _build_ext.run(self) ++ if self.inplace: ++ # build_ext --inplace will only build extensions in ++ # build/lib<..> dir with no _version.py to write to. ++ # As in place builds will already have a _version.py ++ # in the module dir, we do not need to write one. ++ return ++ # now locate _version.py in the new build/ directory and replace ++ # it with an updated value ++ target_versionfile = os.path.join(self.build_lib, ++ cfg.versionfile_build) ++ print("UPDATING %s" % target_versionfile) ++ write_to_version_file(target_versionfile, versions) ++ cmds["build_ext"] = cmd_build_ext ++ + if "cx_Freeze" in sys.modules: # cx_freeze enabled? + from cx_Freeze.dist import build_exe as _build_exe ++ # nczeczulin reports that py2exe won't like the pep440-style string ++ # as FILEVERSION, but it can be used for PRODUCTVERSION, e.g. ++ # setup(console=[{ ++ # "version": versioneer.get_version().split("+", 1)[0], # FILEVERSION ++ # "product_version": versioneer.get_version(), ++ # ... + + class cmd_build_exe(_build_exe): + def run(self): +@@ -1572,8 +1899,35 @@ def get_cmdclass(): + cmds["build_exe"] = cmd_build_exe + del cmds["build_py"] + ++ if 'py2exe' in sys.modules: # py2exe enabled? ++ from py2exe.distutils_buildexe import py2exe as _py2exe ++ ++ class cmd_py2exe(_py2exe): ++ def run(self): ++ root = get_root() ++ cfg = get_config_from_root(root) ++ versions = get_versions() ++ target_versionfile = cfg.versionfile_source ++ print("UPDATING %s" % target_versionfile) ++ write_to_version_file(target_versionfile, versions) ++ ++ _py2exe.run(self) ++ os.unlink(target_versionfile) ++ with open(cfg.versionfile_source, "w") as f: ++ LONG = LONG_VERSION_PY[cfg.VCS] ++ f.write(LONG % ++ {"DOLLAR": "$", ++ "STYLE": cfg.style, ++ "TAG_PREFIX": cfg.tag_prefix, ++ "PARENTDIR_PREFIX": cfg.parentdir_prefix, ++ "VERSIONFILE_SOURCE": cfg.versionfile_source, ++ }) ++ cmds["py2exe"] = cmd_py2exe ++ + # we override different "sdist" commands for both environments +- if "setuptools" in sys.modules: ++ if 'sdist' in cmds: ++ _sdist = cmds['sdist'] ++ elif "setuptools" in sys.modules: + from setuptools.command.sdist import sdist as _sdist + else: + from distutils.command.sdist import sdist as _sdist +@@ -1640,21 +1994,26 @@ SAMPLE_CONFIG = """ + + """ + +-INIT_PY_SNIPPET = """ ++OLD_SNIPPET = """ + from ._version import get_versions + __version__ = get_versions()['version'] + del get_versions + """ + ++INIT_PY_SNIPPET = """ ++from . import {0} ++__version__ = {0}.get_versions()['version'] ++""" ++ + + def do_setup(): +- """Main VCS-independent setup function for installing Versioneer.""" ++ """Do main VCS-independent setup function for installing Versioneer.""" + root = get_root() + try: + cfg = get_config_from_root(root) +- except (EnvironmentError, configparser.NoSectionError, ++ except (OSError, configparser.NoSectionError, + configparser.NoOptionError) as e: +- if isinstance(e, (EnvironmentError, configparser.NoSectionError)): ++ if isinstance(e, (OSError, configparser.NoSectionError)): + print("Adding sample versioneer config to setup.cfg", + file=sys.stderr) + with open(os.path.join(root, "setup.cfg"), "a") as f: +@@ -1678,12 +2037,18 @@ def do_setup(): + try: + with open(ipy, "r") as f: + old = f.read() +- except EnvironmentError: ++ except OSError: + old = "" +- if INIT_PY_SNIPPET not in old: ++ module = os.path.splitext(os.path.basename(cfg.versionfile_source))[0] ++ snippet = INIT_PY_SNIPPET.format(module) ++ if OLD_SNIPPET in old: ++ print(" replacing boilerplate in %s" % ipy) ++ with open(ipy, "w") as f: ++ f.write(old.replace(OLD_SNIPPET, snippet)) ++ elif snippet not in old: + print(" appending to %s" % ipy) + with open(ipy, "a") as f: +- f.write(INIT_PY_SNIPPET) ++ f.write(snippet) + else: + print(" %s unmodified" % ipy) + else: +@@ -1702,7 +2067,7 @@ def do_setup(): + if line.startswith("include "): + for include in line.split()[1:]: + simple_includes.add(include) +- except EnvironmentError: ++ except OSError: + pass + # That doesn't cover everything MANIFEST.in can do + # (http://docs.python.org/2/distutils/sourcedist.html#commands), so +@@ -1723,7 +2088,7 @@ def do_setup(): + print(" versionfile_source already in MANIFEST.in") + + # Make VCS-specific changes. For git, this means creating/changing +- # .gitattributes to mark _version.py for export-time keyword ++ # .gitattributes to mark _version.py for export-subst keyword + # substitution. + do_vcs_install(manifest_in, cfg.versionfile_source, ipy) + return 0 +@@ -1765,6 +2130,7 @@ def scan_setup_py(): + errors += 1 + return errors + ++ + if __name__ == "__main__": + cmd = sys.argv[1] + if cmd == "setup": diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-click-spinner_0.1.10.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-click-spinner_0.1.10.bb index bd1136fd77..b3e1328c75 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-click-spinner_0.1.10.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-click-spinner_0.1.10.bb @@ -3,6 +3,7 @@ HOMEPAGE = "https://github.com/click-contrib/click-spinner" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489" +SRC_URI += "file://0001-Update-Versioneer-to-0.22.patch" SRC_URI[md5sum] = "ab68ed404401421819c81cc6c0677a87" SRC_URI[sha256sum] = "87eacf9d7298973a25d7615ef57d4782aebf913a532bba4b28a37e366e975daf" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cloudpickle_3.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cloudpickle_3.0.0.bb new file mode 100644 index 0000000000..25c379590f --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cloudpickle_3.0.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "Pickler class to extend the standard pickle.Pickler functionality" +DESCRIPTION = "cloudpickle makes it possible to serialize Python constructs \ +not supported by the default pickle module from the Python standard library.\ +\ +cloudpickle is especially useful for cluster computing where Python code is \ +shipped over the network to execute on remote hosts, possibly close to the \ +data." +HOMEPAGE = "https://github.com/cloudpipe/cloudpickle" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE.cloudpickle;md5=b4d59aa5e2cc777722aac17841237931" + +inherit pypi python_flit_core + +SRC_URI += "https://raw.githubusercontent.com/cloudpipe/cloudpickle/v${PV}/LICENSE;downloadfilename=LICENSE.cloudpickle;name=license" + +SRC_URI[sha256sum] = "996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882" +SRC_URI[license.sha256sum] = "3029ea34173e9fdc233ad315dc6b100bd1ea71f529b1c1af97664a272fdc55f5" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.27.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.28.1.bb index b613fd3a19..a6a7b6c4fc 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.27.7.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.28.1.bb @@ -11,7 +11,7 @@ PYPI_PACKAGE = "cmake" PYPI_ARCHIVE_NAME_PREFIX = "pypi-" inherit pypi python_setuptools_build_meta -SRC_URI[sha256sum] = "9f4a7c7be2a25de5901f045618f41b833ea6c0f647115201d38e4fdf7e2815bc" +SRC_URI[sha256sum] = "0d4051d101d151d8387156c463aa45c8cd0e164f870e0ac0c8c91d3ff08528e1" SRC_URI += " \ file://CMakeLists.txt \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_6.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_6.8.0.bb index 69f4be17c4..6aefef6d13 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_6.7.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_6.8.0.bb @@ -7,6 +7,6 @@ inherit pypi setuptools3 PYPI_PACKAGE = "colorlog" -SRC_URI[sha256sum] = "bd94bd21c1e13fac7bd3153f4bc3a7dc0eb0974b8bc2fdf1a989e474f6e582e5" +SRC_URI[sha256sum] = "fbb6fdf9d5685f2517f388fb29bb27d54e8654dd31f58bc2a3b217e967a95ca6" RDEPENDS:${PN} += "python3-logging" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-constantly_15.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-constantly_23.10.4.bb index 7f9b0326fa..cb6ca0a82d 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-constantly_15.1.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-constantly_23.10.4.bb @@ -3,9 +3,10 @@ HOMEPAGE = "https://github.com/twisted/constantly" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=e393e4ddd223e3a74982efa784f89fd7" -SRC_URI[md5sum] = "f0762f083d83039758e53f8cf0086eef" -SRC_URI[sha256sum] = "586372eb92059873e29eba4f9dec8381541b4d3834660707faf8ba59146dfc35" +SRC_URI[sha256sum] = "aa92b70a33e2ac0bb33cd745eb61776594dc48764b06c35e0efd050b7f1c7cbd" -inherit pypi setuptools3 +inherit pypi python_poetry_core + +DEPENDS += "${PYTHON_PN}-versioneer-native" RDEPENDS:${PN} += "${PYTHON_PN}-json" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.3.4.bb index 12496b03d4..42bc9fc8ed 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.3.2.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.3.4.bb @@ -3,7 +3,7 @@ HOMEPAGE = "https://coverage.readthedocs.io" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93" -SRC_URI[sha256sum] = "be32ad29341b0170e795ca590e1c07e81fc061cb5b10c74ce7203491484404ef" +SRC_URI[sha256sum] = "020d56d2da5bc22a0e00a5b0d54597ee91ad72446fa4cf1b97c35022f6b6dbf0" inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cppy_1.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cppy_1.2.1.bb index 270f74963d..7817401fa4 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cppy_1.2.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cppy_1.2.1.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=0bfb3e39b13587f0028f17baf0e42371" SRC_URI[sha256sum] = "83b43bf17b1085ac15c5debdb42154f138b928234b21447358981f69d0d6fe1b" -RDEPENDS:${PN} += "python3-setuptools python3-distutils" +RDEPENDS:${PN} += "python3-setuptools" inherit pypi python_setuptools_build_meta diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cycler_0.11.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cycler_0.12.1.bb index 59492e8bfa..574083b61f 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cycler_0.11.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cycler_0.12.1.bb @@ -3,9 +3,9 @@ HOMEPAGE = "http://github.com/matplotlib/cycler" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=7713fe42cd766b15c710e19392bfa811" -SRC_URI[sha256sum] = "9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f" +SRC_URI[sha256sum] = "88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c" -inherit pypi setuptools3 +inherit pypi python_setuptools_build_meta RDEPENDS:${PN} += "\ python3-core \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-fast_2.15.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-fast_2.21.0.bb index b3cb377ec2..5698ae99f4 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-fast_2.15.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-fast_2.21.0.bb @@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/bluetooth-devices/dbus-fast" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=729e372b5ea0168438e4fd4a00a04947" -SRC_URI[sha256sum] = "c98c7dfc3c589d6a5ded3427addfef1f9199525422f976e10d70a5c10558f5bf" +SRC_URI[sha256sum] = "f582f6f16791ced6067dab325fae444edf7ce0704315b90c2a473090636a6fe0" PYPI_PACKAGE = "dbus_fast" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dirty-equals_0.7.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dirty-equals_0.7.1.bb new file mode 100644 index 0000000000..ea9303b17e --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dirty-equals_0.7.1.bb @@ -0,0 +1,21 @@ +SUMMARY = "Doing dirty (but extremely useful) things with equals." +DESCRIPTION = "dirty-equals is a python library that (mis)uses the \ +__eq__ method to make python code (generally unit tests) more \ +declarative and therefore easier to read and write.\ +\ +dirty-equals can be used in whatever context you like, but it comes \ +into its own when writing unit tests for applications where you're \ +commonly checking the response to API calls and the contents of a database." +HOMEPAGE = "https://github.com/samuelcolvin/dirty-equals" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ab599c188b4a314d2856b3a55030c75c" + +SRC_URI[sha256sum] = "a580513f3285e93656a770a04e428f8bfc513848877bf278282dbfbb907fdbb4" + +S = "${WORKDIR}/dirty_equals-${PV}" + +inherit pypi python_hatchling + +PYPI_PACKAGE = "dirty_equals" + +RDEPENDS:${PN} += "python3-pytz" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-distlib_0.3.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-distlib_0.3.8.bb index 1d9d53e274..41a66479cc 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-distlib_0.3.7.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-distlib_0.3.8.bb @@ -6,7 +6,7 @@ HOMEPAGE = "https://github.com/pypa/distlib" LICENSE = "PSF-2.0" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f6a11430d5cd6e2cd3832ee94f22ddfc" -SRC_URI[sha256sum] = "9dafe54b34a028eafd95039d5e5d4851a13734540f1331060d31c9916e7147a8" +SRC_URI[sha256sum] = "1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64" BBCLASSEXTEND = "native nativesdk" inherit pypi python_setuptools_build_meta diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-distro_1.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-distro_1.9.0.bb index f7616e4730..a342432a6b 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-distro_1.8.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-distro_1.9.0.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314" PYPI_PACKAGE = "distro" -SRC_URI[sha256sum] = "02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8" +SRC_URI[sha256sum] = "2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed" inherit pypi python_setuptools_build_meta diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.2.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_5.0.bb index 100db9bd71..bad4245233 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.2.7.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_5.0.bb @@ -1,7 +1,7 @@ require python-django.inc inherit setuptools3 -SRC_URI[sha256sum] = "8e0f1c2c2786b5c0e39fe1afce24c926040fad47c8ea8ad30aaf1188df29fc41" +SRC_URI[sha256sum] = "7d29e14dfbc19cb6a95a4bd669edbde11f5d4c6a71fdaa42c2d40b6846e807f7" RDEPENDS:${PN} += "\ ${PYTHON_PN}-sqlparse \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate/fix-ptests.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate/fix-ptests.patch deleted file mode 100644 index 81211d4498..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate/fix-ptests.patch +++ /dev/null @@ -1,20 +0,0 @@ -Fixes test failures on musl - -Fixes errors -ptestresult.python3-dominate.tests/test_dom_tag.py::test___get_thread_context - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -diff --git a/tests/test_dom_tag.py b/tests/test_dom_tag.py -index 43ffecb..1126e54 100644 ---- a/tests/test_dom_tag.py -+++ b/tests/test_dom_tag.py -@@ -18,6 +18,7 @@ def test___get_thread_context(monkeypatch): - monkeypatch.setattr(sut, 'threading', threading) - - assert sut._get_thread_context() in [ -+ 1692341442, # Python >= 3.9, 32-bit - -6805948436281256182, # Python >= 3.9 - 3713141171098444831, # Python < 3.9 - ] diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.9.1.bb index 6b0489e4fd..3bd9d87547 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.8.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.9.1.bb @@ -2,13 +2,12 @@ SUMMARY = "Dominate is a Python library for creating and manipulating HTML docum LICENSE = "LGPL-3.0-only" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b52f2d57d10c4f7ee67a7eb9615d5d24" -SRC_URI[sha256sum] = "4c90c3befaf88e612b71f4b39af7bcbef8977acfa855cec957225a8fbf504007" +SRC_URI[sha256sum] = "558284687d9b8aae1904e3d6051ad132dd4a8c0cf551b37ea4e7e42a31d19dc4" -inherit pypi setuptools3 ptest +inherit pypi ptest python_setuptools_build_meta SRC_URI += " \ file://run-ptest \ - file://fix-ptests.patch \ " RDEPENDS:${PN}-ptest += " \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.8.1.bb index 1cc79f1a9b..f88a3acf1e 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.8.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.8.1.bb @@ -17,4 +17,4 @@ RDEPENDS:${PN} += " \ python3-asyncio \ " -SRC_URI[sha256sum] = "2a32585d8fecd0118264fe0c39788670456ca9aa466d7c026d995cfff68af164" +SRC_URI[sha256sum] = "fadc39c66348f96476d8dc2d7aaee7ea0a39d96e333217f5321300677b980121" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-keyfile_0.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-keyfile_0.7.0.bb index 55ab1a78da..2afc288bce 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-keyfile_0.6.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-keyfile_0.7.0.bb @@ -2,9 +2,9 @@ SUMMARY = "A library for handling the encrypted keyfiles used to store ethereum HOMEPAGE = "https://github.com/ethereum/eth-keyfile" SECTION = "devel/python" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=2beaef1b1764f4d6b46084c885b4bcad" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6749008d847c14b9718949c2e24d5c0a" -SRC_URI[sha256sum] = "471be6e5386fce7b22556b3d4bde5558dbce46d2674f00848027cb0a20abdc8c" +SRC_URI[sha256sum] = "6bdb8110c3a50439deb68a04c93c9d5ddd5402353bfae1bf4cfca1d6dff14fcf" inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-rlp_0.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-rlp_1.0.0.bb index d19a657557..5cd0d0544e 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-rlp_0.3.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-rlp_1.0.0.bb @@ -2,9 +2,9 @@ SUMMARY = "RLP definitions for common Ethereum objects in Python" HOMEPAGE = "https://github.com/ethereum/eth-rlp" SECTION = "devel/python" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=287820ad3553117aa2f92bf84c219324" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3d7bdfe69b1ffbde073ca6e96f5c53f7" -SRC_URI[sha256sum] = "f3263b548df718855d9a8dbd754473f383c0efc82914b0b849572ce3e06e71a6" +SRC_URI[sha256sum] = "a988d713a36452e7c6da71186798343f687eaf3aeb7f99266750dd9e1f754c7b" inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eventlet_0.33.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eventlet_0.34.2.bb index c1256661b4..86524da42b 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-eventlet_0.33.3.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-eventlet_0.34.2.bb @@ -4,13 +4,12 @@ SECTION = "devel/python" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=56472ad6de4caf50e05332a34b66e778" -SRC_URI[sha256sum] = "722803e7eadff295347539da363d68ae155b8b26ae6a634474d0a920be73cfda" +SRC_URI[sha256sum] = "2115c7c6742e6893bf1347f82915572f8895c911cb5abaad4d3596a7daa847cc" inherit pypi setuptools3 RDEPENDS:${PN} += " \ ${PYTHON_PN}-dnspython \ ${PYTHON_PN}-six \ - ${PYTHON_PN}-distutils \ ${PYTHON_PN}-greenlet \ " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-expandvars_0.12.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-expandvars_0.12.0.bb new file mode 100644 index 0000000000..6183c310ed --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-expandvars_0.12.0.bb @@ -0,0 +1,10 @@ +SUMMARY = "Expand system variables Unix style" +HOMEPAGE = "https://github.com/sayanarijit/expandvars" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8b2e744064bd184728ac09dbfb52aaf4" + +SRC_URI[sha256sum] = "7d1adfa55728cf4b5d812ece3d087703faea953e0c0a1a78415de9df5024d844" + +inherit pypi python_hatchling python_setuptools_build_meta + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-fastnumbers_5.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-fastnumbers_5.0.1.bb deleted file mode 100644 index 7494c45f06..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-fastnumbers_5.0.1.bb +++ /dev/null @@ -1,10 +0,0 @@ -SUMMARY = "Super-fast and clean conversions to numbers." -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=58db8ac9e152dd9b700f4d39ff40a31a" - -PYPI_PACKAGE = "fastnumbers" - -SRC_URI[sha256sum] = "9e4fd92cdf263a8e0865af19c40ae9df45a9bc0eb5e22fefea871140e7e0262f" - -inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-fastnumbers_5.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-fastnumbers_5.1.0.bb new file mode 100644 index 0000000000..01aa8b3b44 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-fastnumbers_5.1.0.bb @@ -0,0 +1,10 @@ +SUMMARY = "Super-fast and clean conversions to numbers." +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d32431d1b650010945da4e078011c8fa" + +PYPI_PACKAGE = "fastnumbers" + +SRC_URI[sha256sum] = "e092d33f8b95c3171a2fb34e579efe0c54b0290dd7f96ffaa2762437601d90a7" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-jwt-extended_4.5.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-jwt-extended_4.6.0.bb index d5438f11a8..cc07c92f47 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-jwt-extended_4.5.3.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-jwt-extended_4.6.0.bb @@ -7,7 +7,7 @@ inherit pypi setuptools3 PYPI_PACKAGE = "Flask-JWT-Extended" -SRC_URI[sha256sum] = "061ef3d25ed5743babe4964ab38f36d870e6d2fd8a126bab5d77ddef8a01932b" +SRC_URI[sha256sum] = "9215d05a9413d3855764bcd67035e75819d23af2fafb6b55197eb5a3313fdfb2" RDEPENDS:${PN} += "\ python3-werkzeug \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restx_1.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restx_1.3.0.bb index 573c2dbff3..9c2a1e9a8b 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restx_1.2.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restx_1.3.0.bb @@ -2,7 +2,7 @@ DESCRIPTION = "Fully featured framework for fast, easy and documented API develo LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=c96dd911c6d9e32868b6bc667a38a3e2" -SRC_URI[sha256sum] = "9a5338b108c57fbed1d24d5d53fe98442b2be7ffa2ff3291305af7a613ce6fc0" +SRC_URI[sha256sum] = "4f3d3fa7b6191fcc715b18c201a12cd875176f92ba4acc61626ccfd571ee1728" inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.5.1.bb deleted file mode 100644 index 3aa6303da7..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.5.1.bb +++ /dev/null @@ -1,11 +0,0 @@ -DESCRIPTION = "Adds SQLAlchemy support to your Flask application." -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75" - -SRC_URI[sha256sum] = "2bda44b43e7cacb15d4e05ff3cc1f8bc97936cc464623424102bfc2c35e95912" - -PYPI_PACKAGE = "Flask-SQLAlchemy" - -inherit pypi setuptools3 - -RDEPENDS:${PN} = "${PYTHON_PN}-sqlalchemy ${PYTHON_PN}-flask" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_3.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_3.1.1.bb new file mode 100644 index 0000000000..56f63bf036 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_3.1.1.bb @@ -0,0 +1,13 @@ +DESCRIPTION = "Adds SQLAlchemy support to your Flask application." +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75" + +SRC_URI[sha256sum] = "e4b68bb881802dda1a7d878b2fc84c06d1ee57fb40b874d3dc97dabfa36b8312" + +PYPI_PACKAGE = "flask_sqlalchemy" +UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/Flask-SQLAlchemy" +UPSTREAM_CHECK_REGEX = "/Flask-SQLAlchemy/(?P<pver>(\d+[\.\-_]*)+)" + +inherit pypi python_setuptools_build_meta + +RDEPENDS:${PN} = "${PYTHON_PN}-sqlalchemy ${PYTHON_PN}-flask" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_1.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_1.2.1.bb index ec47fcac2c..973bb570b8 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_1.1.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_1.2.1.bb @@ -2,11 +2,13 @@ DESCRIPTION = "Simple integration of Flask and WTForms." LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=d98d089889e14b227732d45dac3aacc4" -SRC_URI[sha256sum] = "41c4244e9ae626d63bed42ae4785b90667b885b1535d5a4095e1f63060d12aa9" +SRC_URI[sha256sum] = "8bb269eb9bb46b87e7c8233d7e7debdf1f8b74bf90cc1789988c29b37a97b695" -PYPI_PACKAGE = "Flask-WTF" +PYPI_PACKAGE = "flask_wtf" +UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/Flask-WTF" +UPSTREAM_CHECK_REGEX = "/Flask-WTF/(?P<pver>(\d+[\.\-_]*)+)" -inherit pypi setuptools3 +inherit pypi python_hatchling RDEPENDS:${PN} = "\ ${PYTHON_PN}-flask \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_2.3.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_2.3.3.bb index c8c8d870ac..99a61f136d 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_2.3.3.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_2.3.3.bb @@ -8,6 +8,9 @@ LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75" SRC_URI[sha256sum] = "09c347a92aa7ff4a8e7f3206795f30d826654baf38b873d0744cd571ca609efc" +UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/Flask" +UPSTREAM_CHECK_REGEX = "/Flask/(?P<pver>(\d+[\.\-_]*)+)" + inherit pypi python_setuptools_build_meta CLEANBROKEN = "1" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-frozenlist_1.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-frozenlist_1.4.1.bb index 340b0e3845..1ce5c84527 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-frozenlist_1.4.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-frozenlist_1.4.1.bb @@ -3,9 +3,13 @@ HOMEPAGE = "https://github.com/aio-libs/frozenlist" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=cf056e8e7a0a5477451af18b7b5aa98c" -SRC_URI[sha256sum] = "09163bdf0b2907454042edb19f887c6d33806adc71fbd54afc14908bfdc22251" +SRC_URI[sha256sum] = "c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b" inherit pypi python_setuptools_build_meta -BBCLASSEXTEND = "native nativesdk" +DEPENDS += " \ + ${PYTHON_PN}-expandvars-native \ + ${PYTHON_PN}-cython-native \ +" +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gmqtt_0.6.12.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gmqtt_0.6.13.bb index c06e94e7a3..101bfb9aa4 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gmqtt_0.6.12.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gmqtt_0.6.13.bb @@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/wialon/gmqtt" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=903f1792621a3b35ee546da75d139177" -SRC_URI[sha256sum] = "7df03792343089ae62dc7cd6f8be356861c4fc68768cefa22f3d8de5e7e5be48" +SRC_URI[sha256sum] = "b4623d3e32ba266e96c04b0871bb057d05414371c1d279550648b390e6ba7577" inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gnupg_0.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gnupg_0.5.2.bb index 7510625dbd..b69e2c465e 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gnupg_0.5.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gnupg_0.5.2.bb @@ -4,7 +4,7 @@ LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5dabe659eadd6d97325b1582e41cfc11" PYPI_PACKAGE = "python-gnupg" -SRC_URI[sha256sum] = "5674bad4e93876c0b0d3197e314d7f942d39018bf31e2b833f6788a6813c3fb8" +SRC_URI[sha256sum] = "01d8013931c9fa3f45824bbea7054c03d6e11f258a72e7e086e168dbcb91854c" inherit pypi python_setuptools_build_meta diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.14.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.15.0.bb index b620e553ec..7ce2ad7add 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.14.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.15.0.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" inherit pypi setuptools3 -SRC_URI[sha256sum] = "5368a4502b793d9bbf812a5912e13e4e69f9bd87f6efb508460c43f5bbd1ce41" +SRC_URI[sha256sum] = "abc978a72658f14a2df1e5e12532effe40f94f868f6e23d95133bd6abcca35ca" RDEPENDS:${PN} += "\ ${PYTHON_PN}-asyncio \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.108.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.111.0.bb index f8ccc9a68c..89613516e6 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.108.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.111.0.bb @@ -4,7 +4,7 @@ HOMEPAGE = "https://github.com/googleapis/google-api-python-client" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" -SRC_URI[sha256sum] = "6396efca83185fb205c0abdbc1c2ee57b40475578c6af37f6d0e30a639aade99" +SRC_URI[sha256sum] = "3a45a53c031478d1c82c7162dd25c9a965247bca6bd438af0838a9d9b8219405" inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.23.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.25.2.bb index c7bf2857a7..2f527611e4 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.23.4.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.25.2.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" inherit pypi setuptools3 -SRC_URI[sha256sum] = "79905d6b1652187def79d491d6e23d0cbb3a21d3c7ba0dbaa9c8a01906b13ff3" +SRC_URI[sha256sum] = "42f707937feb4f5e5a39e6c4f343a17300a459aaf03141457ba505812841cc40" RDEPENDS:${PN} += "\ ${PYTHON_PN}-asyncio \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.61.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.62.0.bb index 171bc67b78..1536ba5e0d 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.61.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.62.0.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7ca inherit pypi setuptools3 -SRC_URI[sha256sum] = "8a64866a97f6304a7179873a465d6eee97b7a24ec6cfd78e0f575e96b821240b" +SRC_URI[sha256sum] = "83f0ece9f94e5672cced82f592d2a5edf527a96ed1794f0bab36d5735c996277" RDEPENDS:${PN} += "\ ${PYTHON_PN}-grpcio \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_3.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_3.0.3.bb index 523c2b6b23..abd6c49caf 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_3.0.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_3.0.3.bb @@ -4,6 +4,6 @@ LICENSE = "MIT & PSF-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e95668d68e4329085c7ab3535e6a7aee \ file://LICENSE.PSF;md5=c106931d9429eda0492617f037b8f69a" -SRC_URI[sha256sum] = "816bd9488a94cba78d93e1abb58000e8266fa9cc2aa9ccdd6eb0696acb24005b" +SRC_URI[sha256sum] = "43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491" inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools/0001-direct_mmap-Use-off_t-on-linux.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools/0001-direct_mmap-Use-off_t-on-linux.patch deleted file mode 100644 index 9b3e5d4a5f..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools/0001-direct_mmap-Use-off_t-on-linux.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 45fdade6c0415ec5af3f9312e6311a4ccc682a7b Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 28 Dec 2022 18:24:21 -0800 -Subject: [PATCH] direct_mmap: Use off_t on linux - -off64_t is not provided without defining _LARGEFILE64_SOURCE on musl -this define is not defined automatically like glibc where it gets -defined when _GNU_SOURCE is defined. Using off_t makes it portable -across musl/glibc and for using 64bit off_t on glibc 32bit systems --D_FILE_OFFSET_BITS=64 can be defined during build via CXXFLAGS - -Upstream-Status: Submitted [https://github.com/abseil/abseil-cpp/pull/1349] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - absl/base/internal/direct_mmap.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/third_party/abseil-cpp/absl/base/internal/direct_mmap.h -+++ b/third_party/abseil-cpp/absl/base/internal/direct_mmap.h -@@ -72,7 +72,7 @@ namespace base_internal { - // Platform specific logic extracted from - // https://chromium.googlesource.com/linux-syscall-support/+/master/linux_syscall_support.h - inline void* DirectMmap(void* start, size_t length, int prot, int flags, int fd, -- off64_t offset) noexcept { -+ off_t offset) noexcept { - #if defined(__i386__) || defined(__ARM_ARCH_3__) || defined(__ARM_EABI__) || \ - defined(__m68k__) || defined(__sh__) || \ - (defined(__hppa__) && !defined(__LP64__)) || \ -@@ -102,7 +102,7 @@ inline void* DirectMmap(void* start, siz - #else - return reinterpret_cast<void*>( - syscall(SYS_mmap2, start, length, prot, flags, fd, -- static_cast<off_t>(offset / pagesize))); -+ offset / pagesize)); - #endif - #elif defined(__s390x__) - // On s390x, mmap() arguments are passed in memory. diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools/0001-protobuf-Disable-musttail-attribute-on-mips.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools/0001-protobuf-Disable-musttail-attribute-on-mips.patch index 8c70b2b6a6..67505d0ce1 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools/0001-protobuf-Disable-musttail-attribute-on-mips.patch +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools/0001-protobuf-Disable-musttail-attribute-on-mips.patch @@ -14,11 +14,11 @@ Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> --- a/third_party/protobuf/src/google/protobuf/port_def.inc +++ b/third_party/protobuf/src/google/protobuf/port_def.inc -@@ -338,6 +338,7 @@ static_assert(PROTOBUF_ABSL_MIN(20230125 +@@ -298,6 +298,7 @@ #error PROTOBUF_TAILCALL was previously defined #endif - #if __has_cpp_attribute(clang::musttail) && !defined(__arm__) && \ -+ !defined(__mips__) && \ + #if ABSL_HAVE_CPP_ATTRIBUTE(clang::musttail) && !defined(__arm__) && \ ++ !defined(__mips__) && \ !defined(_ARCH_PPC) && !defined(__wasm__) && \ - !(defined(_MSC_VER) && defined(_M_IX86)) && !defined(__i386__) && \ - !(defined(__NDK_MAJOR__) && __NDK_MAJOR <= 24) + !(defined(_MSC_VER) && defined(_M_IX86)) && !defined(__i386__) + // Compilation fails on ARM32: b/195943306 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch index 4aa11bd57a..07276c17f6 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch @@ -30,29 +30,30 @@ diff --git a/setup.py b/setup.py index cc53e79..be3bc78 100644 --- a/setup.py +++ b/setup.py -@@ -87,8 +87,11 @@ def check_linker_need_libatomic(): - """Test if linker on system needs libatomic.""" - code_test = (b'#include <atomic>\n' + - b'int main() { return std::atomic<int64_t>{}; }') -- cxx = os.environ.get('CXX', 'c++') -- cpp_test = subprocess.Popen([cxx, '-x', 'c++', '-std=c++14', '-'], +@@ -88,9 +88,11 @@ + b"#include <atomic>\n" + + b"int main() { return std::atomic<int64_t>{}; }" + ) +- cxx = os.environ.get("CXX", "c++") +- cpp_test = subprocess.Popen( +- [cxx, "-x", "c++", "-std=c++14", "-"], + cxx, cxx_args = os.environ.get('CXX').split(' ', 1) or 'c++' + if not cxx_args: + cxx_args = "-g" + + cpp_test = subprocess.Popen([cxx, cxx_args, '-x', 'c++', '-std=c++14', '-'], - stdin=PIPE, - stdout=PIPE, - stderr=PIPE) -@@ -98,7 +101,7 @@ def check_linker_need_libatomic(): + stdin=PIPE, + stdout=PIPE, + stderr=PIPE, +@@ -101,7 +103,7 @@ # Double-check to see if -latomic actually can solve the problem. # https://github.com/grpc/grpc/issues/22491 cpp_test = subprocess.Popen( -- [cxx, '-x', 'c++', '-std=c++14', '-', '-latomic'], +- [cxx, "-x", "c++", "-std=c++14", "-", "-latomic"], + [cxx, cxx_args, '-x', 'c++', '-std=c++14', '-', '-latomic'], stdin=PIPE, stdout=PIPE, - stderr=PIPE) + stderr=PIPE, -- 2.25.1 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.56.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.60.0.bb index 8fbe1fa91f..8e5c7d48fc 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.56.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.60.0.bb @@ -11,9 +11,8 @@ DEPENDS += "${PYTHON_PN}-grpcio" SRC_URI += "file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch \ file://0001-protobuf-Disable-musttail-attribute-on-mips.patch \ - file://0001-direct_mmap-Use-off_t-on-linux.patch \ " -SRC_URI[sha256sum] = "39f5877cea514b3da9f2683dfb3ffb45ef47b05f4ff39c287d7d61c5057f48b8" +SRC_URI[sha256sum] = "ed30499340228d733ff69fcf4a66590ed7921f94eb5a2bf692258b1280b9dac7" RDEPENDS:${PN} = "${PYTHON_PN}-grpcio" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-Include-missing-cstdint-header.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-Include-missing-cstdint-header.patch index f970cf3c3c..5cd94dee9c 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-Include-missing-cstdint-header.patch +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-Include-missing-cstdint-header.patch @@ -1,4 +1,4 @@ -From 752e30eebe5b91c323bafcbea8d450dd5683701a Mon Sep 17 00:00:00 2001 +From 252aa78526287fe033c5656cd166e551fa5daa88 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 30 Jan 2023 10:31:10 -0800 Subject: [PATCH] Include missing <cstdint> header @@ -11,6 +11,7 @@ int32_t. Upstream-Status: Submitted [https://code-review.googlesource.com/c/re2/+/60970] Signed-off-by: Khem Raj <raj.khem@gmail.com> + --- third_party/re2/util/pcre.h | 1 + 1 file changed, 1 insertion(+) @@ -27,6 +28,3 @@ index 896b0bd..271a005 100644 #ifdef USEPCRE #include <pcre.h> --- -2.39.1 - diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-direct_mmap-Use-off_t-on-linux.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-direct_mmap-Use-off_t-on-linux.patch deleted file mode 100644 index 49df528d7e..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-direct_mmap-Use-off_t-on-linux.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 45fdade6c0415ec5af3f9312e6311a4ccc682a7b Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 28 Dec 2022 18:24:21 -0800 -Subject: [PATCH] direct_mmap: Use off_t on linux - -off64_t is not provided without defining _LARGEFILE64_SOURCE on musl -this define is not defined automatically like glibc where it gets -defined when _GNU_SOURCE is defined. Using off_t makes it portable -across musl/glibc and for using 64bit off_t on glibc 32bit systems --D_FILE_OFFSET_BITS=64 can be defined during build via CXXFLAGS - -Upstream-Status: Submitted [https://github.com/abseil/abseil-cpp/pull/1349] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - absl/base/internal/direct_mmap.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/absl/base/internal/direct_mmap.h b/absl/base/internal/direct_mmap.h -index 815b8d23..fdf88f0b 100644 ---- a/absl/base/internal/direct_mmap.h -+++ b/absl/base/internal/direct_mmap.h -@@ -72,7 +72,7 @@ namespace base_internal { - // Platform specific logic extracted from - // https://chromium.googlesource.com/linux-syscall-support/+/master/linux_syscall_support.h - inline void* DirectMmap(void* start, size_t length, int prot, int flags, int fd, -- off64_t offset) noexcept { -+ off_t offset) noexcept { - #if defined(__i386__) || defined(__ARM_ARCH_3__) || defined(__ARM_EABI__) || \ - defined(__m68k__) || defined(__sh__) || \ - (defined(__hppa__) && !defined(__LP64__)) || \ -@@ -102,7 +102,7 @@ inline void* DirectMmap(void* start, size_t length, int prot, int flags, int fd, - #else - return reinterpret_cast<void*>( - syscall(SYS_mmap2, start, length, prot, flags, fd, -- static_cast<off_t>(offset / pagesize))); -+ offset / pagesize)); - #endif - #elif defined(__s390x__) - // On s390x, mmap() arguments are passed in memory. --- -2.39.0 - diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch deleted file mode 100644 index 13911ddcf3..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch +++ /dev/null @@ -1,73 +0,0 @@ -From de10fbc2386dcac3ab810c49b6977b2ee01bf426 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 17 Feb 2021 13:30:23 -0800 -Subject: [PATCH] setup.py: Do not mix C and C++ compiler options - -EXTRA_ENV_COMPILE_ARGS is used both with CC and CXX -so using -std=c++11 or -std=gnu99 together will cause -build time errors espcially with clang - -Keep '-std=c++11' to fix native build error -with old gcc (such as gcc 5.4.0 on ubuntu 16.04), for clang -we will remove them through GRPC_PYTHON_CFLAGS at do_compile -in bb recipe. - -While export CC="gcc ", cc_args is None, it will -cause subprocess.Popen always return 1. On centos 8, if you don't -install package libatomic, there will be a native build error -`cannot find /usr/lib64/libatomic.so.1.2.0'. - -Add no harm '-g' to cc_args if cc_args is empty. - -Upstream-Status: Inappropriate [oe specific] - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> -Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> ---- - setup.py | 11 +++++++---- - src/python/grpcio/commands.py | 5 ++++- - 2 files changed, 11 insertions(+), 5 deletions(-) - ---- a/setup.py -+++ b/setup.py -@@ -206,8 +206,11 @@ def check_linker_need_libatomic(): - """Test if linker on system needs libatomic.""" - code_test = (b'#include <atomic>\n' + - b'int main() { return std::atomic<int64_t>{}; }') -- cxx = shlex.split(os.environ.get('CXX', 'c++')) -- cpp_test = subprocess.Popen(cxx + ['-x', 'c++', '-std=c++14', '-'], -+ cxx, cxx_args = os.environ.get('CXX').split(' ', 1) or 'c++' -+ if not cxx_args: -+ cxx_args = "-g" -+ -+ cpp_test = subprocess.Popen([cxx, cxx_args, '-x', 'c++', '-std=c++14', '-'], - stdin=PIPE, - stdout=PIPE, - stderr=PIPE) -@@ -216,8 +219,8 @@ def check_linker_need_libatomic(): - return False - # Double-check to see if -latomic actually can solve the problem. - # https://github.com/grpc/grpc/issues/22491 -- cpp_test = subprocess.Popen(cxx + -- ['-x', 'c++', '-std=c++14', '-', '-latomic'], -+ cpp_test = subprocess.Popen( -+ [cxx, cxx_args, '-x', 'c++', '-std=c++14', '-', '-latomic'], - stdin=PIPE, - stdout=PIPE, - stderr=PIPE) ---- a/src/python/grpcio/commands.py -+++ b/src/python/grpcio/commands.py -@@ -228,8 +228,10 @@ class BuildExt(build_ext.build_ext): - """ - try: - # TODO(lidiz) Remove the generated a.out for success tests. -- cc = os.environ.get('CC', 'cc') -- cc_test = subprocess.Popen([cc, '-x', 'c', '-std=c++14', '-'], -+ cc_test, cc_args = os.environ.get('CC').split(' ', 1) or 'gcc' -+ if not cc_args: -+ cc_args = "-g" -+ cc_test = subprocess.Popen([cc_test, cc_args, '-x', 'c', '-std=c++14', '-'], - stdin=subprocess.PIPE, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE) diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-zlib-Include-unistd.h-for-open-close-C-APIs.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-zlib-Include-unistd.h-for-open-close-C-APIs.patch index 918c6c8601..a5e767029e 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-zlib-Include-unistd.h-for-open-close-C-APIs.patch +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-zlib-Include-unistd.h-for-open-close-C-APIs.patch @@ -1,4 +1,4 @@ -From 4432b9a296c9c287dfe281b4d464dfd03e4eb721 Mon Sep 17 00:00:00 2001 +From 6ede7d01b18a4d9eeaccd25f5c1ab9985cb65307 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sun, 12 Feb 2023 21:25:04 -0800 Subject: [PATCH] zlib: Include unistd.h for open/close C APIs @@ -6,6 +6,7 @@ Subject: [PATCH] zlib: Include unistd.h for open/close C APIs Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> + --- third_party/zlib/gzguts.h | 1 + 1 file changed, 1 insertion(+) @@ -22,6 +23,3 @@ index 57faf37..3c700c2 100644 #include "zlib.h" #ifdef STDC # include <string.h> --- -2.39.1 - diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/abseil-ppc-fixes.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/abseil-ppc-fixes.patch index 4100cf63f7..4bb60b6e2c 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/abseil-ppc-fixes.patch +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/abseil-ppc-fixes.patch @@ -1,4 +1,7 @@ -An all-in-one patch that fixes several issues: +From 9cec6297effa9fab6f0c71e342046daceecd7d4d Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 13 Mar 2021 10:26:25 -0800 +Subject: [PATCH] An all-in-one patch that fixes several issues: 1) UnscaledCycleClock not fully implemented for ppc*-musl (disabled on musl) 2) powerpc stacktrace implementation only works on glibc (disabled on musl) @@ -7,19 +10,21 @@ An all-in-one patch that fixes several issues: Sourced from void linux +Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Xu Huan <xuhuan.fnst@fujitsu.com> ---- -Upstream-Status: Pending - absl/base/internal/unscaledcycleclock.cc | 4 ++-- - absl/base/internal/unscaledcycleclock.h | 3 ++- - absl/debugging/internal/examine_stack.cc | 8 +++++++- - absl/debugging/internal/stacktrace_config.h | 2 +- +--- + .../abseil-cpp/absl/base/internal/unscaledcycleclock.cc | 4 ++-- + .../absl/base/internal/unscaledcycleclock_config.h | 3 ++- + .../abseil-cpp/absl/debugging/internal/examine_stack.cc | 8 +++++++- + .../absl/debugging/internal/stacktrace_config.h | 2 +- 4 files changed, 12 insertions(+), 5 deletions(-) ---- a/absl/base/internal/unscaledcycleclock.cc -+++ b/absl/base/internal/unscaledcycleclock.cc +diff --git a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +index b1c396c..d62bfd6 100644 +--- a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc ++++ b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc @@ -20,7 +20,7 @@ #include <intrin.h> #endif @@ -38,8 +43,24 @@ Upstream-Status: Pending int64_t UnscaledCycleClock::Now() { #ifdef __GLIBC__ ---- a/absl/debugging/internal/examine_stack.cc -+++ b/absl/debugging/internal/examine_stack.cc +diff --git a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +index 24b324a..5e232c1 100644 +--- a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h ++++ b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +@@ -21,7 +21,8 @@ + + // The following platforms have an implementation of a hardware counter. + #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \ +- defined(__powerpc__) || defined(__ppc__) || defined(__riscv) || \ ++ ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \ ++ defined(__riscv) || \ + defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC)) + #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1 + #else +diff --git a/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc b/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc +index 5786322..72c7c46 100644 +--- a/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc ++++ b/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc @@ -33,6 +33,10 @@ #include <csignal> #include <cstdio> @@ -51,7 +72,7 @@ Upstream-Status: Pending #include "absl/base/attributes.h" #include "absl/base/internal/raw_logging.h" #include "absl/base/macros.h" -@@ -174,8 +178,10 @@ void* GetProgramCounter(void* const vuc) +@@ -174,8 +178,10 @@ void* GetProgramCounter(void* const vuc) { return reinterpret_cast<void*>(context->uc_mcontext.pc); #elif defined(__powerpc64__) return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]); @@ -63,8 +84,10 @@ Upstream-Status: Pending #elif defined(__riscv) return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]); #elif defined(__s390__) && !defined(__s390x__) ---- a/absl/debugging/internal/stacktrace_config.h -+++ b/absl/debugging/internal/stacktrace_config.h +diff --git a/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h b/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +index 3929b1b..23d5e50 100644 +--- a/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h ++++ b/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h @@ -60,7 +60,7 @@ #elif defined(__i386__) || defined(__x86_64__) #define ABSL_STACKTRACE_INL_HEADER \ @@ -74,15 +97,3 @@ Upstream-Status: Pending #define ABSL_STACKTRACE_INL_HEADER \ "absl/debugging/internal/stacktrace_powerpc-inl.inc" #elif defined(__aarch64__) ---- a/absl/base/internal/unscaledcycleclock_config.h -+++ b/absl/base/internal/unscaledcycleclock_config.h -@@ -21,7 +21,8 @@ - - // The following platforms have an implementation of a hardware counter. - #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \ -- defined(__powerpc__) || defined(__ppc__) || defined(__riscv) || \ -+ ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \ -+ defined(__riscv) || \ - defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC)) - #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1 - #else diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/mips_bigendian.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/mips_bigendian.patch deleted file mode 100644 index 088ce33fc5..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/mips_bigendian.patch +++ /dev/null @@ -1,17 +0,0 @@ -Upstream-Status: Pending - ---- a/third_party/boringssl-with-bazel/src/include/openssl/base.h -+++ b/third_party/boringssl-with-bazel/src/include/openssl/base.h -@@ -102,10 +102,10 @@ extern "C" { - #elif (defined(__PPC__) || defined(__powerpc__)) - #define OPENSSL_32_BIT - #define OPENSSL_PPC --#elif defined(__MIPSEL__) && !defined(__LP64__) -+#elif defined(__mips__) && !defined(__LP64__) - #define OPENSSL_32_BIT - #define OPENSSL_MIPS --#elif defined(__MIPSEL__) && defined(__LP64__) -+#elif defined(__mips__) && defined(__LP64__) - #define OPENSSL_64_BIT - #define OPENSSL_MIPS64 - #elif defined(__riscv) && __SIZEOF_POINTER__ == 8 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/ppc-boringssl-support.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/ppc-boringssl-support.patch deleted file mode 100644 index 5dacc689fc..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/ppc-boringssl-support.patch +++ /dev/null @@ -1,17 +0,0 @@ -Let boringSSL compile on ppc32 bit - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> - ---- a/third_party/boringssl-with-bazel/src/include/openssl/base.h -+++ b/third_party/boringssl-with-bazel/src/include/openssl/base.h -@@ -96,6 +96,9 @@ extern "C" { - #elif defined(__ARMEL__) || defined(_M_ARM) - #define OPENSSL_32_BIT - #define OPENSSL_ARM -+#elif (defined(__PPC__) || defined(__powerpc__)) -+#define OPENSSL_32_BIT -+#define OPENSSL_PPC - #elif defined(__MIPSEL__) && !defined(__LP64__) - #define OPENSSL_32_BIT - #define OPENSSL_MIPS diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.56.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.60.0.bb index c34391dd67..77b4198e31 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.56.2.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.60.0.bb @@ -6,15 +6,11 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=731e401b36f8077ae0c134b59be5c906" DEPENDS += "${PYTHON_PN}-protobuf" -SRC_URI += "file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch" -SRC_URI:append:class-target = " file://ppc-boringssl-support.patch \ - file://mips_bigendian.patch \ - file://0001-Include-missing-cstdint-header.patch \ - file://abseil-ppc-fixes.patch;patchdir=third_party/abseil-cpp \ - file://0001-direct_mmap-Use-off_t-on-linux.patch;patchdir=third_party/abseil-cpp \ - file://0001-zlib-Include-unistd.h-for-open-close-C-APIs.patch \ -" -SRC_URI[sha256sum] = "0ff789ae7d8ddd76d2ac02e7d13bfef6fc4928ac01e1dcaa182be51b6bcc0aaa" +SRC_URI += "file://0001-Include-missing-cstdint-header.patch \ + file://abseil-ppc-fixes.patch \ + file://0001-zlib-Include-unistd.h-for-open-close-C-APIs.patch \ + " +SRC_URI[sha256sum] = "2199165a1affb666aa24adf0c97436686d0a61bc5fc113c037701fb7c7fceb96" RDEPENDS:${PN} = "${PYTHON_PN}-protobuf \ ${PYTHON_PN}-setuptools \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.33.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.33.1.bb index f6275754b4..32b4472c6c 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.33.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.33.1.bb @@ -5,7 +5,7 @@ SECTION = "devel/python" LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=24cb9a367a9e641b459a01c4d15256ba" -SRC_URI[sha256sum] = "39999d05eb500089e60be467dd7d618f56e142229b44c3961c2b420eeb538d7e" +SRC_URI[sha256sum] = "78722d40b137bd98f5ec7312119f8aea9ad2049f76f434748eb306b6937cc1ce" inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython-genutils_0.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython-genutils_0.2.0.bb index 8725150e4b..3261d80474 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython-genutils_0.2.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython-genutils_0.2.0.bb @@ -5,6 +5,9 @@ LIC_FILES_CHKSUM = "file://COPYING.md;md5=f7c3032c3ac398265224533a0a333a35" PYPI_PACKAGE = "ipython_genutils" +UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/ipython_genutils" +UPSTREAM_CHECK_REGEX = "/ipython_genutils/(?P<pver>(\d+[\.\-_]*)+)" + SRC_URI[md5sum] = "5a4f9781f78466da0ea1a648f3e1f79f" SRC_URI[sha256sum] = "eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.18.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.19.0.bb index aaeb720e6c..87474e4ed3 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.18.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.19.0.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING.rst;md5=59b20262b8663cdd094005bddf47af5f" PYPI_PACKAGE = "ipython" -SRC_URI[sha256sum] = "4feb61210160f75e229ce932dbf8b719bff37af123c0b985fd038b14233daa16" +SRC_URI[sha256sum] = "ac4da4ecf0042fb4e0ce57c60430c2db3c719fa8bdf92f8631d6bd8a5785d1f0" RDEPENDS:${PN} = "\ ${PYTHON_PN}-setuptools \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.12.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.13.2.bb index d111393eaf..60d44181c0 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.12.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.13.2.bb @@ -4,7 +4,7 @@ LICENSE = "MIT" SECTION = "devel/python" LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=8227180126797a0148f94f483f3e1489" -SRC_URI[sha256sum] = "8bef7dde241278824a6d83f44a544709b065191b95b6e50894bdc722fcba0504" +SRC_URI[sha256sum] = "48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109" inherit pypi python_poetry_core diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-joblib_1.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-joblib_1.3.2.bb index fe1e68c5ad..d68b40e384 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-joblib_1.3.2.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-joblib_1.3.2.bb @@ -8,7 +8,6 @@ SRC_URI[sha256sum] = "92f865e621e17784e7955080b6d042489e3b8e294949cc44c6eac304f5 RDEPENDS:${PN} += " \ python3-asyncio \ - python3-distutils \ python3-json \ python3-multiprocessing \ python3-pprint \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-kmod_0.9.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-kmod_0.9.1.bb index 2ec4d474b5..52e1cf6af7 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-kmod_0.9.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-kmod_0.9.1.bb @@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6d62c2454850386a2ffe44f72db83d74" inherit pypi setuptools3 +RECIPE_NO_UPDATE_REASON = "Version 0.9.2 is broken when using latest build machinery for C extensions" SRC_URI[sha256sum] = "f3bf829059bf88eca22f4f549e17aa316cdaa14302bf2ba49ddeee60cea109ff" DEPENDS += " \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.10.0.bb index 74c5e9b520..9232a5a917 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.9.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.10.0.bb @@ -6,6 +6,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=d606e94f56c21c8e0cdde0b622dcdf57" DEPENDS += "${PYTHON_PN}-setuptools-scm-native ${PYTHON_PN}-pip-native" -SRC_URI[sha256sum] = "659fb5809fa4629b8a1ac5106f669cfc7bef26fbb389dda53b3e010d1ac4ebae" +SRC_URI[sha256sum] = "78247b6d45f43a52ef35c25b5581459e85117225408a4128a3daf8bf9648ac69" inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.40.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.40.1.bb index a55ded34d7..062a63a39c 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.40.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.40.1.bb @@ -19,12 +19,11 @@ inherit pypi siteinfo setuptools3 DEPENDS += "openssl swig-native" RDEPENDS:${PN} += "\ ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-distutils \ + ${PYTHON_PN}-setuptools \ ${PYTHON_PN}-logging \ ${PYTHON_PN}-netclient \ ${PYTHON_PN}-netserver \ ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-smtpd \ ${PYTHON_PN}-xmlrpc \ " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-meld3_2.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-meld3_2.0.1.bb index 1be3fa5ada..7ebf9f1411 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-meld3_2.0.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-meld3_2.0.1.bb @@ -15,6 +15,5 @@ inherit pypi setuptools3 RDEPENDS:${PN} += " \ python3-cgitb \ - python3-smtpd \ python3-xml \ " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_1.7.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_1.8.0.bb index 90301f3ccb..2e6c7cc076 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_1.7.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_1.8.0.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=8d62fd8f8648cb018e52857347e340b9" inherit pypi python_setuptools_build_meta -SRC_URI[sha256sum] = "fcb6d9afb1b6208b4c712af0dafdc650f518836065df0d4fb1d800f5d6773db2" +SRC_URI[sha256sum] = "6ff8b244d7085a0b425b56d327b480c3b29cafbd2eff27316a004f9a7391ae07" BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ninja/no-scikit-build.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-ninja/no-scikit-build.patch index 276fb50172..b7d191e244 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ninja/no-scikit-build.patch +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ninja/no-scikit-build.patch @@ -8,11 +8,11 @@ diff --git a/pyproject.toml b/pyproject.toml index b895c20..577b642 100644 --- a/pyproject.toml +++ b/pyproject.toml -@@ -1,7 +1,6 @@ - [build-system] +@@ -2,7 +2,6 @@ requires = [ - "setuptools>=42", -- "scikit-build>=0.12", + "setuptools >=42", + "setuptools-scm[toml]", +- "scikit-build", ] build-backend = "setuptools.build_meta" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ninja_1.11.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ninja_1.11.1.1.bb index 3b9077f326..a9e0ed208c 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ninja_1.11.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ninja_1.11.1.1.bb @@ -6,11 +6,13 @@ PYPI_PACKAGE = "ninja" PYPI_ARCHIVE_NAME_PREFIX = "pypi-" inherit pypi python_setuptools_build_meta -SRC_URI[sha256sum] = "c833a47d39b2d1eee3f9ca886fa1581efd5be6068b82734ac229961ee8748f90" +SRC_URI[sha256sum] = "9d793b08dd857e38d0b6ffe9e6b7145d7c485a42dcfea04905ca0cdb6017cc3c" SRC_URI += "file://no-scikit-build.patch \ file://run-ninja-from-path.patch" +DEPENDS += "${PYTHON_PN}-setuptools-scm-native" + do_install:append () { rm -rf ${D}${bindir} } diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-olefile_0.46.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-olefile_0.47.bb index e29f30f6ff..2db0adad8b 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-olefile_0.46.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-olefile_0.47.bb @@ -1,9 +1,9 @@ SUMMARY = "Python package to parse, read and write Microsoft OLE2 files" HOMEPAGE = "https://github.com/decalage2/olefile" LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e21a06208415d5eb2001555d37851362" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f18814bd70fd28e11a4545145dcb3822" -SRC_URI[sha256sum] = "133b031eaf8fd2c9399b78b8bc5b8fcbe4c31e85295749bb17a87cba8f3c3964" +SRC_URI[sha256sum] = "599383381a0bf3dfbd932ca0ca6515acd174ed48870cbf7fee123d698c192c1c" inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-paramiko_3.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-paramiko_3.4.0.bb index da87e5199f..0d32d361cf 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-paramiko_3.3.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-paramiko_3.4.0.bb @@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/paramiko/paramiko/" LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://LICENSE;md5=fd0120fc2e9f841c73ac707a30389af5" -SRC_URI[sha256sum] = "6a3777a961ac86dbef375c5f5b8d50014a1a96d0fd7f054a43bc880134b0ff77" +SRC_URI[sha256sum] = "aac08f26a31dc4dffd92821527d1682d99d52f9ef6851968114a8728f3c274d3" PYPI_PACKAGE = "paramiko" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.19.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.20.0.bb index 9dc7f79318..3ca6fbbeb2 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.19.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.20.0.bb @@ -3,18 +3,13 @@ HOMEPAGE = "https://github.com/r1chardj0n3s/parse" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=8ab458ad281b60e6f1b39b3feafbfc05" -SRC_URI[sha256sum] = "cc3a47236ff05da377617ddefa867b7ba983819c664e1afe46249e5b469be464" +SRC_URI[sha256sum] = "bd28bae37714b45d5894d77160a16e2be36b64a3b618c81168b3684676aa498b" SRC_URI += " \ - git://github.com/r1chardj0n3s/parse.git;branch=master;protocol=https \ file://run-ptest \ " -SRCREV ?= "72776522285d516032faa0f80c4ee6a8964075e8" - -S = "${WORKDIR}/git" - -inherit python_setuptools_build_meta ptest +inherit pypi python_setuptools_build_meta ptest RDEPENDS:${PN} += "\ python3-datetime \ @@ -27,5 +22,5 @@ RDEPENDS:${PN}-ptest += " \ " do_install_ptest() { - cp -f ${S}/test_parse.py ${D}${PTEST_PATH}/ + cp -f ${S}/tests/test*.py ${D}${PTEST_PATH}/ } diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-path_16.7.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-path_16.9.0.bb index d9576ed0b8..19bf11b6c8 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-path_16.7.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-path_16.9.0.bb @@ -2,7 +2,7 @@ SUMMARY = "A module wrapper for os.path" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=141643e11c48898150daa83802dbc65f" -SRC_URI[sha256sum] = "2b477f5887033f3cbea1cfd8553ee6a6a498eb2540a19f4aa082822aadcea30a" +SRC_URI[sha256sum] = "dfd31c2af60e8889a13538bef302ade7adacdb5351836be22638e2349ddd5d7b" SRC_URI += "\ file://run-ptest \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm-backend_2.1.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm-backend_2.1.8.bb index 679ecb0d4a..f1f507243e 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm-backend_2.1.7.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm-backend_2.1.8.bb @@ -4,7 +4,7 @@ LICENSE = "MIT" SECTION = "devel/python" LIC_FILES_CHKSUM = "file://LICENSE;md5=4a564297b3c5b629a528b92fd8ff61ea" -SRC_URI[sha256sum] = "d3b50ab6374557c1edc348135e0da5decef228ddf8c973a58e40f437cf3595ba" +SRC_URI[sha256sum] = "2487dfbd13f69d80fb4e6a08006a3ee68272833970813047dc5fcfacdfdc0151" inherit pypi python_setuptools_build_meta diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.10.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.11.1.bb index fffefb3c69..5ff6ffc9e3 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.10.4.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.11.1.bb @@ -4,7 +4,7 @@ LICENSE = "MIT" SECTION = "devel/python" LIC_FILES_CHKSUM = "file://LICENSE;md5=2eb31a2cc1a758c34b499f287dd04ef2" -SRC_URI[sha256sum] = "6dfd9d4cb59043edecb2d0b47d208e55d89d333ba7197deb05cca2dfbc7a4bfb" +SRC_URI[sha256sum] = "b10bc4e5394856f1639ddc9bc754d9c26323ec5b828a135c6ed35f935b054b83" inherit pypi python_setuptools_build_meta diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.1.0.bb index 322c90eda5..f895b1db32 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.1.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.1.0.bb @@ -39,7 +39,6 @@ RDEPENDS:${PN}-ptest += " \ jpeg-tools \ libwebp \ ${PYTHON_PN}-core \ - ${PYTHON_PN}-distutils \ ${PYTHON_PN}-image \ ${PYTHON_PN}-mmap \ ${PYTHON_PN}-pytest \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.22.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.23.bb index 0eed33f799..82709ea08a 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.22.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.23.bb @@ -10,7 +10,7 @@ PYPI_PACKAGE := "Pint" inherit pypi ptest python_setuptools_build_meta -SRC_URI[sha256sum] = "2d139f6abbcf3016cad7d3cec05707fe908ac4f99cf59aedfd6ee667b7a64433" +SRC_URI[sha256sum] = "e1509b91606dbc52527c600a4ef74ffac12fff70688aff20e9072409346ec9b4" DEPENDS += "python3-setuptools-scm-native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_4.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_4.1.0.bb index 5a33be400e..b4fb9356c1 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_4.0.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_4.1.0.bb @@ -7,7 +7,7 @@ SRC_URI += " \ file://run-ptest \ " -SRC_URI[sha256sum] = "cb633b2bcf10c51af60beb0ab06d2f1d69064b43abf4c185ca6b28865f3f9731" +SRC_URI[sha256sum] = "906d548203468492d432bcb294d4bc2fff751bf84971fbb2c10918cc206ee420" inherit pypi python_hatchling ptest diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.4.2.bb index a340ba7fce..b4bbfc6c6f 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.4.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.4.2.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=05f1e16a8e59ce3e9a979e881816c2ab" inherit pypi setuptools3 -SRC_URI[sha256sum] = "9dcbf1808898f440aed304a5e9f0742a2859eca3b0ac7f1f58e50502852a8ef9" +SRC_URI[sha256sum] = "5289b40d98959b16b3f6927781678935d3df1b7c14947f5d7778e5e04dd9a065" RDEPENDS:${PN} = "\ ${PYTHON_PN}-sortedcontainers \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.41.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.43.bb index aa19116e8e..9f7802b538 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.41.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.43.bb @@ -3,7 +3,7 @@ HOMEPAGE = "https://python-prompt-toolkit.readthedocs.io/" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=b2cde7da89f0c1f3e49bf968d00d554f" -SRC_URI[sha256sum] = "941367d97fc815548822aa26c2a269fdc4eb21e9ec05fc5d447cf09bad5d75f0" +SRC_URI[sha256sum] = "3527b7af26106cbc65a040bcc84839a3566ec1b051bb0bfe953631e704b0ff7d" inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-message.c-Cast-uintptr_t-types-to-upb_MessageDef.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-message.c-Cast-uintptr_t-types-to-upb_MessageDef.patch deleted file mode 100644 index 89315e3a7d..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-message.c-Cast-uintptr_t-types-to-upb_MessageDef.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 8ce4b50b210d3c0f8de40156d4ba7827bfe16b21 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 16 Aug 2023 17:36:19 -0700 -Subject: [PATCH] message.c: Cast uintptr_t types to upb_MessageDef - -This fixes build with clang - -python/message.c:1238:49: error: incompatible integer to pointer conversion passing 'uintptr_t' (aka 'unsigned long') to parameter of type 'const upb_MessageDef *' (aka 'const struct upb_MessageDef *') [-Wint-conversion] - 1238 | upb_MessageDef_MiniTable(other->def), - | ^~~~~~~~~~ -/mnt/b/yoe/master/build/tmp/work/cortexa72-cortexa53-crypto-yoe-linux/python3-protobuf/4.24.0/protobuf-4.24.0/upb/reflection/message_def.h:138:69: note: passing argument to parameter 'm' here - 138 | const upb_MiniTable* upb_MessageDef_MiniTable(const upb_MessageDef* m); - | ^ -python/message.c:1609:69: error: incompatible integer to pointer conversion passing 'uintptr_t' (aka 'unsigned long') to parameter of type 'const upb_MessageDef *' (aka 'const struct upb_MessageDef *') [-Wint-conversion] - 1609 | upb_Message_DeepClone(self->ptr.msg, upb_MessageDef_MiniTable(self->def), - | ^~~~~~~~~ -/mnt/b/yoe/master/build/tmp/work/cortexa72-cortexa53-crypto-yoe-linux/python3-protobuf/4.24.0/protobuf-4.24.0/upb/reflection/message_def.h:138:69: note: passing argument to parameter 'm' here - 138 | const upb_MiniTable* upb_MessageDef_MiniTable(const upb_MessageDef* m); - | ^ -python/message.c:1611:44: error: incompatible integer to pointer conversion passing 'uintptr_t' (aka 'unsigned long') to parameter of type 'const upb_MessageDef *' (aka 'const struct upb_MessageDef *') [-Wint-conversion] - 1611 | PyObject* ret = PyUpb_Message_Get(clone, self->def, arena); - | ^~~~~~~~~ - -Upstream-Status: Submitted [https://github.com/protocolbuffers/upb/pull/1492] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - python/message.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/python/message.c b/python/message.c -index a01ce16..c418b84 100644 ---- a/python/message.c -+++ b/python/message.c -@@ -1235,7 +1235,7 @@ static PyObject* PyUpb_Message_CopyFrom(PyObject* _self, PyObject* arg) { - Py_DECREF(tmp); - - upb_Message_DeepCopy(self->ptr.msg, other->ptr.msg, -- upb_MessageDef_MiniTable(other->def), -+ upb_MessageDef_MiniTable((const upb_MessageDef*)other->def), - PyUpb_Arena_Get(self->arena)); - PyUpb_Message_SyncSubobjs(self); - -@@ -1606,9 +1606,9 @@ PyObject* DeepCopy(PyObject* _self, PyObject* arg) { - - PyObject* arena = PyUpb_Arena_New(); - upb_Message* clone = -- upb_Message_DeepClone(self->ptr.msg, upb_MessageDef_MiniTable(self->def), -+ upb_Message_DeepClone(self->ptr.msg, upb_MessageDef_MiniTable((const upb_MessageDef*)self->def), - PyUpb_Arena_Get(arena)); -- PyObject* ret = PyUpb_Message_Get(clone, self->def, arena); -+ PyObject* ret = PyUpb_Message_Get(clone, (const upb_MessageDef*)self->def, arena); - Py_DECREF(arena); - - return ret; --- -2.41.0 - diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.24.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.25.1.bb index 4b530c3b1d..3c770e41d3 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.24.4.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.25.1.bb @@ -6,8 +6,7 @@ LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=53dbfa56f61b90215a9f8f0d527c043d" inherit pypi setuptools3 -SRC_URI += "file://0001-message.c-Cast-uintptr_t-types-to-upb_MessageDef.patch" -SRC_URI[sha256sum] = "5a70731910cd9104762161719c3d883c960151eea077134458503723b60e3667" +SRC_URI[sha256sum] = "57d65074b4f5baa4ab5da1605c02be90ac20c8b40fb137d6a8df9f416b0d0ce2" # http://errors.yoctoproject.org/Errors/Details/184715/ # Can't find required file: ../src/google/protobuf/descriptor.proto diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core-crates.inc b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core-crates.inc new file mode 100644 index 0000000000..932cfc8522 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core-crates.inc @@ -0,0 +1,166 @@ +# Autogenerated with 'bitbake -c update_crates python3-pydantic-core' + +# from Cargo.lock +SRC_URI += " \ + crate://crates.io/ahash/0.8.6 \ + crate://crates.io/aho-corasick/1.0.2 \ + crate://crates.io/autocfg/1.1.0 \ + crate://crates.io/base64/0.21.5 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/cc/1.0.79 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/enum_dispatch/0.3.12 \ + crate://crates.io/equivalent/1.0.1 \ + crate://crates.io/form_urlencoded/1.2.0 \ + crate://crates.io/getrandom/0.2.10 \ + crate://crates.io/hashbrown/0.14.0 \ + crate://crates.io/heck/0.4.1 \ + crate://crates.io/idna/0.4.0 \ + crate://crates.io/indexmap/2.0.0 \ + crate://crates.io/indoc/2.0.4 \ + crate://crates.io/itoa/1.0.8 \ + crate://crates.io/jiter/0.0.4 \ + crate://crates.io/lexical-core/0.8.5 \ + crate://crates.io/lexical-parse-float/0.8.5 \ + crate://crates.io/lexical-parse-integer/0.8.6 \ + crate://crates.io/lexical-util/0.8.5 \ + crate://crates.io/lexical-write-float/0.8.5 \ + crate://crates.io/lexical-write-integer/0.8.5 \ + crate://crates.io/libc/0.2.147 \ + crate://crates.io/lock_api/0.4.10 \ + crate://crates.io/memchr/2.6.3 \ + crate://crates.io/memoffset/0.9.0 \ + crate://crates.io/num-bigint/0.4.4 \ + crate://crates.io/num-integer/0.1.45 \ + crate://crates.io/num-traits/0.2.16 \ + crate://crates.io/once_cell/1.18.0 \ + crate://crates.io/parking_lot/0.12.1 \ + crate://crates.io/parking_lot_core/0.9.8 \ + crate://crates.io/percent-encoding/2.3.0 \ + crate://crates.io/proc-macro2/1.0.69 \ + crate://crates.io/pyo3/0.20.0 \ + crate://crates.io/pyo3-build-config/0.20.0 \ + crate://crates.io/pyo3-ffi/0.20.0 \ + crate://crates.io/pyo3-macros/0.20.0 \ + crate://crates.io/pyo3-macros-backend/0.20.0 \ + crate://crates.io/python3-dll-a/0.2.9 \ + crate://crates.io/quote/1.0.29 \ + crate://crates.io/redox_syscall/0.3.5 \ + crate://crates.io/regex/1.10.2 \ + crate://crates.io/regex-automata/0.4.3 \ + crate://crates.io/regex-syntax/0.8.2 \ + crate://crates.io/rustversion/1.0.13 \ + crate://crates.io/ryu/1.0.14 \ + crate://crates.io/scopeguard/1.1.0 \ + crate://crates.io/serde/1.0.190 \ + crate://crates.io/serde_derive/1.0.190 \ + crate://crates.io/serde_json/1.0.108 \ + crate://crates.io/smallvec/1.11.1 \ + crate://crates.io/speedate/0.13.0 \ + crate://crates.io/static_assertions/1.1.0 \ + crate://crates.io/strum/0.25.0 \ + crate://crates.io/strum_macros/0.25.3 \ + crate://crates.io/syn/2.0.38 \ + crate://crates.io/target-lexicon/0.12.9 \ + crate://crates.io/tinyvec/1.6.0 \ + crate://crates.io/tinyvec_macros/0.1.1 \ + crate://crates.io/unicode-bidi/0.3.13 \ + crate://crates.io/unicode-ident/1.0.10 \ + crate://crates.io/unicode-normalization/0.1.22 \ + crate://crates.io/unindent/0.2.3 \ + crate://crates.io/url/2.4.1 \ + crate://crates.io/uuid/1.5.0 \ + crate://crates.io/version_check/0.9.4 \ + crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ + crate://crates.io/windows-targets/0.48.1 \ + crate://crates.io/windows_aarch64_gnullvm/0.48.0 \ + crate://crates.io/windows_aarch64_msvc/0.48.0 \ + crate://crates.io/windows_i686_gnu/0.48.0 \ + crate://crates.io/windows_i686_msvc/0.48.0 \ + crate://crates.io/windows_x86_64_gnu/0.48.0 \ + crate://crates.io/windows_x86_64_gnullvm/0.48.0 \ + crate://crates.io/windows_x86_64_msvc/0.48.0 \ + crate://crates.io/zerocopy/0.7.20 \ + crate://crates.io/zerocopy-derive/0.7.20 \ +" + +SRC_URI[ahash-0.8.6.sha256sum] = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" +SRC_URI[aho-corasick-1.0.2.sha256sum] = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +SRC_URI[base64-0.21.5.sha256sum] = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" +SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +SRC_URI[cc-1.0.79.sha256sum] = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +SRC_URI[enum_dispatch-0.3.12.sha256sum] = "8f33313078bb8d4d05a2733a94ac4c2d8a0df9a2b84424ebf4f33bfc224a890e" +SRC_URI[equivalent-1.0.1.sha256sum] = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +SRC_URI[form_urlencoded-1.2.0.sha256sum] = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +SRC_URI[getrandom-0.2.10.sha256sum] = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +SRC_URI[hashbrown-0.14.0.sha256sum] = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +SRC_URI[idna-0.4.0.sha256sum] = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +SRC_URI[indexmap-2.0.0.sha256sum] = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +SRC_URI[indoc-2.0.4.sha256sum] = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8" +SRC_URI[itoa-1.0.8.sha256sum] = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a" +SRC_URI[jiter-0.0.4.sha256sum] = "b27d419c535bf7b50ad355278b1159cbf0cc8d507ea003d625b17bf0375720b8" +SRC_URI[lexical-core-0.8.5.sha256sum] = "2cde5de06e8d4c2faabc400238f9ae1c74d5412d03a7bd067645ccbc47070e46" +SRC_URI[lexical-parse-float-0.8.5.sha256sum] = "683b3a5ebd0130b8fb52ba0bdc718cc56815b6a097e28ae5a6997d0ad17dc05f" +SRC_URI[lexical-parse-integer-0.8.6.sha256sum] = "6d0994485ed0c312f6d965766754ea177d07f9c00c9b82a5ee62ed5b47945ee9" +SRC_URI[lexical-util-0.8.5.sha256sum] = "5255b9ff16ff898710eb9eb63cb39248ea8a5bb036bea8085b1a767ff6c4e3fc" +SRC_URI[lexical-write-float-0.8.5.sha256sum] = "accabaa1c4581f05a3923d1b4cfd124c329352288b7b9da09e766b0668116862" +SRC_URI[lexical-write-integer-0.8.5.sha256sum] = "e1b6f3d1f4422866b68192d62f77bc5c700bee84f3069f2469d7bc8c77852446" +SRC_URI[libc-0.2.147.sha256sum] = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +SRC_URI[lock_api-0.4.10.sha256sum] = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +SRC_URI[memchr-2.6.3.sha256sum] = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" +SRC_URI[memoffset-0.9.0.sha256sum] = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +SRC_URI[num-bigint-0.4.4.sha256sum] = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +SRC_URI[num-integer-0.1.45.sha256sum] = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +SRC_URI[num-traits-0.2.16.sha256sum] = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +SRC_URI[once_cell-1.18.0.sha256sum] = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +SRC_URI[parking_lot-0.12.1.sha256sum] = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +SRC_URI[parking_lot_core-0.9.8.sha256sum] = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +SRC_URI[percent-encoding-2.3.0.sha256sum] = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" +SRC_URI[proc-macro2-1.0.69.sha256sum] = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" +SRC_URI[pyo3-0.20.0.sha256sum] = "04e8453b658fe480c3e70c8ed4e3d3ec33eb74988bd186561b0cc66b85c3bc4b" +SRC_URI[pyo3-build-config-0.20.0.sha256sum] = "a96fe70b176a89cff78f2fa7b3c930081e163d5379b4dcdf993e3ae29ca662e5" +SRC_URI[pyo3-ffi-0.20.0.sha256sum] = "214929900fd25e6604661ed9cf349727c8920d47deff196c4e28165a6ef2a96b" +SRC_URI[pyo3-macros-0.20.0.sha256sum] = "dac53072f717aa1bfa4db832b39de8c875b7c7af4f4a6fe93cdbf9264cf8383b" +SRC_URI[pyo3-macros-backend-0.20.0.sha256sum] = "7774b5a8282bd4f25f803b1f0d945120be959a36c72e08e7cd031c792fdfd424" +SRC_URI[python3-dll-a-0.2.9.sha256sum] = "d5f07cd4412be8fa09a721d40007c483981bbe072cd6a21f2e83e04ec8f8343f" +SRC_URI[quote-1.0.29.sha256sum] = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" +SRC_URI[redox_syscall-0.3.5.sha256sum] = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +SRC_URI[regex-1.10.2.sha256sum] = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +SRC_URI[regex-automata-0.4.3.sha256sum] = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +SRC_URI[regex-syntax-0.8.2.sha256sum] = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +SRC_URI[rustversion-1.0.13.sha256sum] = "dc31bd9b61a32c31f9650d18add92aa83a49ba979c143eefd27fe7177b05bd5f" +SRC_URI[ryu-1.0.14.sha256sum] = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9" +SRC_URI[scopeguard-1.1.0.sha256sum] = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +SRC_URI[serde-1.0.190.sha256sum] = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7" +SRC_URI[serde_derive-1.0.190.sha256sum] = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3" +SRC_URI[serde_json-1.0.108.sha256sum] = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" +SRC_URI[smallvec-1.11.1.sha256sum] = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" +SRC_URI[speedate-0.13.0.sha256sum] = "242f76c50fd18cbf098607090ade73a08d39cfd84ea835f3796a2c855223b19b" +SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +SRC_URI[strum-0.25.0.sha256sum] = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" +SRC_URI[strum_macros-0.25.3.sha256sum] = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" +SRC_URI[syn-2.0.38.sha256sum] = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" +SRC_URI[target-lexicon-0.12.9.sha256sum] = "df8e77cb757a61f51b947ec4a7e3646efd825b73561db1c232a8ccb639e611a0" +SRC_URI[tinyvec-1.6.0.sha256sum] = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +SRC_URI[tinyvec_macros-0.1.1.sha256sum] = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" +SRC_URI[unicode-bidi-0.3.13.sha256sum] = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" +SRC_URI[unicode-ident-1.0.10.sha256sum] = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73" +SRC_URI[unicode-normalization-0.1.22.sha256sum] = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +SRC_URI[unindent-0.2.3.sha256sum] = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce" +SRC_URI[url-2.4.1.sha256sum] = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" +SRC_URI[uuid-1.5.0.sha256sum] = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc" +SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +SRC_URI[windows-targets-0.48.1.sha256sum] = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" +SRC_URI[windows_aarch64_gnullvm-0.48.0.sha256sum] = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +SRC_URI[windows_aarch64_msvc-0.48.0.sha256sum] = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +SRC_URI[windows_i686_gnu-0.48.0.sha256sum] = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +SRC_URI[windows_i686_msvc-0.48.0.sha256sum] = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +SRC_URI[windows_x86_64_gnu-0.48.0.sha256sum] = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +SRC_URI[windows_x86_64_gnullvm-0.48.0.sha256sum] = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +SRC_URI[windows_x86_64_msvc-0.48.0.sha256sum] = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" +SRC_URI[zerocopy-0.7.20.sha256sum] = "dd66a62464e3ffd4e37bd09950c2b9dd6c4f8767380fabba0d523f9a775bc85a" +SRC_URI[zerocopy-derive-0.7.20.sha256sum] = "255c4596d41e6916ced49cfafea18727b24d67878fa180ddfd69b9df34fd1726" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core/run-ptest new file mode 100644 index 0000000000..8d2017d39c --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +pytest --automake diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core_2.14.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core_2.14.5.bb new file mode 100644 index 0000000000..01f180c8cb --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core_2.14.5.bb @@ -0,0 +1,40 @@ +SUMMARY = "Provides the core functionality for pydantic validation and serialization." +DESCRIPTION = "This package provides the core functionality for \ +pydantic validation and serialization.\ +\ +Pydantic-core is currently around 17x faster than pydantic V1." +HOMEPAGE = "https://github.com/pydantic/pydantic-core" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ab599c188b4a314d2856b3a55030c75c" + +SRC_URI[sha256sum] = "6d30226dfc816dd0fdf120cae611dd2215117e4f9b124af8c60ab9093b6e8e71" + +DEPENDS = "python3-maturin-native python3-typing-extensions" + +require ${BPN}-crates.inc + +inherit pypi cargo-update-recipe-crates python_maturin + +S = "${WORKDIR}/pydantic_core-${PV}" + +PYPI_ARCHIVE_NAME = "pydantic_core-${PV}.${PYPI_PACKAGE_EXT}" + +RDEPENDS:${PN} += "python3-typing-extensions" + +INSANE_SKIP:${PN} = "already-stripped" + +inherit ptest +SRC_URI += "file://run-ptest" +RDEPENDS:${PN}-ptest += "\ + python3-dirty-equals \ + python3-hypothesis \ + python3-pytest \ + python3-pytest-mock \ + python3-unittest-automake-output \ +" + +do_install_ptest() { + cp -rf ${S}/tests/ ${D}${PTEST_PATH}/ + rm -rf ${D}${PTEST_PATH}/tests/benchmarks +} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic/run-ptest new file mode 100644 index 0000000000..8d2017d39c --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +pytest --automake diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.5.2.bb deleted file mode 100644 index 3750d49a97..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.5.2.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Data validation and settings management using Python type hinting" -HOMEPAGE = "https://github.com/samuelcolvin/pydantic" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=09280955509d1c4ca14bae02f21d49a6" - -inherit pypi python_hatchling - -SRC_URI[sha256sum] = "ff177ba64c6faf73d7afa2e8cad38fd456c0dbe01c9954e71038001cd15a6edd" - -DEPENDS += "python3-hatch-fancy-pypi-readme-native" - -RDEPENDS:${PN} += "\ - python3-core \ - python3-datetime \ - python3-image \ - python3-io \ - python3-json \ - python3-logging \ - python3-netclient \ - python3-numbers \ - python3-profile \ - python3-typing-extensions \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.5.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.5.3.bb new file mode 100644 index 0000000000..21341d26c3 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.5.3.bb @@ -0,0 +1,53 @@ +SUMMARY = "Data validation using Python type hinting" +DESCRIPTION = "Data validation and settings management using Python \ +type hints.\ +\ +Fast and extensible, Pydantic plays nicely with your linters/IDE/brain. \ +Define how data should be in pure, canonical Python 3.7+; validate it with \ +Pydantic." +HOMEPAGE = "https://github.com/samuelcolvin/pydantic" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=09280955509d1c4ca14bae02f21d49a6" + +inherit pypi python_hatchling + +SRC_URI[sha256sum] = "b3ef57c62535b0941697cce638c08900d87fcb67e29cfa99e8a68f747f393f7a" + +DEPENDS += "python3-hatch-fancy-pypi-readme-native" + +RDEPENDS:${PN} += "\ + python3-annotated-types \ + python3-core \ + python3-datetime \ + python3-image \ + python3-io \ + python3-json \ + python3-logging \ + python3-netclient \ + python3-numbers \ + python3-profile \ + python3-pydantic-core \ + python3-typing-extensions \ +" + +inherit ptest +SRC_URI += "file://run-ptest" +RDEPENDS:${PN}-ptest += "\ + python3-cloudpickle \ + python3-dirty-equals \ + python3-pytest \ + python3-pytest-mock \ + python3-unittest-automake-output \ +" + +do_install_ptest() { + cp -rf ${S}/tests/ ${D}${PTEST_PATH}/ + # Requires 'ruff' (python3-ruff) which we cannot build + # until we have Rust 1.71+ in oe-core + rm -f ${D}${PTEST_PATH}/tests/test_docs.py + # We are not trying to support mypy + rm -f ${D}${PTEST_PATH}/tests/test_mypy.py + # We are not trying to run benchmarks + rm -rf ${D}${PTEST_PATH}/tests/benchmarks +} + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyfanotify/0001-ext-define-FNM_EXTMATCH-if-not-already-defined.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyfanotify/0001-ext-define-FNM_EXTMATCH-if-not-already-defined.patch index 2fa3cb05d4..4c279bbcda 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyfanotify/0001-ext-define-FNM_EXTMATCH-if-not-already-defined.patch +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyfanotify/0001-ext-define-FNM_EXTMATCH-if-not-already-defined.patch @@ -1,19 +1,20 @@ -From 9e7894b97ae7afe43a9901b774de5aef401549ac Mon Sep 17 00:00:00 2001 +From 87f1bf7d1e0ca2a841706d1c41d14382f11264db Mon Sep 17 00:00:00 2001 From: Bartosz Golaszewski <brgl@bgdev.pl> Date: Thu, 28 Apr 2022 16:32:06 +0200 Subject: [PATCH] ext: define FNM_EXTMATCH if not already defined On musl this constant is not defined. Define it locally if not present. -Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl> ---- Upstream-Status: Inappropriate +Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl> + +--- src/ext.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ext.c b/src/ext.c -index e0bbe21..7d979d3 100644 +index fb33de1..fa01a81 100644 --- a/src/ext.c +++ b/src/ext.c @@ -19,6 +19,9 @@ @@ -24,8 +25,5 @@ index e0bbe21..7d979d3 100644 +#define FNM_EXTMATCH 0 +#endif - PyDoc_STRVAR(ext__doc__, - "Wrapper for fanotify.\n" --- -2.34.1 - + #define FUNUSED __attribute__((unused)) + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyfanotify_0.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyfanotify_0.2.2.bb index c9fd07144c..292ceab2e3 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyfanotify_0.2.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyfanotify_0.2.2.bb @@ -5,7 +5,7 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=636a36c9df04efcfacf839b8866d9a37" SRC_URI += "file://0001-ext-define-FNM_EXTMATCH-if-not-already-defined.patch" -SRC_URI[sha256sum] = "fd62dccdf3c17ca117e3279f0cbc65c639e53c9dec8a459d44ed6a35c1a18e60" +SRC_URI[sha256sum] = "90219aa9f8b78fa732f24aa7b21c7bb6ac97a6eb47f1763c899b8194e23af1df" inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyinotify_0.9.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyinotify_0.9.6.bb deleted file mode 100644 index 8dd5e1580a..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyinotify_0.9.6.bb +++ /dev/null @@ -1,19 +0,0 @@ -DESCRIPTION = "Python pyinotify: Linux filesystem events monitoring" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=ab173cade7965b411528464589a08382" - -RDEPENDS:${PN} += "\ - ${PYTHON_PN}-ctypes \ - ${PYTHON_PN}-fcntl \ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-misc \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-smtpd \ - ${PYTHON_PN}-threading \ -" - -SRC_URI[md5sum] = "8e580fa1ff3971f94a6f81672b76c406" -SRC_URI[sha256sum] = "9c998a5d7606ca835065cdabc013ae6c66eb9ea76a00a1e3bc6e0cfe2b4f71f4" - -inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.0.3.bb index 8af74b7cba..09ab1f26ff 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.0.2.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.0.3.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=c107cf754550e65755c42985a5d4e9c9" SRC_URI += "git://github.com/pylint-dev/pylint;branch=maintenance/3.0.x;protocol=https \ file://run-ptest \ " -SRCREV = "efee9618894795cc8847727108522aa79431ee25" +SRCREV = "1a5ffc1f447b77071ffe18a9c6836c09147ee2ed" inherit python_setuptools_build_meta ptest diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.179.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.182.bb index 69c7742215..12bf6245e5 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.179.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.182.bb @@ -3,11 +3,9 @@ HOMEPAGE = "https://github.com/MISP/PyMISP" LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20" -SRC_URI = "git://github.com/MISP/PyMISP.git;protocol=https;branch=main" -SRCREV = "cc6391233c01362a1b4b483c4ea8e67f306e3459" -S = "${WORKDIR}/git" +SRC_URI[sha256sum] = "888e848494e04148c8ff5887f04154a2b40f3065c53d93f9cec65f7ca7171362" -inherit python_poetry_core +inherit python_poetry_core pypi PIP_INSTALL_PACKAGE = "pymisp" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.6.1.bb index 18e29a17bd..2704637d34 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.6.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.6.1.bb @@ -8,7 +8,7 @@ HOMEPAGE = "http://github.com/mongodb/mongo-python-driver" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" -SRC_URI[sha256sum] = "fb1c56d891f9e34303c451998ef62ba52659648bb0d75b03c5e4ac223a3342c2" +SRC_URI[sha256sum] = "31dab1f3e1d0cdd57e8df01b645f52d43cc1b653ed3afd535d2891f4fc4f9712" inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.7.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.7.10.bb index baf3cf8ede..6b340a18ce 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.7.9.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.7.10.bb @@ -4,13 +4,12 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=dccbff78d7d79ae7e53953d43445c6e6 \ file://LICENSE.GPL-2.0-or-later;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://LICENSE.Apache-2.0;md5=34281e312165f843a2b7d1f114fe65ce" -SRC_URI[sha256sum] = "b69d82f140b0774317d7ba40f6c5fa1d755098ba3f3eb619982d16e750dc631a" +SRC_URI[sha256sum] = "cc2f90aad1517cb0b301041f678cc8d3c3427c26e53f15c78c93c67928d89a02" inherit setuptools3 pypi ptest RDEPENDS:${PN} += " \ python3-ctypes \ - python3-distutils \ python3-io \ python3-json \ python3-fcntl \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.22.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.23.2.bb index 8fa77ac056..a00778c99f 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.22.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.23.2.bb @@ -3,7 +3,7 @@ DESCRIPTION = "pytest-asyncio is an Apache2 licensed library, written in Python, LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=136e4f49dbf29942c572a3a8f6e88a77" -SRC_URI[sha256sum] = "01da1bf94ff0b969cc8d760104f7c1011903d0d658bdaef0bbae769660a7fbc4" +SRC_URI[sha256sum] = "c16052382554c7b22d48782ab3438d5b10f8cf7a4bdcae7f0f67f097d95beecc" inherit pypi python_setuptools_build_meta diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-html_3.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-html_4.1.1.bb index 713a84b416..b9023dfcde 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-html_3.2.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-html_4.1.1.bb @@ -4,13 +4,15 @@ DEPENDS += "${PYTHON_PN}-setuptools-scm-native" LICENSE = "MPL-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=5d425c8f3157dbf212db2ec53d9e5132" -SRC_URI[sha256sum] = "c4e2f4bb0bffc437f51ad2174a8a3e71df81bbc2f6894604e604af18fbe687c3" +SRC_URI[sha256sum] = "70a01e8ae5800f4a074b56a4cb1025c8f4f9b038bba5fe31e3c98eb996686f07" -PYPI_PACKAGE = "pytest-html" +PYPI_PACKAGE = "pytest_html" -inherit pypi python_setuptools_build_meta +inherit pypi python_hatchling -DEPENDS += "python3-setuptools-scm-git-archive-native" +DEPENDS += "\ + ${PYTHON_PN}-hatch-vcs-native \ +" RDEPENDS:${PN} += " \ ${PYTHON_PN}-pytest \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_25.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_25.1.2.bb index 504ef7abc0..658dbe6e25 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_25.1.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_25.1.2.bb @@ -13,7 +13,7 @@ SRC_URI:append = " \ file://club-rpath-out.patch \ file://run-ptest \ " -SRC_URI[sha256sum] = "259c22485b71abacdfa8bf79720cd7bcf4b9d128b30ea554f01ae71fdbfdaa23" +SRC_URI[sha256sum] = "93f1aa311e8bb912e34f004cf186407a4e90eec4f0ecc0efd26056bf7eda0226" inherit pypi pkgconfig python_setuptools_build_meta ptest diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-rapidjson_1.13.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-rapidjson_1.14.bb index 1623f721fc..8b76397bfe 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-rapidjson_1.13.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-rapidjson_1.14.bb @@ -4,13 +4,12 @@ HOMEPAGE = "https://github.com/python-rapidjson/python-rapidjson" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=4daf3929156304df67003c33274a98bd" -SRC_URI = "git://github.com/python-rapidjson/python-rapidjson.git;protocol=https;branch=master" -SRCREV = "a87053d9b97750afddb504da05bd1cd9f4b94654" - -S = "${WORKDIR}/git" +SRC_URI[sha256sum] = "26806f0a658c34b48d2951d8d3f846ca9deb93a34e664ef436db632a188b6779" # Inheriting ptest provides functionality for packaging and installing runtime tests for this recipe -inherit setuptools3 ptest +inherit setuptools3 pypi ptest + +PYPI_PACKAGE = "python-rapidjson" SETUPTOOLS_BUILD_ARGS += " --rj-include-dir=${RECIPE_SYSROOT}${includedir}" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.10.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.12.25.bb index c26d55f474..d7ac616083 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.10.3.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.12.25.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7b5751ddd6b643203c31ff873051d069" inherit pypi setuptools3 -SRC_URI[sha256sum] = "3fef4f844d2290ee0ba57addcec17eec9e3df73f10a2748485dfd6a3a188cc0f" +SRC_URI[sha256sum] = "29171aa128da69afdf4bde412d5bedc335f2ca8fcfe4489038577d05f16181e5" RDEPENDS:${PN} += " \ python3-stringold \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-rlp/0001-setup-don-t-use-setuptools-markdown.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-rlp/0001-setup-don-t-use-setuptools-markdown.patch deleted file mode 100644 index 0ab012a982..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-rlp/0001-setup-don-t-use-setuptools-markdown.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 5a2db801c6520be296cee9cba0e0e4ffac68430c Mon Sep 17 00:00:00 2001 -From: Bartosz Golaszewski <brgl@bgdev.pl> -Date: Wed, 11 May 2022 15:11:19 +0200 -Subject: [PATCH] setup: don't use setuptools-markdown - -This project is deprecated and irrelevant for the functionality of -pyrlp. We don't support it in meta-python so just drop it from the -dependencies. - -Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl> ---- -Upstream-Status: Pending - - setup.py | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/setup.py b/setup.py -index 1055fb1..55fca24 100755 ---- a/setup.py -+++ b/setup.py -@@ -46,13 +46,11 @@ setup( - # *IMPORTANT*: Don't manually change the version here. See README for more. - version='3.0.0', - description="A package for Recursive Length Prefix encoding and decoding", -- long_description_markdown_filename='README.md', - author="jnnk", - author_email='jnnknnj@gmail.com', - url='https://github.com/ethereum/pyrlp', - packages=find_packages(exclude=["tests", "tests.*"]), - include_package_data=True, -- setup_requires=['setuptools-markdown'], - install_requires=[ - "eth-utils>=2.0.0,<3", - ], --- -2.34.1 - diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-rlp_3.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-rlp_4.0.0.bb index e747ae33ba..49efd09a4b 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-rlp_3.0.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-rlp_4.0.0.bb @@ -4,11 +4,13 @@ SECTION = "devel/python" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=00854fa80a84236706b11f47f23e61e7" -SRC_URI[sha256sum] = "63b0465d2948cd9f01de449d7adfb92d207c1aef3982f20310f8009be4a507e8" -SRC_URI += "file://0001-setup-don-t-use-setuptools-markdown.patch" +SRC_URI[sha256sum] = "61a5541f86e4684ab145cb849a5929d2ced8222930a570b3941cf4af16b72a78" inherit pypi setuptools3 DEPENDS += "python3-pip-native" -RDEPENDS:${PN} += "python3-eth-utils" +RDEPENDS:${PN} += " \ + ${PYTHON_PN}-eth-utils \ + ${PYTHON_PN}-typing-extensions \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sdbus_0.11.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sdbus_0.11.1.bb index 6abdad0be1..6372d3488d 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sdbus_0.11.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sdbus_0.11.1.bb @@ -3,9 +3,15 @@ HOMEPAGE = "https://python-sdbus.readthedocs.io/en/latest/" LICENSE = "LGPL-2.1-or-later" LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e77986dc8e2ee22d44a7c863e96852ae" -SRC_URI[sha256sum] = "f86fbadae54fea6441ec2f27dc29daf085269d66c5d9df1a4fbc9474a24b91d0" +SRC_URI[sha256sum] = "adb97718ce996bb308520682c50b1a13e606d65a6edb1c1967a15d2e570cb3b7" REQUIRED_DISTRO_FEATURES = "systemd" DEPENDS += "systemd" +RDEPENDS:${PN} += " \ + ${PYTHON_PN}-asyncio \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-core \ +" + inherit pypi setuptools3 features_check pkgconfig diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.37.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.39.1.bb index 868a7e2f30..9f421328b9 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.37.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.39.1.bb @@ -15,7 +15,7 @@ RDEPENDS:${PN} += "\ ${PYTHON_PN}-datetime \ " -SRC_URI[sha256sum] = "7cd324dd2877fdc861f75cba4242bce23a58272a6fea581fcb218bb718bd9cc5" +SRC_URI[sha256sum] = "320a55cdf9da9097a0bead239c35b7e61f53660ef9878861824fd6d9b2eaf3b5" PYPI_PACKAGE = "sentry-sdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm-git-archive_1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm-git-archive_1.1.bb deleted file mode 100644 index 2068871d93..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm-git-archive_1.1.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "setuptools_scm plugin for git archives" -HOMEPAGE = "https://pypi.org/project/setuptools-scm-git-archive/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=838c366f69b72c5df05c96dff79b35f2" - -SRC_URI[sha256sum] = "6026f61089b73fa1b5ee737e95314f41cb512609b393530385ed281d0b46c062" - -inherit pypi setuptools3 - -PYPI_PACKAGE = "setuptools_scm_git_archive" -PYPI_SRC_URI = "https://files.pythonhosted.org/packages/7e/2c/0c15b29a1b5940250bfdc4a4f53272e35cd7cf8a34159291b6b4ec9eb291/${PYPI_ARCHIVE_NAME}" - -DEPENDS += "python3-setuptools-scm-native" -RDEPENDS:${PN} += "python3-setuptools-scm" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.23.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.24.bb index ce216b0164..91ab762eb6 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.23.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.24.bb @@ -4,7 +4,7 @@ HOMEPAGE = "http://www.sqlalchemy.org/" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=b707d50badb798e1d897f2c8f649382d" -SRC_URI[sha256sum] = "c1bda93cbbe4aa2aa0aa8655c5aeda505cd219ff3e8da91d1d329e143e4aff69" +SRC_URI[sha256sum] = "6db97656fd3fe3f7e5b077f12fa6adb5feb6e0b567a3e99f47ecf5f7ea0a09e3" PYPI_PACKAGE = "SQLAlchemy" inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-supervisor_4.2.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-supervisor_4.2.5.bb index 53f8011b02..06b08e78a3 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-supervisor_4.2.5.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-supervisor_4.2.5.bb @@ -17,7 +17,6 @@ RDEPENDS:${PN} = "\ python3-xmlrpc \ python3-resource \ python3-setuptools \ - python3-smtpd \ " SRC_URI += "file://supervisord.conf \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-termcolor_2.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-termcolor_2.4.0.bb index bbaefc7ec2..212a293510 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-termcolor_2.3.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-termcolor_2.4.0.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING.txt;md5=e5f5f7c9b280511f124dba5dda3d180e" inherit pypi python_setuptools_build_meta -SRC_URI[sha256sum] = "b5b08f68937f138fe92f6c089b99f1e2da0ae56c52b78bf7075fd95420fd9a5a" +SRC_URI[sha256sum] = "aab9e56047c8ac41ed798fa36d892a37aca6b3e9159f3e0c24bc64a9b3ac7b7a" DEPENDS += " \ ${PYTHON_PN}-toml-native \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.3.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.4.bb index c587422960..e3d0209e1a 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.3.3.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.4.bb @@ -6,7 +6,7 @@ HOMEPAGE = "http://www.tornadoweb.org/en/stable/" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" -SRC_URI[sha256sum] = "e7d8db41c0181c80d76c982aacc442c0783a2c54d6400fe028954201a2e032fe" +SRC_URI[sha256sum] = "72291fa6e6bc84e626589f1c29d90a5a6d593ef5ae68052ee2ef000dfd273dee" inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.11.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.11.4.bb index be42c4b6f6..62c15a7db3 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.11.3.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.11.4.bb @@ -6,7 +6,7 @@ HOMEPAGE = "http://tox.readthedocs.org/" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=11610a9d8fd95649cf8159be12b98cb7" -SRC_URI[sha256sum] = "5039f68276461fae6a9452a3b2c7295798f00a0e92edcd9a3b78ba1a73577951" +SRC_URI[sha256sum] = "73a7240778fabf305aeb05ab8ea26e575e042ab5a18d71d0ed13e343a51d6ce1" BBCLASSEXTEND = "native nativesdk" inherit pypi python_hatchling diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.13.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.14.0.bb index c16c1ef0ef..19ea0113a5 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.13.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.14.0.bb @@ -3,7 +3,7 @@ HOMEPAGE = "http://ipython.org" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=13bed0ee6f46a6f6dbf1f9f9572f250a" -SRC_URI[sha256sum] = "9b232b9430c8f57288c1024b34a8f0251ddcc47268927367a0dd3eeaca40deb5" +SRC_URI[sha256sum] = "fcdaa8ac49c04dfa0ed3ee3384ef6dfdb5d6f3741502be247279407679296772" inherit pypi python_hatchling diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_68.2.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_69.0.0.0.bb index 4042ab55f0..2fc1895b01 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_68.2.0.2.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_69.0.0.0.bb @@ -5,6 +5,6 @@ LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=ef4dc1e740f5c928f1 inherit pypi setuptools3 -SRC_URI[sha256sum] = "09efc380ad5c7f78e30bca1546f706469568cf26084cfab73ecf83dea1d28446" +SRC_URI[sha256sum] = "b0a06219f628c6527b2f8ce770a4f47550e00d3e8c3ad83e2dc31bc6e6eda95d" BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-uinput/0001-Deal-with-64bit-time_t-default-on-32bit-architecture.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-uinput/0001-Deal-with-64bit-time_t-default-on-32bit-architecture.patch deleted file mode 100644 index 4095fc9095..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-uinput/0001-Deal-with-64bit-time_t-default-on-32bit-architecture.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 69adf9e32f5b11e15c0cbe17f9331c77fed65bf8 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sat, 28 May 2022 15:50:50 -0700 -Subject: [PATCH] Deal with 64bit time_t default on 32bit architectures - -Deal with Y2K38 concerns related to Linux input events on more recent -kernels and libcs on 32-bit systems - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - libsuinput/src/suinput.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/libsuinput/src/suinput.c b/libsuinput/src/suinput.c -index 8d5fb71..13ff16a 100644 ---- a/libsuinput/src/suinput.c -+++ b/libsuinput/src/suinput.c -@@ -45,11 +45,20 @@ int suinput_emit(int uinput_fd, uint16_t ev_type, uint16_t ev_code, - struct input_event event; - - memset(&event, 0, sizeof(event)); -- gettimeofday(&event.time, 0); - event.type = ev_type; - event.code = ev_code; - event.value = ev_value; - -+/* attempt to deal with 64-bit time keeping on recent 32-bit systems */ -+#if (__BITS_PER_LONG != 32 || !defined(__USE_TIME_BITS64)) -+ gettimeofday(&event.time, 0); -+#else -+ struct timeval now; -+ memset(&now, 0, sizeof(now)); -+ gettimeofday(&now, 0); -+ event.input_event_sec = now.tv_sec; -+ event.input_event_usec = now.tv_usec; -+#endif - return suinput_write_event(uinput_fd, &event); - } - --- -2.36.1 - diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-uinput/0001-setup-use-setuptools-instead-of-distutils.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-uinput/0001-setup-use-setuptools-instead-of-distutils.patch deleted file mode 100644 index b2e1b9cd82..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-uinput/0001-setup-use-setuptools-instead-of-distutils.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 7a4dde83a9584adb42c7f810d882b1fbf5767e2c Mon Sep 17 00:00:00 2001 -From: Bartosz Golaszewski <brgl@bgdev.pl> -Date: Tue, 24 May 2022 21:43:35 +0200 -Subject: [PATCH] setup: use setuptools instead of distutils - -The latter is deprecated, use setuptools instead. - -Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl> ---- -Upstream-Status: Pending - - setup.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index 3fa3343..4900b8b 100644 ---- a/setup.py -+++ b/setup.py -@@ -3,7 +3,7 @@ - import errno - import subprocess - --from distutils.core import setup, Extension -+from setuptools import setup, Extension - - libudev_so = "libudev.so.1" - --- -2.34.1 - diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-uinput_0.11.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-uinput_0.11.2.bb deleted file mode 100644 index ef466539bd..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-uinput_0.11.2.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Python interface to Linux uinput kernel module." -HOMEPAGE = "https://pypi.org/project/python-uinput/" -LICENSE = "GPL-3.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" - -SRC_URI += "file://0001-setup-use-setuptools-instead-of-distutils.patch \ - file://0001-Deal-with-64bit-time_t-default-on-32bit-architecture.patch \ -" -SRC_URI[sha256sum] = "99392b676c77b5795b86b7d75274db33fe754fd1e06fb3d58b167c797dc47f0c" - -PYPI_PACKAGE = "python-uinput" - -inherit pypi setuptools3 - -DEPENDS += "udev" -RDEPENDS:${PN} += " \ - python3-ctypes \ - python3-distutils \ -" -RRECOMMENDS:${PN} += "kernel-module-uinput" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_5.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_5.9.0.bb index 9486435d73..8de9b030dd 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_5.8.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_5.9.0.bb @@ -4,7 +4,7 @@ DESCRIPTION = "UltraJSON is an ultra fast JSON encoder and decoder written in pu LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e0039a83d8a99726b5418f0b03302d0a" -SRC_URI[sha256sum] = "78e318def4ade898a461b3d92a79f9441e7e0e4d2ad5419abed4336d702c7425" +SRC_URI[sha256sum] = "89cc92e73d5501b8a7f48575eeb14ad27156ad092c2e9fc7e3cf949f07e75532" inherit pypi ptest setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-unoconv_0.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-unoconv_0.9.0.bb index 3c944b4f2c..be1dab476c 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-unoconv_0.9.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-unoconv_0.9.0.bb @@ -11,7 +11,7 @@ inherit pypi setuptools3 PYPI_PACKAGE="unoconv" RDEPENDS:${PN} += "\ - ${PYTHON_PN}-distutils \ + ${PYTHON_PN}-setuptools \ ${PYTHON_PN}-core \ ${PYTHON_PN}-shell \ " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-uswid_git.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-uswid_0.4.7.bb index 40adc34c10..4499edb216 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-uswid_git.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-uswid_0.4.7.bb @@ -2,6 +2,11 @@ SUMMARY = "A pure-python library for embedding CoSWID data" HOMEPAGE = "https://github.com/hughsie/python-uswid" SECTION = "devel/python" LICENSE = "LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://LICENSE;md5=40d2542b8c43a3ec2b7f5da31a697b88" + +SRC_URI[sha256sum] = "de15c2421bedaa5f54606558700c1f628f07d73da49ec69d1888214ac52c49e6" + +inherit setuptools3 python3native pypi DEPENDS += " python3-cbor2 python3-lxml python3-pefile" RDEPENDS:${PN} += " \ @@ -10,12 +15,5 @@ RDEPENDS:${PN} += " \ python3-lxml \ python3-netclient \ " -LIC_FILES_CHKSUM = "file://LICENSE;md5=40d2542b8c43a3ec2b7f5da31a697b88" - -SRC_URI = "git://github.com/hughsie/python-uswid.git;branch=main;protocol=https" -SRCREV = "3223034abef88ae29cf79fdc7fe11ec7e21e11ff" -S = "${WORKDIR}/git" - -inherit setuptools3 python3native BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.25.0.bb index a4e5607e7e..0a9ba59452 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.7.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.25.0.bb @@ -6,7 +6,7 @@ HOMEPAGE = "https://github.com/pypa/virtualenv" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=0ce089158cf60a8ab6abb452b6405538" -SRC_URI[sha256sum] = "69050ffb42419c91f6c1284a7b24e0475d793447e35929b488bf6a0aade39353" +SRC_URI[sha256sum] = "bf51c0d9c7dd63ea8e44086fa1e4fb1093a31e963b86959257378aef020e1f1b" BBCLASSEXTEND = "native nativesdk" inherit pypi python_hatchling diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.11.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.13.0.bb index 2c7aca9ba9..0f0682fca4 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.11.3.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.13.0.bb @@ -4,13 +4,12 @@ SECTION = "devel/python" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=373fede350846fdffd23648fba504635" -SRC_URI[sha256sum] = "f9bec9d2339bf649fe25293435a5c897a4b035aa96d6c33670ed467acf59dbe7" +SRC_URI[sha256sum] = "769ab3cfffea69c6b495c63a1aecdb522651c0304260fc25467a886d0be622e2" inherit pypi setuptools3 RDEPENDS:${PN} += " \ python3-aiohttp \ - python3-distutils \ python3-eth-account \ python3-idna \ python3-jsonschema \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.6.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.7.0.bb index 961cdb916c..b202d68552 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.6.4.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.7.0.bb @@ -7,7 +7,7 @@ HOMEPAGE = "https://github.com/websocket-client/websocket-client" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=6eae3bb7247ccb2c3a087ea8de759c01" -SRC_URI[sha256sum] = "b3324019b3c28572086c4a319f91d1dcd44e6e11cd340232978c684a7650d0df" +SRC_URI[sha256sum] = "10e511ea3a8c744631d3bd77e61eb17ed09304c413ad42cf6ddfa4c7787e8fe6" inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-wpa-supplicant_0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-wpa-supplicant_0.2.bb index 5ac7786ad3..b9c62ced78 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-wpa-supplicant_0.2.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-wpa-supplicant_0.2.bb @@ -10,6 +10,8 @@ SRC_URI[sha256sum] = "3ad0f40a696763bb0f4d4dec5b51f6b53ccfeb7c16ebb5897349303045 SRC_URI += "file://0001-cli-drop-the-second-argument-from-click.argument-dec.patch" PYPI_PACKAGE = "wpa_supplicant" +UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/wpa_supplicant" +UPSTREAM_CHECK_REGEX = "/wpa_supplicant/(?P<pver>(\d+[\.\-_]*)+)" inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-wtforms_3.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-wtforms_3.1.1.bb index 36a0191dc9..b57c311002 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-wtforms_3.0.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-wtforms_3.1.1.bb @@ -3,13 +3,14 @@ HOMEPAGE = "https://pypi.python.org/pypi/WTForms" SECTION = "devel/python" LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=53dbfa56f61b90215a9f8f0d527c043d" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=17ed54aa95f4a6cd0d7a4747d14b64d0" -SRC_URI[sha256sum] = "6b351bbb12dd58af57ffef05bc78425d08d1914e0fd68ee14143b7ade023c5bc" +SRC_URI[sha256sum] = "5e51df8af9a60f6beead75efa10975e97768825a82146a65c7cbf5b915990620" -PYPI_PACKAGE = "WTForms" +UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/WTForms" +UPSTREAM_CHECK_REGEX = "/WTForms/(?P<pver>(\d+[\.\-_]*)+)" -inherit pypi setuptools3 +inherit pypi python_hatchling DEPENDS += "\ ${PYTHON_PN}-pip-native \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_2.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_2.5.1.bb index 9be7cb5551..19fae91315 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_2.3.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_2.5.1.bb @@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/sissaschool/xmlschema" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=0ab20f8e337bea2e6874f372edfd12c0" -SRC_URI[sha256sum] = "2eb426c5710833a05610c22c8766713a1b87e9405e3eca0b7c658375bf7ec810" +SRC_URI[sha256sum] = "4f7497de6c8b6dc2c28ad7b9ed6e21d186f4afe248a5bea4f54eedab4da44083" PYPI_PACKAGE = "xmlschema" inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi/0001-Fix-imports-for-ptests.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi/0001-test_functionality-convert-line-endings-to-Unix.patch index 476db4b7d0..70d4607c29 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi/0001-Fix-imports-for-ptests.patch +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi/0001-test_functionality-convert-line-endings-to-Unix.patch @@ -1,44 +1,23 @@ -From 0dedc1c573ddc4e87475eb03c64555cd54a72e92 Mon Sep 17 00:00:00 2001 -From: Trevor Gamblin <trevor.gamblin@windriver.com> -Date: Mon, 7 Jun 2021 09:40:20 -0400 -Subject: [PATCH] Fix imports for tests +From 0136ca731cba8b056b3f2ff0e7df3953b94f1e87 Mon Sep 17 00:00:00 2001 +From: Tim Orling <tim.orling@konsulko.com> +Date: Sun, 24 Dec 2023 09:41:57 -0800 +Subject: [PATCH 1/2] test_functionality: convert line endings to Unix -Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> ---- -Upstream-Status: Pending +Convert the Windows line endings with dos2unix to be like the +other files in tests/* + +Upstream-Status: Submitted [https://github.com/sumerc/yappi/pull/164] - tests/test_asyncio.py | 2 +- - tests/test_asyncio_context_vars.py | 2 +- - tests/test_functionality.py | 2 +- - tests/test_hooks.py | 2 +- - tests/test_tags.py | 2 +- - 5 files changed, 6 insertions(+), 6 deletions(-) +Signed-off-by: Tim Orling <tim.orling@konsulko.com> +--- + tests/test_functionality.py | 3822 +++++++++++++++++------------------ + 1 file changed, 1911 insertions(+), 1911 deletions(-) ---- a/tests/test_asyncio.py -+++ b/tests/test_asyncio.py -@@ -2,7 +2,7 @@ import unittest - import yappi - import asyncio - import threading --from utils import YappiUnitTestCase, find_stat_by_name, burn_cpu, burn_io -+from .utils import YappiUnitTestCase, find_stat_by_name, burn_cpu, burn_io - - - async def async_sleep(sec): ---- a/tests/test_asyncio_context_vars.py -+++ b/tests/test_asyncio_context_vars.py -@@ -5,7 +5,7 @@ import contextvars - import functools - import time - import os --import utils -+import tests.utils as utils - import yappi - - async_context_id = contextvars.ContextVar('async_context_id') +diff --git a/tests/test_functionality.py b/tests/test_functionality.py +index 0e99c47..38bbe67 100644 --- a/tests/test_functionality.py +++ b/tests/test_functionality.py -@@ -1,1916 +1,1916 @@ +@@ -1,1911 +1,1911 @@ -import os
-import sys
-import time
@@ -47,7 +26,7 @@ Upstream-Status: Pending -import yappi
-import _yappi
-import utils
--import multiprocessing # added to fix http://bugs.python.org/issue15881 for > Py2.6
+-import multiprocessing
-import subprocess
-
-_counter = 0
@@ -318,10 +297,10 @@ Upstream-Status: Pending - def test_profile_decorator(self):
-
- def aggregate(func, stats):
-- fname = "tests/%s.profile" % (func.__name__)
+- fname = f"tests/{func.__name__}.profile"
- try:
- stats.add(fname)
-- except IOError:
+- except OSError:
- pass
- stats.save(fname)
- raise Exception("messing around")
@@ -1232,7 +1211,7 @@ Upstream-Status: Pending - # TODO: I put dummy() to fix below, remove the comments after a while.
- self.assertTrue( # FIX: I see this fails sometimes?
- tsm is not None,
-- 'Could not find "_MainThread". Found: %s' % (', '.join(utils.get_stat_names(tstats))))
+- f"Could not find \"_MainThread\". Found: {', '.join(utils.get_stat_names(tstats))}")
-
- def test_ctx_stats(self):
- from threading import Thread
@@ -1312,7 +1291,7 @@ Upstream-Status: Pending - # TODO: I put dummy() to fix below, remove the comments after a while.
- self.assertTrue( # FIX: I see this fails sometimes
- tsmain is not None,
-- 'Could not find "_MainThread". Found: %s' % (', '.join(utils.get_stat_names(stats))))
+- f"Could not find \"_MainThread\". Found: {', '.join(utils.get_stat_names(stats))}")
- self.assertTrue(1.0 > tst2.ttot >= 0.5)
- self.assertTrue(1.0 > tst1.ttot >= 0.5)
-
@@ -1369,7 +1348,7 @@ Upstream-Status: Pending - ts = []
- for i in (0.01, 0.05, 0.1):
- t = threading.Thread(target=burn_cpu, args=(i, ))
-- t.name = "burn_cpu-%s" % str(i)
+- t.name = f"burn_cpu-{str(i)}"
- t.start()
- ts.append(t)
- for t in ts:
@@ -1396,10 +1375,7 @@ Upstream-Status: Pending - def test_producer_consumer_with_queues(self):
- # we currently just stress yappi, no functionality test is done here.
- yappi.start()
-- if utils.is_py3x():
-- from queue import Queue
-- else:
-- from Queue import Queue
+- from queue import Queue
- from threading import Thread
- WORKER_THREAD_COUNT = 50
- WORK_ITEM_COUNT = 2000
@@ -1458,7 +1434,6 @@ Upstream-Status: Pending - fsh = utils.find_stat_by_name(stats, "handler")
- self.assertTrue(fsh is not None)
-
-- @unittest.skipIf(not sys.version_info >= (3, 2), "requires Python 3.2")
- def test_concurrent_futures(self):
- yappi.start()
- from concurrent.futures import ThreadPoolExecutor
@@ -1468,7 +1443,6 @@ Upstream-Status: Pending - time.sleep(1.0)
- yappi.stop()
-
-- @unittest.skipIf(not sys.version_info >= (3, 2), "requires Python 3.2")
- def test_barrier(self):
- yappi.start()
- b = threading.Barrier(2, timeout=1)
@@ -1962,8 +1936,8 @@ Upstream-Status: Pending +import unittest +import yappi +import _yappi -+import tests.utils as utils -+import multiprocessing # added to fix http://bugs.python.org/issue15881 for > Py2.6 ++import utils ++import multiprocessing +import subprocess + +_counter = 0 @@ -2234,10 +2208,10 @@ Upstream-Status: Pending + def test_profile_decorator(self): + + def aggregate(func, stats): -+ fname = "tests/%s.profile" % (func.__name__) ++ fname = f"tests/{func.__name__}.profile" + try: + stats.add(fname) -+ except IOError: ++ except OSError: + pass + stats.save(fname) + raise Exception("messing around") @@ -3007,8 +2981,8 @@ Upstream-Status: Pending + + def test_issue_32(self): + ''' -+ Start yappi from different thread and we get Internal Error(15) as -+ the current_ctx_id() called while enumerating the threads in start() ++ Start yappi from different thread and we get Internal Error(15) as ++ the current_ctx_id() called while enumerating the threads in start() + and as it does not swap to the enumerated ThreadState* the THreadState_GetDict() + returns wrong object and thus sets an invalid id for the _ctx structure. + @@ -3148,7 +3122,7 @@ Upstream-Status: Pending + # TODO: I put dummy() to fix below, remove the comments after a while. + self.assertTrue( # FIX: I see this fails sometimes? + tsm is not None, -+ 'Could not find "_MainThread". Found: %s' % (', '.join(utils.get_stat_names(tstats)))) ++ f"Could not find \"_MainThread\". Found: {', '.join(utils.get_stat_names(tstats))}") + + def test_ctx_stats(self): + from threading import Thread @@ -3228,7 +3202,7 @@ Upstream-Status: Pending + # TODO: I put dummy() to fix below, remove the comments after a while. + self.assertTrue( # FIX: I see this fails sometimes + tsmain is not None, -+ 'Could not find "_MainThread". Found: %s' % (', '.join(utils.get_stat_names(stats)))) ++ f"Could not find \"_MainThread\". Found: {', '.join(utils.get_stat_names(stats))}") + self.assertTrue(1.0 > tst2.ttot >= 0.5) + self.assertTrue(1.0 > tst1.ttot >= 0.5) + @@ -3285,7 +3259,7 @@ Upstream-Status: Pending + ts = [] + for i in (0.01, 0.05, 0.1): + t = threading.Thread(target=burn_cpu, args=(i, )) -+ t.name = "burn_cpu-%s" % str(i) ++ t.name = f"burn_cpu-{str(i)}" + t.start() + ts.append(t) + for t in ts: @@ -3312,10 +3286,7 @@ Upstream-Status: Pending + def test_producer_consumer_with_queues(self): + # we currently just stress yappi, no functionality test is done here. + yappi.start() -+ if utils.is_py3x(): -+ from queue import Queue -+ else: -+ from Queue import Queue ++ from queue import Queue + from threading import Thread + WORKER_THREAD_COUNT = 50 + WORK_ITEM_COUNT = 2000 @@ -3374,7 +3345,6 @@ Upstream-Status: Pending + fsh = utils.find_stat_by_name(stats, "handler") + self.assertTrue(fsh is not None) + -+ @unittest.skipIf(not sys.version_info >= (3, 2), "requires Python 3.2") + def test_concurrent_futures(self): + yappi.start() + from concurrent.futures import ThreadPoolExecutor @@ -3384,7 +3354,6 @@ Upstream-Status: Pending + time.sleep(1.0) + yappi.stop() + -+ @unittest.skipIf(not sys.version_info >= (3, 2), "requires Python 3.2") + def test_barrier(self): + yappi.start() + b = threading.Barrier(2, timeout=1) @@ -3871,25 +3840,6 @@ Upstream-Status: Pending + # import sys;sys.argv = ['', 'BasicUsage.test_run_as_script'] + # import sys;sys.argv = ['', 'MultithreadedScenarios.test_subsequent_profile'] + unittest.main() ---- a/tests/test_hooks.py -+++ b/tests/test_hooks.py -@@ -5,7 +5,7 @@ import unittest - import time - - import yappi --import utils -+import tests.utils as utils - - - def a(): ---- a/tests/test_tags.py -+++ b/tests/test_tags.py -@@ -2,7 +2,7 @@ import unittest - import yappi - import threading - import time --from utils import YappiUnitTestCase, find_stat_by_name, burn_cpu, burn_io -+from .utils import YappiUnitTestCase, find_stat_by_name, burn_cpu, burn_io - - - class MultiThreadTests(YappiUnitTestCase): +-- +2.34.1 + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi/0002-Fix-import-of-tests.utils-to-enable-pytest.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi/0002-Fix-import-of-tests.utils-to-enable-pytest.patch new file mode 100644 index 0000000000..96dd024125 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi/0002-Fix-import-of-tests.utils-to-enable-pytest.patch @@ -0,0 +1,101 @@ +From 28eac38566327091221aabbc164ea8e433c66e7e Mon Sep 17 00:00:00 2001 +From: Tim Orling <tim.orling@konsulko.com> +Date: Sun, 24 Dec 2023 09:27:50 -0800 +Subject: [PATCH 2/2] Fix import of tests.utils to enable pytest + +Running the test cases with pytest leads to importlib errors +because the "utils" module cannot be found. + +Upstream-Status: Submitted [https://github.com/sumerc/yappi/pull/164] + +Signed-off-by: Tim Orling <tim.orling@konsulko.com> +--- + tests/test_asyncio.py | 2 +- + tests/test_asyncio_context_vars.py | 2 +- + tests/test_functionality.py | 2 +- + tests/test_gevent.py | 2 +- + tests/test_hooks.py | 2 +- + tests/test_tags.py | 2 +- + 6 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/tests/test_asyncio.py b/tests/test_asyncio.py +index 8e9e631..bb36f4a 100644 +--- a/tests/test_asyncio.py ++++ b/tests/test_asyncio.py +@@ -2,7 +2,7 @@ import unittest + import yappi + import asyncio + import threading +-from utils import YappiUnitTestCase, find_stat_by_name, burn_cpu, burn_io ++from tests.utils import YappiUnitTestCase, find_stat_by_name, burn_cpu, burn_io + + + async def async_sleep(sec): +diff --git a/tests/test_asyncio_context_vars.py b/tests/test_asyncio_context_vars.py +index 5bd750c..9a253c0 100644 +--- a/tests/test_asyncio_context_vars.py ++++ b/tests/test_asyncio_context_vars.py +@@ -5,7 +5,7 @@ import contextvars + import functools + import time + import os +-import utils ++import tests.utils as utils + import yappi + + async_context_id = contextvars.ContextVar('async_context_id') +diff --git a/tests/test_functionality.py b/tests/test_functionality.py +index 38bbe67..8098f17 100644 +--- a/tests/test_functionality.py ++++ b/tests/test_functionality.py +@@ -5,7 +5,7 @@ import threading + import unittest + import yappi + import _yappi +-import utils ++import tests.utils as utils + import multiprocessing + import subprocess + +diff --git a/tests/test_gevent.py b/tests/test_gevent.py +index ed9e6ae..502af5f 100644 +--- a/tests/test_gevent.py ++++ b/tests/test_gevent.py +@@ -2,7 +2,7 @@ import unittest + import _yappi + import yappi + import threading +-from utils import ( ++from tests.utils import ( + YappiUnitTestCase, find_stat_by_name, burn_cpu, burn_io, burn_io_gevent + ) + +diff --git a/tests/test_hooks.py b/tests/test_hooks.py +index 297c643..8c387fc 100644 +--- a/tests/test_hooks.py ++++ b/tests/test_hooks.py +@@ -5,7 +5,7 @@ import unittest + import time + + import yappi +-import utils ++import tests.utils as utils + + + def a(): +diff --git a/tests/test_tags.py b/tests/test_tags.py +index b0b531d..b5a4016 100644 +--- a/tests/test_tags.py ++++ b/tests/test_tags.py +@@ -2,7 +2,7 @@ import unittest + import yappi + import threading + import time +-from utils import YappiUnitTestCase, find_stat_by_name, burn_cpu, burn_io ++from tests.utils import YappiUnitTestCase, find_stat_by_name, burn_cpu, burn_io + + + class MultiThreadTests(YappiUnitTestCase): +-- +2.34.1 + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi/0002-add-3.11-to-the-setup.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi/0002-add-3.11-to-the-setup.patch deleted file mode 100644 index d40bd2b7cc..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi/0002-add-3.11-to-the-setup.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 38afdacf526410f970afc58e147c7377c6c7112c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?S=C3=BCmer=20Cip?= <sumer.cip@platform.sh> -Date: Fri, 25 Nov 2022 15:58:03 +0300 -Subject: [PATCH 2/2] add 3.11 to the setup - ---- -Upstream-Status: Pending - - setup.py | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/setup.py b/setup.py -index d006787..96e2a66 100644 ---- a/setup.py -+++ b/setup.py -@@ -56,6 +56,7 @@ CLASSIFIERS = [ - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', - 'Programming Language :: Python :: 3.10', -+ 'Programming Language :: Python :: 3.11', - 'Programming Language :: Python :: Implementation :: CPython', - 'Operating System :: OS Independent', - 'Topic :: Software Development :: Libraries', --- -2.30.2 - diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi/run-ptest index 3385d68939..8d2017d39c 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi/run-ptest +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi/run-ptest @@ -1,3 +1,3 @@ #!/bin/sh -pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' +pytest --automake diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_1.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_1.4.0.bb deleted file mode 100644 index 71e74e86f2..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_1.4.0.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "Yet Another Python Profiler" -HOMEPAGE = "https://github.com/sumerc/yappi" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=71c208c9a4fd864385eb69ad4caa3bee" - -SRC_URI[sha256sum] = "504b5d8fc7433736cb5e257991d2e7f2946019174f1faec7b2fe947881a17fc0" - -SRC_URI += " \ - file://run-ptest \ - file://0001-Fix-imports-for-ptests.patch \ - file://0002-add-3.11-to-the-setup.patch \ -" - -inherit pypi setuptools3 ptest - -RDEPENDS:${PN} += "\ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-pickle \ - ${PYTHON_PN}-threading \ -" - -RDEPENDS:${PN}-ptest += " \ - ${PYTHON_PN}-gevent \ - ${PYTHON_PN}-multiprocessing \ - ${PYTHON_PN}-pytest \ - ${PYTHON_PN}-profile \ - ${PYTHON_PN}-zopeinterface \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ - cp -f ${S}/yappi/yappi.py ${D}/${PTEST_PATH}/ -} - diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_1.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_1.6.0.bb new file mode 100644 index 0000000000..4349cab1e7 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_1.6.0.bb @@ -0,0 +1,37 @@ +SUMMARY = "Yet Another Python Profiler" +HOMEPAGE = "https://github.com/sumerc/yappi" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=71c208c9a4fd864385eb69ad4caa3bee" + +SRC_URI[sha256sum] = "a9aaf72009d8c03067294151ee0470ac7a6dfa7b33baab40b198d6c1ef00430a" + +SRC_URI += " \ + file://run-ptest \ + file://0001-test_functionality-convert-line-endings-to-Unix.patch \ + file://0002-Fix-import-of-tests.utils-to-enable-pytest.patch \ +" + +inherit pypi python_setuptools_build_meta ptest + +RDEPENDS:${PN} += "\ + python3-datetime \ + python3-pickle \ + python3-threading \ +" + +RDEPENDS:${PN}-ptest += " \ + python3-gevent \ + python3-multiprocessing \ + python3-pytest \ + python3-profile \ + python3-unittest-automake-output \ + python3-zopeinterface \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests ${D}${PTEST_PATH} + cp -f ${S}/run_tests.py ${D}${PTEST_PATH} +} + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl_1.9.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl_1.9.4.bb index 63700024c2..d9fe4c0c4c 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl_1.9.2.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl_1.9.4.bb @@ -3,13 +3,18 @@ HOMEPAGE = "https://github.com/aio-libs/yarl/" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" -SRC_URI[sha256sum] = "04ab9d4b9f587c06d801c2abfe9317b77cdf996c65a90d5e84ecc45010823571" +SRC_URI[sha256sum] = "566db86717cf8080b99b58b083b773a908ae40f06681e87e589a976faf8246bf" SRC_URI += "file://run-ptest" PYPI_PACKAGE = "yarl" -inherit pypi ptest setuptools3 +inherit pypi ptest python_setuptools_build_meta + +DEPENDS += " \ + ${PYTHON_PN}-expandvars-native \ + ${PYTHON_PN}-cython-native \ +" RDEPENDS:${PN} = "\ ${PYTHON_PN}-multidict \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.127.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.131.0.bb index 45df13eec0..1963d899b0 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.127.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.131.0.bb @@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/jstasiak/python-zeroconf" LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=6517bdc8f2416f27ab725d4702f7aac3" -SRC_URI[sha256sum] = "1ec001989666be7f76630d6bb8b07fb3928d655fa79a1484674a776778c9a1b3" +SRC_URI[sha256sum] = "90c431e99192a044a5e0217afd7ca0ca9824af93190332e6f7baf4da5375f331" inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python3-gspread/python3-gspread_5.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python3-gspread/python3-gspread_5.10.0.bb deleted file mode 100644 index 3918ed3ac7..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python3-gspread/python3-gspread_5.10.0.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "Google Spreadsheets Python API" -HOMEPAGE = "https://github.com/burnash/gspread" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9488e21983675fa56dc05af558b83e2f" - -SRC_URI = "https://files.pythonhosted.org/packages/b4/4f/033ebf34778745061b67b104ef212ed5b05fa65a530f345f88c4355fdcc3/gspread-5.10.0.tar.gz" -SRC_URI[sha256sum] = "2b6bba6dc111580170346a9bcd1893e0e8c52f67a9e537caec7b7a1e27c14435" - -S = "${WORKDIR}/gspread-${PV}" - -RDEPENDS:${PN} = "python3-requests" - -inherit python_poetry_core diff --git a/meta-openembedded/meta-python/recipes-devtools/python3-gspread/python3-gspread_5.12.3.bb b/meta-openembedded/meta-python/recipes-devtools/python3-gspread/python3-gspread_5.12.3.bb new file mode 100644 index 0000000000..932cf22b1f --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python3-gspread/python3-gspread_5.12.3.bb @@ -0,0 +1,12 @@ +SUMMARY = "Google Spreadsheets Python API" +HOMEPAGE = "https://github.com/burnash/gspread" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9488e21983675fa56dc05af558b83e2f" + +SRC_URI[sha256sum] = "298ebab76e6ed6a998eabc81545ec58f5610f44e2ddb4858b539a0634093f8ce" + +S = "${WORKDIR}/gspread-${PV}" + +RDEPENDS:${PN} = "python3-requests" + +inherit pypi python_poetry_core diff --git a/meta-openembedded/meta-python/recipes-extended/python3-portalocker/python3-portalocker_2.7.0.bb b/meta-openembedded/meta-python/recipes-extended/python3-portalocker/python3-portalocker_2.8.2.bb index 03c4f2f40e..e18aa83df2 100644 --- a/meta-openembedded/meta-python/recipes-extended/python3-portalocker/python3-portalocker_2.7.0.bb +++ b/meta-openembedded/meta-python/recipes-extended/python3-portalocker/python3-portalocker_2.8.2.bb @@ -4,9 +4,11 @@ LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=152634da660a374ca18c0734ed07c63c" -SRC_URI[sha256sum] = "032e81d534a88ec1736d03f780ba073f047a06c478b06e2937486f334e955c51" +SRC_URI[sha256sum] = "2b035aa7828e46c58e9b31390ee1f169b98e1066ab10b9a6a861fe7e25ee4f33" -inherit pypi setuptools3 +DEPENDS += "python3-setuptools-scm-native" + +inherit pypi python_setuptools_build_meta BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.21.1.bb b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.21.1.bb deleted file mode 100644 index b69fd7dab0..0000000000 --- a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.21.1.bb +++ /dev/null @@ -1,10 +0,0 @@ -require nginx.inc - -# 1.20.x branch is the current stable branch, the recommended default -# 1.21.x is the current mainline branches containing all new features -DEFAULT_PREFERENCE = "-1" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=206629dc7c7b3e87acb31162363ae505" - -SRC_URI[md5sum] = "7dce9e2136ec32dfd823736e871815b1" -SRC_URI[sha256sum] = "68ba0311342115163a0354cad34f90c05a7e8bf689dc498abf07899eda155560" diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.24.0.bb b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.24.0.bb new file mode 100644 index 0000000000..2e865e400e --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.24.0.bb @@ -0,0 +1,6 @@ +require nginx.inc + +LIC_FILES_CHKSUM = "file://LICENSE;md5=175abb631c799f54573dc481454c8632" + +SRC_URI[sha256sum] = "77a2541637b92a621e3ee76776c8b7b40cf6d707e69ba53a940283e30ff2f55d" + diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.25.2.bb b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.25.2.bb deleted file mode 100644 index 66eef23895..0000000000 --- a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.25.2.bb +++ /dev/null @@ -1,6 +0,0 @@ -require nginx.inc - -LIC_FILES_CHKSUM = "file://LICENSE;md5=79ad2eb837299421c4435dedc8897b3d" - -SRC_URI[sha256sum] = "05dd6d9356d66a74e61035f2a42162f8c754c97cf1ba64e7a801ba158d6c0711" - diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.25.3.bb b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.25.3.bb new file mode 100644 index 0000000000..d0371dd3cc --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.25.3.bb @@ -0,0 +1,10 @@ +require nginx.inc + +# 1.24.x branch is the current stable branch, the recommended default +# 1.25.x is the current mainline branches containing all new features +DEFAULT_PREFERENCE = "-1" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=79ad2eb837299421c4435dedc8897b3d" + +SRC_URI[sha256sum] = "64c5b975ca287939e828303fa857d22f142b251f17808dfe41733512d9cded86" + diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.43.2.bb b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.43.2.bb index c56da37449..28e82dac31 100644 --- a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.43.2.bb +++ b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.43.2.bb @@ -80,4 +80,4 @@ do_install:append() { FILES:${PN} += "${localstatedir}/cache/netdata/ ${localstatedir}/lib/netdata/" -RDEPENDS:${PN} = "bash zlib" +RDEPENDS:${PN} = "bash python3-core zlib" |